專(zhuān)利名稱(chēng):用于發(fā)現(xiàn)無(wú)服務(wù)器對(duì)等網(wǎng)絡(luò)中的端點(diǎn)的應(yīng)用程序編程接口的制作方法
用于發(fā)現(xiàn)無(wú)服務(wù)器對(duì)等網(wǎng)絡(luò)中的端點(diǎn)的應(yīng)用程序編程接口
背景
基于通信服務(wù)例如由MSN⑧通信服務(wù)提供的Messenger服務(wù)的服務(wù)器允許用 戶(hù)登入基于服務(wù)器的網(wǎng)絡(luò)中,然后使用該網(wǎng)絡(luò)的服務(wù)(例如,電子郵件、文本消息 傳送等等)。服務(wù)器可以為用戶(hù)存儲(chǔ)一個(gè)聯(lián)系人列表,用戶(hù)可以從該聯(lián)系人列表增
加和刪除的人員。當(dāng)用戶(hù)登入時(shí), 一個(gè)或多個(gè)服務(wù)器可以通知該聯(lián)系人列表中的人 員該用戶(hù)"在線(xiàn)"。同樣地,服務(wù)器或諸服務(wù)器可以向用戶(hù)通知用戶(hù)聯(lián)系人列表中 "在線(xiàn)"的人員。
微軟⑧(MICROSOFT )公司也提供對(duì)等網(wǎng)絡(luò)軟件以供與其WINDOWS⑧操 作系統(tǒng)一起使用。借助于這一系統(tǒng),用戶(hù)可以創(chuàng)建一個(gè)對(duì)等計(jì)算機(jī)的網(wǎng)絡(luò),并且可 以相互通信而不需要登入中心服務(wù)器。例如,用戶(hù)可以創(chuàng)建一個(gè)對(duì)等群,然后創(chuàng)建 一個(gè)聊天室,在該聊天室中該群的所有成員都可以張貼消息并看到由群中其他用戶(hù) 張貼的消息。系統(tǒng)也可以允許諸對(duì)等體發(fā)現(xiàn)附近的其他對(duì)等體。使用對(duì)等計(jì)算機(jī)維 護(hù)聊天室而不需要中心服務(wù)器。
概述
描述用于促進(jìn)出現(xiàn)公布的諸方法,其中可以包括授權(quán)在第一端點(diǎn)的出現(xiàn)公 布,如果該公布被授權(quán),則裝配一個(gè)出現(xiàn)數(shù)據(jù)結(jié)構(gòu),并且從第一端點(diǎn)廣播該出現(xiàn)數(shù) 據(jù)結(jié)構(gòu)。該方法也可以包括出現(xiàn)結(jié)構(gòu),該出現(xiàn)結(jié)構(gòu)包括一個(gè)友好名稱(chēng)、聯(lián)系人信息 和端點(diǎn)信息。該方法進(jìn)一步包括XML格式、vCard格式中的至少其中一種格式的 聯(lián)系人信息,以及從對(duì)等名稱(chēng)解析協(xié)議獲得的端點(diǎn)信息。該方法可以額外包括出現(xiàn) 數(shù)據(jù)結(jié)構(gòu),其中該出現(xiàn)數(shù)據(jù)結(jié)構(gòu)被編碼為通用發(fā)現(xiàn)協(xié)議消息、簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議消 息、以及將全局唯一標(biāo)識(shí)符和發(fā)現(xiàn)協(xié)議消息關(guān)聯(lián)起來(lái)的至少其中之一。該方法可以 包括一個(gè)授權(quán)出現(xiàn)公布的用戶(hù)實(shí)體,該用戶(hù)實(shí)體設(shè)置授權(quán)全部出現(xiàn)、 一些出現(xiàn)或沒(méi) 有出現(xiàn)的公布的缺省參數(shù)中的至少其中之一。
描述用于促進(jìn)發(fā)現(xiàn)用戶(hù)實(shí)體方法,包括在第一端點(diǎn)注冊(cè)第一用戶(hù)實(shí)體,接收 到標(biāo)識(shí)第二用戶(hù)實(shí)體的消息,確認(rèn)所接收到信息,并將確認(rèn)結(jié)果存儲(chǔ)在發(fā)現(xiàn)高速緩
存中。該方法也可以包括注冊(cè),其中注冊(cè)包括公布簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議消息、枚舉發(fā) 現(xiàn)高速緩存中的結(jié)果、以及對(duì)第二用戶(hù)實(shí)體的査詢(xún)。該方法可以進(jìn)一步包括XML 格式的所接收消息,所接收到的消息包括出現(xiàn)信息,出現(xiàn)信息進(jìn)一步包括第二用戶(hù) 實(shí)體的第二端點(diǎn)的狀態(tài)、第二用戶(hù)實(shí)體的聯(lián)系人身份信息、以及第二用戶(hù)實(shí)體的聯(lián) 系人元數(shù)據(jù)。該方法可以進(jìn)一步包括確認(rèn),其中確認(rèn)包括標(biāo)識(shí)諸消息,該諸消息指 示以下的至少其中之一可用用戶(hù)實(shí)體、不可用用戶(hù)實(shí)體、把可用用戶(hù)實(shí)體添加到 發(fā)現(xiàn)高速緩存中、以及把不可用用戶(hù)實(shí)體從發(fā)現(xiàn)高速緩存刪除。該方法可以包括被 編碼為簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議的消息,將一個(gè)全局唯一標(biāo)識(shí)符與該簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議的
消息關(guān)聯(lián)起來(lái),以及包括允許第一用戶(hù)實(shí)體參與消息接收的注冊(cè)。
附圖
圖1是一個(gè)可以依照權(quán)利要求
書(shū)運(yùn)作的計(jì)算系統(tǒng)的方框圖;
圖2是一個(gè)可以促進(jìn)對(duì)等無(wú)服務(wù)器協(xié)作和/或通信的示例性系統(tǒng)的方框圖;
圖3是一個(gè)與在無(wú)服務(wù)器對(duì)等網(wǎng)絡(luò)中公布可用性有關(guān)的示例性方法的流程圖;
以及
圖4是一個(gè)與發(fā)現(xiàn)在無(wú)服務(wù)器對(duì)等網(wǎng)絡(luò)中"我附近的人"有關(guān)的示例性方法 的流程圖。
描述
盡管下列文本闡明許多不同實(shí)施例的詳細(xì)描述,但是應(yīng)該理解,該描述的法 律范圍由本專(zhuān)利開(kāi)頭所闡明的權(quán)利要求
書(shū)的文字所定義。該詳細(xì)描述只應(yīng)被構(gòu)建為 示例性的,不會(huì)描述所有可能的實(shí)施例,因?yàn)槊枋鏊锌赡艿膶?shí)施例是即使不是不 可能的也是不現(xiàn)實(shí)的。使用當(dāng)前的技術(shù)或在本專(zhuān)利申請(qǐng)日之后開(kāi)發(fā)的技術(shù),可以實(shí) 現(xiàn)許多替代實(shí)施例,這仍然會(huì)落在權(quán)利要求
書(shū)的范圍之內(nèi)。
也應(yīng)該理解,在本專(zhuān)利中,除非使用句子"如此處所用,術(shù)語(yǔ)'—'特此 被定義為意指……"或者類(lèi)似句子來(lái)明確地定義一個(gè)術(shù)語(yǔ),否則不管是明確地還是 含蓄地,沒(méi)有限制該術(shù)語(yǔ)意義超出其平?;蚱胀ㄒ饬x的意圖,并且,這一術(shù)語(yǔ)不應(yīng) 該被解釋為被限制在基于本專(zhuān)利的任何部分中(除了權(quán)利要求
書(shū)的語(yǔ)言之外)所做 的任何聲明的范圍中。在本專(zhuān)利中以符合單一意義的方式提及在本專(zhuān)利開(kāi)頭的權(quán)利 要求書(shū)中所陳述的任何術(shù)語(yǔ),在這樣的范圍內(nèi),這樣做僅僅是為了清晰起見(jiàn)以便不 使讀者混淆,并且,不規(guī)定為這樣的權(quán)利要求
術(shù)語(yǔ)含蓄地或以其他方式地被限制在
該單一意義。最后,除非通過(guò)陳述詞語(yǔ)"意指"和沒(méi)有任何結(jié)構(gòu)的說(shuō)明部分的函數(shù)
來(lái)定義一個(gè)權(quán)利要求
要素,否則不規(guī)定為任何權(quán)利要求
要素的范圍基于35 U.S.C. § 112申請(qǐng)書(shū)的第六段來(lái)解釋。
圖1例示了合適的計(jì)算系統(tǒng)環(huán)境100的例子,在該計(jì)算系統(tǒng)環(huán)境中可以實(shí)現(xiàn) 用于所要求的方法步驟和裝置的逐步驟的系統(tǒng)。計(jì)算系統(tǒng)環(huán)境100只是合適的計(jì)算 環(huán)境的一個(gè)例子,它并不意味著對(duì)權(quán)利要求
書(shū)的裝置的方法的使用范圍和功能有任 何限制。計(jì)算機(jī)環(huán)境100也不應(yīng)該被解釋為具有與在示例性操作環(huán)境100中所例示 的任一組件或它們的組合有關(guān)的任何依賴(lài)或要求。
所要求的方法步驟和裝置能夠用多個(gè)其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或結(jié)構(gòu)操 作。適用于使用權(quán)利要求
書(shū)的方法和裝置的眾所周知的計(jì)算系統(tǒng)、環(huán)境、和/或配
置的例子包含但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處
理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程的消費(fèi)性電子產(chǎn)品、網(wǎng)絡(luò)PC、 微型計(jì)算機(jī)、大型計(jì)算機(jī)以及包括任何以上系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。
所要求的方法步驟和裝置可以用由計(jì)算機(jī)執(zhí)行的諸如程序模塊的計(jì)算機(jī)可執(zhí) 行指令的通用上下文描述。通常,程序模塊包括執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象 數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、元件和數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中 實(shí)踐諸方法和裝置,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被鏈接的遠(yuǎn)程處 理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的 本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
參見(jiàn)圖1,用于實(shí)現(xiàn)所要求的方法步驟和裝置的示例性系統(tǒng)包括一個(gè)以計(jì)算機(jī) 110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件包括但不限于處理單元120、系統(tǒng) 存儲(chǔ)器130、將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各個(gè)系統(tǒng)組件耦合到處理單元120的系統(tǒng)總 線(xiàn)121。系統(tǒng)總線(xiàn)121可以是包括使用多種總線(xiàn)體系結(jié)構(gòu)中的任一種的存儲(chǔ)器總線(xiàn) 或存儲(chǔ)器控制器、外圍總線(xiàn)以及局域總線(xiàn)在內(nèi)的若干總線(xiàn)結(jié)構(gòu)類(lèi)型中的任一種。作 為例子而非限制,這樣結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線(xiàn),微通道體系結(jié)構(gòu) (MCA)總線(xiàn),增強(qiáng)ISA (EISA)總線(xiàn),視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線(xiàn)和 也稱(chēng)為Mezzanine總線(xiàn)的外圍部件互連(PCI)總線(xiàn)。
計(jì)算機(jī)110通常包括多種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由計(jì)算 機(jī)110訪問(wèn)的任何可用介質(zhì),而且包含易失性/非易失性介質(zhì)以及可移動(dòng)/不可移
動(dòng)介質(zhì)。作為例子而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。 計(jì)算機(jī)存儲(chǔ)介質(zhì)包括易失性和非易失性、可移動(dòng)的和不可移動(dòng)的介質(zhì),這些介質(zhì)
存儲(chǔ)信息如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或
技術(shù)實(shí)現(xiàn)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不局限于RAM、 ROM、 EEPROM、閃速存儲(chǔ) 器或者其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用盤(pán)(DVD)或其他光盤(pán)存儲(chǔ)器、磁 帶盒、磁帶、磁盤(pán)存儲(chǔ)器或者其他磁性存儲(chǔ)設(shè)備或者任何其他可以用于存儲(chǔ)所需信 息并可由計(jì)算機(jī)110訪問(wèn)的介質(zhì)。通信介質(zhì)一般具體化為如載波或者其他傳輸機(jī)制 等的已調(diào)制的數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并 包括任意信息傳遞介質(zhì)。術(shù)語(yǔ)"己調(diào)制的數(shù)據(jù)信號(hào)"是指以在該信號(hào)中編碼信息的 方式來(lái)設(shè)置或改變其一個(gè)或多個(gè)特性的信號(hào)。作為例子而非限制,通信介質(zhì)包括有 線(xiàn)介質(zhì)如有線(xiàn)網(wǎng)絡(luò)或者直接有線(xiàn)連接,以及無(wú)線(xiàn)介質(zhì)如聲學(xué)、射頻、紅外和其他無(wú) 線(xiàn)介質(zhì)。以上任何一個(gè)的組合也應(yīng)當(dāng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器130包括易失性和/或非易失性存儲(chǔ)器如只讀存儲(chǔ)器(ROM) 131 和隨機(jī)存取存儲(chǔ)器(RAM) 132形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)?;据斎?輸出系統(tǒng)133 (BIOS)通常被存儲(chǔ)在ROM 131中,該基本輸入/輸出系統(tǒng)包含幫助在計(jì)算機(jī)110 內(nèi)的各個(gè)元件之間例如在啟動(dòng)過(guò)程中傳輸信息的基本例程。RAM 132通常包含處 理單元120可立即訪問(wèn)和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為例子而非限 制,圖1例示了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136以及程序數(shù)據(jù)137。
計(jì)算機(jī)110也可以包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性的計(jì)算機(jī)存儲(chǔ) 介質(zhì)。僅僅作為例子,圖1例示了從不可移動(dòng)的非易失性磁介質(zhì)讀取或向其中寫(xiě)入 的硬盤(pán)驅(qū)動(dòng)器140、從可移動(dòng)的非易失性磁盤(pán)152讀取或向其中寫(xiě)入的磁盤(pán)驅(qū)動(dòng)器 151、以及從可移動(dòng)的非易失性光盤(pán)156 (例如,CDROM或其他光學(xué)介質(zhì))讀取 或向其中寫(xiě)入的光盤(pán)驅(qū)動(dòng)器155??梢栽谠撌纠圆僮鳝h(huán)境中使用的其他可移動(dòng)/ 不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù) 字多用途盤(pán)、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤(pán)驅(qū)動(dòng)器141通常通 過(guò)不可移動(dòng)存儲(chǔ)器接口如接口 140連接到系統(tǒng)總線(xiàn)121,而磁盤(pán)驅(qū)動(dòng)器151和光盤(pán) 驅(qū)動(dòng)器155通常通過(guò)可移動(dòng)存儲(chǔ)器接口如接口 150連接到系統(tǒng)總線(xiàn)121。
上面討論的并且在圖1中所示的驅(qū)動(dòng)器及其相關(guān)的計(jì)算機(jī)存儲(chǔ)介質(zhì),為計(jì)算 機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖 1中,硬盤(pán)驅(qū)動(dòng)器141被例示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊 146和程序數(shù)據(jù)147。注意,這些組件可以等同于或不同于操作系統(tǒng)134、應(yīng)用程 序135、其他程序模塊136和程序數(shù)據(jù)137。這里對(duì)操作系統(tǒng)144、應(yīng)用程序145、 其他程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號(hào),以說(shuō)明至少它們是不同的拷貝。
用戶(hù)可以通過(guò)輸入設(shè)備如鍵盤(pán)162和定位設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸板) 向計(jì)算機(jī)20輸入命令和信息。其他輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、 游戲墊、圓盤(pán)式衛(wèi)星天線(xiàn)、掃描儀等等。這些和其他輸入設(shè)備往往通過(guò)被耦合到系 統(tǒng)總線(xiàn)的用戶(hù)輸入接口 160連接到處理單元120,但也可以通過(guò)其他接口和總線(xiàn)結(jié) 構(gòu)如并行端口、游戲端口或通用串行總線(xiàn)(USB)連接。監(jiān)視器191或其他類(lèi)型的 顯示設(shè)備也通過(guò)接口如視頻接口 190連接到系統(tǒng)總線(xiàn)121。除監(jiān)視器外,計(jì)算機(jī)還 可包括其它外圍輸出設(shè)備如揚(yáng)聲器197和打印機(jī)196,它們可通過(guò)輸出外圍接口 190 連接。
計(jì)算機(jī)110可以運(yùn)行在使用到一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)如遠(yuǎn)程計(jì)算機(jī)180的邏 輯連接的網(wǎng)絡(luò)化環(huán)境中。雖然在圖1中僅僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備181,但是遠(yuǎn)程 計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他公共 網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括上文所述與計(jì)算機(jī)IIO相關(guān)的許多或所有元件。圖1所描述 的邏輯連接包括局域網(wǎng)(LAN) 171以及廣域網(wǎng)(WAN) 173,但是也可以包括其 他網(wǎng)絡(luò)。這類(lèi)網(wǎng)絡(luò)環(huán)境常見(jiàn)于辦公室、企業(yè)范圍內(nèi)的計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng) 和因特網(wǎng)。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境時(shí),計(jì)算機(jī)IIO通過(guò)網(wǎng)絡(luò)接口或適配器170連接到局域 網(wǎng)171。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中,計(jì)算機(jī)IIO通常包括調(diào)制解調(diào)器172或用于在 WAN 173 (例如,因特網(wǎng))上建立通信的其他裝置??梢?xún)?nèi)置或者外置的調(diào)制解 調(diào)器172可以通過(guò)用戶(hù)輸入接口 160或其他適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線(xiàn)121。在網(wǎng) 絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)IIO描述的程序模塊或它們的部分可以被存儲(chǔ)在遠(yuǎn)程存 儲(chǔ)器存儲(chǔ)設(shè)備中。作為例子而非限制,圖1將遠(yuǎn)程應(yīng)用程序185例示為駐留在存儲(chǔ) 設(shè)備181上。應(yīng)該明白,所示網(wǎng)絡(luò)連接是示例性的,并且可以使用在計(jì)算機(jī)之間建 立通信鏈路的其他方式。
圖2是一個(gè)可以被用來(lái)實(shí)現(xiàn)在此所描述的諸示例方法的示例系統(tǒng)200的方框 圖。系統(tǒng)200可以促進(jìn)通過(guò)通信網(wǎng)絡(luò)202的對(duì)等無(wú)服務(wù)器協(xié)作和/或通信,而且可 以使用計(jì)算系統(tǒng)如圖1的計(jì)算系統(tǒng)100來(lái)實(shí)現(xiàn)。通信網(wǎng)絡(luò)202可以包含但不限于, 例如,局域網(wǎng)和/或廣域網(wǎng)、或支持套接字通信或命名管道的通信介質(zhì)。
系統(tǒng)200可以包含監(jiān)視通信網(wǎng)絡(luò)202上其他實(shí)體的出現(xiàn)的出現(xiàn)系統(tǒng)204。實(shí)體 可以是,例如,特定的人、設(shè)備(例如,打印機(jī)、復(fù)印機(jī)、計(jì)算機(jī)、掃描儀等等)、 組織中的職位(例如,"經(jīng)理"、"顧客服務(wù)代表"等等)、組織等。在網(wǎng)絡(luò)上出 現(xiàn)通??梢允侵敢粋€(gè)實(shí)體關(guān)于與其他實(shí)體經(jīng)由網(wǎng)絡(luò)進(jìn)行通信的意愿或能力的當(dāng)前
狀態(tài),也可以是指關(guān)于該實(shí)體的額外的或可選的信息,例如該實(shí)體的當(dāng)前活動(dòng)。在 網(wǎng)絡(luò)上出現(xiàn)可以由出現(xiàn)信息表示。出現(xiàn)信息的例子可以包含但不限于下列指示中的 一個(gè)或多個(gè)實(shí)體"在線(xiàn)"的指示、實(shí)體"外出就餐"的指示、實(shí)體"離開(kāi)"的指 示、實(shí)體將會(huì)"很快回來(lái)"的指示、實(shí)體"空閑"的指示、實(shí)體"忙碌"的指示、 實(shí)體"在打電話(huà)"的指示、實(shí)體"在看電影"的指示、實(shí)體"在玩Halo⑧"的指示、 實(shí)體"在幫助另一客戶(hù)"的指示、設(shè)備狀態(tài)(例如,狀態(tài)為"忙碌"、"空閑"等 的打印機(jī))的指示等等。出現(xiàn)信息可以包括一個(gè)或多個(gè)枚舉字符串和/或有意義的 出現(xiàn)(例如,由用戶(hù)實(shí)體創(chuàng)建的定制字符串)。例如,用戶(hù)實(shí)體可以將定制出現(xiàn)狀
態(tài)定義為"我不在辦公室,明天就回來(lái)"。出現(xiàn)系統(tǒng)204所獲得的出現(xiàn)信息可以被 存儲(chǔ)在出現(xiàn)存儲(chǔ)器208中。
出現(xiàn)系統(tǒng)204可以幫助用戶(hù)實(shí)體監(jiān)視(或"訂閱")其他實(shí)體的出現(xiàn)信息。 這可以包括出現(xiàn)系統(tǒng)204 (例如)周期性地輪詢(xún)其他計(jì)算系統(tǒng)。附加地或作為其他 選擇對(duì)應(yīng)于其他用戶(hù)實(shí)體的其他計(jì)算系統(tǒng)可以將諸事件指示傳送到系統(tǒng)200,其中 系統(tǒng)200向出現(xiàn)系統(tǒng)204通知這些事件,例如出現(xiàn)狀態(tài)的改變。例如,當(dāng)用戶(hù)的出 現(xiàn)從"離線(xiàn)"變成"在線(xiàn)"時(shí)會(huì)發(fā)生一個(gè)事件,并且出現(xiàn)系統(tǒng)204可以探測(cè)到這一 事件。然后,出現(xiàn)系統(tǒng)204可以向其他應(yīng)用程序或軟件模塊(例如,應(yīng)用程序280) 通知該事件已發(fā)生。
出現(xiàn)系統(tǒng)204也可以監(jiān)視網(wǎng)絡(luò)202上所公布的其他實(shí)體的性能。例如,實(shí)體 的性能可以包含靜態(tài)性能,如實(shí)體的計(jì)算系統(tǒng)是否被配置成執(zhí)行特定軟件應(yīng)用程 序、實(shí)體的計(jì)算系統(tǒng)是否擁有特定的硬件設(shè)備等等。例如,實(shí)體的性能也可以包含 動(dòng)態(tài)性能,如實(shí)體關(guān)于當(dāng)前正在該實(shí)體的計(jì)算系統(tǒng)上執(zhí)行的游戲軟件應(yīng)用程序的實(shí) 時(shí)性能等等。網(wǎng)絡(luò)上的實(shí)體公布性能是指到允許其他實(shí)體能夠通過(guò)網(wǎng)絡(luò)202監(jiān)視性 能。出現(xiàn)系統(tǒng)204所獲得的性能信息可以被存儲(chǔ)在性能存儲(chǔ)器212中。
出現(xiàn)系統(tǒng)204也可以監(jiān)視網(wǎng)絡(luò)202上所公布的其他實(shí)體對(duì)象。實(shí)體對(duì)象可以 包含,例如,數(shù)據(jù)對(duì)象如文件、結(jié)構(gòu)、圖片、聲音以及如元數(shù)據(jù)、名稱(chēng)-數(shù)值對(duì)等 等這樣的描述。網(wǎng)絡(luò)上的實(shí)體公布對(duì)象是指允許其他實(shí)體能夠通過(guò)網(wǎng)絡(luò)202監(jiān)視這 些對(duì)象。僅僅作為例子,公布一個(gè)對(duì)象可以允許實(shí)體向其他實(shí)體提供針對(duì)正在被該 實(shí)體的計(jì)算系統(tǒng)執(zhí)行的應(yīng)用程序的信息和/或?qū)崟r(shí)信息。例如對(duì)一個(gè)游戲應(yīng)用程序 來(lái)說(shuō),所公布對(duì)象可以包含關(guān)于游戲者當(dāng)前分?jǐn)?shù)、游戲者當(dāng)前擁有的武器等等的信 息。出現(xiàn)系統(tǒng)204所獲得的對(duì)象信息可以被存儲(chǔ)在對(duì)象存儲(chǔ)器216中。
出現(xiàn)系統(tǒng)204也可以向網(wǎng)絡(luò)202上的其他實(shí)體提供(或"公布")與用戶(hù)實(shí)
體(即是說(shuō),與系統(tǒng)200關(guān)聯(lián)的實(shí)體)關(guān)聯(lián)的出現(xiàn)信息。與該用戶(hù)實(shí)體關(guān)聯(lián)的出現(xiàn)
信息可以被存儲(chǔ)在出現(xiàn)存儲(chǔ)器208或其他存儲(chǔ)器中。同樣地,出現(xiàn)系統(tǒng)204也可以 向網(wǎng)絡(luò)202上的其他實(shí)體提供(或"公布")關(guān)于該用戶(hù)實(shí)體性能的信息。與該用 戶(hù)實(shí)體關(guān)聯(lián)的性能信息可以被存儲(chǔ)在性能存儲(chǔ)器208中。此外,出現(xiàn)系統(tǒng)204也可 以向網(wǎng)絡(luò)202上的其他實(shí)體提供(或"公布")關(guān)于該用戶(hù)實(shí)體的對(duì)象的信息。與 該用戶(hù)實(shí)體關(guān)聯(lián)的對(duì)象信息可以被存儲(chǔ)在對(duì)象存儲(chǔ)器216或某個(gè)其他存儲(chǔ)器中。同 樣地,出現(xiàn)系統(tǒng)204可以促進(jìn)用戶(hù)實(shí)體監(jiān)視(或"訂閱")出現(xiàn)信息的能力。因此, 當(dāng)出現(xiàn)信息被用戶(hù)實(shí)體監(jiān)視時(shí),后續(xù)改變可以引發(fā)導(dǎo)致通知該用戶(hù)實(shí)體的諸事件。 例如,如果所監(jiān)視的出現(xiàn)信息從"離開(kāi)"變?yōu)?在玩Halo⑧", 一個(gè)事件可以由此 觸發(fā)向用戶(hù)實(shí)體通知改變。
出現(xiàn)系統(tǒng)204可以和存儲(chǔ)關(guān)于其他實(shí)體的信息的聯(lián)系人存儲(chǔ)器240連接。聯(lián) 系人存儲(chǔ)器240可以存儲(chǔ)實(shí)體的信息,如一個(gè)或多個(gè)安全標(biāo)識(shí)符、人可讀的別名、 這一實(shí)體的出現(xiàn)信息是否被監(jiān)視的指示器、以及是否允許這一實(shí)體獲得關(guān)于該用戶(hù) 實(shí)體的出現(xiàn)信息的指示器。聯(lián)系人存儲(chǔ)器240所表示的一個(gè)實(shí)體可以被稱(chēng)為一個(gè)聯(lián) 系人。
每個(gè)用戶(hù)實(shí)體可以有一個(gè)或多個(gè)與其關(guān)聯(lián)的通信端點(diǎn)。通常,與實(shí)體關(guān)聯(lián)的 不同通信端點(diǎn)可以包含與實(shí)體關(guān)聯(lián)的不同通信終端點(diǎn),如不同的計(jì)算系統(tǒng)。例如, 特定實(shí)體的端點(diǎn)可以包含辦公室的桌面電腦、家里的桌面電腦、個(gè)人數(shù)字助理 (PDA)等等。可選地,與用戶(hù)實(shí)體關(guān)聯(lián)的不同通信端點(diǎn)也可以包含正由單個(gè)計(jì)算 系統(tǒng)執(zhí)行的不同的軟件應(yīng)用程序。僅舉幾個(gè)例子,端點(diǎn)信息可以包括對(duì)等名稱(chēng)、機(jī) 器名稱(chēng)或設(shè)備類(lèi)型。
出現(xiàn)系統(tǒng)204也可以和被耦合到通信網(wǎng)絡(luò)202的通信系統(tǒng)260連接。通信模 塊260可以在系統(tǒng)200和與其他實(shí)體關(guān)聯(lián)的其他對(duì)等計(jì)算系統(tǒng)之間建立連接。建立 連接可以包含,例如,判定與實(shí)體關(guān)聯(lián)的端點(diǎn)、解析端點(diǎn)地址、認(rèn)證通信、加密和 解密通信等等中的一項(xiàng)或多項(xiàng)。在一種實(shí)現(xiàn)中,通信系統(tǒng)260可以包括對(duì)等名稱(chēng)解 釋協(xié)議(PNRP)或類(lèi)似協(xié)議。PNRP可以解析一個(gè)聯(lián)系人的名稱(chēng)(例如,對(duì)等名 稱(chēng))以取得其IP地址而無(wú)須依賴(lài)通常被服務(wù)器計(jì)算機(jī)使用的域名系統(tǒng)(DNS)。 在另一種實(shí)現(xiàn)中,通信系統(tǒng)260和本身被耦合到聯(lián)系人存儲(chǔ)240的認(rèn)證系統(tǒng)270 連接。在嘗試與另一計(jì)算系統(tǒng)建立連接時(shí),通信系統(tǒng)260可以從該另一計(jì)算系統(tǒng)接 收與實(shí)體關(guān)聯(lián)的標(biāo)識(shí)符的指示D然后,認(rèn)證系統(tǒng)270可以檢査關(guān)于所呈現(xiàn)的帶有該 安全標(biāo)識(shí)符的實(shí)體的信息是否被存儲(chǔ)在聯(lián)系人存儲(chǔ)器240中。如果在聯(lián)系人存儲(chǔ)器240中沒(méi)有發(fā)現(xiàn)該標(biāo)識(shí)符,那么該連接被拒絕。
連接可以是受保護(hù)的。建立連接并在該連接上進(jìn)行通信可以包含以下的一項(xiàng)
或多項(xiàng)例如,使用安全信道、使用安全套接字協(xié)議層(SSL)技術(shù)、使用傳輸層
安全(TLS)技術(shù)、使用公/私密鑰對(duì)、使用認(rèn)證技術(shù)(例如,X.509證書(shū)、使用優(yōu) 良保密(PGP)程序的加密簽名等等)、使用對(duì)等名稱(chēng)解析協(xié)議(PNRP)、傳輸 控制協(xié)議(TCP)、網(wǎng)際協(xié)議(IP)、網(wǎng)際協(xié)議第六版(IPv6)等等。解析端點(diǎn)的 地址可以包含,例如,解析IP地址和端口的PNRP標(biāo)識(shí)符。
軟件應(yīng)用程序280或某些其他軟件模塊可以與出現(xiàn)系統(tǒng)204進(jìn)行通信以獲得 與通信網(wǎng)絡(luò)202上的其他用戶(hù)實(shí)體關(guān)聯(lián)的出現(xiàn)信息、性能信息和/或?qū)ο笮畔?。?如,出現(xiàn)系統(tǒng)204可以提供一組應(yīng)用程序編程接口(API),該組API允許軟件應(yīng)用 程序請(qǐng)求并接收關(guān)于與其他用戶(hù)實(shí)體關(guān)聯(lián)的出現(xiàn)、性能和/或?qū)ο蟮男畔?。出現(xiàn)系 統(tǒng)204可以從出現(xiàn)存儲(chǔ)器208、性能存儲(chǔ)器212和/或?qū)ο蟠鎯?chǔ)器216檢索所請(qǐng)求的 信息。附加地或作為其他選擇,出現(xiàn)系統(tǒng)204可以通過(guò)通信系統(tǒng)260和通信網(wǎng)絡(luò) 202從其他用戶(hù)實(shí)體獲得所請(qǐng)求的信息。 一般而言,"可用性"涉及出現(xiàn)信息、性 能和對(duì)象。用戶(hù)實(shí)體具有公布這些信息中的全部、 一些或沒(méi)有的能力。
邀請(qǐng)API282可以允許用戶(hù)實(shí)體所使用的應(yīng)用程序280邀請(qǐng)無(wú)服務(wù)器網(wǎng)絡(luò)的其 他聯(lián)系人或用戶(hù)實(shí)體參與協(xié)作活動(dòng)。邀請(qǐng)API 282可以使用出現(xiàn)系統(tǒng)204判定來(lái)自 聯(lián)系人存儲(chǔ)器240的諸聯(lián)系人。此外,出現(xiàn)系統(tǒng)204可以檢索位于性能存儲(chǔ)器204 中的性能信息212。如果聯(lián)系人存儲(chǔ)器240中的特定聯(lián)系人沒(méi)有關(guān)聯(lián)的性能信息, 邀請(qǐng)API 282,或者作為其他選擇,應(yīng)用程序280可以使用性能API 284來(lái)判定另 一用戶(hù)實(shí)體的端點(diǎn)的性能。性能可以是包括在多個(gè)端點(diǎn)上的應(yīng)用程序所支持的任何 活動(dòng)的協(xié)作活動(dòng)。例如,聯(lián)系人可以支持Halo⑧游戲活動(dòng),因?yàn)槁?lián)系人的端點(diǎn)安裝 有Halo⑧游戲應(yīng)用程序。邀請(qǐng)API可以允許聯(lián)系人所有者判定無(wú)服務(wù)器網(wǎng)絡(luò)上可以 支持Halo⑧游戲活動(dòng)的其他聯(lián)系人。
"我附近的人"(PNM) API 286可以允許用戶(hù)實(shí)體所使用的應(yīng)用程序280 判定附近的其他用戶(hù)實(shí)體、設(shè)備或端點(diǎn)。即是說(shuō),判定匹配特定鄰近性參數(shù)的聯(lián)系 人、伙伴或端點(diǎn)。鄰近性可以包括空間引用,如在特定會(huì)議室、建筑物或州中的諸 聯(lián)系人。鄰近性也可以包括網(wǎng)絡(luò)引用,如與特定網(wǎng)絡(luò)子網(wǎng)關(guān)聯(lián)的諸聯(lián)系人。此外, 鄰近性可以包括名稱(chēng)參考,例如,聯(lián)系人名稱(chēng)中具有詞語(yǔ)"建筑師"的那些聯(lián)系人。 然而,在最廣泛的意義上,PNM鄰近性可以意指子網(wǎng)的所有人。PNMAPI 286可 以存儲(chǔ)與匹配PNM高速緩存288中的特定鄰近性定義的諸聯(lián)系人有關(guān)的邏輯結(jié)構(gòu)。
圖3是依照權(quán)利要求
書(shū)的方法300的例示。該方法在方框302開(kāi)始,進(jìn)行下 去在方框304初始化諸PNM服務(wù)。在方框306判定用戶(hù)實(shí)體公布性能的授權(quán),如 果該授權(quán)不被允許,進(jìn)行下去到方框308。正如稍后將會(huì)討論的那樣,選擇不再公 布性能的用戶(hù)實(shí)體將會(huì)阻止其他用戶(hù)實(shí)體發(fā)現(xiàn)該用戶(hù)實(shí)體。然而,選擇不再公布的 用戶(hù)實(shí)體仍然可以判定其他用戶(hù)實(shí)體或端點(diǎn)是否是在附近。授權(quán)可以包括"允許" 或"拒絕"可用性信息的公布的總括保單。作為其他選擇,可以由用戶(hù)實(shí)體考慮公 布的各種等級(jí)而定制授權(quán)。例如,用戶(hù)實(shí)體可以授權(quán)公布特定可用性信息,但對(duì)于 特定對(duì)象(例如,文件、文件共享等等)則拒絕授權(quán)公布。用戶(hù)實(shí)體可以公布(除 了出現(xiàn)之外)性能、用戶(hù)標(biāo)題、隨機(jī)注釋等等。如果在方框306允許公布的授權(quán), 那么,在方框310,方法300可以判定PNM邏輯結(jié)構(gòu)是否可用。作為其他選擇, 在初始化(登入)諸PNM服務(wù)之后,方法可以首先判定用戶(hù)實(shí)體是否決定公布可 用性。PNM邏輯結(jié)構(gòu)可以包括友好名稱(chēng)、XML格式(或其他合適格式)的對(duì)等身 份信息、以及無(wú)服務(wù)器網(wǎng)絡(luò)端點(diǎn)(例如,IP地址和端口)。如果有必要,通信模 塊260的PNRP名稱(chēng)解析模塊可以獲得IP地址和端口 。友好名稱(chēng)可以是被設(shè)計(jì)為 表示用戶(hù)實(shí)體的人可讀的字符串。從用戶(hù)實(shí)體選擇公布的用戶(hù)身份的個(gè)人聯(lián)系人信 息或其任何部分獲得對(duì)等身份信息。無(wú)服務(wù)器網(wǎng)絡(luò)的其他用戶(hù)可以使用這一對(duì)等身 份信息來(lái)填充其聯(lián)系人存儲(chǔ)器。如果該邏輯結(jié)構(gòu)不可用,在方框312可以創(chuàng)建一個(gè) 邏輯結(jié)構(gòu),該方法可以調(diào)用一個(gè)函數(shù)來(lái)在該邏輯結(jié)構(gòu)中檢索該對(duì)等身份信息。該方 法可以進(jìn)一步調(diào)用函數(shù)來(lái)以各種格式(包括XML和vCard格式)"包裝"對(duì)等身 份信息。
在方框314,該邏輯結(jié)構(gòu)可以被編碼為通用發(fā)現(xiàn)協(xié)議消息、PNRP、動(dòng)態(tài)DNS, 或簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議(SSDP)消息。作為例示而非限制,SSDP將會(huì)被進(jìn)一步詳細(xì) 討論。SSDP是用于廣播和發(fā)現(xiàn)網(wǎng)絡(luò)上的消息的簡(jiǎn)單多播協(xié)議,通常被實(shí)現(xiàn)為通用 即插即用(UPNP)的一部分。當(dāng)網(wǎng)絡(luò)的端點(diǎn)具有很少或者甚至沒(méi)有靜態(tài)配置時(shí), SSDP尤其有用。此外,SSDP協(xié)議在發(fā)現(xiàn)過(guò)程中不需要任何服務(wù)器的幫助。SSDP 消息可以被分段,以適應(yīng)根據(jù)網(wǎng)絡(luò)最大傳輸單元(MTU)的分組大小要求。進(jìn)一 步,在方框316,諸SSDP消息可以與一個(gè)GUID關(guān)聯(lián)起來(lái),以使得其他應(yīng)用程序 可以把諸消息標(biāo)識(shí)位為類(lèi)型SSDP。在分段之后,在方框318, SSDP注冊(cè)函數(shù)可以 對(duì)網(wǎng)絡(luò)廣播諸消息。
圖4是一種依照權(quán)利要求
書(shū)的方法的示例。該方法可以從(圖3的)方框308
繼續(xù),并在方框402判定用戶(hù)實(shí)體是否希望發(fā)現(xiàn)"我附近的人"。正如前面所討論 的那樣,如果用戶(hù)實(shí)體還沒(méi)有登入諸PNM服務(wù)中(方框304),那么在方框402 該用戶(hù)實(shí)體可以做出這樣的選擇。否則,那么在方框404,該方法可以從PNM服 務(wù)登出,并撤銷(xiāo)注冊(cè)SSDP廣播服務(wù)。作為其他選擇,在方框406,該方法可以使 用一個(gè)通知函數(shù)來(lái)接收類(lèi)型SSDP的所有消息(例如消息GUID所標(biāo)識(shí)的消息)。 因而,當(dāng)無(wú)服務(wù)器網(wǎng)絡(luò)上的其他用戶(hù)廣播SSDP注冊(cè)函數(shù)時(shí),該方法通知用戶(hù)實(shí)體。 類(lèi)似地,在方框408,該方法可以使用一個(gè)SSDP搜索函數(shù),借助該SSDP搜索函 數(shù),搜索其他用戶(hù)實(shí)體的諸端點(diǎn)上的高速緩存以獲得所存儲(chǔ)的類(lèi)型SSDP的消息。 這樣的搜索可以使用先前所提到的鄰近性描述中的任何一種,該鄰近性描述包括但 不限于,子網(wǎng)上的所有人、子網(wǎng)上的人的特定子群以及子網(wǎng)的特定名稱(chēng)匹配者。此 外,通過(guò)定位在無(wú)線(xiàn)鄰近性方面靠近的那些人,鄰近性也可以包括地理指定。在方 框410, SSDP消息確認(rèn)包括檢查另一用戶(hù)實(shí)體存在的指示的消息類(lèi)型。例如,如 果另一用戶(hù)實(shí)體的高速緩存上的一個(gè)SSDP消息具有類(lèi)型"活動(dòng)",那么在方框 412,調(diào)用用戶(hù)實(shí)體的高速緩存288被更新,以包括將該另一用戶(hù)實(shí)體包括為"我 附近的人"。調(diào)用用戶(hù)實(shí)體的高速緩存也可以被保留。然而,該方法不限于"人", 而是可以包括在端點(diǎn)的任何實(shí)體。如果用戶(hù)實(shí)體的一個(gè)端點(diǎn)以受控方式離開(kāi)該無(wú)服 務(wù)器網(wǎng)絡(luò),那么該端點(diǎn)廣播一個(gè)類(lèi)型"再見(jiàn)"的SSDP消息。于是,(也分別在方 框410和412),無(wú)服務(wù)器網(wǎng)絡(luò)上的剩余端點(diǎn)將會(huì)識(shí)別該SSDP消息,核對(duì)它具有 類(lèi)型"再見(jiàn)",并通過(guò)刪除該端點(diǎn)來(lái)更新高速緩存。然而有時(shí),端點(diǎn)沒(méi)有機(jī)會(huì)廣播 類(lèi)型"再見(jiàn)"的SSDP消息就突然離開(kāi)網(wǎng)絡(luò)。這樣,如果該用戶(hù)實(shí)體的高速緩存包 含"活動(dòng)"端點(diǎn)的一個(gè)SSDP消息,但SSDP搜索函數(shù)無(wú)法找到該端點(diǎn),那么在方 框412,該調(diào)用用戶(hù)的高速緩存被更新以刪除該端點(diǎn)。在用戶(hù)/端點(diǎn)的高速緩存被更 新之后,在方框414,該方法可以標(biāo)記一個(gè)改變事件以向用戶(hù)通知新端點(diǎn)或所刪除 的端點(diǎn)。
盡管上文闡明了許多不同的實(shí)施例的詳細(xì)描述,但應(yīng)該理解,本專(zhuān)利的范圍 由在本專(zhuān)利開(kāi)頭闡明的權(quán)利要求
書(shū)的文字定義。該詳細(xì)描述只應(yīng)被理解為示例性 的,不會(huì)描述所有可能的實(shí)施例,因?yàn)槊枋鏊锌赡艿膶?shí)施例是即使不是不可能的 也是不現(xiàn)實(shí)的。使用當(dāng)前的技術(shù)或在本專(zhuān)利申請(qǐng)日之后發(fā)展的技術(shù),可以實(shí)現(xiàn)許多 替代實(shí)施例,這仍然會(huì)落在本權(quán)利要求
書(shū)的范圍之內(nèi)。
因此,可以對(duì)此處所描述和例示的諸技術(shù)和結(jié)構(gòu)進(jìn)行許多修改和變動(dòng),而不 會(huì)偏離本權(quán)利要求
書(shū)的精神和范圍。因此,應(yīng)該理解,此處所描述的諸方法和裝置 只是示例性的,并不是對(duì)本權(quán)利要求
書(shū)的范圍的限制。
權(quán)利要求
1.一種出現(xiàn)公布的方法,包括授權(quán)在第一端點(diǎn)的出現(xiàn)公布;如果所述公布被授權(quán),裝配一出現(xiàn)數(shù)據(jù)結(jié)構(gòu);廣播來(lái)自所述第一端點(diǎn)的出現(xiàn)數(shù)據(jù)結(jié)構(gòu)。
2. 如權(quán)利要求
1所述的方法,其特征在于,所述出現(xiàn)數(shù)據(jù)結(jié)構(gòu)包含友好名稱(chēng)、 聯(lián)系人信息和端點(diǎn)信息。
3. 如權(quán)利要求
2所述的方法,其特征在于,所述聯(lián)系人信息是XML格式或 vCard格式中的至少其中之一。
4. 如權(quán)利要求
2所述的方法,其特征在于,所述端點(diǎn)信息是從對(duì)等名稱(chēng)解析 協(xié)議獲得。
5. 如權(quán)利要求
l所述的方法,其特征在于,所述出現(xiàn)數(shù)據(jù)結(jié)構(gòu)被編碼為通用 發(fā)現(xiàn)協(xié)議消息或簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議消息中的至少其中之一。
6. 如權(quán)利要求
5所述的方法,其特征在于,進(jìn)一步包括將全局唯一標(biāo)識(shí)符與 所述諸發(fā)現(xiàn)協(xié)議消息關(guān)聯(lián)起來(lái)。
7. 如權(quán)利要求
l所述的方法,其特征在于,由一用戶(hù)實(shí)體授權(quán)出現(xiàn)公布。
8. 如權(quán)利要求
7所述的方法,其特征在于,所述用戶(hù)實(shí)體設(shè)置授權(quán)全部出現(xiàn)、 一些出現(xiàn)或沒(méi)有出現(xiàn)的公布的缺省參數(shù)中的至少其中之一。
9. 一種發(fā)現(xiàn)用戶(hù)實(shí)體的方法,包括 在第一端點(diǎn)注冊(cè)第一用戶(hù)實(shí)體; 接收標(biāo)識(shí)第二用戶(hù)實(shí)體的消息; 確認(rèn)所述接收到的消息; 把所述確認(rèn)結(jié)果存儲(chǔ)到發(fā)現(xiàn)高速緩存中。
10. 如權(quán)利要求
9所述的方法,其特征在于,所述注冊(cè)包括公布簡(jiǎn)單服務(wù)發(fā) 現(xiàn)協(xié)議消息。
11. 如權(quán)利要求
9所述的方法,其特征在于,進(jìn)一步包括枚舉所述發(fā)現(xiàn)高速 緩存的結(jié)果。
12. 如權(quán)利要求
9所述的方法,其特征在于,進(jìn)一步包括查詢(xún)第二用戶(hù)實(shí)體。
13. 如權(quán)利要求
9所述的方法,其特征在于,所接收到的消息為XML格式。
14. 如權(quán)利要求
9所述的方法,其特征在于,所接收到的消息包括出現(xiàn)信息。
15. 如權(quán)利要求
14所述的方法,其特征在于,所述出現(xiàn)信息包括所述第二用戶(hù)實(shí)體的第二端點(diǎn)的狀態(tài)、所述第二用戶(hù)實(shí)體的聯(lián)系人身份信息以及所述第二用戶(hù) 實(shí)體的聯(lián)系人元數(shù)據(jù)。
16. 如權(quán)利要求
9所述的方法,其特征在于,所述確認(rèn)包括標(biāo)識(shí)指示可用用 戶(hù)實(shí)體或不可用用戶(hù)實(shí)體中的至少其中之一的消息D
17. 如權(quán)利要求
16所述的方法,其特征在于,進(jìn)一步包括把所述可用用戶(hù)實(shí) 體添加到所述發(fā)現(xiàn)高速緩存,并從所述發(fā)現(xiàn)高速緩存刪除不可用用戶(hù)實(shí)體。
18. 如權(quán)利要求
9所述的方法,其特征在于,所述消息被編碼為簡(jiǎn)單服務(wù)發(fā) 現(xiàn)協(xié)議消息。
19. 如權(quán)利要求
18所述的方法,其特征在于,進(jìn)一步包括把全局唯一標(biāo)識(shí)符 與所述簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議消息關(guān)聯(lián)起來(lái)。
20. 如權(quán)利要求
9所述的方法,其特征在于,所述注冊(cè)包括允許所述第一用 戶(hù)實(shí)體參與消息接收。
專(zhuān)利摘要
描述用于促進(jìn)出現(xiàn)公布的諸方法,其中可以包括授權(quán)在第一端點(diǎn)的出現(xiàn)公布,如果該公布被授權(quán),則裝配一個(gè)出現(xiàn)數(shù)據(jù)結(jié)構(gòu),并從第一端點(diǎn)廣播該出現(xiàn)數(shù)據(jù)結(jié)構(gòu)。該方法也可以包括出現(xiàn)結(jié)構(gòu),該出現(xiàn)結(jié)構(gòu)包括一個(gè)友好名稱(chēng)、聯(lián)系人信息和端點(diǎn)信息。該方法進(jìn)一步包括XML格式、vCard格式中的至少其中一種格式的聯(lián)系人信息,以及從對(duì)等名稱(chēng)解析協(xié)議獲得的端點(diǎn)信息。該方法可以額外包括出現(xiàn)數(shù)據(jù)結(jié)構(gòu),其中該出現(xiàn)數(shù)據(jù)結(jié)構(gòu)被編碼為通用發(fā)現(xiàn)協(xié)議消息、簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議消息、以及將全局唯一標(biāo)識(shí)符和發(fā)現(xiàn)協(xié)議消息關(guān)聯(lián)起來(lái)的至少其中之一。該方法可以包括一個(gè)授權(quán)出現(xiàn)公布的用戶(hù)實(shí)體,該用戶(hù)實(shí)體授權(quán)設(shè)置全部出現(xiàn)、一些出現(xiàn)或沒(méi)有出現(xiàn)的公布的缺省參數(shù)中的至少其中之一。
文檔編號(hào)GKCN101371599SQ200680013430
公開(kāi)日2009年2月18日 申請(qǐng)日期2006年4月20日
發(fā)明者A·R·克拉森, A·安納魯?shù)? D·G·泰勒, E·J·弗蘭納瑞, K·R·陶, R·古普塔, R·拉奧, T·維斯伯格, U·W·帕克斯三世 申請(qǐng)人:微軟公司導(dǎo)出引文BiBTeX, EndNote, RefMan