亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

協(xié)同邀請系統(tǒng)和方法

文檔序號:6553787閱讀:508來源:國知局
專利名稱:協(xié)同邀請系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)化計(jì)算環(huán)境,尤其涉及便于網(wǎng)絡(luò)化計(jì)算環(huán)境中的協(xié)同。
背景技術(shù)
網(wǎng)絡(luò)化計(jì)算環(huán)境已變成工作地點(diǎn)甚至家中的共同特性。這些環(huán)境便于各種各 樣的通信模式,包括電子郵件、即時(shí)消息傳送、多媒體文檔服務(wù)器、討論分組、以 及流式音頻和視頻、和臨境交互式感應(yīng)環(huán)境。常規(guī)的軟件應(yīng)用程序已開始利用這些 豐富的通信模式,但是從集成式和可擴(kuò)展的計(jì)算機(jī)化協(xié)同平臺的角度而言各自具有 限制和/或缺點(diǎn)。
一些常規(guī)計(jì)算機(jī)軟件應(yīng)用程序提供了多個(gè)方面的協(xié)同服務(wù),但不能提供對協(xié) 同者的有效訪問。對協(xié)同者的笨拙和/或有限訪問可呈現(xiàn)對協(xié)同啟動的障礙,從而 阻止對否則功能協(xié)同工具的使用。對協(xié)同者無效訪問的一個(gè)方面是一些常規(guī)軟件應(yīng) 用程序不能有效地辨別當(dāng)前的物理和/或虛擬的位置。另一個(gè)方面是一些常規(guī)軟件 應(yīng)用程序不能有效地辨別相關(guān)于協(xié)同功能的兼容性。
除了提供各方面協(xié)同服務(wù)的特定版本常規(guī)軟件應(yīng)用程序的功能中的缺點(diǎn)之 外, 一些常規(guī)軟件應(yīng)用程序不能提供可擴(kuò)展的協(xié)同平臺、框架和/或體系結(jié)構(gòu)。這 并非是小小的失敗。有效的體系結(jié)構(gòu)可持續(xù)多年,并且可被結(jié)合到具有數(shù)百萬個(gè)節(jié) 點(diǎn)的網(wǎng)絡(luò)計(jì)算環(huán)境中。所建立體系結(jié)構(gòu)的可擴(kuò)展性、靈活性、可維護(hù)性和/或可升 級性的失敗可以是比單個(gè)軟件產(chǎn)品版本嚴(yán)重得多的問題。

發(fā)明內(nèi)容
本小節(jié)提出了對本發(fā)明一些實(shí)施例的簡化歸納。該歸納不是本發(fā)明的擴(kuò)展性 縱覽。它并非旨在標(biāo)識本發(fā)明的關(guān)鍵/重要要素,或劃出本發(fā)明的范圍。其唯一目 的是以簡化方式提出本發(fā)明的一些實(shí)施例,作為對此后呈現(xiàn)的更詳細(xì)描述的序言。
在本發(fā)明的一個(gè)實(shí)施例中,可用諸如圖形用戶界面(GUI)的邀請用戶界面選
擇一個(gè)或多個(gè)聯(lián)系人。對參與協(xié)同活動的邀請可從邀請用戶界面或協(xié)同應(yīng)用程序 (例如便于協(xié)同活動的協(xié)同應(yīng)用程序)發(fā)送到所選聯(lián)系人。邀請是從邀請用戶界面
還是從協(xié)同應(yīng)用程序發(fā)送可以是一個(gè)可配置選項(xiàng)。如果邀請要從邀請用戶界面發(fā) 出,則可啟動協(xié)同應(yīng)用程序,然后邀請可從邀請用戶界面發(fā)出。如果邀請從協(xié)同應(yīng) 用程序發(fā)出,那么邀請可從協(xié)同應(yīng)用程序發(fā)出。
在本發(fā)明的一個(gè)實(shí)施例中,可例如由協(xié)同服務(wù)平臺接收要參與協(xié)同應(yīng)用程序 的邀請??上蛟搮f(xié)同服務(wù)平臺的用戶提供該邀請,以及響應(yīng)于該邀請選擇接受、拒 絕和忽略之一的能力。用戶可選擇接受、拒絕或明確忽略該邀請,并向該邀請的發(fā) 送者發(fā)送指示用戶選擇的響應(yīng)。
在本發(fā)明的一個(gè)實(shí)施例中,用于協(xié)同邀請服務(wù)的一個(gè)應(yīng)用程序編程接口包括 邀請?jiān)?、發(fā)送邀請?jiān)?、響?yīng)邀請?jiān)睾蛣h除邀請?jiān)?。邀請?jiān)乜商峁τ趨?與一協(xié)同活動的邀請相對應(yīng)的邀請數(shù)據(jù)的訪問。發(fā)送邀請?jiān)乜捎糜谙蛞粋€(gè)或多個(gè) 聯(lián)系人發(fā)送協(xié)同邀請。響應(yīng)邀請?jiān)乜捎糜趯f(xié)同邀請作出響應(yīng),而刪除邀請?jiān)?可用于刪除所發(fā)出的邀請。


