專利名稱:一種限制業(yè)務資源訂閱的方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在系統(tǒng)中訂閱業(yè)務的技術(shù),特別涉及一種在會話初始化協(xié)議
(SIP , Session Initiation Protocol)系統(tǒng)中限制業(yè)務資源訂閱的方法、系統(tǒng)及裝置。
背景技術(shù):
SIP是一個應用層的信令控制協(xié)議,用于創(chuàng)建、修改和釋放一個或多個 參與者的會話,這些會話可以是因特網(wǎng)(Internet)多媒體會議、因特網(wǎng)協(xié)議 (IP, Internet Protocol)電話或多i某體分發(fā)。會話的參與者可以通過組播 (multicast)、網(wǎng)狀單播(unicast)、或組播和網(wǎng)狀單播兩者的混合體進行 通信。
在SIP系統(tǒng)中,SIP用戶可以訂閱SIP系統(tǒng)中的各種業(yè)務資源,例如訂 閱呈現(xiàn)業(yè)務的呈現(xiàn)信息等。以下對SIP用戶如何訂閱呈現(xiàn)業(yè)務的呈現(xiàn)信息進 行具體說明。
基于SIP信令,互聯(lián)網(wǎng)工程任務組(IETF, Internet Engineering Task Force )提出了實現(xiàn)呈現(xiàn)業(yè)務(Presence Service)的一系列規(guī)范,其基本思想 是設(shè)置支持SIP信令的呈現(xiàn)服務器,呈現(xiàn)體使用基于SIP的發(fā)布(PUBLISH) 信令將自身的呈現(xiàn)信息,如在線、忙和離線等呈現(xiàn)信息傳輸給呈現(xiàn)服務器; 觀察者使用基于SIP的訂閱(SUBSCRIBE)信令向呈現(xiàn)服務器訂閱呈現(xiàn)體 的呈現(xiàn)信息,呈現(xiàn)服務器接收到SUBSCRIBE信令后,根據(jù)呈現(xiàn)體設(shè)置的策 略判斷是否批準觀察者的訂閱,如果是,則將呈現(xiàn)體發(fā)布的呈現(xiàn)信息通過基 于SIP的通報(NOTIFY)信令發(fā)送給觀察者;如果否,則拒絕向觀察者通 報呈現(xiàn)體發(fā)布的呈現(xiàn)信息。圖1為現(xiàn)有技術(shù)中提供呈現(xiàn)業(yè)務的SIP系統(tǒng)架構(gòu)示意圖,如圖所示,該
系統(tǒng)包括文檔管理客戶端(XDMS Client)、集合代理(Aggregation Proxy )、 呈現(xiàn)文檔管理服務器(Presence XDMS )、呈現(xiàn)服務器(Presence Server )、 呈現(xiàn)資源(Presence Source )以及觀察者(Watcher)等,其中,
XDMS Client將呈現(xiàn)信息通過Aggregation Proxy發(fā)送給Presence XDMS,將授權(quán)策略通過Aggregation Proxy發(fā)送給Presence Server,當 Watcher通過SIP/IP核心 (Core )向Presence Server訂閱XDMS Client的 呈現(xiàn)信息時,Presence Serve根據(jù)授權(quán)策略判斷是否接受Watcher的訂閱, 如果是,從Presence XDMS獲取到呈現(xiàn)體的呈現(xiàn)信息,通過SIP/IP Core發(fā) 送給Watcher。
在該系統(tǒng)中,還包括有共用列表文檔管理(Shared List XDMS )、資源 列表服務器(Resource List Server )、內(nèi)容服務(Content Server )以及基于 SIP/IP Core的遠程呈現(xiàn)網(wǎng)絡(Remote Presence Network)等,這里不再累述。
在呈現(xiàn)業(yè)務中,觀察者向呈現(xiàn)服務器訂閱業(yè)務資源,即呈現(xiàn)體的呈現(xiàn)信 息,會在呈現(xiàn)服務器保存觀察者信息(Watcher Information),觀察者信息 指呈現(xiàn)體的每個觀察者的訂閱狀態(tài)信息,在IETF中定義了觀察者信息事件 包,以及基于SIP的觀察者信息訂閱和通知的處理流程。呈現(xiàn)服務器允許呈 現(xiàn)體訂閱自己的觀察者信息,當觀察者信息中的訂閱狀態(tài)發(fā)生變化時,呈現(xiàn) 服務器向訂閱觀察者信息的實體發(fā)送通知,該實體一般為呈現(xiàn)體,該通知的 內(nèi)容舉例如下
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo"
version="0" state="full"> <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"對呈現(xiàn)體 "sip:B@example.com,,的訂閱^l犬態(tài)(Status)為 "pending", 即才圭起4犬態(tài), 也就是呈現(xiàn)服務器暫時不能將呈現(xiàn)體的呈現(xiàn)信息通過NOTIFY信令發(fā)送給 觀察者,直到觀察者針對呈現(xiàn)體的觀察者信息變化為激活狀態(tài)為止。
為了保存針對呈現(xiàn)體的觀察者信息,呈現(xiàn)服務器維護了一個圖2所示的 訂閱狀態(tài)機,當呈現(xiàn)服務器接收到一個對呈現(xiàn)體的呈現(xiàn)信息訂閱時,根據(jù)預 先設(shè)置的該呈現(xiàn)體對應的授權(quán)策略確定是否接受該訂閱,如果對發(fā)起訂閱的 觀察者的授權(quán)策略為拒絕,則該訂閱進入終止狀態(tài);如果對發(fā)起訂閱的觀察 者的授權(quán)策略為接受,則該訂閱進入激活狀態(tài);如果對發(fā)起訂閱的觀察者的 授權(quán)策略沒有預先設(shè)置,則該訂閱進入掛起狀態(tài)。
從訂閱狀態(tài)機中可以看出, 一個掛起狀態(tài)的訂閱如果得到呈現(xiàn)體的批準 則進入激活狀態(tài),如果得到呈現(xiàn)體的放棄或拒絕,或者無資源時則進入終止 狀態(tài),如果超時則進入等待狀態(tài); 一個等待狀態(tài)的訂閱在無資源、呈現(xiàn)體拒 絕或超時的時候進入終止狀態(tài); 一個激活狀態(tài)的訂閱在無資源、呈現(xiàn)體拒絕 或超時的時候進入終止狀態(tài)。
詳細的觀察者信息的狀態(tài)轉(zhuǎn)移過程可參考IETF的RFC3857標準,當 訂閱狀態(tài)發(fā)生變化時,呈現(xiàn)服務器就會將變化的訂閱狀態(tài),即變換的觀察者 信息通知給觀察者信息訂閱者,該觀察者信息訂閱者通常為呈現(xiàn)體。
從上述敘述的呈現(xiàn)業(yè)務的實現(xiàn)可以看出,相對于另一個基于SIP信令的 業(yè)務一短消息業(yè)務(SMS, Short Message Service )不同,基于SIP信令的呈 現(xiàn)業(yè)務,在呈現(xiàn)服務器接收到的呈現(xiàn)信息需要實時刷新,并頻繁響應觀察者 的訂閱,同時眾多的呈現(xiàn)信息對呈現(xiàn)服務器的發(fā)布也是一個很重的負擔。因 此,對呈現(xiàn)業(yè)務的優(yōu)化是勢在必行的。對呈現(xiàn)業(yè)務的優(yōu)化方法包括對承載 呈現(xiàn)信息的SIP信令中進行壓縮;將呈現(xiàn)信息承載在SIP信令中時用標簽標 識,以減輕SIP信令的流量;實施部分呈現(xiàn)信息的通^t艮和發(fā)布,以減輕每個 SIP信令的長度等。
但是,上述對呈現(xiàn)業(yè)務的優(yōu)化方法是遠遠不夠的,目前還沒有一種可以限制呈現(xiàn)體的呈現(xiàn)信息被訂閱的方法,以及進一步將這種限制情況通知該呈 現(xiàn)體的技術(shù)。由于提供呈現(xiàn)業(yè)務的SIP系統(tǒng)無線帶寬資源是有限的,因此, 限制呈現(xiàn)信息被訂閱的方法是十分必要的。該方法可以通過限制部分觀察者 訂閱某一呈現(xiàn)體的呈現(xiàn)信息,從而在提供呈現(xiàn)業(yè)務的SIP系統(tǒng)有限的無線帶 寬資源中,體現(xiàn)不同呈現(xiàn)體的呈現(xiàn)信息的訂閱占用的無線帶寬資源的公平
性。例如由于沒有對呈現(xiàn)信息被訂閱的限制,而導致呈現(xiàn)體A只有兩個 好友處于"掛起"或"激活"狀態(tài),而呈現(xiàn)體B擁有1000個好友處于"掛 起"或"激活"狀態(tài)的情況,呈現(xiàn)體B占用的無線帶寬資源是呈現(xiàn)體A占 用的無線帶寬資源的500倍,如果沒有一種方法對呈現(xiàn)體B的呈現(xiàn)信息訂閱 的限制,則對呈現(xiàn)體A是不公平的。
更進一步地,如何限制提供其他業(yè)務的SIP系統(tǒng)的其他業(yè)務資源被訂閱 也是一個亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供了 一種限制業(yè)務資源訂閱的方法,該方法能夠限制業(yè) 務資源的訂閱。
本發(fā)明實施例提供了 一種限制業(yè)務資源訂閱的系統(tǒng),該系統(tǒng)能夠限制業(yè) 務資源的訂閱。
本發(fā)明實施例提供了 一種限制業(yè)務資源訂閱的裝置,該裝置能夠限制業(yè) 務資源的訂閱。
根據(jù)上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的 一種限制業(yè)務資源訂閱的方法,該方法包括 接收對業(yè)務資源的訂閱消息;
判斷對所述業(yè)務資源的訂閱是否滿足設(shè)定的訂閱限制條件,如果不滿 足,拒絕對所述的業(yè)務資源訂閱。
一種限制業(yè)務資源訂閱的系統(tǒng),包括服務器、訂閱者、提供者和業(yè)務 XML文檔管理服務器,其中,業(yè)務XML文檔管理服務器,用于存儲業(yè)務資源訂閱限制條件和提供者
設(shè)置的策略;
訂閱者,用于向服務器發(fā)送業(yè)務資源訂閱消息,接收服務器發(fā)送的業(yè)務 資源或者接收服務器發(fā)送的拒絕消息;
提供者,用于將業(yè)務資源信息發(fā)送給服務器,在業(yè)務XML文檔管理服 務器中設(shè)置策略;
服務器,用于接收訂閱者發(fā)送的所述訂閱消息,判斷對所述業(yè)務資源的 訂閱是否滿足從業(yè)務XML文檔管理服務器獲取的所述業(yè)務資源訂閱限制條 件,如果不滿足,向所述訂閱者發(fā)送拒絕訂閱消息,或者根據(jù)從業(yè)務XML 文檔管理服務器獲取的提供者設(shè)置的策略授權(quán)所述訂閱者,在設(shè)定次數(shù)內(nèi)將 所述業(yè)務資源信息發(fā)送給訂閱者。
一種限制業(yè)務資源訂閱的裝置,包括消息傳輸處理模塊、訂閱狀態(tài)統(tǒng) 計處理模塊和訂閱狀態(tài)記錄模塊,其中,
消息傳輸處理模塊,用于將接收的業(yè)務資源訂閱消息轉(zhuǎn)發(fā)給訂閱狀態(tài)統(tǒng) 計處理模塊,根據(jù)訂閱狀態(tài)統(tǒng)計處理模塊的指示發(fā)送所述業(yè)務資源信息或拒 絕消息;
訂閱狀態(tài)統(tǒng)計處理模塊,用于從消息傳輸處理模塊接收所述訂閱消息, 判斷從訂閱狀態(tài)記錄模塊獲取的對所述業(yè)務資源的訂閱是否滿足獲取的所 述業(yè)務資源訂閱限制條件,如果不滿足,指示消息傳輸處理模塊發(fā)送拒絕訂 閱消息,或者根據(jù)獲取的提供者設(shè)置的策略授權(quán)所述訂閱者,指示消息傳輸 處理模塊在設(shè)定次數(shù)內(nèi)發(fā)送所述業(yè)務資源信息;
訂閱狀態(tài)記錄模塊,用于存儲所述業(yè)務資源的訂閱。
從上述方案可以看出,本發(fā)明實施例在SIP系統(tǒng)的網(wǎng)絡側(cè)針對同一業(yè)務 的業(yè)務資源設(shè)置訂閱限制條件,判斷出當前訂閱該業(yè)務的業(yè)務資源總訂閱信 息不滿足該業(yè)務的業(yè)務資源訂閱限制條件時,則無論根據(jù)設(shè)置的策略是否授 權(quán)該訂閱者,拒絕該訂閱,或者根據(jù)設(shè)置的策略授權(quán)該訂閱者后,接受設(shè)定 次數(shù)該訂閱,給訂閱者發(fā)送設(shè)定次數(shù)的包含該業(yè)務資源的通知消息后, 一般是一次通知之后,以后就不再維護該訂閱。因此,本發(fā)明實施例提供的方法、 系統(tǒng)及裝置可以限制業(yè)務資源的訂閱,可以通過限制部分訂閱者訂閱某一業(yè) 務的業(yè)務資源或限制部分訂閱者訂閱某一業(yè)務的業(yè)務資源次數(shù),在提供業(yè)務 的SIP系統(tǒng)有限的無線帶寬資源中,體現(xiàn)不同業(yè)務的業(yè)務資源訂閱占用的無 線帶寬資源的公平性。
圖1為現(xiàn)有技術(shù)中提供呈現(xiàn)業(yè)務的SIP系統(tǒng)架構(gòu)示意圖2為現(xiàn)有技術(shù)呈現(xiàn)服務器維護的訂閱狀態(tài)機工作示意圖3為本發(fā)明實施例在S IP中限制訂閱呈現(xiàn)業(yè)務的呈現(xiàn)信息的系統(tǒng)示意
圖4為本發(fā)明實施例呈現(xiàn)服務器的結(jié)構(gòu)示意圖5為本發(fā)明實施例提供的限制業(yè)務資源訂閱的方法流程圖6為本發(fā)明較佳實施例提供的限制業(yè)務訂閱的方法一流程圖7為本發(fā)明較佳實施例提供的限制業(yè)務訂閱的方法二流程8為本發(fā)明實施例向呈現(xiàn)體通知觀察者信息的方法流程圖9為本發(fā)明實施例呈現(xiàn)服務器維護的訂閱狀態(tài)機工作示意圖10為本發(fā)明實施例呈現(xiàn)服務器指示觀察者訂閱呈現(xiàn)信息的方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明 實施例作進一步的詳細描述。
為了限制業(yè)務資源的訂閱,本發(fā)明實施例在SIP系統(tǒng)的網(wǎng)絡側(cè)針對同一 業(yè)務的業(yè)務資源設(shè)置訂閱限制條件,如最大訂閱數(shù)目,即訂閱數(shù)目上限或最 大負荷值,當網(wǎng)絡側(cè)接收到對該業(yè)務的業(yè)務資源訂閱消息后,判斷當前訂閱 該業(yè)務的業(yè)務資源總訂閱信息是否滿足該業(yè)務的業(yè)務資源訂閱限制條件,如果不滿足,則無論根據(jù)設(shè)置的策略是否授權(quán)該訂閱者,拒絕該訂閱,或者根 據(jù)設(shè)置的策略授權(quán)該訂閱者后,接受設(shè)定次數(shù)該訂閱,給訂閱者發(fā)送設(shè)定次 數(shù)的包含該業(yè)務資源的通知消息后, 一般是一次通知之后,以后不再維護該 訂閱,即當網(wǎng)絡側(cè)再次接收到具有該業(yè)務的實體發(fā)布的業(yè)務資源后,不再給 該訂閱者發(fā)送具有該業(yè)務的實體發(fā)布的業(yè)務資源。
這樣,就可以通過限制部分訂閱者訂閱某一業(yè)務的業(yè)務資源或限制部分
訂閱者訂閱某一業(yè)務的業(yè)務資源次數(shù),在提供業(yè)務的SIP系統(tǒng)有限的無線帶
寬資源中,體現(xiàn)不同業(yè)務的業(yè)務資源訂閱占用的無線帶寬資源的公平性。
在本實施例中,當判斷當前訂閱該業(yè)務的業(yè)務資源總訂閱信息不滿足該 業(yè)務的業(yè)務資源訂閱限制條件后,還可以將該訂閱者的訂閱信息存儲在網(wǎng)絡 側(cè)預先設(shè)置的拒絕隊列中,在訂閱該業(yè)務的業(yè)務資源總訂閱信息有變化或該 業(yè)務的業(yè)務資源訂閱限制條件有變化后,再次判斷出當前訂閱該業(yè)務的業(yè)務
資源總訂閱信息滿足該業(yè)務的業(yè)務資源訂閱限制條件時,根據(jù)拒絕隊列中的 訂閱信息確定訂閱者,向訂閱者發(fā)送通知,使訂閱者再次發(fā)起針對該業(yè)務的 業(yè)務資源的訂閱。
以下用在SIP系統(tǒng)中限制訂閱呈現(xiàn)業(yè)務的呈現(xiàn)信息的過程進行舉例說明。
圖3為本發(fā)明實施例在S IP中限制訂閱呈現(xiàn)業(yè)務的呈現(xiàn)信息的系統(tǒng)示意 圖,該系統(tǒng)包括呈現(xiàn)服務器、觀察者、呈現(xiàn)體以及呈現(xiàn)業(yè)務XML文檔管 理服務器,其中,
呈現(xiàn)業(yè)務XML文檔管理服務器,用于存儲訂閱限制條件,如對呈現(xiàn)體 的最大活躍訂閱數(shù)等,存儲呈現(xiàn)體設(shè)置的策略。
呈現(xiàn)服務器,用于接收觀察者發(fā)送的SUBSCRIBE信令,判斷當前訂閱 呈現(xiàn)體的總訂閱信息是否滿足從呈現(xiàn)業(yè)務XML文檔管理服務器獲取的訂閱 限制條件,如果是,根據(jù)從呈現(xiàn)業(yè)務XML文檔管理服務器獲取的呈現(xiàn)體設(shè) 置的策略確定批準觀察者的訂閱,將呈現(xiàn)體發(fā)布的呈現(xiàn)信息承載在NOTIFY 信令中發(fā)送給觀察者;如果否,向觀察者發(fā)送拒絕的SIP信令,或者根據(jù)從呈現(xiàn)業(yè)務XML文檔管理服務器獲取的呈現(xiàn)體設(shè)置的策略確定批準觀察者的 訂閱,在設(shè)定的訂閱次數(shù)內(nèi)將呈現(xiàn)體發(fā)布的呈現(xiàn)信息承載在NOTIFY信令中 發(fā)送給觀察者。
觀察者,用于向呈現(xiàn)服務器發(fā)送SUBSCRIBE信令,接收呈現(xiàn)服務器發(fā) 送的承載呈現(xiàn)信息的NOTIFY信令或接收呈現(xiàn)服務器發(fā)送的拒絕SIP信令。
呈現(xiàn)體,用于將呈現(xiàn)信息承載在PUBLISH信令中發(fā)布給呈現(xiàn)服務器, 以及在呈現(xiàn)業(yè)務XML文檔管理服務器設(shè)置策略。
在本發(fā)明實施例中,呈現(xiàn)服務器還用于維護觀察者的訂閱狀態(tài),即維護 呈現(xiàn)體的觀察者信息,在呈現(xiàn)體向呈現(xiàn)服務器發(fā)送訂閱觀察者信息的 SUBSCRIBE信令時,將維護的觀察者信息承載在NOTIFY信令中發(fā)送給呈 現(xiàn)體。
在本發(fā)明實施例中,當判斷訂閱呈現(xiàn)體的總訂閱信息不滿足從呈現(xiàn)業(yè)務 XML文檔管理服務器獲取的訂閱限制條件時,還可以在呈現(xiàn)服務器中設(shè)置 拒絕隊列,存儲被拒絕訂閱的觀察者信息,在訂閱該呈現(xiàn)體的情況有變化(如 訂閱的總數(shù)目變化了)或該呈現(xiàn)體的訂閱限制條件有變化后,再次判斷出訂 閱呈現(xiàn)體的總訂閱信息滿足從呈現(xiàn)業(yè)務XML文檔管理服務器獲取的訂閱限 制條件時,根據(jù)拒絕隊列中的觀察者信息確定觀察者,向觀察者發(fā)送通知, 使觀察者再次發(fā)起針對該呈現(xiàn)體的呈現(xiàn)信息的訂閱。
在本發(fā)明實施例中,呈現(xiàn)服務器包括SIP信令傳輸處理模塊、訂閱狀態(tài) 統(tǒng)計處理模塊以及訂閱狀態(tài)記錄模塊,如圖4所示,其中,
SIP信令傳輸模塊,用于接收來自觀察者或呈現(xiàn)體發(fā)送的SIP信令,包 括觀察者訂閱呈現(xiàn)體的呈現(xiàn)信息的SUBSCRIBE信令或呈現(xiàn)體訂閱觀察者信 息的SUBSCRIBE信令,根據(jù)訂閱狀態(tài)統(tǒng)計處理模塊的指示發(fā)送NOTIFY信 令響應觀察者訂閱呈現(xiàn)體的呈現(xiàn)信息的SUBSCRIBE信令或呈現(xiàn)體訂閱觀察 者信息的SUBSCRIBE信令,當拒絕對呈現(xiàn)體的呈現(xiàn)信息的訂閱時,也可以 根據(jù)訂閱狀態(tài)統(tǒng)計處理模塊的指示發(fā)送拒絕SIP信令。
訂閱狀態(tài)統(tǒng)計處理模塊,用于與SIP信令傳輸模塊和訂閱狀態(tài)記錄模塊分別進行信息交互,從訂閱狀態(tài)記錄模塊獲取當前訂閱呈現(xiàn)體的呈現(xiàn)信息總 訂閱信息,判斷當前訂閱呈現(xiàn)體的總訂閱信息是否滿足從呈現(xiàn)業(yè)務XML文
檔管理服務器獲取的訂閱限制條件,如果是,根據(jù)從呈現(xiàn)業(yè)務XML文檔管 理服務器獲取的呈現(xiàn)體設(shè)置的策略確定批準觀察者的訂閱,指示SIP信令傳 輸模塊,將呈現(xiàn)體的呈現(xiàn)信息承載在NOTIFY信令中發(fā)送給發(fā)送SIP信令的 觀察者;如果否,指示SIP信令傳輸模塊,向觀察者發(fā)送拒絕的SIP信令, 或者根據(jù)從呈現(xiàn)業(yè)務XML文檔管理服務器獲取的呈現(xiàn)體設(shè)置的策略確定批 準觀察者的訂閱,指示SIP信令傳輸模塊,在設(shè)定的訂閱次數(shù)內(nèi)將呈現(xiàn)體發(fā) 布的呈現(xiàn)信息承載在NOTIFY信令中發(fā)送給觀察者。
該訂閱狀態(tài)統(tǒng)計處理模塊,還用于從訂閱狀態(tài)記錄模塊獲取發(fā)送SIP信 令的呈現(xiàn)體要獲取的觀察者信息,發(fā)送給SIP信令傳輸模塊,指示SIP信令 傳輸模塊將該觀察者信息承載在NOTIFY信令中發(fā)送給該呈現(xiàn)體。
訂閱狀態(tài)記錄模塊,用于存儲觀察者信息,如觀察者的標識和被拒呈現(xiàn) 信息觀察者的標識、還用于存儲當前訂閱呈現(xiàn)體的總訂閱信息,如觀察者的 總數(shù)量以及觀察者的總數(shù)量,該當前訂閱呈現(xiàn)體的總訂閱信息隨著訂閱呈現(xiàn) 體的觀察者信息實時變化。
在本實施例中,在訂閱狀態(tài)記錄模塊還可以包括拒絕隊列模塊,將拒絕 訂閱呈現(xiàn)體的觀察者信息存儲在拒絕隊列模塊中,當訂閱狀態(tài)統(tǒng)計處理模塊 在訂閱該呈現(xiàn)體的總訂閱信息有變化或該呈現(xiàn)體的訂閱限制條件有變化后, 再次判斷出訂閱呈現(xiàn)體的總訂閱信息滿足從呈現(xiàn)業(yè)務XML文檔管理服務器 獲取的訂閱限制條件時,根據(jù)拒絕隊列中的觀察者信息確定觀察者,向觀察 者發(fā)送通知,使觀察者再次發(fā)起針對該呈現(xiàn)體的呈現(xiàn)信息的訂閱。
圖5為本發(fā)明實施例提供的限制業(yè)務資源訂閱的方法流程圖,該方法采 用限制訂閱呈現(xiàn)體的呈現(xiàn)信息舉例進行說明,其具體步驟為
步驟501、呈現(xiàn)服務器接收到觀察者發(fā)送的SUBSCRIBE信令,該信令 請求訂閱呈現(xiàn)體的呈現(xiàn)信息。
在該SUBSCRIBE信令中,攜帶有呈現(xiàn)體標識,用于標識觀察者要求訂閱哪個呈現(xiàn)體的呈現(xiàn)信息,還攜帶有觀察者信息,用于根據(jù)該觀察者信息, 針對呈現(xiàn)體設(shè)置的策略判斷是否批準該觀察者訂閱該呈現(xiàn)體的呈現(xiàn)信息。
步驟502、呈現(xiàn)服務器接收到該SUBSCRIBE信令后,呈現(xiàn)服務器判斷 當前針對該呈現(xiàn)體的總訂閱信息是否滿足設(shè)置的訂閱限制條件,如果是,執(zhí) 行步驟503;如果否,執(zhí)行步驟504。
在判斷時,設(shè)置的訂閱限制條件可以設(shè)置為活躍訂閱(包括激活狀態(tài)和 掛起狀態(tài)的訂閱該呈現(xiàn)體的呈現(xiàn)信息的觀察者)數(shù)目上限,判斷訂閱該呈現(xiàn) 體的呈現(xiàn)信息的當前處于活躍訂閱狀態(tài)的觀察者的數(shù)目是否超過設(shè)置的最 大活躍訂閱數(shù)目,如果是,執(zhí)行步驟504;如果否,執(zhí)行步驟503。
呈現(xiàn)服務器還將SUBSCRIBE信令攜帶的觀察者信息進行存儲,以便在
者信息承載在NOTIFY信令中發(fā)送給呈現(xiàn)服務器。
呈現(xiàn)服務器還可以對該呈現(xiàn)體的所有觀察者信息進行統(tǒng)計,得到該呈現(xiàn) 體的總訂閱信息,總訂閱信息可以包括訂閱該呈現(xiàn)體的呈現(xiàn)信息的各個觀察 者標識、各個觀察者當前的訂閱狀態(tài)以及當前各個訂閱狀態(tài)的觀察者的數(shù) 量、被拒觀察者的標識以及被拒絕觀察者的總數(shù)量。
步驟503、呈現(xiàn)服務器將該SUBSCRIBE信令請求訂閱的呈現(xiàn)體的呈現(xiàn) 信息承載在NOTIFY信令中,發(fā)送給觀察者。
在步驟503之前,呈現(xiàn)服務器還可以先給觀察者發(fā)送200OK消息,該 消息也為SIP消息,然后再執(zhí)行步驟503。
步驟504、呈現(xiàn)服務器拒絕該SUBSCRIBE信令請求訂閱的呈現(xiàn)體的呈 現(xiàn)信息發(fā)送給觀察者,或者在設(shè)定的訂閱次數(shù)內(nèi),呈現(xiàn)體的呈現(xiàn)信息承載在 NOTIFY信令中,發(fā)送給觀察者。
步驟504中設(shè)定的訂閱次數(shù)一般為一次,但是也可以為二次或三次等, 這樣可以減少該觀察者訂閱呈現(xiàn)體的呈現(xiàn)信息后,給該觀察者發(fā)送呈現(xiàn)體的 呈現(xiàn)信息所占用的SIP系統(tǒng)的無線帶寬資源。
在步驟503以及步驟504的在設(shè)定的訂閱次數(shù)內(nèi),呈現(xiàn)體的呈現(xiàn)信息承載在NOTIFY信令中,發(fā)送給觀察者之前,該方法還包括呈現(xiàn)服務器根據(jù) 呈現(xiàn)體設(shè)置的策略對發(fā)送SUBSCRIBE信令的觀察者的訂閱進行審核,判斷 是否批準通過,如果是,再執(zhí)行步驟503以及步驟504的在設(shè)定的訂閱次數(shù) 內(nèi),呈現(xiàn)體的呈現(xiàn)信息承載在NOTIFY通知信令中,發(fā)送給觀察者;如果否, 則呈現(xiàn)服務器拒絕該SUBSCRIBE信令請求訂閱的呈現(xiàn)體的呈現(xiàn)信息發(fā)送給 觀察者。
在步驟504中,記述了當前針對該呈現(xiàn)體的總訂閱信息不滿足設(shè)置的訂 閱限制條件時的兩種處理的方式,以下對這兩種處理方式分別進行詳細說明。
圖6為本發(fā)明較佳實施例提供的限制業(yè)務訂閱的方法一流程圖,假設(shè)觀 察者為觀察者A,呈現(xiàn)體為呈現(xiàn)體B,其具體步驟為
步驟601、觀察者A向呈現(xiàn)服務器發(fā)送SUBSCRIBE信令,即觀察者A 向呈現(xiàn)服務器訂閱呈現(xiàn)體B的呈現(xiàn)信息。
該SUBSCRIBE信令發(fā)送給呈現(xiàn)服務器的SIP信令傳輸處理模塊。
步驟602、呈現(xiàn)服務器的SIP信令傳輸處理模塊接收到觀察者A的 SUBSCRIBE信令后,將SUBSCRIBE信令攜帶的觀察者A的觀察者信息以 及呈現(xiàn)體標識提交給呈現(xiàn)服務器的訂閱狀態(tài)統(tǒng)計處理模塊,呈現(xiàn)服務器的訂 閱狀態(tài)統(tǒng)計處理模塊統(tǒng)計當前的呈現(xiàn)體B的總訂閱信息,該,悉訂閱信息包括 當前的呈現(xiàn)體B的活躍訂閱數(shù)目,判斷出當前的呈現(xiàn)體B的活躍訂閱數(shù)目 大于設(shè)置的呈現(xiàn)體B的最大活躍訂閱數(shù)目后,無論觀察者A的訂閱是否被 批準,將拒絕信息和相關(guān)原因承載在SIP信令中傳輸給呈現(xiàn)服務器的SIP信 令傳輸處理模塊。
可選地,呈現(xiàn)服務器的訂閱狀態(tài)統(tǒng)計處理模塊還可以根據(jù)統(tǒng)計的當前呈 現(xiàn)體B的總訂閱信息確定可以被接受訂閱的下次訂閱時間,將確定的下次訂 閱時間也可以攜帶在SIP響應信令中。
步驟603、呈現(xiàn)服務器的SIP信令傳輸模塊將該SIP錯誤響應信令發(fā)送 給觀察者A。發(fā)送給觀察者A的SIP錯誤響應信令為 SIP/2.0 480 Temporarily Unavailable Retry-After: 500 (Too many subscription)
其中,該SIP響應消息使用已有的480臨時不可用的錯誤響應,并在該 響應的重試頭字4殳Retry-After中指示在多長時間(如500秒)后可以重試 訂閱,并可以標明需要重試的原因如太多訂閱(Too many subscription)。 或者直接返回一個新的4XX類別的錯誤響應,直接明確指示資源的訂閱太 多,或者訂閱超負荷了,如
SIP/2.0 418 Too Many Subscription
或者,SIP/2,0 418 Resource Subscription Overload
圖7為本發(fā)明較佳實施例提供的限制業(yè)務訂閱的方法二流程圖,假設(shè)觀 察者為觀察者A,呈現(xiàn)體為呈現(xiàn)體B,其具體步驟為
步驟701、觀察者A向呈現(xiàn)服務器發(fā)送SUBSCRIBE信令,即觀察者A 向呈現(xiàn)服務器訂閱呈現(xiàn)體B的呈現(xiàn)信息。
該SUBSCRIBE信令發(fā)送給呈現(xiàn)服務器的SIP信令傳輸處理模塊。
步驟702、呈現(xiàn)服務器的SIP信令傳輸處理模塊接收到觀察者A的 SUBSCRIBE信令后,將SUBSCRIBE信令攜帶的觀察者A的觀察者信息以 及呈現(xiàn)體標識提交給呈現(xiàn)服務器的訂閱狀態(tài)統(tǒng)計處理模塊,呈現(xiàn)服務器的訂 閱狀態(tài)統(tǒng)計處理模塊統(tǒng)計當前的呈現(xiàn)體B的總訂閱信息,該總訂閱信息包括 當前的呈現(xiàn)體B的活躍訂閱數(shù)目,判斷出當前的呈現(xiàn)體B的活躍訂閱數(shù)目 大于設(shè)置的呈現(xiàn)體B的最大活躍訂閱數(shù)目,且觀察者A被授權(quán),呈現(xiàn)服務 器的訂閱狀態(tài)統(tǒng)計處理模塊將200 OK信令發(fā)送給呈現(xiàn)服務器的SIP信令傳 輸處理模塊。
步驟703、呈現(xiàn)服務器的SIP信令傳輸模塊接收到200 OK信令后,發(fā) 送通知信令給觀察者A,通知觀察者A訂閱呈現(xiàn)體B的呈現(xiàn)信息成功。
步驟704、呈現(xiàn)服務器的訂閱狀態(tài)統(tǒng)計處理模塊通過SIP信令傳輸模塊 發(fā)出NOTIFY信令給觀察者A,通知其所請求訂閱的呈現(xiàn)信息,且攜帶本次訂閱的訂閱狀態(tài)為已經(jīng)終結(jié),可選地,可以在NOTIFY信令中攜帶本次訂閱
終結(jié)的原因。
具體的NOTIFY通知信令舉例如下
NOTIFY sip:watcherA@watcherhost.example.com SIP/2.0
Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKna998sk
From: <sip:resource@example.com>;tag=ffd2
To: <sip:user@example.com〉;tag=xfg9
Call-ID: 2010@watcherhost.example.com
Event: presence
Subscription-State: terminated; reason=,,toomanysubscription,,
Max-Forwards: 70
CSeq: 8775 NOTIFY
Contact: sip:server.example.com
Content-Type: application/pidf+xml
Content-Length:...
其中,觀察者A的地址和標識為sip:user@example.com;tag=xfg9, 呈現(xiàn) 體B的地址和標識為 resource@example.com;tag=ffd2 , 事件為呈現(xiàn)信息 presence,訂閱狀態(tài)為終結(jié)(terminated),原因為訂閱呈現(xiàn)體B的數(shù)目太多 了如 "toomanysubscription"。
在本發(fā)明實施例中,無論是圖6還是圖7所述的方法,進一步包括,當 呈現(xiàn)服務器由于當前的呈現(xiàn)體B的活躍訂閱數(shù)目大于設(shè)置的呈現(xiàn)體B的最 大活躍訂閱數(shù)目,而拒絕觀察者A的訂閱或給觀察者A只發(fā)送一次訂閱的 呈現(xiàn)信息時,呈現(xiàn)服務器就可以記錄觀察者A的觀察者信息,包括被拒絕 觀察者的標識以及被拒絕觀察者的總數(shù)量等,將該記錄存儲到訂閱狀態(tài)記錄 模塊,且實時或非實時的發(fā)送給呈現(xiàn)體B。
圖8為本發(fā)明實施例向呈現(xiàn)體通知觀察者信息的方法流程圖,該方法涉及觀察者A、呈現(xiàn)體B以及呈現(xiàn)服務器,其具體步驟為
步驟801、呈現(xiàn)體B向呈現(xiàn)服務器發(fā)送SUBSCRIBE信令,即呈現(xiàn)體B 向呈現(xiàn)服務器訂閱觀察者信息。
步驟802、呈現(xiàn)服務器接收到SUBSCRIBE信令后,向呈現(xiàn)體B發(fā)送200 OK信令。
步驟803、呈現(xiàn)服務器將當前記錄的呈現(xiàn)體B的觀察者信息承載在 NOTIFY信令中發(fā)送給呈現(xiàn)體B。
步驟804、觀察者A向呈現(xiàn)服務器B發(fā)送SUBSCRIBE信令,該 SUBSCRIBE信令攜帶呈現(xiàn)體標識以及觀察者A的觀察者信息,即觀察者A 向呈現(xiàn)服務器訂閱呈現(xiàn)體B的呈現(xiàn)信息。
步驟805、呈現(xiàn)服務器接收到觀察者A的SUBSCRIBE信令后,統(tǒng)計當 前的呈現(xiàn)體B的總訂閱信息,該總訂閱信息包括當前的呈現(xiàn)體B的活躍訂 閱數(shù)目,判斷出當前的呈現(xiàn)體B的活躍訂閱數(shù)目大于設(shè)置的呈現(xiàn)體B的最 大活3夭訂閱凄t目。
步驟806、呈現(xiàn)服務器向觀察者A返回攜帶錯誤信息的SIP消息。 步驟807、呈現(xiàn)服務器將當前觀察者A的觀察者信息攜帶在NOTIFY信 令中發(fā)送給呈現(xiàn)體B。
其中,NOTIFY信令舉例如下
NOTIFY sip:presentity@example.com SIP/2.0
Via: SIP/2.0/UDP server 19.example.com;branch=z9hG4bKnasaij
From: sip:presentity@example.com;tag=xyzygg 〃發(fā)送者
To: sip:presentity@example.com;tag=123aa9 〃接收者
Call-ID: 9987@example.com
CS叫1289 NOTIFY
Contact: sip:serverl9.example.com
Event: presence.winfo 〃事件為發(fā)送觀察者信息 Subscription-State: activeMax-Forwards: 70
Content-Type: application/watcherinfo+xml Content-Length:...
< xml version="1.0" > 〃觀察者A的觀察者信息
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo" version="0" state="full"> <watcher-list resource="sip:presentity@example.net"
package="presence"> 〈watcher status="terminated" id="8ajksjda7s" event="too-many-subscription" >sip:A@example.net</watcher>
〈watcher status="pending"
id="hh8juja87s997-ass7" display-name="Mr. Subscriber"
event="subscribe">sip:userB@example.org</watcher> </watcher-list> </watcherinfo〉
為了保存針對呈現(xiàn)體的觀察者信息,呈現(xiàn)服務器維護了一個圖9所示的 訂閱狀態(tài)機,該狀態(tài)機可以設(shè)置在呈現(xiàn)服務器中的訂閱狀態(tài)統(tǒng)計處理模塊中。
在本發(fā)明實施例中,使用觀察者信息機制通知呈現(xiàn)體由于到達最大訂閱 數(shù)目而被拒絕的觀察者,就必須擴展圖2所示狀態(tài)機的條件,以使與被呈現(xiàn) 體拒絕的觀察者分開,即從初始狀態(tài)到達終止狀態(tài)的條件中,當前訂閱呈現(xiàn) 體的呈現(xiàn)信息的訂閱數(shù)目超過了設(shè)置的最大訂閱數(shù)目。
在本發(fā)明實施例中,當呈現(xiàn)體通過訂閱觀察者信息或者通過現(xiàn)有的 portal (這是一種通過門戶網(wǎng)站訪問的方式)等方式得知當前訂閱自己的呈 現(xiàn)信息的觀察者數(shù)目已經(jīng)達到最大訂閱數(shù)目時,則可以通過修改呈現(xiàn)體設(shè)置的策略,主動終結(jié) 一個或多個存在的訂閱,以使新的觀察者有機會再次訂閱。 在修改時,可以由呈現(xiàn)體直接訪問呈現(xiàn)業(yè)務XML文檔服務器,修改其存儲 的呈現(xiàn)體設(shè)置的策略。
無論采用圖6或圖7所述的方法,呈現(xiàn)服務器可以通過訂閱狀態(tài)記錄模
塊對呈現(xiàn)信息的訂閱者進行排隊,當將觀察者的訂閱拒絕時,自動將觀察者 信息加到拒絕隊列中,并當呈現(xiàn)體的呈現(xiàn)信息可再次訂閱時通知拒絕隊列中
觀察者信息對應的觀察者,如用提交(REFER)或通知(MESSAGE)的方 式使該觀察者發(fā)起訂閱,REFER信令舉例如下
REFER sip:a@atlanta,example.com SIP/2.0 Via: SIP/2.0/UDP agenta.atlanta.example.com;branch=z9hG4bK2293940223
To: <sip:b@atlanta.example.com> 〃REFER4妄4史者
From: <sip:a@atlanta.example.com>;tag=193402342 〃REFER發(fā)送者
Call-ID: 898234234@agenta.atlanta.example.com
CSeq: 93809823 REFER
Max-Forwards: 70
Refer-To:<sip:b@atlanta.example.com Event=presence; method=SUBSCRIBE>
〃關(guān)于訂閱sip:b@atlanta.example.com的呈現(xiàn)信息的訂閱
Contact: sip:a@atlanta,example.com 〃由》見察者i丁閱 Content-Length: 0
這個具體的流程如圖10所示,該流程涉及觀察者A、呈現(xiàn)體B以及呈 現(xiàn)服務器,其具體步驟為
步驟1001、觀察者A向呈現(xiàn)服務器發(fā)送攜帶呈現(xiàn)體A標識和觀察者A 信息的SUBSCRIBE信令,即觀察者A向呈現(xiàn)服務器訂閱呈現(xiàn)體B的呈現(xiàn) 信息。
步驟1002、呈現(xiàn)服務器接收到觀察者A的SUBSCRIBE信令后,統(tǒng)計 當前的呈現(xiàn)體B的總訂閱信息,該總訂閱信息包括當前的呈現(xiàn)體B的活躍 訂閱數(shù)目,判斷出當前的呈現(xiàn)體B的活躍訂閱數(shù)目大于設(shè)置的呈現(xiàn)體B的最大活躍訂閱數(shù)目。
步驟1003、呈現(xiàn)服務器向觀察者A返回攜帶錯誤信息的SIP消息。 步驟1004、呈現(xiàn)服務器將觀察者A加進設(shè)置的拒絕隊列中。 步驟1005、呈現(xiàn)服務器實時統(tǒng)計當前的呈現(xiàn)體B的總訂閱信息,該總 訂閱信息包括當前的呈現(xiàn)體B的活躍訂閱數(shù)目,當判斷出當前的呈現(xiàn)體B 的活躍訂閱數(shù)目不大于設(shè)置的呈現(xiàn)體B的最大活躍訂閱數(shù)目時,從設(shè)置的拒 絕隊列中獲知觀察者A被拒絕過訂閱呈現(xiàn)體B的呈現(xiàn)信息,向觀察者A發(fā) 送可以再次訂閱的SIP信令。
步驟1006、觀察者A向呈現(xiàn)服務器再次訂閱呈現(xiàn)體B的呈現(xiàn)信息,進 入呈現(xiàn)信息正常訂閱通知流程。
在圖IO所示的流程中,步驟1003和步驟1004可以進行互換。 本發(fā)明實施例設(shè)置的拒絕隊列可以按照訂閱時間順序排列被拒絕訂閱 呈現(xiàn)信息的觀察者的觀察者信息,當可以訂閱后,再根據(jù)該順序依次通知觀 察者,發(fā)起再次訂閱。
在本發(fā)明實施例中,設(shè)置的限制訂閱條件,如呈現(xiàn)體最大觀察者數(shù)目可 以存儲在呈現(xiàn)業(yè)務XML文檔管理服務器中,也可以使用XML文檔管理精 確控制機制使該字段只為運營商可寫,該XML文檔管理精確機制可以參考 申請?zhí)枮镃N200610033602.2、名稱為"一種XML文檔管理方法及系統(tǒng)"的 專利申請,這里不再累述。
從上述的系統(tǒng)、裝置和方法可以看出,本發(fā)明實施例實現(xiàn)了限制呈現(xiàn)體 的呈現(xiàn)信息訂閱,進 一 步實現(xiàn)了將限制訂閱的觀察者信息通知呈現(xiàn)體的過 程。采用本發(fā)明實施例,SIP系統(tǒng)的運營商可以控制SIP系統(tǒng)的無線帶寬資
源不被同一呈現(xiàn)體的呈現(xiàn)信息過多占用,有效保護運營商的投資,同時可以 將限制訂閱的觀察者信息通知呈現(xiàn)體,與計費結(jié)合的時候,可以使呈現(xiàn)體擴 大限制訂閱條件,從而為運營商提供進一步收入來源。
本發(fā)明實施例只是采用限制訂閱呈現(xiàn)體的呈現(xiàn)信息進行舉例說明,在具
體實現(xiàn)時,對基于SIP的系統(tǒng)中的其他業(yè)務的業(yè)務資源訂閱,如會議業(yè)務的會議資源狀態(tài),具體可參見相關(guān)的規(guī)范RFC4575 (Conference Package), 也可以采用本發(fā)明實施例提供的系統(tǒng)、裝置和方法,只不過針對的不是呈現(xiàn) 業(yè)務,而是其他業(yè)務。
以上是對本發(fā)明具體實施例的說明,在具體的實施過程中可對本發(fā)明的 方法進行適當?shù)母倪M,以適應具體情況的具體需要。因此可以理解,根據(jù)本 發(fā)明的具體實施方式
只是起示范作用,并不用以限制本發(fā)明的保護范圍。
權(quán)利要求
1、一種限制業(yè)務資源訂閱的方法,其特征在于,該方法包括接收對業(yè)務資源的訂閱消息;判斷對所述業(yè)務資源的訂閱是否滿足設(shè)定的訂閱限制條件,如果不滿足,拒絕對所述的業(yè)務資源訂閱。
2、 如權(quán)利要求1所述的方法,其特征在于,所述的訂閱限制條件為對 所述業(yè)務資源允許同時進行訂閱的訂閱者數(shù)目上限,所述判斷對所述業(yè)務資 源的訂閱是否滿足設(shè)定的訂閱限制條件為判斷當前正在對所述業(yè)務資源進 行訂閱的訂閱者數(shù)目是否超出了預先設(shè)定的上限。
3、 如權(quán)利要求1所述的方法,其特征在于,所述拒絕對所述的業(yè)務資 源訂閱為向發(fā)送該訂閱消息的訂閱者發(fā)送錯誤響應消息。
4、 如權(quán)利要求3所述的方法,其特征在于,所述向發(fā)送該訂閱消息的 訂閱者發(fā)送錯誤響應消息中包括出錯原因,所述的原因指明對所述業(yè)務資源 的訂閱不滿足所述的訂閱限制條件。
5、 如權(quán)利要求1所述的方法,其特征在于,所述拒絕對所述的業(yè)務資 源訂閱為根據(jù)設(shè)置的策略確定對發(fā)送該訂閱消息的訂閱者進行鑒權(quán)通過后,向所 述訂閱者發(fā)送一個包含所述業(yè)務資源信息的通知消息,同時終止該訂閱。
6、 如權(quán)利要求5所述的方法,其特征在于,所述還在終止該訂閱的通 知消息中包含終止訂閱的原因,所述的原因指明對所述業(yè)務資源的訂閱不滿 足所述的訂閱限制條件。
7、 如權(quán)利要求1所述的方法,其特征在于,在所述拒絕對業(yè)務資源訂 閱之后,該方法還包括將發(fā)送該訂閱消息的訂閱者的訂閱信息存儲在設(shè)置的拒絕隊列中,所述 業(yè)務資源的訂閱情況變化后,或設(shè)置的訂閱限制條件變化后,判斷出當前訂閱滿足所述業(yè)務資源的訂閱限制條件,根據(jù)拒絕隊列中的訂閱信息確定訂閱者,向訂閱者發(fā)送指示消息,使訂閱者再次發(fā)起針對所述業(yè)務資源的訂閱消 自
8、 如權(quán)利要求1所述的方法,其特征在于,在接收對所述的業(yè)務資源 訂閱消息之前,接受所述業(yè)務資源的觀察者信息的訂閱;拒絕對所述的業(yè)務資源訂閱之后,該方法還包括向所述提供者發(fā)送包 含所述觀察者信息的通知消息,所述觀察者信息中包含被拒絕訂閱所述業(yè)務 資源的訂閱者信息。
9、 如權(quán)利要求1 8所述的任意一種方法,其特征在于,所述的業(yè)務資 源為呈現(xiàn)業(yè)務的呈現(xiàn)信息、或會議業(yè)務的會議狀態(tài)。
10、 一種限制業(yè)務資源訂閱的系統(tǒng),其特征在于,包括服務器、訂閱 者、提供者和業(yè)務XML文檔管理服務器,其中,業(yè)務XML文檔管理服務器,用于存儲業(yè)務資源訂閱限制條件和提供者 設(shè)置的策略;訂閱者,用于向服務器發(fā)送業(yè)務資源訂閱消息,接收服務器發(fā)送的業(yè)務 資源或者接收服務器發(fā)送的拒絕消息;提供者,用于將業(yè)務資源信息發(fā)送給服務器,在業(yè)務XML文檔管理服 務器中設(shè)置策略;服務器,用于接收訂閱者發(fā)送的所述訂閱消息,判斷對所述業(yè)務資源的 訂閱是否滿足從業(yè)務XML文檔管理服務器獲取的所述業(yè)務資源訂閱限制條 件,如果不滿足,向所述訂閱者發(fā)送拒絕訂閱消息,或者根據(jù)從業(yè)務XML 文檔管理服務器獲取的提供者設(shè)置的策略授權(quán)所述訂閱者,在設(shè)定次數(shù)內(nèi)將 所述業(yè)務資源信息發(fā)送給訂閱者。
11、 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述服務器,還用于接 收提供者發(fā)送的訂閱訂閱者信息消息,將訂閱者信息發(fā)送給提供者;所述提供者,還用于向服務器發(fā)送訂閱訂閱者信息消息,接收服務器發(fā) 送的訂閱者信息。
12、 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述服務器包括拒絕隊列,用于存儲被拒絕訂閱的訂閱者信息;所述服務器,還用于業(yè)務資源的訂閱情況變化后,或設(shè)置的訂閱限制條 件變化后,判斷出當前訂閱滿足所述業(yè)務資源的訂閱限制條件,根據(jù)拒絕隊 列中的訂閱信息確定訂閱者,向訂閱者發(fā)送通知;訂閱者,用于接收到服務器發(fā)送的通知后,發(fā)送業(yè)務資源訂閱消息。
13、 如權(quán)利要求10~ 12所述的任意一項所述的系統(tǒng),其特征在于,所 述服務器為呈現(xiàn)服務器、所述訂閱者為觀察者和所述提供者為呈現(xiàn)體。
14、 一種限制業(yè)務資源訂閱的裝置,其特征在于,包括消息傳輸處理 模塊、訂閱狀態(tài)統(tǒng)計處理模塊和訂閱狀態(tài)記錄模塊,其中,消息傳輸處理模塊,用于將接收的業(yè)務資源訂閱;肖息轉(zhuǎn)發(fā)給訂閱狀態(tài)統(tǒng) 計處理模塊,根據(jù)訂閱狀態(tài)統(tǒng)計處理模塊的指示發(fā)送所述業(yè)務資源信息或拒 絕消息;訂閱狀態(tài)統(tǒng)計處理模塊,用于從消息傳輸處理模塊接收所述訂閱消息, 判斷從訂閱狀態(tài)記錄模塊獲取的對所述業(yè)務資源的訂閱是否滿足獲取的所 述業(yè)務資源訂閱限制條件,如果不滿足,指示消息傳輸處理模塊發(fā)送拒絕訂 閱消息,或者根據(jù)獲取的提供者設(shè)置的策略授權(quán)所述訂閱者,指示消息傳輸 處理模塊在設(shè)定次數(shù)內(nèi)發(fā)送所述業(yè)務資源信息;訂閱狀態(tài)記錄模塊,用于存儲所述業(yè)務資源的訂閱。
15、 如權(quán)利要求14所述的裝置,其特征在于,所述訂閱狀態(tài)統(tǒng)計處理 模塊,還用于從訂閱狀態(tài)記錄模塊獲取訂閱者信息,向消息傳輸模塊發(fā)送, 指示消息傳輸模塊發(fā)送訂閱者信息;所述訂閱狀態(tài)記錄模塊,還用于存儲訂閱者信息; 所述消息傳輸處理模塊,還用于在訂閱狀態(tài)統(tǒng)計處理模塊的指示下,發(fā) 送訂閱者信息。
16、 如權(quán)利要求14所述的裝置,其特征在于,所述訂閱狀態(tài)記錄模塊 還包括拒絕隊列模塊,用于存儲被拒絕訂閱的訂閱者信息;所述訂閱狀態(tài)統(tǒng)計處理模塊,還用于當從訂閱狀態(tài)記錄模塊獲取的業(yè)務 資源的訂閱情況變化后,或獲取的訂閱限制條件變化后,判斷出當前訂閱滿 足所述業(yè)務資源的訂閱限制條件,根據(jù)拒絕隊列中的訂閱信息確定訂閱者, 指示消息傳輸處理模塊向確定訂閱者發(fā)送再次訂閱通知。
全文摘要
本發(fā)明公開了一種限制業(yè)務資源訂閱的方法、系統(tǒng)及裝置,其中,該方法包括接收對業(yè)務資源的訂閱消息;判斷對所述業(yè)務資源的訂閱是否滿足設(shè)定的訂閱限制條件,如果不滿足,拒絕對所述的業(yè)務資源訂閱。因此,本發(fā)明實施例提供的方法、系統(tǒng)及裝置可以限制業(yè)務資源的訂閱,可以通過限制部分訂閱者訂閱某一業(yè)務的業(yè)務資源或限制部分訂閱者訂閱某一業(yè)務的業(yè)務資源次數(shù),在提供業(yè)務的SIP系統(tǒng)有限的無線帶寬資源中,體現(xiàn)不同業(yè)務的業(yè)務資源訂閱占用的無線帶寬資源的公平性。
文檔編號H04L29/06GK101321158SQ200710110438
公開日2008年12月10日 申請日期2007年6月5日 優(yōu)先權(quán)日2007年6月5日
發(fā)明者謙 孫, 揚 招, 潘秋菱 申請人:華為技術(shù)有限公司