欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

管理豐富的在場(chǎng)集合的制作方法

文檔序號(hào):6454444閱讀:155來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):管理豐富的在場(chǎng)集合的制作方法
管理豐富的在場(chǎng)集合
背景
在場(chǎng)服務(wù)器(presence server)越來(lái)越多地用于提供諸如用戶(hù)的可用狀態(tài) 等在場(chǎng)信息。用戶(hù)的在場(chǎng)信息標(biāo)識(shí)該用戶(hù)的當(dāng)前"在場(chǎng)狀態(tài)"。用戶(hù)可使其在場(chǎng) 信息可用,這樣其他用戶(hù)可以決定如何最好地與他們通信。例如,在場(chǎng)信息可 以指示用戶(hù)是登錄("在線(xiàn)")到實(shí)時(shí)消息通信服務(wù)器還是注銷(xiāo)("離線(xiàn)")。在 場(chǎng)信息也可提供有關(guān)用戶(hù)有空與否的更詳細(xì)信息。例如,即使用戶(hù)在線(xiàn),用戶(hù) 也可能在會(huì)議中離開(kāi)其計(jì)算機(jī)。在這種情形下,在場(chǎng)狀態(tài)會(huì)指示"在線(xiàn)"且"在 會(huì)議中"。
在即時(shí)消息通信上下文中,發(fā)布用戶(hù)("發(fā)布者")可向在場(chǎng)服務(wù)提供其在 場(chǎng)信息,在場(chǎng)服務(wù)接著將在場(chǎng)信息提供給訂閱用戶(hù)("訂閱者")。因此,在場(chǎng) 服務(wù)可使用訂閱者/發(fā)布者模型來(lái)提供關(guān)于在場(chǎng)服務(wù)的發(fā)布和訂閱用戶(hù)的在場(chǎng) 信息。只要用戶(hù)的在場(chǎng)信息發(fā)生改變,就通過(guò)該用戶(hù)的計(jì)算機(jī)系統(tǒng)向在場(chǎng)服務(wù) 通知該改變,并進(jìn)而向訂閱用戶(hù)通知該改變。訂閱用戶(hù)然后可以基于預(yù)期參與 者的在場(chǎng)信息來(lái)決定如何最好地聯(lián)系發(fā)布用戶(hù)。例如,如果在場(chǎng)信息指示發(fā)布 用戶(hù)當(dāng)前處于會(huì)議電話(huà)呼叫中,那么訂閱用戶(hù)可決定向發(fā)布用戶(hù)發(fā)送即時(shí)消 息,而非進(jìn)行電話(huà)呼叫。然而如果訂閱用戶(hù)需要呼叫并與發(fā)布用戶(hù)講話(huà),那么 訂閱用戶(hù)可監(jiān)視發(fā)布用戶(hù)的在場(chǎng)信息,以便知道何時(shí)可以進(jìn)行呼叫。當(dāng)訂閱用 戶(hù)注意到發(fā)布用戶(hù)的在場(chǎng)信息指示電話(huà)會(huì)議己結(jié)束時(shí),訂閱用戶(hù)于是可以進(jìn)行 電話(huà)呼叫。
特定的用戶(hù)也可從多個(gè)設(shè)備發(fā)布在場(chǎng)信息。例如,用戶(hù)可同時(shí)從膝上型計(jì) 算機(jī)、臺(tái)式計(jì)算機(jī)和手機(jī)登錄到在場(chǎng)服務(wù)。在場(chǎng)信息可指示用戶(hù)在每一設(shè)備上 的狀態(tài)。這例如對(duì)用戶(hù)正帶著手機(jī)前往會(huì)議并從其臺(tái)式計(jì)算機(jī)離開(kāi)尤其有用。 如果訂閱用戶(hù)想要聯(lián)系發(fā)布用戶(hù),則在場(chǎng)信息可指示對(duì)手機(jī)的呼叫可能是比用 戶(hù)臺(tái)式計(jì)算機(jī)處接收的即時(shí)消息更有效的聯(lián)系到用戶(hù)的方式。每一用戶(hù)設(shè)備也 訂閱該用戶(hù)的其它設(shè)備的在場(chǎng)信息,例如以允許該設(shè)備確定發(fā)布用戶(hù)當(dāng)前在哪 一設(shè)備處最活躍。由于即時(shí)消息通信系統(tǒng)和其它實(shí)時(shí)通信系統(tǒng)越來(lái)越受歡迎,在場(chǎng)服務(wù)需要 支持越來(lái)越多的用戶(hù)。此外,這些系統(tǒng)需要支持日益復(fù)雜的"在場(chǎng)信息"定義。 例如,在場(chǎng)信息可包括指定發(fā)布者在接下來(lái)數(shù)個(gè)月期間有空與否的日歷信息。 因此,在場(chǎng)服務(wù)器一般被開(kāi)發(fā)成以高效方式提供在場(chǎng)服務(wù)。不幸的是,典型的 在場(chǎng)模型在更新在場(chǎng)信息時(shí)需要密集的計(jì)算。因此,當(dāng)添加了更多的發(fā)布者和 訂閱者時(shí),需要額外的在場(chǎng)服務(wù)器來(lái)執(zhí)行必需的計(jì)算。
早期的在場(chǎng)系統(tǒng)通過(guò)將所有的在場(chǎng)信息置于單個(gè)XML文檔中來(lái)處理在場(chǎng)
信息的發(fā)布。當(dāng)用戶(hù)的在場(chǎng)信息的一部分改變時(shí),發(fā)布者必須指向文檔中的一
行,并用新的在場(chǎng)信息來(lái)替換它,或指向XML子樹(shù)內(nèi)的節(jié)點(diǎn)并用另一 XML 子樹(shù)替換它。這種更新要求在場(chǎng)服務(wù)器執(zhí)行計(jì)算上昂貴的XML解析。隨著用 戶(hù)和在場(chǎng)更新的數(shù)目的增加,XML解析對(duì)在場(chǎng)服務(wù)器的負(fù)擔(dān)可能變得過(guò)大。 這種發(fā)布在場(chǎng)信息的模型也不允許訂閱者僅訂閱在場(chǎng)文檔的一部分。此外,文 檔的各個(gè)部分未被版本化,版本化使得訂閱者或在場(chǎng)服務(wù)器能夠容易地告知文 檔的哪些部分近來(lái)被改變。該模型也不允許向不同的訂閱者展示在場(chǎng)文檔的不 同版本,或?qū)ξ臋n的各個(gè)部分指定不同的授權(quán)信息。
在相關(guān)申請(qǐng),2005年7月26日提交的題為"ORGANIZING PRESENCE INFORMATION INTO COLLECTIONS OF PUBLICATIONS (將在場(chǎng)信息組織 成發(fā)布物集合)"的美國(guó)專(zhuān)利申請(qǐng)第11/190,503號(hào)(代理編號(hào)418268225US) 中描述了計(jì)算上較不昂貴的更高效的在場(chǎng)系統(tǒng),該申請(qǐng)通過(guò)引用其整體被包含 在此。該相關(guān)申請(qǐng)描述用于基于發(fā)布物集合來(lái)管理在場(chǎng)信息的方法和系統(tǒng)。在 場(chǎng)集合系統(tǒng)為發(fā)布者創(chuàng)建發(fā)布物集合。發(fā)布物包括類(lèi)型和值,且可伴有諸如發(fā) 布物何時(shí)期滿(mǎn)等屬性。例如,類(lèi)型為"狀態(tài)"而值為"在線(xiàn)"的發(fā)布物可向訂閱用 戶(hù)指示發(fā)布用戶(hù)當(dāng)前在線(xiàn)。發(fā)布者可定義要對(duì)某些訂閱者可用的一個(gè)發(fā)布物, 以及要對(duì)其他訂閱者可用的另一發(fā)布物集合。例如, 一個(gè)集合可對(duì)公眾可見(jiàn), 而另一個(gè)集合可僅對(duì)發(fā)布用戶(hù)的同事可見(jiàn)。每一集合包含被允許訂閱該集合內(nèi) 的信息的用戶(hù)的列表。該在場(chǎng)集合系統(tǒng)可允許發(fā)布者更新集合內(nèi)的各個(gè)發(fā)布 物。當(dāng)接收更新時(shí),該在場(chǎng)服務(wù)器可快速更新在場(chǎng)信息,而無(wú)需依賴(lài)于計(jì)算上 昂貴的XML文檔解析。每一發(fā)布物集合也可包含信息的類(lèi)目。類(lèi)目是可橫跨 多個(gè)集合的一種發(fā)布物。例如,類(lèi)目"狀態(tài)"可具有在對(duì)公眾可用的集合中的值為"不可用"的發(fā)布物,以及在對(duì)同事可用的集合中的值為"正在與John的會(huì)議 中"的發(fā)布物。發(fā)布物也可指定情況標(biāo)識(shí)符。情況標(biāo)識(shí)符區(qū)分同一集合內(nèi)的相 似信息。例如,用戶(hù)可具有情況為"膝上型"的發(fā)布物"狀態(tài)",其指示用戶(hù)在其 膝上型計(jì)算機(jī)處的狀態(tài);以及情況為"手機(jī)"的另一發(fā)布物"狀態(tài)",其指示用戶(hù) 在手機(jī)處的狀態(tài)。
盡管該在場(chǎng)集合系統(tǒng)是對(duì)現(xiàn)有技術(shù)的改進(jìn),但它可能對(duì)網(wǎng)絡(luò)資源和在場(chǎng)服
務(wù)器施加了較高的負(fù)擔(dān)。例如,向在場(chǎng)服務(wù)器發(fā)送對(duì)眾多集合內(nèi)的眾多發(fā)布物
情況的單獨(dú)改變的發(fā)布用戶(hù)導(dǎo)致對(duì)在場(chǎng)服務(wù)器的大量網(wǎng)絡(luò)通信量。類(lèi)似地,接
收每一更新的發(fā)布物的單獨(dú)通知的訂閱用戶(hù)造成了從在場(chǎng)服務(wù)器到訂閱用戶(hù)
所登錄的一個(gè)或多個(gè)設(shè)備的大量網(wǎng)絡(luò)通信量。 一般,在場(chǎng)發(fā)布物被設(shè)置為在固
定時(shí)間量?jī)?nèi)期滿(mǎn),且必須由發(fā)布用戶(hù)定期刷新以保持發(fā)布物被發(fā)布。刷新未改
變的眾多發(fā)布物的需求導(dǎo)致了對(duì)服務(wù)器不必要的負(fù)擔(dān)。最后,添加對(duì)不同訂閱 用戶(hù)具有不同程度的可用細(xì)節(jié)的集合創(chuàng)造了對(duì)更廣泛的訂閱者組展示在場(chǎng)信
息的機(jī)會(huì)。能夠訪問(wèn)集合的用戶(hù)的列表可能增長(zhǎng)得相當(dāng)大,且檢查特定訂閱者 應(yīng)訂閱哪一集合的檢查的計(jì)算成本隨著該列表的增長(zhǎng)而增加,導(dǎo)致對(duì)在場(chǎng)服務(wù) 器的額外負(fù)擔(dān)。 概述
提供了用于增加具有發(fā)布物集合的在場(chǎng)服務(wù)器的計(jì)算和網(wǎng)絡(luò)效率的方法 和系統(tǒng)。該在場(chǎng)系統(tǒng)使用允許在場(chǎng)服務(wù)器提供豐富的在場(chǎng)信息而無(wú)需昂貴處理 的若干技術(shù)。首先,該在場(chǎng)系統(tǒng)在單個(gè)在場(chǎng)更新請(qǐng)求中接受批量發(fā)布物更新。 類(lèi)似地,該在場(chǎng)系統(tǒng)接受批量訂閱請(qǐng)求。接著,該在場(chǎng)系統(tǒng)支持消除發(fā)布用戶(hù) 持續(xù)刷新還未改變的在場(chǎng)信息的需求的發(fā)布物更新請(qǐng)求的新期滿(mǎn)類(lèi)型。最后, 該在場(chǎng)系統(tǒng)接受包含能訪問(wèn)特定在場(chǎng)集合的成員資格組而非個(gè)別用戶(hù)列表的 訪問(wèn)列表。
提供本概述以便以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一 些概念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也 不旨在用于限制所要求保護(hù)的主題的范圍。
附圖簡(jiǎn)述