盡管所附權(quán)利要求具體地闡述了本發(fā)明的特征,但本發(fā)明及其優(yōu)點(diǎn)可結(jié)合附 圖從以下詳細(xì)描述中得到最佳的理解,在附圖中
圖1是一般地示出可用于實(shí)現(xiàn)本發(fā)明一實(shí)施例的一示例性計(jì)算機(jī)系統(tǒng)的示意
圖2是示出適于結(jié)合本發(fā)明一實(shí)施例的一示例網(wǎng)絡(luò)化計(jì)算環(huán)境的示意圖; 圖3是示出根據(jù)本發(fā)明一實(shí)施例的用于協(xié)同服務(wù)平臺的一示例計(jì)算機(jī)軟件體 系結(jié)構(gòu)的框圖4是示出根據(jù)本發(fā)明一實(shí)施例的一示例協(xié)同對象模型的一對象建模示圖; 圖5是示出根據(jù)本發(fā)明一實(shí)施例的一示例性聯(lián)系人對象的對象界面示圖; 圖6是示出根據(jù)本發(fā)明一實(shí)施例的一示例在場對象的對象界面示圖; 圖7是示出根據(jù)本發(fā)明一實(shí)施例的一示例發(fā)布對象的對象界面示圖; 圖8是示出根據(jù)本發(fā)明一實(shí)施例的一示例能力對象的對象界面示圖9是示出根據(jù)本發(fā)明一實(shí)施例的一示例我的聯(lián)系人(MeContact)對象的對
象界面示圖IO是示出根據(jù)本發(fā)明一實(shí)施例的一示例會議對象的對象界面示圖11是示出根據(jù)本發(fā)明一實(shí)施例的由協(xié)同服務(wù)平臺執(zhí)行的示例步驟的流程
圖12是示出根據(jù)本發(fā)明一實(shí)施例的由協(xié)同服務(wù)平臺執(zhí)行的其它示例步驟的流
程圖13是示出根據(jù)本發(fā)明一實(shí)施例的一示例邀請情形的示意圖14是示出根據(jù)本發(fā)明一實(shí)施例的一示例邀請服務(wù)應(yīng)用程序編程接口的示意
圖15是示出根據(jù)本發(fā)明一實(shí)施例的發(fā)送邀請的示例步驟的流程圖; 圖16是示出根據(jù)本發(fā)明一實(shí)施例的由邀請服務(wù)執(zhí)行的發(fā)送邀請的示例步驟的 流程圖17是示出根據(jù)本發(fā)明一實(shí)施例的從一般邀請用戶界面對邀請作出響應(yīng)的示 例步驟的流程圖18是示出根據(jù)本發(fā)明一實(shí)施例的從應(yīng)用程序?qū)S糜脩艚缑鎸ρ堊鞒鲰憫?yīng) 的示例步驟的流程圖19是示出根據(jù)本發(fā)明一實(shí)施例的參與無服務(wù)器在場發(fā)布的示例步驟的流程
圖20是示出根據(jù)本發(fā)明一實(shí)施例的用于進(jìn)行協(xié)同在場預(yù)訂的示例步驟的流程
圖21是示出根據(jù)本發(fā)明一實(shí)施例的用于接受協(xié)同在場預(yù)訂的示例步驟的流程圖。
具體實(shí)施例方式
在進(jìn)行本發(fā)明各實(shí)施例的描述之前,現(xiàn)在提供對其中可實(shí)踐本發(fā)明各個(gè)實(shí)施 例的計(jì)算機(jī)的描述。盡管這并不是必需的,但本發(fā)明將在諸如可由計(jì)算機(jī)執(zhí)行的程 序模塊的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。通常,程序包括執(zhí)行具體任務(wù)或 實(shí)現(xiàn)具體抽象數(shù)據(jù)類型的例程、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。如在本文中所使用的, 術(shù)語"程序"可表示單個(gè)程序模塊或協(xié)調(diào)動作的多個(gè)程序模塊。術(shù)語"計(jì)算機(jī)"和 "計(jì)算設(shè)備"如在本文中所使用的包括電子地執(zhí)行一個(gè)或多個(gè)程序的任何設(shè)備,諸 如個(gè)人計(jì)算機(jī)(PC)、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的可編程消費(fèi)電 器、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、平板PC、膝上型計(jì)算機(jī)、具有微處理器或微控制器的 消費(fèi)裝置、路由器、網(wǎng)關(guān)、集線器等。本發(fā)明還可在任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn) 程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可置于 本地和遠(yuǎn)程存儲器存儲設(shè)備中。
參看圖l,示出了其上可實(shí)現(xiàn)本文中所述的本發(fā)明各發(fā)明的計(jì)算機(jī)102的基本
配置的一個(gè)示例。在其最基本配置中,計(jì)算機(jī)102通常包括至少一個(gè)處理單元104 和存儲器106。處理單元104執(zhí)行根據(jù)本發(fā)明各個(gè)實(shí)施例執(zhí)行任務(wù)的指令。在執(zhí)行 這些任務(wù)時(shí),處理單元104可向計(jì)算機(jī)102的其它部分以及計(jì)算機(jī)102的外部設(shè)備 發(fā)送電子信號以產(chǎn)生某些結(jié)果。取決于計(jì)算機(jī)102的確切配置和類型,存儲器106 可以是易失性的(諸如RAM)、非易失性的(諸如ROM或閃存)、或兩者的組合。 該最基本配置在圖1中由虛線108示出。
計(jì)算機(jī)102也可具有附加特征/功能。例如,計(jì)算機(jī)102還可包括附加存儲(可 移動110和/或不可移動112),包括但不限于磁盤或光盤或帶。計(jì)算機(jī)存儲介質(zhì)包 括以用于儲存包括計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的任 何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動的介質(zhì)。計(jì)算機(jī)存儲介 質(zhì)包括但不限于RAM、 ROM、 EEPROM、閃存、CD-ROM、數(shù)字多功能盤(DVD) 或其它光學(xué)存儲、磁盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或可用于儲存所需 信息并可由計(jì)算機(jī)102訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)可以是計(jì) 算機(jī)102的部分。
計(jì)算機(jī)102較佳地還包含允許設(shè)備與諸如遠(yuǎn)程計(jì)算機(jī)116的其它設(shè)備通信的 通信連接116。通信連接是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常體現(xiàn)為計(jì)算機(jī)可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或諸如載波的經(jīng)調(diào)制數(shù)據(jù)信號或其它傳輸機(jī)制中的其 它數(shù)據(jù),并包括任何信息傳送介質(zhì)。作為示例而非限制,術(shù)語"通信介質(zhì)"包括諸 如聲學(xué)、RF、紅外和其它無線介質(zhì)的無線介質(zhì)。術(shù)語"計(jì)算機(jī)可讀介質(zhì)"如在本 文中所使用地包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。
計(jì)算機(jī)102還可具有諸如鍵盤/小鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸式輸 入設(shè)備等輸入設(shè)備118。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備120。 所有這些設(shè)備都是本領(lǐng)域中眾所周知的,并且無需在此贅述。
在以下的描述中,本發(fā)明將參照由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行的動作和操作的 符號表示進(jìn)行描述,除非另有指明。這樣,可以理解,有時(shí)稱為計(jì)算機(jī)正在執(zhí)行的 這些動作和操作包括由計(jì)算機(jī)的處理單元對以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號的處 理。該處理轉(zhuǎn)換數(shù)據(jù)或?qū)⑵浔4嬖谟?jì)算機(jī)的存儲器系統(tǒng)中的單元內(nèi),以本領(lǐng)域技術(shù) 人員能很好理解的方式重新配置或以其它方式改變計(jì)算機(jī)的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù) 結(jié)構(gòu)是具有根據(jù)數(shù)據(jù)格式定義的特定屬性的存儲器物理單元。然而,盡管本發(fā)明在
前述上下文中進(jìn)行描述但這并不表示是限制性的,因?yàn)楸绢I(lǐng)域技術(shù)人員將理解以下描述的各種動作和操作也可用硬件來實(shí)現(xiàn)。
在本發(fā)明一實(shí)施例中,計(jì)算機(jī)軟件體系結(jié)構(gòu)提供一可擴(kuò)展、靈活、可維護(hù)和 可升級的協(xié)同平臺。該體系結(jié)構(gòu)的各個(gè)方面可被結(jié)合到一適當(dāng)?shù)木W(wǎng)絡(luò)化計(jì)算環(huán)境 中。該體系結(jié)構(gòu)可啟用和/或擴(kuò)展與常規(guī)計(jì)算機(jī)軟件應(yīng)用程序的集成式協(xié)同。特別 地,該體系結(jié)構(gòu)可提供綜合的協(xié)同聯(lián)系人管理,包括例如相關(guān)于可用協(xié)同活動的當(dāng) 前聯(lián)系人在網(wǎng)絡(luò)化計(jì)算環(huán)境中的出現(xiàn)和當(dāng)前聯(lián)系人的能力。
圖2示出適于結(jié)合本發(fā)明一實(shí)施例的一示例網(wǎng)絡(luò)化計(jì)算環(huán)境200。在網(wǎng)絡(luò)化計(jì)
算環(huán)境中,網(wǎng)絡(luò)202將計(jì)算機(jī)204、 206和208通信連接到網(wǎng)絡(luò)化集線器210。網(wǎng) 絡(luò)202可以是局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、個(gè)人局域網(wǎng)(PAN) 或其組合。網(wǎng)絡(luò)202可結(jié)合任何適當(dāng)?shù)木W(wǎng)絡(luò)化組件,諸如集線器、網(wǎng)關(guān)、路由器、 網(wǎng)橋、端口等、以及任何適當(dāng)?shù)挠?jì)算機(jī)可讀介質(zhì)。例如,計(jì)算機(jī)204、 206、 208 和網(wǎng)絡(luò)化集線器210各自可以是計(jì)算機(jī)102 (圖l)的實(shí)例。
網(wǎng)絡(luò)化集線器210可與計(jì)算機(jī)212、214和216通信連接。該網(wǎng)絡(luò)化集線器210 與計(jì)算機(jī)212、 214和216—起可被視為是子網(wǎng)絡(luò)或子網(wǎng)218的一個(gè)示例,盡管當(dāng) 然不是限制性示例。計(jì)算機(jī)212、 214和216被稱為是在同一子網(wǎng)上,并且因此可 享受相對于彼此的優(yōu)先網(wǎng)絡(luò)通信。例如,即使各計(jì)算機(jī)204、 206、 208、 212、 214 和216彼此可發(fā)送點(diǎn)對點(diǎn)類消息,但子網(wǎng)218可被配置成子網(wǎng)218中的廣播類消息 由子網(wǎng)218內(nèi)的那些計(jì)算機(jī)212、 214和216接收。
協(xié)同平臺的可擴(kuò)展、靈活、可維護(hù)和/或可升級屬性可源自其模塊化結(jié)構(gòu)、其 整體的模塊化結(jié)構(gòu)、模塊之間的交互方式和/或模塊化結(jié)構(gòu)的整體交互模式的一個(gè) 或多個(gè)方面。圖3示出根據(jù)本發(fā)明一實(shí)施例的一示例計(jì)算機(jī)軟件體系結(jié)構(gòu)300。該 體系結(jié)構(gòu)300的每個(gè)方面可在各計(jì)算機(jī)204、 206、 208、 212、 214和216 (圖2) 上呈現(xiàn),但是本發(fā)明的各個(gè)實(shí)施例并不受限于此。體系結(jié)構(gòu)300的各個(gè)方面可適當(dāng) 地分布在網(wǎng)絡(luò)化計(jì)算環(huán)境200的任何適當(dāng)子集上,包括整個(gè)的網(wǎng)絡(luò)化計(jì)算環(huán)境200。 不同版本的體系結(jié)構(gòu)300可出現(xiàn)在不同計(jì)算機(jī)上,并且各個(gè)版本的體系結(jié)構(gòu)300 與每個(gè)其它版本的體系結(jié)構(gòu)300的兼容程度可變化。
體系結(jié)構(gòu)300可包括協(xié)同服務(wù)平臺302。該協(xié)同服務(wù)平臺302可包括聯(lián)系人管 理服務(wù)304、發(fā)布服務(wù)306、信令服務(wù)308、活動服務(wù)310、數(shù)據(jù)共享服務(wù)312、認(rèn) 證服務(wù)314和連接服務(wù)316。聯(lián)系人管理服務(wù)304可包括聯(lián)系人存儲318、在場存 儲320、以及聯(lián)系人位置服務(wù)322。發(fā)布服務(wù)306可包括同步服務(wù)324。信令服務(wù) 308可包括邀請服務(wù)326?;顒臃?wù)310可包括音頻/視覺(A/V)服務(wù)328。連接
服務(wù)316可包括對等(P2P)服務(wù)330,以及常規(guī)傳輸控制協(xié)議和因特網(wǎng)協(xié)議(TCP/IP) 堆棧332。各個(gè)服務(wù)304、 306、 308、 310、 312、 314、 316可包括和/或結(jié)合到能收 發(fā)實(shí)現(xiàn)該服務(wù)的消息的對等設(shè)備。
在本發(fā)明一實(shí)施例中,聯(lián)系人管理服務(wù)304提供對協(xié)同者,即協(xié)同服務(wù)平臺 302的用戶的有效訪問。例如,聯(lián)系人管理服務(wù)304可向協(xié)同服務(wù)平臺302的部分 或全部用戶提供聯(lián)系人信息。聯(lián)系人管理服務(wù)304可維護(hù)一個(gè)或多個(gè)數(shù)據(jù)存儲中的 聯(lián)系人數(shù)據(jù)庫。每個(gè)聯(lián)系人可以是潛在的協(xié)同者,即協(xié)同服務(wù)平臺的用戶可嘗試參 與和每個(gè)聯(lián)系人的一個(gè)或多個(gè)協(xié)同活動。聯(lián)系人管理服務(wù)304可提供包括圖形用戶 界面(GUI)的一個(gè)或多個(gè)用戶界面,該GUI提供聯(lián)系人例如以供用戶選擇,和/ 或使得該用戶能相對于一特定聯(lián)系人調(diào)用協(xié)同服務(wù)平臺302動作。
聯(lián)系人存儲318可儲存聯(lián)系人對象和"MeContact"對象(以下參照圖4更詳 細(xì)地描述)。在場存儲320可儲存聯(lián)系人對象的在場對象(也在以下參照圖4更詳 細(xì)地描述)。在本發(fā)明一實(shí)施例中,在場數(shù)據(jù)比聯(lián)系人數(shù)據(jù)更頻繁地改變,使得單 獨(dú)的數(shù)據(jù)存儲318、 320可針對不同的對象更新頻率最優(yōu)化。
聯(lián)系人位置服務(wù)322可相對于一給定聯(lián)系人提供各種位置數(shù)據(jù)的一種或多種。 物理靠近可以是聯(lián)系人位置的一個(gè)方面,例如物理位置的一個(gè)或多個(gè)代理可用來估 計(jì)聯(lián)系人與用戶的物理距離。無線電接收機(jī)處的信號強(qiáng)度是物理距離代理的一個(gè)示 例。虛擬位置可以是聯(lián)系人位置的另一個(gè)方面。例如,聯(lián)系人可在諸如圖2網(wǎng)絡(luò) 202的一個(gè)或多個(gè)網(wǎng)絡(luò)上、和/或諸如計(jì)算機(jī)204、 206、 208、 212、 214和216的一 個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上活動。此外,聯(lián)系人可以是注冊但不活動的、或在線但未現(xiàn)的、 或具有某些其它適當(dāng)?shù)奈恢脿顟B(tài)。聯(lián)系人位置服務(wù)322可查詢適當(dāng)?shù)淖员砗?或 啟動例如對等搜索或?qū)Φ让Q解析機(jī)制,以便于定位一特定聯(lián)系人。
發(fā)布服務(wù)306可提供對聯(lián)系人所發(fā)布的數(shù)據(jù)的訪問。在本發(fā)明一實(shí)施例中, 感興趣的用戶可預(yù)訂聯(lián)系人發(fā)布的對象,并在發(fā)布聯(lián)系人更新所發(fā)布對象的任何時(shí) 候接收通知。同步服務(wù)324可負(fù)責(zé)維護(hù)發(fā)布預(yù)訂的數(shù)據(jù)庫。特別地,發(fā)布服務(wù)206 可提供對聯(lián)系人所發(fā)布的在場信息的訪問。
信令服務(wù)308可提供在網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)中出現(xiàn)的聯(lián)系人之間的協(xié) 同會議的建立和終止、以及會議進(jìn)行中參數(shù)的更新。在本發(fā)明一實(shí)施例中,協(xié)同會 議的建立、更新和終止是根據(jù)發(fā)布/預(yù)訂語義提供的。在本發(fā)明一實(shí)施例中,信令 服務(wù)308結(jié)合了會話啟動協(xié)議(SIP)的實(shí)現(xiàn),諸如由Handley等人在因特網(wǎng)工程 任務(wù)組(IETF)請求注解(RFC) 2543 (1999年3月)中的"SIP: Session Initiation
Protocol" ("SIP:會話啟動協(xié)議")中描述的會話啟動協(xié)議。
邀請服務(wù)326可使邀請和相關(guān)消息能向聯(lián)系人往返發(fā)送。例如,訪問一計(jì)算 機(jī)212上的網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)的系統(tǒng)用戶可邀請某其它計(jì)算機(jī)204、 206、 208、 212、 214和/或216上的聯(lián)系人參與一協(xié)同活動。邀請服務(wù)326可利用聯(lián)系人 位置服務(wù)322來定位聯(lián)系人并傳遞邀請。邀請服務(wù)326可包括諸如圖形用戶界面 (GUI)的各種用戶界面,用于向被邀請人呈現(xiàn)邀請細(xì)節(jié),并使該被邀請人能接受、 拒絕和/或明確地忽略該邀請。一示例邀請服務(wù)326在以下參照圖13更詳細(xì)地描述。
活動服務(wù)310可實(shí)現(xiàn)協(xié)同活動、和/或提供對協(xié)同應(yīng)用程序在協(xié)同服務(wù)平臺302 中的集成的支持。例如,活動服務(wù)310可向常規(guī)協(xié)同應(yīng)用程序提供協(xié)同服務(wù)平臺 302順應(yīng)應(yīng)用程序編程接口 (API)。順應(yīng)API可包括用于相對于活動能力査詢一特 定聯(lián)系人或計(jì)算機(jī)204、 206、 208、 212、 214、 216 (圖2),以及用于確定應(yīng)用程 序?qū)S醚堃蟮墓δ?。音頻/視覺服務(wù)328是適于結(jié)合到活動服務(wù)310中的協(xié)同 服務(wù)的一個(gè)示例。
數(shù)據(jù)共享服務(wù)312可使數(shù)據(jù)能以包括文件、文檔、流和對象的任意適當(dāng)格式 共享。該數(shù)據(jù)共享服務(wù)312可提供數(shù)據(jù)傳送、數(shù)據(jù)復(fù)制和/或數(shù)據(jù)同步。數(shù)據(jù)共享 可基于聯(lián)系人、參與活動、參與會議、和/或諸如網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)用戶 組的任何適當(dāng)訪問控制列表(ACL)條目來啟用和禁用。
認(rèn)證服務(wù)314可生成并驗(yàn)證認(rèn)證憑證,例如聯(lián)系人與其它活動和會議參與者 的認(rèn)證憑證。認(rèn)證服務(wù)314可使聯(lián)系人能被分類成受信任聯(lián)系人和不受信任聯(lián)系 人。認(rèn)證服務(wù)314可使聯(lián)系人與聯(lián)系人位置無關(guān)、或根據(jù)復(fù)雜的網(wǎng)絡(luò)化計(jì)算環(huán)境 200 (圖2)的出現(xiàn)而受到信任。
在本發(fā)明一實(shí)施例中,連接服務(wù)316使協(xié)同服務(wù)平臺302服務(wù)實(shí)例之間能通 過網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)通信,例如計(jì)算機(jī)212上的第一信令服務(wù)308實(shí)例 與計(jì)算機(jī)208上的第二信令服務(wù)308實(shí)例之間。連接服務(wù)316的通信工具可與應(yīng)用 程序編程接口 (API) —起可用,使得其它協(xié)同服務(wù)平臺302服務(wù)304、 306、 310、 312、 314可與基礎(chǔ)傳輸機(jī)制無關(guān)地在實(shí)例之間通信。
連接服務(wù)316可包括TCP/IP堆棧332和/或更高級通信應(yīng)用程序編程接口 ,諸 如2005年3月的微軟開發(fā)者網(wǎng)絡(luò)(MSDN )庫中的Microsoft Windows⑧平臺軟 件開發(fā)工具包(SDK)的Windows⑧套接字2部分中描述的Microsoft Windows 套接字2 (Winsock) API。對等(P2P)服務(wù)330可在網(wǎng)絡(luò)計(jì)算環(huán)境200的覆蓋網(wǎng) 中提供連接。例如,對等服務(wù)330可根據(jù)2005年3月的微軟開發(fā)者網(wǎng)絡(luò)(MSDN⑧)
庫中的Microsoft Windows⑧平臺軟件開發(fā)工具包(SDK)的Windows⑧對等網(wǎng)絡(luò) 化部分中描述的對等應(yīng)用程序編程接口提供,包括圖形化、分組、身份管理器、以 及對等名稱解析協(xié)議(PNRP)名空間提供者應(yīng)用程序編程接口。
協(xié)同服務(wù)平臺302的服務(wù)304、 306、 308、 310、 312、 314和316可與一組編 程對象實(shí)現(xiàn),該組編程對象包括在協(xié)同對象模型中相互關(guān)連的一組協(xié)同對象。圖4 示出根據(jù)本發(fā)明一實(shí)施例的一組示例協(xié)同對象和一示例協(xié)同對象模型400。該協(xié)同 對象模型400可包括聯(lián)系人對象402、在場對象404、 MeContact對象406和 MyPresence (我的在場)對象408、端點(diǎn)對象410、能力對象412、會議對象414、 活動對象416、以及發(fā)布對象418。當(dāng)然,協(xié)同服務(wù)平臺302可包括各類協(xié)同對象 的許多實(shí)例402、 404、 406、 408、 410、 412、 414、 416和418。
聯(lián)系人對象402可結(jié)合用于表示協(xié)同服務(wù)平臺302 (圖3)的協(xié)同參與者和/ 或用戶的適當(dāng)屬性。特別地,聯(lián)系人對象402可引用一協(xié)同在場,例如聯(lián)系人在網(wǎng) 絡(luò)化計(jì)算環(huán)境200 (圖2)的出現(xiàn)。在本發(fā)明一實(shí)施例中,聯(lián)系人對象402通過引 用在場對象404的一個(gè)實(shí)例引用一協(xié)同在場。一示例聯(lián)系人對象402在以下參照圖 5更詳細(xì)地描述。
在場對象404可結(jié)合用于表示協(xié)同在場的適當(dāng)屬性,例如網(wǎng)絡(luò)化計(jì)算環(huán)境200 的一組計(jì)算機(jī)204、 206、 208、 212、 214和/或216 (圖2),在該環(huán)境上特定協(xié)同 服務(wù)平臺302用戶在最近過去的某個(gè)時(shí)刻活動,其中"最近"過去可取決于協(xié)同環(huán) 境從秒到小時(shí)、天、甚至年地變化。在場對象404可引用表示網(wǎng)絡(luò)化計(jì)算環(huán)境200 位置的一個(gè)或多個(gè)端點(diǎn)對象410。端點(diǎn)對象410無需與例如網(wǎng)絡(luò)化計(jì)算環(huán)境200的 計(jì)算機(jī)204、 206、 208、 212、 214、 216——對應(yīng),因?yàn)槎它c(diǎn)對象410可與網(wǎng)絡(luò)化 計(jì)算環(huán)境200的覆蓋網(wǎng)中的對等體相對應(yīng)。
在場對象404可進(jìn)一步引用表示例如一個(gè)或多個(gè)協(xié)同端點(diǎn)上的協(xié)同能力、和/ 或與在場對象404相關(guān)聯(lián)的部分或全部端點(diǎn)上的聚集協(xié)同能力的零個(gè)或多個(gè)能力 對象412實(shí)例。此外,在場對象404可引用零個(gè)或多個(gè)發(fā)布對象418實(shí)例。 一示例 在場對象404在以下參照圖6更詳細(xì)地描述。 一示例發(fā)布對象418在以下參照圖7 更詳細(xì)地描述。 一示例能力對象412在以下參照圖8更詳細(xì)地描述。
MeContact對象406可以是一類聯(lián)系人對象402,并且可多態(tài)地繼承聯(lián)系人對 象402的屬性和行為。由于協(xié)同服務(wù)平臺用戶自己的聯(lián)系信息相對于其它用戶的聯(lián) 系信息可起到一種特定的作用,因此MeContact對象406可與聯(lián)系人對象402相區(qū) 分。例如,MeContact對象406可引用表示該特定用戶的已知協(xié)同聯(lián)系人的零個(gè)或
多個(gè)聯(lián)系人對象402實(shí)例。MeContact對象406無需引用例如其它MeContact對象 406實(shí)例。在本發(fā)明一實(shí)施例中,歸因于協(xié)同服務(wù)平臺302 (圖3)的可擴(kuò)展性、 靈活性、可維護(hù)性和/或可升級性可避免不必要的復(fù)雜性。
MeContact對象406可進(jìn)一步引用MyPresence對象408實(shí)例。MyPresence對 象408可以是一類在場對象404,并可多態(tài)地繼承在場對象404的屬性和行為。再 一次,由于協(xié)同服務(wù)平臺用戶自己的在場相對于其它用戶的在場可起到一種特定的 作用,因此MyPresence對象408可與在場對象404相區(qū)分。例如,在本發(fā)明一實(shí) 施例中,用戶可明確地更新他們自己的MyPresence對象408實(shí)例,而不是其它用 戶的在場對象404實(shí)例。
此外,MeContact對象406可引用表示與MeContact對象406相關(guān)聯(lián)的用戶以 及其它協(xié)同服務(wù)平臺用戶當(dāng)前和/或最近參加的協(xié)同會議的零個(gè)或多個(gè)會議對象 414實(shí)例。會議對象414可引用表示協(xié)同活動的一個(gè)或多個(gè)活動對象416實(shí)例。在 本發(fā)明一實(shí)施例中,會議對象414是一類活動對象416,并可多態(tài)地繼承活動對象 416的屬性和行為。作為是一類活動對象416的結(jié)果,會議對象414所引用的活動 對象416實(shí)例可以是會議對象414實(shí)例。 一示例MeContact對象406在以下參照圖 9更詳細(xì)地描述。 一示例會議對象414在以下參照圖10更詳細(xì)地描述。
各個(gè)協(xié)同對象402、 404、 406、 408、 410、 412、 414、 416和418可提供應(yīng)用 程序編程接口,用于創(chuàng)建和刪除協(xié)同對象402、 404、 406、 408、 410、 412、 414、 416和418實(shí)例,以及用于適當(dāng)?shù)夭樵兒筒倏v協(xié)同對象402、 404、 406、 408、 410、 412、 414、 416和418屬性。在本發(fā)明一實(shí)施例中,其中協(xié)同對象402、 404、 406、 408、 410、 412、 414、 416和418被描述為引用其它協(xié)同對象402、 404、 406、 408、 410、 412、 414、 416和418,被引用的對象或其副本可相反被結(jié)合到引用對象中和 /或與之結(jié)合成一體。 一個(gè)編程對象可用任何適當(dāng)編程引用機(jī)制來引用另一個(gè)編程 對象。適當(dāng)?shù)木幊桃脵C(jī)制包括指針、顯式引用、相關(guān)聯(lián)散列碼及其等效體、以及 為專門目的設(shè)計(jì)的編程語言功能部件。
現(xiàn)在參照圖4更詳細(xì)地描述以上所介紹的編程對象402、 404、 406、 408、 410、 412、 414、 416和418。每個(gè)編程對象402、 404、 406、 408、 410、 412、 414、 416 和418可包括一個(gè)或多個(gè)應(yīng)用程序編程接口元素。每個(gè)應(yīng)用程序編程接口元素可包 括一種或多種接口規(guī)范,這些接口規(guī)范指定包括協(xié)同服務(wù)平臺302 (圖3)的計(jì)算 機(jī)102 (圖1)系統(tǒng)組件可配置、控制編程對象402、 404、 406、 408、 410、 412、 414、 416和418和/或與之交互的一種方式。如對本領(lǐng)域技術(shù)人員顯而易見的,接
口規(guī)范可包括對象屬性規(guī)范、變量規(guī)范、功能調(diào)用規(guī)范、程序?qū)ο笠?guī)范、諸如請求 /響應(yīng)消息對的消息規(guī)范、和/或任何其它適當(dāng)?shù)木幊探涌谝?guī)范。
圖5示出根據(jù)本發(fā)明一實(shí)施例的一實(shí)例聯(lián)系人對象500。聯(lián)系人對象500適于 結(jié)合到系統(tǒng)對象模型400 (圖4)中。聯(lián)系人對象500可結(jié)合應(yīng)用程序編程接口元 素,包括名字元素502、在場元素504、伙伴標(biāo)記元素506、以及靠近元素508。
名字元素502可包括用于與聯(lián)系人對象500相關(guān)聯(lián)的聯(lián)系人的友好名字。該 友好名字可被編碼為例如富文本字符串。在場元素504可包括對在場對象404 (圖 4)實(shí)例的引用。
伙伴標(biāo)記元素506可包括與聯(lián)系人對象500相關(guān)聯(lián)的聯(lián)系人被分類為"伙伴" 類聯(lián)系人的指示符。被分類為"伙伴"的聯(lián)系人可以各種各樣的方式有特權(quán)。例如, 伙伴可以是受信任的聯(lián)系人,伙伴可被給予例如邀請優(yōu)先權(quán)的優(yōu)先權(quán),并且伙伴可 被自動地包括在協(xié)同服務(wù)平臺用戶向其預(yù)訂例如在場數(shù)據(jù)的一組聯(lián)系人中?;锇轭?聯(lián)系人在計(jì)算上可比普通聯(lián)系人更為昂貴,且其數(shù)量是受限制的,例如在伙伴標(biāo)記 應(yīng)用程序編程接口元素506中嵌入一測試。
靠近元素508可包括物理靠近度量和/或虛擬靠近度量。例如,物理靠近度量 可以是在無線網(wǎng)絡(luò)接口上接收的信號強(qiáng)度的度量。當(dāng)然,靠近應(yīng)用程序編程接口元 素508無需受限于響應(yīng)靠近查詢的單個(gè)度量。例如,靠近査詢可請求一原始靠近度 量、時(shí)間平均靠近度量、量化靠近度量("信號強(qiáng)度柱形圖")和/或任何適當(dāng)靠近 度量。
圖6示出根據(jù)本發(fā)明一實(shí)施例的一示例在場對象600。該在場對象600適于結(jié) 合在協(xié)同對象模型400 (圖4)中。在場對象600包含包括一富文本描述元素602、 端點(diǎn)元素604、聚集狀態(tài)元素606、聚集能力元素608、發(fā)布對象元素610、新活動 邀請?jiān)?12、現(xiàn)有活動邀請?jiān)?14、按類尋找能力元素616、按類尋找發(fā)布對 象元素618、以及發(fā)布對象元素620的應(yīng)用程序編程接口。
富文本描述元素602可包括描述與在場對象600相關(guān)聯(lián)的網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)在場的富文本串。簡單的實(shí)例包括"現(xiàn)在在9號大樓"、"在玩Halo⑧第4 級"和"不在"。端點(diǎn)元素604可包括在一個(gè)或多個(gè)協(xié)同活動中活動、最近活動、 和/或能夠變成活動參與者的的一組協(xié)同端點(diǎn)。適當(dāng)協(xié)同端點(diǎn)的示例包括計(jì)算機(jī) 204、 206、 208、 212、 214和216、以及網(wǎng)絡(luò)化計(jì)算環(huán)境200的覆蓋網(wǎng)的對等體。
聚集狀態(tài)元素606可包括代表一組協(xié)同端點(diǎn)上協(xié)同在場的聚集在場狀態(tài)指示 符。每個(gè)協(xié)同端點(diǎn)可具有相關(guān)聯(lián)的在場狀態(tài),例如在線、走開、外出午餐、馬上回 來、空閑、電話中或忙碌。與一組端點(diǎn)相關(guān)聯(lián)的聚集在場狀態(tài)無需與該組中任一端 點(diǎn)相關(guān)聯(lián)的狀態(tài)相同。甚至當(dāng)聚集在場狀態(tài)與該組中的至少一個(gè)端點(diǎn)相同時(shí),它也 可與其它的一個(gè)或多個(gè)不同。
聚集在場狀態(tài)可用各種聚集在場狀態(tài)算法的一種或多種來確定。在場狀態(tài)水 平可分級,且該聚集狀態(tài)可被設(shè)置成一組端點(diǎn)中的最高分級狀態(tài)。聚集狀態(tài)可以是 各個(gè)狀態(tài)值的加權(quán)平均,或者是各個(gè)狀態(tài)值的其它適當(dāng)線性或非線性變換。各個(gè)狀 態(tài)值還可在變換前適當(dāng)排序。所利用的聚集在場狀態(tài)算法可取決于該組中各個(gè)端點(diǎn) 的數(shù)量。
聚集能力元素608可包括與協(xié)同在場相關(guān)聯(lián)的一個(gè)聚集能力集合。協(xié)同在場 中的各個(gè)端點(diǎn)可具有與之相關(guān)聯(lián)的一組能力,例如相關(guān)于協(xié)同活動的能力。這些聚 集能力可以是各個(gè)端點(diǎn)的各個(gè)能力的簡單聚集。另一方面,聚集能力的集合可受限 于在各個(gè)端點(diǎn)上呈現(xiàn)的那些能力。按照更為復(fù)雜的聚集能力確定算法,這些極限的 組合是可能的。例如,聚集能力的集合可以是加權(quán)平均處理的結(jié)果,或者是各個(gè)端 點(diǎn)的能力的其它適當(dāng)線性或非線性變換。此外,聚集能力級別或百分比可與該個(gè)集 合的聚集能力中的每個(gè)能力相關(guān)聯(lián)。
發(fā)布對象元素610可包括與協(xié)同在場相關(guān)聯(lián)的一個(gè)發(fā)布對象集合。盡管能力 對象412 (圖4)可以是一類發(fā)布對象418,但兩者的區(qū)別之處在于與能力對象實(shí) 例412相關(guān)聯(lián)的能力通常是長期的(例如在數(shù)天、數(shù)周甚至數(shù)年的數(shù)量級上),而 與基本發(fā)布對象418實(shí)例相關(guān)聯(lián)的發(fā)布數(shù)據(jù)通常是短期的(例如在數(shù)秒、數(shù)分鐘或 數(shù)小時(shí)的數(shù)量級上)。該區(qū)別可用于最優(yōu)化計(jì)算機(jī)系統(tǒng)性能。
新活動邀請?jiān)?12可使協(xié)同服務(wù)平臺302(圖3)用戶能邀請與在場對象600 相關(guān)聯(lián)的聯(lián)系人參與一新的協(xié)同活動。這可能是用于主宿該活動的關(guān)聯(lián)會議尚不存 在,并且如果邀請被接受則將創(chuàng)建一個(gè)關(guān)聯(lián)會議。該邀請可被傳遞給端點(diǎn)元素604 所引用的每個(gè)端點(diǎn),僅傳遞給與在線在場狀態(tài)相關(guān)聯(lián)的那些端點(diǎn),邀請可被按一次 序傳遞給與協(xié)同在場相關(guān)聯(lián)的每個(gè)端點(diǎn),例如按根據(jù)與該次序中每個(gè)端點(diǎn)相關(guān)聯(lián)的 在場狀態(tài)所確定的次序,或其它適當(dāng)?shù)难垈鬟f策略。
在邀請聯(lián)系人加入現(xiàn)有會議和/或活動時(shí),現(xiàn)有活動邀請應(yīng)用程序編程接口元 素614可以是優(yōu)選的。當(dāng)已建立了一個(gè)會議和/或活動時(shí), 一些協(xié)同參數(shù)可能是不 可協(xié)商的,或者是較少可協(xié)商的,例如僅在由當(dāng)前參與者所使用的協(xié)同參數(shù)所確定 的范圍內(nèi)可協(xié)商。此外,較少的靈活性可限制有資格參與、因而是接收邀請的候選 人的端點(diǎn)的在場。
按類尋找能力元素616可使協(xié)同服務(wù)平臺302(圖3)用戶能向與在場對象600 相關(guān)聯(lián)的在場査詢與多個(gè)能力類型的一個(gè)或多個(gè)相關(guān)聯(lián)的能力。能力類型的示例包 括諸如聊天、音頻和視頻的應(yīng)用程序類型,諸如音頻輸出、音頻輸入、視頻輸出、 視頻輸入的應(yīng)用程序能力,諸如帶寬、音頻質(zhì)量和視頻分辨率的端點(diǎn)資源,或任何 適當(dāng)?shù)膮f(xié)同能力類型。按類尋找能力元素616可用各個(gè)端點(diǎn)的能力和/或聚集在場 能力對查詢作出響應(yīng)。
按類尋找發(fā)布對象元素618可使協(xié)同服務(wù)平臺302 (圖3)用戶能向與在場對 象600相關(guān)聯(lián)的在場査詢與該在場相關(guān)聯(lián)的發(fā)布對象,例如發(fā)布對象元素610可訪 問的發(fā)布對象。發(fā)布對象類型可根據(jù)關(guān)聯(lián)富文本串確定。例如,那些與同一富文本 串相關(guān)聯(lián)的發(fā)布對象418 (圖4)實(shí)例可被確定為是同一類型。
發(fā)布對象元素620可使與在場相關(guān)聯(lián)的數(shù)據(jù)能夠發(fā)布。例如,可更新由發(fā)布 對象元素610所維護(hù)的一組在場對象。在本發(fā)明一實(shí)施例中,發(fā)布對象應(yīng)用程序編 程接口元素620可被結(jié)合到發(fā)布對象應(yīng)用程序編程接口元素610中。
圖7示出根據(jù)本發(fā)明一實(shí)施例的一示例發(fā)布對象700。該發(fā)布對象700適于結(jié) 合到協(xié)同對象模型400 (圖4)中。發(fā)布對象700可結(jié)合應(yīng)用程序編程接口元素, 包括獲授權(quán)用戶元素702以及發(fā)布數(shù)據(jù)元素704。
獲授權(quán)用戶元素702可引用與獲授權(quán)預(yù)訂關(guān)聯(lián)于發(fā)布對象700的數(shù)據(jù)的聯(lián)系 人相關(guān)聯(lián)的一個(gè)或多個(gè)聯(lián)系人對象402 (圖4)實(shí)例。數(shù)據(jù)訪問控制可以是粗粒度 的,例如允許或阻止,或者是細(xì)粒度的,例如包括對數(shù)據(jù)創(chuàng)建、讀取、更新和刪除 特權(quán)的控制。發(fā)布數(shù)據(jù)元素708可維護(hù)與發(fā)布對象700相關(guān)聯(lián)的一組發(fā)布數(shù)據(jù)。任 何一組適當(dāng)?shù)臄?shù)據(jù)可與發(fā)布對象700相關(guān)聯(lián)地發(fā)布。
圖8示出根據(jù)本發(fā)明一實(shí)施例的一示例能力對象800。該能力對象800適于結(jié) 合到協(xié)同對象模型400 (圖4)中。能力對象800可結(jié)合應(yīng)用程序編程接口元素, 包括關(guān)聯(lián)應(yīng)用程序元素802以及應(yīng)用程序數(shù)據(jù)元素804。
關(guān)聯(lián)應(yīng)用程序元素802可包括對實(shí)現(xiàn)與能力對象800相關(guān)聯(lián)的能力的一組協(xié) 同應(yīng)用程序的引用。應(yīng)用程序數(shù)據(jù)元素804可包括配置關(guān)聯(lián)應(yīng)用程序元素802所引 用的那組協(xié)同應(yīng)用程序的每一個(gè)所需的數(shù)據(jù)和/或數(shù)據(jù)規(guī)范。
圖9示出根據(jù)本發(fā)明一實(shí)施例的一示例MeContact對象900。該MeContact 對象900適于結(jié)合到協(xié)同對象模型400 (圖4)中。MeContact對象900可結(jié)合應(yīng) 用程序編程接口元素,包括聯(lián)系人元素902、伙伴元素904、獲授權(quán)用戶元素906、 活動用戶元素908、會議元素910、按類尋找能力元素912、以及按類尋找發(fā)布對
象元素914。
聯(lián)系人元素902可包括對與為關(guān)聯(lián)于MeContact對象900的協(xié)同服務(wù)平臺302 (圖3)用戶所知的聯(lián)系人相關(guān)聯(lián)的一組聯(lián)系人對象402 (圖4)實(shí)例的引用?;?伴元素904可包括對與為協(xié)同服務(wù)平臺302 (圖3)用戶所知的、并且也是例如由 聯(lián)系人對象500的伙伴標(biāo)記元素506 (圖5)所指示的伙伴類聯(lián)系人的聯(lián)系人相關(guān) 聯(lián)的一組聯(lián)系人對象402 (圖4)實(shí)例的引用。僅僅在伙伴元素904所引用的那組 聯(lián)系人對象402實(shí)例中的出現(xiàn)指示該關(guān)聯(lián)聯(lián)系人是一伙伴類聯(lián)系人。由聯(lián)系人元素 902和伙伴元素904所引用的一組聯(lián)系人對象402實(shí)例可重疊,但在本發(fā)明的至少 一個(gè)實(shí)施例中這些組是排他性的。
獲授權(quán)用戶元素906可包括對與獲授權(quán)預(yù)訂關(guān)聯(lián)于MeContact對象900的發(fā) 布數(shù)據(jù)(諸如能力數(shù)據(jù))的聯(lián)系人相關(guān)聯(lián)的一組聯(lián)系人對象402 (圖4)實(shí)例的引 用。發(fā)布數(shù)據(jù)訪問控制可以是粗粒度的,例如阻止或允許訪問所有發(fā)布數(shù)據(jù),或者 是細(xì)粒度的,例如對每個(gè)發(fā)布對象418的創(chuàng)建、讀取、更新和刪除許可,或其組合。
活動用戶元素908可包括對與活動預(yù)訂由關(guān)聯(lián)于MeContact對象900的協(xié)同 服務(wù)平臺302 (圖3)用戶所發(fā)布數(shù)據(jù)的聯(lián)系人相關(guān)聯(lián)的一組聯(lián)系人對象402實(shí)例 的引用。當(dāng)然,由活動用戶元素908所引用的聯(lián)系人對象402實(shí)例應(yīng)當(dāng)與獲授權(quán)用 戶元素906所維護(hù)的許可相一致。
會議元素910可包括對與關(guān)聯(lián)于MeContact對象900的協(xié)同服務(wù)平臺302 (圖 3)用戶當(dāng)前參與的、最近參與的、和/或馬上將參與的會議相關(guān)聯(lián)的一組會議對象 414 (圖4)實(shí)例的引用。
按類尋找能力元素912可使協(xié)同服務(wù)平臺302(圖3)用戶向關(guān)聯(lián)于MeContact 對象900的聯(lián)系人査詢與多個(gè)能力類型的一個(gè)或多個(gè)相關(guān)聯(lián)的能力。例如,按類尋 找能力元素912可査詢由聯(lián)系人元素902、伙伴元素904和/或MeContact對象900 本身所引用的聯(lián)系人對象402 (圖4)實(shí)例。按類尋找能力元素912可用各個(gè)端點(diǎn) 的能力和/或聚集能力對該查詢作出響應(yīng)。按類尋找發(fā)布對象元素914可使用戶向 關(guān)聯(lián)于MeContact對象900的聯(lián)系人査詢發(fā)布數(shù)據(jù)。與按類尋找能力元素912—樣, 按類尋找發(fā)布對象元素914可査詢由聯(lián)系人元素902、伙伴元素904和/或MeContact 對象900本身所引用的發(fā)布對象418實(shí)例。
圖10示出根據(jù)本發(fā)明一實(shí)施例的一示例會議對象1000。該會議對象1000適 于結(jié)合到協(xié)同對象模型400 (圖4)中。會議對象1000可結(jié)合應(yīng)用程序編程接口元 素,包括會話信息元素1002、活動元素1004、管理員元素1006、獲授權(quán)成員元素 1008、和啟動活動元素1010。
在本發(fā)明一實(shí)施例中,例如與會議對象1000相關(guān)聯(lián)會議的會議有包括組織、 管理和/或維護(hù)一個(gè)或多個(gè)協(xié)同服務(wù)平臺302 (圖3)用戶正在參與的一個(gè)或多個(gè)協(xié) 同活動的作用。會話信息元素1002可包括會議層會話信息。性能最優(yōu)化可通過采 集會議層活動級會話信息來實(shí)現(xiàn)?;顒釉?004可包括對一個(gè)或多個(gè)活動對象416 (圖4)實(shí)例的引用。
管理員元素1006可引用與獲授權(quán)作為該會議管理員的聯(lián)系人相關(guān)聯(lián)的一個(gè)或 多個(gè)聯(lián)系人對象402 (圖4)實(shí)例。管理員特權(quán)可包括添加和取出獲授權(quán)參與者和/ 或活動。獲授權(quán)成員元素1008可引用與獲授權(quán)參與關(guān)聯(lián)于會議的活動的聯(lián)系人相 關(guān)聯(lián)的一個(gè)或多個(gè)聯(lián)系人對象402實(shí)例。授權(quán)可以是粗粒度的,例如阻止或允許特 定聯(lián)系人參與所有會議活動;可以是細(xì)粒度的,例如可授予許可以啟動新活動或結(jié) 束現(xiàn)有活動,全面地參與各個(gè)活動或有限地參與(例如"觀察者狀態(tài)"),或其組合。
啟動活動元素IOIO可向會議添加一新活動。參與和離開活動可按會議、按活 動、或按兩者的組合管理。在各情形中,會議對象IOOO應(yīng)用程序編程接口元素可 迫使與管理員元素1006和/或獲授權(quán)成員元素1008 —致。
現(xiàn)在描述例如由協(xié)同服務(wù)平臺302 (圖3)執(zhí)行的并根據(jù)協(xié)同對象模型400 (圖 4)的詳細(xì)方法。圖11示出根據(jù)本發(fā)明一實(shí)施例的由協(xié)同服務(wù)平臺302執(zhí)行的示例 步驟。在步驟1102,可選擇一聯(lián)系人對象402實(shí)例。例如,可用聯(lián)系人管理服務(wù) 304的用戶界面選擇儲存在聯(lián)系人存儲318中的一聯(lián)系人對象402實(shí)例。
在步驟1104,可向所選聯(lián)系人對象402 (圖4)實(shí)例查詢其關(guān)聯(lián)在場對象404 實(shí)例。例如,所選聯(lián)系人對象500的在場元素504 (圖5)可用來訪問關(guān)聯(lián)在場對 象404實(shí)例。
在步驟1106,可確定與所選聯(lián)系人對象402 (圖4)實(shí)例相關(guān)聯(lián)的聯(lián)系人是否 出現(xiàn)在網(wǎng)絡(luò)化計(jì)算環(huán)境200 (圖2)中。例如,該聯(lián)系人的聚集在場狀態(tài)可從在步 驟1104檢索到的在場對象600的聚集狀態(tài)元素606中取得,并且如果聯(lián)系人的聚 集在場狀態(tài)為在線,則該聯(lián)系人可被確定為出現(xiàn)。如果該聯(lián)系人被確定為出現(xiàn),則 該過程可繼續(xù)到步驟1108。否則該過程可退出。此時(shí)該聯(lián)系人不可用于協(xié)同。
可替換地,在繼續(xù)到步驟1108之前,步驟1104和1106可用預(yù)訂所選聯(lián)系人 的在場信息并等待直至通知指示所選聯(lián)系人出現(xiàn)的步驟代替。
在步驟1108,可向所選聯(lián)系人對象402 (圖4)查詢一組關(guān)聯(lián)能力對象412實(shí) 例。例如,在步驟1104 (和/或步驟1110)檢索到的在場對象404實(shí)例的按類尋找
能力元素616 (圖6)可用來獲取一組相關(guān)的能力。要檢査的該特定一組能力可取 決于一個(gè)或多個(gè)目標(biāo)協(xié)同活動。例如,涉及語音的會議可觸發(fā)對音頻輸入能力的檢
查。在步驟1112,可確定所選聯(lián)系人是否具有所需能力。如果所選聯(lián)系人的確具 有所需能力,則過程可繼續(xù)到圖12的步驟1202。否則該過程退出。步驟1112無 需受限于一簡單測試。步驟1112可包括例如由信令服務(wù)308 (圖3)協(xié)調(diào)的一協(xié)商, 以確定該組能力的任一個(gè)對一個(gè)或多個(gè)目標(biāo)活動是否足夠。
圖12示出根據(jù)本發(fā)明一實(shí)施例的由協(xié)同服務(wù)平臺302執(zhí)行的其它示例步驟。 圖11和12的步驟由標(biāo)記為1114和1116的圓連接。己確定了所選聯(lián)系人出現(xiàn)在網(wǎng) 絡(luò)化計(jì)算環(huán)境200 (圖2)中并且能夠參與期望的一個(gè)或多個(gè)協(xié)同活動,就可在步 驟1202向所選聯(lián)系人發(fā)送一個(gè)或多個(gè)邀請。例如,邀請可由計(jì)算機(jī)212 (圖2)上 的邀請服務(wù)326 (圖3)發(fā)送。
在步驟1204,可由所選聯(lián)系人接收一個(gè)或多個(gè)邀請。例如,邀請之一可由計(jì) 算機(jī)208 (圖2)上的邀請服務(wù)326 (圖3)接收。在步驟1206,所選聯(lián)系人可對 一個(gè)或多個(gè)邀請作出響應(yīng)。例如,所選聯(lián)系人可利用計(jì)算機(jī)208上的邀請服務(wù)326 的用戶界面向邀請之一作出響應(yīng)。
在步驟1208,可確定是否接受該邀請。例如,計(jì)算機(jī)212上的邀請服務(wù)326 可接收在步驟1206發(fā)送的響應(yīng),并且該響應(yīng)的內(nèi)容可確定是否接受邀請。如果接 受邀請,則過程可繼續(xù)到步驟1210。否則該過程可退出。步驟1204、 1206和1208用虛線1212標(biāo)出以高亮對邀請作出響應(yīng)時(shí)過程變化 的可能性。對同一活動發(fā)出多個(gè)邀請的一個(gè)原因是所選聯(lián)系人在網(wǎng)絡(luò)化計(jì)算環(huán)境 200 (圖2)中的出現(xiàn)可包括多個(gè)端點(diǎn)。例如,協(xié)同服務(wù)平臺302 (圖3)用戶可就 同一活動從計(jì)算機(jī)212向計(jì)算機(jī)216、 206和208發(fā)出三個(gè)邀請。例如,計(jì)算機(jī)216 可以是所選聯(lián)系人的辦公室臺式PC,計(jì)算機(jī)206可以是所選聯(lián)系人的膝上型計(jì)算 機(jī),而計(jì)算機(jī)208可以是所選聯(lián)系人的個(gè)人數(shù)字助理(PDA)??稍谝粋€(gè)以上端點(diǎn) 向所選聯(lián)系人顯示邀請。例如,所選聯(lián)系人可在計(jì)算機(jī)208 (在此示例中為PDA) 上拒絕或忽略該邀請,但在計(jì)算機(jī)206 (膝上型計(jì)算機(jī))上接受該邀請。 一種可能 性是所選聯(lián)系人簡單地不對該邀請作出響應(yīng)。這可導(dǎo)致超時(shí)和退出該過程。
步驟1212的另一種可能性是協(xié)同服務(wù)平臺302 (圖3)用戶在計(jì)算機(jī)212 (圖 2)上向子網(wǎng)218中的各個(gè)其它計(jì)算機(jī)214和216發(fā)出一活動邀請。在該情形中, 每個(gè)聯(lián)系人可并行地作出響應(yīng)。
已在步驟1210接受了邀請,所選聯(lián)系人可參加協(xié)同活動的關(guān)聯(lián)會議。例如,
該會議可在計(jì)算機(jī)212 (圖2)上主宿,并且所選聯(lián)系人可利用信令服務(wù)308 (圖3) 和/或活動服務(wù)310從計(jì)算機(jī)206參加會議。在步驟1214,可發(fā)生結(jié)合活動的協(xié)同。
現(xiàn)在更詳細(xì)地描述邀請服務(wù)326 (圖3)的一個(gè)示例。具體地,高亮了邀請服 務(wù)326、協(xié)同服務(wù)平臺302和與協(xié)同服務(wù)平臺302 (雖然通常引用它)不同的協(xié)同 應(yīng)用程序之間的交互。在本發(fā)明一實(shí)施例中,這些交互的處理歸因于協(xié)同服務(wù)平臺 302的可使用性、可擴(kuò)展性、靈活性、可維護(hù)性和/或可升級性,以及因而其供在廣 泛范圍采用的適用性。
圖13示出根據(jù)本發(fā)明一實(shí)施例的一示例邀請情形。第一計(jì)算機(jī)302的任務(wù)可 以是啟動與第二計(jì)算機(jī)1304的一個(gè)或多個(gè)協(xié)同活動。例如,計(jì)算機(jī)1302和1304 可以是圖2的網(wǎng)絡(luò)化計(jì)算環(huán)境200中計(jì)算機(jī)204、 206、 208、 212、 214或216的任 一個(gè)。計(jì)算機(jī)1302和1304各自可包括一計(jì)算機(jī)操作系統(tǒng)1306和1308。計(jì)算機(jī)操 作系統(tǒng)1306和1308各自可包括一協(xié)同服務(wù)平臺模塊1310和1312。計(jì)算機(jī)操作系 統(tǒng)1302和1304不必是相同的。協(xié)同服務(wù)平臺模塊1310和1312可與協(xié)同服務(wù)平臺 302 (圖3)相一致。
計(jì)算機(jī)操作系統(tǒng)1306和1308可包括諸如圖形用戶界面(GUI)的邀請用戶界 面(UI) 1314和1316。在本發(fā)明一實(shí)施例中,邀請用戶界面(UI) 1314和1316 被分別結(jié)合到協(xié)同服務(wù)平臺模塊1310和1312。計(jì)算機(jī)1302和1304可進(jìn)一步包括 協(xié)同應(yīng)用程序1318和1320。盡管在此示例中與協(xié)同服務(wù)平臺模塊1310和1312不 同,但在本發(fā)明一實(shí)施例中,協(xié)同應(yīng)用程序1318和1320可被結(jié)合到協(xié)同服務(wù)平臺 模塊1310和1312中。
基本的協(xié)同邀請協(xié)議可包括三個(gè)消息協(xié)同邀請消息1322、協(xié)同響應(yīng)消息 1324、以及邀請刪除消息1326。
協(xié)同邀請消息1322可包括一邀請標(biāo)識符、 一個(gè)或多個(gè)能力標(biāo)識符、應(yīng)用程序 數(shù)據(jù)和一消息。邀請標(biāo)識符可唯一地表示該邀請。例如,邀請標(biāo)識符可以是如在微 軟開發(fā)者網(wǎng)絡(luò)(MSDN )庫中的.NET框架類庫(文檔版本l丄l)的Guid結(jié)構(gòu)部 分中所述的全球唯一標(biāo)識符(GUID)。每個(gè)能力標(biāo)識符可引用表示關(guān)聯(lián)于邀請的協(xié) 同活動所需的協(xié)同能力的能力對象。例如,每個(gè)能力標(biāo)識符可以是全球唯一標(biāo)識符 (GUID)。應(yīng)用程序數(shù)據(jù)可包括和/或指定要傳遞給協(xié)同應(yīng)用程序的數(shù)據(jù),以便于 例如啟動協(xié)同活動。消息可以是包含標(biāo)準(zhǔn)或定制邀請文本的富文本串。
協(xié)同響應(yīng)消息1324可包括邀請標(biāo)識符、邀請響應(yīng)動作、響應(yīng)消息和擴(kuò)展響應(yīng) 數(shù)據(jù)。邀請標(biāo)識符可標(biāo)識響應(yīng)消息1324對其作出響應(yīng)的協(xié)同邀請。例如,邀請標(biāo)
識符可以是由協(xié)同邀請消息1322所提供的GUID。邀請響應(yīng)動作可指示響應(yīng)的類
型。例如,邀請響應(yīng)可以是拒絕、接受、忽略和出錯(cuò)之一。響應(yīng)消息可以是包含標(biāo) 準(zhǔn)或定制邀請響應(yīng)文本的富文本串。擴(kuò)展響應(yīng)數(shù)據(jù)可包括與本發(fā)明和/或協(xié)同活動 相關(guān)的任何適當(dāng)附加響應(yīng)數(shù)據(jù)。
邀請刪除消息1326可包括標(biāo)識刪除消息1326正在刪除之邀請的邀請標(biāo)識符。 例如,協(xié)同邀請消息1322可從計(jì)算機(jī)1302發(fā)送到計(jì)算機(jī)1304以邀請協(xié)同服務(wù)平 臺1312的用戶與協(xié)同服務(wù)平臺1310的用戶一起參與一協(xié)同活動。作為響應(yīng),協(xié)同 響應(yīng)消息1324可從計(jì)算機(jī)1304發(fā)送到計(jì)算機(jī)1302以指示是例如接受還是拒絕邀 請。在本發(fā)明一實(shí)施例中,協(xié)同服務(wù)平臺1310的用戶有可能通過從計(jì)算機(jī)1302 向計(jì)算機(jī)1304發(fā)送邀請刪除消息1326來刪除邀請。
在更詳細(xì)地描述示例協(xié)同邀請方法之前,描述邀請服務(wù)326 (圖3)的一示例 應(yīng)用程序編程接口 (API)將是有幫助的。圖14示出根據(jù)本發(fā)明一實(shí)施例的邀請 服務(wù)326的一示例應(yīng)用程序編程接口 (API) 1400。該邀請服務(wù)API 1400可包括邀 請?jiān)?402、創(chuàng)建邀請收聽器元素1404、發(fā)送安全邀請?jiān)?406、發(fā)送不安全邀 請?jiān)?408、刪除邀請?jiān)?410、響應(yīng)邀請?jiān)?412、獲取邀請響應(yīng)元素1414、 注冊/取消注冊能力元素1416、枚舉能力元素1418、和獲取能力信息元素1420。盡 管每個(gè)應(yīng)用程序編程接口元素1402、 1404、 1406、 1408、 1410、 1412、 1414、 1416、 1418和1420可被包括在結(jié)合到各個(gè)計(jì)算機(jī)1302和1304上的協(xié)同服務(wù)平臺模塊 1310和1312 (圖13)的邀請服務(wù)326 (圖3)的應(yīng)用程序編程接口中,但取決于 計(jì)算機(jī)1302、 1304是邀請者還是被邀請者或既是邀請者又是被邀請者可由計(jì)算機(jī) 1302和1304利用不同的元素1402、 1404、 1406、 1408、 1410、 1412、 1414、 1416、 1418和1420。
邀請?jiān)?402可包括和提供對與協(xié)同邀請消息1322協(xié)同的數(shù)據(jù)的部分或全 部的訪問。例如,協(xié)同邀請消息1322或其一部分可用邀請?jiān)?402儲存在邀請服 務(wù)326 (圖3)中和/或從中檢索。
創(chuàng)建邀請收聽器元素1404可在諸如計(jì)算機(jī)1302和1304 (圖13)的協(xié)同端點(diǎn) 上例示一邀請收聽器。接口規(guī)范參數(shù)可包括諸如因特網(wǎng)協(xié)議(IP)地址的端點(diǎn)標(biāo)識 符或P2P對等標(biāo)識符(每個(gè)計(jì)算機(jī)1302、 1304可有多個(gè)端點(diǎn))、端口標(biāo)識符(每 個(gè)端點(diǎn)可有多個(gè)通信端口)、以及用于配置或破壞邀請收聽器的邀請收集器標(biāo)識符。 例如,操作系統(tǒng)1308可利用創(chuàng)建邀請收聽器元素1404來創(chuàng)建在標(biāo)準(zhǔn)邀請和/或協(xié) 同服務(wù)端口上收聽的一邀請收聽器。協(xié)同應(yīng)用程序1320可利用邀請收聽器元素
1404來創(chuàng)建專用于收聽邀請以與協(xié)同應(yīng)用程序1320協(xié)同的定制邀請端口上的邀請
收聽器。
發(fā)送安全邀請?jiān)?406可使邀請消息1322 (圖13)能安全發(fā)送。接口規(guī)范 參數(shù)可包括對聯(lián)系人對象402 (圖4)實(shí)例的引用、對端點(diǎn)對象410實(shí)例的引用、 對要發(fā)送邀請消息1322的引用、對諸如一旦已接受到邀請響應(yīng)就要信令的事件的 執(zhí)行線程的同步對象的引用、以及對要由發(fā)送安全邀請?jiān)?406設(shè)置的邀請標(biāo)識 符的引用。邀請消息1322可被發(fā)送給與所引用的聯(lián)系人對象402實(shí)例相關(guān)聯(lián)的聯(lián) 系人。如果提供了端點(diǎn)對象410實(shí)例,則可將邀請消息1322發(fā)送給關(guān)聯(lián)端點(diǎn),否 則該邀請消息1322可在與所引用的聯(lián)系人對象402實(shí)例相關(guān)聯(lián)的聯(lián)系人出現(xiàn)時(shí)被 發(fā)送給每個(gè)端點(diǎn)。
要參與協(xié)同活動的決定可具有安全性后果。例如,要參與雙向文件共享的決 定可展現(xiàn)更改和/或刪除的數(shù)據(jù)。結(jié)果,協(xié)同服務(wù)平臺302 (圖3)的用戶可決定僅 接受來自受信任源的協(xié)同邀請。在本發(fā)明一實(shí)施例中,可在先前已交換聯(lián)系人信息 的用戶之間建立安全的通信連接。例如,聯(lián)系人信息可包含密碼認(rèn)證憑證,并且可 用諸如安全套接字層(SSL)的常規(guī)安全協(xié)議或用覆蓋網(wǎng)的安全服務(wù)供應(yīng)商(SSP) 技術(shù)來建立安全通信連接。
然而,用戶還可決定在特定情形下允許不安全邀請。發(fā)送不安全邀請?jiān)?408 可與發(fā)送安全邀請?jiān)?406相似,其不同之處在于例如不要求邀請發(fā)送者和接受 者先前已交換過聯(lián)系人信息。例如,發(fā)送不安全邀請?jiān)?408可用來將邀請消息 1322向子網(wǎng)218上的每個(gè)計(jì)算機(jī)212、 214和216 (圖2)廣播。不安全邀請可便 于特別協(xié)同以及諸如多玩家游戲的便于社交設(shè)置中的協(xié)同。
刪除邀請?jiān)?410可使刪除消息1326 (圖13)能發(fā)送。接口規(guī)范參數(shù)可包 括發(fā)送不安全邀請?jiān)?408的諸如發(fā)送安全邀請?jiān)?406所設(shè)置邀請標(biāo)識符的邀 請標(biāo)識符。邀請響應(yīng)元素1412可使響應(yīng)消息1324 (圖13)能發(fā)送。接口規(guī)范參數(shù) 可包括邀請標(biāo)識符和邀請響應(yīng)動作。
發(fā)送安全邀請?jiān)?406和發(fā)送不安全邀請?jiān)?408各自可具有同步和異步 版本。例如,異步版本可發(fā)送邀請消息1322 (圖13),然后在檢査邀請響應(yīng)之前允 許以執(zhí)行線程執(zhí)行附加指令。相反,同步版本可等待而不以執(zhí)行線程執(zhí)行中進(jìn)一步 的指令,直到接受到響應(yīng)消息1324或超時(shí)。獲取邀請響應(yīng)元素1414可用來檢査和 /或等待對異步發(fā)送的邀請消息1322的響應(yīng)。接口規(guī)范參數(shù)可包括邀請標(biāo)識符和在 響應(yīng)消息1324到達(dá)時(shí)要對其設(shè)置的引用。發(fā)送邀請?jiān)?406和1408的同步版本
無需包括對線程同步對象的引用。
邀請服務(wù)1400可維護(hù)端點(diǎn)能力的登記表。注冊/取消注冊能力元素1416可使
能力能用邀請服務(wù)1400注冊和解除注冊。接口規(guī)范參數(shù)可包括對一個(gè)或多個(gè)能力 對象412 (圖4)實(shí)例的引用,以及對該一個(gè)或多個(gè)能力是相關(guān)于端點(diǎn)的一特定用 戶還是該端點(diǎn)的所有用戶的指示。每個(gè)能力對象412實(shí)例可與例如全球唯一標(biāo)識符 (GUID)的一能力標(biāo)識符相關(guān)聯(lián)。在本發(fā)明一實(shí)施例中,每個(gè)能力與一特定協(xié)同 應(yīng)用程序1318、 1320 (圖3)相關(guān)聯(lián)。邀請服務(wù)1400可包括用于注冊能力和解除 注冊能力的單獨(dú)的應(yīng)用程序編程接口元素。
枚舉能力元素1418可使向邀請服務(wù)1400注冊的能力能夠枚舉。接口規(guī)范參 數(shù)可包括對該枚舉應(yīng)包含與一端點(diǎn)的特定用戶相關(guān)聯(lián)的能力、還是與端點(diǎn)的所有用 戶相關(guān)聯(lián)的能力的指示。在本發(fā)明一實(shí)施例中,枚舉包括能力標(biāo)識符而非例如對能 力對象412 (圖4)實(shí)例的引用。該能力對象412實(shí)例然后可向獲取能力信息元素 1420檢索。
現(xiàn)在更詳細(xì)地描述示例協(xié)同邀請方法。協(xié)同邀請的基本環(huán)境是用戶是否與一 特定應(yīng)用程序交互以便于發(fā)送邀請和/或?qū)ζ渥鞒鲰憫?yīng)(特定情形),或者用戶是否 與應(yīng)用程序無關(guān)機(jī)制交互以發(fā)送邀請和/或?qū)ζ渥鞒鲰憫?yīng)(一般情形)。從一般到一 般、從特定到一般、從一般到特定、以及從特定到特定的四種情形在以下參照圖 15-18描述。
圖15描述根據(jù)本發(fā)明一實(shí)施例的用于發(fā)出邀請的示例步驟。在步驟1502,可 調(diào)用一般邀請用戶界面(UI)。例如,協(xié)同服務(wù)平臺302 (圖3)可調(diào)用邀請服務(wù) 326的用戶界面。在步驟1504,可用一般邀請用戶界面選擇一個(gè)或多個(gè)聯(lián)系人。例 如,邀請服務(wù)326的用戶界面可與聯(lián)系人管理服務(wù)304交互以顯示用戶已知聯(lián)系人 列表或者例如伙伴類聯(lián)系人列表,并且用戶可通過圖形從那些所顯示的列表中選擇 一組聯(lián)系人。
在步驟1506,可用一般邀請用戶界面選擇活動。例如,邀請服務(wù)326 (圖3) 的用戶界面可與活動服務(wù)310交互以顯示可用協(xié)同活動列表、或例如流行或最近使 用活動列表,并且用戶可通過圖形從那些所顯示的列表中選擇一協(xié)同活動。在步驟 1508,可確定一般邀請用戶界面要發(fā)送該邀請,或者例如要從特定協(xié)同應(yīng)用程序發(fā) 送該邀請。例如,確定可取決于邀請服務(wù)326的可配置參數(shù)。如果確定一般邀請用 戶界面要發(fā)送該邀請,則過程可繼續(xù)到步驟1510。否則,過程可繼續(xù)到步驟1512。
在步驟1510,可啟動與在步驟1506選擇的活動相關(guān)聯(lián)的協(xié)同應(yīng)用程序。步驟
1510用虛線外框示出以指示盡管此時(shí)可啟動應(yīng)用程序,但一般邀請用戶界面可
保留對執(zhí)行線程的控制并繼續(xù)到步驟1514。這與步驟1516相反。
在步驟1512,可儲存與諸如在步驟1504選擇的聯(lián)系人等迄今為止收集的邀請 相關(guān)的細(xì)節(jié)、以及與在步驟1506選擇的活動相關(guān)聯(lián)的任何配置參數(shù),以供與該活 動相關(guān)聯(lián)的協(xié)同應(yīng)用程序檢索。在步驟1516,啟動協(xié)同應(yīng)用程序,且一般邀請用 戶界面放棄對該過程的控制。
在步驟1514,可用邀請服務(wù)1400 (圖14)應(yīng)用程序編程接口,例如如上所述 的發(fā)送安全邀請?jiān)?406或發(fā)送不安全邀請?jiān)?408發(fā)送邀請。盡管可用同一應(yīng) 用程序編程接口元素1406、 1408發(fā)送邀請,但在過程從步驟1510繼續(xù)到步驟1514 時(shí),元素1406、 1408由一般邀請用戶界面調(diào)用,而在過程從步驟1516繼續(xù)到步驟 1514時(shí),元素1406、 1408由協(xié)同應(yīng)用程序調(diào)用。結(jié)果,傳遞到元素1406、 1408 的接口規(guī)范參數(shù)可不同。
在步驟1502開始的過程描述了 "從一般"情形之一,因?yàn)槭褂昧艘话阊堄?戶界面。相反,步驟1518以"從特定"情形開始。在步驟1518,可啟動協(xié)同應(yīng)用 程序。例如,可由計(jì)算機(jī)操作系統(tǒng)1306以常規(guī)方式啟動應(yīng)用程序1308 (圖13)。 步驟1518是步驟1520的預(yù)備條件,并且在步驟1518與1520之間可經(jīng)過相當(dāng)時(shí)間。
在步驟1520,可用協(xié)同應(yīng)用程序1318 (圖13)的用戶界面來選擇一個(gè)或多個(gè) 聯(lián)系人。例如,協(xié)同應(yīng)用程序1318可與協(xié)同服務(wù)平臺1310的聯(lián)系人管理服務(wù)304 (圖3)交互以顯示應(yīng)用程序用戶的己知聯(lián)系人列表或例如伙伴類聯(lián)系人列表,并 且應(yīng)用程序用戶可從那些所顯示列表中選擇一組聯(lián)系人。與從步驟1504起的進(jìn)展 相反,協(xié)同活動的選擇是不必要的,并且過程可繼續(xù)到步驟1514。協(xié)同應(yīng)用程序 1318可確定協(xié)同活動。然而,在本發(fā)明一實(shí)施例中,協(xié)同應(yīng)用程序1318可支持多 個(gè)活動,在該情形中步驟1506的等效體可能是適當(dāng)?shù)摹T诓襟E1514,發(fā)送邀請?jiān)?素1406或1408 (圖14)可由協(xié)同應(yīng)用程序1318調(diào)用。
圖16示出根據(jù)本發(fā)明一實(shí)施例的由邀請服務(wù)1400 (圖14)執(zhí)行的發(fā)送邀請 的示例步驟。在步驟1602,選擇下一候選聯(lián)系人。例如,候選聯(lián)系人可從在圖15 的步驟1504或1520選擇的組中選擇。
在步驟1604,可確定候選聯(lián)系人的端點(diǎn)是否為已知。例如,可向由表示候選 聯(lián)系人的聯(lián)系人對象402所引用的在場對象404(圖4)査詢它的一組端點(diǎn)對象410。 如果沒有候選聯(lián)系人的端點(diǎn)為已知(例如查詢結(jié)果為空集),則過程可繼續(xù)到步驟 1606。如果候選聯(lián)系人的端點(diǎn)為已知,則過程可繼續(xù)到步驟1608。在步驟1606,
可定位候選聯(lián)系人的端點(diǎn)。例如,邀請服務(wù)326 (圖3)可與聯(lián)系人位置服務(wù)322
交互以確定候選聯(lián)系人的一組有效端點(diǎn)。
在步驟1608,可從候選聯(lián)系人的已知端點(diǎn)中選擇候選端點(diǎn)。在步驟1610,可 建立與候選端點(diǎn)的通信連接。例如,可建立與連接服務(wù)316 (圖3)的連接。在步 驟1612,可用邀請消息1322 (圖13)向例如候選端點(diǎn)發(fā)送邀請。
在步驟1614,可確定是否還有候選端點(diǎn)。如果還有候選端點(diǎn),則過程可返回 到步驟1608以選擇下一候選端點(diǎn)。否則該過程可繼續(xù)到步驟1616。在步驟1616, 可確定是否還有候選聯(lián)系人。如果還有候選聯(lián)系人,則過程可返回到步驟1602以 選擇下一候選聯(lián)系人。否則,邀請可被視為已發(fā)送。
已描述了四種情形的"從一般"和"從特定"部分,現(xiàn)在分別參照圖17和18 描述"到一般"和"到特定"部分。圖17示出根據(jù)本發(fā)明一實(shí)施例的對來自一般 邀請用戶界面的協(xié)同邀請作出響應(yīng)的示例步驟。當(dāng)向多個(gè)端點(diǎn)發(fā)送協(xié)同邀請時(shí),可 在每個(gè)端點(diǎn)上執(zhí)行圖17和/或18中所示的步驟。
在步驟1702,可在協(xié)同服務(wù)平臺302 (圖3)的標(biāo)準(zhǔn)通信端口上接收協(xié)同邀請。 例如,邀請消息1322 (圖3)可到達(dá)為協(xié)同服務(wù)平臺302保留并由邀請服務(wù)326 監(jiān)視的TCP/IP端口。
在步驟1704,可確定端點(diǎn)是否能參與關(guān)聯(lián)于該邀請的活動。例如,邀請服務(wù) 326 (圖3)可將邀請消息1322 (圖13)中的能力標(biāo)識符與已向邀請服務(wù)328注冊 的能力作比較?;蛘撸上蜿P(guān)聯(lián)于端點(diǎn)用戶的MeContact對象406 (圖4)査詢其 相關(guān)聯(lián)的一組能力對象412,并且該組能力對象412可與邀請消息1322中的能力 標(biāo)識符作比較。如果確定端點(diǎn)能夠參加與邀請相關(guān)聯(lián)的活動,則該過程可繼續(xù)到步 驟1706。否則,該過程可繼續(xù)到步驟1708。
在步驟1706,用戶可接受、拒絕或忽略邀請。例如,邀請服務(wù)326 (圖3)可 顯示具有與決定接受、拒絕或忽略相對應(yīng)的用戶界面元素的一般邀請用戶界面。 用戶可通過選擇相應(yīng)的用戶界面元素來接受、拒絕或忽略邀請。如果用戶接受邀請, 則過程可繼續(xù)到步驟1710。如果用戶拒絕邀請,則過程可繼續(xù)到步驟1708。如果 用戶忽略該邀請,則過程可繼續(xù)到步驟1712。
在步驟1708,可發(fā)送指示拒絕邀請的響應(yīng)消息1324 (圖13)。例如,響應(yīng)消 息1324可用對邀請服務(wù)1400應(yīng)用程序編程接口的邀請?jiān)?412 (圖14)的響應(yīng) 發(fā)送。類似地,在步驟1712,可發(fā)送指示用戶選擇忽略邀請的響應(yīng)消息1324。邀 請?jiān)?412還可用于發(fā)送該響應(yīng)。在本發(fā)明一實(shí)施例中,發(fā)送明確忽略響應(yīng)的能
力提高了協(xié)同服務(wù)平臺302 (圖3)的效率。
在步驟1710,可儲存所接受邀請的細(xì)節(jié)以供與協(xié)同活動相關(guān)聯(lián)的協(xié)同應(yīng)用程 序1320 (圖13)檢索。例如,邀請消息1322的部分或全部內(nèi)容可由邀請服務(wù)326 (圖3)用應(yīng)用程序編程接口的邀請?jiān)?402 (圖14)儲存。在步驟1714,可由 邀請服務(wù)326啟動協(xié)同應(yīng)用程序1320。
在步驟1716,可例如利用對邀請服務(wù)1400應(yīng)用程序編程接口的邀請?jiān)?412 (圖14)的響應(yīng),發(fā)送指示接受邀請的響應(yīng)消息1324 (圖13)。在從步驟1716進(jìn) 行到步驟1718時(shí),執(zhí)行的控制可傳遞給在步驟1714啟動的協(xié)同應(yīng)用程序1320。 或者,協(xié)同應(yīng)用程序1320可在并行執(zhí)行線程中啟動,這些線程按需同步,并且在 步驟1702接收邀請的邀請服務(wù)線程可在步驟1716作出響應(yīng)之后退出。
在步驟1718,協(xié)同應(yīng)用程序1320 (圖13)可讀取在步驟1710儲存的邀請細(xì) 節(jié)。例如,所儲存的邀請細(xì)節(jié)可導(dǎo)致協(xié)同應(yīng)用程序1320的部分(重新)配置。此 時(shí),協(xié)同應(yīng)用程序1320可準(zhǔn)備好開始參與協(xié)同活動,并且在步驟1720可開始參與 協(xié)同活動。
圖18示出根據(jù)本發(fā)明一實(shí)施例的用于響應(yīng)來自特定應(yīng)用程序用戶接口的協(xié)同 邀請的示例步驟。在步驟1802,可啟動協(xié)同應(yīng)用程序。例如,可由計(jì)算機(jī)操作系 統(tǒng)1304以常規(guī)方式啟動協(xié)同應(yīng)用程序1320 (圖13)。在步驟1804,協(xié)同應(yīng)用程序 1320可在非標(biāo)準(zhǔn)的應(yīng)用程序?qū)S脜f(xié)同通信端口上創(chuàng)建邀請收聽器。例如,協(xié)同應(yīng) 用程序1320可利用邀請服務(wù)1400應(yīng)用程序編程接口的創(chuàng)建邀請收聽器元素1404 (圖14)來在與為協(xié)同服務(wù)平臺302 (圖3)保留的端口不相同的TCP/IP端口上 創(chuàng)建一邀請收聽器。
稍后,在步驟1806,可在非標(biāo)準(zhǔn)端口上接收協(xié)同邀請。例如,在步驟1514 (圖 15)發(fā)送的邀請消息1322 (圖13)可能己被發(fā)送給應(yīng)用程序?qū)S枚丝诤?或端點(diǎn)。 在步驟1808,協(xié)同應(yīng)用程序1320用戶可接受、拒絕、或明確忽略邀請。例如,協(xié) 同應(yīng)用程序1320可顯示具有與決定接受、拒絕或忽略相對應(yīng)的用戶界面元素的 用戶界面。然后用戶可通過選擇相應(yīng)的用戶界面元素來選擇所需響應(yīng)。如果用戶接 受邀請,則過程可繼續(xù)到步驟1810。如果用戶拒絕邀請,則過程可繼續(xù)到步驟1812。 如果用戶忽略該邀請,則過程可繼續(xù)到步驟1814。
在各個(gè)步驟1810、 1812和1814,可向邀請者發(fā)送適當(dāng)?shù)难堩憫?yīng)。各個(gè)步驟 1810、 1812和1814可例如利用對邀請服務(wù)1400的邀請?jiān)?412 (圖14)的響應(yīng) 來用分別設(shè)置成接受、拒絕或忽略的邀請響應(yīng)動作發(fā)送響應(yīng)消息1324 (圖13)。因?yàn)橐褑恿怂鑵f(xié)同應(yīng)用程序1320 (圖13),所以如果接受了邀請則在步驟1816
可開始協(xié)同活動而無需進(jìn)一步的延遲。
現(xiàn)在更詳細(xì)地描述用于協(xié)同在場發(fā)布的示例方法。具體地,無服務(wù)器在場發(fā) 布,即不受對專用服務(wù)器計(jì)算機(jī)的需要的限制發(fā)布協(xié)同在場信息的能力在本發(fā)明一 實(shí)施例中是有利的。例如,無服務(wù)器網(wǎng)絡(luò)化計(jì)算機(jī)環(huán)境、對等網(wǎng)絡(luò)、或覆蓋網(wǎng)可比 需要專用服務(wù)器計(jì)算機(jī)的網(wǎng)絡(luò)和網(wǎng)絡(luò)應(yīng)用程序提供更佳的可升級性。網(wǎng)絡(luò)化計(jì)算環(huán)
境200 (圖2)可支持對等或覆蓋網(wǎng)。各個(gè)計(jì)算機(jī)204、 206、 208、 212、 214和216
可支持對等網(wǎng)絡(luò)的一個(gè)或多個(gè)對等體。每個(gè)對等體可以是一協(xié)同端點(diǎn)并與一端點(diǎn)對 象410 (圖4)實(shí)例相關(guān)聯(lián)。
如上所述,協(xié)同在場可由在場對象404 (圖4)表示。在場對象404的任何適 當(dāng)部分(包括全部)可向協(xié)同服務(wù)平臺302 (圖3)的用戶發(fā)布。此外,可發(fā)布由 在場對象404實(shí)例引用的編程對象實(shí)例,包括端點(diǎn)對象410、能力對象412和更多 的一般發(fā)布對象418。
但是,在本發(fā)明一實(shí)施例中一次發(fā)布通常是不夠的。在場信息可改變。例如, 發(fā)布對象418可通過協(xié)同應(yīng)用程序更新,與特定端點(diǎn)相關(guān)聯(lián)的聚集狀態(tài)和/或在場 狀態(tài)可在整個(gè)一天內(nèi)改變,端點(diǎn)可因?yàn)槔缤ㄟ^網(wǎng)絡(luò)化無線設(shè)備打開和關(guān)閉、或移 入和移出無線網(wǎng)絡(luò)覆蓋區(qū)域使一特定聯(lián)系人出現(xiàn)而添加或去除,端點(diǎn)能力可因?yàn)榘?裝了新的協(xié)同應(yīng)用程序而改變。有效的協(xié)同可能需要一致更新的在場信息。在本發(fā) 明一實(shí)施例中,協(xié)同在場信息與在場預(yù)訂和在場通知消息一起分布在諸如網(wǎng)絡(luò)化計(jì) 算環(huán)境200 (圖2)的無服務(wù)器網(wǎng)絡(luò)化計(jì)算環(huán)境中。
圖19示出根據(jù)本發(fā)明一實(shí)施例的用于參與無服務(wù)器在場發(fā)布的示例步驟。在 步驟1902,計(jì)算機(jī)用戶可向計(jì)算機(jī)的操作系統(tǒng)(OS)認(rèn)證。例如,用戶可登陸到 網(wǎng)絡(luò)化計(jì)算環(huán)境200的計(jì)算機(jī)204、 206、 208、 212、 214或216 (圖2)之一。適 當(dāng)?shù)挠?jì)算機(jī)操作系統(tǒng)包括能支持協(xié)同服務(wù)平臺302 (圖3)的計(jì)算機(jī)操作系統(tǒng),諸 如任何適當(dāng)版本的"微軟WINDOWS"或"UNIX"計(jì)算機(jī)操作系統(tǒng)。向計(jì)算機(jī)操 作系統(tǒng)認(rèn)證可建立計(jì)算機(jī)用戶的計(jì)算機(jī)識別身份,并且具體地可使計(jì)算機(jī)用戶與一 MeContact對象406 (圖4)實(shí)例相關(guān)聯(lián)。
在步驟1904,可初始化與協(xié)同服務(wù)平臺302的發(fā)布服務(wù)306 (圖3)的通信。 如上所述,發(fā)布服務(wù)306可以是無服務(wù)器的。例如,在步驟1904,計(jì)算機(jī)用戶可 加入結(jié)合有發(fā)布服務(wù)306的對等(P2P)網(wǎng)絡(luò)。在步驟1906,可例如用一個(gè)或多個(gè) 在場通知消息向發(fā)布服務(wù)306發(fā)布與計(jì)算機(jī)用戶相關(guān)聯(lián)的MeContact對象406 (圖
4)中所包含的和/或由其所引用的部分或全部數(shù)據(jù),由此建立計(jì)算機(jī)和協(xié)同服務(wù)平 臺302用戶的協(xié)同在場。
在步驟1908,可初始化與聯(lián)系人存儲318 (圖3)的通信。例如,聯(lián)系人存儲 可以是諸如數(shù)據(jù)庫的常規(guī)數(shù)據(jù)存儲,并且初始化與聯(lián)系人存儲318的通信可包括建 立與數(shù)據(jù)存儲的通信會話。在步驟1910,可向聯(lián)系人存儲318査詢用戶的伙伴類 聯(lián)系人。在本發(fā)明一實(shí)施例中,査詢聯(lián)系人存儲318包括去除對MeContact對象 406的伙伴元素904 (圖9)中所包括的聯(lián)系人對象402 (圖4)的一個(gè)或多個(gè)引用。
在步驟1912,可用在場預(yù)訂消息預(yù)訂例如伙伴類聯(lián)系人的在場,如以下參照 圖20和21更詳細(xì)地描述。在步驟1914,響應(yīng)于該預(yù)訂,可接收在場更新通知。 例如,當(dāng)具有關(guān)聯(lián)預(yù)訂的在場發(fā)生變化時(shí),在場通知消息可通過對等網(wǎng)絡(luò)發(fā)送。
圖20示出根據(jù)本發(fā)明一實(shí)施例的用于進(jìn)行在場預(yù)訂的示例步驟。例如,圖20 所示步驟可作為步驟1912 (圖19)的一部分執(zhí)行。要進(jìn)行預(yù)訂的一組伙伴類聯(lián)系 人從例如步驟1914等起可用。在步驟2002,可從該組中選擇下一候選伙伴類聯(lián)系 人。
在步驟2004,可對伙伴類聯(lián)系人進(jìn)行搜索。例如,可使用對等名稱解析協(xié)議 (PNRP)來在對等網(wǎng)絡(luò)中定位與伙伴類聯(lián)系人相關(guān)聯(lián)的端點(diǎn)。替換地或此外,可 在諸如子網(wǎng)218 (圖2)的本地網(wǎng)絡(luò)分區(qū)上搜索聯(lián)系人??山⑷魏芜m當(dāng)?shù)木W(wǎng)絡(luò)分 區(qū),和/或可在任何適當(dāng)?shù)木W(wǎng)絡(luò)分區(qū)上搜索聯(lián)系人。
該搜索可能是不成功的。例如,伙伴類聯(lián)系人可不具有對等網(wǎng)絡(luò)和/或本地網(wǎng) 絡(luò)分區(qū)中的關(guān)聯(lián)端點(diǎn)。在步驟2006,可確定是否發(fā)現(xiàn)了伙伴類聯(lián)系人。例如,對 等名稱解析協(xié)議可成功地將伙伴類聯(lián)系人的名字解析成對等網(wǎng)絡(luò)中的關(guān)聯(lián)協(xié)同端 點(diǎn)(例如對等體),或者可在標(biāo)識伙伴類聯(lián)系人的關(guān)聯(lián)端點(diǎn)(例如TCP/IP地址和通 信端口號)的局部網(wǎng)絡(luò)分區(qū)上接收到對消息廣播的回應(yīng)。如果發(fā)現(xiàn)了伙伴類聯(lián)系人,
則過程可繼續(xù)到步驟2008。否則,可假設(shè)缺席是暫時(shí)的,例如因?yàn)樵撀?lián)系人已被 分類為一伙伴,且過程可繼續(xù)到步驟2010。
因?yàn)楸环诸悶橐换锇闀砺?lián)系人通常是活動協(xié)同參與者的假設(shè),所以在本 發(fā)明一實(shí)施例中,周期性地搜索消失的伙伴類聯(lián)系人充分地提高了協(xié)同服務(wù)平臺 302 (圖3)雖然對計(jì)算和網(wǎng)絡(luò)資源的需求增長但仍成為合理功能部件的有效性。 在搜索之間該過程可在步驟2010等待。例如,搜索之間的周期可以是10分鐘。步 驟2010被虛線2012包圍以指示該等待以及可能的隨后步驟可用單獨(dú)的執(zhí)行線程進(jìn) 行。在例示等待步驟2010的單獨(dú)執(zhí)行線程之后,主執(zhí)行線程可繼續(xù)到步驟2014。 在已發(fā)現(xiàn)了伙伴類聯(lián)系人之后,在步驟2008,可向與聯(lián)系人(例如在步驟2004 發(fā)現(xiàn)的端點(diǎn))相關(guān)聯(lián)的端點(diǎn)發(fā)送在場預(yù)訂消息。在場預(yù)訂消息可指定對與聯(lián)系人相 關(guān)聯(lián)的部分或全部協(xié)同在場信息的預(yù)訂。例如,在場預(yù)訂消息可指定對可通過在場 對象600應(yīng)用程序編程接口的富文本描述元素602 (圖6)、端點(diǎn)元素604、聚集狀 態(tài)元素606、聚集能力元素608、以及發(fā)布對象元素610的一個(gè)或多個(gè)可訪問的在 場信息的預(yù)訂。例如響應(yīng)于步驟1914 (圖19)的預(yù)訂而發(fā)送的在場通知消息可能 僅在預(yù)訂所覆蓋的一部分在場改變時(shí)發(fā)送、并且可能僅需包括已改變的那部分在場
{曰息。
在步驟2014,可確定在該組伙伴類聯(lián)系人中是否還有伙伴類聯(lián)系人。如果還 有伙伴類聯(lián)系人,則過程可返回到步驟2002以從該組中選擇下一個(gè)聯(lián)系人。否則, 過程可繼續(xù)到諸如步驟1914 (圖19)和/或圖21的步驟2102的其它步驟。
圖21示出根據(jù)本發(fā)明一實(shí)施例的用于接受在場預(yù)訂的示例步驟。在步驟 2102,可接收在場預(yù)訂消息。例如,這可以是在步驟2008 (圖20)發(fā)送的在場預(yù) 訂消息。在步驟2104,可檢索與在場預(yù)訂消息的發(fā)送者相關(guān)聯(lián)的聯(lián)系人信息。例 如,在場預(yù)訂消息可引用與發(fā)送者相關(guān)聯(lián)的聯(lián)系人對象402 (圖4)實(shí)例。在場預(yù) 訂消息的接收者可向聯(lián)系人管理服務(wù)304 (圖3)檢索發(fā)送者的聯(lián)系人信息。
在步驟2106,可確定是否已建立了針對在場預(yù)訂消息發(fā)送者的預(yù)訂策略。例 如,與聯(lián)系人管理服務(wù)304 (圖3)所管理的發(fā)送者相關(guān)聯(lián)的聯(lián)系人信息可包括發(fā) 送者與發(fā)送者的預(yù)訂策略之間的關(guān)聯(lián)?;蛘?,預(yù)訂策略可針對所有用戶,或針對發(fā) 送者是其一成員的某組用戶。
簡單預(yù)訂策略的示例包括阻止和允許。即,阻止來自聯(lián)系人的預(yù)訂請求、
或允許來自聯(lián)系人的預(yù)訂請求。在本發(fā)明一實(shí)施例中,發(fā)送者的預(yù)訂策略由關(guān)聯(lián)于 接收者的MeContact對象406實(shí)例的獲授權(quán)用戶元素906 (圖9)所引用的一組聯(lián) 系人對象402 (圖4)實(shí)例確定。如果關(guān)聯(lián)于發(fā)送者的聯(lián)系人對象402實(shí)例在獲授 權(quán)用戶元素906所引用的組中,則允許該發(fā)送者,否則阻止該發(fā)送者。
在本發(fā)明一實(shí)施例中,更復(fù)雜的預(yù)訂策略是可能的。例如,更復(fù)雜的預(yù)訂策 略可阻止和/或允許對用戶的一個(gè)或多個(gè)在場信息子集的預(yù)訂。允許對在場對象600 的聚集狀態(tài)606(圖6)和富文本描述602的預(yù)訂,但阻止對其它在場對象元素604、 608、 610的預(yù)訂是一個(gè)可能示例。在場對象元素602、 604、 606、 608和610的任 何適當(dāng)子集(包括全部),和/或在場對象元素602、 604、 606、 608和610所引用 的編程對象410、 412、 418可以是預(yù)訂策略和/或預(yù)訂的主體。
如果預(yù)訂策略針對預(yù)訂消息的發(fā)送者,則過程可繼續(xù)到步驟2108。否則,過
程可繼續(xù)到步驟2110。在步驟2110,可向與作為預(yù)訂主體的協(xié)同在場相關(guān)聯(lián)的協(xié) 同服務(wù)平臺302 (圖3)的用戶査詢相關(guān)于在場預(yù)訂消息的發(fā)送者的預(yù)訂策略。例 如,發(fā)布服務(wù)306可呈現(xiàn)顯示與發(fā)送者相關(guān)聯(lián)的聯(lián)系人信息、以及諸如阻止或允許 的預(yù)訂策略選項(xiàng)的用戶界面(例如圖形用戶界面或GUI)。然后用戶可用該用戶界 面選擇該發(fā)送者的預(yù)訂策略。
在步驟2112,可對發(fā)送者設(shè)置用戶所選擇的預(yù)訂策略。例如,預(yù)訂策略可通 過協(xié)同服務(wù)平臺302 (圖3)的聯(lián)系人管理服務(wù)304關(guān)聯(lián)于發(fā)送者,或者對關(guān)聯(lián)于 發(fā)送者的聯(lián)系人對象402 (圖4)的引用可被添加到由關(guān)聯(lián)于接收者的MeContact 對象406實(shí)例的獲授權(quán)用戶元素906 (圖9)所維護(hù)的一組引用中。在步驟2108, 因?yàn)榻⒘讼嚓P(guān)于發(fā)送者的預(yù)訂策略,所以可確定該預(yù)訂策略是要阻止預(yù)訂。如果 預(yù)訂策略是阻止來自發(fā)送者的預(yù)訂,則過程可繼續(xù)到步驟2114。否則,過程可繼 續(xù)到步驟2116。
在步驟2116,可接受協(xié)同在場預(yù)訂。例如,由在場預(yù)訂消息指定的預(yù)訂可通 過聯(lián)系人管理服務(wù)304 (圖3)與關(guān)聯(lián)于接收者的MeContact對象406相關(guān)聯(lián)。在 本發(fā)明一實(shí)施例中,由在場預(yù)訂消息指定的預(yù)訂可通過將關(guān)聯(lián)于發(fā)送者的聯(lián)系人對 象402 (圖4)實(shí)例添加到由關(guān)聯(lián)于接收者的MeContact對象406實(shí)例的活動用戶 元素908 (圖9)所引用的一組聯(lián)系人對象402實(shí)例中來接受。當(dāng)預(yù)訂比允許和阻 止更為復(fù)雜時(shí),可在接受之前相關(guān)于與發(fā)送者相關(guān)聯(lián)的預(yù)訂策略來過濾由在場預(yù)訂 消息指定的預(yù)訂。例如,如果預(yù)訂是針對所有在場信息的,但預(yù)訂策略將預(yù)訂限制 于聚集狀態(tài),則所接受的預(yù)訂將僅僅是聚集狀態(tài)。步驟2108和2116—起可確保根 據(jù)預(yù)訂策略來接受預(yù)訂。
在步驟2114,可確定在場預(yù)訂消息的發(fā)送者是否是接收者的伙伴類聯(lián)系人。 例如,可在關(guān)聯(lián)于接收者的MeContact對象900 (圖9)的伙伴元素904所引用的 一組聯(lián)系人對象402 (圖4)實(shí)例中檢査與在場預(yù)訂消息的發(fā)送者相關(guān)聯(lián)的一聯(lián)系 人對象402實(shí)例。發(fā)布服務(wù)306 (圖3)可用聯(lián)系人管理服務(wù)304確定在場預(yù)訂消 息的發(fā)送者是否是接收者的伙伴類聯(lián)系人。如果在場預(yù)訂消息的發(fā)送者是接收者的 伙伴類聯(lián)系人,則過程可繼續(xù)到步驟2118。否則,過程可繼續(xù)到步驟2120。
已確定了在場預(yù)訂消息的發(fā)送者是接收者的伙伴類聯(lián)系人之后,在步驟2118, 可確定在場預(yù)訂消息的接收者當(dāng)前是否預(yù)訂了發(fā)送者的在場。例如,發(fā)布服務(wù)306 (圖3)應(yīng)用程序編程接口可具有一枚舉預(yù)訂元素,使得指定聯(lián)系人進(jìn)行的一組預(yù)
訂能夠枚舉,并且可在該組預(yù)訂中檢査對發(fā)送者在場進(jìn)行的預(yù)訂。替代地或此外,
關(guān)聯(lián)于接收者的MeContact對象406 (圖4)實(shí)例的伙伴元素904 (圖9)所引用的 聯(lián)系人信息可包括對于每個(gè)伙伴類聯(lián)系人在場預(yù)訂是否已被該聯(lián)系人接受的指示。
如果確定在場預(yù)訂消息的接收者當(dāng)前預(yù)訂了發(fā)送者的在場,則過程繼續(xù)到步 驟2120。否則,接收者可在步驟2122預(yù)訂發(fā)送者的在場。例如,可能是在場預(yù)訂 消息的接收者先前已執(zhí)行了以上參照圖20所述搜索發(fā)送者的步驟,但發(fā)送者沒有 在線而接收者在再次搜索之前在步驟2010 (圖20)等待。現(xiàn)在發(fā)送者變成在線并 發(fā)出在場預(yù)訂消息。不繼續(xù)等待、然后花費(fèi)計(jì)算和網(wǎng)絡(luò)資源再次搜索發(fā)送者,在本 發(fā)明一實(shí)施例中,接收者可用互換的在場預(yù)訂消息對來自伙伴類聯(lián)系人的在場預(yù)訂 消息作出響應(yīng)。在步驟2122,互換的在場預(yù)訂消息可如以上對步驟2008 (圖20) 的描述被發(fā)送給伙伴類聯(lián)系人。
在步驟2120,可根據(jù)在步驟2116接受的在場預(yù)訂向在場預(yù)訂消息的發(fā)送者發(fā) 送一個(gè)或多個(gè)在場通知消息。初始在場通知消息可包含與所接受預(yù)訂相匹配的所有 在場信息,或者例如知道接收者已擁有的在場信息上的一組在場差異。在初始在場 通知消息之后,可發(fā)送附加在場通知消息以向用戶通知協(xié)同在場更新。例如,在對 特定協(xié)同服務(wù)平臺302 (圖3)用戶的協(xié)同在場的一個(gè)或多個(gè)更新之后,可向發(fā)布 服務(wù)306 (圖3)發(fā)送一個(gè)或多個(gè)在場通知消息。對于每個(gè)對用戶在場的預(yù)訂,發(fā) 布服務(wù)306可確定在場通知消息所引用的一個(gè)或多個(gè)在場信息子集是否與預(yù)訂相 匹配。對于每個(gè)匹配的預(yù)訂,發(fā)布服務(wù)306可向進(jìn)行預(yù)訂的協(xié)同服務(wù)平臺302用戶 傳播該在場通知消息。
本文中所引用的包括出版物、專利申請和專利的所有參考文獻(xiàn)都通過相同程 度的引用結(jié)合于此,就像每篇文獻(xiàn)都被個(gè)別和具體地指示為通過引用結(jié)合并在本文 中全部地闡述。
在描述本發(fā)明的上下文中(特別是在以下權(quán)利要求的上下文中)術(shù)語"一"、 "一個(gè)"和"該"及類似代詞的使用應(yīng)被解釋為涵蓋單數(shù)和復(fù)數(shù),除非另有明確指 示或明確與上下文相矛盾。術(shù)語"包括"、"具有"、"包含"和"含有"應(yīng)被解釋為 開放式術(shù)語(即意思是"包括但不限于"),除非另有注釋。本文中值的范圍的引用 僅僅旨在用作對落入該范圍的每個(gè)單值的分別引用的速記法,除非另有指明,并且 每個(gè)單值就像單獨(dú)引用一樣被結(jié)合到本說明書中。本文中引用的所有方法可以任何 適當(dāng)順序執(zhí)行,除非本文中另有指示或否則明顯與上下文矛盾。任何和所有示例的 使用、或本文中所提供的示例性語言(例如"諸如")僅僅旨在更佳地說明本發(fā)明,
而不是對本發(fā)明的范圍提出任何限制,除非另作權(quán)利要求。本說明書中沒有語言應(yīng) 被解釋為指示任何非權(quán)利要求要素對本發(fā)明的實(shí)踐是必要的。
本發(fā)明的優(yōu)選實(shí)施例在本文中描述,包括為實(shí)現(xiàn)本發(fā)明的發(fā)明人所知的最佳 模式。那些優(yōu)選實(shí)施例的變體在本領(lǐng)域普通技術(shù)人員閱讀了前面的描述之后會變得 顯而易見。發(fā)明人期望本領(lǐng)域技術(shù)人員能適當(dāng)?shù)夭捎眠@些變體,并且發(fā)明人期望本 發(fā)明能以不同于本文中具體描述的其它方式實(shí)踐。因此,本發(fā)明包括適用法所允許 的附加在此后的權(quán)利要求中所引用的主題的所有變體和等效方案。此外,所有可能 變體中的上述要素的任何組合被本發(fā)明包括在內(nèi),除非另有指明或明顯與上下文相 矛盾。
權(quán)利要求
1.一種其上具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令用于協(xié)同邀請,包括用邀請用戶界面選擇至少一個(gè)聯(lián)系人;確定邀請是否將從所述邀請用戶界面向所述至少一個(gè)聯(lián)系人發(fā)送;如果確定邀請是從所述邀請用戶界面發(fā)出,則至少啟動一協(xié)同應(yīng)用程序;以及從所述邀請用戶界面發(fā)送所述邀請;以及否則,至少執(zhí)行下列步驟啟動所述協(xié)同應(yīng)用程序;以及從所述協(xié)同應(yīng)用程序發(fā)送所述邀請。
2. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述邀請用戶界面是邀請服務(wù)的一圖形用戶界面。
3. 如權(quán)利要求l所述的介質(zhì),其特征在于所述指令還包括用所述邀請用戶界面選擇一協(xié)同活動;以及啟動所述協(xié)同應(yīng)用程序包括啟動與所述協(xié)同活動相關(guān)聯(lián)的協(xié)同應(yīng)用程序。
4. 如權(quán)利要求1所述的介質(zhì),其特征在于,還包括儲存邀請細(xì)節(jié)以供所述協(xié)同應(yīng)用程序檢索。
5. 如權(quán)利要求1所述的介質(zhì),其特征在于,發(fā)送所述邀請包括用邀請服務(wù)的應(yīng)用程序編程接口的發(fā)送邀請?jiān)匕l(fā)送所述邀請。
6. 如權(quán)利要求5所述的介質(zhì),其特征在于,所述邀請服務(wù)的應(yīng)用程序編程接口包括所述發(fā)送邀請?jiān)兀豁憫?yīng)邀請?jiān)?,用于對所述邀請作出響?yīng);以及 刪除邀請?jiān)?,用于刪除所述邀請。
7. 如權(quán)利要求1所述的介質(zhì),其特征在于,發(fā)送所述邀請包括,對于所述至 少一個(gè)聯(lián)系人中的每一個(gè)確定所述聯(lián)系人的一組端點(diǎn);以及 對于所述一組端點(diǎn)中的每個(gè)端點(diǎn),至少 建立與所述端點(diǎn)的通信連接;以及 經(jīng)由所述通信連接向所述端點(diǎn)發(fā)送所述邀請。
8. 如權(quán)利要求7所述的介質(zhì),其特征在于每個(gè)聯(lián)系人的代表包括引用一組端點(diǎn)編程對象實(shí)例的聯(lián)系人編程對象實(shí)例;以及確定所述聯(lián)系人的 "組端點(diǎn)包括-向所述一組端點(diǎn)編程對象實(shí)例查詢與所述聯(lián)系人相對應(yīng)的所述聯(lián)系人編程對 象實(shí)例;以及如果所述一組端點(diǎn)編程對象實(shí)例為空,則向聯(lián)系人位置服務(wù)確定所述聯(lián)系人的一組端點(diǎn)。
9. 一種其上具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指 令用于協(xié)同邀請,包括接收參加一協(xié)同活動的邀請;向協(xié)同服務(wù)平臺的用戶提交所述邀請,以及響應(yīng)于所述邀請選擇接受、拒絕和忽略之一的能力;、接收所述用戶的選擇;以及向所述邀請的發(fā)送者發(fā)送響應(yīng),所述響應(yīng)包括對用戶選擇的指示。
10. 如權(quán)利要求9所述的介質(zhì),其特征在于所述邀請?jiān)谒鰠f(xié)同服務(wù)平臺的端點(diǎn)上接收;以及 所述指令還包括確定所述端點(diǎn)是否能參加所述協(xié)同活動。
11. 如權(quán)利要求IO所述的介質(zhì),其特征在于 所述邀請包括對能參加所述協(xié)同活動所需的一組能力的指定; 所述協(xié)同服務(wù)平臺包括對所述端點(diǎn)的能力的登記表;確定所述端點(diǎn)是否能參加所述協(xié)同活動包括將所述邀請指定的一組能力與所 述端點(diǎn)的注冊能力作比較。
12. 如權(quán)利要求9所述的介質(zhì),其特征在于所述邀請?jiān)谒鰠f(xié)同服務(wù)平臺的標(biāo)準(zhǔn)通信端口和協(xié)同應(yīng)用程序?qū)S玫姆菢?biāo)準(zhǔn) 通信端口之一上接收;如果所述邀請?jiān)谒鰳?biāo)準(zhǔn)通信端口上接收并且所述用戶選擇接受所述邀請, 則所述指令還包括儲存所述邀請中所包含的至少部分信息以供所述協(xié)同應(yīng)用程序檢索; 啟動所述協(xié)同應(yīng)用程序;以及 開始所述協(xié)同活動;以及 如果所述邀請?jiān)诜菢?biāo)準(zhǔn)通信端口上接收并且所述用戶選擇接受所述邀請,則 所述指令進(jìn)一步包括開始所述協(xié)同活動。
13. 如權(quán)利要求12所述的介質(zhì),其特征在于,進(jìn)一步包括 啟動所述協(xié)同應(yīng)用程序;以及在非標(biāo)準(zhǔn)通信端口上為所述協(xié)同應(yīng)用程序創(chuàng)建一邀請收聽器。
14. 如權(quán)利要求9所述的介質(zhì),其特征在于,發(fā)送對所述邀請發(fā)送者的響應(yīng)包 括用對邀請服務(wù)的應(yīng)用程序編程接口的邀請?jiān)氐捻憫?yīng)來發(fā)送所述響應(yīng)。
15. —種其上具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指 令用于協(xié)同邀請服務(wù),包括邀請?jiān)兀糜谔峁εc參加協(xié)同活動的邀請相對應(yīng)的邀請數(shù)據(jù)的訪問; 發(fā)送邀請?jiān)兀糜谙騾f(xié)同服務(wù)平臺的用戶的至少一個(gè)聯(lián)系人發(fā)送所述邀請; 響應(yīng)邀請?jiān)?,用于對所述邀請作出響?yīng);以及 刪除邀請?jiān)?,用于刪除所述邀請。
16. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述邀請數(shù)據(jù)包括 邀請標(biāo)識符;以及 至少一個(gè)能力標(biāo)識符。
17. 如權(quán)利要求15所述的介質(zhì),其特征在于所述發(fā)送邀請?jiān)匕ㄒ话l(fā)送安全邀請?jiān)兀糜诎踩匕l(fā)送所述邀請;以及所述應(yīng)用程序編程接口還包括一發(fā)送不安全邀請?jiān)兀糜诓话踩匕l(fā)送所 述邀請。
18. 如權(quán)利要求15所述的介質(zhì),其特征在于-所述發(fā)送邀請?jiān)匕ㄒ划惒桨l(fā)送邀請?jiān)?,用于異步地發(fā)送所述邀請;以及所述應(yīng)用程序編程接口還包括一同步發(fā)送邀請?jiān)?,用于同步地發(fā)送所述邀請。
19. 如權(quán)利要求15所述的介質(zhì),其特征在于,進(jìn)一步包括一創(chuàng)建邀請收聽器 元素,用于例示協(xié)同端點(diǎn)上的邀請收聽器。
20. 如權(quán)利要求15所述的介質(zhì),其特征在于,進(jìn)一步包括 注冊能力元素,用于向所述協(xié)同邀請服務(wù)注冊協(xié)同能力; 取消注冊能力元素,用于向所述協(xié)同邀請服務(wù)取消注冊協(xié)同能力;以及 枚舉能力元素,用于枚舉向所述協(xié)同邀請服務(wù)注冊的能力。
全文摘要
一種體系結(jié)構(gòu)(300)可包括協(xié)同服務(wù)平臺(302)。該協(xié)同服務(wù)平臺(302)可包括聯(lián)系人管理服務(wù)(304)、發(fā)布服務(wù)(306)、信令服務(wù)(308)、活動服務(wù)(310)、數(shù)據(jù)共享服務(wù)(312)、認(rèn)證服務(wù)(314)和連接服務(wù)(316)。聯(lián)系人管理服務(wù)(304)可包括聯(lián)系人存儲(318)、在場存儲(320)、以及聯(lián)系人位置服務(wù)(322)。發(fā)布服務(wù)(306)可包括同步服務(wù)(324)。信令服務(wù)(308)可包括邀請服務(wù)(326)?;顒臃?wù)(310)可包括音頻/視覺(A/V)服務(wù)(328)。連接服務(wù)(316)可包括對等(P2P)服務(wù)(330),以及常規(guī)傳輸控制協(xié)議和因特網(wǎng)協(xié)議(TCP/IP)堆棧(332)。各個(gè)服務(wù)(304)、(306)、(308)、(310)、(312)、(314)、(316)可包括和/或結(jié)合到能收發(fā)實(shí)現(xiàn)該服務(wù)的消息的對等設(shè)備。
文檔編號G06F15/173GK101167068SQ200580049554
公開日2008年4月23日 申請日期2005年8月1日 優(yōu)先權(quán)日2005年4月25日
發(fā)明者D·G·泰勒, R·T·拉奧, R·古普塔, S·K·辛格豪爾, T·R·曼尼恩, T·維斯伯格 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1