專利名稱:一種提供觀察者信息的方法和呈現(xiàn)服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及基于會(huì)話初始協(xié)議SIP實(shí)現(xiàn)的呈現(xiàn)業(yè) 務(wù)(PRESENCE SERVICE )。
背景技術(shù):
在呈現(xiàn)業(yè)務(wù)中觀察者訂閱呈現(xiàn)體的呈現(xiàn)信息,觀察者信息(Watcher Information)指呈現(xiàn)體的觀察者訂閱狀態(tài)信息,在互聯(lián)網(wǎng)工程任務(wù)組IETF (Internet Engineering Task Force) RFC3857中定義了觀察者信息事件包,以 及基于SIP的觀察者信息訂閱和通知的處理流程。呈現(xiàn)服務(wù)器允許呈現(xiàn)體訂閱 自己的觀察者信息,當(dāng)觀察者信息中的訂閱狀態(tài)發(fā)生變化時(shí),則呈現(xiàn)服務(wù)器發(fā) 送相應(yīng)的通知,通知消息體的內(nèi)容舉例如下<watcherinfo xmlns="um:ietf:params:xml:ns:watcherinfo"version="0" state="fiill"> <watcher-list resource="sip:B@example.com" package="presence"> <watcher id="7168a72s" event="subscribe"status="pending">sip:A@example.com</watcher> </watcher-list> </watcherinfo〉該通知的內(nèi)容指出觀察者"sip:A@example.com"對(duì)該呈現(xiàn)體 "sip:B@example.com"的訂閱狀態(tài)status為"pending",即掛起狀態(tài)。呈現(xiàn)服務(wù)器維護(hù)一個(gè)如圖l所示的訂閱狀態(tài)機(jī),當(dāng)呈現(xiàn)服務(wù)器接收到一個(gè) 對(duì)呈現(xiàn)體的呈現(xiàn)信息訂閱時(shí),根據(jù)該呈現(xiàn)體對(duì)應(yīng)的授權(quán)策略確定是否允許該訂 閱,如果對(duì)發(fā)起訂閱的觀察者的授權(quán)策略為拒絕,則該訂閱進(jìn)入終止?fàn)顟B(tài);如 果授權(quán)策略為接受,則該訂閱進(jìn)入激活狀態(tài);如果沒有預(yù)先設(shè)置策略,則該訂 閱進(jìn)入掛起狀態(tài)。 一個(gè)掛起的訂閱如果得到呈現(xiàn)體的批準(zhǔn)則進(jìn)入激活狀態(tài),如 果放棄或拒絕等則進(jìn)入終止?fàn)顟B(tài),如杲超時(shí)則進(jìn)入等待狀態(tài)。詳細(xì)的狀態(tài)轉(zhuǎn)移可參考RFC3857。當(dāng)訂閱狀態(tài)發(fā)生變化時(shí),服務(wù)器會(huì)將變化的訂閱狀態(tài)通知給 觀察者信息訂閱者通常為該呈現(xiàn)體。在呈現(xiàn)業(yè)務(wù)中隱身是指一個(gè)在線(on-line)用戶的聯(lián)系人看到該用戶是離 線(off-line)的,而同時(shí)該用戶還可以訂閱獲取到聯(lián)系人的呈現(xiàn)信息,這樣可 使用戶減少一些不想要的打擾。然而由于在基于SIP協(xié)議實(shí)現(xiàn)的呈現(xiàn)業(yè)務(wù)中存 在上述的觀察者信息訂閱機(jī)制, 一個(gè)想隱身的在線用戶雖然可以將自己的狀態(tài) 設(shè)置為離線,他的聯(lián)系人的客戶端也相應(yīng)顯示該用戶為離線狀態(tài),但由于該用 戶訂閱了聯(lián)系人的呈現(xiàn)信息,則聯(lián)系人實(shí)際上可以通過訂閱觀察者信息而獲知 到該用戶當(dāng)前正在訂閱自己的呈現(xiàn)信息,即獲知實(shí)際上該用戶是在線的。發(fā)明內(nèi)容本發(fā)明給出了 一種提供觀察者信息的方法,用以解決目前在基于會(huì)話初始問題。還進(jìn)一步給出了隱身的實(shí)現(xiàn)方案。 本發(fā)明提供觀察者信息的方法包括步驟 第一用戶客戶端向呈現(xiàn)服務(wù)器訂閱自己的觀察者信息; 呈現(xiàn)服務(wù)器對(duì)所述觀察者信息的訂閱請(qǐng)求施加過濾條件; 呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給第 一用戶客戶端。 進(jìn)一步,所述過濾條件包括內(nèi)容條件,呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給第 一用戶客戶端的步驟具體為呈現(xiàn)服務(wù)器根據(jù)過濾條件中的內(nèi)容條件將所述觀察者信息為掛起和/或等待狀態(tài)的信息包含在通知消息中發(fā)送給第一用戶客戶端。所述過濾條件還包括觸發(fā)條件,該方法還包括步驟根據(jù)過濾條件中的觸發(fā)條件呈現(xiàn)服務(wù)器在檢測(cè)到所述觀察者信息中有訂閱狀態(tài)變?yōu)楣鹌鸹虻却隣?態(tài)時(shí),向第一用戶客戶端發(fā)送4目應(yīng)的通4P消息。如果第一用戶客戶端發(fā)送的觀察者信息訂閱請(qǐng)求中已經(jīng)包含有用戶設(shè)置 的過濾條件,則呈現(xiàn)服務(wù)器先對(duì)呈現(xiàn)服務(wù)器施加的過濾條件和用戶設(shè)置的過濾 條件進(jìn)行合并處理,然后再根據(jù)合并后的過濾條件對(duì)所述觀察者信息進(jìn)行過濾。該方法還包括步驟第一用戶客戶端和第二用戶客戶端互相訂閱對(duì)方的呈 現(xiàn)信息;當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置為隱身時(shí),呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送 的呈現(xiàn)信息指示第二用戶為離線狀態(tài)。所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置為隱身時(shí),呈現(xiàn)服務(wù)器向第 一用戶客戶端發(fā)送 的呈現(xiàn)信息指示第二用戶為離線狀態(tài)的步驟具體包括在第二用戶的授權(quán)配置文檔中將第一用戶的身份標(biāo)識(shí)或第一用戶所在的 群組標(biāo)識(shí)與類標(biāo)識(shí)相關(guān)聯(lián);第二用戶客戶端將呈現(xiàn)信息中的離線狀態(tài)與類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn)服務(wù)器;呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第 一用戶客戶端發(fā)送指示第二用戶為離線 狀態(tài)的呈現(xiàn)信息。所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置為隱身時(shí),呈現(xiàn)服務(wù)器向第 一用戶客戶端發(fā)送 的呈現(xiàn)信息指示第二用戶為離線狀態(tài)的步驟具體包括在第二用戶的授權(quán)配置文檔中將第 一用戶的身份標(biāo)識(shí)或第一用戶所在的 群組標(biāo)識(shí)與隱身變換相關(guān)聯(lián);呈現(xiàn)服務(wù)器向第 一用戶提供的呈現(xiàn)信息時(shí)進(jìn)行隱身變換處理,向第 一用戶 客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。將所述隱身變換還與業(yè)務(wù)標(biāo)識(shí)相關(guān)聯(lián),則呈現(xiàn)服務(wù)器向第 一用戶提供所述 業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的呈現(xiàn)信息時(shí)進(jìn)行隱身變換處理,向第一用戶客戶端發(fā)送指示第 二用戶該業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)業(yè)務(wù)為離線狀態(tài)的呈現(xiàn)信息。第二用戶客戶端向第 一用戶客戶端發(fā)送消息進(jìn)行通信后,第二用戶客戶端
自動(dòng)取消對(duì)第一用戶的隱身設(shè)置,呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二 用戶為在線狀態(tài)的呈現(xiàn)信息。所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置為隱身的步驟具體包括當(dāng)?shù)诙脩粢噪[身方 式登錄時(shí),第二用戶客戶端不向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息。本發(fā)明還提供了一種呈現(xiàn)服務(wù)器,用于接收、存儲(chǔ)和分發(fā)呈現(xiàn)信息,所述 的呈現(xiàn)服務(wù)器還用于接收觀察者信息的訂閱請(qǐng)求,并對(duì)所述觀察者信息的訂閱 請(qǐng)求施加預(yù)設(shè)的過濾條件,將所述觀察者信息進(jìn)行過濾后再發(fā)送出去。在呈現(xiàn)服務(wù)器中預(yù)設(shè)的過濾條件包括內(nèi)容條件和觸發(fā)條件信息;所述的內(nèi) 容條件信息用于呈現(xiàn)服務(wù)器據(jù)此將所述觀察者信息為掛起和/或等待狀態(tài)的信 息包含在通知消息中發(fā)送出去;所述的觸發(fā)條件用于呈現(xiàn)服務(wù)器據(jù)此在檢測(cè)到 所述觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹虻却隣顟B(tài)時(shí),發(fā)送相應(yīng)的通知消息。在呈現(xiàn)服務(wù)器中呈現(xiàn)體的授權(quán)配置中包括用戶與類標(biāo)識(shí)的關(guān)聯(lián)關(guān)系,呈現(xiàn) 信息中包括離線狀態(tài)與類標(biāo)識(shí)的關(guān)聯(lián)關(guān)系;所述的兩個(gè)關(guān)聯(lián)關(guān)系信息用于呈現(xiàn) 服務(wù)器據(jù)此向與離線狀態(tài)相關(guān)聯(lián)的用戶客戶端發(fā)送指示該呈現(xiàn)體為離線狀態(tài) 的呈現(xiàn)信息。在呈現(xiàn)服務(wù)器中呈現(xiàn)體的授權(quán)配置中包括與用戶關(guān)聯(lián)的隱身變換信息,所 述的隱身變換信息用于呈現(xiàn)服務(wù)器據(jù)此向相關(guān)聯(lián)用戶提供的呈現(xiàn)信息進(jìn)行隱 身變換處理,使呈現(xiàn)服務(wù)器向相關(guān)聯(lián)的用戶客戶端發(fā)送指示該呈現(xiàn)體為離線狀 態(tài)的呈現(xiàn)信息。其中所述的用戶可以是表示任意用戶的標(biāo)識(shí)如Ony-identity/、 設(shè)為該值時(shí)表示對(duì)所有人隱身;也可以是某個(gè)或某些用戶的身份標(biāo)識(shí),還可以 是群組標(biāo)識(shí)等。在呈現(xiàn)服務(wù)器中呈現(xiàn)體的授權(quán)配置中包括與業(yè)務(wù)標(biāo)識(shí)關(guān)聯(lián)的隱身變換信 息,所述的隱身變換信息用于呈現(xiàn)服務(wù)器據(jù)此提供所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的呈現(xiàn)信 息時(shí)進(jìn)行隱身變換處理,使呈現(xiàn)服務(wù)器發(fā)送指示該呈現(xiàn)體在所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng) 業(yè)務(wù)中為離線狀態(tài)的呈現(xiàn)信息。所述的呈現(xiàn)服務(wù)器包括訂閱處理單元、發(fā)布處理單元、通知處理單元、存 々者單元、"i丁閱狀態(tài)才幾單元,還包4舌觀察者信息過濾單元,用于對(duì)所述觀察者信息施加預(yù)設(shè)的過濾條件進(jìn)行過 濾后才通過通知處理單元發(fā)送只包含桂起和/或等待狀態(tài)內(nèi)容的觀察者信息;觸發(fā)條件檢測(cè)單元,用于檢測(cè)觀察者信息中是否有訂閱狀態(tài)變?yōu)閽炱鸹虻?待狀態(tài)。進(jìn)一步,還包括隱身變換單元,用于在由訂閱處理單元從存儲(chǔ)單元獲擬目 應(yīng)呈現(xiàn)信息后,通知處理單元發(fā)送呈現(xiàn)信息出去之前,根據(jù)授權(quán)配置對(duì)相應(yīng)的 呈現(xiàn)信息施加隱身變換處理,將相應(yīng)的呈現(xiàn)信息中的狀態(tài)變換為指示離線狀態(tài) 的值。本發(fā)明還提供了一種實(shí)現(xiàn)隱身的方法,包括步驟第二用戶客戶端設(shè)置隱身,并向呈現(xiàn)服務(wù)器訂閱了第一用戶的呈現(xiàn)信息;呈現(xiàn)服務(wù)器向第 一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息, 并且不向第 一用戶客戶端發(fā)送包含第二用戶訂閱狀態(tài)的觀察者信息。進(jìn)一步,第一用戶客戶端訂閱了自己的觀察者信息,所述不向第一用戶客 戶端發(fā)送包含第二用戶訂閱狀態(tài)的觀察者信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù) 預(yù)設(shè)的過濾條件將所述觀察者信息進(jìn)行過濾后再發(fā)送給第一用戶客戶端。所述過濾條件包括內(nèi)容條件,所述呈現(xiàn)服務(wù)器根據(jù)預(yù)設(shè)的過濾條件將所述 觀察者信息進(jìn)行過濾后再發(fā)送給第 一用戶客戶端的步驟具體為呈現(xiàn)服務(wù)器根 據(jù)過濾條件中的內(nèi)容條件將所述觀察者信息為掛起和/或等待狀態(tài)的信息包含 在通知消息中發(fā)送給第 一用戶客戶端。所述過濾條件還包括觸發(fā)條件,該方法還包括步驟根據(jù)過濾條件中的觸 發(fā)條件呈現(xiàn)服務(wù)器在檢測(cè)到所述觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹虻却隣?態(tài)時(shí),才向第一用戶客戶端發(fā)送相應(yīng)的通知消息。所述第二用戶客戶端設(shè)置隱身的步驟具體包括在第二用戶的授權(quán)配置文檔中將第一用戶的身份標(biāo)識(shí)或第一用戶所在的 群組標(biāo)識(shí)與類標(biāo)識(shí)相關(guān)聯(lián);
第二用戶客戶端將呈現(xiàn)信息中的離線狀態(tài)與類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn)服務(wù)器;所述呈現(xiàn)服務(wù)器向笫一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第一用戶客戶端發(fā)送指示第 二用戶為離線狀態(tài)的呈現(xiàn)信息。所述第二用戶客戶端設(shè)置隱身的步驟具體為在第二用戶的授權(quán)配置文檔 中將第一用戶的身份標(biāo)識(shí)或第一用戶所在的群組標(biāo)識(shí)與隱身變換相關(guān)聯(lián);所述呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶提供的呈現(xiàn)信息時(shí)進(jìn)行隱身變換處 理,向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。所述第二用戶客戶端設(shè)置為隱身的步驟具體為當(dāng)?shù)诙脩粢噪[身方式登 錄時(shí),第二用戶客戶端不向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息。所述第二用戶客戶端設(shè)置為隱身的步驟具體為第二用戶客戶端向呈現(xiàn)服務(wù)器發(fā)布包含一個(gè)指示全局離線狀態(tài)的呈現(xiàn)信息;所述呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶所有業(yè)務(wù) 為離線狀態(tài)的呈現(xiàn)信息。第二用戶客戶端向第一用戶客戶端發(fā)送消息進(jìn)行通信后,第二用戶客戶端自動(dòng)取消對(duì)第一用戶的隱身設(shè)置,呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二 用戶為在線狀態(tài)的呈現(xiàn)信息。本發(fā)明還提供了一種將用戶顯示為離線的方法,包括步驟 在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置;呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用戶為 離線狀態(tài)的呈現(xiàn)信息。將用戶顯示為離線(Appear Offline)的方法和上述的提供觀察者信息的方 法在實(shí)現(xiàn)隱身時(shí)是相輔相成的。通常第二用戶客戶端可以通過XCAP (XML
Configuration Access Protocol)協(xié)議》務(wù)改第二用戶的授4又配置文檔,或者也可以 通過互聯(lián)網(wǎng)在網(wǎng)頁(yè)上直接修改。用戶顯示為離線是指該用戶的觀察者的客戶端 上顯示該用戶的呈現(xiàn)信息為離線狀態(tài)或不可用狀態(tài),而該用戶實(shí)際是在線的。進(jìn)一步,所述在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置的步驟具體為 在第二用戶的授權(quán)配置文檔中將第一用戶的身份標(biāo)識(shí)或第 一用戶所在的群組 標(biāo)識(shí)與隱身類標(biāo)識(shí)相關(guān)聯(lián);所述在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置的步驟之后還包括步驟 第二用戶客戶端將呈現(xiàn)信息中的離線狀態(tài)與隱身類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn) 服務(wù)器;所述呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用 戶為離線狀態(tài)的呈現(xiàn)信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第一用 戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息?;蛘?,所述在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置的步驟具體為在 第二用戶的授權(quán)配置文檔中將第 一用戶的身份標(biāo)識(shí)或第一用戶所在的群組標(biāo) 識(shí)與隱身變換相關(guān)聯(lián);所述呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用 戶為離線狀態(tài)的呈現(xiàn)信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶提供的呈現(xiàn)信 息時(shí)進(jìn)行隱身變換處理,向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈 現(xiàn)信息。本發(fā)明的有益效果如下本發(fā)明通過利用呈現(xiàn)^Il務(wù)器對(duì)所述M^察者信息的訂閱請(qǐng)求施加過濾條件, 呈現(xiàn)服務(wù)器據(jù)此只將觀察者信息為掛起或等待狀態(tài)的信息包含在通知消息中 發(fā)送給用戶客戶端;并且只在檢測(cè)到所述觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹?等待狀態(tài)時(shí),才向用戶客戶端發(fā)送相應(yīng)的通知消息。通過本發(fā)明可以實(shí)現(xiàn)真正 的隱身,而同時(shí)又可滿足對(duì)非預(yù)授權(quán)用戶進(jìn)行鑒權(quán)確認(rèn)的需要。同時(shí)因?yàn)椴辉?br>
傳送含激活狀態(tài)等的觀察者信息,大大減少了由于觀察者信息變化而產(chǎn)生的通信流量;而且對(duì)于用戶來說哪些人訂閱自己的呈現(xiàn)信息也是一種隱私數(shù)據(jù),在 網(wǎng)絡(luò)中傳輸存在安全隱患,本發(fā)明也增強(qiáng)了系統(tǒng)的安全性。
圖1為現(xiàn)有技術(shù)中觀察者信息的訂閱狀態(tài)機(jī)的狀態(tài)遷移圖; 圖2為本發(fā)明提供觀察者信息的方法基本流程圖; 圖3為本發(fā)明呈現(xiàn)服務(wù)器的內(nèi)部結(jié)構(gòu)圖。
具體實(shí)施方式
為了便于本領(lǐng)域一般技術(shù)人員理解和實(shí)現(xiàn)本發(fā)明,現(xiàn)結(jié)合附圖描繪本發(fā)明 的實(shí)施例。本發(fā)明公開了 一種提供觀察者信息的方法,基本流程如圖2所示 步驟201、用戶客戶端向呈現(xiàn)服務(wù)器訂閱自己的觀察者信息; 步驟202、呈現(xiàn)服務(wù)器對(duì)所述觀察者信息的訂閱請(qǐng)求施加過濾條件; 步驟203、呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給用戶客戶端。本發(fā)明中所說的訂閱SUBSCRIBE可以是一個(gè)新的初始訂閱,也可以是維 持已有訂閱的刷新訂閱。呈現(xiàn)服務(wù)器對(duì)所述觀察者信息的訂閱請(qǐng)求施加的過濾 條件舉例如下<filter-set〉<filter id="001" uri="sip:userl@example.com"〉<what><include>/watcherinfo/watcher-list/watcher[@status="pending" or @status="waiting"] </include〉</what〉 <triggerxchanged to="pending">/watcherinfo/watcher-list/watcher/@status </changed></trigger><trigger><changed to="waiting">/watcherinfo/watcher-list/watcher/@status </changed〉</trigger> </filter〉</filter-set〉在一個(gè)過濾條件〈filter〉中,〈what〉元素中為內(nèi)容條件,〈triggei〉元素中為 觸發(fā)條件,呈現(xiàn)服務(wù)器根據(jù)以上的過濾條件,將用戶的觀察者信息中為掛起 "pending"或等待"waiting"狀態(tài)的信息包含在通知消息中發(fā)送給訂閱觀察者信 息的用戶客戶端,如果兩種狀態(tài)都有則可以都發(fā)送。并且呈現(xiàn)服務(wù)器在檢測(cè)到 用戶的觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹虻却隣顟B(tài)時(shí),向訂閱觀察者信息的 用戶客戶端發(fā)送相應(yīng)的通知消息,而變?yōu)槠渌麪顟B(tài)時(shí)不發(fā)訂閱狀態(tài)變化的通知 消息,其中向用戶客戶端發(fā)送的訂閱狀態(tài)變化通知消息也只包含掛起或等待狀 態(tài)的信息,即也應(yīng)用了上述內(nèi)容條件進(jìn)行過濾。如果用戶客戶端發(fā)送的觀察者信息訂閱請(qǐng)求中已經(jīng)包含有用戶設(shè)置的過濾條件,則呈現(xiàn)服務(wù)器先合并呈現(xiàn)服務(wù)器施加的過濾條件和用戶設(shè)置的過濾條 件,然后再根據(jù)合并后的過濾條件進(jìn)行過濾。合并后的過濾條件是進(jìn)行交集運(yùn) 算處理的結(jié)果,如用戶設(shè)置的包含了除掛起和等待之外的其他訂閱狀態(tài)信息如 激活狀態(tài),則與服務(wù)器設(shè)置的上述過濾條件合并后就不會(huì)包含激活狀態(tài)。如呈 現(xiàn)服務(wù)器可以在實(shí)施呈現(xiàn)服務(wù)器設(shè)置的上述過濾條件后的觀察者信息中再實(shí) 施用戶設(shè)置的過濾條件。這樣呈現(xiàn)服務(wù)器不會(huì)向用戶通知除掛起和等待之外的 其他訂閱狀態(tài)信息如激活狀態(tài),激活狀態(tài)即表示當(dāng)前正在訂閱呈現(xiàn)信息,如果 一個(gè)用戶正在訂閱另 一用戶的呈現(xiàn)信息,顯然可知該用戶是在線的。本實(shí)施例中第一用戶和第二用戶互為聯(lián)系人,即在兩者的授權(quán)配置文檔中 都有授權(quán)對(duì)方的獲取自己全部或部分呈現(xiàn)信息的策略配置數(shù)據(jù)。授權(quán)配置文檔 通常可以XML (Extensible Markup Language)格式存儲(chǔ)在呈現(xiàn)XML文檔管理 服務(wù)器(Presence XDMS )中。如下例子在第一用戶的授權(quán)策略中指示第二用 戶已經(jīng)被預(yù)授權(quán)獲取呈現(xiàn)信息<ruleset><rule id=" 1 "〉<conditions〉<identity〉<id entity="user2@example.com7> </identity></conditions><actions><sub-handling>allow</sub-handling></actions〉 <transformations/〉 </rule></ruleset>其中在<conditions>元素中指定預(yù)授權(quán)的用戶身份標(biāo)識(shí)如 "user2@example.com",也可以指定用戶所在的群組標(biāo)識(shí)或域標(biāo)識(shí)。第二用戶客戶端設(shè)置自己為隱身時(shí),如直接設(shè)置自己的呈現(xiàn)信息狀態(tài)為離線或不可用(Not Available),離線或不可用對(duì)應(yīng)的呈現(xiàn)信息值可以用close表 示,當(dāng)然第二用戶實(shí)際上是在線的,在線對(duì)應(yīng)的呈現(xiàn)信息值可以用open表示, 并訂閱第一用戶的呈現(xiàn)信息;這樣第一用戶的觀察者信息中第二用戶的訂閱狀 態(tài)根據(jù)前述的訂閱狀態(tài)機(jī)變?yōu)榧せ顮顟B(tài),根據(jù)上述過濾條件的處理,則呈現(xiàn)服 務(wù)器不會(huì)產(chǎn)生訂閱狀態(tài)變化通知消息給第 一用戶客戶端,即第 一用戶不會(huì)知道 第二用戶正在訂閱自己的呈現(xiàn)信息,而同時(shí)第一用戶客戶端獲取到第二用戶的 呈現(xiàn)信息為離線或不可用狀態(tài)(close),這樣就實(shí)現(xiàn)了第二用戶的隱身。如果第 一用戶的4更^5l策略中沒有第二用戶所對(duì)應(yīng)的策略配置,即第二用戶 沒有被預(yù)授權(quán),則呈現(xiàn)服務(wù)器在接收到第二用戶客戶端訂閱第 一用戶呈現(xiàn)信息 的請(qǐng)求時(shí),根據(jù)前述的訂閱狀態(tài)機(jī)將第二用戶的訂閱狀態(tài)變?yōu)閜ending掛起狀 態(tài),并根據(jù)上述過濾條件的處理,將該訂閱狀態(tài)變化通知給第一用戶客戶端。 發(fā)送的通知消息內(nèi)容舉例如下<watcherinfo〉<watcher-list resource="sip:userl@example.com" package="presence"> <watcherid="123" event="subscribe" status="pending">sip:user2@example.com </watcher></watcher-list〉 </watcherinfo>然后第一用戶客戶端可以才艮據(jù)此通知批準(zhǔn)或拒絕該訂閱請(qǐng)求,如通過 XCAP協(xié)議,修改呈現(xiàn)XML文檔管理服務(wù)器XDMS上第一用戶的授權(quán)策略文 檔。然后由于呈現(xiàn)服務(wù)器也訂閱了用戶授權(quán)配置文檔的變化事件,則呈現(xiàn)服務(wù) 器可以獲得最新修改的授權(quán)策略配置,并據(jù)此修改訂閱狀態(tài)機(jī)中的訂閱狀態(tài), 如果批準(zhǔn)則呈現(xiàn)服務(wù)器將訂閱狀態(tài)變?yōu)榧せ?active),如果拒絕則訂閱狀態(tài)變 為終止(terminated),如果在一定時(shí)間內(nèi)用戶沒有修改相應(yīng)的授權(quán)策略配置, 則超時(shí)變?yōu)榈却隣顟B(tài)。在訂閱狀態(tài)變?yōu)榈却?,如果用戶修改了授?quán)策略文檔, 則無論批準(zhǔn)還是拒絕訂閱狀態(tài)都變?yōu)榻K止。當(dāng)然在下一輪的訂閱時(shí),由于用戶 已經(jīng)修改了授權(quán)策略文檔指示接受或拒絕第二用戶的訂閱,訂閱狀態(tài)可相應(yīng)的 變?yōu)榧せ罨蚪K止。由此可見通過實(shí)施本發(fā)明能規(guī)避隱身實(shí)現(xiàn)的漏洞,而同時(shí)又可滿足用戶對(duì) 呈現(xiàn)信息的訂閱進(jìn)行非預(yù)授權(quán)用戶鑒權(quán)確認(rèn)的需要。本實(shí)施例中當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置隱身時(shí),呈現(xiàn)服務(wù)器向第一用戶客戶端 發(fā)送的呈現(xiàn)信息指示第二用戶為離線狀態(tài)。具體可以通過以下方法實(shí)現(xiàn)將第一用戶的身份標(biāo)識(shí)或所在群組標(biāo)識(shí)與類標(biāo)識(shí)關(guān)聯(lián),并設(shè)置在授權(quán)配置 文檔中;第二用戶客戶端設(shè)置隱身時(shí),將離線狀態(tài)與類標(biāo)識(shí)相關(guān)聯(lián);呈現(xiàn)服務(wù) 器向第 一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。由第二用戶客戶端設(shè)置的授權(quán)配置文檔舉例如下〈ruleset entity="user2@example.com"〉<rule id="l"〉 <conditions><identity〉<id entity="userl@example.com7> </identity></conditions〉<actions><sub-handling>allow</sub-handling></actions> <transformations><provide-services><class>hidden</class></provide-services> </transformations〉 </rule></ruleset〉第二用戶客戶端先呈現(xiàn)服務(wù)器發(fā)布的包含指示離線狀態(tài)的呈現(xiàn)信息文檔 舉例如下<tuple id="00r><status><basic>close</basic></status><contact>sip:user2@example.com</contact><class>hidden</class〉 </tuple〉<tuple id="002"><status〉<basic>open</basic〉</status> </tuple〉此處用基本狀態(tài)元素值設(shè)為close即可,呈現(xiàn)信息中并沒有一個(gè)新增的表 示"隱身"的元素或值。從例子中可見為隱身hidden的類標(biāo)識(shí)〈class〉對(duì)應(yīng)了呈 現(xiàn)信息中的離線狀態(tài)的〈tuple〉元素,同時(shí)在授權(quán)配置中用戶身份標(biāo)識(shí)為 "userl⑨example.com"對(duì)應(yīng)的變換〈transformation^中提供的業(yè)務(wù)即〈tuple〉的類 標(biāo)識(shí)為hidden,根據(jù)這些關(guān)聯(lián),呈現(xiàn)服務(wù)器向"userl⑨example.com"提供的第二 用戶的呈現(xiàn)信息指示了其為離線狀態(tài)。而對(duì)于類標(biāo)識(shí)〈class〉不為hidden的對(duì)應(yīng) 用戶或沒有對(duì)應(yīng)類標(biāo)識(shí)的用戶,呈現(xiàn)服務(wù)器可以向其提供指示第二用戶為在線 open的呈現(xiàn)信息,如上述例子中標(biāo)識(shí)id為"002"的業(yè)務(wù)tuple元素中的呈現(xiàn)信息。 可見通過上述方法,還實(shí)現(xiàn)了部分隱身,即可對(duì)某些聯(lián)系人顯示在線,而同時(shí) 對(duì)另一些聯(lián)系人顯示離線。如果第二用戶一直處于離線狀態(tài),當(dāng)以隱身方式登錄時(shí),即在登錄時(shí)設(shè)置自己為隱身,這時(shí)候一般是對(duì)所有人都隱身,則第二用戶客戶端不向呈現(xiàn)服務(wù) 器發(fā)布呈現(xiàn)信息即可,這樣呈現(xiàn)服務(wù)器中的呈現(xiàn)信息還保持原來指示第二用戶 離線的值。當(dāng)?shù)谝挥脩舻绕渌脩粲嗛喌诙脩舻某尸F(xiàn)信息時(shí),呈現(xiàn)服務(wù)器發(fā)
送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。呈現(xiàn)信息的訂閱SUBSCRIBE可以是 第一次初始訂閱,也可以是刷新訂閱(Refreshing of Subscriptions ),即維持已 有的訂閱,避免訂閱過期,關(guān)于SIP SUBSCRIBE訂閱可以參見RFC3856、 RFC3265等規(guī)范。在登錄之后,當(dāng)?shù)诙脩羧∠[身時(shí),第二用戶客戶端重新 向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息即可。如果只是對(duì)部分用戶如某個(gè)用戶或者某個(gè)群 組中的用戶取消隱身,則可以應(yīng)用類似以上的通過類標(biāo)識(shí)進(jìn)行關(guān)聯(lián)的方法,只 不過此處用非隱身的類標(biāo)識(shí)進(jìn)行關(guān)聯(lián)用戶身份和呈現(xiàn)信息,先通過XCAP協(xié)議 修改授權(quán)配置文檔,使非隱身的類標(biāo)識(shí)與取消隱身的用戶或群組關(guān)聯(lián),再將指 示第二用戶在線的呈現(xiàn)信息tuple元素與非隱身的類標(biāo)識(shí)關(guān)聯(lián),第二用戶客戶 端向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息,這樣上述的部分用戶將獲取到指示第二用戶在 線的呈現(xiàn)信息。第二用戶客戶端可以向呈現(xiàn)服務(wù)器發(fā)布包含一個(gè)指示全局離線狀態(tài)的呈 現(xiàn)信息,呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶所有業(yè)務(wù)為離線狀態(tài) 的呈現(xiàn)信息。這樣就不用對(duì)呈現(xiàn)信息中包含的每個(gè)業(yè)務(wù)分別進(jìn)行隱身設(shè)置了 , 一個(gè)用戶的呈現(xiàn)信息中可以同時(shí)包含多個(gè)業(yè)務(wù)如PoC、 IM的狀態(tài)信息。另外當(dāng)?shù)诙脩艨蛻舳讼虻?一用戶客戶端發(fā)送消息進(jìn)行通信后,第二用戶 客戶端可以自動(dòng)取消對(duì)第 一用戶的隱身設(shè)置,呈現(xiàn)服務(wù)器向第 一用戶客戶端發(fā) 送指示第二用戶為在線狀態(tài)的呈現(xiàn)信息。因?yàn)橐呀?jīng)通信后就沒有再隱身的必 要,而且如果一直隱身則當(dāng)?shù)诙脩粽嬲x線時(shí),第一用戶也無法知道??梢允褂迷谑跈?quán)配置中的設(shè)置變換〈transformations〉來實(shí)現(xiàn),具體方法為第 二用戶客戶端設(shè)置隱身時(shí),在授權(quán)配置中設(shè)置應(yīng)用隱身變換hidden;呈現(xiàn)服務(wù) 器才艮據(jù)所設(shè)置的隱身變換將第二用戶呈現(xiàn)信息中的狀態(tài)變?yōu)殡x線dose再發(fā)送 給觀察者如第 一用戶。當(dāng)然隱身變換也可以對(duì)應(yīng)用戶的身份標(biāo)識(shí)或群組標(biāo)識(shí), 即可以只對(duì)部分用戶提供的呈現(xiàn)信息進(jìn)行隱身變換處理。包含隱身變換 〈hidden^的授權(quán)配置文檔舉例如下<ruleset entity^"user2②example.com"xrule id="l"> <conditions><identity〉<id entity="userl@example.com"/> </identity></conditions〉<actions〉<sub-handling〉allow</sub-handling〉</actions〉 <transformations〉<provide-services><hidden/〉</provide-services〉 </transformations> </rule></ruleset〉如果要對(duì)所有人都設(shè)置為隱身,則在條件元素〈conditions〉中指定為任意身 份標(biāo)識(shí)〈any-identity々對(duì)應(yīng)隱身變換即可。還可以只對(duì)指定的業(yè)務(wù)如一鍵通PoC 或即時(shí)消息IM進(jìn)行隱身設(shè)置,在變換〈transformations〉元素中關(guān)聯(lián)業(yè)務(wù)標(biāo)識(shí) <service-id>即可,^t口下面的例子〈ruleset entity="user2@example.com"><rule id=" 1 "〉<actions〉<sub-handling〉allow</sub-handling〉</actions> <transformations〉<provide-services〉 <hidden/〉<service-id〉PoC</service-id> </provide-services></transformations> </rule></ruleset〉呈現(xiàn)服務(wù)器4艮據(jù)上述變換,將呈現(xiàn)信息中與該業(yè)務(wù)標(biāo)識(shí)相對(duì)應(yīng)的狀態(tài)轉(zhuǎn)換 為離線狀態(tài)再發(fā)送出去。可見通過以上的隱身變換,即使用戶的呈現(xiàn)信息是指 示在線的,在經(jīng)過隱身變換處理之后,最終向觀察者提供的呈現(xiàn)信息變成了指 示其離線的了。這種方法的一個(gè)好處是設(shè)置隱身的用戶的呈現(xiàn)信息可以是真實(shí) 的即是在線的,如果一個(gè)在線用戶在IM客戶端或PoC客戶端設(shè)置自己相應(yīng)的 業(yè)務(wù)tuple的狀態(tài)status為離線close,這樣雖然也可隱身,但可能會(huì)導(dǎo)致其他 用戶無法與他進(jìn)行通信,或不想要的后果,如用戶狀態(tài)為離線close時(shí),PoC 語音消息可能會(huì)被轉(zhuǎn)發(fā)到PoC BOX中,用戶無法直接聽到了 ,而實(shí)際上用戶 可能希望還能聽到,只是不想讓其他人知道自己在線。通過隱身變換的方法即 可避免以上問題,用戶在設(shè)置隱身時(shí),實(shí)際上修改的是授權(quán)配置文檔,而不是 呈現(xiàn)信息。另外也可以對(duì)變換〈transformations〉做更通用的擴(kuò)展,如對(duì)一個(gè)元素和屬 性可以施加一個(gè)函數(shù)變換。用XML描述的表達(dá)式舉例如下<transformations〉<provide-status><fUnction para="open, close"〉instead</fimction> </provide-statusX/transformations>以上transformations元素表示呈現(xiàn)服務(wù)器在提供狀態(tài)信息時(shí),要進(jìn)行名稱 為替換instead的變換處理,變換的參數(shù)para包含兩個(gè)為"open, close",即將open 的狀態(tài)值變?yōu)閏lose的狀態(tài)值。這樣雖然很靈活,但不好定義函數(shù)參數(shù)的約束 限制(Restriction),以進(jìn)行參數(shù)的合法性檢查??梢圆捎靡韵路绞奖磉_(dá)<transformations><provide-status〉<instead-fimction paral="open", para2="close"/〉</provide-status〉</transformations〉這樣可以在XML schema中對(duì)每個(gè)函數(shù)如替換函數(shù)instead-ftmction定義參 數(shù)屬性如paral的約束限制。如圖3所示,在呈現(xiàn)服務(wù)器中,呈現(xiàn)信息可以放在存儲(chǔ)單元中,對(duì)SIP訂 閱、發(fā)布和通知消息的處理可以分別通過訂閱處理單元、發(fā)布處理單元和通知 處理單元進(jìn)行,觀察者信息由訂閱狀態(tài)機(jī)單元維護(hù)。當(dāng)訂閱處理單元接收到呈 現(xiàn)信息的訂閱請(qǐng)求時(shí),訂閱狀態(tài)機(jī)單元會(huì)相應(yīng)修改觀察者信息中的訂閱狀態(tài)。 還可以設(shè)置一個(gè)觀察者信息過濾單元,用于對(duì)用戶的觀察者信息施加預(yù)設(shè)的過 濾條件進(jìn)行過濾后才發(fā)送,只發(fā)送包含掛起或等待狀態(tài)內(nèi)容的觀察者信息。另 外還可以包括一個(gè)觸發(fā)條件檢測(cè)單元,用于檢測(cè)觀察者信息中是否有訂閱狀態(tài) 變?yōu)閽炱鸹虻却隣顟B(tài),如果有,呈現(xiàn)服務(wù)器才發(fā)送訂閱狀態(tài)變化通知消息,否 則不發(fā)送,當(dāng)然發(fā)送的通知消息也只包含掛起或等待狀態(tài)的觀察者信息內(nèi)容。
進(jìn)一步還可以包4舌一個(gè)隱身變換單元,在由訂閱處理單元/人存〗渚單元獲糾目應(yīng) 呈現(xiàn)信息后,通知處理單元發(fā)送呈現(xiàn)信息出去之前,根據(jù)授權(quán)配置對(duì)相應(yīng)的呈 現(xiàn)信息施加隱身變換處理,即將呈現(xiàn)信息中的狀態(tài)變換為指示離線狀態(tài)的值。明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種提供觀察者信息的方法,其特征在于,該方法包括步驟第一用戶客戶端向呈現(xiàn)服務(wù)器訂閱自己的觀察者信息;呈現(xiàn)服務(wù)器對(duì)所述觀察者信息的訂閱請(qǐng)求施加過濾條件;呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給第一用戶客戶端。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述過濾條件包括內(nèi)容條 件,呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給第 一用戶客戶端的步驟 具體為呈現(xiàn)服務(wù)器根據(jù)過濾條件中的內(nèi)容條件將所述觀察者信息為掛起和/ 或等待狀態(tài)的信息包含在通知消息中發(fā)送給第 一用戶客戶端。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述過濾條件還包括觸發(fā) 條件,該方法還包括步驟根據(jù)過濾條件中的觸發(fā)條件呈現(xiàn)服務(wù)器在檢測(cè)到所 述觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹虻却隣顟B(tài)時(shí),向第 一用戶客戶端發(fā)送相 應(yīng)的通知消息。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,如果第一用戶客戶端發(fā)送 的觀察者信息訂閱請(qǐng)求中已經(jīng)包含有用戶設(shè)置的過濾條件,則呈現(xiàn)服務(wù)器先對(duì) 呈現(xiàn)服務(wù)器施加的過濾條件和用戶設(shè)置的過濾條件進(jìn)行合并處理,然后再根據(jù) 合并后的過濾條件對(duì)所述觀察者信息進(jìn)行過濾。
5、 根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,該方法還包括 步驟第一用戶客戶端和第二用戶客戶端互相訂閱對(duì)方的呈現(xiàn)信息;當(dāng)?shù)诙脩艨蛻舳嗽O(shè)置為隱身時(shí),呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送的呈 現(xiàn)信息指示第二用戶為離線狀態(tài)。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè) 置為隱身時(shí),呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送的呈現(xiàn)信息指示第二用戶為離 線狀態(tài)的步驟具體包括在第二用戶的授權(quán)配置文檔中將第一用戶的身份標(biāo)識(shí)或第一用戶所在的 群組標(biāo)識(shí)與類標(biāo)識(shí)相關(guān)聯(lián); 第二用戶客戶端將呈i見信息中的離線狀態(tài)與類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn)服務(wù)器;呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第一用戶客戶端發(fā)送指示第二用戶為離線 狀態(tài)的呈現(xiàn)信息。
7、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè) 置為隱身時(shí),呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送的呈現(xiàn)信息指示第二用戶為離線狀態(tài)的步驟具體包括在第二用戶的授權(quán)配置文檔中將第一用戶的身份標(biāo)識(shí)或第一用戶所在的群組標(biāo)識(shí)與隱身變換相關(guān)聯(lián);呈現(xiàn)服務(wù)器向第一用戶提供的呈現(xiàn)信息時(shí)進(jìn)行隱身變換處理,向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,將所述隱身變換還與業(yè)務(wù) 標(biāo)識(shí)相關(guān)聯(lián),則呈現(xiàn)服務(wù)器向第 一用戶提供所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的呈現(xiàn)信息時(shí)進(jìn) 行隱身變換處理,向第一用戶客戶端發(fā)送指示第二用戶該業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)業(yè)務(wù)為 離線狀態(tài)的呈現(xiàn)信息。
9、 根據(jù)權(quán)利要求5所述的方法,其特征在于,第二用戶客戶端向第一用 戶客戶端發(fā)送消息進(jìn)行通信后,第二用戶客戶端自動(dòng)取消對(duì)第一用戶的隱身設(shè) 置,呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為在線狀態(tài)的呈現(xiàn)信息。
10、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述當(dāng)?shù)诙脩艨蛻舳嗽O(shè) 置為隱身的步驟具體包括當(dāng)?shù)诙脩粢噪[身方式登錄時(shí),第二用戶客戶端不 向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息。
11、 一種呈現(xiàn)服務(wù)器,用于接收、存儲(chǔ)和分發(fā)呈現(xiàn)信息,其特征在于,所 述的呈現(xiàn)服務(wù)器還用于接收觀察者信息的訂閱請(qǐng)求,并對(duì)所述觀察者信息的訂 閱請(qǐng)求施加預(yù)設(shè)的過濾條件,將所述觀察者信息進(jìn)行過濾后再發(fā)送出去。
12、 根據(jù)權(quán)利要求11所述的呈現(xiàn)服務(wù)器,其特征在于,在呈現(xiàn)服務(wù)器中 預(yù)設(shè)的過濾條件包括內(nèi)容條件和觸發(fā)條件信息;所述的內(nèi)容條件信息用于呈現(xiàn) 服務(wù)器據(jù)此將所述觀察者信息為掛起和/或等待狀態(tài)的信息包含在通知消息中發(fā)送出去;所述的觸發(fā)條件用于呈現(xiàn)服務(wù)器據(jù)此在檢測(cè)到所述觀察者信息中有 訂閱狀態(tài)變?yōu)楣鹌鸹虻却隣顟B(tài)時(shí),發(fā)送相應(yīng)的通知消息。
13、 根據(jù)權(quán)利要求11或12所述的呈現(xiàn)服務(wù)器,其特征在于,在呈現(xiàn)服務(wù) 器中呈現(xiàn)體的授權(quán)配置中包括用戶與類標(biāo)識(shí)的關(guān)聯(lián)關(guān)系,呈現(xiàn)信息中包括離線 狀態(tài)與類標(biāo)識(shí)的關(guān)聯(lián)關(guān)系;所述的兩個(gè)關(guān)聯(lián)關(guān)系信息用于呈現(xiàn)服務(wù)器據(jù)此向與 離線狀態(tài)相關(guān)聯(lián)的用戶客戶端發(fā)送指示該呈現(xiàn)體為離線狀態(tài)的呈現(xiàn)信息。
14、 根據(jù)權(quán)利要求11或12所述的呈現(xiàn)服務(wù)器,其特征在于,在呈現(xiàn)服務(wù) 器中呈現(xiàn)體的授權(quán)配置中包括與用戶關(guān)聯(lián)的隱身變換信息,所述的隱身變換信 息用于呈現(xiàn)服務(wù)器據(jù)此向相關(guān)聯(lián)用戶提供的呈現(xiàn)信息進(jìn)行隱身變換處理,使呈 現(xiàn)服務(wù)器向相關(guān)聯(lián)的用戶客戶端發(fā)送指示該呈現(xiàn)體為離線狀態(tài)的呈現(xiàn)信息。
15、 根據(jù)權(quán)利要求11或12所述的呈現(xiàn)服務(wù)器,其特征在于,在呈現(xiàn)服務(wù) 器中呈現(xiàn)體的授權(quán)配置中包括與業(yè)務(wù)標(biāo)識(shí)關(guān)聯(lián)的隱身變換信息,所述的隱身變 換信息用于呈現(xiàn)服務(wù)器據(jù)此提供所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的呈現(xiàn)信息時(shí)進(jìn)行隱身變 換處理,使呈現(xiàn)服務(wù)器發(fā)送指示該呈現(xiàn)體在所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)業(yè)務(wù)中為離線狀 態(tài)的呈現(xiàn)信息。
16、 根據(jù)權(quán)利要求11所述的呈現(xiàn)服務(wù)器,包括訂閱處理單元、發(fā)布處理 單元、通知處理單元、存儲(chǔ)單元、訂閱狀態(tài)機(jī)單元,其特征在于,還包括觀察者信息過濾單元,用于對(duì)所述觀察者信息施加預(yù)設(shè)的過濾條件進(jìn)行過 濾后才通過通知處理單元發(fā)送只包含掛起和/或等待狀態(tài)內(nèi)容的觀察者信息;觸發(fā)條件檢測(cè)單元,用于檢測(cè)觀察者信息中是否有訂閱狀態(tài)變?yōu)閽炱鸹虻?待狀態(tài)。
17、 根據(jù)權(quán)利要求16所述的呈現(xiàn)服務(wù)器,其特征在于,還包括隱身變換 單元,用于在由訂閱處理單元從存儲(chǔ)單元獲M目應(yīng)呈現(xiàn)信息后,通知處理單元 發(fā)送呈現(xiàn)信息出去之前,根據(jù)授權(quán)配置對(duì)相應(yīng)的呈現(xiàn)信息施加隱身變換處理, 將相應(yīng)的呈現(xiàn)信息中的狀態(tài)變換為指示離線狀態(tài)的值。
18、 一種實(shí)J見隱身的方法,其特征在于,包4舌步-驟第二用戶客戶端設(shè)置隱身,并向呈現(xiàn)服務(wù)器訂閱了第 一用戶的呈現(xiàn)信息; 呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息, 并且不向第一用戶客戶端發(fā)送包含第二用戶訂閱狀態(tài)的觀察者信息。
19、 根據(jù)權(quán)利要求18所述的方法,第一用戶客戶端訂閱了自己的觀察者 信息,其特征在于,所述不向第一用戶客戶端發(fā)送包含第二用戶訂閱狀態(tài)的觀 察者信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù)預(yù)設(shè)的過濾條件將所述觀察者信息進(jìn) 行過濾后再發(fā)送給第 一用戶客戶端。
20、 根據(jù)權(quán)利要求19所述的方法,其特征在于,所述過濾條件包括內(nèi)容 條件,呈現(xiàn)服務(wù)器根據(jù)預(yù)設(shè)的過濾條件將所述觀察者信息進(jìn)行過濾后再發(fā)送給 第 一用戶客戶端的步驟具體為呈現(xiàn)服務(wù)器根據(jù)過濾條件中的內(nèi)容條件將所述 觀察者信息為掛起和/或等待狀態(tài)的信息包含在通知消息中發(fā)送給第 一用戶客 戶端。
21、 根據(jù)權(quán)利要求20所述的方法,其特征在于,所述過濾條件還包括觸 發(fā)條件,該方法還包括步驟根據(jù)過濾條件中的觸發(fā)條件呈現(xiàn)服務(wù)器在檢測(cè)到 所述觀察者信息中有訂閱狀態(tài)變?yōu)閽炱鸹虻却隣顟B(tài)時(shí),才向第一用戶客戶端發(fā) 送相應(yīng)的通知消息。
22、 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的方法,其特征在于,所述第二用 戶客戶端設(shè)置隱身的步驟具體包括在第二用戶的授權(quán)配置文檔中將第 一用戶的身份標(biāo)識(shí)或第一用戶所在的 群組標(biāo)識(shí)與類標(biāo)識(shí)相關(guān)聯(lián);第二用戶客戶端將呈現(xiàn)信息中的離線狀態(tài)與類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn) 服務(wù)器;所述呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第一用戶客戶端發(fā)送指示第 二用戶為離線狀態(tài)的呈現(xiàn)信息。
23、 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的方法,其特征在于,所述第二用 戶客戶端設(shè)置隱身的步驟具體為在第二用戶的授權(quán)配置文檔中將第 一用戶的 身份標(biāo)識(shí)或第一用戶所在的群組標(biāo)識(shí)與隱身變換相關(guān)聯(lián);所述呈現(xiàn)服務(wù)器向第 一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶提供的呈現(xiàn)信息時(shí)進(jìn)行隱身變換處 理,向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。
24、 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的方法,其特征在于,所述第二用 戶客戶端設(shè)置隱身的步驟具體為當(dāng)?shù)诙脩粢噪[身方式登錄時(shí),第二用戶客 戶端不向呈現(xiàn)服務(wù)器發(fā)布呈現(xiàn)信息。
25、 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的方法,其特征在于,所述第二用 戶客戶端設(shè)置隱身的步驟具體為第二用戶客戶端向呈現(xiàn)服務(wù)器發(fā)布包含一個(gè) 指示全局離線狀態(tài)的呈現(xiàn)信息;所述呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn) 信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶所有業(yè)務(wù) 為離線狀態(tài)的呈現(xiàn)信息。
26、 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的方法,其特征在于,第二用戶客 戶端向第一用戶客戶端發(fā)送消息進(jìn)行通信后,第二用戶客戶端自動(dòng)取消對(duì)第一 用戶的隱身設(shè)置,呈現(xiàn)服務(wù)器向第一用戶客戶端發(fā)送指示第二用戶為在線狀態(tài) 的呈現(xiàn)信息。
27、 一種將用戶顯示為離線的方法,其特征在于,包括步驟 在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置;呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用戶為 離線狀態(tài)的呈現(xiàn)信息。
28、 根據(jù)權(quán)利要求27所述的方法,其特征在于,所述在第二用戶的授權(quán) 配置文檔中進(jìn)行隱身設(shè)置的步驟具體為在第二用戶的授權(quán)配置文檔中將第一 用戶的身份標(biāo)識(shí)或第一用戶所在的群組標(biāo)識(shí)與隱身類標(biāo)識(shí)相關(guān)聯(lián);所述在第二用戶的授權(quán)配置文檔中進(jìn)行隱身設(shè)置的步驟之后還包括步驟 第二用戶客戶端將呈現(xiàn)信息中的離線狀態(tài)與隱身類標(biāo)識(shí)相關(guān)聯(lián),并發(fā)布到呈現(xiàn)服務(wù)器;所述呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息的步驟具體為呈現(xiàn)服務(wù)器根據(jù)所述的關(guān)聯(lián)向第 一用 戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈現(xiàn)信息。
29、根據(jù)權(quán)利要求27所述的方法,其特征在于,所述在第二用戶的授權(quán) 配置文檔中進(jìn)行隱身設(shè)置的步驟具體為在第二用戶的授權(quán)配置文檔中將第一 用戶的身份標(biāo)識(shí)或第一用戶所在的群組標(biāo)識(shí)與隱身變換相關(guān)聯(lián);所述呈現(xiàn)服務(wù)器根據(jù)所述的隱身設(shè)置向第一用戶客戶端發(fā)送指示第二用 戶為離線狀態(tài)的呈現(xiàn)信息的步驟具體為呈現(xiàn)服務(wù)器向第一用戶提供的呈現(xiàn)信 息時(shí)進(jìn)行隱身變換處理,向第一用戶客戶端發(fā)送指示第二用戶為離線狀態(tài)的呈
全文摘要
本發(fā)明公開了一種提供觀察者信息的方法,步驟包括用戶客戶端向呈現(xiàn)服務(wù)器訂閱自己的觀察者信息;呈現(xiàn)服務(wù)器對(duì)所述觀察者信息的訂閱請(qǐng)求施加過濾條件;呈現(xiàn)服務(wù)器將所述觀察者信息進(jìn)行過濾后再發(fā)送給用戶客戶端。呈現(xiàn)服務(wù)器向用戶客戶端只提供為掛起或等待狀態(tài)的觀察者信息,以及只在觀察者信息中有狀態(tài)變?yōu)閽炱鸹虻却龝r(shí)才發(fā)送觀察者信息變化通知。通過本發(fā)明可以實(shí)現(xiàn)真正的隱身,而同時(shí)又可滿足對(duì)非預(yù)授權(quán)用戶進(jìn)行鑒權(quán)確認(rèn)的需要。
文檔編號(hào)H04L29/06GK101119325SQ20061006201
公開日2008年2月6日 申請(qǐng)日期2006年8月4日 優(yōu)先權(quán)日2006年8月4日
發(fā)明者謙 孫, 宋雪飛, 彭程暉, 揚(yáng) 招, 田林一, 鮑洪慶 申請(qǐng)人:華為技術(shù)有限公司