專利名稱:用于多個(gè)存在點(diǎn)的混合消息通信模式的制作方法
技術(shù)領(lǐng)域:
所描述的技術(shù)一般涉及通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)在設(shè)備之間的通信,尤其涉及提供改進(jìn)的即時(shí)消息通信用戶體驗(yàn)。
背景技術(shù):
目前存在兩種即時(shí)消息(IM)模型——基于會(huì)話的和頁(yè)面模式的。基于會(huì)話的IM要求在消息傳輸之前在兩個(gè)端點(diǎn)之間建立對(duì)話。如果IM服務(wù)只允許用戶在任一時(shí)刻只登錄到單個(gè)客戶機(jī),例如,端點(diǎn),那么該會(huì)話可以被“暗中”建立而不需任何用戶交互或參與。純基于會(huì)話的IM的一個(gè)缺點(diǎn)是,盡管適于端點(diǎn)對(duì)端點(diǎn)的IM,但當(dāng)用戶登錄到多個(gè)客戶機(jī)端點(diǎn)上時(shí),它不能工作。換言之,允許用戶同時(shí)登錄到多個(gè)客戶機(jī)端點(diǎn)上的任何IM服務(wù)不可能是以純基于會(huì)話的IM為基礎(chǔ)的。
例如,如果基于會(huì)話的IM服務(wù)允許用戶同時(shí)登錄到多個(gè)端點(diǎn),那么當(dāng)啟動(dòng)會(huì)話時(shí)必需選擇對(duì)于那個(gè)用戶的目標(biāo)端點(diǎn)。目標(biāo)端點(diǎn)可以由網(wǎng)絡(luò)或用戶的任一個(gè)來(lái)選擇。如果是網(wǎng)絡(luò)選擇端點(diǎn),那么沒(méi)有任何方法來(lái)保證所選擇的端點(diǎn)是合適的端點(diǎn)——例如,用戶位于其上的端點(diǎn)。如果是用戶選擇端點(diǎn),那么要求用戶對(duì)駐留在網(wǎng)絡(luò)中的IM路由設(shè)置復(fù)雜的規(guī)則,或者必須向所有的端點(diǎn)發(fā)送會(huì)話邀請(qǐng)且用戶必須主動(dòng)地“接受”該IM會(huì)話。這類(lèi)似于在語(yǔ)音會(huì)話可以開(kāi)始之前必須接受呼叫的電話用戶的體驗(yàn)。
對(duì)IM會(huì)話的主動(dòng)接受要求是違反直覺(jué)的,且導(dǎo)致若干高度需要的用戶體驗(yàn)的喪失。一種所需的用戶體驗(yàn)是,IM用戶期望接收消息而不需確認(rèn)所接收的消息。另外,IM用戶期望能夠接收多條消息而不需主動(dòng)地參與會(huì)話。例如,用戶可能離開(kāi)或只是選擇不在那時(shí)回復(fù),但仍期望另一方能夠隨意地發(fā)送消息。要求對(duì)IM會(huì)話的主動(dòng)接受的一個(gè)缺點(diǎn)是,如果用戶離開(kāi)或不能夠確認(rèn),那么用戶通常期望且習(xí)慣的IM的自由流動(dòng)是不可能的。
對(duì)基于會(huì)話的IM的一種替換方案是其中所有消息被傳遞給所有注冊(cè)的端點(diǎn)的IM頁(yè)面模式。從而,使用IM頁(yè)面模式,允許用戶登錄到多個(gè)端點(diǎn)上。但是,對(duì)多個(gè)注冊(cè)的端點(diǎn)的支持含有若干缺點(diǎn)。首先,如上所述,由于對(duì)多個(gè)終端的支持,由基于會(huì)話消息通信提供的所需屬性是不可用的。其次,因?yàn)橐粋€(gè)端點(diǎn)會(huì)參與2路IM會(huì)話,且由于用戶接收的所有消息總是被傳遞至所有的用戶端點(diǎn)而使所有其它終端僅簡(jiǎn)單地反映傳入消息的列表,因此用戶的體驗(yàn)是較差的。
因此,支持多個(gè)用戶端點(diǎn),同時(shí)提供與基于會(huì)話的IM相關(guān)聯(lián)的用戶體驗(yàn)的IM模型是非常有用的。
圖1是示出通常包含在其中執(zhí)行本工具的至少某些計(jì)算機(jī)系統(tǒng)中的所選擇組件的框圖。
圖2是示出本工具可在其中操作的環(huán)境的高級(jí)框圖。
圖3示出了根據(jù)某些實(shí)施例,用于在IM對(duì)話中提供IM混合模式操作的方法的流程圖。
圖4是根據(jù)某些實(shí)施例,示出用于使用會(huì)話發(fā)起協(xié)議(SIP)提供IM混合模式操作的方法的流程圖。
具體實(shí)施例方式
描述了一種提供通常與基于會(huì)話的IM相關(guān)聯(lián)的豐富用戶體驗(yàn),同時(shí)支持多個(gè)用戶設(shè)備或端點(diǎn)的IM模型。一種軟件工具(“工具”)通過(guò)在同一IM對(duì)話中共同使用頁(yè)面模式IM和基于會(huì)話的IM,提供了一種用于IM混合模式操作的協(xié)議,來(lái)提供改進(jìn)的用戶IM體驗(yàn)。本工具最初在頁(yè)面模式啟動(dòng)一IM連接。隨后,當(dāng)獲知設(shè)備標(biāo)識(shí)符——始發(fā)用戶的設(shè)備標(biāo)識(shí)符或者遠(yuǎn)程用戶的設(shè)備標(biāo)識(shí)符或者兩者時(shí),本工具將頁(yè)面模式IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM對(duì)話。
在某些實(shí)施例中,本工具使用頁(yè)面模式消息通信來(lái)建立與多個(gè)遠(yuǎn)程用戶設(shè)備的初始連接,繼之以由多個(gè)遠(yuǎn)程用戶設(shè)備之一啟動(dòng)的會(huì)話。例如,可能存在遠(yuǎn)程用戶的多個(gè)實(shí)例——例如,遠(yuǎn)程用戶可以向多個(gè)設(shè)備或端點(diǎn)上的IM服務(wù)注冊(cè)。為了考慮多個(gè)遠(yuǎn)程用戶設(shè)備,本工具在頁(yè)面模式中啟動(dòng)IM連接,且在用于建立與遠(yuǎn)程用戶的頁(yè)面模式IM對(duì)話的頁(yè)面模式消息中標(biāo)識(shí)始發(fā)設(shè)備——即,由始發(fā)用戶用來(lái)請(qǐng)求與遠(yuǎn)程用戶IM會(huì)話的設(shè)備或端點(diǎn)。頁(yè)面模式消息被傳遞至遠(yuǎn)程用戶的已注冊(cè)的每個(gè)設(shè)備。本工具可發(fā)送始發(fā)用戶所請(qǐng)求的零個(gè)、一個(gè)或多個(gè)后續(xù)頁(yè)面模式消息,它們也被傳遞至遠(yuǎn)程用戶的已注冊(cè)的每個(gè)設(shè)備。隨后,當(dāng)遠(yuǎn)程用戶在遠(yuǎn)程用戶的已注冊(cè)設(shè)備之一上,或使用該設(shè)備來(lái)回復(fù)該頁(yè)面模式IM對(duì)話時(shí),由遠(yuǎn)程用戶用來(lái)回復(fù)該頁(yè)面模式IM對(duì)話的已注冊(cè)設(shè)備上的該工具使用始發(fā)設(shè)備標(biāo)識(shí)符作為基于會(huì)話的IM對(duì)話的目標(biāo)。通過(guò)允許遠(yuǎn)程用戶的回復(fù)來(lái)啟動(dòng)基于會(huì)話的IM,始發(fā)用戶設(shè)備和遠(yuǎn)程用戶設(shè)備有效地發(fā)現(xiàn)對(duì)方,且一旦完成后,IM對(duì)話從其初始的頁(yè)面模式轉(zhuǎn)化為基于會(huì)話的IM對(duì)話。一旦建立反回到始發(fā)用戶設(shè)備的會(huì)話后,向遠(yuǎn)程用戶的每個(gè)已注冊(cè)設(shè)備發(fā)送一后續(xù)信號(hào)或指示,它指示已經(jīng)建立與遠(yuǎn)程用戶的已注冊(cè)設(shè)備之一的基于會(huì)話的IM對(duì)話,該已注冊(cè)設(shè)備即由遠(yuǎn)程用戶用來(lái)回復(fù)前一頁(yè)面模式IM對(duì)話的已注冊(cè)設(shè)備。
在其它實(shí)施例中,本工具不在用來(lái)建立與遠(yuǎn)程用戶的頁(yè)面模式IM對(duì)話的頁(yè)面模式消息中標(biāo)識(shí)始發(fā)設(shè)備——即,由始發(fā)用戶用來(lái)請(qǐng)求與遠(yuǎn)程用戶的IM會(huì)話的設(shè)備或端點(diǎn)。在這個(gè)示例中,當(dāng)遠(yuǎn)程用戶在遠(yuǎn)程用戶的已注冊(cè)設(shè)備之一上,或使用該設(shè)備來(lái)回復(fù)該頁(yè)面模式IM對(duì)話時(shí),由遠(yuǎn)程用戶用于回復(fù)該頁(yè)面模式IM對(duì)話的已注冊(cè)設(shè)備上的該工具向始發(fā)設(shè)備發(fā)送該特定遠(yuǎn)程用戶已注冊(cè)設(shè)備的標(biāo)識(shí)符。以這種方式,始發(fā)設(shè)備有效地發(fā)現(xiàn)了遠(yuǎn)程用戶所位于的已注冊(cè)設(shè)備——即,遠(yuǎn)程用戶正在用來(lái)回復(fù)IM對(duì)話的已注冊(cè)設(shè)備,且使用遠(yuǎn)程用戶的已注冊(cè)設(shè)備的標(biāo)識(shí)符作為基于會(huì)話的IM對(duì)話的目標(biāo)。
參考附圖的圖1-4能最好地理解本工具的各實(shí)施例及其優(yōu)點(diǎn)。附圖的元素不必縮放,相反,將重點(diǎn)置于其上清楚地示出了本發(fā)明的原理。在所有附圖中,相同的標(biāo)號(hào)用于各附圖中同樣或?qū)?yīng)的部分。
圖1是示出通常包含在其上執(zhí)行本工具的至少某些計(jì)算機(jī)系統(tǒng)中的所選擇組件的框圖。這些計(jì)算機(jī)系統(tǒng)100可以包括用于執(zhí)行計(jì)算機(jī)程序的一個(gè)或多個(gè)中央處理器(“CPU”)102;用于存儲(chǔ)正被使用的程序和數(shù)據(jù)(包括數(shù)據(jù)結(jié)構(gòu))的計(jì)算機(jī)存儲(chǔ)器104;諸如硬盤(pán)驅(qū)動(dòng)器等用于持久地存儲(chǔ)程序和數(shù)據(jù)的持久存儲(chǔ)設(shè)備106;諸如CD-ROM驅(qū)動(dòng)器等用于讀取存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的程序和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)驅(qū)動(dòng)器108;以及用于諸如通過(guò)因特網(wǎng)將計(jì)算機(jī)系統(tǒng)連接至其它計(jì)算機(jī)系統(tǒng)以交換程序和/或數(shù)據(jù)(包括數(shù)據(jù)結(jié)構(gòu))的網(wǎng)絡(luò)連接110。
本工具可在諸如由計(jì)算機(jī)系統(tǒng)100或其它設(shè)備執(zhí)行的程序模塊等計(jì)算機(jī)可讀指令的通用語(yǔ)境下描述。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型。存儲(chǔ)器104和持久存儲(chǔ)設(shè)備106是可以包含實(shí)現(xiàn)該工具的指令的計(jì)算機(jī)可讀介質(zhì)??梢岳斫?,存儲(chǔ)器104和持久存儲(chǔ)設(shè)備106可以含有除了實(shí)現(xiàn)該工具的指令以外的各種其它內(nèi)容。
可以理解,計(jì)算機(jī)系統(tǒng)100可以包括諸如視頻監(jiān)視器和LCD板等用于顯示程序輸出的一個(gè)或多個(gè)顯示設(shè)備,以及諸如鍵盤(pán)、麥克風(fēng)或諸如鼠標(biāo)等定點(diǎn)設(shè)備的用于接收用戶輸入的一個(gè)或多個(gè)輸入設(shè)備。盡管如上所述配置的計(jì)算機(jī)系統(tǒng)100通常用于支持本工具的操作,但是可以理解,本工具可以使用各種類(lèi)型和配置的設(shè)備來(lái)實(shí)現(xiàn),并具有各種組件。
在以下討論中,結(jié)合各種說(shuō)明性示例描述了本工具的各實(shí)施例。可以理解,本工具的各實(shí)施例可以用于在各方面與這些示例差異很大的環(huán)境中。
圖2是示出本工具可在其中操作的環(huán)境20的高級(jí)框圖。如上所述,環(huán)境20包括諸如客戶機(jī)A 202和客戶機(jī)B 206a-c等若干客戶計(jì)算機(jī)系統(tǒng)。每個(gè)客戶計(jì)算機(jī)系統(tǒng)含有諸如用戶界面程序等用于允許其用戶與另一用戶進(jìn)行IM的應(yīng)用程序??蛻粲?jì)算機(jī)系統(tǒng)被耦合至主存該工具的各自的域服務(wù)器。如圖所示,客戶機(jī)A 202被耦合至域服務(wù)器A 204,而客戶機(jī)B 206a-c的每一個(gè)被耦合至域服務(wù)器B 208。域服務(wù)器進(jìn)一步通過(guò)諸如因特網(wǎng)等網(wǎng)絡(luò)210互相耦合。
客戶計(jì)算機(jī)系統(tǒng)可以是向用戶提供進(jìn)行IM的能力的任何類(lèi)型的計(jì)算機(jī)或通信設(shè)備。作為示例,客戶計(jì)算機(jī)系統(tǒng)可以是運(yùn)行支持IM應(yīng)用程序的裝載和執(zhí)行的合適的操作系統(tǒng)程序的個(gè)人計(jì)算機(jī)?;蛘撸蛻粲?jì)算機(jī)系統(tǒng)可以是諸如個(gè)人數(shù)字助理等網(wǎng)絡(luò)設(shè)備,或是諸如蜂窩電話等適于在進(jìn)行IM時(shí)使用的其它合適的通信設(shè)備。由此,客戶計(jì)算機(jī)系統(tǒng)擔(dān)當(dāng)由用戶用于進(jìn)行IM的設(shè)備。換言之,客戶計(jì)算機(jī)系統(tǒng)擔(dān)當(dāng)向IM服務(wù)注冊(cè)的用戶的實(shí)例的端點(diǎn)。
一般而言,域服務(wù)器包括共同地?fù)?dān)當(dāng)用于諸如因特網(wǎng)域等特定網(wǎng)絡(luò)域的服務(wù)器的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)。如圖1所示,域服務(wù)器A 204為客戶機(jī)A 202提供了域服務(wù),而域服務(wù)器B 208為客戶機(jī)B 206a-c提供了域服務(wù)。在某些實(shí)施例中,域服務(wù)器主存本工具,且有利于此處所描述的混合模式IM??梢岳斫猓?,在其中客戶計(jì)算系統(tǒng)也提供某些或全部域服務(wù)器功能的環(huán)境中,本工具的所有或部分也可以由諸如客戶計(jì)算系統(tǒng)等其它計(jì)算系統(tǒng)主存。
網(wǎng)絡(luò)210便于例如附加的計(jì)算機(jī)之間的電子內(nèi)容的傳輸。在某些實(shí)施例中,網(wǎng)絡(luò)210包括因特網(wǎng)。因特網(wǎng)是連接上百萬(wàn)臺(tái)計(jì)算機(jī)的全球性網(wǎng)絡(luò)。本領(lǐng)域的普通技術(shù)人員所公知的因特網(wǎng)的結(jié)構(gòu)是計(jì)算機(jī)網(wǎng)絡(luò)的全球網(wǎng)絡(luò),且使用一種簡(jiǎn)單的、標(biāo)準(zhǔn)的公共尋址系統(tǒng)和稱為傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信協(xié)議。
可以理解,網(wǎng)絡(luò)210可以包含一個(gè)或多個(gè)其它類(lèi)型的網(wǎng)絡(luò)。作為示例,網(wǎng)絡(luò)210可以包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、公共互聯(lián)網(wǎng)、私人內(nèi)聯(lián)網(wǎng)、私人計(jì)算機(jī)網(wǎng)絡(luò)、安全互聯(lián)網(wǎng)、專用網(wǎng)、公用網(wǎng)、增值網(wǎng)、交互式電視網(wǎng)絡(luò)、無(wú)線網(wǎng)、雙向電纜網(wǎng)、交互式信息站網(wǎng)絡(luò)等。也可以理解,客戶計(jì)算機(jī)系統(tǒng)可以直接或通過(guò)包括網(wǎng)絡(luò)210在內(nèi)的前述類(lèi)型的網(wǎng)絡(luò)中的任何一個(gè)或其組合被耦合至其域服務(wù)器。
圖3示出了根據(jù)某些實(shí)施例,用于在IM對(duì)話中提供IM混合模式操作的方法300的流程圖。作為示例,遠(yuǎn)程用戶,即用戶B可以使用多種設(shè)備登錄至一個(gè)IM服務(wù)。參考圖2,域服務(wù)器B 208可以提供IM服務(wù),而用戶B可以同時(shí)使用客戶機(jī)206a(例如,臺(tái)式計(jì)算機(jī))、客戶機(jī)206b(例如,膝上型計(jì)算機(jī))和客戶機(jī)206c(例如,PDA)向IM服務(wù)注冊(cè)。在開(kāi)始步驟中,希望與用戶B開(kāi)始IM對(duì)話(例如,聊天會(huì)話)的用戶可以使用客戶機(jī)A 202(例如,臺(tái)式計(jì)算機(jī))向例如在域服務(wù)器A 204上提供的IM服務(wù)注冊(cè)。用戶A然后可以使用客戶機(jī)A 202來(lái)編寫(xiě)一條IM文本消息,并調(diào)用一個(gè)命令將該IM文本消息傳輸給用戶B,使客戶機(jī)A 202將收信地址為用戶B的IM文本消息發(fā)送給用戶A的域服務(wù)器A 204。
回到圖3,在步驟302處,用戶A的域服務(wù)器A 204為與用戶B的所請(qǐng)求的IM對(duì)話使用頁(yè)面模式IM啟動(dòng)IM連接。這里,例如,在用戶A的域服務(wù)器A 204上執(zhí)行的工具不知道將該IM對(duì)話的目標(biāo)定為用戶B的當(dāng)前已注冊(cè)設(shè)備中的哪一個(gè),從而,該工具以頁(yè)面模式啟動(dòng)IM連接。在頁(yè)面模式中,工具一般使用記錄的用戶B的地址發(fā)送目標(biāo)為用戶B的IM文本消息,且不指定用戶B的特定端點(diǎn)——即,特定的已注冊(cè)設(shè)備。IM文本消息通過(guò)網(wǎng)絡(luò)210被發(fā)送至用戶B的域服務(wù)器B208。在一個(gè)實(shí)施例中,該工具也發(fā)送該IM文本消息的發(fā)送者的設(shè)備標(biāo)識(shí)符——例如,客戶機(jī)A 202的標(biāo)識(shí)符。
用戶B的域服務(wù)器B 208接收到目標(biāo)為用戶B的IM文本消息,并將該IM文本消息分叉到用戶B的每個(gè)實(shí)例,使用戶B已注冊(cè)的每個(gè)設(shè)備(即客戶機(jī)B 206a-c)來(lái)接收該IM文本消息。這些設(shè)備中的每一個(gè)可以例如通過(guò)在一耦合的顯示設(shè)備上例示一個(gè)窗口并顯示該IM文本或通過(guò)提供對(duì)IM文本消息的接收的指示來(lái)響應(yīng)于對(duì)IM文本消息的接收。每一設(shè)備也向耦合的域服務(wù)器(即,用戶B的域服務(wù)器B208)提供指示對(duì)IM文本消息的成功接收的響應(yīng)。用戶B的域服務(wù)器B 208然后可以集合從用戶B的已注冊(cè)設(shè)備處接收的響應(yīng),并且向用戶A的域服務(wù)器A 204發(fā)回單個(gè)響應(yīng)。
用戶A可以編寫(xiě)另一條IM文本消息作為與用戶B的IM對(duì)話中的一部分,而不需用戶B響應(yīng)于該IM對(duì)話。在這個(gè)示例中,用戶A的域服務(wù)器A 204使用最初為該IM對(duì)話建立的頁(yè)面模式IM發(fā)送任何另外的IM文本消息,使該另外的IM文本消息如上所述被用戶B的每一已注冊(cè)設(shè)備接收。
在步驟304處,確定當(dāng)前在頁(yè)面模式下的IM對(duì)話是否要被轉(zhuǎn)化為基于會(huì)話的IM。在某些實(shí)施例中,對(duì)頁(yè)面模式中的IM對(duì)話的初始回復(fù)用作將該IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM的觸發(fā)器。繼續(xù)以上示例,用戶B可以通過(guò)使用用戶B的膝上型計(jì)算機(jī)(即,客戶機(jī)B 206)來(lái)編寫(xiě)對(duì)用戶A的回復(fù)IM文本消息以響應(yīng)于該IM對(duì)話。在步驟306處,客戶機(jī)B 206通過(guò)向先前由客戶機(jī)B 206標(biāo)識(shí)的用戶A的設(shè)備,即客戶機(jī)A 202發(fā)送建立基于會(huì)話的IM或?qū)?dāng)前的IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM的請(qǐng)求,而將該IM對(duì)話從頁(yè)面模式轉(zhuǎn)化為基于會(huì)話的??蛻魴C(jī)B 206可以在向客戶機(jī)A 202發(fā)送的請(qǐng)求中包括其標(biāo)識(shí)符。將IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM的請(qǐng)求是通過(guò)用戶B的域服務(wù)器B 208、網(wǎng)絡(luò)210和用戶A的域服務(wù)器A 204發(fā)送給客戶機(jī)A 202的。
作為響應(yīng),客戶機(jī)A 202肯定地響應(yīng)于所接收到的將IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM的請(qǐng)求,使得在客戶機(jī)A 202和客戶機(jī)B 206之間建立起基于會(huì)話的IM。在某些實(shí)施例中,客戶機(jī)A 202可以向用戶B的所有已注冊(cè)設(shè)備發(fā)送已經(jīng)與用戶B的特定的一個(gè)已注冊(cè)設(shè)備(即客戶機(jī)B 206)建立起基于會(huì)話的IM的指示(例如,消息)??蛻魴C(jī)A 202可以將該指示或消息作為頁(yè)面模式IM消息發(fā)送,使其被用戶B的所有已注冊(cè)設(shè)備接收。
用戶B的已注冊(cè)設(shè)備接收到該指示,且除了與其建立基于會(huì)話的IM的已注冊(cè)設(shè)備(即客戶機(jī)A 202)以外的其它已注冊(cè)設(shè)備設(shè)備提供某種類(lèi)型的指示,指示在該IM對(duì)話中先前接收到的文本消息不再有效。例如,與其沒(méi)有建立基于會(huì)話的IM的用戶B的已注冊(cè)設(shè)備可以移除顯示先前接收到的IM文本消息的窗口、提供該IM對(duì)話不再活躍的指示、提供在IM對(duì)話中先前所接收到的文本消息過(guò)期或不再有效的指示、提供用戶B已經(jīng)使用另一已注冊(cè)設(shè)備回復(fù)該IM對(duì)話的指示等等。
在步驟308處,在基于會(huì)話的IM中傳輸用戶A和用戶B之間的IM對(duì)話中的后續(xù)文本消息。換言之,使用客戶機(jī)A 202的用戶A和使用客戶機(jī)B 206b的用戶B之間的后續(xù)文本消息是通過(guò)在這些端點(diǎn)之間建立的(在步驟306處)會(huì)話來(lái)傳輸?shù)摹?br>
如果在步驟304處,確定不將該IM對(duì)話從頁(yè)面模式轉(zhuǎn)化為基于會(huì)話的,那么在步驟310處,該IM對(duì)話繼續(xù)處于頁(yè)面模式中。在這個(gè)示例中,在用戶A和用戶B之間的IM對(duì)話中的后續(xù)文本消息在頁(yè)面模式IM中傳輸。繼續(xù)上述示例,用戶B可以不回復(fù)該IM對(duì)話,因此該IM對(duì)話繼續(xù)處于頁(yè)面模式中,且來(lái)自用戶A的后續(xù)IM文本消息繼續(xù)被傳送給用戶B的每個(gè)已注冊(cè)設(shè)備。
在某些實(shí)施例中,在用戶B的已注冊(cè)設(shè)備上和/或用戶B的域服務(wù)器B 208上提供的IM服務(wù)可能不支持基于會(huì)話的IM。在這些實(shí)施例中,即使在用戶B使用已注冊(cè)設(shè)備中的一個(gè)回復(fù)該IM對(duì)話的情況下,IM對(duì)話也繼續(xù)處于頁(yè)面模式中。這樣,以類(lèi)似于上述用戶B不提供回復(fù)的示例的方式,IM對(duì)話中的后續(xù)文本消息被傳送給用戶A和用戶B的所有已注冊(cè)設(shè)備。
在另一實(shí)施例中,來(lái)自用戶A的IM文本消息可以不包括對(duì)于在其上始發(fā)文本消息的設(shè)備的指示。在上述示例中,本工具可以不發(fā)送IM文本消息的發(fā)送者的設(shè)備標(biāo)識(shí)符,如客戶機(jī)A 202的標(biāo)識(shí)符。在該示例中,用戶B可以通過(guò)使用用戶B的膝上型計(jì)算機(jī)(即客戶機(jī)B 206)來(lái)編寫(xiě)對(duì)用戶A的回復(fù)IM文本消息以響應(yīng)于該IM對(duì)話??蛻魴C(jī)B 206可以向用戶A發(fā)送對(duì)該回復(fù)的指示以及用戶B用來(lái)提供該回復(fù)的已注冊(cè)設(shè)備(即客戶機(jī)B 206)的標(biāo)識(shí)符。該回復(fù)是通過(guò)用戶B的域服務(wù)器B 208、網(wǎng)絡(luò)210和用戶A的域服務(wù)器A 204發(fā)送給客戶機(jī)A 202的。隨后,客戶機(jī)A 202可以向先前向客戶機(jī)A 202標(biāo)識(shí)的客戶機(jī)B 206發(fā)送建立基于會(huì)話的IM或?qū)?dāng)前的IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM的請(qǐng)求。
本領(lǐng)域的普通技術(shù)人員可以理解,對(duì)于此處揭示的這些或其它過(guò)程和方法,在這些過(guò)程和方法中執(zhí)行的功能可以按不同的順序執(zhí)行。而且,所列出的步驟僅是示例性的,且某些步驟可以是可任選的、與較少的步驟相結(jié)合或擴(kuò)展為額外的步驟而不損害本發(fā)明的本質(zhì)。
圖4是示出根據(jù)某些實(shí)施例,用于使用SIP來(lái)提供IM混合模式操作的方法的流程圖。具體地,通過(guò)將執(zhí)行頁(yè)面模式消息通信的SIP MESSAGE(消息)請(qǐng)求和建立消息會(huì)話中繼協(xié)議(MSRP)或其它基于會(huì)話的消息通信的SIP INVITE(邀請(qǐng))請(qǐng)求結(jié)合到一個(gè)IM對(duì)話中,來(lái)提供IM混合模式操作。SIP在互聯(lián)網(wǎng)工程任務(wù)組(IETF)的請(qǐng)求注解(RFC)2543中定義,其通過(guò)整體引用包含在此。IETF RFC 3428對(duì)于執(zhí)行頁(yè)面模式消息通信的SIP MESSAGE請(qǐng)求是有益的,且通過(guò)整體引用包含在此。IETF RFC 3261對(duì)于使用INVITE的提供/答復(fù)模型是有益的,且通過(guò)整體引用包含在此。
作為示例,在客戶機(jī)A 202上的用戶A想要向用戶B發(fā)送IM。在步驟402處,客戶機(jī)A 202不知道將該IM的目標(biāo)定為哪個(gè)特定的設(shè)備,于是,發(fā)送了目標(biāo)為用戶B的MESSAGE請(qǐng)求。該MESSAGE請(qǐng)求包含發(fā)送者,即客戶機(jī)A 202的設(shè)備標(biāo)識(shí)符,諸如SIP中的全球可路由用戶代理URI(GRUU)。MESSAGE請(qǐng)求不包含用戶B的設(shè)備的設(shè)備標(biāo)識(shí)符。
在步驟404處,容納用戶B注冊(cè)的域服務(wù)器B接收并檢查MESSAGE請(qǐng)求。因?yàn)闆](méi)有設(shè)備被定為目標(biāo),例如,不存在用戶B的端點(diǎn)標(biāo)識(shí)符參數(shù),因此域服務(wù)器B將該請(qǐng)求分叉到用戶B的所有已注冊(cè)端點(diǎn)。在步驟406a-c處,用戶B的所有已注冊(cè)設(shè)備接收該MESSAGE請(qǐng)求并使用SIP 200OK響應(yīng)來(lái)響應(yīng)該MESSAGE請(qǐng)求。在某些實(shí)施例中,域服務(wù)器B接收并聚集該200OK響應(yīng),并向客戶機(jī)A 202發(fā)送一個(gè)200OK響應(yīng)。用戶A可以在用戶B第一次回復(fù)之前發(fā)送一個(gè)或多個(gè)IM。對(duì)每一額外發(fā)送的IM,再使用相同的設(shè)備標(biāo)識(shí)符重復(fù)步驟402、404和406a-c。
隨后,用戶B希望發(fā)送回復(fù)。用戶B選擇一個(gè)從其上回復(fù)的端點(diǎn)、輸入響應(yīng)然后將其發(fā)送。如圖4所示,用戶B可能已經(jīng)選擇了客戶機(jī)B 206a作為從其上回復(fù)的端點(diǎn)。在這個(gè)示例中,在步驟408處,由于該設(shè)備標(biāo)識(shí)符對(duì)于遠(yuǎn)程的一方是可用的,因此客戶機(jī)B 206a啟動(dòng)與該遠(yuǎn)程方的對(duì)話。具體地,客戶機(jī)B 206a向?qū)⒛繕?biāo)定為客戶機(jī)A 202的用戶A發(fā)送一個(gè)建立MSRP或其它基于會(huì)話的消息通信的INVITE請(qǐng)求,客戶機(jī)A 202是用戶A用于發(fā)送一個(gè)或多個(gè)初始消息的設(shè)備。INVITE請(qǐng)求包括客戶機(jī)A 202的設(shè)備標(biāo)識(shí)符,它包含在先前的MESSAGE請(qǐng)求中包含。INVITE請(qǐng)求也包括客戶機(jī)B 206a的設(shè)備標(biāo)識(shí)符。
在步驟410處,客戶機(jī)A 202從客戶機(jī)B 206a接收INVITE請(qǐng)求并響應(yīng)于該請(qǐng)求,于是建立客戶機(jī)A 202和客戶機(jī)B 206a之間的IM的會(huì)話。在響應(yīng)于該INVITE請(qǐng)求之后,在步驟412處,客戶機(jī)A 202發(fā)送將目標(biāo)定為用戶B的另一個(gè)MESSAGE請(qǐng)求或其它SIP請(qǐng)求類(lèi)型。具體地,MESSAGE請(qǐng)求或SIP請(qǐng)求類(lèi)型指示先前發(fā)送的所有頁(yè)面模式消息現(xiàn)在由于已對(duì)該特定IM選擇了一個(gè)設(shè)備而成為空閑的。在一個(gè)實(shí)施例中,MESSAGE請(qǐng)求或SIP請(qǐng)求類(lèi)型是由該設(shè)備,即客戶機(jī)A 202自動(dòng)生成的。在步驟414處,域服務(wù)器B以類(lèi)似于步驟404的方式接收該MESSAGE請(qǐng)求,并將該請(qǐng)求分叉至用戶B的所有已注冊(cè)端點(diǎn)。
在步驟416處,用戶B所選擇的端點(diǎn),即客戶機(jī)B 206a接收并忽略該MESSAGE請(qǐng)求。在步驟418a處,客戶機(jī)B 206b接收到該MESSAGE請(qǐng)求,并指示已經(jīng)在某個(gè)其它設(shè)備上建立了IM對(duì)話。同樣地,在步驟418b處,客戶機(jī)B 206c接收該M ESSAGE請(qǐng)求,并指示已經(jīng)在某個(gè)其它設(shè)備上建立了IM對(duì)話。在一個(gè)實(shí)施例中,客戶機(jī)B 206b和客戶機(jī)B 206c可以移除包含在一耦合的顯示設(shè)備上顯示的先前接收到的消息的消息通信窗口。
在步驟420處,如點(diǎn)劃線或虛線框所示,用戶A和用戶B都使用其各自的設(shè)備互相發(fā)送IM。對(duì)于由用戶A向用戶B發(fā)送的后一IM消息,客戶機(jī)A 202確定在其自身和用戶B的端點(diǎn),即客戶機(jī)B 206a之間存在一個(gè)會(huì)話,并在所建立的會(huì)話中發(fā)送IM消息。同樣地,對(duì)于由用戶B向用戶A發(fā)送的后一IM消息,客戶機(jī)B 206a確定在其自身和用戶A的端點(diǎn),即客戶機(jī)202之間存在一個(gè)會(huì)話,并在所建立的會(huì)話中發(fā)送IM消息。
從前述內(nèi)容中,可以理解,本發(fā)明的實(shí)施例在此處是為說(shuō)明的目的而描述的,但是可以進(jìn)行各種修改而不背離本發(fā)明的精神和范圍。從而,本發(fā)明除根據(jù)所附的權(quán)利要求中明確陳述的元素之外不受限制。
權(quán)利要求
1.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)容使計(jì)算機(jī)啟動(dòng)對(duì)最初在頁(yè)面模式IM中的一IM對(duì)話的IM連接,所述IM對(duì)話在一始發(fā)用戶和一遠(yuǎn)程用戶之間;以及發(fā)現(xiàn)所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的端點(diǎn)的身份;;以及在發(fā)現(xiàn)所述端點(diǎn)的身份之后,將所述IM對(duì)話轉(zhuǎn)化為基于會(huì)話的IM。
2.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述頁(yè)面模式IM是使用SIP建立的。
3.如權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述頁(yè)面模式IM是使用SIP中的MESSAGE請(qǐng)求建立的。
4.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述基于會(huì)話的IM是使用SIP建立的。
5.如權(quán)利要求4所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述基于會(huì)話的IM是使用SIP中的INVITE請(qǐng)求建立的。
6.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括在將所述IM對(duì)話轉(zhuǎn)換基于會(huì)話的IM之后,使計(jì)算機(jī)向所述遠(yuǎn)程用戶的一個(gè)或多個(gè)端點(diǎn)發(fā)送已經(jīng)與所述遠(yuǎn)程用戶的一個(gè)不同端點(diǎn)建立起會(huì)話的指示。
7.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,由所述遠(yuǎn)程用戶使用的端點(diǎn)的身份是通過(guò)接收建立對(duì)話的請(qǐng)求而發(fā)現(xiàn)的。
8.如權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述建立對(duì)話的請(qǐng)求是通過(guò)SIP中的INVITE請(qǐng)求做出的。
9.一種在計(jì)算系統(tǒng)中用于提供混合模式IM的方法,所述方法包括啟動(dòng)在一始發(fā)設(shè)備上注冊(cè)的始發(fā)用戶和在多個(gè)遠(yuǎn)程設(shè)備上注冊(cè)的遠(yuǎn)程用戶之間的、最初在頁(yè)面模式IM中的IM對(duì)話;發(fā)現(xiàn)所述多個(gè)遠(yuǎn)程設(shè)備中由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的一個(gè)設(shè)備的身份;以及在發(fā)現(xiàn)所述多個(gè)遠(yuǎn)程設(shè)備中由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的一個(gè)設(shè)備的身份之后,將所述IM對(duì)話從頁(yè)面模式IM轉(zhuǎn)換為基于會(huì)話的IM。
10.如權(quán)利要求9所述的方法,其特征在于,還包括在將所述IM對(duì)話從頁(yè)面模式IM轉(zhuǎn)換為基于會(huì)話的IM之后,向所述多個(gè)遠(yuǎn)程設(shè)備告知向基于會(huì)話的IM的轉(zhuǎn)換。
11.如權(quán)利要求9所述的方法,其特征在于,所述頁(yè)面模式IM是通過(guò)一建立會(huì)話的請(qǐng)求而被轉(zhuǎn)換為基于會(huì)話的IM的,所述請(qǐng)求是由所述遠(yuǎn)程用戶最初用于向所述始發(fā)設(shè)備回復(fù)所述IM對(duì)話的遠(yuǎn)程設(shè)備所發(fā)送的。
12.如權(quán)利要求11所述的方法,其特征在于,所述請(qǐng)求是SIP中的INVITE請(qǐng)求。
13.如權(quán)利要求9所述的方法,其特征在于,所述頁(yè)面模式IM是通過(guò)一建立會(huì)話的請(qǐng)求而被轉(zhuǎn)換為基于會(huì)話的IM的,所述請(qǐng)求是由所述始發(fā)設(shè)備發(fā)送給由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的遠(yuǎn)程設(shè)備的。
14.如權(quán)利要求9所述的方法,其特征在于,發(fā)現(xiàn)所述多個(gè)遠(yuǎn)程設(shè)備中由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的一個(gè)設(shè)備的身份包括由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的遠(yuǎn)程設(shè)備將其身份發(fā)送給所述始發(fā)設(shè)備。
15.一種在IM系統(tǒng)中用于提供混合模式IM的方法,所述方法包括啟動(dòng)一始發(fā)用戶和一遠(yuǎn)程用戶之間的、最初在頁(yè)面模式IM中的IM對(duì)話;以及將所述IM對(duì)話從頁(yè)面模式IM轉(zhuǎn)換為基于會(huì)話的IM。
16.如權(quán)利要求15所述的方法,其特征在于,所述IM對(duì)話是在所述遠(yuǎn)程用戶最初回復(fù)所述IM對(duì)話之后被轉(zhuǎn)換為基于會(huì)話的IM的。
17.如權(quán)利要求15所述的方法,其特征在于,所述IM對(duì)話是通過(guò)由所述遠(yuǎn)程用戶最初用于響應(yīng)所述IM對(duì)話的遠(yuǎn)程設(shè)備向由所述始發(fā)用戶所使用的始發(fā)設(shè)備發(fā)送一在設(shè)備之間建立對(duì)話的請(qǐng)求而被轉(zhuǎn)換為基于會(huì)話的IM的。
18.如權(quán)利要求15所述的方法,其特征在于,所述IM對(duì)話是通過(guò)由所述始發(fā)用戶所使用的始發(fā)設(shè)備向由所述遠(yuǎn)程用戶最初用于響應(yīng)所述IM對(duì)話的遠(yuǎn)程設(shè)備發(fā)送一在設(shè)備之間建立對(duì)話的請(qǐng)求而被轉(zhuǎn)換為基于會(huì)話的IM的。
19.如權(quán)利要求15所述的方法,其特征在于,所述IM對(duì)話是在由所述遠(yuǎn)程用戶最初用于響應(yīng)所述IM對(duì)話的遠(yuǎn)程設(shè)備發(fā)現(xiàn)由所述始發(fā)用戶所使用的始發(fā)設(shè)備的身份之后被轉(zhuǎn)換為基于會(huì)話的。
20.如權(quán)利要求15所述的方法,其特征在于,所述IM對(duì)話是在由所述始發(fā)用戶所使用的始發(fā)設(shè)備發(fā)現(xiàn)由所述遠(yuǎn)程用戶最初用于響應(yīng)所述IM對(duì)話的遠(yuǎn)程設(shè)備的身份之后被轉(zhuǎn)換為基于會(huì)話的。
21.如權(quán)利要求15所述的方法,其特征在于,還包括提供所述IM對(duì)話從頁(yè)面模式IM到基于會(huì)話的IM的轉(zhuǎn)換的指示。
22.一種用于提供混合模式IM的系統(tǒng),所述系統(tǒng)包括用于對(duì)一始發(fā)用戶和一遠(yuǎn)程用戶之間最初在頁(yè)面模式IM中的IM對(duì)話啟動(dòng)IM連接的裝置;用于發(fā)現(xiàn)由所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的遠(yuǎn)程設(shè)備的身份的裝置,所述遠(yuǎn)程設(shè)備是所述遠(yuǎn)程用戶的多個(gè)已注冊(cè)遠(yuǎn)程設(shè)備中的一個(gè);以及用于響應(yīng)于發(fā)現(xiàn)所述遠(yuǎn)程用戶最初用于回復(fù)所述IM對(duì)話的遠(yuǎn)程設(shè)備的身份而將所述IM對(duì)話轉(zhuǎn)換為基于會(huì)話的IM的裝置。
23.如權(quán)利要求22所述的系統(tǒng),其特征在于,還包括向所述遠(yuǎn)程用戶的每個(gè)已注冊(cè)設(shè)備提供所述IM對(duì)話從頁(yè)面模式IM到基于會(huì)話IM的轉(zhuǎn)換的指示
24.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述IM對(duì)話是在所述遠(yuǎn)程設(shè)備向由所述始發(fā)用戶所使用的始發(fā)設(shè)備發(fā)送一建立對(duì)話的請(qǐng)求之后被轉(zhuǎn)換為基于會(huì)話的IM的。
25.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述IM對(duì)話是在所述遠(yuǎn)程設(shè)備向由所述始發(fā)用戶所使用的始發(fā)設(shè)備發(fā)送其身份,且所述始發(fā)設(shè)備向所述遠(yuǎn)程設(shè)備發(fā)送一建立對(duì)話的請(qǐng)求之后被轉(zhuǎn)換為基于會(huì)話的IM的。
全文摘要
提供一種用于通過(guò)在同一IM對(duì)話中共同使用頁(yè)面模式IM和基于會(huì)話的IM來(lái)提供IM混合模式操作的工具。該工具啟動(dòng)在始發(fā)設(shè)備上注冊(cè)的始發(fā)用戶和在多個(gè)設(shè)備上注冊(cè)的遠(yuǎn)程用戶之間的、最初在頁(yè)面模式中的IM對(duì)話。在發(fā)現(xiàn)由遠(yuǎn)程用戶最初用于回復(fù)IM對(duì)話的遠(yuǎn)程設(shè)備的身份后,該工具將IM對(duì)話從頁(yè)面模式IM轉(zhuǎn)換為基于會(huì)話的IM。
文檔編號(hào)H04L29/02GK1777108SQ20051011634
公開(kāi)日2006年5月24日 申請(qǐng)日期2005年10月14日 優(yōu)先權(quán)日2004年11月16日
發(fā)明者O·萊文, T·J·朗 申請(qǐng)人:微軟公司