圖1是示出在一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的組件的框圖。圖2是示出一個(gè)實(shí)施例中用于發(fā)送發(fā)布物更新的SIP協(xié)議擴(kuò)展的協(xié)議列表。
圖3是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新發(fā)布物組件的處理的流程圖。 圖4是示出一個(gè)實(shí)施例中用于發(fā)送訂閱請(qǐng)求的SIP協(xié)議擴(kuò)展的協(xié)議列表。 圖5是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新訂閱組件的處理的流程圖。 圖6是示出一個(gè)實(shí)施例中用于更新集合成員資格的SIP協(xié)議擴(kuò)展的協(xié)議列表。
圖7是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新成員資格組件的處理的流程圖。 圖8是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的使發(fā)布物期滿(mǎn)組件的處理的流程圖。 詳細(xì)描述
提供了用于增加具有發(fā)布物集合的在場(chǎng)服務(wù)器的計(jì)算和網(wǎng)絡(luò)效率的方法 和系統(tǒng)。該在場(chǎng)系統(tǒng)使用允許該在場(chǎng)服務(wù)器提供豐富的在場(chǎng)信息而無(wú)需昂貴處 理的若干技術(shù)。首先,該在場(chǎng)系統(tǒng)在單個(gè)在場(chǎng)更新請(qǐng)求中接受批量發(fā)布物更新。 例如,發(fā)布用戶(hù)可通過(guò)向在場(chǎng)服務(wù)器發(fā)送單個(gè)更新請(qǐng)求以在多個(gè)集合中發(fā)布多 個(gè)信息類(lèi)目。類(lèi)似地,該在場(chǎng)系統(tǒng)接受批量訂閱請(qǐng)求。例如,訂閱用戶(hù)可通過(guò) 向在場(chǎng)服務(wù)器發(fā)送單個(gè)訂閱請(qǐng)求來(lái)請(qǐng)求訂閱多個(gè)集合中的多個(gè)信息類(lèi)目。接 著,該在場(chǎng)系統(tǒng)支持消除發(fā)布用戶(hù)持續(xù)刷新還未改變的在場(chǎng)信息的需求的發(fā)布 物更新請(qǐng)求的新期滿(mǎn)類(lèi)型。例如,發(fā)布用戶(hù)的家庭電話(huà)號(hào)碼很少改變,因此在 場(chǎng)系統(tǒng)允許用戶(hù)發(fā)布該信息一次并且除非該信息改變否則不更新它,而非每小 時(shí)重新發(fā)布該信息一次。最后,該在場(chǎng)系統(tǒng)接受包含能訪問(wèn)特定在場(chǎng)集合的成 員資格組而非個(gè)別用戶(hù)列表的訪問(wèn)列表。例如,發(fā)布用戶(hù)可通過(guò)對(duì)集合應(yīng)用成 員資格組而非個(gè)別地列出每一同事來(lái)對(duì)其所有同事授予訪問(wèn)權(quán)。
發(fā)布批處理
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受多個(gè)在場(chǎng)發(fā)布物。發(fā)布物可 橫跨多個(gè)類(lèi)目、情況和集合。例如,具有發(fā)布物類(lèi)目"狀態(tài)"和"位置"的發(fā)布用 戶(hù)可在公眾可訪問(wèn)的集合中發(fā)布狀態(tài)"不可用"和位置"微軟總部",并在同事可 訪問(wèn)的集合中發(fā)布狀態(tài)"在與John的會(huì)議中"以及位置"40號(hào)樓第5會(huì)議室"。 發(fā)布用戶(hù)也可在每一集合內(nèi)發(fā)布同一信息的多個(gè)情況。例如,類(lèi)目"電話(huà)號(hào)碼" 可具有用于家庭電話(huà)號(hào)碼的"家庭"情況,用于工作電話(huà)號(hào)碼的"工作"情況,以及用于手機(jī)電話(huà)號(hào)碼的"移動(dòng)"情況。用戶(hù)可在同一發(fā)布物請(qǐng)求中發(fā)布這些情況 中的每一個(gè)的值。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受對(duì)發(fā)布物取消發(fā)布和進(jìn)行發(fā) 布。例如,正在前往會(huì)議的發(fā)布用戶(hù)可能注銷(xiāo)其臺(tái)式計(jì)算機(jī),導(dǎo)致與臺(tái)式機(jī)有 關(guān)的發(fā)布物情況的取消發(fā)布,且用戶(hù)可能在其手機(jī)處變?yōu)榛钴S,導(dǎo)致需要為手 機(jī)添加新情況。在場(chǎng)系統(tǒng)可在單個(gè)更新請(qǐng)求中接受臺(tái)式機(jī)發(fā)布物的取消發(fā)布和 手機(jī)發(fā)布物的進(jìn)行發(fā)布兩者。例如,企業(yè)的網(wǎng)絡(luò)在場(chǎng)服務(wù)可在單個(gè)請(qǐng)求中接收 來(lái)自這兩個(gè)設(shè)備的發(fā)布物更新,并將更新轉(zhuǎn)發(fā)給全局在場(chǎng)服務(wù)。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)使用對(duì)會(huì)話(huà)發(fā)起協(xié)議(SIP)以及用于即時(shí)消
息通信和在場(chǎng)利用擴(kuò)展的SIP (SIMPLE)協(xié)議的擴(kuò)展來(lái)發(fā)送多個(gè)在場(chǎng)更新。 SIP是設(shè)備可使用來(lái)彼此發(fā)現(xiàn)并在設(shè)備之間建立、修改和終止會(huì)話(huà)的應(yīng)用層控 制協(xié)議,且是在"RFC 3261"中描述的因特網(wǎng)建議的標(biāo)準(zhǔn)。RFC 3261 (在因特網(wǎng) www.ietf.org/rfc/rfc3261.txt可用)通過(guò)引用其整體被包含在此。SIP標(biāo)準(zhǔn)允許 實(shí)現(xiàn)者添加擴(kuò)展來(lái)定義自定義行為。在場(chǎng)系統(tǒng)添加包含指定要進(jìn)行發(fā)布的在場(chǎng) 信息的〈publication〉(發(fā)布物)標(biāo)簽列表的標(biāo)簽〈publish〉(發(fā)布),并添加類(lèi) 似的包含指定要取消發(fā)布的在場(chǎng)信息的〈pubUcation〉標(biāo)簽的列表的〈unpublish〉 (取消發(fā)布)標(biāo)簽。每一發(fā)布物標(biāo)識(shí)其要應(yīng)用的類(lèi)目、情況和集合。在某些實(shí) 施例中,在場(chǎng)系統(tǒng)對(duì)〈publish〉標(biāo)簽內(nèi)的發(fā)布物接受期滿(mǎn)值零作為取消發(fā)布信息 的指示,而非具有單獨(dú)的〈unpublish〉標(biāo)簽。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受多個(gè)發(fā)布用戶(hù)的更新。例如, 當(dāng)使用SIP協(xié)議時(shí),每一發(fā)布物可包含發(fā)布物所應(yīng)用的用戶(hù)的URI。這允許服 務(wù)代表大量用戶(hù)發(fā)布信息。例如,Exchange電子郵件服務(wù)器可為使用該服務(wù)器 的所有用戶(hù)發(fā)布日歷信息。作為另一示例,手機(jī)運(yùn)營(yíng)商可將關(guān)于其手機(jī)顧客的 位置的信息向在場(chǎng)服務(wù)器發(fā)布。在這兩個(gè)示例中,之前可能生成過(guò)度網(wǎng)絡(luò)通信 量的信息可在向在場(chǎng)服務(wù)器的單個(gè)請(qǐng)求中為大量用戶(hù)發(fā)布。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受具有不同屬性的發(fā)布物請(qǐng) 求。發(fā)布用戶(hù)可為一個(gè)集合中的發(fā)布物指定不同于另一個(gè)集合中的發(fā)布物的期 滿(mǎn)策略。例如,在具有發(fā)布物"地址"的詳細(xì)信息的集合中,詳細(xì)狀態(tài)信息(例 如,"在會(huì)議室2中")可頻繁改變,且具有比另一集合的較不詳細(xì)的信息(例如,"在西雅圖")短的期限。作為另一示例,發(fā)布用戶(hù)可在同一請(qǐng)求中為一類(lèi) 發(fā)布物指定不同于另一類(lèi)的通知策略。例如,通知策略可指示某些類(lèi)目中的更 新不應(yīng)導(dǎo)致任何通知。 訂閱批處理
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受來(lái)自訂閱用戶(hù)對(duì)多個(gè)類(lèi)目的 訂閱。例如,對(duì)發(fā)布用戶(hù)的狀態(tài)和位置感興趣的訂閱用戶(hù)可組成在類(lèi)目列表中 包含"狀態(tài)"和"位置"的單個(gè)訂閱請(qǐng)求。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受來(lái)自訂閱用戶(hù)對(duì)多個(gè)發(fā)布用
戶(hù)的訂閱。例如,訂閱用戶(hù)可在單個(gè)請(qǐng)求中訂閱用戶(hù)A和用戶(hù)B的多個(gè)類(lèi)目。 當(dāng)訂閱用戶(hù)正訂閱其聯(lián)系人列表上的每一用戶(hù)的在場(chǎng)信息時(shí),這可導(dǎo)致大量的 資源節(jié)約,因?yàn)樗杏嗛喛稍趩蝹€(gè)請(qǐng)求中作出。類(lèi)似地,在場(chǎng)系統(tǒng)也可在單個(gè) 請(qǐng)求中接受不同用戶(hù)的不同類(lèi)目列表。例如,訂閱用戶(hù)可在單個(gè)請(qǐng)求中訂閱用 戶(hù)A的類(lèi)目1和2以及用戶(hù)B的類(lèi)目3和4。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)允許訂閱請(qǐng)求在不創(chuàng)建訂閱的情況下檢索在場(chǎng) 信息。例如,用戶(hù)可能想要請(qǐng)求發(fā)布用戶(hù)的在場(chǎng)信息一次而不在信息改變時(shí)接 收通知。用戶(hù)可發(fā)送訂閱請(qǐng)求以及該請(qǐng)求是對(duì)所指定類(lèi)目中在場(chǎng)信息的當(dāng)前值 的查詢(xún)而非創(chuàng)建訂閱的請(qǐng)求的指示。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在與新訂閱添加的同一請(qǐng)求中接受對(duì)現(xiàn)有訂閱 的移除。例如,如果訂閱用戶(hù)不再對(duì)知道發(fā)布用戶(hù)的位置感興趣,且可能想要 跟蹤發(fā)布用戶(hù)的當(dāng)前電話(huà)號(hào)碼,則訂閱用戶(hù)可組成在對(duì)其要取消訂閱的類(lèi)目列 表中包含類(lèi)目"狀態(tài)"且在對(duì)其要訂閱的類(lèi)目列表中包含類(lèi)目"電話(huà)號(hào)碼"的單個(gè) 請(qǐng)求。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受代表多個(gè)訂閱用戶(hù)的訂閱請(qǐng) 求。例如,企業(yè)可具有從企業(yè)內(nèi)的訂閱用戶(hù)接收個(gè)別訂閱請(qǐng)求并將請(qǐng)求作為單 個(gè)批量訂閱請(qǐng)求轉(zhuǎn)發(fā)給全局在場(chǎng)服務(wù)器的本地在場(chǎng)服務(wù)器。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)使用對(duì)SIP和SIMPLE協(xié)議的擴(kuò)展來(lái)發(fā)送多個(gè) 在場(chǎng)訂閱。在場(chǎng)系統(tǒng)添加包含指定要訂閱的類(lèi)目列表的〈categoryLis^ (類(lèi)目列 表)標(biāo)簽的標(biāo)簽〈batchSub〉(批量訂閱)?!碽atchSub〉標(biāo)簽也可指定〈adhocLisP (特設(shè)列表)標(biāo)簽,〈adhocLis^標(biāo)簽指定要訂閱其類(lèi)目的多個(gè)用戶(hù)的列表。在場(chǎng)系統(tǒng)也可添加也包含指定正在取消訂閱的用戶(hù)及其類(lèi)目列表的標(biāo)簽的標(biāo)簽
<batchUnsub> (批量取消訂閱)。系統(tǒng)也可允許具有空正文以指示應(yīng)取消訂閱 所有用戶(hù)和類(lèi)目的訂閱請(qǐng)求,而不要求訂閱用戶(hù)列出他們已經(jīng)訂閱的每個(gè)類(lèi)目 和用戶(hù)。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)通過(guò)要求對(duì)訂閱用戶(hù)感興趣的每一類(lèi)目的顯式 訂閱來(lái)過(guò)濾掉訂閱用戶(hù)不想要的在場(chǎng)信息。例如,發(fā)布用戶(hù)可發(fā)布數(shù)百個(gè)信息 類(lèi)目,但訂閱用戶(hù)可能僅想要知道發(fā)布用戶(hù)的當(dāng)前狀態(tài)。訂閱用戶(hù)可發(fā)送指示 對(duì)類(lèi)目"狀態(tài)"的訂閱的訂閱請(qǐng)求,且該用戶(hù)將僅接收到該類(lèi)目的通知。這防止 訂閱用戶(hù)由于在場(chǎng)服務(wù)器提供的信息量增長(zhǎng)而被用戶(hù)不感興趣的通知淹沒(méi)。
期滿(mǎn)模型
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受在發(fā)布設(shè)備從在場(chǎng)服務(wù)器中注銷(xiāo)時(shí)期滿(mǎn)的 發(fā)布物。在以往的系統(tǒng)中,發(fā)布用戶(hù)將信息發(fā)布固定的持續(xù)時(shí)間(例如, 一小 時(shí)),且在發(fā)布物接近期滿(mǎn)時(shí)必須刷新或重新發(fā)布信息以保持信息被發(fā)布。在 場(chǎng)系統(tǒng)定義新的一類(lèi)期滿(mǎn),它保持在場(chǎng)信息被發(fā)布,直到發(fā)布信息的設(shè)備下線(xiàn)。 這例如當(dāng)諸如手機(jī)等設(shè)備發(fā)布了僅當(dāng)手機(jī)在線(xiàn)時(shí)有效的信息的情況時(shí)使用。當(dāng) 手機(jī)關(guān)機(jī)或下線(xiàn)時(shí),在場(chǎng)服務(wù)器可檢測(cè)到并移除僅在設(shè)備在線(xiàn)時(shí)有關(guān)的信息。 當(dāng)設(shè)備在線(xiàn)時(shí),不再要求持續(xù)更新未改變的在場(chǎng)信息以保持其不會(huì)期滿(mǎn)。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受當(dāng)發(fā)布用戶(hù)不再在線(xiàn)時(shí)期滿(mǎn)的發(fā)布物。這 種期滿(mǎn)類(lèi)型對(duì)只要用戶(hù)在線(xiàn)就應(yīng)用于多個(gè)設(shè)備但當(dāng)用戶(hù)下線(xiàn)就不再相關(guān)的在 場(chǎng)信息有用。在場(chǎng)系統(tǒng)可在用戶(hù)不再通過(guò)任何設(shè)備登錄時(shí)檢測(cè)到用戶(hù)離線(xiàn)。在 場(chǎng)系統(tǒng)可在設(shè)備從在場(chǎng)服務(wù)器斷開(kāi)或當(dāng)設(shè)備向在場(chǎng)服務(wù)器告知用戶(hù)不再使用 該設(shè)備時(shí)檢測(cè)到該用戶(hù)不再登錄到該設(shè)備上。例如,公共因特網(wǎng)網(wǎng)吧可允許用 戶(hù)通過(guò)插入標(biāo)識(shí)用戶(hù)的USB道爾芯片來(lái)訪問(wèn)因特網(wǎng)。當(dāng)移除道爾芯片時(shí),因 特網(wǎng)網(wǎng)吧可通知諸如在場(chǎng)服務(wù)等用戶(hù)曾連接到的任何服務(wù),該用戶(hù)不再使用該 設(shè)備。當(dāng)用戶(hù)在線(xiàn)時(shí),該信息保持被發(fā)布,而無(wú)需來(lái)自用戶(hù)的刷新請(qǐng)求,從而 使在場(chǎng)服務(wù)器無(wú)需處理附加的更新請(qǐng)求。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受未期滿(mǎn)的發(fā)布物。這種稱(chēng)之為靜態(tài)的期滿(mǎn) 類(lèi)型對(duì)無(wú)論用戶(hù)是否在線(xiàn)都相關(guān)的信息有用,諸如用戶(hù)的電話(huà)號(hào)碼或地址。這 種期滿(mǎn)類(lèi)型也可由代表用戶(hù)發(fā)布信息的設(shè)備使用。例如,發(fā)布多個(gè)用戶(hù)的曰歷信息的Exchange服務(wù)器不需要在發(fā)布用戶(hù)的日歷信息之前知道用戶(hù)是否在線(xiàn), 且無(wú)論用戶(hù)的當(dāng)前登錄狀態(tài)是什么信息都應(yīng)不會(huì)期滿(mǎn)。從而,這樣的服務(wù)可通 過(guò)為發(fā)布物指定靜態(tài)期滿(mǎn)類(lèi)型來(lái)發(fā)布信息,且所發(fā)布的信息不會(huì)被取消發(fā)布, 除非在場(chǎng)服務(wù)器接收顯式的取消發(fā)布請(qǐng)求。 成員資格組
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受包含用戶(hù)組的集合成員資格列表。以往, 能夠訪問(wèn)特定在場(chǎng)信息集合的用戶(hù)被顯式列出,且默認(rèn)集合包含應(yīng)用于不在任 何列表上的用戶(hù)的信息。在場(chǎng)系統(tǒng)允許指定用戶(hù)組,這減少了對(duì)大型用戶(hù)組確 定用戶(hù)是否能夠訪問(wèn)一集合的計(jì)算難度。集合成員資格列表可在發(fā)布在場(chǎng)信息 時(shí)指定,或者可在單獨(dú)的請(qǐng)求中獨(dú)立指定。 一類(lèi)成員資格組"聯(lián)系人列表"指定 位于發(fā)布用戶(hù)的聯(lián)系人列表上的任何訂閱用戶(hù)可查看該組所分配到的集合中 的信息。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受包含同一企業(yè)內(nèi)的用戶(hù)的成員資格組作為 發(fā)布用戶(hù)。該成員資格組允許用戶(hù)集合成員資格列表中的單個(gè)條目指定同一企 業(yè)中的任何訂閱用戶(hù)應(yīng)能夠訪問(wèn)特定的集合。例如,對(duì)如微軟的大型公司,這 允許以包含成員資格列表中指定"同一企業(yè)"成員資格組的單個(gè)條目的同事的 附加細(xì)節(jié)來(lái)創(chuàng)建集合。在場(chǎng)服務(wù)器通過(guò)檢查用戶(hù)的企業(yè)是否與發(fā)布用戶(hù)相同, 諸如通過(guò)查詢(xún)外部域控制器來(lái)確定特定的訂閱用戶(hù)是否能訪問(wèn)該集合。這防止 在場(chǎng)服務(wù)器復(fù)制外部域控制器已經(jīng)包含的同一用戶(hù)列表。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受包含公共云內(nèi)的用戶(hù)的成員資格組。公共 云被定義為不同組織所提供的外部可用的用戶(hù)列表。公共云成員資格組當(dāng)在場(chǎng) 服務(wù)器的操作員之一與其他在場(chǎng)系統(tǒng)的操作員合作時(shí)有用。例如,使用微軟的 即時(shí)消息通信軟件的在場(chǎng)服務(wù)器可使用公共云成員資格組與AOL、 Yahoo和其 他即時(shí)消息平臺(tái)交互。通過(guò)在集合成員資格列表中指定公共云成員資格組,發(fā) 布用戶(hù)可定義其他在場(chǎng)系統(tǒng)的成員可訂閱并査看的在場(chǎng)發(fā)布物而無(wú)需在集合 成員資格列表中顯式列出每一成員。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)接受聯(lián)合成員資格組。聯(lián)合成員資格組是其中 多個(gè)實(shí)體定義應(yīng)對(duì)在場(chǎng)信息具有類(lèi)似訪問(wèn)權(quán)的用戶(hù)列表的成員資格組。例如, 諸如微軟和英特爾等兩個(gè)公司可使其雇員列表對(duì)聯(lián)合成員資格組可用。接收具有聯(lián)合成員資格組類(lèi)型的發(fā)布物的在場(chǎng)服務(wù)器査閱指定的聯(lián)合成員資格服務(wù) 器以確定哪些用戶(hù)是聯(lián)合組的成員。發(fā)布用戶(hù)然后可指定聯(lián)合組可訂閱的發(fā)布 物。
在一個(gè)實(shí)施例中,在場(chǎng)系統(tǒng)在單個(gè)請(qǐng)求中接受批量成員資格列表改變。例 如,發(fā)布用戶(hù)可在單個(gè)請(qǐng)求中向同一企業(yè)成員資格組內(nèi)的訂閱用戶(hù)授予對(duì)一個(gè) 集合的訪問(wèn)權(quán),并將公共云成員資格組中的用戶(hù)從集合中移除。發(fā)布用戶(hù)可在 單個(gè)請(qǐng)求中指定多個(gè)集合的成員資格列表以及對(duì)一特定集合的多個(gè)成員資格 組和一成員資格列表中的個(gè)別用戶(hù)。
通過(guò)組合集合模型與成員資格組,發(fā)布用戶(hù)可建立在場(chǎng)信息訪問(wèn)的分層結(jié) 構(gòu)。例如,可使用戶(hù)的日歷信息可為同一企業(yè)內(nèi)的同事詳細(xì)使用,而對(duì)一般公 眾可作為空閑/忙碌信息(僅指示用戶(hù)空閑的時(shí)間以及用戶(hù)忙碌的時(shí)間)使用。 這允許一般公眾的成員安排與發(fā)布用戶(hù)進(jìn)行的不與用戶(hù)的日程安排的其余部 分沖突的約會(huì),而不展示關(guān)于該用戶(hù)正在做什么的個(gè)人信息。另一方面,向同 事提供用戶(hù)正在做什么的更詳細(xì)視圖,例如使得同事能夠知道用戶(hù)在當(dāng)天稍晚 將會(huì)參加與同事的會(huì)議。
圖1是示出在一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的組件的框圖。在場(chǎng)系統(tǒng)110經(jīng)由諸
如因特網(wǎng)等通信鏈路140連接至實(shí)體設(shè)備120和130。實(shí)體設(shè)備對(duì)應(yīng)于可以是 發(fā)布者或訂閱者的實(shí)體。實(shí)體設(shè)備包括組成發(fā)布物更新組件122、組成訂閱請(qǐng) 求組件125以及發(fā)送請(qǐng)求組件127。組成發(fā)布物更新組件122組成對(duì)可能包括 批量個(gè)別發(fā)布物更新的所發(fā)布在場(chǎng)信息的更新請(qǐng)求。組成訂閱請(qǐng)求組件125組 成可能包括對(duì)多個(gè)發(fā)布用戶(hù)的多個(gè)在場(chǎng)信息類(lèi)目的批量訂閱的訂閱請(qǐng)求。發(fā)送 請(qǐng)求組件127向在場(chǎng)系統(tǒng)110發(fā)送發(fā)布物更新請(qǐng)求和訂閱請(qǐng)求。
在場(chǎng)系統(tǒng)包括接收發(fā)布物更新組件150、更新發(fā)布物組件155、接收成員 資格更新組件170、更新成員資格組件175、使發(fā)布物期滿(mǎn)組件180、檢測(cè)連接 狀態(tài)組件182、接收訂閱請(qǐng)求組件185、更新訂閱組件190、創(chuàng)建集合組件165、 發(fā)布物存儲(chǔ)組件160以及訂閱存儲(chǔ)組件195。發(fā)布物存儲(chǔ)160包含發(fā)布者的發(fā) 布物。發(fā)布物被組織到由創(chuàng)建集合組件165所創(chuàng)建的集合中。當(dāng)從發(fā)布者接收 更新一個(gè)或多個(gè)發(fā)布物的請(qǐng)求時(shí),調(diào)用接收發(fā)布物更新組件150。接收發(fā)布物 更新組件150調(diào)用更新發(fā)布物組件155來(lái)按請(qǐng)求所指定地添加、移除或更新發(fā)布物存儲(chǔ)160中的發(fā)布物。在從發(fā)布者接收對(duì)更新發(fā)布物存儲(chǔ)160中的一個(gè)或 多個(gè)集合的成員資格列表的請(qǐng)求時(shí),調(diào)用接收成員資格更新組件170。該請(qǐng)求 可作為獨(dú)立消息或可作為發(fā)布物更新請(qǐng)求的一部分接收。接收成員資格更新組 件170調(diào)用更新成員資格組件175來(lái)添加、移除和更新發(fā)布物存儲(chǔ)160中集合 上的成員資格。在從一實(shí)體接收訂閱發(fā)布者的一類(lèi)或多類(lèi)發(fā)布物的請(qǐng)求時(shí),調(diào) 用接收訂閱請(qǐng)求組件185。接收訂閱請(qǐng)求組件185調(diào)用更新訂閱組件190來(lái)將 使該實(shí)體訂閱所請(qǐng)求類(lèi)型的發(fā)布物。訂閱被存儲(chǔ)在訂閱存儲(chǔ)195中,訂閱存儲(chǔ) 可與發(fā)布物存儲(chǔ)160集成。在場(chǎng)系統(tǒng)周期性地調(diào)用使發(fā)布物期滿(mǎn)組件180以清 除發(fā)布物存儲(chǔ)160中的期滿(mǎn)發(fā)布物。盡管未在圖1中示出,但實(shí)體設(shè)備包括在 場(chǎng)系統(tǒng)的定義集合及其成員資格、發(fā)送發(fā)布物更新、發(fā)送訂閱請(qǐng)求以及接收對(duì) 發(fā)布物更新的通知的各組件。
在其上實(shí)現(xiàn)該系統(tǒng)的計(jì)算設(shè)備可包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(例 如,鍵盤(pán)和定點(diǎn)設(shè)備)、輸出設(shè)備(例如顯示設(shè)備)和存儲(chǔ)設(shè)備(例如,盤(pán)驅(qū) 動(dòng)器)。存儲(chǔ)器和存儲(chǔ)設(shè)備是包含實(shí)現(xiàn)該系統(tǒng)的指令的計(jì)算機(jī)可讀介質(zhì)。此外, 數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲(chǔ)或經(jīng)由諸如通信鏈路上的信號(hào)之類(lèi)的數(shù)據(jù)傳送 介質(zhì)發(fā)送。可以使用各種通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點(diǎn)對(duì)點(diǎn)撥 號(hào)連接、蜂窩電話(huà)網(wǎng)絡(luò)等。
該系統(tǒng)的實(shí)施例可以在各種操作環(huán)境中實(shí)現(xiàn),這些操作環(huán)境包括個(gè)人計(jì)算 機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系 統(tǒng)、可編程消費(fèi)者電子產(chǎn)品、數(shù)碼相機(jī)、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、 包括任何上述系統(tǒng)或設(shè)備中任一種的分布式計(jì)算環(huán)境等。計(jì)算機(jī)系統(tǒng)可以是手 機(jī)、個(gè)人數(shù)字助理、智能電話(huà)、個(gè)人計(jì)算機(jī)、可編程消費(fèi)者電子產(chǎn)品、數(shù)碼照 相機(jī)等。
該系統(tǒng)可以在由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的諸如程序模塊等計(jì) 算機(jī)可執(zhí)行指令的通用上下文中描述。 一般而言,程序模塊包括執(zhí)行特定的任 務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通 常,程序模塊的功能可以在各個(gè)實(shí)施例中按需進(jìn)行組合或分布。
圖2是示出一個(gè)實(shí)施例中用于發(fā)送發(fā)布物更新的SIP協(xié)議擴(kuò)展的協(xié)議列 表。該協(xié)議以SIP動(dòng)詞"PUBLISH (發(fā)布)"210開(kāi)始,它發(fā)出發(fā)布信息的請(qǐng)求的信號(hào)。該協(xié)議包含進(jìn)一步描述請(qǐng)求的頭部220,諸如其內(nèi)容類(lèi)型。該協(xié)議包 含"〈publish〉"部分230,它包含"〈publication〉"部分232。 "〈publications〉"部
分列出要發(fā)布的發(fā)布物235和240以及要取消發(fā)布的發(fā)布物250。發(fā)布物235 指定類(lèi)目(category)名為"status (狀態(tài))"、類(lèi)目的具體情況(instance)名為 "laptop (膝上型)"、容器(container,這是一類(lèi)集合)標(biāo)識(shí)為"1"、版本(version) 為"0"、發(fā)布用戶(hù)由SIP地址"sip:foo(^bar.com"標(biāo)識(shí)且發(fā)布物的期滿(mǎn)類(lèi)型(expire type)為"user (用戶(hù))"(這指示發(fā)布物在用戶(hù)下線(xiàn)時(shí)應(yīng)被移除)的在場(chǎng)信息。 盡管為清楚起見(jiàn)對(duì)一些字段顯示了文本,但也可使用數(shù)字。例如,"instance" 字段的值可包含被分配給設(shè)備的唯一標(biāo)識(shí)符而非文本"lapt叩"。另一發(fā)布物240 在對(duì)同一發(fā)布用戶(hù)的不同容器"2"中指定同樣的類(lèi)目"status",但不同的情況 "desktop (臺(tái)式機(jī))"。該協(xié)議還包含要從發(fā)布物存儲(chǔ)移除的發(fā)布物250,如在 本示例中由期滿(mǎn)類(lèi)型0指示。盡管在此示例中,"expireType (期滿(mǎn)類(lèi)型)"字 段被重載以指示發(fā)布物要被取消發(fā)布,但也可使用協(xié)議內(nèi)的單獨(dú)字段或單獨(dú)的 XML部分。由類(lèi)目名、情況標(biāo)識(shí)符、容器標(biāo)識(shí)符以及發(fā)布用戶(hù)地址標(biāo)識(shí)正被 移除的發(fā)布物250。在發(fā)布物中指定發(fā)布用戶(hù)的地址允許除該用戶(hù)以外的實(shí)體 代表用戶(hù)發(fā)布和取消發(fā)布在場(chǎng)信息,諸如上述的Exchange服務(wù)器。
圖3是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新發(fā)布物組件的處理的流程圖。該 組件在接收到諸如圖2中的發(fā)布請(qǐng)求時(shí)由接收發(fā)布物更新組件調(diào)用。在框310, 該組件從接收發(fā)布物更新組件接收更新發(fā)布物請(qǐng)求。在框320,該組件從請(qǐng)求 中選擇下一個(gè)發(fā)布物。在框330,該組件定位由發(fā)布物存儲(chǔ)中的所選發(fā)布物標(biāo) 識(shí)的發(fā)布用戶(hù)的集合。在判定框340,如果該發(fā)布物存在,則該組件在框360 繼續(xù),否則該組件就在框350繼續(xù)。在框350,之前不存在的發(fā)布物被添加到 發(fā)布物存儲(chǔ)。在框360,用請(qǐng)求中的信息更新發(fā)布物存儲(chǔ)中現(xiàn)有的發(fā)布物。在 判定框370,如果在請(qǐng)求中還有發(fā)布物,則該組件循環(huán)到框320以選擇下一發(fā) 布物,否則該組件完成。
圖4是示出一個(gè)實(shí)施例中用于發(fā)送訂閱請(qǐng)求的SIP協(xié)議擴(kuò)展的協(xié)議列表。 該協(xié)議以SIP動(dòng)詞"SUBSCRIBE (訂閱)"410開(kāi)始,它發(fā)出訂閱發(fā)布信息的請(qǐng) 求的信號(hào)。該協(xié)議包含進(jìn)一步描述請(qǐng)求的頭部420,諸如其內(nèi)容類(lèi)型。該協(xié)議 包含"〈batchSub〉"部分440,它包含"〈action〉"(動(dòng)作)部分442。動(dòng)作部分包含"〈adhocLisW部分445和"〈categoryLisW部分450。特設(shè)列表部分445指 定訂閱用戶(hù)想要對(duì)其發(fā)布物接收通信的發(fā)布用戶(hù)的標(biāo)識(shí)符。類(lèi)目列表部分450 指定對(duì)每一發(fā)布用戶(hù)訂閱的類(lèi)目。訂閱請(qǐng)求可使訂閱用戶(hù)對(duì)每一指定用戶(hù)的每 一指定類(lèi)目接收通知。盡管未在圖4中示出,但該請(qǐng)求也可包含與訂閱部分440 相似的取消訂閱的類(lèi)目和用戶(hù)的列表。
圖5是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新訂閱組件的處理的流程圖。該組 件在接收到諸如圖4中的訂閱請(qǐng)求時(shí)由接收訂閱請(qǐng)求組件調(diào)用。在框510,該 組件從接收訂閱請(qǐng)求組件接收訂閱請(qǐng)求。在判定框520,如果在請(qǐng)求中包含更 多類(lèi)目過(guò)濾器,則該組件在框530繼續(xù),否則該組件就在框550繼續(xù)。在框530, 該組件從請(qǐng)求中選擇下一類(lèi)目過(guò)濾器。在框540,該組件更新訂閱存儲(chǔ)中的類(lèi) 目過(guò)濾器。組件然后循環(huán)至框520以確定在請(qǐng)求中是否還有類(lèi)目過(guò)濾器。在判 定框550,如果在請(qǐng)求中還有訂閱,則該組件在框560繼續(xù),否則該組件就在 框580繼續(xù)。在框560,該組件從訂閱請(qǐng)求中選擇下一訂閱。在框570,該組 件將該訂閱添加到訂閱存儲(chǔ)中。訂閱可采用用戶(hù)列表和類(lèi)目列表的形式,使得 可在單個(gè)訂閱部分中為多個(gè)用戶(hù)訂閱多個(gè)類(lèi)目。該組件然后循環(huán)回框550,以 確定在請(qǐng)求中是否還有其他訂閱。在判定框580,如果在請(qǐng)求中還有取消訂閱, 則該組件在框5卯繼續(xù),否則該組件完成。在框590,該組件選擇請(qǐng)求中的下 一取消訂閱。在框595,該組件將該所指定的訂閱從訂閱存儲(chǔ)中移除。在處理 了所有的取消訂閱之后,該組件完成。
圖6是示出一個(gè)實(shí)施例中用于更新集合成員資格的SIP協(xié)議擴(kuò)展的協(xié)議列 表。所示協(xié)議的部分可被包括在如圖2所示的SIP發(fā)布請(qǐng)求的主體中,或它可 以是專(zhuān)用于更新成員資格的獨(dú)立消息類(lèi)型的一部分。該協(xié)議以包含標(biāo)識(shí)要修改 其成員資格的集合的一個(gè)或多個(gè)"<container>"部分615的 "<setContainerMembers〉"(設(shè)置容器成員資格)部分610開(kāi)始。每一容器部分 包含一個(gè)或多個(gè)成員條目620、 630和640。圖6中的第一成員條目620指定指 示該值是特定用戶(hù)的SIP URI的類(lèi)型"uri"。動(dòng)作(action)類(lèi)型"add (添加)" 指示所指定的用戶(hù)要作為能訪問(wèn)指定集合的成員添加。第二成員條目630指定 類(lèi)型"sameDomain (同一域)",指示與發(fā)布用戶(hù)來(lái)自同一域的用戶(hù)的成員資格 被修改,而動(dòng)作類(lèi)型"remove (移除)"指示對(duì)集合的訪問(wèn)權(quán)被移除。第三成員條目640指定類(lèi)型"contactList (聯(lián)系人列表)"以及動(dòng)作類(lèi)型"add",指示對(duì)發(fā) 布用戶(hù)的聯(lián)系人列表的任何成員授予對(duì)指定集合的訪問(wèn)權(quán)。
圖7是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的更新成員資格組件的處理的流程圖。 該組件在接收到諸如圖6中的成員更新請(qǐng)求時(shí)由接收成員資格更新組件調(diào)用。 在框710,該組件從接收成員資格更新組件接收更新成員資格請(qǐng)求。在框720, 該組件從請(qǐng)求中選擇下一個(gè)容器部分。在框730,該組件選擇容器部分內(nèi)的下 一成員更新。在判定框740,如果該成員更新包含動(dòng)作類(lèi)型"add",則該組件在 框750繼續(xù),否則該組件就在框760繼續(xù)。在框750,將在成員更新中指定的 用戶(hù)或組添加到發(fā)布物存儲(chǔ)中的所選容器的成員列表。在框760,將在成員更 新中指定的用戶(hù)或組從發(fā)布物存儲(chǔ)中的所選容器的成員列表中移除。在判定框 770,如果在所選容器部分中還有成員更新,則該組件循環(huán)至框730以選擇下 一成員更新,否則該組件繼續(xù)至框780。在判定框780,如果在成員資格更新 請(qǐng)求中還有容器部分,則該組件循環(huán)到框720以選擇下一容器部分,否則該組 件完成。
圖8是示出一個(gè)實(shí)施例中在場(chǎng)系統(tǒng)的使發(fā)布物期滿(mǎn)組件的處理的流程圖。 在場(chǎng)系統(tǒng)周期性地調(diào)用該組件以從發(fā)布物存儲(chǔ)中移除過(guò)時(shí)發(fā)布物。在框810, 該組件從發(fā)布物存儲(chǔ)中選擇下一個(gè)發(fā)布物。在判定框820,如果所選發(fā)布物的 期滿(mǎn)類(lèi)型為"static (靜態(tài))",則該組件在框860繼續(xù),否則該組件就在框830 繼續(xù)。在判定框830,如果所選發(fā)布物的期滿(mǎn)類(lèi)型為"device (設(shè)備)",則該組 件在框833繼續(xù),否則該組件就在框840繼續(xù)。在判定框833,如果發(fā)布所選 發(fā)布物的設(shè)備離線(xiàn),則該組件在框836繼續(xù),否則該組件就在框860繼續(xù)。在 框836,該組件從發(fā)布物存儲(chǔ)中移除期滿(mǎn)發(fā)布物。在判定框840,如果所選發(fā) 布物的期滿(mǎn)類(lèi)型為"user",則該組件在框843繼續(xù),否則該組件就在框850繼 續(xù)。在判定框843,如果發(fā)布所選發(fā)布物的用戶(hù)未通過(guò)任何設(shè)備登錄,則該組 件在框846繼續(xù),否則該組件就在框860繼續(xù)。在框846,該組件從發(fā)布物存 儲(chǔ)中移除期滿(mǎn)發(fā)布物。在判定框850,如果所選發(fā)布物的期滿(mǎn)類(lèi)型為"duration (持續(xù)時(shí)間)",則該組件在框853繼續(xù),否則該組件就在框860繼續(xù)。在判 定框853,如果為所選發(fā)布物指定的時(shí)間量期滿(mǎn),則該組件在框856繼續(xù),否 則該組件就在框860繼續(xù)。在框856,該組件從發(fā)布物存儲(chǔ)中移除期滿(mǎn)發(fā)布物。在判定框860,如果在發(fā)布物存儲(chǔ)中還有發(fā)布物,則該組件循環(huán)到框810以選 擇下一發(fā)布物,否則該組件完成。盡管所述方法示出了檢查和移除期滿(mǎn)發(fā)布物 的輪詢(xún)方法,但本領(lǐng)域的普通技術(shù)人員將理解,可使用其他方法,諸如其中用 戶(hù)或設(shè)備從在線(xiàn)改為離線(xiàn)狀態(tài)的事件使得期滿(mǎn)發(fā)布物被直接移除的事件驅(qū)動(dòng) 模型。
盡管用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專(zhuān)用的語(yǔ)言描述了本主題,但可以理解, 所附權(quán)利要求書(shū)中定義的主題不必限于上述具體特征或動(dòng)作。相反,上述具體 特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開(kāi)的。例如,使用SPI協(xié)議描述 了在場(chǎng)系統(tǒng)所處理的請(qǐng)求,但可使用其他協(xié)議,諸如對(duì)傳輸控制協(xié)議(TCP) 的自定義協(xié)議。在某些情形中,步驟被描述為由在場(chǎng)服務(wù)器的組件執(zhí)行,但它 們也可由與在場(chǎng)服務(wù)器交互的實(shí)體處的組件執(zhí)行。系統(tǒng)也可被實(shí)現(xiàn)為其中沒(méi)有 單個(gè)中央在場(chǎng)服務(wù)器,相反可由對(duì)等體分發(fā)和存儲(chǔ)在場(chǎng)信息的對(duì)等網(wǎng)絡(luò)。因此, 本發(fā)明只由所附權(quán)利要求來(lái)限制。
權(quán)利要求
1. 一種用于在單個(gè)請(qǐng)求中更新多個(gè)在場(chǎng)發(fā)布物系統(tǒng),包括組成在場(chǎng)發(fā)布相關(guān)請(qǐng)求組件(122),它創(chuàng)建包含要發(fā)布的發(fā)布物修改的列表的請(qǐng)求,其中每一修改包括標(biāo)識(shí)其在場(chǎng)信息正被更新的用戶(hù)的用戶(hù)標(biāo)識(shí)符;標(biāo)識(shí)所述發(fā)布物所屬的集合的集合標(biāo)識(shí)符;標(biāo)識(shí)正被更新的在場(chǎng)信息的類(lèi)目的類(lèi)型標(biāo)識(shí)符;以及將所述在場(chǎng)發(fā)布相關(guān)請(qǐng)求發(fā)送給在場(chǎng)服務(wù)器的發(fā)送組件(127)。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,每一修改還包括標(biāo)識(shí)所標(biāo)識(shí)的 集合內(nèi)的發(fā)布物的情況的情況標(biāo)識(shí)符。
3. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述單個(gè)請(qǐng)求內(nèi)的修改的列表 包括要發(fā)布的在場(chǎng)信息以及要取消發(fā)布的在場(chǎng)信息,其中發(fā)布在場(chǎng)信息的每一 修改還包括指定所述發(fā)布物的新值的值。
4. 如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括收集請(qǐng)求并將所述請(qǐng)求 批量轉(zhuǎn)發(fā)給全局在場(chǎng)服務(wù)器的中間在場(chǎng)服務(wù)器。
5. 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述請(qǐng)求使用SIP協(xié)議。
6. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述請(qǐng)求包含對(duì)一個(gè)以上用戶(hù) 的發(fā)布物修改。
7. 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述請(qǐng)求由web服務(wù)代表所 述用戶(hù)發(fā)送。
8. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述web服務(wù)提供對(duì)日歷信 息的修改。
9. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述請(qǐng)求包含具有不同屬性的 發(fā)布物修改。
10. 如權(quán)利要求9所述的系統(tǒng),其特征在于, 一個(gè)屬性是期滿(mǎn)策略。
11. 一種用于在單個(gè)請(qǐng)求中訂閱多種發(fā)布物類(lèi)型的系統(tǒng),包括; 組成在場(chǎng)訂閱請(qǐng)求組件(125),它創(chuàng)建請(qǐng)求,所述請(qǐng)求包括標(biāo)識(shí)具有正被訂閱的在場(chǎng)信息的發(fā)布用戶(hù)的用戶(hù)標(biāo)識(shí)符列表; 對(duì)所標(biāo)識(shí)的每一用戶(hù),標(biāo)識(shí)要訂閱的發(fā)布物的類(lèi)型的類(lèi)型標(biāo)識(shí)符;以及將所述在場(chǎng)訂閱請(qǐng)求發(fā)送給在場(chǎng)服務(wù)器的發(fā)送組件(127)。
12. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述請(qǐng)求包括在單個(gè)請(qǐng) 求中使所列用戶(hù)訂閱一個(gè)以上類(lèi)型的發(fā)布物的所述用戶(hù)的一個(gè)以上的類(lèi)型標(biāo) 識(shí)符。
13. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述請(qǐng)求對(duì)于每一用戶(hù) 還包括標(biāo)識(shí)要取消訂閱的發(fā)布物的類(lèi)型的類(lèi)型標(biāo)識(shí)符。
14. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述請(qǐng)求還包括標(biāo)識(shí)要 修改其訂閱的訂閱用戶(hù)的用戶(hù)標(biāo)識(shí)符。
15. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述請(qǐng)求包含對(duì)一個(gè)以 上的訂閱用戶(hù)的訂閱修改。
16. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述請(qǐng)求使用SIP協(xié)議。
17. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述請(qǐng)求還包括標(biāo)識(shí)訂 閱用戶(hù)應(yīng)被通知到的在場(chǎng)信息的類(lèi)型的過(guò)濾器列表。
18. —種包含用于通過(guò)一種方法在單個(gè)請(qǐng)求中更新多個(gè)在場(chǎng)發(fā)布物的 指令的計(jì)算機(jī)可讀介質(zhì),所述方法包括接收(150)包含要發(fā)布的發(fā)布物修改的列表的請(qǐng)求,其中每一修改包括標(biāo)識(shí)其在場(chǎng)信息正被更新的用戶(hù)的用戶(hù)標(biāo)識(shí)符; 標(biāo)識(shí)所述發(fā)布物所屬的集合的集合標(biāo)識(shí)符; 標(biāo)識(shí)正被更新的在場(chǎng)信息的類(lèi)目的類(lèi)型標(biāo)識(shí)符。
19. 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述請(qǐng)求包 含對(duì)一個(gè)以上的用戶(hù)的發(fā)布物修改。
20. 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述單個(gè)請(qǐng) 求內(nèi)的修改列表包括要發(fā)布的在場(chǎng)信息和要取消發(fā)布的在場(chǎng)信息。
全文摘要
提供了用于增加具有發(fā)布物的集合的在場(chǎng)服務(wù)器的計(jì)算和網(wǎng)絡(luò)效率的方法和系統(tǒng)。該在場(chǎng)系統(tǒng)使用允許在場(chǎng)服務(wù)器提供豐富的在場(chǎng)信息而無(wú)需昂貴處理的若干技術(shù)。首先,該在場(chǎng)系統(tǒng)在單個(gè)在場(chǎng)更新請(qǐng)求中接受批量發(fā)布物更新。類(lèi)似地,該在場(chǎng)系統(tǒng)接受批量訂閱請(qǐng)求。接著,該在場(chǎng)系統(tǒng)支持消除發(fā)布用戶(hù)持續(xù)刷新還未改變的在場(chǎng)信息的需求的發(fā)布物更新請(qǐng)求的新期滿(mǎn)類(lèi)型。最后,該在場(chǎng)系統(tǒng)接受包含能訪問(wèn)特定在場(chǎng)集合的成員資格組而非個(gè)別用戶(hù)列表的訪問(wèn)列表。
文檔編號(hào)G06Q10/06GK101416208SQ200780012222
公開(kāi)日2009年4月22日 申請(qǐng)日期2007年1月16日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者S·D·考克斯, S·M·庫(kù)坦, S·文卡特斯海 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
柳州市| 攀枝花市| 西和县| 商水县| 汶川县| 璧山县| 南充市| 昌吉市| 九江市| 射洪县| 河东区| 海城市| 呼和浩特市| 仪陇县| 万源市| 法库县| 营口市| 瓮安县| 长沙县| 咸宁市| 镶黄旗| 麻栗坡县| 崇信县| 北碚区| 江山市| 瓦房店市| 登封市| 子洲县| 嘉善县| 上犹县| 盐山县| 阜南县| 图们市| 文登市| 根河市| 汽车| 文成县| 通化县| 阳山县| 龙川县| 开封县|