專利名稱:為呈現(xiàn)服務(wù)器提供QoS控制能力的方法和設(shè)備及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于即時(shí)消息業(yè)務(wù)的呈現(xiàn)技術(shù),更具體地,涉及一種 用于為呈現(xiàn)服務(wù)器提供QoS (Quality of Service,服務(wù)質(zhì)量)控制能 力的方法和設(shè)備以及支持QoS控制的呈現(xiàn)系統(tǒng)。
背景技術(shù):
呈現(xiàn)技術(shù)對(duì)于多種應(yīng)用來(lái)說(shuō)是一種重要的手段?,F(xiàn)在,呈現(xiàn)技術(shù) 正逐步出現(xiàn)在除了即時(shí)消息之外的多種應(yīng)用中。例如,Microsoft⑧(注 冊(cè)商標(biāo))7>司正在將呈現(xiàn)能力添加到Word、 Excel、 Outlook和其它 應(yīng)用之中。IBM⑧(注冊(cè)商標(biāo))公司已經(jīng)將呈現(xiàn)能力添加到Lotus notes 7.0中。可以預(yù)見(jiàn)呈現(xiàn)技術(shù)將越來(lái)越廣泛地用在不同場(chǎng)景中。
圖1中示出了傳統(tǒng)的基于SIP ( Session Initiation Protocol,會(huì)話 發(fā)起協(xié)議)協(xié)議的呈現(xiàn)系統(tǒng)。圖1所示的呈現(xiàn)系統(tǒng)支持3種主要操作 訂閱、通知和發(fā)布。
如圖1所示,基于SIP協(xié)議的呈現(xiàn)系統(tǒng)包括呈現(xiàn)實(shí)體103、呈現(xiàn) 服務(wù)器101、和觀察者(包括訂閱者105和獲取者107)。呈現(xiàn)服務(wù)器 101是呈現(xiàn)技術(shù)得以實(shí)現(xiàn)的核心實(shí)體,是接收、存儲(chǔ)和分發(fā)呈現(xiàn)信息 以及分發(fā)觀察者信息的功能實(shí)體,它可從多個(gè)呈現(xiàn)實(shí)體103獲取呈現(xiàn) 信息,并能根據(jù)信息模型確定的規(guī)則,把從一個(gè)或者多個(gè)呈現(xiàn)實(shí)體103 接收到的呈現(xiàn)信息組合進(jìn)一個(gè)單一文檔;在系統(tǒng)可管理、用戶隱私可 保證的情況下,根據(jù)事先確定的規(guī)則,允許獲取者107主動(dòng)查詢呈現(xiàn) 信息或者允許訂閱者105訂閱呈現(xiàn)信息。
用戶訂閱呈現(xiàn)信息服務(wù)是指請(qǐng)求呈現(xiàn)服務(wù)器101在某種情況下自 動(dòng)將該用戶關(guān)注的某些呈現(xiàn)信息發(fā)送過(guò)來(lái)。用戶之間可以相互進(jìn)行訂 閱。發(fā)出訂閱請(qǐng)求的用戶稱為訂閱者,;故訂閱的用戶稱為凈皮訂閱者。
5圖2示出了目前基于J2EE架構(gòu)的呈現(xiàn)服務(wù)器101的實(shí)現(xiàn)結(jié)構(gòu)。 在圖2中所示的Siplet是SIP服務(wù)小程序(SIP Servlet )的縮寫(xiě)。Siplet 是一套API,它為SIP服務(wù)器定義了一套高層的擴(kuò)展API。 Siplet使 得SIP應(yīng)用可以采用servlet模型來(lái)部署和管理。它服從規(guī)范JSR 116。 JSR是Java community的標(biāo)準(zhǔn)化組織,有Sun、 IBM、 BEA等諸多 廠商參加,116是規(guī)范的編號(hào)。
如圖2所示,呈現(xiàn)服務(wù)器100的實(shí)現(xiàn)結(jié)構(gòu)從下而上大致分為如下 第一至三層
第三層是SIP棧層250,它負(fù)責(zé)SIP協(xié)議的實(shí)現(xiàn),包括網(wǎng)絡(luò)連接 的管理、SIP報(bào)文的解析、SIP事務(wù)層的基本處理。
第二層是Siplet容器層230,它是一種接口符合工業(yè)標(biāo)準(zhǔn)的代碼 模塊,用于提供運(yùn)行Java servlet所需的支持,例如創(chuàng)建和維護(hù)servlet 的生命期。Java servlet容器的例子有,例如,Apache的Tomcat、 IBM 和BEA之類的公司的對(duì)應(yīng)產(chǎn)品。
如圖2所示,在第二層中包括如下單元Siplet上下文管理單元 226、 Siplet管理單元227、消息Siplet關(guān)系單元228、定時(shí)器管理單 元229、和會(huì)話/對(duì)話管理單元231,它們是現(xiàn)有典型的基于J2EE架 構(gòu)的呈現(xiàn)服務(wù)器中第二層所包括的結(jié)構(gòu)單元。
圖2中示出的各單元在非運(yùn)行時(shí)情況下是靜態(tài)的,彼此之間沒(méi)有 調(diào)用關(guān)系,當(dāng)用戶根據(jù)需要定義了其間的相互關(guān)系之后,才在運(yùn)行時(shí) 根據(jù)所述定義發(fā)生這些單元之間的相互調(diào)用。由于這些單元之間的實(shí) 際調(diào)用關(guān)系對(duì)本發(fā)明的實(shí)現(xiàn)沒(méi)有具體的影響,所以在此省略對(duì)其的描 述。
Siplet上下文管理單元226可以實(shí)現(xiàn)為一個(gè)數(shù)據(jù)結(jié)構(gòu),以一定的 格式存放有關(guān)SIP消息、SIP事務(wù)的信息。
Siplet管理單元227是對(duì)Siplet進(jìn)行運(yùn)行時(shí)管理的單元,這樣的 管理包括創(chuàng)建,銷毀等。
消息Siplet關(guān)系單元228用來(lái)管理所包含的SIP消息和Siplet之 間的關(guān)系。消息Siplet關(guān)系單元228基于SIP消息中包含的目的地地
6址而將該消息和第一層(即,SIP應(yīng)用/呈現(xiàn)應(yīng)用層210 )中支持的Siplet 關(guān)聯(lián)起來(lái)。
定時(shí)器管理單元229可以被叫做時(shí)鐘服務(wù)單元,也有人將其稱作 計(jì)時(shí)器管理服務(wù)單元??梢酝ㄟ^(guò)該單元提供的接口來(lái)指定某一時(shí)刻或 某一時(shí)間間隔產(chǎn)生Timer (定時(shí)器)事件,同時(shí)可以為這個(gè)事件注冊(cè) 事件監(jiān)聽(tīng)器(一個(gè)被調(diào)用的方法/函數(shù))。當(dāng)Timer事件發(fā)生時(shí),這 個(gè)事件監(jiān)聽(tīng)器就會(huì)收到通知,相應(yīng)的方法/函數(shù)就會(huì)被調(diào)用。
利用定時(shí)器管理單元229提供的這種功能,開(kāi)發(fā)者可以實(shí)現(xiàn)周期 性執(zhí)行的例程或者延遲特定時(shí)間段后執(zhí)行的例程。J2SE (Java 2 Standard Edition )和J2EE (Java 2 Enterprise Edition )的各種版本 的實(shí)現(xiàn)(如IBM、 BEA、 SUN等)都在不同的層次提供了多種時(shí)鐘服 務(wù),例如,基本的JDK包含的標(biāo)準(zhǔn)庫(kù)中就有一個(gè)時(shí)鐘服務(wù),IBM和 BEA聯(lián)合推出的CommonJ規(guī)范中也包含了 一個(gè)計(jì)時(shí)器管理服務(wù)。
在SIP協(xié)議中,會(huì)話和對(duì)話是有嚴(yán)格定義的兩個(gè)概念。其中,對(duì) 話代表了通信雙方之間持續(xù)一段時(shí)間的對(duì)等SIP關(guān)系。 一個(gè)典型對(duì)話 的生命期就是從呼叫方拿起電話進(jìn)行撥號(hào)開(kāi)始,到雙方中任何一方掛 斷電話為止的這段時(shí)間。對(duì)話是用SIP消息,例如對(duì)INVITE請(qǐng)求的 2xx應(yīng)答,來(lái)建立的。對(duì)話由呼叫標(biāo)識(shí)符、本地tag (標(biāo)簽)和遠(yuǎn)程tag 來(lái)標(biāo)識(shí)。
在SIP協(xié)議中,會(huì)話特指多媒體會(huì)話。 一個(gè)多媒體會(huì)話由一組多 媒體發(fā)送者和接收者、以及從發(fā)送者到接收者的數(shù)據(jù)流構(gòu)成。 一個(gè)多 媒體會(huì)議就是多媒體會(huì)話的 一個(gè)例子。 一個(gè)會(huì)話可能包含多個(gè)對(duì)話, 對(duì)話只涉及到對(duì)等的兩方,而會(huì)話可能涉及到多方。
從上面的定義可以看出,像呈現(xiàn)服務(wù)器101這樣的SIP應(yīng)用,它 可能同時(shí)維護(hù)很多個(gè)對(duì)話,分別對(duì)應(yīng)于與不同的用戶交互序列,甚至 對(duì)應(yīng)于與同一個(gè)用戶的多個(gè)交互序列。會(huì)話/對(duì)話管理單元231負(fù)責(zé) 將進(jìn)來(lái)和出去的SIP消息映射到會(huì)話和對(duì)話,從而能夠利用會(huì)話和對(duì) 話的信息完成對(duì)消息的處理。例如,對(duì)于一個(gè)進(jìn)來(lái)的SIP請(qǐng)求消息, 通過(guò)嘗試匹配對(duì)話,可以判斷這是一個(gè)發(fā)起對(duì)話的消息還是一個(gè)對(duì)話中的消息,從而采取不同的處理方式。例如,當(dāng)負(fù)載高的時(shí)候,會(huì)把 更多的資源用在完成已經(jīng)開(kāi)始的對(duì)話,而不是用于開(kāi)啟新的對(duì)話。再
如,對(duì)于出去的消息,Siplet的代碼可能只是要發(fā)送一個(gè)200Ok的應(yīng) 答消息,此時(shí)這個(gè)消息還是不完整的,通過(guò)匹配到對(duì)話,就可以利用 對(duì)話中記錄的路由信息來(lái)補(bǔ)全一些報(bào)文頭部。
第一層是SIP應(yīng)用/呈現(xiàn)應(yīng)用層210,它包括一個(gè)或者一組SIP servlet,所述一個(gè)或者一組SIP servlet負(fù)責(zé)實(shí)現(xiàn)呈現(xiàn)服務(wù)器的核心功 能。
這三層之間的接口都是工業(yè)標(biāo)準(zhǔn)的。Siplet接口是第一層和第二 層之間的主要接口 。每個(gè)SIP消息最終都要交給某個(gè)Siplet進(jìn)行處理, Siplet通過(guò)對(duì)SIP消息的處理來(lái)實(shí)現(xiàn)一個(gè)呈現(xiàn)服務(wù)器的業(yè)務(wù)邏輯。第 二層和第三層之間的接口是JAIN接口 。這兩個(gè)接口都是API接口 。
在現(xiàn)有的呈現(xiàn)系統(tǒng)中,每個(gè)到來(lái)的呈現(xiàn)更新(發(fā)布)都產(chǎn)生將發(fā) 送給所有觀察者的多個(gè)通知消息。因此,對(duì)于每個(gè)呈現(xiàn)更新,離去的
網(wǎng)絡(luò)流量和CPU利用率都很高。目前,在具有圖2所示的典型結(jié)構(gòu)的 呈現(xiàn)服務(wù)器中,進(jìn)入的消息在第三層中被解析,通過(guò)第二層中提供的 通道而直接到達(dá)第一層中的SIP servlet,外出的消息通過(guò)第二層提供 的通道直接到達(dá)第三層,由第三層發(fā)送出去。也就是說(shuō),這種實(shí)現(xiàn)結(jié) 構(gòu)沒(méi)有考慮不同消息的QoS需求以及對(duì)CPU利用率的影響。此外, 現(xiàn)有的基于SIP的呈現(xiàn)服務(wù)器也不進(jìn)行準(zhǔn)入控制以防止CPU過(guò)載。 因而,呈現(xiàn)服務(wù)器的處理能力和服務(wù)質(zhì)量保障能力是非常有限的。
有時(shí)候,當(dāng)具有很多觀察者的呈現(xiàn)實(shí)體的狀態(tài)改變時(shí),由于要在 短時(shí)間內(nèi)處理大量的通知消息,從而將出現(xiàn)CPU利用峰值。這在某些 情況下將導(dǎo)致CPU過(guò)栽和重要消息丟失。事實(shí)上,不同應(yīng)用總是有不 同的QoS需求。例如,IP電話的響應(yīng)延遲可能是幾毫秒,即時(shí)消息 的響應(yīng)延遲可能是幾秒,而基于呈現(xiàn)的協(xié)作應(yīng)用的響應(yīng)延遲可能是幾 分鐘。
在Acharya等人的、2005年5月19日>^布的、7>布號(hào)為 US2005/0105464A1的美國(guó)專利申請(qǐng)中公開(kāi)了一種區(qū)別處理SIP消息以進(jìn)行VoIP呼叫控制的方法和系統(tǒng)。在該專利申請(qǐng)中,公開(kāi)了根據(jù) SIP消息的類型,將SIP消息分派到不同的隊(duì)列,每個(gè)隊(duì)列采樣不同 的服務(wù)速率。但是,該專利申請(qǐng)并非針對(duì)基于J2EE架構(gòu)的呈現(xiàn)服務(wù) 器的中間層實(shí)現(xiàn)的,并且其處理僅是單向的。
在Anders等人的、2006年11月2日公布的、公布號(hào)為 WO06114135A1的專利申請(qǐng)中公開(kāi)了一種在IP多媒體子系統(tǒng)中的消 息處理方法和裝置。該專利申請(qǐng)主要涉及一種IMS中多組件聯(lián)動(dòng)的機(jī) 制,使得用戶在進(jìn)行Voice over IP和Video over IP這樣的QoS要求 高的IMS應(yīng)用時(shí)可以不受呈現(xiàn)消息或即時(shí)消息這樣的低QoS需求的 消息的影響。為此,該專利申請(qǐng)?zhí)岢隽死镁W(wǎng)絡(luò)月良務(wù)器NS記錄高QoS 需求的SIP會(huì)話的起始和結(jié)束,讓呈現(xiàn)服務(wù)器這樣的實(shí)體利用這一信 息延遲報(bào)文的發(fā)送。因此,該專利申請(qǐng)要解決的技術(shù)問(wèn)題在于如何保 障高優(yōu)先級(jí)VoIP應(yīng)用的QoS,并且通過(guò)IMS系統(tǒng)各個(gè)單元間連動(dòng), 犧牲低優(yōu)先級(jí)應(yīng)用來(lái)保障高優(yōu)先級(jí)VoIP應(yīng)用的性能,其并未涉及如 何保障呈現(xiàn)服務(wù)器的QoS的問(wèn)題。
因此,現(xiàn)有技術(shù)需要一種在考慮到QoS需求但不提高硬件的消息 處理能力的情況下提高呈現(xiàn)能力的方法和系統(tǒng)。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提出了一種用于為 現(xiàn)有呈現(xiàn)服務(wù)器提供QoS控制能力的方法和設(shè)備以及支持QoS控制 的呈現(xiàn)系統(tǒng)。
為了實(shí)現(xiàn)上述目的,提供了 一種用于為呈現(xiàn)服務(wù)器提供QoS控制 能力的方法,包括步驟接收SIP消息;基于QoS策略,將所述SIP 消息分類;以及經(jīng)過(guò)與所述QoS策略相符的預(yù)定時(shí)間后,發(fā)送分類后 的所述SIP消息。
為了實(shí)現(xiàn)上述目的,提供了 一種用于為呈現(xiàn)服務(wù)器提供QoS控制 能力的設(shè)備,包括步驟QoS策略執(zhí)行單元,用來(lái)獲取和提供與接收 的SIP消息有關(guān)的QoS策略;SIP消息分類單元,用來(lái)根據(jù)所述QoS策略執(zhí)行單元提供的所述QoS策略,將所述SIP消息分類;以及SIP 消息發(fā)送單元,經(jīng)過(guò)與所述QoS策略相符的預(yù)定時(shí)間后,發(fā)送分類后 的所述SIP消息。
為了實(shí)現(xiàn)上述目的,提供了 一種支持QoS控制的呈現(xiàn)系統(tǒng),包括 SIP應(yīng)用/呈現(xiàn)應(yīng)用實(shí)體,用于實(shí)現(xiàn)供用戶使用的服務(wù)程序;Siplet容 器實(shí)體,用于實(shí)現(xiàn)如權(quán)利要求1-8所述的方法,以為所述SIP應(yīng)用/ 呈現(xiàn)應(yīng)用實(shí)體提供服務(wù);和SIP棧實(shí)體,用于實(shí)現(xiàn)SIP協(xié)議,以為所 述Siplet容器實(shí)體提供服務(wù)。
通過(guò)使用本發(fā)明,能夠在考慮到QoS需求和系統(tǒng)負(fù)載的情況下, 提高現(xiàn)有呈現(xiàn)服務(wù)器的處理能力和服務(wù)質(zhì)量保障能力。
從下面結(jié)合附圖的詳細(xì)描述中,本發(fā)明將會(huì)更易于理解,其中, 相同的附圖標(biāo)記表示相同的結(jié)構(gòu)元素,并且,附圖中
圖l是示出了傳統(tǒng)的基于SIP的呈現(xiàn)系統(tǒng)的系統(tǒng)結(jié)構(gòu)的圖2是示出了目前基于J2EE架構(gòu)的呈現(xiàn)服務(wù)器的實(shí)現(xiàn)結(jié)構(gòu)的框
圖3是示出了根據(jù)本發(fā)明第一實(shí)施例的基于J2EE架構(gòu)的呈現(xiàn)服 務(wù)器的實(shí)現(xiàn)結(jié)構(gòu)的框圖4是示出了根據(jù)本發(fā)明第一實(shí)施例的基于J2EE架構(gòu)的呈現(xiàn)服 務(wù)器的工作原理的圖5是示出了根據(jù)本發(fā)明第二實(shí)施例的基于J2EE架構(gòu)的呈現(xiàn)服 務(wù)器的實(shí)現(xiàn)結(jié)構(gòu)的框圖6是示出了根據(jù)本發(fā)明第二實(shí)施例的基于J2EE架構(gòu)的呈現(xiàn)服 務(wù)器的工作原理的圖7示出了在根據(jù)本發(fā)明的Siplet容器層中處理SIP消息的最基 本過(guò)程的流程圖8示出了在根據(jù)本發(fā)明的Siplet容器層中處理SIP消息的過(guò)程 的細(xì)節(jié)的流程圖;和
10圖9示意性地示出了可以實(shí)現(xiàn)本發(fā)明的實(shí)施方式的計(jì)算機(jī)系統(tǒng)的 框圖。
具體實(shí)施例方式
在進(jìn)行下面的詳細(xì)描述之前,需要說(shuō)明的是本發(fā)明意圖提出一種 實(shí)現(xiàn)QoS控制的呈現(xiàn)方法及使用該方法的呈現(xiàn)服務(wù)器的架構(gòu),而非意 圖將本發(fā)明限制于以下的詳細(xì)描述。下面將示出的所有具體實(shí)現(xiàn)都是 示例性的,在應(yīng)用本發(fā)明時(shí)可以根據(jù)設(shè)計(jì)需求和具體用戶要求等而改 變實(shí)現(xiàn)細(xì)節(jié)。
下面參照?qǐng)D3描述根據(jù)本發(fā)明第一實(shí)施例的呈現(xiàn)服務(wù)器200。通 過(guò)比較圖2和圖3可知,圖3包括了圖2中的所有單元,為了使描述 更清楚,將省略對(duì)共有單元的描述。圖3與圖2的不同之處在于圖3 所示的呈現(xiàn)服務(wù)器200的第二層還包括QoS策略執(zhí)行單元221、 SIP 消息分類單元222、雙向SIP消息隊(duì)列224、 SIP消息調(diào)度單元225以 及在笫二層之內(nèi)或之外但包括在呈現(xiàn)服務(wù)器200中的QoS策略數(shù)據(jù)庫(kù) 232。上述第二層之內(nèi)的單元與圖2所示的第二層之內(nèi)的單元一起構(gòu)成 了可以實(shí)現(xiàn)QoS控制的Siplet容器。當(dāng)所述QoS策略數(shù)據(jù)庫(kù)232位 于第二層之外時(shí),其不是Siplet容器的組件之一。
下面將參照?qǐng)D3,僅具體描述根據(jù)本發(fā)明第一實(shí)施例的支持QoS 控制的呈現(xiàn)服務(wù)器與現(xiàn)有技術(shù)不同的結(jié)構(gòu)。
如圖3所示,雙向SIP消息隊(duì)列224是存儲(chǔ)延遲的SIP消息的單 元。SIP消息可以來(lái)自于高層,即,SIP應(yīng)用/呈現(xiàn)應(yīng)用層210,也可 以來(lái)自低層,即,SIP棧層250。
QoS策略執(zhí)行單元221用來(lái)獲得并執(zhí)行存儲(chǔ)在QoS策略數(shù)據(jù)庫(kù) 232中的QoS策略。QoS策略是一種管理性的策略,通常由呈現(xiàn)服務(wù) 器200的運(yùn)營(yíng)者來(lái)定義和配置。
QoS策略的靈活性很大,可以只是一個(gè)簡(jiǎn)單的分級(jí),也可以是一 組復(fù)雜的規(guī)則。其規(guī)范的定量指標(biāo)可能包括響應(yīng)時(shí)間、吞吐率、并發(fā) 用戶數(shù)、資源占用率等。雙向SIP消息隊(duì)列224中隊(duì)列的數(shù)目和劃分取決于對(duì)要支持的QoS策略的建模。也就是說(shuō),該隊(duì)列是實(shí)現(xiàn)QoS 策略所用的工具。
下面我們列舉了 QoS策略的例子,并基于該例子對(duì)根據(jù)本發(fā)明的 呈現(xiàn)服務(wù)器200的第二層中的各單元執(zhí)行的處理進(jìn)行了描述。
第一個(gè)例子是簡(jiǎn)單的分級(jí)。假設(shè)將呈現(xiàn)系統(tǒng)中的訂閱用戶分為金 牌用戶、銀牌用戶和銅牌用戶,并且金牌用戶優(yōu)先于銀牌和銅牌用戶 得到服務(wù),而銀牌用戶優(yōu)先于銅牌用戶得到服務(wù)。這樣的QoS策略可 描述如下
策略l:如果SIP消息來(lái)自金牌用戶,則設(shè)置消息為金牌消息, 且該金牌消息優(yōu)先于銀牌消息和銅牌消息得到處理;
策略2:如果SIP消息來(lái)自銀牌用戶,設(shè)置消息為銀牌消息,且 該銀牌消息優(yōu)先于銅牌消息得到處理;
策略3:如果SIP消息來(lái)自銅牌用戶,則設(shè)置消息為銅牌消息;
顯然,這是一個(gè)非常粗粒度的QoS策略。例如,在用戶進(jìn)行訂閱注冊(cè) 時(shí)就確定了其為金牌用戶、銀牌用戶或銅牌用戶的身份,并且在呈現(xiàn) 服務(wù)器中將用戶的用戶ID和/或地址與其身份關(guān)聯(lián)起來(lái)。這樣每當(dāng)有 來(lái)自訂閱用戶的SIP消息時(shí),就可以;限據(jù)用戶ID和/或地址直接確定 其身份。
下面給出第二個(gè)例子。在這個(gè)例子中我們用定量指標(biāo),響應(yīng)時(shí)間, 更為詳細(xì)地定義QoS策略。假設(shè)呈現(xiàn)服務(wù)器的服務(wù)內(nèi)容為查詢實(shí)體的 位置信息,按照精度要求,將SIP消息分為三類查詢高精確位置(如 精度<1米)的SIP消息、查詢中等精度位置(如精度<5米)的SIP消 息、和查詢低精度位置(如精度<10米)的SIP消息。這樣的QoS策略 可描述如下
策略l:如果SIP消息為查詢高精度位置的消息,則設(shè)置消息 最長(zhǎng)等待時(shí)間為100毫秒;策略2:如果SIP消息為查詢中精度位置的消息,則設(shè)置消息 最長(zhǎng)等待時(shí)間為500毫秒;
策略3:如果SIP消息為查詢低精度位置的消息,則設(shè)置消息 最長(zhǎng)等待時(shí)間為2秒;
這個(gè)例子中,QoS策略是根據(jù)SIP消息的內(nèi)容確定的,而不再是簡(jiǎn)單 的等級(jí),并且呈現(xiàn)服務(wù)也不是簡(jiǎn)單地?zé)o條件地優(yōu)先服務(wù)于高級(jí)別的用 戶,而是要通過(guò)對(duì)SIP消息的分類、調(diào)度等操作來(lái)確保對(duì)用戶請(qǐng)求的 服務(wù)能夠滿足QoS策略中給出的定量指標(biāo)。例如,對(duì)SIP消息為查詢 高精度位置的消息,該SIP消息在最長(zhǎng)100毫秒內(nèi)得到處理;對(duì)SIP 消息為查詢中精度位置的消息,該SIP消息在最長(zhǎng)500毫秒內(nèi)得到處 理;而對(duì)SIP消息為查詢低精度位置的消息,該SIP消息在最長(zhǎng)2秒 內(nèi)得到處理。
雖然上面給出了 QoS策略的例子,但是這些例子僅僅是示例性 的,并非意欲將本發(fā)明局限于這些具體的示例。相反,用戶可以根據(jù) 其需求定義復(fù)雜程度不同的QoS策略,并基于該QoS策略來(lái)建立相 應(yīng)的隊(duì)列。
SIP消息分類單元222用來(lái)分析經(jīng)過(guò)Siplet容器的SIP消息,根 據(jù)QoS策略執(zhí)行單元221提供的策略,對(duì)這些SIP消息進(jìn)行分類,并 將其發(fā)送到雙向SIP消息隊(duì)列224以執(zhí)行延遲操作。
SIP消息調(diào)度單元225根據(jù)QoS策略執(zhí)行單元221提供的策略而 從雙向SIP消息隊(duì)列224中取出延遲的SIP消息,調(diào)用如圖2所示的 現(xiàn)有Siplet容器所包括的相關(guān)單元進(jìn)行處理并將處理的SIP消息發(fā)送 出Siplet容器。該SIP消息被發(fā)送到高層的SIP應(yīng)用/呈現(xiàn)應(yīng)用層210 或低層的SIP棧層250。
例如,針對(duì)上述笫一個(gè)例子,SIP消息分類單元222將所有到來(lái) 的SIP消息被分為三類。在雙向SIP消息隊(duì)列中,可以針對(duì)QoS策略, 設(shè)置分別放置金牌消息、銀牌消息、和銅牌消息的三個(gè)隊(duì)列。當(dāng)然, 如本領(lǐng)域技術(shù)人員所知的那樣,可以不分隊(duì)列而是給SIP消息的首部添加分別對(duì)應(yīng)于金牌消息、銀牌消息、和銅牌消息的標(biāo)簽。SIP消息 調(diào)度單元225每次需取出一個(gè)SIP消息進(jìn)行調(diào)度處理,則依次檢查三 個(gè)隊(duì)列。如果金牌隊(duì)列不為空,則取出一個(gè)金牌SIP消息;否則如果 銀牌隊(duì)列不為空,則取出一個(gè)銀牌SIP消息;否則,如果銅牌隊(duì)列不 為空,則取出一個(gè)銅牌消息。通過(guò)這樣的調(diào)度方法,銀牌隊(duì)列和銅牌 隊(duì)列中的SIP消息被延遲執(zhí)行操作。
再例如,針對(duì)上述第二個(gè)例子,SIP消息分類單元222通過(guò)讀取 到來(lái)的SIP消息的內(nèi)容,將所有SIP消息分為三類。在雙向SIP消息 隊(duì)列中,可以針對(duì)QoS策略,設(shè)置分別放置最大等待時(shí)間為100毫秒, 500毫秒,2秒的消息的3個(gè)隊(duì)列。當(dāng)然,如本領(lǐng)域技術(shù)人員所知的那 樣,可以不分隊(duì)列而是給SIP消息的首部打上時(shí)間戳來(lái)指示相應(yīng)的時(shí) 間是否到達(dá)。SIP消息調(diào)度單元225每次需取出一個(gè)SIP消息進(jìn)行調(diào) 度處理。則需同時(shí)檢查三個(gè)隊(duì)列,檢查等候的消息,找出最快要到期 的消息,進(jìn)行處理。其他消息繼續(xù)留在隊(duì)列中,按照預(yù)設(shè)的期限繼續(xù) 等候。
SIP消息調(diào)度單元225可以根據(jù)SIP消息類型、目標(biāo)URL、和/ 或QoS策略等,將隊(duì)列中的相關(guān)消息合并為一個(gè)消息,從而降低事務(wù) 的數(shù)量,進(jìn)而降低服務(wù)器的工作負(fù)載。本領(lǐng)域技術(shù)人員可以根據(jù)其已 有的知識(shí),i史計(jì)消息合并的標(biāo)準(zhǔn)和方法。
合并消息的例子如下,通過(guò)考察等待隊(duì)列中SIP消息的頭部信息 (諸如,源地址和目標(biāo)地址),SIP消息調(diào)度單元在同一或不同隊(duì)列 中找到觀察者A對(duì)實(shí)體B的兩次位置查詢消息(源地址表明這兩個(gè)查 詢消息是觀察者A發(fā)出的,目標(biāo)地址表明是對(duì)實(shí)體B的觀察),則兩 次查詢合并為一次查詢,統(tǒng)一處理。在此例中,可以通過(guò)如下方式進(jìn) 行合并首先將兩個(gè)SIP消息的消息體合并,然后將合并后的消息體 作為兩個(gè)查詢消息中根據(jù)QoS策略最早到期的那個(gè)消息的消息體,最 后將另一個(gè)查詢消息從等待隊(duì)列中刪除。
圖4是示出了根據(jù)本發(fā)明第一實(shí)施例的呈現(xiàn)服務(wù)器200的、實(shí)現(xiàn) QoS控制的Siplet容器的工作原理的框圖,它是對(duì)圖3的進(jìn)一步細(xì)化。圖4僅示出了可以實(shí)現(xiàn)本發(fā)明的工作原理。從圖4中可以看出,QoS 策略執(zhí)行單元221、 SIP消息分類單元222、雙向SIP消息隊(duì)列224、 和SIP消息調(diào)度單元225是本發(fā)明引入的新單元,并且還引入了 SIP 消息分類單元222和SIP消息調(diào)度單元225與現(xiàn)有單元和本發(fā)明提供 的單元之間的調(diào)用關(guān)系,以及QoS策略執(zhí)行單元221與QoS策略數(shù) 據(jù)庫(kù)232之間的數(shù)據(jù)獲取關(guān)系。
下面對(duì)本發(fā)明所引入的調(diào)用關(guān)系和數(shù)據(jù)獲取關(guān)系進(jìn)一步說(shuō)明如
下
調(diào)用關(guān)系
SIP消息分類單元222和SIP消息調(diào)度單元225與定時(shí)器管理 單元229之間SIP消息分類單元222和SIP消息調(diào)度單元225可以 通過(guò)定時(shí)器管理單元229調(diào)度一些定時(shí)器,指定這些定時(shí)器的超時(shí)時(shí) 間和超時(shí)執(zhí)行的動(dòng)作。例如,將某些消息傳遞給上層或者傳送到低層, 或者丟棄。但是,定時(shí)器管理單元229對(duì)于SIP消息調(diào)度單元225不 是必須的。
如本領(lǐng)域技術(shù)人員所理解的那樣,對(duì)于上述第一例子,SIP消 息調(diào)度單元225可以不考慮消息的過(guò)期時(shí)間,只要隊(duì)列中有SIP消息 就將其取出,處理后發(fā)送出去。但是,也可以根據(jù)定時(shí)器管理單元229 提供的時(shí)間服務(wù)而調(diào)度雙向SIP消息隊(duì)列224中延遲的SIP消息,例 如,對(duì)于上述第二個(gè)例子,SIP消息進(jìn)入隊(duì)列時(shí)可以根據(jù)其QoS策略 規(guī)定的最長(zhǎng)等待時(shí)間來(lái)為其調(diào)度定時(shí)器,當(dāng)這些定時(shí)器超時(shí)時(shí),若該 消息尚未得到處理,就直接從隊(duì)列中刪除該消息。
SIP消息分類單元222和SIP消息調(diào)度單元225與會(huì)話/對(duì)話管 理單元231之間會(huì)話/對(duì)話管理單元231記錄并管理關(guān)于SIP會(huì)話/ 對(duì)話的信息。SIP消息分類單元222和SIP消息調(diào)度單元225在對(duì)消 息做分類和分發(fā)的時(shí)候可以通過(guò)對(duì)會(huì)話/對(duì)話管理單元231的調(diào)用,將 具體的SIP消息與針對(duì)同一 Siplet的會(huì)話/對(duì)話關(guān)聯(lián)起來(lái),從而可以以 更細(xì)的粒度對(duì)SIP消息進(jìn)行處理,并且可以利用會(huì)話/對(duì)話信息來(lái)完成 分類的操作。SIP消息分類單元222或SIP消息調(diào)度單元225與Siplet上下文管理單元226之間由于從上層或下層接收到的消息在進(jìn)入第二層時(shí)先要存儲(chǔ)在Siplet上下文管理單元226中,因此SIP消息分類單元222通過(guò)與Siplet上下文管理單元226的交互而獲得接收的消息,然后,SIP消息分類單元222或SIP消息調(diào)度單元225再對(duì)這些消息進(jìn)行進(jìn)一步的處理。此外,SIP消息分類單元222可以將一些信息存儲(chǔ)在Siplet上下文管理單元226中,以供第一和/或第二層中的應(yīng)用和實(shí)現(xiàn)使用,所述信息如接收消息的時(shí)間,大小等。
SIP消息分類單元222和SIP消息調(diào)度單元225與消息Siplet關(guān)系單元228之間消息分類和分發(fā)的時(shí)候會(huì)需要用到消息Siplet的映射關(guān)系(通常表現(xiàn)為一些規(guī)則,例如特定的URL對(duì)應(yīng)于特定的Siplet)。具體說(shuō)來(lái),對(duì)于要遞交給SIP應(yīng)用/呈現(xiàn)應(yīng)用層210的消息,消息Siplet關(guān)系單元228可以才艮據(jù)消息的目的地地址而將該SIP消息與SIP應(yīng)用/呈現(xiàn)應(yīng)用層210中的某一 Siplet相關(guān)聯(lián)。但是,對(duì)于來(lái)自SIP應(yīng)用/呈現(xiàn)應(yīng)用層210中的某一 Siplet的要發(fā)送出去SIP消息,由于該SIP消息來(lái)自哪個(gè)Siplet發(fā)送時(shí)已知的,即,SIP消息分類單元222和SIP消息調(diào)度單無(wú)225已經(jīng)知道該SIP消息與SIP應(yīng)用/呈現(xiàn)應(yīng)用層210中的哪個(gè)Siplet相關(guān)聯(lián),因此就不必調(diào)用消息Siplet關(guān)系單元228 了 。
SIP消息分類單元222和SIP消息調(diào)度單元225與QoS策略執(zhí)行單元221: QoS策略執(zhí)行單元221負(fù)責(zé)解釋QoS策略,得到?jīng)Q策結(jié)果。SIP消息分類單元222通過(guò)調(diào)用QoS策略執(zhí)行單元221得到QoS策略和決策結(jié)果,確定SIP消息的服務(wù)級(jí)別,從而完成SIP消息分類。SIP消息調(diào)度單元225通過(guò)調(diào)用QoS策略執(zhí)行單元221來(lái)檢索可用的QoS策略,根據(jù)相應(yīng)SIP消息的服務(wù)級(jí)別來(lái)進(jìn)行調(diào)度, 一般說(shuō)來(lái),具有較高服務(wù)等級(jí)的消息優(yōu)先于具有較低服務(wù)等級(jí)的消息而被SIP消息調(diào)度單元225從雙向SIP消息隊(duì)列224取出。數(shù)據(jù)獲取關(guān)系
QoS策略執(zhí)行單元221與QoS策略數(shù)據(jù)庫(kù)232:前者要從后者中獲取適用的策略,后者是一個(gè)類似于數(shù)據(jù)庫(kù)的結(jié)構(gòu),其可能是標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù),也可能是文件。
下面對(duì)圖4所示出的工作原理框圖的一些細(xì)節(jié)做進(jìn)一步說(shuō)明。
圖4示出的是雙向SIP消息隊(duì)列224是一個(gè)多消息隊(duì)列,通常每條消息隊(duì)列都代表了不同的服務(wù)等級(jí)。雖然在此使用了表述"隊(duì)列",但是本領(lǐng)域技術(shù)人員將理解可通過(guò)給每個(gè)消息打上標(biāo)簽以表示不同的服務(wù)級(jí)別或其它能夠?qū)崿F(xiàn)服務(wù)級(jí)別區(qū)分的任何手段來(lái)實(shí)現(xiàn)將消息區(qū)分開(kāi)的目的。此外,所述"隊(duì)列"可以實(shí)現(xiàn)為存儲(chǔ)器或者文件等。
同現(xiàn)有的呈現(xiàn)系統(tǒng)相比,通過(guò)引入上述組件和處理流程,根據(jù)本發(fā)明第一實(shí)施例的呈現(xiàn)服務(wù)器200可以提供一定的QoS控制能力(區(qū)分不同的服務(wù)優(yōu)先級(jí)),其處理能力也得到加強(qiáng)(通過(guò)合并SIP消息)。但是,呈現(xiàn)服務(wù)器200仍有一些不足,如缺乏過(guò)載保護(hù)機(jī)制,因此其QoS控制能力相對(duì)有限。
下面參照?qǐng)D5描述根據(jù)本發(fā)明第二實(shí)施例的呈現(xiàn)服務(wù)器300,該呈現(xiàn)服務(wù)器300將提供進(jìn)一步的QoS控制能力。通過(guò)比較圖5和圖3可知,圖5包括了圖3中的所有單元,為了使描述更清楚,將省略對(duì)共有單元的描述。圖5與圖3的不同之處在于圖5所示的呈現(xiàn)服務(wù)器300的第二層還包括工作負(fù)載感測(cè)單元223以及系統(tǒng)負(fù)載監(jiān)視器233。
工作負(fù)載感測(cè)單元223用來(lái)獲得系統(tǒng)工作負(fù)載。工作負(fù)栽感測(cè)單元223與圖3所示的Siplet容器中的各單元一起構(gòu)成了可以實(shí)現(xiàn)進(jìn)一步QoS控制的Siplet容器。
在現(xiàn)有的呈現(xiàn)系統(tǒng)中,已經(jīng)具有了用于感測(cè)當(dāng)前系統(tǒng)的負(fù)載,例如CPU利用率,的系統(tǒng)負(fù)載監(jiān)視器233。但是在現(xiàn)有的呈現(xiàn)系統(tǒng)和根據(jù)本發(fā)明的第一實(shí)施例中,系統(tǒng)負(fù)栽監(jiān)視器233對(duì)當(dāng)前系統(tǒng)負(fù)載的監(jiān)視結(jié)果與呈現(xiàn)服務(wù)器的操作并沒(méi)有聯(lián)系起來(lái)。通過(guò)給Siplet容器添加工作負(fù)載感測(cè)單元223并由其獲得系統(tǒng)負(fù)栽監(jiān)視器233對(duì)系統(tǒng)負(fù)栽的監(jiān)視結(jié)果,可以將Siplet容器的操作與系統(tǒng)負(fù)載聯(lián)系起來(lái)。具體說(shuō)來(lái),通過(guò)對(duì)系統(tǒng)負(fù)載的感知,可以估算系統(tǒng)處理SIP消息的速度和容量,進(jìn)而可以利用估算的結(jié)果調(diào)整準(zhǔn)入的SIP消息的種類和數(shù)量,從而提
17供過(guò)載保護(hù)和更細(xì)粒度的量化的QoS控制能力。
SIP消息分類單元222可以通過(guò)與工作負(fù)載感測(cè)單元223之間的調(diào)用而獲取當(dāng)前的系統(tǒng)工作負(fù)載狀況。如果工作負(fù)載感測(cè)單元223感測(cè)得知系統(tǒng)工作負(fù)載過(guò)高,則SIP消息分類單元222可以通過(guò)丟棄低服務(wù)級(jí)別的消息從而有效控制工作負(fù)載。
SIP消息調(diào)度單元225可以通過(guò)與工作負(fù)載感測(cè)單元223之間的調(diào)用而獲取當(dāng)前的系統(tǒng)工作負(fù)載狀況。如果工作負(fù)載感測(cè)單元223感測(cè)得知系統(tǒng)工作負(fù)載過(guò)高,則SIP消息調(diào)度單元225可以通過(guò)丟棄低服務(wù)級(jí)別的消息以降低系統(tǒng)負(fù)載,為高服務(wù)級(jí)別的消息留出處理能力。
例如,針對(duì)上述第一個(gè)例子,SIP消息分類單元222除了根據(jù)QoS策略進(jìn)行分類外,還通過(guò)與工作負(fù)載感測(cè)單元223之間的調(diào)用而獲取當(dāng)前的系統(tǒng)工作負(fù)載狀況。如果當(dāng)前系統(tǒng)工作負(fù)載大于95%CPU利用率,則拒絕接收任何到來(lái)的消息。如果當(dāng)前系統(tǒng)工作負(fù)載大于80%CPU利用率,則只接收金牌消息,如果當(dāng)前系統(tǒng)工作負(fù)載大于60%CPU利用率,則只接收金牌消息和銀牌消息,否則,接收全部消息。SIP消息調(diào)度單元225也可根據(jù)當(dāng)前的系統(tǒng)工作負(fù)載狀況進(jìn)行調(diào)度。例如,如果當(dāng)前系統(tǒng)工作負(fù)載大于85% CPU利用率,則只檢查金牌消息,而不對(duì)銀牌消息和銅牌消息進(jìn)行任何處理。如果當(dāng)前系統(tǒng)工作負(fù)栽大于60% CPU利用率,則只檢查金牌消息和銀牌消息,而不對(duì)銅牌消息進(jìn)行任何處理。否則,進(jìn)行正常的調(diào)度處理。
再例如,針對(duì)第二個(gè)例子,SIP消息分類單元222除了根據(jù)QoS策略進(jìn)行分類外,還通過(guò)與工作負(fù)載感測(cè)單元223之間的調(diào)用而獲取當(dāng)前的系統(tǒng)工作負(fù)載狀況。如果當(dāng)前系統(tǒng)工作負(fù)載大于95%CPU利用率,則拒絕接收任何到來(lái)的消息。如果當(dāng)前系統(tǒng)工作負(fù)載大于80%CPU利用率,則只接收查詢高精度位置的消息,如果當(dāng)前系統(tǒng)工作負(fù)栽大于60% CPU利用率,則只接收查詢高精度位置的消息和查詢中精度位置的消息,否則,接收全部消息。此外,SIP消息調(diào)度單元還可根據(jù)工作負(fù)栽感測(cè)單元,按照當(dāng)前系統(tǒng)工作負(fù)載的程度進(jìn)行調(diào)度。例如,如果當(dāng)前系統(tǒng)工作負(fù)載小于50。/。CPU利用率,則按照上述例子調(diào)用;如果工作負(fù)載大于50。/oCPU利用率,則不檢查2秒隊(duì)列,而按照上述例子中的方法對(duì)100毫秒,500亳秒隊(duì)列進(jìn)行調(diào)度。
圖6是示出了根據(jù)本發(fā)明第二實(shí)施例的呈現(xiàn)服務(wù)器300的,實(shí)現(xiàn)進(jìn)一步QoS控制的Siplet容器的工作原理框圖,它是對(duì)圖5的進(jìn)一步細(xì)化。除了圖4所示的調(diào)用關(guān)系和數(shù)據(jù)獲取關(guān)系之外,還存在如下調(diào)用關(guān)系和數(shù)據(jù)獲取關(guān)系
SIP消息分類單元222和SIP消息調(diào)度單元225與工作負(fù)載感測(cè)單元223之間存在的調(diào)用關(guān)系為消息在分類和分發(fā)的時(shí)候可以通過(guò)工作負(fù)載感測(cè)單元223獲得當(dāng)前系統(tǒng)的負(fù)載情況,如CPU占用率,內(nèi)存占用率等,并根據(jù)負(fù)載情況采取適當(dāng)?shù)膭?dòng)作,如加入隊(duì)列,分發(fā)或者丟棄等。
工作負(fù)載感測(cè)單元223與系統(tǒng)負(fù)載監(jiān)視器233之間存在的數(shù)據(jù)獲取關(guān)系為前者需要從后者那里獲得像CPU占用率這樣的信息,傳統(tǒng)容器中是沒(méi)有這樣的信息的, 一般需要從操作系統(tǒng)獲取。
通過(guò)使用根據(jù)本發(fā)明第二實(shí)施例的呈現(xiàn)服務(wù)器,能夠根據(jù)當(dāng)前的系統(tǒng)工作負(fù)載和QoS策略,捕獲一些SIP消息并將其延遲一定時(shí)間,然后將其發(fā)送出Siplet容器,從而在不提高硬件的消息處理能力的情況下進(jìn)一步提高了呈現(xiàn)服務(wù)器的處理能力和細(xì)粒度的QoS控制能力。
為了說(shuō)明本發(fā)明的基本概念而不使其受到不必要的細(xì)節(jié)的遮蔽,圖7示出了在根據(jù)本發(fā)明的Siplet容器層中處理SIP消息的最基本過(guò)程的流程圖。
在步驟702中,接收SIP消息。
在步驟704中,基于QoS策略,將所述SIP消息分類。在步驟706中,經(jīng)過(guò)與所述QoS策略相關(guān)的預(yù)定時(shí)間后,發(fā)送分類后的所述SIP消息。
圖8示出了在根據(jù)本發(fā)明的Siplet容器層中處理SIP消息的過(guò)程的細(xì)節(jié)的流程圖。需要說(shuō)明的是,圖8中盡可能地描述了在Siplet容器層230中執(zhí)行的全部步驟,對(duì)于其中的一些處理,如本領(lǐng)域技術(shù)人員所能夠設(shè)想到的那樣,本領(lǐng)域技術(shù)人員可以根據(jù)需要選擇執(zhí)行,或基于不同的順序執(zhí)行,但其都是屬于本申請(qǐng)的保護(hù)范圍之內(nèi)。
在步驟801中,判斷是否有SIP消息進(jìn)入Siplet容器層,該步驟的執(zhí)行者與現(xiàn)有技術(shù)中的相同。如果有,則過(guò)程前進(jìn)到步驟802;否則,繼續(xù)執(zhí)行步驟801。
在步驟802中,確定該消息是來(lái)自上層210 (即,SIP應(yīng)用/呈現(xiàn)應(yīng)用層210)還是下層250 (即,SIP棧層250)。該步驟的執(zhí)行者與現(xiàn)有技術(shù)中的相同。如果來(lái)自下層250,則過(guò)程前進(jìn)到步驟803;而如果來(lái)自上層210,則過(guò)程前進(jìn)到步驟812。
在步驟803中,消息Siplet關(guān)系單元228確定該消息對(duì)應(yīng)的Siplet,接著將該消息交給Siplet上下文管理單元226存放。而在步驟812中,將該消息交給Siplet上下文管理單元226存放。而后,過(guò)程由這兩個(gè)步驟都前進(jìn)到步驟804。
在步驟804中,工作負(fù)載感測(cè)單元223獲取當(dāng)前的系統(tǒng)負(fù)載并估算系統(tǒng)的處理容量。
在步驟805中,QoS策略執(zhí)行單元221取得QoS策略,評(píng)估QoS策略,得到評(píng)估結(jié)果??蛇x地,在確定評(píng)估結(jié)果時(shí)還考慮了當(dāng)前的系統(tǒng)負(fù)載并估算的系統(tǒng)處理容量。
在步驟806中,SIP消息分類單元222對(duì)該SIP消息進(jìn)行分類并將其放入相應(yīng)的雙向SIP消息隊(duì)列224進(jìn)行延遲以等待進(jìn)一步處理,或者丟棄該SIP消息。
在步驟807中,使用定時(shí)器管理單元229來(lái)調(diào)度用于相應(yīng)隊(duì)列的定時(shí)器,以提供用于處理相應(yīng)消息的定時(shí)。
在步驟808中,工作負(fù)載感測(cè)單元223獲取當(dāng)前的系統(tǒng)負(fù)載并估算系統(tǒng)的處理容量。
在步驟809中,工作負(fù)栽感測(cè)單元223獲得QoS策略,得到評(píng)估結(jié)果??蛇x地,在確定評(píng)估結(jié)果時(shí)還考慮了當(dāng)前的系統(tǒng)負(fù)載并估算的系統(tǒng)處理容量。并根據(jù)評(píng)估結(jié)果,SIP消息調(diào)度單元225從雙向SIP消息隊(duì)列224中取出相應(yīng)的延遲SIP消息,確定進(jìn)一步處理該消息還是丟棄該SIP消息。
在步驟810中,SIP消息調(diào)度單元225基于預(yù)定條件,例如,所述消息存放在所述雙向SIP消息隊(duì)列224中的一定大小的窗口范圍內(nèi)并去往同一目的地的通知消息,或具有相同優(yōu)先級(jí)并去往同一目的地等等,合并所述消息。
在步驟811中,將最后獲得的SIP消息發(fā)送出Siplet容器層230。該步驟的執(zhí)行者與現(xiàn)有技術(shù)中的相同。
通過(guò)上述說(shuō)明可知,本發(fā)明具有以下明顯的技術(shù)優(yōu)勢(shì)
根據(jù)QoS策略,對(duì)呈現(xiàn)服務(wù)器的SIP消息流進(jìn)行控制。對(duì)于特定的呈現(xiàn)服務(wù)器SIP消息,對(duì)于特定的應(yīng)用場(chǎng)景,特定的延遲是容許的。本發(fā)明可以為呈現(xiàn)服務(wù)提供細(xì)粒度的區(qū)別服務(wù)和過(guò)載保護(hù)等QoS保障功能。因此,與現(xiàn)有的呈現(xiàn)服務(wù)相比,新呈現(xiàn)服務(wù)向終端用戶展示了更好的性能和穩(wěn)定性。
SIP棧和呈現(xiàn)服務(wù)器應(yīng)用未被修改。本發(fā)明不需要修改SIP棧和呈現(xiàn)服務(wù)器應(yīng)用。不同的SIP棧和呈現(xiàn)服務(wù)器均可以用在本呈現(xiàn)服務(wù)器系統(tǒng)中,因此,本發(fā)明兼容了已有的呈現(xiàn)服務(wù)器的結(jié)構(gòu)。
可以合并延遲的SIP消息。由于在容器中執(zhí)行對(duì)一些SIP消息的延遲,所以對(duì)于特定的場(chǎng)景,如即時(shí)消息場(chǎng)景,可以將許多SIP通知消息(其被發(fā)送給同一接收者)合并在一起,從而可以節(jié)省系統(tǒng)中的
計(jì)算資源和網(wǎng)絡(luò)帶寬資源。
圖9示意性地表示了其中可以實(shí)現(xiàn)本發(fā)明的實(shí)施方式的計(jì)算機(jī)系統(tǒng)。圖9中所示的計(jì)算機(jī)系統(tǒng)包括CPU(中央處理單元)901、 RAM(隨機(jī)存取存儲(chǔ)器)902、 ROM(只讀存儲(chǔ)器)903、系統(tǒng)總線904、 HD(硬盤(pán))控制器905、鍵盤(pán)控制器906、串行接口控制器907、并行接口控制器908、顯示器控制器卯9、硬盤(pán)910、鍵盤(pán)9U、串行外部設(shè)備912、并行外部設(shè)備913和顯示器914。在這些部件中,與系統(tǒng)總線904相連的有CPU 901、 RAM 902、 ROM 903、 HD控制器905、鍵盤(pán)控制器906,串行接口控制器907,并行接口控制器908和顯示器控制器909。硬盤(pán)910與HD控制器905相連,鍵盤(pán)911與鍵盤(pán)控制器卯6相連,串行外部設(shè)備912與串行接口控制器卯7相連,并行外部設(shè)備913與并行接口控制器908相連,以及顯示器914與顯示器控制器909相連。圖9中每個(gè)部件的功能在本技術(shù)領(lǐng)域內(nèi)都是眾所周知的,并且圖9所示的結(jié)構(gòu)也是常規(guī)的。這種結(jié)構(gòu)不僅用于個(gè)人計(jì)算機(jī),而且用于任何支持用戶開(kāi)發(fā)其所需要的應(yīng)用的開(kāi)發(fā)平臺(tái)。在不同的應(yīng)用中,圖9中所示的某些部件可以被省略。圖9中所示的整個(gè)系統(tǒng)由通常作為軟件存儲(chǔ)在硬盤(pán)910中、或者存儲(chǔ)在EPROM或者其它非易失性存儲(chǔ)
器中的計(jì)算機(jī)可讀指令控制。軟件也可從網(wǎng)絡(luò)(圖中未示出)下載。或者存儲(chǔ)在硬盤(pán)910中,或者從網(wǎng)絡(luò)下載的軟件可被加載到RAM 902中,并由CPU901執(zhí)行,以便完成由軟件確定的功能。
盡管圖9中描述的計(jì)算機(jī)系統(tǒng)能夠支持根據(jù)本發(fā)明的方法,但是該計(jì)算機(jī)系統(tǒng)只是計(jì)算機(jī)系統(tǒng)的一個(gè)例子。本領(lǐng)域的熟練技術(shù)人員可以理解,許多其它計(jì)算機(jī)系統(tǒng)設(shè)計(jì)也能實(shí)現(xiàn)本發(fā)明。
本發(fā)明還可以實(shí)現(xiàn)為一種例如由圖8所示計(jì)算機(jī)系統(tǒng)所使用的計(jì)算機(jī)程序產(chǎn)品,其包含有用于本發(fā)明的方法的代碼。在使用之前,可以把代碼存儲(chǔ)在其它計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中,例如,存儲(chǔ)在硬盤(pán)或諸如光盤(pán)或軟盤(pán)的可移動(dòng)的存儲(chǔ)器中,或者經(jīng)由因特網(wǎng)或其它計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行下載。
對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將顯而易見(jiàn)的是,可在本發(fā)明中作出各種修改,而不會(huì)背離本發(fā)明的精神和范圍。由此,意圖使本發(fā)明涵蓋此發(fā)明的修改和變化,只要它們?cè)谒綑?quán)利要求及其等價(jià)物的范圍內(nèi)即可。
權(quán)利要求
1. 一種用于為呈現(xiàn)服務(wù)器提供服務(wù)質(zhì)量控制能力的方法,包括步驟接收會(huì)話發(fā)起協(xié)議消息;基于服務(wù)質(zhì)量策略,將所述會(huì)話發(fā)起協(xié)議消息分類;以及經(jīng)過(guò)與所述服務(wù)質(zhì)量策略相符的預(yù)定時(shí)間后,發(fā)送分類后的所述會(huì)話發(fā)起協(xié)議消息。
2. 如權(quán)利要求l所述的方法,其中,所述分類步驟包括 將所述會(huì)話發(fā)起協(xié)議消息放入與所述服務(wù)質(zhì)量策略相對(duì)應(yīng)的隊(duì)列中;并且,其中,所述發(fā)送步驟包括從隊(duì)列中取出所述會(huì)話發(fā)起協(xié)議消息。
3. 如權(quán)利要求l所述的方法,還包括步驟 根據(jù)所述會(huì)話發(fā)起協(xié)議消息的目的地地址,將所述會(huì)話發(fā)起協(xié)議消息與相應(yīng)的Siplet關(guān)聯(lián)起來(lái)。
4. 如權(quán)利要求l所述的方法,還包括步驟 檢測(cè)系統(tǒng)當(dāng)前的工作負(fù)載;以及根據(jù)檢測(cè)結(jié)果,丟棄所述會(huì)話發(fā)起協(xié)議消息或?qū)⑵浞湃胂鄳?yīng)的隊(duì) 列中。
5. 如權(quán)利要求l所述的方法,其中,所述消息是離開(kāi)所述呈現(xiàn)服 務(wù)器的消息或者到達(dá)所述呈現(xiàn)服務(wù)器的消息。
6. 如權(quán)利要求l所述的方法,還包括步驟 根據(jù)所述會(huì)話發(fā)起協(xié)議消息自身的屬性和服務(wù)質(zhì)量策略,將目的地地址相同的多個(gè)會(huì)話發(fā)起協(xié)議消息合并成一個(gè)會(huì)話發(fā)起協(xié)議消息。
7. 如權(quán)利要求1所述的服務(wù)質(zhì)量控制的呈現(xiàn)方法,還包括步驟 響應(yīng)于定時(shí)信號(hào),從所述隊(duì)列中取出所述會(huì)話發(fā)起協(xié)議消息。
8. 如權(quán)利要求1所述的服務(wù)質(zhì)量控制的呈現(xiàn)方法,還包括步驟 以預(yù)定的時(shí)間間隔從所述隊(duì)列中取出所述會(huì)話發(fā)起協(xié)議消息。
9. 一種用于為呈現(xiàn)服務(wù)器提供服務(wù)質(zhì)量控制能力的設(shè)備,包括步 服務(wù)質(zhì)量策略執(zhí)行單元,用來(lái)獲取和提供與接收的會(huì)話發(fā)起協(xié)議 消息有關(guān)的服務(wù)質(zhì)量策略;會(huì)話發(fā)起協(xié)議消息分類單元,用來(lái)根據(jù)所述服務(wù)質(zhì)量策略執(zhí)行單 元提供的所述服務(wù)質(zhì)量策略,將所述會(huì)話發(fā)起協(xié)議消息分類;以及會(huì)話發(fā)起協(xié)議消息發(fā)送單元,經(jīng)過(guò)與所述服務(wù)質(zhì)量策略相符的預(yù) 定時(shí)間后,發(fā)送分類后的所述會(huì)話發(fā)起協(xié)議消息。
10. 如權(quán)利要求9所述的設(shè)備,所述會(huì)話發(fā)起協(xié)議消息發(fā)送單元 包括雙向會(huì)話發(fā)起協(xié)議消息隊(duì)列,用于存儲(chǔ)所述分類后的會(huì)話發(fā)起協(xié) 議消息以將其延遲與所述服務(wù)質(zhì)量策略相關(guān)的預(yù)定時(shí)間;和會(huì)話發(fā)起協(xié)議消息調(diào)度單元,用于發(fā)送在所述雙向會(huì)話發(fā)起協(xié)議 消息隊(duì)列中等待的會(huì)話發(fā)起協(xié)議消息。
11. 如權(quán)利要求9或10所述的設(shè)備,還包括消息Siplet關(guān)系單元,用于根據(jù)所述會(huì)話發(fā)起協(xié)議消息的目的地 地址,將所述會(huì)話發(fā)起協(xié)議消息與相應(yīng)的Siplet關(guān)聯(lián)起來(lái)。
12. 如權(quán)利要求10所述的設(shè)備,還包括工作負(fù)載感測(cè)單元,用于檢測(cè)系統(tǒng)當(dāng)前的工作負(fù)載并將檢測(cè)結(jié)果調(diào)度單元。
13. 如權(quán)利要求12所述的設(shè)備,其中,所述會(huì)話發(fā)起協(xié)議消息分類單元根據(jù)來(lái)自所述工作負(fù)載感測(cè)單元 的檢測(cè)結(jié)果,丟棄所述會(huì)話發(fā)起協(xié)議消息或?qū)⑵浞湃胂鄳?yīng)的隊(duì)列中。
14. 如權(quán)利要求12所述的設(shè)備,其中,所述會(huì)話發(fā)起協(xié)議消息分 類單元將所述會(huì)話發(fā)起協(xié)議消息放入與所述服務(wù)質(zhì)量策略相對(duì)應(yīng)的隊(duì) 列中;并且,其中,所述會(huì)話發(fā)起協(xié)議消息調(diào)度單元從所述隊(duì)列中取出所述會(huì)話發(fā)起協(xié)議消息,然后進(jìn)行發(fā)送。
15. 如權(quán)利要求14所述的設(shè)備,其中,其中,所述消息是離開(kāi)所 述呈現(xiàn)服務(wù)器的消息或者到達(dá)所述呈現(xiàn)服務(wù)器的消息。
16. 如權(quán)利要求14所述的設(shè)備,其中,所述會(huì)話發(fā)起協(xié)議消息調(diào)度單元以預(yù)定的時(shí)間間隔從所述隊(duì)列中 取出所述會(huì)話發(fā)起協(xié)議消息。
17. 如權(quán)利要求10所述的設(shè)備,還包括定時(shí)器管理單元,用于向所述會(huì)話發(fā)起協(xié)議消息調(diào)度單元提供定 時(shí)信號(hào),并且其中,所述會(huì)話發(fā)起協(xié)議消息調(diào)度單元響應(yīng)于所述定時(shí)信號(hào),發(fā) 送所述會(huì)話發(fā)起協(xié)議消息。
18. 如權(quán)利要求10所述的設(shè)備,其中,所述會(huì)話發(fā)起協(xié)議消息調(diào)度單元根據(jù)所述會(huì)話發(fā)起協(xié)議消息自身 的屬性和服務(wù)質(zhì)量策略,將目的地地址相同的多個(gè)會(huì)話發(fā)起協(xié)議消息 合并成一個(gè)會(huì)話發(fā)起協(xié)議消息。
19. 一種支持服務(wù)質(zhì)量控制的呈現(xiàn)系統(tǒng),包括 會(huì)話發(fā)起協(xié)議應(yīng)用/呈現(xiàn)應(yīng)用實(shí)體,用于實(shí)現(xiàn)供用戶使用的服務(wù)程序;Siplet容器實(shí)體,用于實(shí)現(xiàn)如權(quán)利要求l-8所述的方法,以為所 述會(huì)話發(fā)起協(xié)議應(yīng)用/呈現(xiàn)應(yīng)用實(shí)體提供服務(wù);和會(huì)話發(fā)起協(xié)議棧實(shí)體,用于實(shí)現(xiàn)會(huì)話發(fā)起協(xié)議協(xié)議,以為所述 Siplet容器實(shí)體提供服務(wù)。
全文摘要
本發(fā)明公開(kāi)了一種用于為呈現(xiàn)服務(wù)器提供QoS控制能力的方法和設(shè)備以及支持QoS控制的呈現(xiàn)系統(tǒng)。所述用于為呈現(xiàn)服務(wù)器提供QoS控制能力的方法,包括步驟接收SIP消息;基于QoS策略,將所述SIP消息分類;以及經(jīng)過(guò)與所述QoS策略相符的預(yù)定時(shí)間后,發(fā)送分類后的所述SIP消息。本發(fā)明能夠在考慮到QoS需求但不需要提高硬件的消息處理能力的情況下提高呈現(xiàn)服務(wù)的處理能力和服務(wù)質(zhì)量保障能力。
文檔編號(hào)H04L12/58GK101483613SQ20081000282
公開(kāi)日2009年7月15日 申請(qǐng)日期2008年1月9日 優(yōu)先權(quán)日2008年1月9日
發(fā)明者哲 向, 博 楊, 偉 薛, 高志國(guó) 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司