管理會話發(fā)起協(xié)議訂閱對話狀態(tài)丟失的制作方法
【專利摘要】管理會話發(fā)起協(xié)議(SIP)訂閱對話狀態(tài)丟失,包括:SIP服務(wù)器定位器,其被配置為確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及活躍度測試器,其被配置為定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的SIP?RE-SUBSCRIBE消息。
【專利說明】管理會話發(fā)起協(xié)議訂閱對話狀態(tài)丟失
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理網(wǎng)絡(luò)領(lǐng)域。具體地說,本發(fā)明為網(wǎng)絡(luò)實體提供有關(guān)其它網(wǎng)絡(luò)實體的狀態(tài)的信息。
【背景技術(shù)】
[0002]會話發(fā)起協(xié)議(SIP)是這樣一種協(xié)議:用于例如針對兩個或更多參與者之間的基于因特網(wǎng)的電話呼叫,創(chuàng)建、修改和終止基于計算機(jī)的通信會話。由于它的引入,對SIP提出許多增強(qiáng),包括SIP即時消息和呈現(xiàn)利用擴(kuò)展(SMPLE)框架,其中一個或多個網(wǎng)絡(luò)實體(例如計算機(jī)用戶)將訂閱請求發(fā)送到服務(wù)器(稱為“呈現(xiàn)”服務(wù)器),以便接收有關(guān)另一個網(wǎng)絡(luò)實體(稱為“呈現(xiàn)實體”)的呈現(xiàn)信息。當(dāng)呈現(xiàn)服務(wù)器檢測到呈現(xiàn)實體的呈現(xiàn)信息更改時,例如當(dāng)呈現(xiàn)實體將這種更改“發(fā)布”到呈現(xiàn)服務(wù)器時,呈現(xiàn)服務(wù)器向訂戶發(fā)送有關(guān)更改的通知。
[0003]當(dāng)發(fā)出訂閱請求時,處理訂閱的呈現(xiàn)服務(wù)器形成訂閱對話,呈現(xiàn)服務(wù)器維護(hù)該對話直到原始請求者取消訂閱或者直到訂閱到期。只要訂閱對話處于活動狀態(tài),呈現(xiàn)服務(wù)器便會向訂戶發(fā)送有關(guān)對所請求呈現(xiàn)信息的任何更改的通知。如果訂閱對話例如由于呈現(xiàn)服務(wù)器故障而變得意外丟失或不活動,則訂戶將不知道發(fā)生這種情況,除非采取某種操作。
[0004]US2008/0212766公開一種用于使用有狀態(tài)協(xié)議促進(jìn)通信的網(wǎng)關(guān)裝置。該網(wǎng)關(guān)裝置包括多個網(wǎng)關(guān)設(shè)備和遠(yuǎn)程對話存儲。多個網(wǎng)關(guān)設(shè)備中的每一個包括:導(dǎo)出邏輯,其用于導(dǎo)致將與第一接收的消息關(guān)聯(lián)的對話信息傳送到對話存儲;以及檢索邏輯,其用于響應(yīng)于第二接收的消息,導(dǎo)致查找所述對話信息。
【發(fā)明內(nèi)容】
[0005]從第一方面看,本發(fā)明提供一種裝置,包括:計算機(jī)可讀存儲介質(zhì),其存儲可由處理器執(zhí)行的計算機(jī)可讀程序代碼,所述計算機(jī)可讀程序代碼包括=SIP服務(wù)器定位器,其被配置為確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及活躍度測試器,其被配置為定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的 SIP RE-SUBSCRIBE 消息。
[0006]優(yōu)選地,本發(fā)明提供一種裝置,其中所述活躍度測試器被配置為從所述SIP客戶端所維護(hù)的一組SIP訂閱對話中隨機(jī)選擇所述SIP訂閱對話。
[0007]優(yōu)選地,本發(fā)明提供一種裝置,其中所述活躍度測試器被配置為:如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及判定是否滿足所述多個SIPRE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率。
[0008]優(yōu)選地,本發(fā)明提供一種裝置,其中所述活躍度測試器被配置為從所述SIP客戶端所維護(hù)的所述一組SIP訂閱對話中隨機(jī)選擇所述多個SIP訂閱對話中的預(yù)定義數(shù)量的SIP訂閱對話。[0009]優(yōu)選地,本發(fā)明提供一種裝置,其中所述SIP客戶端被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,取消所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的所有SIP訂閱對話。
[0010]優(yōu)選地,本發(fā)明提供一種裝置,其中所述SIP客戶端被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
[0011]優(yōu)選地,本發(fā)明提供一種裝置,其中所述SIP服務(wù)器是遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器,并且其中所述SIP服務(wù)器定位器和活躍度測試器包含在本地SIP網(wǎng)關(guān)服務(wù)器中,所述本地SIP網(wǎng)關(guān)服務(wù)器被配置為接收來自本地用戶的訂閱請求并將對應(yīng)的SIP訂閱請求發(fā)送到所述遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器。
[0012]從另一方面看,本發(fā)明提供一種用于管理會話發(fā)起協(xié)議(SIP)訂閱對話狀態(tài)丟失的方法,所述方法包括:借助處理器確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的 SIP RE-SUBSCRIBE 消息。
[0013]優(yōu)選地,本發(fā)明提供一種方法,其中所述定期發(fā)送包括從所述SIP客戶端所維護(hù)的一組SIP訂閱對話中隨機(jī)選擇所述SIP訂閱對話。
[0014]優(yōu)選地,本發(fā)明提供一種方法,還包括:如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及判定是否滿足所述多個SIP RE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率。
[0015]優(yōu)選地,本發(fā)明提供一種方法,還包括從所述SIP客戶端所維護(hù)的所述一組SIP訂閱對話中隨機(jī)選擇所述多個SIP訂閱對話中的預(yù)定義數(shù)量的SIP訂閱對話。
[0016]優(yōu)選地,本發(fā)明提供一種方法,還包括在不滿足所述預(yù)定義重新訂閱成功率的情況下,取消所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的所有SIP訂閱對話。
[0017]優(yōu)選地,本發(fā)明提供一種方法,還包括在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
[0018]優(yōu)選地,本發(fā)明提供一種方法,其中所述SIP服務(wù)器是遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器,并且其中所述確定和定期發(fā)送由本地SIP網(wǎng)關(guān)服務(wù)器執(zhí)行,所述本地SIP網(wǎng)關(guān)服務(wù)器被配置為接收來自本地用戶的訂閱請求并將對應(yīng)的SIP訂閱請求發(fā)送到所述遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器。
[0019]從另一方面看,本發(fā)明提供一種用于管理會話發(fā)起協(xié)議(SIP)訂閱對話狀態(tài)丟失的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括:其中包含計算機(jī)可讀程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀程序代碼被配置為:確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的SIP RE-SUBSCRIBE消息。
[0020]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述計算機(jī)可讀程序代碼被配置為從所述SIP客戶端所維護(hù)的一組SIP訂閱對話中隨機(jī)選擇所述SIP訂閱對話。
[0021]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述計算機(jī)可讀程序代碼被配置為:如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及判定是否滿足所述多個SIP RE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率。
[0022]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述計算機(jī)可讀程序代碼被配置為從所述SIP客戶端所維護(hù)的所述一組SIP訂閱對話中隨機(jī)選擇所述多個SIP訂閱對話中的預(yù)定義數(shù)量的SIP訂閱對話。
[0023]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述計算機(jī)可讀程序代碼被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,取消所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的所有SIP訂閱對話。
[0024]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述計算機(jī)可讀程序代碼被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
[0025]優(yōu)選地,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,其中所述SIP服務(wù)器是遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器,并且其中由本地SIP網(wǎng)關(guān)服務(wù)器執(zhí)行所述計算機(jī)可讀程序代碼,所述本地SIP網(wǎng)關(guān)服務(wù)器被配置為接收來自本地用戶的訂閱請求并將對應(yīng)的SIP訂閱請求發(fā)送到所述遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器。
[0026]從另一方面看,本發(fā)明提供一種用于集成計算機(jī)程序產(chǎn)品的方法,包括將計算機(jī)可讀程序代碼集成到計算系統(tǒng)中,其中與所述計算系統(tǒng)結(jié)合的代碼執(zhí)行以下操作:確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的SIP RE-SUBSCRIBE消息;如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及判定是否滿足所述多個SIP RE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率;以及在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
【專利附圖】
【附圖說明】
[0027]現(xiàn)在僅通過實例的方式參考附圖描述本發(fā)明的實施例,這些附圖是:
[0028]圖1A連同圖1B—起是根據(jù)本發(fā)明的一個優(yōu)選實施例的用于管理SIP訂閱對話狀態(tài)丟失的裝置的簡化概念圖;
[0029]圖2是根據(jù)本發(fā)明的一個優(yōu)選實施例的圖1的系統(tǒng)的操作的示例性方法的簡化流程圖;
[0030]圖3是根據(jù)本發(fā)明的一個優(yōu)選實施例的用于管理SIP訂閱對話狀態(tài)丟失的裝置的簡化概念圖;以及
[0031]圖4是根據(jù)本發(fā)明的一個優(yōu)選實施例構(gòu)造和運行的計算系統(tǒng)的示例性硬件實現(xiàn)的簡化框圖。
【具體實施方式】
[0032]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法和/或計算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機(jī)可讀介質(zhì)中的計算機(jī)程序產(chǎn)品的形式,該計算機(jī)可讀介質(zhì)中包含計算機(jī)可讀程序代碼。
[0033]將本說明書中描述的多個功能單元標(biāo)記為模塊,以便更具體地強(qiáng)調(diào)它們的實現(xiàn)無關(guān)性。例如,模塊可以被實現(xiàn)為包括定制VLSI電路或門陣列、諸如邏輯芯片、晶體管或其它分離組件之類的現(xiàn)用半導(dǎo)體的硬件電路。模塊還可以在諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯器件之類的可編程硬件器件中實現(xiàn)。
[0034]模塊還可以在軟件中實現(xiàn),以便由各種類型的處理器執(zhí)行。例如,標(biāo)識的計算機(jī)可讀程序代碼的模塊可以包括一個或多個物理或邏輯的計算機(jī)指令塊,所述塊可以例如組織為對象、過程或函數(shù)。然而,標(biāo)識的模塊的可執(zhí)行代碼不需要在物理上位于一起,而是可以包括存儲在不同位置的不同指令,當(dāng)所述指令被邏輯地結(jié)合時,將包括模塊并實現(xiàn)模塊的所述目的。
[0035]實際上,計算機(jī)可讀程序代碼的模塊可以是單個指令或多個指令,并且甚至可以分布在多個不同的代碼段上、不同的程序中,以及跨多個存儲器件。同樣,操作數(shù)據(jù)可以在模塊中被標(biāo)識和在此示出,并且可以包括在任何合適的形式中并組織在任何合適類型的數(shù)據(jù)結(jié)構(gòu)中。操作數(shù)據(jù)可以被收集為單個數(shù)據(jù)集,或者可以分布在包括不同存儲設(shè)備的不同位置上,并且可以至少部分地僅作為電子信號存在于系統(tǒng)或網(wǎng)絡(luò)中。如果模塊或模塊的各部分在軟件中實現(xiàn),則計算機(jī)可讀程序代碼可以在一個或多個計算機(jī)可讀介質(zhì)中存儲和/或傳播。
[0036]計算機(jī)可讀介質(zhì)可以是存儲計算機(jī)可讀程序代碼的有形計算機(jī)可讀存儲介質(zhì)。計算機(jī)可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、全息、微機(jī)械、或半導(dǎo)體系統(tǒng)、裝置或器件,或者上述的任意合適的組合。
[0037]計算機(jī)可讀介質(zhì)的更具體的例子可以包括一但不限于一便攜式計算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、便攜式緊湊盤只讀存儲器(⑶-ROM)、數(shù)字通用光盤(DVD)、光存儲器件、磁存儲器件、全息存儲介質(zhì)、微機(jī)械存儲器件、或者上述的任意合適的組合。在本文件中,計算機(jī)可讀存儲介質(zhì)可以是任何能夠包含和/或存儲計算機(jī)可讀程序代碼的有形介質(zhì),該計算機(jī)可讀程序代碼可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用和/或與其結(jié)合使用。
[0038]計算機(jī)可讀介質(zhì)還可以是計算機(jī)可讀信號介質(zhì)。計算機(jī)可讀信號介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機(jī)可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但不限于一電信號、電磁信號、磁信號、光信號或上述的任意合適的組合。計算機(jī)可讀信號介質(zhì)可以是計算機(jī)可讀存儲介質(zhì)以外的任何計算機(jī)可讀介質(zhì),該計算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的計算機(jī)可讀程序代碼。計算機(jī)可讀信號介質(zhì)上包含的計算機(jī)可讀程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一有線、光纖、射頻(RF)等等,或者上述的任意合適的組合。
[0039]在一個實施例中,計算機(jī)可讀介質(zhì)可以包括一個或多個計算機(jī)可讀存儲介質(zhì)和一個或多個計算機(jī)可讀信號介質(zhì)的組合。例如,計算機(jī)可讀程序代碼可以作為電磁信號通過光纜傳播以便由處理器執(zhí)行,并且存儲在RAM存儲器件中以便由處理器執(zhí)行。
[0040]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明的各個方面的操作的計算機(jī)可讀程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++、PHP等,還包括常規(guī)的過程式程序設(shè)計語目一諸如“C”語目或類似的程序設(shè)計語言。計算機(jī)可讀程序代碼可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN) —連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0041]本說明書中對“一個實施例”、“一實施例”的引用或類似語言指結(jié)合該實施例描述的特定特性、結(jié)構(gòu)或特征被包括在至少一個實施例中。因此,本說明書中出現(xiàn)的短語“在一個實施例中”、“在一實施例中”和類似語言可以(但是并非一定)都指同一實施例,意味著“一個或多個而并非所有實施例”,除非另外明確指定。術(shù)語“包括”、“包含”、“具有”及其變體指“包括但不限于”,除非另外明確指定。項目的枚舉列表并不暗示任何或全部術(shù)語相互排斥和/或相互包含,除非另外明確指定。術(shù)語“一”、“一個”和“該”也指“一個或多個”,除非另外明確指定。
[0042]計算機(jī)程序產(chǎn)品可以集成到客戶端、服務(wù)器和網(wǎng)絡(luò)環(huán)境中,方法是提供計算機(jī)程序產(chǎn)品以便與應(yīng)用、操作系統(tǒng)和網(wǎng)絡(luò)操作系統(tǒng)軟件共存,然后在運行計算機(jī)程序產(chǎn)品的環(huán)境中,將計算機(jī)程序產(chǎn)品安裝在客戶端和服務(wù)器上。
[0043]在一個實施例中,在包括部署計算機(jī)程序產(chǎn)品的網(wǎng)絡(luò)操作系統(tǒng)的客戶端和服務(wù)器上標(biāo)識軟件,這些客戶端和服務(wù)器是計算機(jī)程序產(chǎn)品需要的,或者與計算機(jī)程序產(chǎn)品一起工作。這包括以下網(wǎng)絡(luò)操作系統(tǒng):屬于通過添加網(wǎng)絡(luò)特性增強(qiáng)基本操作系統(tǒng)的軟件。
[0044]在一個實施例中,標(biāo)識軟件應(yīng)用和版本號,并且將它們與經(jīng)過測試可用于計算機(jī)程序產(chǎn)品的軟件應(yīng)用和版本號的列表比較。使用正確版本號升級那些缺失或者與正確版本不匹配的軟件應(yīng)用。檢查將參數(shù)從計算機(jī)程序產(chǎn)品傳遞到軟件應(yīng)用的程序指令,以便確保參數(shù)列表與計算機(jī)程序產(chǎn)品需要的參數(shù)列表匹配。相反,檢查軟件應(yīng)用傳遞到計算機(jī)程序產(chǎn)品的參數(shù),以便確保參數(shù)與計算機(jī)程序產(chǎn)品需要的參數(shù)匹配。標(biāo)識客戶端和服務(wù)器操作系統(tǒng)(包括網(wǎng)絡(luò)操作系統(tǒng)),并且將它們與經(jīng)過測試可用于計算機(jī)程序產(chǎn)品的操作系統(tǒng)、版本號和網(wǎng)絡(luò)軟件的列表比較。在客戶端和服務(wù)器上,將那些與測試的操作系統(tǒng)和版本號的列表不匹配的操作系統(tǒng)、版本號和網(wǎng)絡(luò)軟件升級到所需級別。
[0045]響應(yīng)于確定要部署計算機(jī)程序產(chǎn)品的軟件屬于經(jīng)過測試可用于計算機(jī)程序產(chǎn)品的正確版本級別,通過將計算機(jī)程序產(chǎn)品安裝在客戶端和服務(wù)器上完成集成。
[0046]此外,可以以任何合適的方式組合實施例的所述特性、結(jié)構(gòu)或特征。在以下描述中,提供了大量特定的詳細(xì)信息,例如編程、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等的實例,以便徹底理解實施例。但是,相關(guān)【技術(shù)領(lǐng)域】的技術(shù)人員將認(rèn)識到,可以在沒有一個或多個特定的細(xì)節(jié)的情況下實現(xiàn)實施例,或者可以通過其它方法、組件、材料等實現(xiàn)實施例。在其它情況下,未詳細(xì)示出或描述公知的結(jié)構(gòu)、材料或操作以避免使實施例的各個方面變得模糊不清。
[0047]下面參照根據(jù)本發(fā)明實施例的方法、裝置、系統(tǒng)和計算機(jī)程序產(chǎn)品的示意流程圖和/或示意框圖描述實施例的各個方面。應(yīng)當(dāng)理解,示意流程圖和/或示意框圖的每個方框以及示意流程圖和/或示意框圖中各方框的組合,都可以由計算機(jī)可讀程序代碼實現(xiàn)。計算機(jī)可讀程序代碼可以提供給通用計算機(jī)、專用計算機(jī)、定序器或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)示意流程圖和/或示意框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0048]也可以把計算機(jī)可讀程序代碼存儲在計算機(jī)可讀介質(zhì)中,這些程序代碼使得計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備以特定方式工作,從而,存儲在計算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)示意流程圖和/或示意框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。
[0049]也可以把計算機(jī)可讀程序代碼加載到計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機(jī)、其它可編程裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實現(xiàn)的過程,從而使得在計算機(jī)或其它可編程裝置上執(zhí)行的程序代碼提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
[0050]附圖中的示意流程圖和/或示意框圖顯示了根據(jù)本發(fā)明的不同實施例的裝置、系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,示意流程圖和/或示意框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。
[0051]也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定??梢詷?gòu)想其它步驟和方法,它們在功能、邏輯或效果上與所示附圖的一個或多個方框或其各個部分等效。
[0052]盡管可以在流程圖和/或框圖中使用不同的箭頭類型和線條類型,但是應(yīng)當(dāng)理解,它們并非限制對應(yīng)實施例的范圍。實際上,可以使用某些箭頭或其它連接符僅指示所述實施例的邏輯流。例如,箭頭可以指示所述實施例的枚舉步驟之間的未指定持續(xù)時間的等待或監(jiān)視時段。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的基于專用硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)可讀程序代碼的組合來實現(xiàn)。
[0053]現(xiàn)在參考圖1A和1B,它們共同是根據(jù)本發(fā)明的一個實施例構(gòu)造和運行的用于管理SIP訂閱對話狀態(tài)丟失的裝置的簡化概念圖。在圖1A和IB的系統(tǒng)中,SIP客戶端100被示出具有一組SIP訂閱對話102,其中組102中的每個SIP訂閱對話對應(yīng)于一個或多個SIP服務(wù)器104中的SIP服務(wù)器所維護(hù)的SIP訂閱對話。通常,響應(yīng)于SIP客戶端100經(jīng)由通信網(wǎng)絡(luò)106 (例如因特網(wǎng))向SIP服務(wù)器104發(fā)送對應(yīng)的SIP訂閱請求,創(chuàng)建SIP訂閱對話。
[0054]如圖1B中更具體地所示,SIP客戶端100優(yōu)選地具備SIP服務(wù)器定位器108,其針對組102中的每個SIP訂閱對話,確定已知用于維護(hù)對應(yīng)SIP訂閱對話的每個SIP服務(wù)器104的身份,例如其中身份采用唯一網(wǎng)絡(luò)地址的形式。SIP客戶端100還優(yōu)選地具備活躍度測試器110,其被配置為針對已知用于維護(hù)與SIP訂閱對話組102中的一個或多個SIP訂閱對話對應(yīng)的一個或多個SIP訂閱對話的每個SIP服務(wù)器104,定期向?qū)?yīng)的SIP服務(wù)器104發(fā)送該SIP服務(wù)器104維護(hù)的任何SIP訂閱對話(優(yōu)選地其中隨機(jī)選擇SIP訂閱對話)的 SIP RE-SUBSCRIBE 消息。
[0055]如果活躍度測試器110接收到對SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則認(rèn)為對應(yīng)的SIP服務(wù)器104正確維護(hù)其SIP訂閱對話。否則,例如如果活躍度測試器110在預(yù)定義時間段內(nèi)根本未接收到響應(yīng),或者如果活躍度測試器110接收到指示重新訂閱請求未成功的響應(yīng),則活躍度測試器110被配置為發(fā)送與對應(yīng)的SIP服務(wù)器104所維護(hù)的多個SIP訂閱對話(例如其中隨機(jī)選擇預(yù)定義數(shù)量的SIP訂閱對話)對應(yīng)的多個SIP RE-SUBSCRIBE消息。如果活躍度測試器110接收的對SIP RE-SUBSCRIBE消息的響應(yīng)指示滿足預(yù)定義重新訂閱成功率(例如80%),則認(rèn)為對應(yīng)的SIP服務(wù)器104正確維護(hù)其SIP訂閱對話。否則,認(rèn)為對應(yīng)的SIP服務(wù)器104丟失已知SIP服務(wù)器維護(hù)的所有SIP訂閱對話的狀態(tài),因此SIP客戶端100例如可以通過取消組102中已知由對應(yīng)的SIP服務(wù)器104維護(hù)的所有SIP訂閱對話并根據(jù)需要重新建立其基本訂閱而采取更正操作。
[0056]現(xiàn)在參考圖2,其是根據(jù)本發(fā)明的一個實施例運行的圖1A和IB的系統(tǒng)的操作的示例性方法的簡化流程圖。圖2的描述參考圖1A和IB的元素。在圖2的方法中,針對例如可以由一個或多個SIP客戶端代表一個或多個用戶維護(hù)的一組SIP訂閱對話102中的每個SIP訂閱對話,確定已知用于維護(hù)對應(yīng)SIP訂閱對話的每個SIP服務(wù)器104的身份(步驟200)。例如可以通過檢查接收的有關(guān)SIP SUBSCRIBE請求的入站SIP NOTIFY消息的Via標(biāo)頭,確定SIP服務(wù)器104的身份,因為Via標(biāo)頭行列出NOTIFY消息通過的服務(wù)器,其中最后一個Via標(biāo)頭行指示從中產(chǎn)生NOTIFY消息的SIP服務(wù)器104的網(wǎng)絡(luò)地址。因此,在下面的示例性NOTIFY消息中,最后一個Via標(biāo)頭行指示從IP地址123.456.78.90標(biāo)識的SIP服務(wù)器104產(chǎn)生的NOTIFY消息:
[0057]
Message:
NOTIFY sip:%,76,54J2:5W0;trinsprt=lcp SIP/2J
Event; presence
From:`[0058]<sip;tesi3(§mypc.abc.com>;tag=8507547383532934^Ser¥er.1295537940648,0^45^92
To:
<sip:tcstl§hispc4rs.com>;tag=7490] 90325259244—loeal.1295537911000」2」8
CalHD: 7335004992519621#91.76.54.32
Max-Forwards: 69
CSeq: 2 NOTIFY
Content-Type: application/pidf+xml
Contcnt-Lcngth; 546
Sitscription-sfafe; ac{i¥e;expires=3599
Via: SIP/2.0/TCP
pr0.\y7,fti1.con1:5060;bfaiicl1-z91iG4bK77566528 i 54309
Via: SIP/2,0m:P
123.456.78,90;5064;ibmsid=Server.1295537940648.0J5J2;bratich=z9liG4b0756652815
4309
Contact <sip:proif?,liB,com:5060:traisPorHci>
[0059]針對已知用于維護(hù)與SIP訂閱對話組102中的一個或多個SIP訂閱對話對應(yīng)的一個或多個SIP訂閱對話的每個SIP服務(wù)器104,定期向SIP服務(wù)器104發(fā)送該SIP服務(wù)器維護(hù)的任何SIP訂閱對話(優(yōu)選地其中隨機(jī)選擇SIP訂閱對話)的SIP RE-SUBSCRIBE消息(步驟202)。優(yōu)選地根據(jù)預(yù)定義頻率(例如每隔30秒)發(fā)送這些SIP RE-SUBSCRIBE消息。如果接收到對SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng)(步驟204),則認(rèn)為SIP服務(wù)器正確維護(hù)其SIP訂閱對話(步驟206)。
[0060]否則,例如如果在預(yù)定義時間段(例如31秒)內(nèi)根本未接收到響應(yīng),或者如果接收到指示重新訂閱請求未成功(例如具有“481 - Call/Transaction Does Not Exist”響應(yīng)代碼,其指示SIP訂閱對話狀態(tài)丟失)或以其他方式指示發(fā)生錯誤的響應(yīng),則進(jìn)一步評估SIP服務(wù)器104,如下所示。
[0061]將與SIP服務(wù)器104所維護(hù)的多個SIP訂閱對話對應(yīng)的SIPRE-SUBSCRIBE消息發(fā)送到SIP服務(wù)器104 (步驟208),例如其中隨機(jī)選擇預(yù)定義數(shù)量的SIP訂閱對話。如果接收的對SIP RE-SUBSCRIBE消息的響應(yīng)指示滿足預(yù)定義重新訂閱成功率(例如80%)(步驟210),則認(rèn)為SIP服務(wù)器104正確維護(hù)其SIP訂閱對話(步驟206)。否則,認(rèn)為SIP服務(wù)器104丟失已知SIP服務(wù)器維護(hù)的所有SIP訂閱對話的狀態(tài)(步驟212),因此例如可以通過在SIP客戶端處取消所有對應(yīng)的SIP訂閱對話并根據(jù)需要重新建立其基本訂閱而采取更正操作(步驟214)。
[0062]現(xiàn)在參考圖3,其是根據(jù)本發(fā)明的一個實施例構(gòu)造和運行的用于管理SIP訂閱對話狀態(tài)丟失的系統(tǒng)的簡化概念圖。圖3的描述參考圖1A、1B和2的元素。在圖3的系統(tǒng)中,上面參考圖1A、1B和2描述的SIP客戶端100的功能包含在一個或多個本地SIP網(wǎng)關(guān)服務(wù)器300(例如在采用可從位于紐約阿蒙克的國際商業(yè)機(jī)器公司購買的IBMTM Lotus Sametime?的系統(tǒng)中)中,本地SIP網(wǎng)關(guān)服務(wù)器300被配置為從一個或多個本地用戶302接收訂閱請求。從本地用戶302接收訂閱請求的本地SIP網(wǎng)關(guān)服務(wù)器300例如通過通信網(wǎng)絡(luò)306 (例如因特網(wǎng)),經(jīng)由本地SIP代理服務(wù)器304將對應(yīng)的SIP訂閱請求發(fā)送到遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310 (例如經(jīng)由遠(yuǎn)程SIP代理服務(wù)器308),其中遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310可以是多個遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310中的一個。針對每個訂閱,本地SIP網(wǎng)關(guān)服務(wù)器300和遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310均維護(hù)對應(yīng)的SIP訂閱對話312和312’。每個本地SIP網(wǎng)關(guān)服務(wù)器300例如通過檢查接收的有關(guān)其先前SIP SUBSCRIBE請求的入站SIP NOTIFY消息中的SIP Via信息(如上面參考圖2所述),標(biāo)識維護(hù)與其SIP訂閱對話對應(yīng)的SIP訂閱對話的遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310,并且發(fā)送SIP RE-SUBSCRIBE消息(如上面參考圖1A、IB和2所述)。如果本地SIP網(wǎng)關(guān)服務(wù)器300確定認(rèn)為遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310已丟失其SIP訂閱對話的狀態(tài),則本地SIP網(wǎng)關(guān)服務(wù)器300優(yōu)選地將此報告給其它本地SIP網(wǎng)關(guān)服務(wù)器300,因此它們可以發(fā)送自己的SIP RE-SUBSCRIBE消息(如上面參考圖1A、IB和2所述)和/或例如通過取消已知由遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器310維護(hù)的其SIP訂閱對話并根據(jù)需要重新建立其基本訂閱而采取更正操作。
[0063]現(xiàn)在參考圖4,框圖400示出根據(jù)本發(fā)明的一個實施例的其中可以實現(xiàn)本發(fā)明的一個或多個組件/方法(例如,在圖1A-2的上下文中描述的組件/方法)的計算系統(tǒng)的示例性硬件實現(xiàn)。
[0064]如圖所示,可以根據(jù)經(jīng)由計算機(jī)總線418或備選連接布置耦合的處理器410、存儲器412、輸入/輸出(I/O)設(shè)備414和網(wǎng)絡(luò)接口 416,實現(xiàn)用于控制對至少一個資源的訪問的技術(shù)。
[0065]應(yīng)該理解,術(shù)語“處理器”如在此使用的,包括任何處理設(shè)備,例如包括CPU (中央處理單元)和/或其它處理電路的處理設(shè)備。還應(yīng)該理解,術(shù)語“處理器”可以指多個處理設(shè)備,并且其它處理器410可以共享與處理器410關(guān)聯(lián)的各種元件。
[0066]術(shù)語“存儲器”如在此使用的,旨在包括與處理器或CPU關(guān)聯(lián)的存儲器,例如RAM、ROM、固定存儲器件(例如,硬盤驅(qū)動器)、可移動存儲器件(例如,軟盤)、閃存等。這種存儲器412可以被視為計算機(jī)可讀存儲介質(zhì)。
[0067]I/O設(shè)備414如在此使用的,旨在包括例如一個或多個用于將數(shù)據(jù)輸入到處理單元的輸入設(shè)備(例如,鍵盤、鼠標(biāo)、掃描儀等)和/或一個或多個用于呈現(xiàn)與處理器410關(guān)聯(lián)的結(jié)果的輸出設(shè)備(例如,揚聲器、顯示器、打印機(jī)等)。網(wǎng)絡(luò)接口 416包括任何接口端口、接口連接和/或接口介質(zhì)(例如,以太網(wǎng)、令牌環(huán)、藍(lán)牙、WiFi等)以便與其它處理設(shè)備通信。
[0068]盡管可能已參考或可能未參考特定計算機(jī)硬件或軟件描述此處的方法和裝置,但是應(yīng)該理解,可以很容易地在使用傳統(tǒng)技術(shù)的計算機(jī)硬件或軟件中實現(xiàn)此處描述的方法和
>J-U ρ?α裝直。
[0069]盡管參考一個或多個特定實施例描述了本發(fā)明,但所述描述旨在作為一個整體說明本發(fā)明,并且并非被解釋為將本發(fā)明限于所示的實施例。應(yīng)該理解,所屬【技術(shù)領(lǐng)域】的技術(shù)人員可以進(jìn)行各種修改,這些修改盡管未在此處具體示出,但在本發(fā)明的真正精神和范圍內(nèi)。
[0070] 可以以其它特定形式實現(xiàn)各實施例。所述實施例在所有方面均被視為只是示例性的而非限制性的。因此,本發(fā)明的范圍通過所附權(quán)利要求指示,而不是通過上面的描述指示。在權(quán)利要求的等效含義和范圍內(nèi)的所有更改包括在權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1.一種用于管理會話發(fā)起協(xié)議(SIP)訂閱對話狀態(tài)丟失的裝置,所述裝置包括: 計算機(jī)可讀存儲介質(zhì),其存儲可由處理器執(zhí)行的計算機(jī)可讀程序代碼,所述計算機(jī)可讀程序代碼包括: SIP服務(wù)器定位器,其被配置為確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及 活躍度測試器,其被配置為定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的SIPRE-SUBSCRIBE 消息。
2.根據(jù)權(quán)利要求1的裝置,其中所述活躍度測試器被配置為從所述SIP客戶端所維護(hù)的一組SIP訂閱對話中隨機(jī)選擇所述SIP訂閱對話。
3.根據(jù)權(quán)利要求2的裝置,其中所述活躍度測試器被配置為: 如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及 判定是否滿足所述多個SIP RE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率。
4.根據(jù)權(quán)利要求3的裝置,其中所述活躍度測試器被配置為從所述SIP客戶端所維護(hù)的所述一組SIP訂閱對話中隨機(jī)選擇所述多個SIP訂閱對話中的預(yù)定義數(shù)量的SIP訂閱對話。
5.根據(jù)權(quán)利要求3的裝置,其中所述SIP客戶端被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,取消所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的所有SIP訂閱對話。
6.根據(jù)權(quán)利要求3的裝置,其中所述SIP客戶端被配置為在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
7.根據(jù)權(quán)利要求1的裝置,其中所述SIP服務(wù)器是遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器,并且其中所述SIP服務(wù)器定位器和活躍度測試器包含在本地SIP網(wǎng)關(guān)服務(wù)器中,所述本地SIP網(wǎng)關(guān)服務(wù)器被配置為接收來自本地用戶的訂閱請求并將對應(yīng)的SIP訂閱請求發(fā)送到所述遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器。
8.一種用于管理會話發(fā)起協(xié)議(SIP)訂閱對話狀態(tài)丟失的方法,所述方法包括: 借助處理器確定維護(hù)與SIP客戶端所維護(hù)的SIP訂閱對話對應(yīng)的SIP訂閱對話的SIP服務(wù)器的身份;以及 定期向所述SIP服務(wù)器發(fā)送與所述SIP訂閱對話對應(yīng)的SIP RE-SUBSCRIBE消息。
9.根據(jù)權(quán)利要求8的方法,其中所述定期發(fā)送包括從所述SIP客戶端所維護(hù)的一組SIP訂閱對話中隨機(jī)選擇所述SIP訂閱對話。
10.根據(jù)權(quán)利要求8的方法,還包括: 如果沒有對所述SIP RE-SUBSCRIBE消息的指示重新訂閱請求成功的響應(yīng),則發(fā)送與所述SIP服務(wù)器所維護(hù)的多個SIP訂閱對話對應(yīng)的多個SIP RE-SUBSCRIBE消息,以及 判定是否滿足所述多個SIP RE-SUBSCRIBE消息的預(yù)定義重新訂閱成功率。
11.根據(jù)權(quán)利要求8的方法,還包括從所述SIP客戶端所維護(hù)的所述一組SIP訂閱對話中隨機(jī)選擇所述多個SIP訂閱對話中的預(yù)定義數(shù)量的SIP訂閱對話。
12.根據(jù)權(quán)利要求8的方法,還包括在不滿足所述預(yù)定義重新訂閱成功率的情況下,取消所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的所有SIP訂閱對話。
13.根據(jù)權(quán)利要求8的方法,還包括在不滿足所述預(yù)定義重新訂閱成功率的情況下,重新建立與所述SIP服務(wù)器針對所述SIP客戶端所維護(hù)的任何SIP訂閱對話對應(yīng)的任何SIP訂閱。
14.根據(jù)權(quán)利要求8的方法,其中所述SIP服務(wù)器是遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器,并且其中所述確定和定期發(fā)送由本地SIP網(wǎng)關(guān)服務(wù)器執(zhí)行,所述本地SIP網(wǎng)關(guān)服務(wù)器被配置為接收來自本地用戶的訂閱請求并將對應(yīng)的SIP訂閱請求發(fā)送到所述遠(yuǎn)程SIP網(wǎng)關(guān)服務(wù)器。
15.一種包括計算機(jī)程序代碼的計算機(jī)程序,當(dāng)加載到計算機(jī)系統(tǒng)并執(zhí)行時,所述計算機(jī)程序代碼執(zhí)行根據(jù)權(quán)利要求8至 14中的任一權(quán)利要求的方法的所有步驟。
【文檔編號】H04L29/06GK103548317SQ201280021870
【公開日】2014年1月29日 申請日期:2012年5月3日 優(yōu)先權(quán)日:2011年5月6日
【發(fā)明者】G·納丘姆, V·加馬利, G·佩爾茲 申請人:國際商業(yè)機(jī)器公司