從獨(dú)立可尋址消息得到原子通信線程的制作方法【專利摘要】當(dāng)接收到消息時,分析該消息中的接收者集合以及上級消息標(biāo)識符。基于對接收者集合和上級標(biāo)識符的分析,接收到的消息或者被放置到現(xiàn)有會話中的現(xiàn)有線程中,或者被放置在會話中的新線程中。【專利說明】從獨(dú)立可尋址消息得到原子通信線程【
背景技術(shù):
】[0001]計算機(jī)系統(tǒng)當(dāng)前廣泛使用。一些計算機(jī)系統(tǒng)包括消息傳遞系統(tǒng),通過該消息傳遞系統(tǒng),用戶能夠彼此間來回發(fā)送消息。[0002]存在各種各樣不同類型的消息傳遞系統(tǒng)。這些系統(tǒng)可以包括例如電子郵件(e-mail)消息傳遞系統(tǒng)、文本消息傳遞系統(tǒng)、社交網(wǎng)絡(luò)消息傳遞系統(tǒng)以及其它。在這些類型的消息傳遞系統(tǒng)中,用戶經(jīng)常將消息發(fā)送到一個或多個接收者。接收者隨后能夠回復(fù)全部的其它接收者,回復(fù)那些接收者的子集,或者增加額外的接收者。如果多人回復(fù)相同的消息,那么如果用戶希望對每個消息進(jìn)行響應(yīng),則用戶正常地需要手動聚集全部相關(guān)的消息并且分別地對那些消息進(jìn)行響應(yīng)。而且,如果用戶想要作用于整個集合的消息(例如,將集合移動到文件夾中),則用戶正常地不得不分別作用于每一個。[0003]—些系統(tǒng)已經(jīng)嘗試將消息分組成會話。然而,這通常需要基于它們的主題簡單地將消息集合分組在一起。希望在會話中回復(fù)分叉(forked)消息的用戶通常仍需要閱讀并且回應(yīng)每個單個的消息。[0004]上文的討論僅提供用于普通的背景信息,而不意在用作確定權(quán)利要求主題的范圍的輔助?!?br/>發(fā)明內(nèi)容】[0005]當(dāng)消息被接收到時,分析在消息中的接收者集合以及上級(ancestοr)消息標(biāo)識符?;趯邮照呒虾蜕霞墭?biāo)識符的分析,接收到的消息或者放置在會話中的現(xiàn)有線程中,或者放置在同一會話的新的線程中。[0006]提供該【
發(fā)明內(nèi)容】以便以下文在詳述部分中進(jìn)一步描述的簡化形式來引入構(gòu)思的選擇。該【
發(fā)明內(nèi)容】不意在確定權(quán)利要求主題的關(guān)鍵特征或主要特征,也不意在用作確定權(quán)利要求主題的范圍的輔助。權(quán)利要求主題不限于解決在【
背景技術(shù):
】部分中提到的任意或全部缺點(diǎn)的實現(xiàn)方式?!靖綀D說明】[0007]圖1是一個示例性的消息傳遞架構(gòu)的框圖。[0008]圖2是在圖1所示的架構(gòu)中能夠發(fā)送的一個示例性的消息的框圖。[0009]圖3是示出了圖1所示的架構(gòu)在生成會話以及將消息添加到那些會話中的操作的一個實施例的流程圖。[0010]圖4示出了能夠利用圖1所示的架構(gòu)能夠被分組為單個會話的消息和接收者的一個示例性的集合。[0011]圖5示出了部署在云計算架構(gòu)中的圖1所示的架構(gòu)的一個實施例。[0012]圖6-10示出了在圖1所示的架構(gòu)中能夠由用戶使用的移動設(shè)備的各個示例。[0013]圖11是一個示例性的計算環(huán)境的框圖?!揪唧w實施方式】[0014]圖1示出了消息傳遞架構(gòu)100的一個框圖。雖然消息傳遞架構(gòu)100可以是各種不同類型的消息傳遞系統(tǒng)(其中一些包括實時通信中的即時消息傳遞、文本消息傳遞系統(tǒng)、社交網(wǎng)絡(luò)消息傳遞系統(tǒng)等),出于示例的原因,其將被描述為電子郵件系統(tǒng)。[0015]而且,如本文所使用的,會話意指按體系來說相關(guān)的消息的集合:例如,它們直接或間接地經(jīng)由回復(fù)、回復(fù)全部或者從共同的根消息轉(zhuǎn)送來得到。線程是共享相同的參與者集合或者其中參與者隨時間增長的按體系相關(guān)的消息的集合。線程可以作為一個單元來進(jìn)行作用。[0016]消息傳遞架構(gòu)100包括用戶104-106訪問的消息傳遞系統(tǒng)102,其中每個用戶示例性地與用戶設(shè)備116-118所生成的用戶接口顯示112-114上的用戶輸入機(jī)制108-110交互。用戶104和106能夠與用戶輸入機(jī)制108和110交互以生成電子郵件消息,并且回復(fù),以及利用消息傳遞系統(tǒng)102將它們發(fā)送給彼此。用戶同樣還可以通過其它方式作用于消息,例如通過將它們放置在文件夾中,或者通過其它方式。圖1還示出了用戶設(shè)備116-118能夠直接地(如箭頭120和122所指示)或者經(jīng)由網(wǎng)絡(luò)124訪問消息傳遞系統(tǒng)102。將理解的是,消息傳遞系統(tǒng)102能夠同樣由許多其它用戶使用,但是為了示例的原因僅示出了兩個用戶104-106。[〇〇17]圖1進(jìn)一步示出了消息傳遞系統(tǒng)102示例性地包括處理器(或服務(wù)器)126、消息庫128(其本身存儲消息130、會話132、會話132內(nèi)的線程133,并且同樣能夠存儲其它信息134)。消息傳遞系統(tǒng)102還示例性地包括會話/線程標(biāo)識符系統(tǒng)136。系統(tǒng)136示例性地包括接收者集合分析組件138、消息上級分析組件140以及會話/線程生成器組件142。系統(tǒng)同樣可以包括其它組件或系統(tǒng),圖1所示的那些僅是為了示例的目的而顯示。[0018]消息130示例性地包括消息傳遞系統(tǒng)102的用戶所發(fā)送的全部消息。會話132示例性地包括標(biāo)識屬于各種不同會話的各種消息130的消息標(biāo)識符。消息130還可以屬于會話132內(nèi)的線程133。例如,會話/線程標(biāo)識符系統(tǒng)136基于用戶104與106(以及其它用戶)之間的一系列獨(dú)立可尋址消息來示例性地標(biāo)識原子通信線程133。在消息回應(yīng)鏈(其可以是指示獨(dú)立消息之間的關(guān)系的消息標(biāo)識符的集合)以及每個消息的接收者集合上標(biāo)識出線程133(例如,在會話132內(nèi))。[0019]圖2示出了能夠利用消息傳遞系統(tǒng)102發(fā)送的消息144的一個示例性的框圖。在圖2所示的實施例中,消息144示例性地包括報頭信息146(其本身包括唯一地標(biāo)識消息144的唯一消息標(biāo)識符148)、標(biāo)識消息144的上級消息的上級信息150、標(biāo)識消息144的接收者的接收者信息152,并且其同樣可以包括其它信息154。圖2還示出了消息144示例性地包括消息主體156并且其還可以包括附件158和其它信息160。值得注意的是,消息144還可以包括其它信息,諸如標(biāo)識出消息是代表某人發(fā)送的信息(例如,委托方案)。在該情況下,消息將包括標(biāo)識發(fā)送者、以及發(fā)自字段(Fromfield)的標(biāo)識符,但是發(fā)送者字段中的人不同于發(fā)自字段中的人。[0020]在一個實施例中,上級信息150是包括消息144的任何上級消息的消息標(biāo)識符的信息。所謂的上級消息是指在已經(jīng)存在的會話中的位于消息144之前的消息。例如,如果用戶104發(fā)送第一消息給用戶106,并且用戶106回復(fù)該消息,則如果消息144代表回復(fù)消息,則上級信息150將標(biāo)識消息144所回復(fù)的第一消息。此外,如果第三消息作為對消息144的回復(fù)而發(fā)送,則第三消息的上級信息150將不僅包括消息144的消息標(biāo)識符,而且包括第一消息(消息144所回復(fù)的消息)的消息標(biāo)識符。因此,上級信息150示例性地標(biāo)識出在已經(jīng)存在的會話中的位于當(dāng)前消息之前的全部消息。[0021]在描述消息傳遞系統(tǒng)102的在生成新會話和新線程以及將消息添加到現(xiàn)有會話中的現(xiàn)有線程中的總體操作之前,將提供簡要的概述以增強(qiáng)理解。會話內(nèi)的線程示例性地標(biāo)識為源自共同上級的消息的集合,其中接收者集合相同或者隨時間而增長。例如,當(dāng)消息傳遞系統(tǒng)102接收到單個的消息時,消息上級分析組件140示例性地查找新接收到的消息的父消息(其將是新接收到的消息所直接回應(yīng)的消息)。這可以規(guī)定為消息報頭146的部分。如果父消息存在,并且新接收到的消息的接收者是父消息中的接收者的超集,則新接收到的消息被添加作為包括父消息的現(xiàn)有線程的部分。如果父消息未找到,或者新接收到的消息上的新接收者集合不是先前接收者的超集,則創(chuàng)建新的線程,并且新接收到的消息添加到新線程中。[0022]圖3是更詳細(xì)地示出了架構(gòu)100在生成新會話以及將新的消息添加到新會話以及現(xiàn)有會話中的線程中的操作的一個實施例的流程圖。首先假設(shè)用戶104和106中的一個生成消息并且通過消息傳遞系統(tǒng)102來發(fā)送該消息。在消息傳遞系統(tǒng)102處接收消息由圖3中的框170來指示。[0023]消息上級分析組件140隨后訪問新接收到的消息中的上級信息150。這由框172來指示。消息上級分析組件140判定新接收到的消息是否回應(yīng)已經(jīng)存在的會話132中的消息。這由圖3中的框174指示。如果為否,則組件140判定新接收到的消息是否完全回應(yīng)任何消息。這由框176指示。如果新接收到的消息不是回應(yīng)消息,則會話生成器組件142啟動新的會話132并且將新接收到的消息存儲作為消息庫128中的新會話的部分。這由圖3中的框178來指示。[0024]再次返回框176,如果消息上級分析組件140判定新接收到的消息實際上是回復(fù)消息,則組件140判定在新接收到的消息中標(biāo)識出的任何上級消息是否也被標(biāo)識為已經(jīng)存在的會話132的部分。這由框180來指示。如果為否,則這可以表示新接收到的消息是異步消息傳遞系統(tǒng)中的亂序傳送(類似電子郵件)。如果該情況發(fā)生,則即使新接收到的是回復(fù)消息,其也是回復(fù)不是任何已經(jīng)存在的會話的部分的消息。因此,同樣,在框178處,會話生成器組件142啟動新的會話并且將新接收到的消息添加到其中。[0025]如果在框174或180處,新接收到的消息的父消息或者是否有任何其上級處于已經(jīng)存在的會話中,則接收者集合分析組件138訪問新接收到的消息中的接收者信息152。這由圖3中的框182來指示。如果新接收到的消息中的接收者列表與父消息或上級消息(任何一個都分別標(biāo)識在框174或框180中)相同,則新接收到的消息簡單地添加到已經(jīng)存在的會話(父消息或上級消息是其一部分)中的線程的末尾。這在圖3的流程圖中由框184和186來指不O[0026]然而,如果在框184中,組件138判定新接收到的消息的接收者列表與父消息或上級消息的接收者列表不同,則組件138判定新接收到的消息上的接收者列表是否是父消息或上級消息上的接收者列表的超集。這由框187來指示。如果為否,則會話生成器組件142同樣生成會話中的新線程并且將新接收到的信息添加到該新線程中。[0027]然而,如果在框186中接收者集合分析組件138判定新接收到的消息上的接收者列表實際上是父消息或上級消息上的接收者的超集,則新接收到的消息的作者已經(jīng)將新接收者簡單地添加到接收者列表中。對該效果的通知添加到新接收消息的記錄中。這由框188來指示。新接收到的消息隨后添加到現(xiàn)有會話(父或上級是其一部分)中的線程的末尾,如框186所指示。[〇〇28]示例是有幫助的。圖4是示出了沿著時間線204布置的一組消息(標(biāo)記為M1-M9)以及那些消息的接收者的示意圖200。箭頭指示箭頭的出境端上的消息是對箭頭的源起側(cè)上的消息的回復(fù)。例如,消息Ml通過箭頭202連接到消息M2。這表明,消息M2是對消息Ml的回復(fù)(例如,消息Ml是消息M2的父消息)。[〇〇29]示意圖200還示出了消息M4和M5均是對消息M2的回復(fù)。接收者標(biāo)識符206、208、210和212示出消息Ml、M2、M4和M5均具有相同的接收者(接收者A和B)。示意圖200示出了消息M6是對消息M4的回復(fù),并且其具有額外的接收者(接收者C),如消息標(biāo)識符214所指示的。[0030]示意圖200還顯示出消息M7是對消息M5的回復(fù),并且其具有接收者A和B,如接收者標(biāo)識符216所指示的。消息M8也是對消息M5的回復(fù)并且其具有接收者A和B,如標(biāo)識符218所指示的。消息M9是對消息M8的回應(yīng),并且其也具有一組接收者A、B和C,如消息標(biāo)識符220所指示的。[0031]跟隨圖3的流程圖能夠看出,會話/線程標(biāo)識符系統(tǒng)136將全部消息M1-M9標(biāo)識為作為同一會話中的同一線程的部分。消息Ml不是對消息傳遞系統(tǒng)102所標(biāo)識的任何其它消息的回復(fù)。因此,在圖3的框176中,將判定新的會話應(yīng)當(dāng)啟動,并且消息Ml添加到其中。[〇〇32]消息M2是對消息Ml的回復(fù)。這將在圖3的框174中被確定,并且在框184中,將判定消息M2的接收者與消息Ml的接收者相同。因此,處理跳到框186并且消息M2添加到與消息Ml相同的會話中的同一線程中。[〇〇33]消息M4是對消息M2的回應(yīng),并且同樣,接收者與消息M2的接收者相同。因此,消息M4也將被添加到同一會話中的同一線程中。[〇〇34]即使消息M5是對消息M2的單獨(dú)的回復(fù)(與消息M4分離),消息M5的接收者也與消息M2的接收者相同。因此,消息M5也將添加到與消息M1、M2和M4相同的會話中的相同的線程中。[〇〇35]現(xiàn)在接收消息M6。該消息是對消息M4的回應(yīng)。這將在框174中標(biāo)識出。然而,在框184處,將判定接收者(A,B和C)不與父消息M4的接收者相同。因此,處理將關(guān)于圖3的框186繼續(xù),其中將判定消息M6的接收者是消息M4的接收者的超集(也即,消息M6包括父消息M4的全部的接收者加上一個或多個額外的接收者)。因此,在圖3的框188處新人通知將添加到消息M6中,并且消息M6將添加到已經(jīng)包含消息Ml、M2、M4和M5的相同的會話中的現(xiàn)有線程中。[〇〇36]當(dāng)接收到消息M7時,將判定該消息是對已經(jīng)作為現(xiàn)有會話的部分的消息的回復(fù),并且其接收者與其父消息相同。因此,該消息將添加到包括消息組121415和116的現(xiàn)有會話中的同一線程中。同樣適用于消息M8。[〇〇37]現(xiàn)在,當(dāng)接收到消息M9時,在框174中,將判定該消息是對已經(jīng)是現(xiàn)有會話的部分的消息M8的回應(yīng)。在框184中,將判定消息M9的接收者與其父消息的接收者不相同,但是在框186中將判定它們是父消息的接收者的超集。因此,消息M9也將添加到同一會話中的同一線程中。[0038]如此能夠看出,使用常規(guī)的消息分組技術(shù),圖4所示的消息將具有用戶不得不處理的多個分叉(其中多于一個人回復(fù)同一消息)。然而,使用會話/線程標(biāo)識符系統(tǒng)136,它們都被分組到同一會話中的共同的線程中,并且能夠統(tǒng)一地被作用。[0039]然而,也將理解的是,當(dāng)前的系統(tǒng)也保持機(jī)密性。例如,如果消息中的一個僅具有其父消息的接收者的子集,則它將不被添加到已經(jīng)存在的會話的線程中,即使其父消息在該線程和會話中。這是因為,用戶可能打算僅發(fā)送一些信息到給定會話的成員的子集。在該情況下,在框186中,新的會話和/或線程將被啟動,并且新接收到的消息將添加到新的會話和/或線程中。然而,如圖4所示,因為M1-M9中的全部消息是同一會話中的同一線程的部分,所以當(dāng)任何人回復(fù)那些消息中的任何消息時,只要回復(fù)的接收者與父消息或上級消息的接收者相同或者是其超集(任一個被標(biāo)識出),則該線程中的每個人將得到該回復(fù),即使其不在來自線程中的全部消息的直接后代鏈中。也即,消息從相同的根得到,但是不一定在相同的線性鏈中。[0040]通過示例的方式,能夠看出,消息M8是對消息M5的回復(fù),并且消息M8僅具有接收者A和B。然而,因為消息M8是全部其它消息所在的線程和會話的部分,所以接收者C也將能夠看到消息M8。這允許消息M8的發(fā)送者對會話中的全部接收者做出響應(yīng),而不選擇以及對會話中的獨(dú)立可尋址消息做出響應(yīng)。[0041]當(dāng)前的論述已經(jīng)提到了處理器和/或服務(wù)器。在一個實施例中,處理器和服務(wù)器包括具有關(guān)聯(lián)的存儲器和定時電路系統(tǒng)(未單獨(dú)示出)的計算機(jī)處理器。它們是所屬的系統(tǒng)或設(shè)備的功能部分并且由那些系統(tǒng)中的其它組件或項激活,并且有利于那些系統(tǒng)中的其它組件或項的功能。[0042]而且,已經(jīng)論述了多個用戶接口顯示器。這些用戶接口顯示器可以呈現(xiàn)為各種不同的形式并且可以具有布置于其上的各種不同的用戶可致動的(actuatable)輸入機(jī)制。例如,用戶可致動的輸入機(jī)制可以是文本框、復(fù)選框、圖標(biāo)、鏈接、下拉菜單、搜索框等。用戶可致動的輸入機(jī)制還能夠以各種不同的方式被致動。例如,可以利用指針和點(diǎn)擊設(shè)備(諸如跟蹤球或鼠標(biāo))來致動用戶可致動的輸入機(jī)制??梢岳糜布粹o、開關(guān)、操縱桿或鍵盤、拇指開關(guān)或拇指墊等來致動用戶可致動的輸入機(jī)制。還可以利用虛擬鍵盤或其它虛擬致動器來致動用戶可致動的輸入機(jī)制。另外,在顯示用戶可致動的輸入機(jī)制的屏幕是觸摸敏感屏的情況下,用戶可致動的輸入機(jī)制可利用觸摸姿勢來致動。而且,在顯示用戶可致動的輸入機(jī)制的設(shè)備具有語音識別組件時,可以利用語音命令來致動用戶可致動的輸入機(jī)制。[0043]也已經(jīng)論述了多個數(shù)據(jù)庫。值得注意的是,數(shù)據(jù)庫可以各自分解成多個數(shù)據(jù)庫。全部都在訪問它們的系統(tǒng)的本地,全部可以是遠(yuǎn)程,或者一些在本地,而其它在遠(yuǎn)程。全部這些配置在本文中構(gòu)思出。[0044]而且,附圖顯示出了多個框,具有歸于每個框的功能。值得注意的是,可以使用更少的框,如此所述功能通過更少的組件來執(zhí)行。而且,可以使用更多的框,如此所述功能分布在更多組件當(dāng)中。[0045]圖5是圖1所示的架構(gòu)100的框圖,除了其元件布置在云計算架構(gòu)500中之外。云計算提供計算、軟件、數(shù)據(jù)訪問和存儲服務(wù),所述計算、軟件、數(shù)據(jù)訪問和存儲服務(wù)無需傳送服務(wù)的系統(tǒng)的物理位置和配置的終端用戶知識。在各實施例中,云計算利用適當(dāng)?shù)膮f(xié)議在諸如互聯(lián)網(wǎng)的廣域網(wǎng)上傳送服務(wù)。例如,云計算提供商在廣域網(wǎng)上傳送應(yīng)用并且它們能夠通過網(wǎng)絡(luò)瀏覽器或任何其它計算組件來訪問。架構(gòu)100的軟件或組件以及對應(yīng)的數(shù)據(jù)能夠存儲在遠(yuǎn)程位置上的服務(wù)器上。云計算環(huán)境中的計算資源能夠合并到遠(yuǎn)程數(shù)據(jù)中心位置或者它們可以是分散的。云計算基礎(chǔ)結(jié)構(gòu)能夠通過共享數(shù)據(jù)中心來傳送服務(wù),即使它們表現(xiàn)為用戶的單一訪問點(diǎn)。因此,能夠利用云計算架構(gòu)從位于遠(yuǎn)程位置的服務(wù)提供商來提供本文所描述的組件和功能。可選地,本文所描述的組件和功能可以從常規(guī)的服務(wù)器來提供,或者它們可以直接地或者通過其它方式安裝到客戶端設(shè)備上。[0046]說明書意在包括公共云計算和私有云計算。云計算(公共的和私有的)提供了實質(zhì)上無縫的資源聚集,以及減少的對于管理和配置底層硬件基礎(chǔ)結(jié)構(gòu)的需要。[〇〇47]公共云是通過計算機(jī)銷售商來管理的并且典型地使用相同的基礎(chǔ)結(jié)構(gòu)來支持多個消費(fèi)者。而且,與私有云不同,公共云能夠使得終端用戶免于管理硬件。私有云可以由組織本身來管理,并且基礎(chǔ)結(jié)構(gòu)典型地不與其它組織共享。組織仍在一定程度上維護(hù)硬件,諸如安裝和維修,等等。[0048]在圖5所示的實施例中,一些項類似于圖1所示的項并且被類似地進(jìn)行標(biāo)記。圖5具體地示出了消息傳遞系統(tǒng)102位于云502(其可以是公共的、隱私的、或者部分為公共的而其它為隱私的組合)中。因此,用戶104-106通過云502而使用用戶設(shè)備116-118來訪問消息傳遞系統(tǒng)102。[0049]圖5還描繪了云架構(gòu)的另一實施例。圖5示出了還可以構(gòu)思的是系統(tǒng)102的一些元件布置在云502中,而其它沒有布置在云502中。通過不例的方式,數(shù)據(jù)庫128可以布置在云502之外,并且通過云502來訪問。在另一實施例中,會話標(biāo)識符系統(tǒng)136也在云502之外。無論位于何處,它們可以經(jīng)由網(wǎng)絡(luò)(廣域網(wǎng)或局域網(wǎng))通過設(shè)備116-118來直接訪問,它們可以通過服務(wù)寄存在遠(yuǎn)程地點(diǎn),或者可以通過云被提供作為服務(wù)或者通過位于云中的連接服務(wù)來訪問。全部這些架構(gòu)在本文中被構(gòu)思。[0050]還將注意的是,架構(gòu)100或其部分可以布置在各種不同的設(shè)備上。那些設(shè)備中的一些設(shè)備包括服務(wù)器、臺式計算機(jī)、膝上型計算機(jī)、平板式計算機(jī)或其它移動設(shè)備,諸如掌上型計算機(jī)、電話、智能電話、多媒體播放器、個人數(shù)字助理等。[0051]圖6是其中能夠部署本系統(tǒng)(或其部分)或者可以包括用戶設(shè)備116-118的可用作用戶或客戶端的手持式設(shè)備16的手持式或移動計算設(shè)備的一個示例性實施例的簡化框圖。圖7-10是手持式或移動設(shè)備的示例。[〇〇52]圖6提供了能夠運(yùn)行架構(gòu)100的組件或者與架構(gòu)100交互或兩者的客戶端設(shè)備16的組件的總體框圖。在設(shè)備16中,提供了通信鏈接13,其允許手持式設(shè)備與其它計算設(shè)備通信并且在一些實施例中提供了用于自動接收信息的通道,例如通過掃描。通信鏈接13的示例包括紅外端口、串行/USB端口、諸如以太網(wǎng)端口的電纜網(wǎng)絡(luò)端口以及允許通過一個或多個通信協(xié)議通信的無線網(wǎng)絡(luò)端口,通信協(xié)議包括通用分組無線服務(wù)(GPRS)、LTE、HSPA、HSPA+以及其它3G和4G無線協(xié)議、lXrtt以及短消息服務(wù),它們是用于提供對網(wǎng)絡(luò)的蜂窩訪問的無線服務(wù),以及802.11和802.llb(W1-Fi)協(xié)議以及藍(lán)牙協(xié)議,它們提供了到網(wǎng)絡(luò)的本地?zé)o線連接。[〇〇53]在其它實施例中,應(yīng)用或系統(tǒng)被接收到與SD卡接口15連接的可移除安全數(shù)字(SD)卡上。SD卡接口15和通信鏈接13沿著總線19與處理器17(其還可以具體實施圖1的處理器126)通信,總線19也連接到存儲器21和輸入/輸出(I/O)組件23,以及時鐘25和位置系統(tǒng)27。[0054]在一個實施例中,I/O組件23被提供以利于輸入和輸出操作。用于設(shè)備16的各個實施例的I/O組件23可以包括輸入組件,諸如按鈕、觸摸傳感器、多觸摸傳感器、光學(xué)或視頻傳感器、語音傳感器、觸摸屏、接近傳感器、麥克風(fēng)、傾斜傳感器以及重力開關(guān),以及輸出組件,諸如顯示設(shè)備、揚(yáng)聲器和或打印機(jī)端口。也可以使用其它I/O組件23。[0055]時鐘25示例性地包括輸出時間和日期的實時時鐘組件。其還可以示例性地提供處理器17的定時功能。[0056]位置系統(tǒng)27示例性地包括輸出設(shè)備16的當(dāng)前地理位置的組件。這可以包括例如全球定位系統(tǒng)(GPS)接收器、LORAN系統(tǒng)、推算定位系統(tǒng)、蜂窩三角測量系統(tǒng)或其它定位系統(tǒng)。其還可以包括例如產(chǎn)生期望的地圖、導(dǎo)航路線和其它地理功能的測繪軟件或?qū)Ш杰浖?。[0057]存儲器21存儲操作系統(tǒng)29、網(wǎng)絡(luò)設(shè)定31、應(yīng)用33、應(yīng)用配置設(shè)定35、數(shù)據(jù)庫37、通信驅(qū)動器39和通信配置設(shè)定41。存儲器21可以包括全部類型的有形的易失性和非易失性的計算機(jī)可讀存儲器設(shè)備。其還可以包括計算機(jī)存儲介質(zhì)(下文描述)。存儲器21存儲計算機(jī)可讀指令,當(dāng)通過處理器17來執(zhí)行時,計算機(jī)可讀指令使得處理器根據(jù)指令來執(zhí)行計算機(jī)實現(xiàn)的步驟或功能。處理器17能夠由其它組件激活以同樣便利其功能。[0058]網(wǎng)絡(luò)設(shè)定31的示例包括諸如代理信息、因特網(wǎng)連接信息和測繪的事項。應(yīng)用配置設(shè)定35包括對于特定的企業(yè)或用戶調(diào)整應(yīng)用的設(shè)定。通信配置設(shè)定41提供了與其它計算機(jī)進(jìn)行通信的參數(shù)并且包括諸如GPRS參數(shù)、SMS參數(shù)、連接用戶名和密碼的項。[0059]應(yīng)用33可以是先前已經(jīng)存儲在設(shè)備16上的應(yīng)用或者是在使用期間安裝的應(yīng)用,但是這些應(yīng)用還可以是操作系統(tǒng)29的部分,或者寄存于設(shè)備16之外。[0060]圖7示出了設(shè)備16是平板式計算機(jī)600的一個實施例。在圖6中,計算機(jī)600顯示出設(shè)有用戶接口顯示屏602。屏幕602可以是接收來自筆或觸針的輸入的觸摸屏(因此,來自用戶手指的觸摸姿勢能夠用于與應(yīng)用交互)或者筆啟用接口。屏幕還可以使用屏幕上虛擬鍵盤。當(dāng)然,屏幕還可以通過適合的附接機(jī)制而附接到鍵盤或其它用戶輸入設(shè)備,適合的附接機(jī)制諸如為例如無線鏈路或USB端口。計算機(jī)600還可以示例性地接收語音輸入。[0061]圖8和圖9提供了能夠使用的設(shè)備16的額外的示例,但是還可以使用其它設(shè)備。在圖8中,功能電話、智能電話或移動電話45被提供作為設(shè)備16。電話45包括用于撥電話號碼的一組鍵盤47、能夠顯示包括應(yīng)用圖像、圖標(biāo)、網(wǎng)頁、照片和視頻在內(nèi)的圖像的顯示器49以及用于選擇顯示器上顯示的項的控制按鈕51。電話包括用于接收蜂窩電話信號的天線53,諸如通用分組無線電服務(wù)(GPRS)和IXrtt以及短消息服務(wù)(SMS)信號。在一些實施例中,電話45還包括接受SD卡57的安全數(shù)字(SD)卡槽55。[0062]圖9的移動設(shè)備是個人數(shù)字助理(PDA)59或多媒體播放器或平板計算設(shè)備等(下文稱為PDA59)οPDA59包括感應(yīng)屏幕61,當(dāng)觸針位于屏幕上時,該感應(yīng)屏幕感測觸針63(或其它指針,諸如用戶手指)的位置。這允許用戶選擇屏幕上的項、突出顯示屏幕上的項以及移動屏幕上的項以及繪制和寫。PDA59還包括多個用戶輸入鍵或按鈕(諸如按鈕65),其允許用戶滾動瀏覽菜單選項或其它顯示在顯示器61上的顯示選項,并且允許用戶改變應(yīng)用或者選擇用戶輸入功能,而不接觸顯示器61。雖然沒有顯示,但是PDA59可以包括內(nèi)部天線以及允許與其它計算機(jī)進(jìn)行無線通信的紅外發(fā)射器/接收器以及允許與其它計算設(shè)備進(jìn)行硬件連接的連接端口。這些硬件連接典型地是通過經(jīng)由串行或USB端口與其它計算機(jī)連接的底座來實現(xiàn)的。因此,這些連接是非網(wǎng)絡(luò)連接。在一個實施例中,移動設(shè)備59還包括接受SD卡69的SD卡槽67。[0063]除了電話是智能電話71之外,圖10類似于圖8。智能電話71具有顯示圖標(biāo)或瓦片或其它用戶輸入機(jī)制75的觸摸敏感顯示器73。機(jī)制75能夠由用戶使用來運(yùn)行應(yīng)用、打電話、執(zhí)行數(shù)據(jù)傳輸操作,等等。一般地,智能電話71構(gòu)建在移動操作系統(tǒng)上并且提供比功能電話更先進(jìn)的計算能力和連接能力。[〇〇64]注意,其它形式的設(shè)備16是可能的。[0065]圖11是計算環(huán)境的一個實施例,其中能夠部署架構(gòu)100或其部分(例如)。參考圖11,用于實現(xiàn)一些實施例的示范性的系統(tǒng)包括計算機(jī)810形式的通用計算設(shè)備。計算機(jī)810的組件可以包括但不限于處理單元820(其可以包括處理器126)、系統(tǒng)存儲器830以及將包括系統(tǒng)存儲器在內(nèi)的各系統(tǒng)組件與處理單元820耦合的系統(tǒng)總線821。系統(tǒng)總線821可以是多種類型的總線結(jié)構(gòu)中的任一個,包括存儲器總線或存儲器控制器、外圍設(shè)備總線和使用各種總線架構(gòu)中的任一種的本地總線。通過示例的方式而不是限制的方式,這些架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)聯(lián)盟(VESA)本地總線以及也稱為夾層總線的外圍組件互連(PCI)總線。參考圖1所描述的存儲器和程序能夠布置在圖11的對應(yīng)的部分中。[0066]計算機(jī)810典型地包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是能夠由計算機(jī)810訪問的任何可用的介質(zhì)并且包括易失性和非易失性的介質(zhì)、可移除的和非可移除的介質(zhì)。通過示例而不是限制的方式,計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)不同于調(diào)制數(shù)據(jù)信號或載波并且不包括調(diào)制數(shù)據(jù)信號或載波。計算機(jī)存儲介質(zhì)包括硬件存儲介質(zhì),包括以存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性的、可移除的和非可移除的介質(zhì)。計算機(jī)存儲介質(zhì)包括但不限于1^11、1?0114£?1?011、閃速存儲器或其它存儲器技術(shù)、0)-1?011、數(shù)字多功能盤(DVD)或其它光盤存儲設(shè)備、磁盒、磁帶、磁盤存儲設(shè)備或其它磁存儲設(shè)備,或者任何其它能夠用于存儲所需的信息并且能夠由計算機(jī)810訪問的介質(zhì)。通信介質(zhì)典型地實施計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或傳輸機(jī)制中的其它數(shù)據(jù),并且包括任何信息傳送介質(zhì)。術(shù)語“調(diào)制數(shù)據(jù)信號”是指使其一個或多個特性以將信息編碼在信號中的方式來設(shè)定或改變的信號。通過示例而不是限制的方式,通信介質(zhì)包括諸如有線網(wǎng)或直接接線連接的有線介質(zhì),以及諸如聲波、RF、紅外和其它無線介質(zhì)的無線介質(zhì)。任何上述的組合也應(yīng)當(dāng)包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。[〇〇67]系統(tǒng)存儲器830包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),諸如只讀存儲器(R〇M)831以及隨機(jī)存取存儲器(RAM)832?;据斎?輸出系統(tǒng)822(B10S)典型地存儲在ROM831中,其包含了例如在啟動期間幫助在計算機(jī)810內(nèi)的元件之間傳遞信息的基本例程。RAM832典型地包含了直接由處理單元820訪問和/或當(dāng)前在處理單元820上操作的數(shù)據(jù)和/或程序模塊。通過示例的方式而不是限制的方式,圖11示出了操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836以及程序數(shù)據(jù)837。[0068]計算機(jī)810還可以包括其它可移除的/非可移除的、易失性/非易失性的計算機(jī)存儲介質(zhì)。僅通過示例的方式,圖11示出了從非可移除的、非易失性的磁介質(zhì)讀或者進(jìn)行寫的硬盤驅(qū)動器841、從可移除的、非易失性磁盤852進(jìn)行讀或?qū)懙拇疟P驅(qū)動器851,以及從可移除的、非易失性的光盤856進(jìn)行讀或?qū)懙墓獗P驅(qū)動器855,諸如CDROM或其它光學(xué)介質(zhì)。能夠在示范性的操作環(huán)境中使用的其它可移除的/非可移除的、易失性/非易失性的計算機(jī)存儲介質(zhì)包括但不限于磁帶盒、閃速存儲卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器841典型地通過諸如接口840的非可移除的存儲器接口而連接到系統(tǒng)總線821,并且磁盤驅(qū)動器851和光盤驅(qū)動器855典型地通過諸如接口850的可移除的存儲器接口而連接到系統(tǒng)總線821。[0069]可選地,或者另外地,本文所描述的功能可以至少部分地通過一個或多個硬件邏輯組件來執(zhí)行。例如,不是限制,能夠使用的示例性的類型的硬件邏輯組件包括現(xiàn)場可編程門陣列(FPGA)、程序特定集成電路(ASIC)、程序特定標(biāo)準(zhǔn)產(chǎn)品(ASSP)、片上系統(tǒng)(SOC)、復(fù)雜可編程邏輯器件(CPLD),等等。[0070]圖11中所示的以及上述的驅(qū)動器及其關(guān)聯(lián)的計算機(jī)存儲介質(zhì)提供了計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它用于計算機(jī)810的數(shù)據(jù)的存儲。在圖11中,例如,硬盤驅(qū)動器841圖示為存儲操作系統(tǒng)844、應(yīng)用程序845、其它程序模塊846以及程序數(shù)據(jù)847。注意,這些組件可以與操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836和程序數(shù)據(jù)837相同或者不同。操作系統(tǒng)844、應(yīng)用程序845、其它程序模塊846以及程序數(shù)據(jù)847在此被給予不同的數(shù)字標(biāo)記以圖示出至少它們是不同的副本。[0071]用戶可以通過諸如鍵盤862、麥克風(fēng)862以及諸如鼠標(biāo)、跟蹤球或觸摸板的指針設(shè)備861的輸入設(shè)備將命令和信息輸入到計算機(jī)810中。其它輸入設(shè)備(未示出)可以包括操縱桿、游戲板、衛(wèi)星盤、掃描儀等。這些輸入設(shè)備以及其它輸入設(shè)備經(jīng)常通過與系統(tǒng)總線耦合的用戶輸入接口860連接到處理單元820,但是可以通過諸如并行端口、游戲端口或通用串行總線(USB)的其它接口和總線結(jié)構(gòu)連接。虛擬顯示器891或其它類型的顯示設(shè)備也可以經(jīng)由諸如視頻接口890的接口而與系統(tǒng)總線821連接。除了監(jiān)視器之外,計算機(jī)還可以包括其它外圍輸出設(shè)備,諸如揚(yáng)聲器897和打印機(jī)896,其可以通過輸出外圍接口895而連接。[0072]計算機(jī)810利用到諸如遠(yuǎn)程計算機(jī)880的一個或多個遠(yuǎn)程計算機(jī)的邏輯連接而操作于網(wǎng)絡(luò)環(huán)境中。遠(yuǎn)程計算機(jī)880可以是個人計算機(jī)、手持式設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且典型地包括上文相對于計算機(jī)810所描述的許多或全部的元件。在圖11中描繪的邏輯連接包括局域網(wǎng)(LAN)871以及廣域網(wǎng)(WAN)873,但是還可以包括其它網(wǎng)絡(luò)。這些網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)。[0073]當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)810通過網(wǎng)絡(luò)接口或適配器870而與LAN871連接。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)810典型地包括調(diào)制解調(diào)器872或者其它用于通過諸如因特網(wǎng)的WAN873來建立通信的裝置??梢栽趦?nèi)部或外部的調(diào)制解調(diào)器872可以經(jīng)由用戶輸入接口870或其它適合的機(jī)制而連接到系統(tǒng)總線821。在網(wǎng)絡(luò)環(huán)境中,相對于計算機(jī)810或其部分所描繪的程序模塊可以存儲在遠(yuǎn)程存儲器存儲設(shè)備中。通過示例而不是限制的方式,圖11示出了位于遠(yuǎn)程計算機(jī)880上的遠(yuǎn)程應(yīng)用程序885。將理解的是,所示的網(wǎng)絡(luò)連接是示范性的,并且在計算機(jī)之間建立通信鏈路的其它手段可以被使用。[0074]還應(yīng)當(dāng)注意的是,本文所描述的不同的實施例能夠以不同的方式組合。也即,一個或多個實施例的部分能夠與一個或多個其它實施例的部分組合。全部這些在本文中構(gòu)思出。[0075]雖然以特定于結(jié)構(gòu)特征和/或方法行為的語言描述了主題,但是應(yīng)當(dāng)理解在隨附權(quán)利要求中限定的主題不必局限于上述的特定特征或行為。相反,上述的特定的特征或行為被公開為實現(xiàn)權(quán)利要求的示例形式?!局鳈?quán)項】1.一種計算機(jī)實現(xiàn)的方法,包括:接收消息;訪問與接收到的消息相對應(yīng)的上級消息信息;訪問與所述接收到的消息相對應(yīng)的接收者信息;以及基于所述上級消息信息和所述接收者信息將所述接收到的消息添加到給定會話中的給定線程中。2.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,將所述接收到的消息添加到給定會話中的給定線程中包括:判定接收到的消息是否對在消息傳遞系統(tǒng)中的已經(jīng)存在的會話中的父消息進(jìn)行回復(fù);如果是,則判定所述接收到的消息中的接收者集合是否具有所述父消息中的接收者集合中的至少全部接收者;并且如果所述接收到的消息中的接收者集合具有所述父消息中的接收者集合中的至少全部接收者,則將所述接收到的消息添加到所述消息傳遞系統(tǒng)中的所述已經(jīng)存在的會話中的現(xiàn)有線程中。3.如權(quán)利要求2所述的計算機(jī)實現(xiàn)的方法,其中,如果所述接收到的消息中的接收者集合具有所述父消息中的接收者集合中的不足全部的接收者,則將所述接收到的消息添加到給定會話中的給定線程中進(jìn)一步包括:啟動所述消息傳遞系統(tǒng)中的新線程;以及將所述接收到的消息添加到所述消息傳遞系統(tǒng)中的所述新線程中。4.如權(quán)利要求3所述的計算機(jī)實現(xiàn)的方法,其中,如果所述接收到的消息不對所述消息傳遞系統(tǒng)中的已經(jīng)存在的會話中的父消息進(jìn)行回復(fù),則將所述接收到的消息添加到給定會話中的給定線程中進(jìn)一步包括:判定所述接收到的消息是否對任何父消息進(jìn)行回復(fù);以及如果所述接收到的消息不對任何父消息進(jìn)行回復(fù),則啟動所述消息傳遞系統(tǒng)中的新會話并且將所述接收到的消息添加到所述新會話中。5.如權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中,如果所述接收到的消息對任何父消息進(jìn)行回復(fù),則將所述接收到的消息添加到給定會話中的給定線程中進(jìn)一步包括:判定所述接收到的消息是否有任何上級消息在所述消息傳遞系統(tǒng)中的已經(jīng)存在的會話中;并且如果所述接收到的消息的上級消息都沒在所述消息傳遞系統(tǒng)中的已經(jīng)存在的會話中,則啟動所述消息傳遞系統(tǒng)中的新會話并且將所述接收到的消息添加到所述新會話中。6.如權(quán)利要求5所述的計算機(jī)實現(xiàn)的方法,其中,如果所述接收到的消息有任何上級消息在所述消息傳遞系統(tǒng)中的已經(jīng)存在的會話中,則將所述接收到的消息添加到給定會話中的給定線程中進(jìn)一步包括:判定所述接收到的消息中的接收者集合是否具有所述上級消息中的接收者集合中的至少全部接收者;并且如果所述接收到的消息中的接收者集合具有所述上級消息中的接收者集合中的至少全部接收者,則將所述接收到的消息添加到所述消息傳遞系統(tǒng)中的所述已經(jīng)存在的會話中的現(xiàn)有線程中。7.如權(quán)利要求2所述的計算機(jī)實現(xiàn)的方法,其中,判定所述接收到的消息中的接收者集合是否具有所述父消息中的接收者集合中的至少全部接收者包括:判定所述接收到的消息中的接收者集合是否等同于所述父消息中的接收者集合;如果為否,則判定所述接收到的消息中的接收者集合是否是所述父消息中的接收者集合的超集;以及如果為是,則將所述接收到的消息添加到所述已經(jīng)存在的會話中的現(xiàn)有線程中。8.—種消息傳遞系統(tǒng),包括:接收者集合分析組件,其分析接收到的消息的接收者集合;消息上級分析組件,其分析所述接收到的消息的上級消息信息;會話生成器組件,其基于對所述接收到的消息的接收者集合的分析以及對所述接收到的消息的上級消息信息的分析來將所述接收到的消息添加到給定會話中的給定線程中;以及計算機(jī)處理器,其是所述消息傳遞系統(tǒng)的功能部件并且由所述接收者集合分析組件、所述消息上級分析組件和所述會話生成器組件來激活,以利于分析并且將所述接收到的消息添加到給定會話中的給定線程中。9.如權(quán)利要求8所述的消息傳遞系統(tǒng),其中,所述消息上級分析組件訪問所述接收到的消息的上級信息以標(biāo)識作為所述消息傳遞系統(tǒng)中的已經(jīng)存在的會話的部分的所述接收到的消息的任何上級消息,其中,所述接收者集合分析組件訪問所述接收到的消息的接收者集合以判定所述接收到的消息的接收者集合是否具有所標(biāo)識的上級消息的接收者集合中的至少全部接收者,其中,如果所述接收到的消息的接收者集合具有所標(biāo)識的上級消息的接收者集合中的至少全部接收者,則所述會話生成器組件將所述接收到的消息添加到所述消息傳遞系統(tǒng)中的所述已經(jīng)存在的會話中的現(xiàn)有線程中。10.—種存儲計算機(jī)可執(zhí)行指令的計算機(jī)可讀存儲介質(zhì),當(dāng)通過計算機(jī)執(zhí)行時,所述計算機(jī)可執(zhí)行指令使得所述計算機(jī)執(zhí)行一種方法,所述方法包括:訪問接收到的消息的上級消息信息以標(biāo)識作為消息傳遞系統(tǒng)中的已經(jīng)存在的會話的部分的所述接收到的消息的任何上級消息;訪問所述接收到的消息的接收者集合以判定所述接收到的消息的接收者集合是否具有所標(biāo)識的上級消息的接收者集合中的至少全部接收者;以及如果所述接收到的消息的接收者集合具有所標(biāo)識的上級消息的接收者集合中的至少全部接收者,則將所述接收到的消息添加到消息傳遞系統(tǒng)中的給定會話中的給定線程中?!疚臋n編號】H04L12/58GK106031101SQ201580008932【公開日】2016年10月12日【申請日】2015年1月22日【發(fā)明人】J·B·馬赫德,R·E·格雷格,T·羅斯,G·帕諾蒂尼德蘇扎薩納,L·R·陳,R·拉馬納坦,R·F·巴塞洛斯【申請人】微軟技術(shù)許可有限責(zé)任公司