專利名稱:在對(duì)等網(wǎng)絡(luò)基礎(chǔ)上控制對(duì)存在信息的訪問的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及控制對(duì)存在信息的訪問。
背景技術(shù):
在會(huì)話參與者之間經(jīng)由他們的計(jì)算機(jī)系統(tǒng)的實(shí)時(shí)會(huì)話變得越來越普及。實(shí)時(shí)會(huì)話要求參數(shù)者出現(xiàn)在他們計(jì)算機(jī)系統(tǒng)(例如個(gè)人數(shù)字助理)之處并在接收到通信時(shí)能夠響應(yīng)。實(shí)時(shí)會(huì)話最通用的形式由即時(shí)消息服務(wù)提供。即時(shí)消息服務(wù)允許參與者發(fā)送消息并且會(huì)話中的其他參與者可以在一兩秒鐘之內(nèi)接收到它們。接收參與者于是能夠以相似的方式發(fā)送響應(yīng)消息給其他參與者。有效的實(shí)時(shí)會(huì)話取決于參與者非??焖俚匾庾R(shí)到、檢查和響應(yīng)接收到的消息。這種快速的響應(yīng)與傳統(tǒng)的電子郵件系統(tǒng)形成對(duì)比,在電子郵件系統(tǒng)中,電子郵件消息的接收者在他們方便時(shí)響應(yīng)消息。
當(dāng)發(fā)起的參與者希望開始實(shí)時(shí)會(huì)話時(shí),參與者需要知道所期望的參與者是否能夠?qū)崟r(shí)地響應(yīng)消息。如果否,那么經(jīng)由傳統(tǒng)的電子郵件、語音郵件或某些其他機(jī)制的通信會(huì)更為適合。例如,如果所期望參與者的計(jì)算機(jī)當(dāng)前處于關(guān)機(jī)狀態(tài),那么實(shí)時(shí)會(huì)話是不可能的。此外,如果他們的計(jì)算機(jī)處于開機(jī)狀態(tài),但是所期望的參與者離開他們的計(jì)算機(jī),實(shí)時(shí)會(huì)話也是不可能的。發(fā)起參與者希望知道所期望參與者的可用狀態(tài),由此作出通信形式的適當(dāng)決定。
諸如計(jì)算機(jī)系統(tǒng)或與該計(jì)算機(jī)系統(tǒng)相關(guān)聯(lián)的用戶等實(shí)體的可用性狀態(tài)被稱為“存在信息”。用戶使得他們的存在信息可用,這樣使得其他用戶能夠決定與他們通信的最佳方式。例如,存在信息會(huì)指示用戶在即時(shí)消息服務(wù)器上登錄(“在線”)或注銷(“離線”)。存在信息也可以提供關(guān)于用戶可用性的更詳細(xì)信息。例如,即使用戶在線,用戶可能處于會(huì)議中而離開了他們的計(jì)算機(jī)。在這種情況下,存在信息會(huì)指示“在線”和“會(huì)議中”。
在即時(shí)消息的情況下,發(fā)行用戶(“發(fā)行人”)會(huì)將他們的存在信息提供給存在服務(wù)器,接著存在服務(wù)器將信息提供給訂閱用戶(“訂閱人”)。因此,存在服務(wù)器會(huì)使用訂閱人/發(fā)行人模式來為存在服務(wù)的用戶提供存在信息。只要用戶的存在信息改變了,存在服務(wù)器會(huì)收到那個(gè)用戶的計(jì)算機(jī)系統(tǒng)關(guān)于改變的通知,并接著將改變通知訂閱用戶。訂閱用戶于是可以基于所期望參與者的存在信息決定是否要發(fā)起即時(shí)消息會(huì)話。
為了保護(hù)用戶的隱私,存在服務(wù)器允許用戶制定對(duì)他們的存在信息的訪問控制權(quán)。例如,用戶會(huì)向存在服務(wù)器提供被授權(quán)訪問該用戶的存在信息的那些其他用戶的列表。當(dāng)不在列表上的用戶請(qǐng)求訂閱該用戶的存在信息時(shí),存在服務(wù)器拒絕其請(qǐng)求。
經(jīng)由存在服務(wù)器實(shí)施對(duì)存在信息的訪問控制權(quán)的一個(gè)難點(diǎn)在于服務(wù)器的存儲(chǔ)和計(jì)算要求成為了瓶頸。該瓶頸來自于服務(wù)器需要為存在服務(wù)器的每個(gè)用戶存儲(chǔ)訪問控制信息,并且只要接收到訂閱請(qǐng)求以及可能地只要用戶的存在信息改變時(shí),存在服務(wù)器就要檢查控制信息。隨著經(jīng)由實(shí)時(shí)會(huì)話的通信變得更為受歡迎,會(huì)出現(xiàn)要為數(shù)千萬用戶存儲(chǔ)訪問控制信息的需求。因此,需要增強(qiáng)服務(wù)器以便適應(yīng)日益增加的用戶數(shù)量和訂閱請(qǐng)求。
存儲(chǔ)和實(shí)施訪問控制權(quán)的另一個(gè)難點(diǎn)在于存在服務(wù)器一般具有預(yù)定義的存在狀態(tài)集以描述實(shí)體的可用性。然而,在許多情況下,這些預(yù)定義的存在狀態(tài)集可能不能有效地描述用戶的存在狀態(tài)。例如,適合于商業(yè)人士的存在狀態(tài)可能不適合于大學(xué)生。同樣地,個(gè)人可能根據(jù)他們當(dāng)前的環(huán)境具有不同的存在狀態(tài)。例如,個(gè)人在工作時(shí)與空閑時(shí)可能具有完全不同的存在狀態(tài)。
期望有一種實(shí)時(shí)通信構(gòu)架,可以避免存在服務(wù)器處的這個(gè)瓶頸并允許靈活地指定存在狀態(tài)。
發(fā)明內(nèi)容
存在信息系統(tǒng)允許在對(duì)等基礎(chǔ)上由發(fā)行實(shí)體控制并且由該發(fā)行實(shí)體的計(jì)算機(jī)系統(tǒng)執(zhí)行對(duì)發(fā)行實(shí)體的存在信息的訪問,而非通過存在服務(wù)器。訂閱實(shí)體可以在對(duì)等基礎(chǔ)上向發(fā)行實(shí)體發(fā)送一請(qǐng)求以訂閱發(fā)行實(shí)體的存在信息。當(dāng)發(fā)行實(shí)體接收到訂閱其存在信息的請(qǐng)求時(shí),發(fā)行計(jì)算機(jī)系統(tǒng)的存在信息系統(tǒng)可以基于與訂閱實(shí)體相關(guān)聯(lián)的訪問權(quán)允許或拒絕該請(qǐng)求。如果請(qǐng)求被允許,那么發(fā)行實(shí)體通知訂閱實(shí)體其當(dāng)前存在狀態(tài)和新的存在狀態(tài)。存在信息系統(tǒng)也會(huì)允許發(fā)行實(shí)體定義其自身的存在模式,所述存在模式指示了發(fā)行實(shí)體的存在狀態(tài)。
1.圖1是示出一個(gè)實(shí)施例中存在模式的圖示。
2.圖2是示出一個(gè)實(shí)施例中在用戶的對(duì)等計(jì)算機(jī)系統(tǒng)上維護(hù)的存在信息系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)的框圖。
3.圖3是示出一個(gè)實(shí)施例中每個(gè)用戶所使用的存在信息系統(tǒng)的數(shù)據(jù)存儲(chǔ)和組件的框圖。
4.圖4是示出一個(gè)實(shí)施例中設(shè)置用戶訪問權(quán)限組件的處理的流程圖。
5.圖5是示出一個(gè)實(shí)施例中接收訂閱請(qǐng)求組件的處理的流程圖。
6.圖6是示出一個(gè)實(shí)施例中通知訂閱人組件的處理的流程圖。
7.圖7是示出一個(gè)實(shí)施例中創(chuàng)建訪問控制列表組件的處理的流程圖。
詳細(xì)描述提供了在對(duì)等基礎(chǔ)上的控制對(duì)存在信息的訪問的方法和系統(tǒng)。在一個(gè)實(shí)施例中,存在信息系統(tǒng)允許在對(duì)等基礎(chǔ)上由發(fā)行實(shí)體控制并且由該發(fā)行實(shí)體的計(jì)算機(jī)系統(tǒng)實(shí)行對(duì)發(fā)行實(shí)體的存在信息的訪問,而非通過存在服務(wù)器。一旦訂閱實(shí)體定位了發(fā)行實(shí)體的計(jì)算機(jī)系統(tǒng)的地址,例如使用存在服務(wù)器,那么訂閱實(shí)體可以使用所定位的地址在對(duì)等基礎(chǔ)上向發(fā)行實(shí)體發(fā)送請(qǐng)求以訂閱該發(fā)行實(shí)體的存在信息。當(dāng)發(fā)行實(shí)體接收到訂閱對(duì)其存在信息的請(qǐng)求時(shí),發(fā)行計(jì)算機(jī)系統(tǒng)的存在信息系統(tǒng)能夠基于與訂閱實(shí)體相關(guān)聯(lián)的訪問權(quán)限允許或拒絕該請(qǐng)求。如果請(qǐng)求被允許,那么發(fā)行實(shí)體通知訂閱實(shí)體其當(dāng)前存在狀態(tài)和當(dāng)其改變時(shí)的新的存在狀態(tài)。因?yàn)榘l(fā)行計(jì)算機(jī)系統(tǒng)而非存在服務(wù)器維護(hù)和實(shí)行他們訂閱實(shí)體的訪問權(quán)限,所以減輕了存在服務(wù)器這樣做的開銷,并且可以增加訪問存在信息的實(shí)體的數(shù)目而無需向存在服務(wù)器加上沉重的負(fù)擔(dān)。
為了幫助發(fā)行實(shí)體控制其保密性,存在信息系統(tǒng)會(huì)允許發(fā)行實(shí)體為訂閱實(shí)體就各種層次的存在信息細(xì)節(jié)定義訪問權(quán)限。例如,發(fā)行實(shí)體會(huì)指定一訂閱實(shí)體具有知道發(fā)行實(shí)體是在線還是離線的權(quán)限,但是沒有知道當(dāng)發(fā)行實(shí)體在線時(shí)任何更多細(xì)節(jié)的權(quán)限。然而,發(fā)行實(shí)體會(huì)指定另一訂閱實(shí)體具有知道當(dāng)發(fā)行實(shí)體在線時(shí)更多細(xì)節(jié)的權(quán)限,諸如發(fā)行實(shí)體是否正在開會(huì)或外出就餐。此外,存在信息系統(tǒng)會(huì)允許實(shí)體為他們的存在信息定義存在模型,而非依賴于預(yù)定義的存在狀態(tài)集。存在模型會(huì)定義存在狀態(tài)的層次。例如,一個(gè)發(fā)行實(shí)體會(huì)定義在“在線”狀態(tài)中指定“在家”或“在工作”的存在狀態(tài)的存在模型,而另一個(gè)發(fā)行實(shí)體會(huì)指定在“在線”狀態(tài)中指定“在東海岸”或“在西海岸”的存在狀態(tài)。存在信息系統(tǒng)允許發(fā)行實(shí)體基于其自身的存在模型定義訂閱實(shí)體的訪問權(quán)限。存在信息系統(tǒng)也會(huì)允許發(fā)行實(shí)體定義多個(gè)存在模型并對(duì)于不同的訂閱實(shí)體透露不同的存在模型。例如,發(fā)行實(shí)體會(huì)向其配偶提供一存在模型,該存在模型不用于他們向同事提供的存在模型。這樣,存在信息系統(tǒng)允許發(fā)行實(shí)體定義基于發(fā)行實(shí)體的環(huán)境而定制的存在模型并允許發(fā)行實(shí)體向不同的訂閱實(shí)體提供不同的存在模型。
圖1是示出一個(gè)實(shí)施例中存在模型的圖表。存在模型100定義了發(fā)行實(shí)體的存在狀態(tài)的層次。第一層次存在狀態(tài)110是“離線”111、“在線”112和“不可用”113。“離線”表示發(fā)行實(shí)體當(dāng)前不可用,“在線”表示發(fā)行實(shí)體當(dāng)前登錄到存在服務(wù)器上,而“不可用”表示當(dāng)前沒有存在信息可用?!霸诰€”存在狀態(tài)的第二層次存在狀態(tài)120是“在家”121、“在工作”122和“其他”123。“在家”表示發(fā)行實(shí)體在家中在線,“在工作”表示發(fā)行實(shí)體在工作場(chǎng)所在線,而“其他”表示發(fā)行實(shí)體在某個(gè)其他場(chǎng)所在線。“在工作”的第三層次的存在狀態(tài)130是“在開會(huì)”131、“在打電話”132和“在就餐”133,這些是自我描述?!霸陂_會(huì)”的第四層次的存在狀態(tài)140是“在辦公室中”141和“在辦公室外”142,這些也是自我描述。存在信息系統(tǒng)會(huì)允許用戶定義存在模型的存在狀態(tài)的層次并定義多個(gè)存在模型。
在一個(gè)實(shí)施例中,存在模型中的每個(gè)存在狀態(tài)會(huì)具有相關(guān)聯(lián)的訪問控制列表,用于定義訂閱實(shí)體對(duì)與該狀態(tài)相關(guān)聯(lián)的存在信息的訪問權(quán)限。當(dāng)發(fā)行實(shí)體變化到新的狀態(tài),存在信息系統(tǒng)通知對(duì)新的存在狀態(tài)具有適當(dāng)訪問權(quán)限的訂閱實(shí)體。通常,訂閱實(shí)體被通知到該訂閱實(shí)體具有訪問權(quán)限的新的存在狀態(tài)的最近祖先存在狀態(tài)(包括新的存在狀態(tài)自身)。例如,員工會(huì)給他們的上級(jí)對(duì)“在工作”和“在開會(huì)”的存在狀態(tài),而不給予他們的“在打電話”或“在就餐”的存在狀態(tài)。當(dāng)員工離開會(huì)議和外出就餐時(shí),存在信息系統(tǒng)通知上級(jí)員工當(dāng)前“在工作”,這是上級(jí)可訪問的最近的祖先存在狀態(tài)。相同的員工會(huì)給他們的秘書對(duì)他們“在打電話”和“在就餐”的存在狀態(tài)的訪問權(quán)限。當(dāng)員工外出就餐時(shí),存在信息系統(tǒng)通知他們的秘書該員工當(dāng)前“在就餐”。當(dāng)員工從就餐回來開始打電話時(shí),存在信息系統(tǒng)通知他們的秘書該員工當(dāng)前“在打電話”。然而,存在信息系統(tǒng)不會(huì)通知上級(jí),因?yàn)樯霞?jí)已經(jīng)被通知該員工“在工作”且上級(jí)對(duì)“在打電話”的存在狀態(tài)沒有訪問權(quán)限。因此,每個(gè)訂閱實(shí)體可以被認(rèn)為對(duì)存在模型具有不同的視角,這是由他們的訪問權(quán)限所定義的。存在信息系統(tǒng)會(huì)只通知那些訂閱實(shí)體在他們的視角范圍內(nèi)的存在狀態(tài)中的改變。
圖2是示出一個(gè)實(shí)施例中在用戶的對(duì)等計(jì)算機(jī)系統(tǒng)上維護(hù)的存在信息系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)的框圖。數(shù)據(jù)結(jié)構(gòu)包括發(fā)行人/狀態(tài)表201、訂閱人/訪問權(quán)限表202和存在模型203。存在模型表示存在狀態(tài)的層次,這可以由傳統(tǒng)的樹型數(shù)據(jù)結(jié)構(gòu)表示,其中每個(gè)存在狀態(tài)由樹的一節(jié)點(diǎn)表示。用戶會(huì)定義他們自己的存在模型。發(fā)行人/狀態(tài)表包含用戶訂閱的每個(gè)發(fā)行實(shí)體的條目。例如,第一條目表示用戶訂閱了“user5”的存在信息,并且“user5”當(dāng)前“在線/在工作”。只要計(jì)算機(jī)系統(tǒng)接收到“user5”的存在狀態(tài)中改變的通知,存在信息系統(tǒng)就更新發(fā)行人/狀態(tài)表的該條目。即時(shí)消息系統(tǒng)或某個(gè)其他的系統(tǒng)能夠訪問發(fā)行人/狀態(tài)表以便識(shí)別該用戶所訂閱的發(fā)行實(shí)體的當(dāng)前存在狀態(tài)。訂閱人/訪問權(quán)限表對(duì)于每個(gè)被訂閱了用戶的存在信息的實(shí)體包含一條目。每個(gè)條目將訂閱實(shí)體的標(biāo)識(shí)映射到他們的訪問權(quán)限。在一個(gè)實(shí)施例中,訪問權(quán)限被指定為對(duì)于存在模型的每個(gè)節(jié)點(diǎn)具有一布爾值的向量。節(jié)點(diǎn)的布爾值表示訂閱實(shí)體是否具有對(duì)該節(jié)點(diǎn)的存在狀態(tài)的訪問權(quán)限。
圖3是示出在一個(gè)實(shí)施例中每個(gè)用戶所使用的存在信息系統(tǒng)的數(shù)據(jù)存儲(chǔ)和組件的框圖。在下文中,在訂閱和發(fā)行實(shí)體是用戶的環(huán)境中描述存在信息系統(tǒng)。本領(lǐng)域的技術(shù)人員會(huì)理解可以為計(jì)算機(jī)系統(tǒng)的存在系統(tǒng)、計(jì)算機(jī)系統(tǒng)和用戶組合、用戶組等提供類似的功能。每個(gè)用戶在他們的計(jì)算機(jī)系統(tǒng)上會(huì)具有存在信息系統(tǒng)的一個(gè)實(shí)例。存在信息系統(tǒng)包括用于訂閱的組件、用于控制訪問的組件和在對(duì)等基礎(chǔ)上的發(fā)行存在信息。存在信息系統(tǒng)300包括數(shù)據(jù)存儲(chǔ)301-304和309以及組件305-308。存在信息系統(tǒng)包括發(fā)行人/狀態(tài)表301、訂閱人/訪問權(quán)限表302和存在模型303,如以上參考圖2所描述的。存在信息系統(tǒng)也包括用戶/訪問權(quán)限表304,為每個(gè)用戶包含一條目,其中的訪問權(quán)限由發(fā)行用戶所定義。當(dāng)一用戶訂閱該用戶的存在信息時(shí),存在信息系統(tǒng)將訂閱用戶的訪問權(quán)限復(fù)制到訂閱人/訪問權(quán)限表中的條目上,用于實(shí)施訪問權(quán)限時(shí)使用。設(shè)置用戶訪問權(quán)限組件305允許發(fā)行用戶設(shè)置訂閱用戶對(duì)他們的存在信息的訪問權(quán)限。接收訂閱請(qǐng)求組件306接收對(duì)存在信息的訂閱請(qǐng)求,并且基于該訂閱用戶的訪問權(quán)限允許或者拒絕訂閱。通知訂閱組件307通知訂閱用戶關(guān)于發(fā)行用戶的存在狀態(tài)的改變。存在狀態(tài)引擎308接收由計(jì)算機(jī)系統(tǒng)生成的事件,并根據(jù)存在模型更新用戶的存在狀態(tài)。該事件可以基于對(duì)計(jì)算機(jī)系統(tǒng)的狀態(tài)的檢查而自動(dòng)生成或由用戶手動(dòng)生成。存在信息系統(tǒng)也可以包括存在狀態(tài)數(shù)據(jù)存儲(chǔ)309,用于為每個(gè)存在模型包含當(dāng)前存在狀態(tài)。
存在信息系統(tǒng)在其上實(shí)施的計(jì)算設(shè)備會(huì)包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(例如鍵盤和指點(diǎn)設(shè)備)、輸出設(shè)備(例如顯示設(shè)備)以及存儲(chǔ)設(shè)備(例如磁盤驅(qū)動(dòng)器)。存儲(chǔ)器和存儲(chǔ)設(shè)備是計(jì)算機(jī)可讀介質(zhì),包含了實(shí)施存在信息系統(tǒng)的指令。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)會(huì)被存儲(chǔ)并經(jīng)由數(shù)據(jù)傳輸介質(zhì)發(fā)送,諸如通信鏈接上的信號(hào)。可以使用各種通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點(diǎn)對(duì)點(diǎn)撥號(hào)連接、蜂窩電話網(wǎng)絡(luò)等。
存在信息系統(tǒng)的實(shí)施例可以在各種操作環(huán)境中實(shí)施,所述操作環(huán)境包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子產(chǎn)品、數(shù)字照相機(jī)、網(wǎng)絡(luò)個(gè)人計(jì)算機(jī)、微型計(jì)算機(jī)、大型計(jì)算機(jī)以及包括任何以上系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。計(jì)算機(jī)系統(tǒng)可以是蜂窩電話、個(gè)人數(shù)字助理、智能電話、個(gè)人計(jì)算機(jī)、可編程消費(fèi)者電子產(chǎn)品、數(shù)字照相機(jī)等等。
存在信息系統(tǒng)可以在諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般環(huán)境中描述。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。一般地,程序模塊的功能可以按照各種實(shí)施例所需組合或分布。
圖4是示出一個(gè)實(shí)施例中設(shè)置用戶訪問權(quán)限組件的處理的流程圖。組件向要控制其對(duì)發(fā)行用戶的訪問權(quán)限的用戶傳遞指示。組件提供了一用戶界面,發(fā)行用戶可以通過該界面來指定訪問權(quán)限。在框401中,組件檢取適用于所傳遞用戶的存在模型。在框402中,組件顯示所檢取的存在模型的信息。組件會(huì)顯示每個(gè)存在狀態(tài)的指示,并且允許用戶指示是否允許所傳遞的用戶訪問該存在狀態(tài)。在框403中,組件從發(fā)行用戶接收所傳遞用戶的訪問權(quán)限。在框404中,組件更新用戶/訪問權(quán)限表以便反映所傳遞用戶的新的訪問權(quán)限。組件接著完成。
圖5是示出一個(gè)實(shí)施例中接收訂閱請(qǐng)求組件的處理的流程圖。該組件被傳遞到請(qǐng)求用戶的指示并確定允許或是拒絕該請(qǐng)求。在判決框501處,如果用戶/訪問權(quán)限表不包含請(qǐng)求用戶的條目,那么組件拒絕該請(qǐng)求并完成,否則組件繼續(xù)到框502。在框502中,組件為請(qǐng)求用戶從用戶/訪問權(quán)限表獲取條目。在框503中,組件在訂閱人/訪問權(quán)限表中存儲(chǔ)條目。在框504中,組件通知請(qǐng)求用戶訂閱被允許。組件接著完成。
圖6是示出一個(gè)實(shí)施例中通知訂閱人組件的處理的流程圖。當(dāng)發(fā)行用戶的存在狀態(tài)改變時(shí)調(diào)用該組件。該組件被傳遞到新的存在狀態(tài)并且適當(dāng)?shù)赝ㄖ嗛営脩?。在?01中,組件選擇由訂閱人/訪問權(quán)限表所指示的下一個(gè)訂閱用戶。在判決框602中,如果所有的訂閱用戶都已經(jīng)被選擇,那么組件返回,否則組件繼續(xù)到框603。在框603中,組件檢取所選訂閱用戶的訪問權(quán)限。在框604中,組件選擇響應(yīng)新的存在狀態(tài)的存在模型的節(jié)點(diǎn)。在框605-607中,組件循環(huán)地搜索所選訂閱用戶具有訪問權(quán)限的新的存在狀態(tài)的最近組件存在狀態(tài)。在判決框605中,如果所選節(jié)點(diǎn)是根節(jié)點(diǎn),那么訂閱用戶對(duì)新的存在狀態(tài)沒有訪問權(quán)限,組件循環(huán)到框601以選擇下一個(gè)訂閱用戶,否則組件繼續(xù)到框606。在判決框606,如果所選訂閱用戶被授權(quán)訪問所選存在狀態(tài),那么組件繼續(xù)到框608,否則組件繼續(xù)到框607。在框607中,組件選擇所選節(jié)點(diǎn)的父節(jié)點(diǎn),并接著循環(huán)到框605以便確定所選訂閱用戶是否被授權(quán)訪問所選父節(jié)點(diǎn)。在框608中,組件向所選訂閱用戶發(fā)送所選節(jié)點(diǎn)的存在狀態(tài)的指示,并接著循環(huán)到框601以便選擇下一個(gè)訂閱用戶。
圖7是示出一個(gè)實(shí)施例中創(chuàng)建訪問控制列表組件的處理的流程圖。在這個(gè)實(shí)施例中,存在信息系統(tǒng)為每個(gè)存在狀態(tài)維護(hù)訪問控制列表。當(dāng)存在狀態(tài)改變時(shí),存在信息系統(tǒng)會(huì)訪問新的存在狀態(tài)的每個(gè)祖先節(jié)點(diǎn)并如所示地通知訂閱用戶。存在信息系統(tǒng)會(huì)在每個(gè)節(jié)點(diǎn)處存儲(chǔ)對(duì)該狀態(tài)的存在信息具有訪問權(quán)限的每個(gè)訂閱用戶的指示。在這種情況下,訂閱用戶會(huì)在其具有訪問權(quán)限的從根節(jié)點(diǎn)到最詳細(xì)存在狀態(tài)的節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)上被標(biāo)識(shí)出來。在一個(gè)可選實(shí)施例中,存在信息系統(tǒng)會(huì)只在每條路徑上他具有訪問權(quán)限的最詳細(xì)存在狀態(tài)的節(jié)點(diǎn)處到樹葉節(jié)點(diǎn)指示訂閱用戶。雖然這個(gè)實(shí)施例會(huì)避免在祖先節(jié)點(diǎn)處存儲(chǔ)冗余信息(因?yàn)榧僭O(shè)訂閱用戶對(duì)所有的祖先存在狀態(tài)具有訪問權(quán)限),但是存在信息系統(tǒng)會(huì)需要訪問從根節(jié)點(diǎn)到樹葉節(jié)點(diǎn)的新的存在狀態(tài)的節(jié)點(diǎn)的路徑上的每個(gè)節(jié)點(diǎn)。組件生成一訪問控制列表以與存在模型的每個(gè)存在狀態(tài)相關(guān)聯(lián)。在框701中,組件選擇訂閱人/訪問權(quán)限表的下一個(gè)訂閱用戶。在判決框702中,如果所有的訂閱用戶都已經(jīng)被選擇,那么組件完成,否則組件繼續(xù)到框703。在框703中,組件檢取與所選訂閱用戶相關(guān)聯(lián)的訪問權(quán)限。在框704-707中,組件循環(huán)增加所選訂閱用戶到所選訂閱人能夠訪問的每個(gè)存在狀態(tài)的訪問控制列表中。在框704中,組件選擇下一個(gè)存在狀態(tài)。在判決框705中,如果所有的存在狀態(tài)已經(jīng)被選擇,那么組件循環(huán)到框701以選擇下一個(gè)訂閱用戶,否則組件繼續(xù)到框706。在判決框706中,如果所選訂閱用戶被授權(quán)訪問所選存在狀態(tài),那么組件繼續(xù)到框707,否則組件循環(huán)到框704以選擇下一個(gè)存在狀態(tài)。在框707中,組件將所選訂閱用戶增加到所選存在狀態(tài)的節(jié)點(diǎn)相關(guān)聯(lián)訪問控制列表中,并接著循環(huán)到框704以選擇下一個(gè)存在狀態(tài)。
就以上所述的,應(yīng)該理解這里所描述的存在信息系統(tǒng)的特定實(shí)施例意在說明,但是可以作出各種修改而不背離本發(fā)明的精神和范圍。本領(lǐng)域的技術(shù)人員會(huì)理解與一企業(yè)(例如公司)相關(guān)聯(lián)的用戶會(huì)具有他們存儲(chǔ)在企業(yè)的服務(wù)器上和/或在其上實(shí)施的存在模型。因此,這樣的服務(wù)器可以用作用戶的計(jì)算機(jī)系統(tǒng)的代理。相應(yīng)地,除了所附權(quán)利要求書以外本發(fā)明不受其他限制。
權(quán)利要求
1.一種在第一實(shí)體的第一計(jì)算機(jī)系統(tǒng)中用于控制對(duì)所述第一實(shí)體的存在信息的訪問的方法,所述方法包括在所述第一計(jì)算機(jī)系統(tǒng)上提供各實(shí)體對(duì)所述第一實(shí)體的存在信息的訪問權(quán)限;從第二實(shí)體的第二計(jì)算機(jī)系統(tǒng)接收訂閱所述第一實(shí)體的存在信息的請(qǐng)求;以及依照所述第二實(shí)體的訪問權(quán)限從所述第一計(jì)算機(jī)系統(tǒng)向所述第二計(jì)算機(jī)系統(tǒng)發(fā)送所述第一實(shí)體的存在信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算機(jī)系統(tǒng)和所述第二計(jì)算機(jī)系統(tǒng)是對(duì)等體。
3.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算機(jī)系統(tǒng)和所述第二計(jì)算機(jī)系統(tǒng)是在實(shí)體的計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)中,其中,計(jì)算機(jī)系統(tǒng)提供各實(shí)體對(duì)其實(shí)體的存在信息的訪問權(quán)限。
4.如權(quán)利要求1所述的方法,其特征在于,包括在所述第一計(jì)算機(jī)系統(tǒng)處提供指定所述第一實(shí)體的存在狀態(tài)的存在模型。
5.如權(quán)利要求4所述的方法,其特征在于,所述多個(gè)存在模型是為所述第一實(shí)體提供的,且其中,所述實(shí)體的訪問權(quán)限還標(biāo)識(shí)一存在模型。
6.如權(quán)利要求4所述的方法,其特征在于,所述多個(gè)存在模型是為所述第一實(shí)體提供的,且其中,不同的存在模型應(yīng)用于不同的其他實(shí)體。
7.如權(quán)利要求4所述的方法,其特征在于,所述存在狀態(tài)是分層組織的。
8.如權(quán)利要求4所述的方法,其特征在于,所述訪問權(quán)限指定所述第二實(shí)體具有訪問權(quán)限的存在狀態(tài)。
9.如權(quán)利要求1所述的方法,其特征在于,所述實(shí)體是人。
10.如權(quán)利要求1所述的方法,其特征在于,所述實(shí)體是設(shè)備。
11.如權(quán)利要求1所述的方法,其特征在于,在從所述第二實(shí)體的第二計(jì)算機(jī)系統(tǒng)接收訂閱所述第一實(shí)體的存在信息的請(qǐng)求后,確定是否允許所述第二實(shí)體訂閱所述第一實(shí)體的存在信息。
12.一種包含指令的計(jì)算機(jī)可讀介質(zhì),所述指令用于通過一種方法控制用戶的計(jì)算機(jī)系統(tǒng),以便提供對(duì)所述用戶的存在信息的對(duì)等訪問,所述方法包括在所述計(jì)算機(jī)系統(tǒng)處提供指定所述用戶的存在狀態(tài)的層次的存在模型;在所述計(jì)算機(jī)系統(tǒng)處接收各實(shí)體對(duì)所述用戶的存在信息的訪問權(quán)限,所述實(shí)體的訪問權(quán)限指示了所述實(shí)體具有訪問權(quán)限的用戶的存在狀態(tài),使得當(dāng)所述實(shí)體能夠訪問所述用戶的存在狀態(tài)時(shí),所述實(shí)體也能夠訪問所有的祖先存在狀態(tài);從所述實(shí)體的計(jì)算機(jī)系統(tǒng)接收使所述實(shí)體訂閱所述用戶的存在信息的實(shí)體請(qǐng)求;當(dāng)在所述計(jì)算機(jī)系統(tǒng)處接收到使所述實(shí)體訂閱所述用戶的存在信息的請(qǐng)求之后;確定是否允許所述實(shí)體訪問所述用戶的存在信息;以及當(dāng)確定允許所述實(shí)體訪問所述用戶的存在信息時(shí),使所述實(shí)體訂閱所述用戶的存在信息;以及當(dāng)所述用戶的存在狀態(tài)改變成新的存在狀態(tài)時(shí),對(duì)于訂閱該用戶的存在信息的實(shí)體,標(biāo)識(shí)出所述實(shí)體具有訪問權(quán)限的新存在狀態(tài)的最近祖先存在狀態(tài);以及向所述實(shí)體的計(jì)算機(jī)系統(tǒng)發(fā)送將所標(biāo)識(shí)的存在狀態(tài)作為所述用戶的新存在狀態(tài)的指示。
13.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述多個(gè)存在模型被提供給用戶,并且其中,實(shí)體的所述訪問權(quán)限指定一存在模型。
14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,為每個(gè)存在模型維護(hù)一當(dāng)前存在狀態(tài)。
15.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,實(shí)體是人。
16.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,實(shí)體是設(shè)備。
17.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,包括修改所述存在模型。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述用戶修改所述存在模型。
19.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述用戶指定所述實(shí)體的訪問權(quán)限。
20.一種在計(jì)算機(jī)系統(tǒng)中用于控制對(duì)第一實(shí)體的存在信息的訪問的方法,所述方法包括為所述第一實(shí)體提供多個(gè)存在模型,存在模型指定所述第一實(shí)體的存在狀態(tài),存在模型具有當(dāng)前存在狀態(tài);提供存在模型與實(shí)體的關(guān)聯(lián);以及當(dāng)存在模型的存在狀態(tài)改變時(shí),向相關(guān)聯(lián)的實(shí)體的計(jì)算機(jī)系統(tǒng)通知所述存在模型的新存在狀態(tài)。
21.如權(quán)利要求20所述的方法,其特征在于,所述實(shí)體的訪問權(quán)限是基于相關(guān)聯(lián)的存在模型指定的。
22.如權(quán)利要求21所述的方法,其特征在于,所述通知是根據(jù)所述實(shí)體對(duì)相關(guān)聯(lián)的存在模型的存在信息的訪問權(quán)限的。
23.如權(quán)利要求20所述的方法,其特征在于,存在模型是存在狀態(tài)的層次。
24.如權(quán)利要求23所述的方法,其特征在于,向?qū)嶓w通知該實(shí)體具有訪問權(quán)限的新存在狀態(tài)的最近祖先存在狀態(tài)。
25.一種包含指令的計(jì)算機(jī)可讀介質(zhì),所述用于控制第一實(shí)體的第一計(jì)算機(jī)系統(tǒng)提供對(duì)所述第一實(shí)體的存在信息的訪問,所述方法包含在第一計(jì)算機(jī)系統(tǒng)處提供第二實(shí)體對(duì)所述第一實(shí)體的存在信息的訪問權(quán)限;以及當(dāng)所述第一實(shí)體的存在信息改變時(shí),根據(jù)所述第二實(shí)體的訪問權(quán)限,從所述第一計(jì)算機(jī)系統(tǒng)向所述第二實(shí)體的第二計(jì)算機(jī)系統(tǒng)發(fā)送所述第一實(shí)體的存在信息中的改變的指示。
26.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一計(jì)算機(jī)系統(tǒng)和所述第二計(jì)算機(jī)系統(tǒng)是對(duì)等體。
27.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一計(jì)算機(jī)系統(tǒng)和所述第二計(jì)算機(jī)系統(tǒng)是處于實(shí)體的計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)中,且計(jì)算機(jī)系統(tǒng)提供各實(shí)體對(duì)其實(shí)體的存在信息的訪問權(quán)限。
28.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,包括在所述第一計(jì)算機(jī)系統(tǒng)處提供指定所述第一實(shí)體的存在狀態(tài)的存在模型。
29.如權(quán)利要求28所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,多個(gè)存在模型是為所述第一實(shí)體提供的,且其中,實(shí)體與所述存在模型之一相關(guān)聯(lián)。
30.如權(quán)利要求28所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述存在狀態(tài)是分層組織的。
全文摘要
存在信息系統(tǒng)允許在對(duì)等基礎(chǔ)上要由發(fā)行人而非由存在服務(wù)器控制和實(shí)施對(duì)發(fā)行人的存在信息的訪問。訂閱人在對(duì)等基礎(chǔ)上向發(fā)行人發(fā)出請(qǐng)求以訂閱發(fā)行人的存在信息。當(dāng)發(fā)行人接收到對(duì)訂閱其存在信息的請(qǐng)求時(shí),發(fā)行人的存在信息系統(tǒng)能夠基于與該訂閱人相關(guān)聯(lián)的訪問權(quán)限允許或拒絕該請(qǐng)求。如果請(qǐng)求被允許,那么發(fā)行人將其當(dāng)前的存在狀態(tài)以及當(dāng)它改變時(shí)其新的存在狀態(tài)通知訂閱人。存在狀態(tài)可以在存在模型中各種詳細(xì)層次上定義。
文檔編號(hào)H04L29/06GK1780214SQ20051011800
公開日2006年5月31日 申請(qǐng)日期2005年10月24日 優(yōu)先權(quán)日2004年11月24日
發(fā)明者A·P·辛克萊, W·V·巴克利 申請(qǐng)人:微軟公司