專(zhuān)利名稱(chēng):分布式電信平臺(tái)中的負(fù)載平衡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式IP系統(tǒng)和電信系統(tǒng),且更明確地說(shuō)涉及一種具有經(jīng)由分布式IP結(jié)構(gòu)互動(dòng)的地域上分散的組件的多功能電信系統(tǒng)。
背景技術(shù):
在過(guò)去的數(shù)十年中,語(yǔ)音郵件已持續(xù)發(fā)展并成為大多數(shù)企業(yè)成功運(yùn)作的關(guān)鍵因素。如今典型的語(yǔ)音郵件系統(tǒng)可呈現(xiàn)多種形式,包含可在連接到企業(yè)電話(huà)系統(tǒng)的個(gè)人計(jì)算機(jī)內(nèi)操作的計(jì)算機(jī)卡,或者直接集成到企業(yè)電話(huà)系統(tǒng)中的計(jì)算機(jī)卡或組件,或者作為由電信公司提供的服務(wù)。
如今可用的語(yǔ)音郵件系統(tǒng)的每一者的共同要素是,組成語(yǔ)音郵件系統(tǒng)的組件必須彼此通信,且因此必須協(xié)同定位。這對(duì)于具有地域上分散的辦公室的公司來(lái)說(shuō)可能是一個(gè)很大的缺點(diǎn)。
在如今的全球經(jīng)濟(jì)中,即使小型企業(yè)也可能為了為客戶(hù)服務(wù)、與賣(mài)主互動(dòng)或各種其它原因而需要多個(gè)辦公室。因特網(wǎng)、電子郵件和視頻會(huì)議的出現(xiàn)有助于使得這些分散的操作顯得更加無(wú)縫。然而,分散的辦公室仍然存在的顯著問(wèn)題是具有作為單一協(xié)同定位系統(tǒng)操作但滿(mǎn)足各個(gè)辦公室的需要的共用電話(huà)系統(tǒng)。一般來(lái)說(shuō),每一辦公室購(gòu)買(mǎi)并維護(hù)其自身的電話(huà)系統(tǒng)而在各個(gè)辦公室的電話(huà)系統(tǒng)之間沒(méi)有任何直接介接且沒(méi)有任何中央控制。這可能是花費(fèi)較大的做法,因?yàn)楸仨氋?gòu)買(mǎi)重復(fù)的硬件并在每一地點(diǎn)進(jìn)行維護(hù)。另外,辦公室間通信的后勤工作(例如,呼叫轉(zhuǎn)移、語(yǔ)音郵件檢索等)可能較復(fù)雜。因此,此項(xiàng)技術(shù)中需要一種允許遠(yuǎn)程定位的辦公室實(shí)現(xiàn)無(wú)縫集成的電信系統(tǒng)。
在大多數(shù)分布式系統(tǒng)中,一種已出現(xiàn)且必須解決的共同問(wèn)題是在各個(gè)組件之間分配處理。在分布式系統(tǒng)中,組件的一個(gè)子集可能由于處理任務(wù)而負(fù)擔(dān)過(guò)重,而其它組件閑置或利用不足。此種狀況可導(dǎo)致系統(tǒng)的效率和處理量出現(xiàn)極大的且不必要的減小。舉例來(lái)說(shuō),如果可將負(fù)載從負(fù)擔(dān)過(guò)重的組件分配到利用不足的組件,那么系統(tǒng)可更加有效地處理處理要求。存在許多已被提議并實(shí)施以求能夠平衡分布式系統(tǒng)中的處理要求的此類(lèi)技術(shù)。然而,此類(lèi)技術(shù)不足以滿(mǎn)足本文描述的分布式電信平臺(tái)中的需求。舉例來(lái)說(shuō),當(dāng)一個(gè)或一個(gè)以上組件(例如)在創(chuàng)建動(dòng)態(tài)VoiceXML頁(yè)面時(shí)利用JAVA 2企業(yè)版(JAVA 2Enterprise Edition,J2EE)環(huán)境和JAVA服務(wù)器頁(yè)面(JAVA Server Page,JSP)時(shí),可出現(xiàn)額外的問(wèn)題。在此種組件中,JAVA引擎在執(zhí)行此項(xiàng)技術(shù)中稱(chēng)為垃圾收集的操作的同時(shí)對(duì)存儲(chǔ)器進(jìn)行分配和解除分配。這是Java的關(guān)鍵特征,其負(fù)責(zé)釋放被動(dòng)態(tài)分配的不再被參考的存儲(chǔ)器。因?yàn)槎殃嚤贿M(jìn)行了垃圾收集,所以Java編程人員不必明確地釋放所分配的存儲(chǔ)器。然而,當(dāng)垃圾收集處理開(kāi)始時(shí),可能需要大量處理時(shí)間,這直接影響了系統(tǒng)性能。因此,此項(xiàng)技術(shù)中需要一種分布式系統(tǒng),其允許以避免或減輕Java垃圾收集處理以及其它處理要求的影響的方式對(duì)資源進(jìn)行再分配。
發(fā)明內(nèi)容
本發(fā)明提供一種用于平衡分布式電信系統(tǒng)內(nèi)的處理負(fù)載的技術(shù)。一般來(lái)說(shuō),在兩個(gè)級(jí)處分配處理---組件級(jí)和處理級(jí)。在所述組件級(jí)處,使用虛擬交換機(jī)將服務(wù)請(qǐng)求路由到一組經(jīng)配置以處理所述服務(wù)請(qǐng)求的組件中的一個(gè)組件??捎伤鎏摂M交換機(jī)自發(fā)地或完全基于所述組件提供的信息乃至通過(guò)兩者的組合來(lái)作出決定。在所述處理級(jí)處,每一組件建立服務(wù)處理的多個(gè)實(shí)例并接著選擇一個(gè)實(shí)例以處理所述服務(wù)請(qǐng)求。所述組件監(jiān)視所述處理的所述實(shí)例的處理負(fù)擔(dān),且如果預(yù)期性能上有降級(jí),那么所述組件選擇所述服務(wù)處理的替代實(shí)例以處理后續(xù)請(qǐng)求。
在本發(fā)明的示范性實(shí)施例中,使用虛擬交換機(jī)在一組應(yīng)用程序服務(wù)器之間進(jìn)行選擇以便處理電信服務(wù)請(qǐng)求。應(yīng)用程序服務(wù)器利用包含垃圾收集處理的J2EE平臺(tái)。如果使用服務(wù)處理的單一實(shí)例,那么垃圾收集處理最終將需要較高執(zhí)行優(yōu)先權(quán),且此時(shí),電信系統(tǒng)的用戶(hù)將體驗(yàn)到性能降級(jí)。多個(gè)實(shí)例允許垃圾收集處理在不影響用戶(hù)所體驗(yàn)到的性能的情況下離線(xiàn)操作。
圖1是說(shuō)明其中可利用本發(fā)明的各個(gè)方面和特征的示范性下一代通信平臺(tái)的組件和連接性的系統(tǒng)圖。
圖2是說(shuō)明根據(jù)本發(fā)明一種用于提供負(fù)載平衡的可能配置的方框圖。
圖3是說(shuō)明本發(fā)明的各個(gè)方面的流程圖。
具體實(shí)施例方式
圖1是說(shuō)明其中可利用本發(fā)明的各個(gè)方面和特征的示范性下一代通信平臺(tái)的組件和連接性的系統(tǒng)圖。所說(shuō)明的系統(tǒng)包含用于電信設(shè)備的分布式的基于IP的結(jié)構(gòu),其尤其可提供例如語(yǔ)音郵件、呼叫轉(zhuǎn)接和其它電信特征的電信服務(wù)。在所說(shuō)明的環(huán)境中,下一代通信平臺(tái)100具有分布式IP結(jié)構(gòu)且連接到公共交換電話(huà)網(wǎng)絡(luò)(PSTN)110。通信平臺(tái)100說(shuō)明為包含信令網(wǎng)關(guān)功能(SGF)120、一個(gè)或一個(gè)以上媒體服務(wù)器(MS)130、一個(gè)或一個(gè)以上系統(tǒng)管理單元(SMU)140、一個(gè)或一個(gè)以上應(yīng)用程序服務(wù)器(AS)150和一個(gè)或一個(gè)以上中央數(shù)據(jù)和消息存儲(chǔ)器(CDMS)160。應(yīng)了解,圖中所說(shuō)明且描述的功能性分布盡管本身具有新穎的方面,但并非唯一可接受的配置,且本發(fā)明的各方面可并入到包含更少或更多組件以及組件之間的不同功能性配置的系統(tǒng)中。
一般來(lái)說(shuō),SGF120充當(dāng)與PSTN110的7號(hào)信令系統(tǒng)(SS7)接口,并允許一個(gè)或一個(gè)以上組件或子系統(tǒng)共享同一點(diǎn)編碼,藉此減少對(duì)于目的地點(diǎn)編碼(DPC)和用于呼叫控制的信令鏈路的需求。這使電話(huà)系統(tǒng)在網(wǎng)絡(luò)中表現(xiàn)為單一中繼線(xiàn)群組。媒體服務(wù)器130經(jīng)由多接口設(shè)計(jì)終止來(lái)自PSTN的IP和/或電路交換通信量,且負(fù)責(zé)中繼和呼叫控制。應(yīng)用程序服務(wù)器模塊150為各種應(yīng)用程序產(chǎn)生動(dòng)態(tài)VoiceXML頁(yè)面并通過(guò)媒體服務(wù)器130提交所述頁(yè)面,且經(jīng)由網(wǎng)絡(luò)應(yīng)用程序服務(wù)器配置提供外部接口。SMU140是管理入口,其使服務(wù)提供商能夠提供并維護(hù)訂戶(hù)帳戶(hù),且管理來(lái)自集中式網(wǎng)絡(luò)接口的網(wǎng)絡(luò)元件。CDMS160存儲(chǔ)語(yǔ)音消息、訂戶(hù)記錄,并管理包含通知在內(nèi)的特定應(yīng)用程序功能。下文更詳細(xì)地描述這些子系統(tǒng)中的每一者。
下一代通信平臺(tái)中的組件的每一者可獨(dú)立地調(diào)整并獨(dú)立地互連到IP網(wǎng)絡(luò)上。因此,所述組件可在地域上為分布式的,但仍然作為單一通信平臺(tái)而操作,只要其可經(jīng)由IP網(wǎng)絡(luò)彼此通信。這是本發(fā)明的一個(gè)顯著優(yōu)點(diǎn),其在現(xiàn)有技術(shù)水平的通信系統(tǒng)中無(wú)法實(shí)現(xiàn)。
信令網(wǎng)關(guān)功能(SGF)SGF120提供整合的信令接口,其為下一代通信平臺(tái)創(chuàng)建單一虛擬SS7信令點(diǎn)。SS7提供網(wǎng)絡(luò)所需要的額外馬力,不論所述馬力是大是小。經(jīng)由SGF120支持與多功能媒體服務(wù)器130以及IP代理功能的SIGTRAN接口(經(jīng)由IP的IETF SS7電話(huà)信令)。將SS7整合到下一代通信平臺(tái)的單一組件(在此情況下為SGF120)中提供了以下益處點(diǎn)編碼減少,其它組件的設(shè)計(jì)的成本效益較好,且更易于維護(hù)。
SS7網(wǎng)絡(luò)中的每一信令點(diǎn)由數(shù)字點(diǎn)編碼唯一地識(shí)別。在信令點(diǎn)之間交換的信令消息中載運(yùn)點(diǎn)編碼,以識(shí)別每一消息的來(lái)源和目的地。每一信令點(diǎn)使用路由表來(lái)為每一消息選擇適當(dāng)?shù)男帕盥窂健?br>
SS7網(wǎng)絡(luò)中存在三種信令點(diǎn)SSP(服務(wù)交換點(diǎn))、STP(信號(hào)轉(zhuǎn)移點(diǎn))和SCP(服務(wù)控制點(diǎn))。SSP是發(fā)起、終止或串接呼叫的交換機(jī)。SSP將信令消息發(fā)送到其它SSP以設(shè)置、管理并釋放完成呼叫所需的語(yǔ)音線(xiàn)路。SSP也可向集中式數(shù)據(jù)庫(kù)(-SCP)發(fā)送查詢(xún)消息以確定如何路由呼叫(例如,北美洲的免費(fèi)1-800/888呼叫)。SCP向發(fā)起的SSP發(fā)送含有與所撥號(hào)碼關(guān)聯(lián)的路由號(hào)碼的響應(yīng)。如果主號(hào)碼正忙或呼叫在指定時(shí)間內(nèi)未被接聽(tīng),那么SSP可使用替代的路由號(hào)碼。實(shí)際的呼叫特征根據(jù)不同網(wǎng)絡(luò)和不同裝置而不同。
信令點(diǎn)之間的網(wǎng)絡(luò)通信量可經(jīng)由稱(chēng)為服務(wù)轉(zhuǎn)移點(diǎn)或STP的分組交換機(jī)而被路由。STP基于包含在SS7消息中的路由信息將每一傳入消息路由到傳出信令鏈路。因?yàn)镾TP充當(dāng)網(wǎng)絡(luò)集線(xiàn)器,所以其通過(guò)消除對(duì)于信令點(diǎn)之間直接鏈路的需要來(lái)提供對(duì)SS7網(wǎng)絡(luò)的改進(jìn)的利用。STP可執(zhí)行全局標(biāo)題翻譯,通過(guò)此程序根據(jù)信令消息中存在的數(shù)字(例如,所撥的800號(hào)碼、主叫卡號(hào)碼或移動(dòng)訂戶(hù)識(shí)別號(hào)碼)確定目的地信令點(diǎn)。
STP也可充當(dāng)“防火墻”以篩選與其它網(wǎng)絡(luò)交換的SS7消息。因?yàn)镾S7網(wǎng)絡(luò)對(duì)于呼叫處理至關(guān)重要,所以SCP和STP通常以配對(duì)配置部署在單獨(dú)的物理位置中,以在故障被隔離的情況下確保整個(gè)網(wǎng)絡(luò)范圍的服務(wù)。信令點(diǎn)之間的鏈路也是成對(duì)提供的。鏈路組中的所有鏈路共享通信量。如果所述鏈路之一發(fā)生故障,那么經(jīng)由鏈路組中的另一鏈路重新路由信令通信量。SS7協(xié)議提供錯(cuò)誤校正和重新傳輸能力兩者以允許在信令點(diǎn)或鏈路發(fā)生故障的情況下持續(xù)服務(wù)。
點(diǎn)編碼的可用性通常有限。信令鏈路的整合減輕了對(duì)這些資源的壓力或完全消除對(duì)于額外點(diǎn)編碼的需要。因此,SGF120中的整合信令接口提供了直接的網(wǎng)絡(luò)簡(jiǎn)化和成本節(jié)省。SGF120經(jīng)由消息傳遞網(wǎng)絡(luò)的單一“虛擬”點(diǎn)編碼向SS7網(wǎng)絡(luò)呈現(xiàn)單一身份的外觀,并以透明方式辨認(rèn)和處理消息。SGF120可潛在地將一些情況下需要的點(diǎn)編碼的最大數(shù)目從50個(gè)減少為僅四個(gè)。
從聯(lián)網(wǎng)的角度來(lái)看,SGF120對(duì)于網(wǎng)絡(luò)的其余部分而言看上去如同STP,其通過(guò)使用虛擬點(diǎn)編碼提供對(duì)下一代通信平臺(tái)的各個(gè)組件的訪(fǎng)問(wèn)。根據(jù)本發(fā)明的分布式方面,可將多個(gè)SGF并入到系統(tǒng)中。在此配置中,到達(dá)下一代通信平臺(tái)的各個(gè)組件的多個(gè)路徑為可用的。
每一SGF120包含用于訪(fǎng)問(wèn)通信平臺(tái)中各個(gè)組件的虛擬點(diǎn)編碼。整個(gè)通信平臺(tái)僅必需一個(gè)目的地點(diǎn)編碼。SGF彼此通信以對(duì)用于媒體服務(wù)器和集成到通信平臺(tái)中的其它組件的虛擬點(diǎn)編碼進(jìn)行同步。因此,如果一個(gè)SGF發(fā)生故障,那么通過(guò)另一SGF容易地提供對(duì)通信平臺(tái)的訪(fǎng)問(wèn)。
這顯著不同于且優(yōu)于下一代通信平臺(tái)中看似同步的SS7堆棧的組件的每一者。
在一示范性實(shí)施中,SGF120服務(wù)器支持N+1個(gè)故障修復(fù)冗余方案和負(fù)載共享配置,且建立在Intel服務(wù)器上。推薦最少兩個(gè)SGF用于負(fù)載共享和冗余目的以獲得增加的可用性。對(duì)于所有平臺(tái)組件,均產(chǎn)生SNMP報(bào)警、記錄和交易細(xì)節(jié)記錄。SGF的特征、優(yōu)點(diǎn)和益處包含允許多個(gè)媒體服務(wù)器共享信令鏈路和點(diǎn)編碼,從而提供顯著的成本節(jié)??;提供集中式SS7信令鏈路;可在多個(gè)多功能媒體服務(wù)器上提供一個(gè)中繼線(xiàn)群組;SGF120需要較少SS7鏈路,從而導(dǎo)致每月連接費(fèi)用減少;和SGF120在實(shí)施通信平臺(tái)的IP分布式結(jié)構(gòu)的能力方面是關(guān)鍵組件。
媒體服務(wù)器(MS)MS130終止來(lái)自SGF120的IP通信量和來(lái)自PSTN110的電路交換通信量。MS130負(fù)責(zé)平臺(tái)結(jié)構(gòu)內(nèi)的呼叫建立和控制。MS130處理來(lái)自用戶(hù)的語(yǔ)音、DTMF格式或其它信令方案的輸入(非常類(lèi)似于網(wǎng)絡(luò)客戶(hù)端從用戶(hù)處搜集鍵盤(pán)和鼠標(biāo)點(diǎn)擊輸入)。MS130接著將內(nèi)容以語(yǔ)音形式呈現(xiàn)回給用戶(hù)(原理上類(lèi)似于將圖形和文本顯示回給PC客戶(hù)端上的用戶(hù))。此客戶(hù)端/服務(wù)器方法在平臺(tái)結(jié)構(gòu)中是重要的,因?yàn)槠錅?zhǔn)許快速創(chuàng)建新的應(yīng)用程序并快速利用環(huán)球網(wǎng)上可用的內(nèi)容。
MS130優(yōu)選地經(jīng)由使用HTTP對(duì)AS150的請(qǐng)求來(lái)處理來(lái)電。負(fù)載平衡器優(yōu)選地將到達(dá)多功能MS130的通信量引導(dǎo)到復(fù)數(shù)個(gè)AS150中的一者。這一功能性確保了在活動(dòng)服務(wù)器之間平均分配通信量。。多功能MS130以與像Netscape這樣的客戶(hù)端為PC上的HTML用戶(hù)工作的幾乎相同的方式來(lái)作為VoiceXML客戶(hù)端為最終用戶(hù)工作。駐存在多功能媒體服務(wù)器上的VoiceXML或呼叫控制XML(CCXML)瀏覽器翻譯VoiceXML文檔以便呈現(xiàn)給用戶(hù)。
VoiceXML是用于開(kāi)發(fā)語(yǔ)音允用軟件應(yīng)用程序的基于標(biāo)準(zhǔn)的腳本語(yǔ)言。這意味著開(kāi)發(fā)人員在開(kāi)發(fā)基于語(yǔ)音的電話(huà)應(yīng)用程序時(shí)要使用并補(bǔ)充基于網(wǎng)絡(luò)的(HTML)開(kāi)發(fā)技術(shù)。
應(yīng)用程序服務(wù)器(AS)下一代通信平臺(tái)的模塊化設(shè)計(jì)具有以下增加的優(yōu)點(diǎn)容易部署增強(qiáng)的服務(wù),例如語(yǔ)音撥號(hào)和語(yǔ)音導(dǎo)航、統(tǒng)一通信解決方案、多媒體消息傳遞服務(wù)和存在與可用性管理應(yīng)用程序。經(jīng)由將標(biāo)準(zhǔn)應(yīng)用程序服務(wù)器150添加到共用平臺(tái)來(lái)實(shí)現(xiàn)將應(yīng)用程序添加到平臺(tái)。
每一應(yīng)用程序服務(wù)器150響應(yīng)于經(jīng)由內(nèi)部以太網(wǎng)而來(lái)自媒體服務(wù)器130的請(qǐng)求而產(chǎn)生應(yīng)用程序文檔(VoiceXML頁(yè)面)。應(yīng)用程序服務(wù)器150補(bǔ)充網(wǎng)絡(luò)應(yīng)用程序基礎(chǔ)結(jié)構(gòu)以便與后端數(shù)據(jù)存儲(chǔ)器(消息存儲(chǔ)器、用戶(hù)概要數(shù)據(jù)庫(kù)、內(nèi)容服務(wù)器)介接,以產(chǎn)生基于VoiceXML的文檔。
總體網(wǎng)絡(luò)應(yīng)用程序基礎(chǔ)結(jié)構(gòu)將核心服務(wù)邏輯(即,提供業(yè)務(wù)邏輯)與呈現(xiàn)細(xì)節(jié)(VoiceXML、CCXML、SALT、XHTML、WML)分離以提供更加可擴(kuò)展的應(yīng)用程序結(jié)構(gòu)。應(yīng)用程序服務(wù)器150利用Java2企業(yè)版(J2EE)環(huán)境和Java服務(wù)器頁(yè)面(JSP)來(lái)為多功能媒體服務(wù)器創(chuàng)建動(dòng)態(tài)VoiceXML頁(yè)面。將這些技術(shù)組合起來(lái),便使得語(yǔ)音應(yīng)用程序語(yǔ)言標(biāo)記符(SALT)可快速合并以提供例如WAP、HTML、XHTML的應(yīng)用程序與語(yǔ)音之間的互操作性(多模式的),從而允許最終用戶(hù)同時(shí)經(jīng)由語(yǔ)音命令輸入數(shù)據(jù)并經(jīng)由WAP或HTML接收呈現(xiàn)內(nèi)容。
為了創(chuàng)建便利于應(yīng)用程序開(kāi)發(fā)的環(huán)境,應(yīng)用程序服務(wù)器150優(yōu)選地支持Template+JSP。使用API在JSP中實(shí)施應(yīng)用程序以便訪(fǎng)問(wèn)消息傳遞功能。這些JSP可容易修改,使得應(yīng)用程序行為的改變和新應(yīng)用程序的產(chǎn)生極為容易。
媒體服務(wù)器130與應(yīng)用程序服務(wù)器150的協(xié)作允許向特定的訂戶(hù)提供某些特征的定制。舉例來(lái)說(shuō),如果一家公司在西海岸有一個(gè)辦公室且在東海岸有另一個(gè)辦公室,那么每一辦公室對(duì)電話(huà)系統(tǒng)(特別是媒體服務(wù)器130和應(yīng)用程序服務(wù)器150)的操作可能相當(dāng)不同。舉例來(lái)說(shuō),語(yǔ)音郵件系統(tǒng)和自動(dòng)話(huà)務(wù)員可在東部時(shí)間下午6:00在東海岸辦公室且在太平洋時(shí)間下午6:00在西海岸辦公室進(jìn)入夜間模式。另外,各個(gè)辦公室提供的菜單結(jié)構(gòu)和提示可能實(shí)質(zhì)上不同。舉例來(lái)說(shuō),按照姓名撥號(hào)的目錄將包含不同的職員。利用本發(fā)明,單獨(dú)媒體服務(wù)器可位于兩個(gè)辦公室,且可提交不同的通信服務(wù)??蓮呐c媒體服務(wù)器130協(xié)同定位的不同的應(yīng)用程序服務(wù)器150或者通過(guò)可基于媒體服務(wù)器130的位置或ID來(lái)服務(wù)通信服務(wù)應(yīng)用程序的共用的應(yīng)用程序服務(wù)器來(lái)提交不同的通信服務(wù)。
另外,遠(yuǎn)程定位的媒體服務(wù)器130可向各個(gè)訂戶(hù)和呼叫者提供共同功能性,以及提供電話(huà)系統(tǒng)的從訂戶(hù)與用戶(hù)的角度來(lái)看,均是無(wú)縫的集成。一公司可能希望提供無(wú)縫地服務(wù)公司的所有位置的語(yǔ)音郵件與自動(dòng)話(huà)務(wù)員接口。本發(fā)明可用于提供此功能性。應(yīng)用程序150可提交分層的按姓名或菜單選擇撥號(hào)的功能,其首先允許呼叫者選擇一辦公室,且接著應(yīng)用程序服務(wù)器150和/或媒體服務(wù)器130調(diào)用一特定功能來(lái)為所述特定的辦公室提供按姓名撥號(hào)服務(wù)?;蛘?,應(yīng)用程序服務(wù)器150可維持對(duì)于單一CDMS160或包含公司所有辦公室的所有訂戶(hù)信息的多個(gè)CDMS160的訪(fǎng)問(wèn)。應(yīng)用程序服務(wù)器150接著可提供整個(gè)公司范圍內(nèi)按姓名撥號(hào)的目錄的單級(jí)菜單結(jié)構(gòu)。
共用數(shù)據(jù)庫(kù)和消息存儲(chǔ)器(CDMS)
下一代通信平臺(tái)使用CDMS160來(lái)存儲(chǔ)語(yǔ)音/音頻消息、訂戶(hù)記錄,并管理例如通知調(diào)度的某些應(yīng)用程序功能。CDMS160優(yōu)選地設(shè)計(jì)為具有完全冗余組件,并利用反射存儲(chǔ)器和獨(dú)立磁盤(pán)冗余陣列(Redundant Array of Independent Disk,RAID)技術(shù)以用于容錯(cuò)、立即故障修復(fù)和恢復(fù)。這確保對(duì)于系統(tǒng)即使在不利情況期間也將可用具有較高程度的確定性?;敬疟P(pán)驅(qū)動(dòng)器和RAID控制器組件優(yōu)選地為“可熱交換的”,從而不需要對(duì)系統(tǒng)斷電來(lái)進(jìn)行更換。利用CDMS160,針對(duì)語(yǔ)音消息傳遞的獨(dú)特特性而優(yōu)化性能,從而消除性能降級(jí)、由于對(duì)電子郵件存儲(chǔ)器的搜索和分類(lèi)而帶來(lái)的不必要的電子郵件中心數(shù)據(jù)庫(kù)功能性。
CDMS160可利用標(biāo)準(zhǔn)的成品電子郵件存儲(chǔ)系統(tǒng)。通過(guò)使用允許消息存儲(chǔ)器的選擇對(duì)應(yīng)用程序來(lái)說(shuō)透明的Java中間件來(lái)使消息存儲(chǔ)器抽象化,從而準(zhǔn)許將每一消息類(lèi)型存儲(chǔ)在可能的最有效的存儲(chǔ)器中。
系統(tǒng)管理單元(SMU)SMU140為服務(wù)提供者提供集中點(diǎn)以管理所有網(wǎng)絡(luò)元件,從而提供遠(yuǎn)程訪(fǎng)問(wèn)、維護(hù)和備份功能性。SMU140提供用于提供、報(bào)警、報(bào)告和訂戶(hù)遷移的單一接口。SMU140用新元件和應(yīng)用程序來(lái)集成并定制系統(tǒng),且為體驗(yàn)快速成長(zhǎng)的網(wǎng)絡(luò)和激增的通信量的運(yùn)營(yíng)商提供操作支持和網(wǎng)絡(luò)管理功能。SMU組件的核心特征包含元件自動(dòng)發(fā)現(xiàn)-當(dāng)服務(wù)提供商添加新的網(wǎng)絡(luò)元件時(shí),SMU自動(dòng)辨認(rèn)所述網(wǎng)絡(luò)元件并將新元件包含在圖形化網(wǎng)絡(luò)地圖中。
圖形化網(wǎng)絡(luò)圖-網(wǎng)絡(luò)/群集圖和圖編輯器提供整個(gè)網(wǎng)絡(luò)或群集的快照并有助于快速問(wèn)題識(shí)別和解決。
時(shí)問(wèn)同步-中央時(shí)間源確保所有網(wǎng)絡(luò)組件在整個(gè)消息傳遞網(wǎng)絡(luò)上維持統(tǒng)一時(shí)間基準(zhǔn)-對(duì)于任何分布式結(jié)構(gòu)均較重要。
集中式網(wǎng)絡(luò)記錄-針對(duì)整個(gè)消息傳遞網(wǎng)絡(luò)的記錄集中在SMU140上。
SMU140使用雙處理器計(jì)算機(jī)并允許遠(yuǎn)程撥入以便經(jīng)由遠(yuǎn)程通信網(wǎng)(Telnet)訪(fǎng)問(wèn)SMU140服務(wù)器以及系統(tǒng)中所有其它服務(wù)器。系統(tǒng)配置和其它關(guān)鍵數(shù)據(jù)的備份也可經(jīng)由SMU實(shí)現(xiàn)。
有利地,所描述的下一代通信平臺(tái)允許快速且具成本效益地部署全部來(lái)自單一結(jié)構(gòu)來(lái)源的多種應(yīng)用程序。利用開(kāi)放式來(lái)源的基于Java的應(yīng)用程序創(chuàng)建環(huán)境使此高度靈活性成為可能。通過(guò)利用通信平臺(tái),操作者可創(chuàng)建引人矚目的同類(lèi)中最優(yōu)的消息傳遞和通信服務(wù)的程序包,從基本呼叫應(yīng)答到例如多媒體消息傳遞和在線(xiàn)狀態(tài)允用解決方案的前瞻性應(yīng)用程序。為了進(jìn)一步有助于用戶(hù)體驗(yàn),下一代通信平臺(tái)也可為訂戶(hù)提供網(wǎng)絡(luò)接口,以便在“自助”的基礎(chǔ)上添加和修改其偏好和特征。此能力增加消費(fèi)者的使用,改進(jìn)消費(fèi)者忠誠(chéng)度,并且還通過(guò)較少例行服務(wù)呼叫而減少服務(wù)提供商操作成本。
通信平臺(tái)的另一優(yōu)點(diǎn)是包含并合并多種應(yīng)用程序的能力。不管應(yīng)用程序?yàn)槠脚_(tái)上原有的或來(lái)源于第三方銷(xiāo)售商,所述應(yīng)用程序均允許針對(duì)各種消費(fèi)者需求和產(chǎn)品差異來(lái)定制通信平臺(tái)??扇菀椎睾喜⒌酵ㄐ牌脚_(tái)中的一些應(yīng)用程序包含(但不限于)以下應(yīng)用程序語(yǔ)音郵件-為訂戶(hù)提供圍繞語(yǔ)音消息內(nèi)容的交換而設(shè)計(jì)的多種特征,包含語(yǔ)音消息記錄和存儲(chǔ)、轉(zhuǎn)發(fā)、遠(yuǎn)程檢索等。
未接呼叫通知-這是無(wú)線(xiàn)或蜂窩式電話(huà)領(lǐng)域頻繁使用的呼叫者ID的擴(kuò)展。只有在無(wú)線(xiàn)電話(huà)開(kāi)機(jī)并處于網(wǎng)絡(luò)覆蓋區(qū)域時(shí),呼叫者ID服務(wù)才會(huì)提供來(lái)電號(hào)碼。然而,未接呼叫通知提供連續(xù)的基于網(wǎng)絡(luò)的服務(wù),所述服務(wù)向訂戶(hù)提供在用戶(hù)遠(yuǎn)離蜂窩式電話(huà)或蜂窩式電話(huà)關(guān)機(jī)時(shí)向蜂窩式電話(huà)號(hào)碼發(fā)出的呼叫的列表。因此,未接呼叫通知服務(wù)將俘獲并存儲(chǔ)來(lái)電信息,直到蜂窩式電話(huà)開(kāi)機(jī)并注冊(cè)為止。此時(shí),將含有所有未接呼叫的列表的短消息服務(wù)消息(SMS消息)發(fā)送給訂戶(hù),從而允許訂戶(hù)在其方便時(shí)回電。
多媒體消息傳遞服務(wù)-MMS允許訂戶(hù)用例如照片和音樂(lè)的最新多媒體內(nèi)容使其通信個(gè)人化,以創(chuàng)建打破傳統(tǒng)通信的約束的消息傳遞。此應(yīng)用程序通過(guò)使用例如消息編輯器、相冊(cè)和問(wèn)候卡的特征而增強(qiáng)以允許訂戶(hù)在其支持MMS的移動(dòng)手機(jī)、PDA和PC上發(fā)送并接收動(dòng)態(tài)多媒體內(nèi)容。訂戶(hù)也可經(jīng)由因特網(wǎng)將多媒體內(nèi)容發(fā)送給非MMS訂戶(hù),從而將通信量驅(qū)動(dòng)到操作者的網(wǎng)站,藉此增加訂戶(hù)使用。
統(tǒng)一化通信-針對(duì)特定訂戶(hù)的需求而定制的完整服務(wù)包,包含語(yǔ)音、傳真和電子郵件消息傳遞、用于所有消息類(lèi)型的單一郵箱、集成的地址簿,和特殊在線(xiàn)管理及個(gè)人化工具。
多方個(gè)人會(huì)議服務(wù)-此應(yīng)用程序給予訂戶(hù)發(fā)起與朋友/親屬進(jìn)行即時(shí)會(huì)議的能力。
語(yǔ)音允用消息傳遞服務(wù)-此應(yīng)用程序是功能強(qiáng)大的語(yǔ)音控制電話(huà)服務(wù)。訂戶(hù)通過(guò)其自身的個(gè)人聯(lián)系號(hào)碼和以自然語(yǔ)言辨認(rèn)和任選文本到語(yǔ)音能力為特征的易于使用的語(yǔ)音接口來(lái)訪(fǎng)問(wèn)一批服務(wù)。語(yǔ)音允用消息傳遞組共同的特征包含經(jīng)由在與業(yè)界標(biāo)準(zhǔn)(VoiceXML和SALT)兼容的基于IP的結(jié)構(gòu)上傳遞的語(yǔ)音命令、語(yǔ)音撥號(hào)和語(yǔ)音控制地址簿進(jìn)行語(yǔ)音郵件的導(dǎo)航。
語(yǔ)音MMS-此應(yīng)用程序通過(guò)允許將新存入的語(yǔ)音郵件消息以音頻素材的形式傳遞到支持MMS的手機(jī)或電子郵件箱而使訂戶(hù)能夠通過(guò)其通信信道具有較大訪(fǎng)問(wèn)權(quán)和控制權(quán)。訂戶(hù)也可經(jīng)由電子郵件共享語(yǔ)音消息并將語(yǔ)音消息轉(zhuǎn)發(fā)到其語(yǔ)音郵件系統(tǒng)外部的目的地。
本發(fā)明的另一方面是用于傳遞和控制數(shù)據(jù)的交易工具。利用如先前所述的相同SGF120組件,提供以SS7協(xié)議的TCAP組件為中心的交易工具。更明確地說(shuō),可利用SS7協(xié)議的TCAP組件在下一代通信平臺(tái)的分布式結(jié)構(gòu)內(nèi)提供短消息傳遞服務(wù)。短消息的發(fā)送者經(jīng)由IP網(wǎng)絡(luò)建立與媒體服務(wù)器130的通信。發(fā)送者使媒體服務(wù)器130請(qǐng)求SGF120發(fā)送SS7TCAP消息以便傳遞短消息。這項(xiàng)技術(shù)將上文針對(duì)用于呼叫處理的SGF的STP接口描述的單點(diǎn)訪(fǎng)問(wèn)節(jié)點(diǎn)用于交易處理。
因此,示范性電信平臺(tái)的分布式結(jié)構(gòu)允許電信平臺(tái)的各種功能在地域上是分布式的,但仍然如同無(wú)縫集成的系統(tǒng)一樣工作。此分布式系統(tǒng)中出現(xiàn)的問(wèn)題是系統(tǒng)內(nèi)資源的共享??沙霈F(xiàn)多個(gè)組件可能用服務(wù)請(qǐng)求來(lái)過(guò)分增加某些其它組件的負(fù)擔(dān)的許多狀況。另外,某些組件可能在某些時(shí)間對(duì)處理請(qǐng)求較有彈性,且在其它時(shí)間彈性較小。此狀況的實(shí)例在組件的一者或一者以上包含Java2企業(yè)版環(huán)境并利用垃圾收集的用途來(lái)重新獲得未使用的存儲(chǔ)器時(shí)發(fā)生。
JAVA垃圾收集如先前所提及,應(yīng)用程序服務(wù)器150利用JAVA2企業(yè)版(J2EE)環(huán)境和Java服務(wù)器頁(yè)面(JSP)來(lái)為多功能媒體服務(wù)器創(chuàng)建動(dòng)態(tài)VoiceXML頁(yè)面。Java的關(guān)鍵特征是其進(jìn)行了垃圾收集的堆陣,其負(fù)責(zé)釋放動(dòng)態(tài)分配的不再被涉及的存儲(chǔ)器。因?yàn)槎殃嚤贿M(jìn)行了垃圾收集,所以Java編程人員不必明確地釋放經(jīng)過(guò)分配的存儲(chǔ)器。一般來(lái)說(shuō),當(dāng)垃圾收集處理插進(jìn)時(shí),應(yīng)用程序服務(wù)器150不可由任何其它處理使用或至少其使用性減少。如果應(yīng)用程序服務(wù)器150用于對(duì)等待時(shí)間敏感的環(huán)境(例如語(yǔ)音郵件平臺(tái)或電話(huà)系統(tǒng))中,那么應(yīng)用程序服務(wù)器150進(jìn)入垃圾收集處理可造成等待時(shí)間問(wèn)題。因此,在電話(huà)呼叫過(guò)程中,參與者將在垃圾收集處理期間聽(tīng)到停滯空氣。
更明確地說(shuō),J2EE服務(wù)器/網(wǎng)絡(luò)容器是用于支持支持來(lái)自客戶(hù)端的請(qǐng)求的服務(wù)器應(yīng)用程序的軟件組件。一些J2EE服務(wù)器/網(wǎng)絡(luò)容器應(yīng)用程序具有無(wú)法導(dǎo)致由Java虛擬機(jī)(JVM)的垃圾收集活動(dòng)(例如,主要垃圾收集)造成的性能額外開(kāi)銷(xiāo)的服務(wù)要求。對(duì)于這些應(yīng)用程序,存在一初始周期,在所述初始周期中性能在發(fā)生影響服務(wù)的垃圾收集活動(dòng)之前是可接受的。
JVM的堆陣存儲(chǔ)正執(zhí)行的Java程序創(chuàng)建的所有對(duì)象。Java的處理創(chuàng)建對(duì)象,且在運(yùn)行時(shí)間在堆陣上分配針對(duì)新對(duì)象的存儲(chǔ)器。垃圾收集是自動(dòng)釋放不再由程序參考的對(duì)象的過(guò)程。名稱(chēng)“垃圾收集”暗示程序不再需要的對(duì)象為“垃圾”且可被拋出。當(dāng)一對(duì)象不再由程序參考時(shí),其所占據(jù)的堆陣空間必須重復(fù)利用使得所述空間可用于后續(xù)新對(duì)象。垃圾收集程序必須以某種方式確定哪些對(duì)象不再由程序參考并使由所述不被參考的對(duì)象占據(jù)的堆陣空間可用。
除了釋放不被參考的對(duì)象外,垃圾收集程序也可防止堆陣存儲(chǔ)殘片(fragmentation)。堆陣存儲(chǔ)殘片在正常程序執(zhí)行的過(guò)程中發(fā)生。分配新的對(duì)象,且釋放不被參考的對(duì)象,結(jié)果堆陣存儲(chǔ)器的空閑區(qū)塊留在由有效對(duì)象占據(jù)的區(qū)塊之間。盡管現(xiàn)有堆陣中存在足夠的總體未使用空間,但可能必須通過(guò)擴(kuò)大堆陣尺寸來(lái)滿(mǎn)足分配新對(duì)象的請(qǐng)求。這將在沒(méi)有可向其中適配新對(duì)象的足夠的連續(xù)空閑堆陣空間時(shí)發(fā)生。在虛擬存儲(chǔ)器系統(tǒng)上,服務(wù)不斷增長(zhǎng)的堆陣所需的額外分頁(yè)可使正執(zhí)行的程序性能降級(jí)。
可根據(jù)應(yīng)用和編程技術(shù)在Java平臺(tái)上利用若干種垃圾收集技術(shù)。不管利用何種方法,與處理關(guān)聯(lián)的等待時(shí)間問(wèn)題均將很有可能實(shí)現(xiàn)。過(guò)去只能給予垃圾收集機(jī)制提示,這使得非常難以調(diào)節(jié)處理,因此需要我們的反復(fù)利用解決方法。
垃圾收集算法必須執(zhí)行兩件基本任務(wù)。首先,其必須檢測(cè)垃圾對(duì)象。第二,其必須收回由垃圾對(duì)象使用的堆陣空間并使所述堆陣空間可用于程序。垃圾檢測(cè)通常通過(guò)界定根目錄集合并確定從根目錄的可到達(dá)性來(lái)實(shí)現(xiàn)。如果有來(lái)自根目錄的正執(zhí)行的程序可借以訪(fǎng)問(wèn)對(duì)象的某一參考路徑,那么所述對(duì)象為可到達(dá)的。根目錄始終可由程序訪(fǎng)問(wèn)。任何可從根目錄到達(dá)的對(duì)象均被認(rèn)為是有效的。不可到達(dá)的對(duì)象被認(rèn)為是垃圾,因?yàn)槠洳豢稍儆绊懗绦驁?zhí)行的未來(lái)過(guò)程。
本發(fā)明的一方面是允許J2EE服務(wù)器或網(wǎng)絡(luò)容器(例如,Resin、Apache Tomcat、BEAWebLogic、IBM WebSphere)僅在發(fā)生影響服務(wù)的垃圾收集活動(dòng)之前的可配置周期內(nèi)處理請(qǐng)求。總體設(shè)計(jì)方法是主機(jī)上存在網(wǎng)絡(luò)容器/服務(wù)器的一個(gè)以上實(shí)例,其中所述容器/服務(wù)器中僅有一者被認(rèn)為是現(xiàn)役的且處理新會(huì)話(huà)請(qǐng)求??膳渲弥芷谥笄覟榱吮苊庥绊懛?wù)的垃圾收集活動(dòng),活動(dòng)容器/服務(wù)器接著停頓并降級(jí)為備用狀態(tài),此時(shí)針對(duì)新提升的活動(dòng)容器/服務(wù)器發(fā)出新會(huì)話(huà)請(qǐng)求。得到初始新會(huì)話(huà)請(qǐng)求的負(fù)載分配組件將請(qǐng)求分配給當(dāng)前活動(dòng)的容器/服務(wù)器。在容器/服務(wù)器從活動(dòng)模式提升到備用模式之后,負(fù)載分配組件將新會(huì)話(huà)請(qǐng)求發(fā)送給新提升的容器/服務(wù)器。只要主機(jī)是活動(dòng)的,則此過(guò)程持續(xù)。
盡管所述機(jī)制希望每次支持兩個(gè)以上容器/服務(wù)器,但為了論述的目的,假定兩個(gè)容器/服務(wù)器駐存在單一主機(jī)上。在任何時(shí)間,所述容器/服務(wù)器中僅有一個(gè)處于活動(dòng)模式(接收來(lái)自新客戶(hù)端的請(qǐng)求);另一者處于備用模式。只有活動(dòng)容器/服務(wù)器可接受來(lái)自新客戶(hù)端的請(qǐng)求(創(chuàng)建新會(huì)話(huà))。在可配置時(shí)段(其可基于經(jīng)驗(yàn)數(shù)據(jù)而獲得或者被編程為默認(rèn)值或既定值)之后,備用容器/服務(wù)器被提升并開(kāi)始接收新會(huì)話(huà)請(qǐng)求,而之前活動(dòng)的容器/服務(wù)器不接收新會(huì)話(huà)請(qǐng)求但繼續(xù)處理對(duì)于現(xiàn)有會(huì)話(huà)的請(qǐng)求,且接著在可配置周期之后停頓。停頓的容器/服務(wù)器停機(jī)并重新啟動(dòng)(這清除任何垃圾并提供“清白歷史”),此后其保持處于后備用模式直到其在可配置時(shí)段之后再次被提升到活動(dòng)模式為止。只要主機(jī)經(jīng)配置以接受請(qǐng)求,則重復(fù)此過(guò)程。因此,針對(duì)同一主機(jī)上的活動(dòng)網(wǎng)絡(luò)容器/服務(wù)器發(fā)出新請(qǐng)求,且因此對(duì)所述主機(jī)的網(wǎng)絡(luò)請(qǐng)求被透明地且成功地處理而不會(huì)導(dǎo)致影響服務(wù)的JVM垃圾收集的額外開(kāi)銷(xiāo)。使用相同機(jī)制來(lái)支持兩個(gè)以上容器/服務(wù)器。
圖2是說(shuō)明根據(jù)本發(fā)明一種用于提供負(fù)載平衡的可能配置的方框圖。所說(shuō)明的配置包含四個(gè)媒體服務(wù)器130和兩個(gè)應(yīng)用程序服務(wù)器150。媒體服務(wù)器130的每一者可通過(guò)兩個(gè)虛擬交換機(jī)210中的一者來(lái)訪(fǎng)問(wèn)所述應(yīng)用程序服務(wù)器中的任一者。虛擬交換機(jī)的一個(gè)實(shí)施例可為第4層負(fù)載平衡器的冗余對(duì)。虛擬交換機(jī)210可為操作以將來(lái)自多個(gè)請(qǐng)求者的服務(wù)請(qǐng)求重定向到多個(gè)接收者的多種組件中的任一者。一個(gè)此種組件可為L(zhǎng)inux虛擬服務(wù)器(LVS)。LVS是建立在真實(shí)服務(wù)器群集上的高度可調(diào)整且高度可用的服務(wù)器,其中有一負(fù)載平衡器在Linux操作系統(tǒng)上運(yùn)行。
當(dāng)請(qǐng)求從媒體服務(wù)器130到達(dá)虛擬交換機(jī)210時(shí),虛擬交換機(jī)210基于由虛擬交換機(jī)210服務(wù)的應(yīng)用程序服務(wù)器150的當(dāng)前負(fù)載和可用性將請(qǐng)求路由到應(yīng)用程序服務(wù)器150。因此,媒體服務(wù)器130將消息郵遞到虛擬交換機(jī)210。虛擬交換機(jī)確定將使用哪個(gè)應(yīng)用程序服務(wù)器150來(lái)響應(yīng)所述請(qǐng)求并通知該應(yīng)用程序服務(wù)器150。應(yīng)用程序服務(wù)器150接著回應(yīng)發(fā)出請(qǐng)求的媒體服務(wù)器130。
應(yīng)用程序服務(wù)器150的每一者包含一端口。虛擬交換機(jī)210通過(guò)將請(qǐng)求發(fā)送到適當(dāng)端口而將請(qǐng)求路由到應(yīng)用程序服務(wù)器150。虛擬交換機(jī)210以至少兩種方式提供負(fù)載平衡。在一個(gè)實(shí)例中,虛擬交換機(jī)210可監(jiān)視已路由到特定應(yīng)用程序服務(wù)器150的請(qǐng)求的數(shù)目,并在虛擬交換機(jī)210推斷所述應(yīng)用程序服務(wù)器150被過(guò)分利用時(shí)將請(qǐng)求重定向到另一應(yīng)用程序服務(wù)器150。虛擬交換機(jī)210可使用加權(quán)處理來(lái)作出此確定。將權(quán)重分配給每一主機(jī)和到達(dá)主機(jī)的當(dāng)前數(shù)目的連接。使用稱(chēng)為加權(quán)最少連接(weightedleast-connection)的算法作為作出此確定的基礎(chǔ)。舉例來(lái)說(shuō),虛擬交換機(jī)210可將一個(gè)百分比的通信量路由到第一應(yīng)用程序服務(wù)器150并將剩余百分比的通信量路由到一個(gè)或一個(gè)以上其它應(yīng)用程序服務(wù)器150。在另一實(shí)例中,應(yīng)用程序服務(wù)器150可積極地指示虛擬交換機(jī)210利用不同的應(yīng)用程序服務(wù)器150。舉例來(lái)說(shuō),如果第一應(yīng)用程序服務(wù)器太忙,那么應(yīng)用程序服務(wù)器150可指示虛擬交換機(jī)210將另外的請(qǐng)求路由到不同的應(yīng)用程序服務(wù)器。這可在無(wú)限期基礎(chǔ)上完成(即,直到應(yīng)用程序服務(wù)器150指示虛擬交換機(jī)210其再次可用為止),或這可在臨時(shí)基礎(chǔ)上完成(即,在某一時(shí)段期間或在特定通信量期間)。因此,虛擬交換機(jī)210操作以在電信平臺(tái)內(nèi)提供負(fù)載平衡。
LVS可基于應(yīng)用程序服務(wù)器主機(jī)150上的反饋機(jī)制提供的個(gè)別組件負(fù)載信息來(lái)進(jìn)行平衡。舉例來(lái)說(shuō),應(yīng)用程序服務(wù)器內(nèi)的應(yīng)用程序服務(wù)器容器也具有指示例如“可用”或“不可用”的狀態(tài)的能力。應(yīng)用程序服務(wù)器也可提供百分比占用狀態(tài),例如“占用n%”。此狀態(tài)信息接著可用作LVS所作出的請(qǐng)求調(diào)度決定的輸入。
也以另一種方式——垃圾收集——在應(yīng)用程序服務(wù)器級(jí)上提供負(fù)載平衡。本發(fā)明的針對(duì)垃圾收集的性能的一個(gè)方面是創(chuàng)建虛擬機(jī)的兩個(gè)實(shí)例以便服務(wù)請(qǐng)求。虛擬機(jī)的每一實(shí)例包含其自身的垃圾收集處理。一般來(lái)說(shuō),虛擬交換機(jī)210在某一時(shí)段內(nèi)將請(qǐng)求路由到應(yīng)用程序服務(wù)器150內(nèi)的第一虛擬機(jī),且接著在第一虛擬機(jī)執(zhí)行垃圾收集的同時(shí)將另外的請(qǐng)求路由到第二虛擬機(jī)。虛擬機(jī)之間的交換決定可基于多種因素,且本發(fā)明不限于任何特定方案。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,可在周期基礎(chǔ)上(即,每30分鐘)來(lái)執(zhí)行所述轉(zhuǎn)換。在其它實(shí)施例中,可能基于已發(fā)送到虛擬機(jī)的請(qǐng)求的數(shù)目、虛擬機(jī)可用的存儲(chǔ)器量、正由虛擬機(jī)處理的線(xiàn)程數(shù)目或類(lèi)似因素來(lái)執(zhí)行所述轉(zhuǎn)換。
在每一虛擬機(jī)內(nèi),垃圾收集處理通常是最低或非常低優(yōu)先權(quán)任務(wù)。因此,隨著應(yīng)用程序服務(wù)器150被利用,垃圾收集要求隨著時(shí)間而累積。在某一時(shí)間點(diǎn),通常當(dāng)可用存儲(chǔ)器不足時(shí),必須將垃圾收集處理移動(dòng)到較高優(yōu)先權(quán)。如果垃圾收集處理在活動(dòng)處理正由應(yīng)用程序服務(wù)器150服務(wù)時(shí)插進(jìn),那么系統(tǒng)用戶(hù)將經(jīng)歷停滯時(shí)間或等待時(shí)間。
本發(fā)明操作以在遭遇此臨界接合點(diǎn)之前在虛擬機(jī)之間進(jìn)行交換。因此,在一個(gè)虛擬機(jī)的垃圾堆陣變得嚴(yán)重以致于必須將垃圾收集處理移動(dòng)到較高優(yōu)先權(quán)從而使系統(tǒng)性能降級(jí)之前,將對(duì)服務(wù)的另外的請(qǐng)求路由到另一虛擬機(jī)。有利地,這允許第一虛擬機(jī)繼續(xù)服務(wù)當(dāng)前活動(dòng)處理,且垃圾收集處理將由于可能需要存儲(chǔ)器的新處理的引入而不被給予較高優(yōu)先權(quán)。一旦將請(qǐng)求路由到另一虛擬機(jī),可以?xún)煞N方式之一清除垃圾。虛擬機(jī)可重新啟動(dòng),這自動(dòng)調(diào)用了垃圾收集處理。然而,當(dāng)前正被服務(wù)的處理將導(dǎo)致被終止。因此,更能經(jīng)受檢驗(yàn)的技術(shù)是允許當(dāng)前活動(dòng)的處理繼續(xù),且隨著處理資源變得可用或在最后處理終止之后,實(shí)行垃圾收集處理。因?yàn)閷⑿抡?qǐng)求路由到另一虛擬機(jī),所以在可調(diào)用垃圾收集處理之前只是時(shí)間的問(wèn)題。一旦調(diào)用垃圾收集處理,第一虛擬機(jī)就可變?yōu)榭捎糜谔幚韺?lái)的請(qǐng)求。另外,JVM處理可重新啟動(dòng),這導(dǎo)致釋放JMV處理?yè)碛械乃卸殃嚧鎯?chǔ)器,且藉此完全避免垃圾收集處理。
應(yīng)了解,盡管將本發(fā)明的這一方面描述為包含兩個(gè)虛擬機(jī),但也可使用任何數(shù)目的虛擬機(jī),且將請(qǐng)求路由到虛擬機(jī)可以循環(huán)方式或另外的方式實(shí)行。
因此,本發(fā)明操作以便以至少兩種方式提供負(fù)載平衡。在一個(gè)級(jí)處,虛擬交換機(jī)平衡導(dǎo)向應(yīng)用程序服務(wù)器150的負(fù)載。在另一級(jí)處,應(yīng)用程序服務(wù)器150以避免由于垃圾收集造成的等待時(shí)間問(wèn)題的方式在兩個(gè)或兩個(gè)以上虛擬機(jī)之間分配請(qǐng)求的處理。
圖3是說(shuō)明本發(fā)明的各個(gè)方面的流程圖。所述流程圖說(shuō)明經(jīng)由虛擬交換機(jī)210與一個(gè)或一個(gè)以上應(yīng)用程序服務(wù)器150通信的媒體服務(wù)器130。盡管僅說(shuō)明一個(gè)媒體服務(wù)器130和一個(gè)虛擬交換機(jī)210和兩個(gè)應(yīng)用程序服務(wù)器150,但應(yīng)了解,本發(fā)明的各個(gè)方面不限于此配置。如先前所述,本發(fā)明以至少兩種方式提供分布式電信平臺(tái)中的負(fù)載平衡平衡應(yīng)用程序服務(wù)器之間的負(fù)載和平衡應(yīng)用程序服務(wù)器內(nèi)的負(fù)載。首先,媒體服務(wù)器130將服務(wù)請(qǐng)求310提供到虛擬交換機(jī)210。此時(shí),虛擬交換機(jī)210作出關(guān)于哪一應(yīng)用程序服務(wù)器適于處理服務(wù)請(qǐng)求310的確定(315)。此確定可以多種方式執(zhí)行由虛擬交換機(jī)自發(fā)執(zhí)行、由虛擬交換機(jī)輔助應(yīng)用程序服務(wù)器執(zhí)行,或由這兩個(gè)極端的任何組合執(zhí)行。舉例來(lái)說(shuō),虛擬交換機(jī)可監(jiān)視請(qǐng)求的數(shù)目、對(duì)所述請(qǐng)求的處理要求,和應(yīng)用程序服務(wù)器作出關(guān)于應(yīng)用程序服務(wù)器接受和處理額外請(qǐng)求的能力的確定的能力。或者,應(yīng)用程序服務(wù)器可將狀態(tài)信息發(fā)送到虛擬交換機(jī)以指示其當(dāng)前處理負(fù)載及其接受和處理額外請(qǐng)求的能力。因此,虛擬交換機(jī)210可(1)自發(fā)地,(2)基于來(lái)自應(yīng)用程序服務(wù)器的控制/狀態(tài)信息,或(3)基于虛擬交換機(jī)搜集的信息結(jié)合從應(yīng)用程序服務(wù)器接收的信息來(lái)作出負(fù)載分配決定。
一旦選擇了期望的應(yīng)用程序服務(wù)器150,虛擬交換機(jī)210就將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)到選定的應(yīng)用程序服務(wù)器150(320)。最后,應(yīng)用程序服務(wù)器150將經(jīng)由虛擬交換機(jī)210或直接利用媒體服務(wù)器130來(lái)響應(yīng)服務(wù)請(qǐng)求(350)。然而,應(yīng)用程序服務(wù)器150也可實(shí)行關(guān)于應(yīng)用程序服務(wù)器150的處理分配的額外步驟。一個(gè)此類(lèi)過(guò)程涉及創(chuàng)建用于處理傳入服務(wù)請(qǐng)求的服務(wù)處理的各種實(shí)例。如先前所述,本發(fā)明的此方面有利地允許實(shí)施J2EE環(huán)境而不會(huì)導(dǎo)致垃圾收集處理期間性能降級(jí)。因此在接收服務(wù)請(qǐng)求之前或之后,應(yīng)用程序服務(wù)器150可操作以創(chuàng)建服務(wù)處理的多個(gè)實(shí)例,并接著識(shí)別特定實(shí)例來(lái)處理當(dāng)前服務(wù)請(qǐng)求(325)。在操作期間,應(yīng)用程序服務(wù)器150可通過(guò)使用服務(wù)處理的不同實(shí)例來(lái)分配處理負(fù)載。這可以多種方式實(shí)現(xiàn),其中一些方式本文已揭示,其它方式未揭示但仍由本發(fā)明所預(yù)期。不管選定的方式如何,應(yīng)用程序服務(wù)器150確定服務(wù)處理的實(shí)例是否負(fù)擔(dān)過(guò)重(330),且如果是,那么應(yīng)用程序服務(wù)器150操作以允許負(fù)擔(dān)過(guò)重的實(shí)例恢復(fù)(335)。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,本發(fā)明操作以確定垃圾收集處理將需要被移動(dòng)到較高優(yōu)先權(quán)的最佳點(diǎn),且接著將額外服務(wù)請(qǐng)求導(dǎo)向替代實(shí)例以避免由于垃圾收集處理而造成的性能降級(jí)。
應(yīng)用程序服務(wù)器150也可收集、分析信息并將信息報(bào)告回虛擬服務(wù)器210以控制或支持對(duì)選擇應(yīng)用程序服務(wù)器的控制。這由應(yīng)用程序服務(wù)器150通過(guò)周期性地確定其自身狀態(tài)(340)并接著向虛擬交換機(jī)210報(bào)告(345)此信息來(lái)執(zhí)行。因此,虛擬交換機(jī)接著可利用此信息來(lái)確定額外服務(wù)請(qǐng)求應(yīng)被路由到哪一應(yīng)用程序服務(wù)器150。
已使用對(duì)本發(fā)明實(shí)施例的詳細(xì)描述來(lái)描述本發(fā)明,本發(fā)明實(shí)施例是以舉例的方式提供且不希望限定本發(fā)明的范圍。所描述的實(shí)施例包括不同特征,本發(fā)明實(shí)施例中并不需要所述特征中的全部特征。本發(fā)明的一些實(shí)施例僅利用所述特征中的一些特征或所述特征的可能的組合。所屬領(lǐng)域的技術(shù)人員將了解所描述的本發(fā)明實(shí)施例和包括所描述的實(shí)施例中表明的特征的不同組合的本發(fā)明實(shí)施例的變化形式。本發(fā)明的范圍僅由所附權(quán)利要求書(shū)限定。
權(quán)利要求
1.一種用于在一分布式系統(tǒng)中提供兩級(jí)負(fù)載平衡的方法,其中復(fù)數(shù)個(gè)第一類(lèi)組件必須共享復(fù)數(shù)個(gè)第二類(lèi)組件的資源,且其中所述第一類(lèi)組件經(jīng)由一個(gè)或一個(gè)以上交換系統(tǒng)而介接到所述第二類(lèi)組件,所述方法包括以下步驟在所述交換系統(tǒng)中的一者處從所述復(fù)數(shù)個(gè)第一類(lèi)組件中的一者接收一服務(wù)請(qǐng)求;所述交換系統(tǒng)識(shí)別復(fù)數(shù)個(gè)第二類(lèi)組件中的一者以便處理所述請(qǐng)求;將所述請(qǐng)求轉(zhuǎn)發(fā)到所述經(jīng)識(shí)別的第二類(lèi)組件,所述經(jīng)識(shí)別的第二類(lèi)組件可操作以建立一服務(wù)處理的至少兩個(gè)實(shí)例以便處理所述請(qǐng)求;在所述經(jīng)識(shí)別的第二類(lèi)組件處接收所述請(qǐng)求;和將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者以便處理所述請(qǐng)求,所述分配至少部分地基于所述處理的所述至少兩個(gè)實(shí)例的當(dāng)前處理要求。
2.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且如果進(jìn)一步基于正在所述服務(wù)處理實(shí)例內(nèi)操作的所述垃圾收集處理的狀態(tài),那么包含所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟。
3.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中的所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且如果進(jìn)一步基于給予所述服務(wù)處理實(shí)例內(nèi)的所述垃圾收集處理的操作優(yōu)先權(quán)的必要性,那么包含所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟。
4.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中的所述服務(wù)處理的每一實(shí)例包含一垃圾收集處理,所述垃圾收集處理作為一低優(yōu)先權(quán)后臺(tái)任務(wù)操作以釋放未使用的存儲(chǔ)器,且通過(guò)將所述請(qǐng)求分配到所述服務(wù)處理的一第一實(shí)例直到有必要增加所述第一實(shí)例的所述垃圾收集處理的所述優(yōu)先權(quán)為止并接著將后續(xù)請(qǐng)求分配到所述服務(wù)處理的另一實(shí)例來(lái)執(zhí)行所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟。
5.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中的所述服務(wù)處理的每一實(shí)例包含一垃圾收集處理,所述垃圾收集處理作為一低優(yōu)先權(quán)后臺(tái)任務(wù)操作以釋放未使用的存儲(chǔ)器,且通過(guò)在一特定時(shí)段內(nèi)將所述請(qǐng)求分配到所述服務(wù)處理的一第一實(shí)例并接著將后續(xù)請(qǐng)求分配到所述服務(wù)處理的另一實(shí)例來(lái)執(zhí)行所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟,其中所述特定時(shí)段足以防止所述第一實(shí)例的負(fù)擔(dān)過(guò)重。
6.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中的所述服務(wù)處理的每一實(shí)例包含一垃圾收集處理,所述垃圾收集處理作為一低優(yōu)先權(quán)后臺(tái)任務(wù)操作以釋放未使用的存儲(chǔ)器,且通過(guò)將所述請(qǐng)求分配到所述服務(wù)處理的一第一實(shí)例直到達(dá)到一第一閾值存儲(chǔ)器利用率為止并接著將后續(xù)請(qǐng)求分配到所述服務(wù)處理的另一實(shí)例來(lái)執(zhí)行所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟。
7.根據(jù)權(quán)利要求6所述的方法,其中一旦所述服務(wù)處理的所述第一實(shí)例中的存儲(chǔ)器利用率降低到一第二閾值以下,就將所述服務(wù)請(qǐng)求的分配返回給所述服務(wù)處理的所述第一實(shí)例。
8.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)識(shí)別的第二類(lèi)組件中的所述服務(wù)處理的每一實(shí)例包含一垃圾收集處理,所述垃圾收集處理作為一低優(yōu)先權(quán)后臺(tái)任務(wù)操作以釋放未使用的存儲(chǔ)器,且通過(guò)將所述請(qǐng)求分配到所述服務(wù)處理的一第一實(shí)例直到一第一閾值數(shù)目的服務(wù)請(qǐng)求已發(fā)送到所述第一實(shí)例為止,并接著將后續(xù)請(qǐng)求分配到所述服務(wù)處理的另一實(shí)例,來(lái)執(zhí)行所述將所述請(qǐng)求分配到所述服務(wù)處理的所述至少兩個(gè)實(shí)例中的一者的步驟。
9.根據(jù)權(quán)利要求1所述的方法,其中所述交換系統(tǒng)識(shí)別復(fù)數(shù)個(gè)第二類(lèi)組件中的一者以便處理所述請(qǐng)求的所述步驟進(jìn)一步包括識(shí)別一第一組件以便處理一第一百分比的請(qǐng)求,和識(shí)別一第二組件以便處理剩余百分比的請(qǐng)求。
10.根據(jù)權(quán)利要求1所述的方法,其中所述交換系統(tǒng)識(shí)別復(fù)數(shù)個(gè)第二類(lèi)組件中的一者以便處理所述請(qǐng)求的所述步驟進(jìn)一步包括識(shí)別一第一組件以便處理一第一百分比的請(qǐng)求,和識(shí)別一第二組件以便處理剩余百分比的請(qǐng)求。
11.根據(jù)權(quán)利要求1所述的方法,其中所述交換系統(tǒng)識(shí)別復(fù)數(shù)個(gè)第二類(lèi)組件中的一者以便處理所述請(qǐng)求的所述步驟進(jìn)一步包括識(shí)別一第一組件以便處理一第一閾值數(shù)目的請(qǐng)求。
12.根據(jù)權(quán)利要求1所述的方法,其中所述交換系統(tǒng)識(shí)別復(fù)數(shù)個(gè)第二類(lèi)組件中的一者以便處理所述請(qǐng)求的所述步驟進(jìn)一步包括從所述復(fù)數(shù)個(gè)第二類(lèi)組件中的每一者接收一識(shí)別所述組件的當(dāng)前負(fù)載的指示;和至少部分地基于所述組件的所述當(dāng)前負(fù)載來(lái)選擇所述復(fù)數(shù)個(gè)第二類(lèi)組件中的一者。
13.一種分布式電信系統(tǒng),其提供負(fù)載平衡以便處理服務(wù)請(qǐng)求,所述系統(tǒng)包括一媒體服務(wù)器,其介接到一電話(huà)系統(tǒng)以便提供電信服務(wù);一個(gè)或一個(gè)以上交換機(jī);兩個(gè)或兩個(gè)以上應(yīng)用程序服務(wù)器,其經(jīng)由所述一個(gè)或一個(gè)以上交換機(jī)而介接到所述媒體服務(wù)器;所述應(yīng)用程序服務(wù)器中的每一者可操作以通過(guò)以下操作來(lái)服務(wù)從所述媒體服務(wù)器接收到的請(qǐng)求創(chuàng)建一服務(wù)處理的多個(gè)實(shí)例;使用所述服務(wù)處理的一第一實(shí)例來(lái)處理所有服務(wù)請(qǐng)求直到所述第一實(shí)例達(dá)到一閾值負(fù)擔(dān)水平為止;和交換到所述服務(wù)處理的另一實(shí)例來(lái)處理后續(xù)服務(wù)請(qǐng)求。
14.根據(jù)權(quán)利要求13所述的分布式電信系統(tǒng),其中所述應(yīng)用程序服務(wù)器中的每一者利用一JAVA 2企業(yè)版環(huán)境,其中所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且所述應(yīng)用程序服務(wù)器中的每一者可操作以當(dāng)所述服務(wù)處理的所述第一實(shí)例的所述垃圾收集處理需要一較高優(yōu)先權(quán)時(shí)交換到所述服務(wù)處理的另一實(shí)例。
15.根據(jù)權(quán)利要求13所述的分布式電信系統(tǒng),其中所述應(yīng)用程序服務(wù)器中的每一者利用一JAVA 2企業(yè)版環(huán)境,其中所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且所述閾值負(fù)擔(dān)水平由所述第一實(shí)例已被用于處理服務(wù)請(qǐng)求的時(shí)間量確定。
16.根據(jù)權(quán)利要求13所述的分布式電信系統(tǒng),其中所述一個(gè)或一個(gè)以上交換機(jī)中的每一者可操作以選擇所述兩個(gè)或兩個(gè)以上應(yīng)用程序服務(wù)器中的來(lái)自所述媒體服務(wù)器的一請(qǐng)求被路由到的一應(yīng)用程序服務(wù)器,藉此為所述分布式電信系統(tǒng)提供負(fù)載平衡。
17.根據(jù)權(quán)利要求16所述的分布式電信系統(tǒng),其中所述一個(gè)或一個(gè)以上交換機(jī)中的每一者可操作以基于正由一應(yīng)用程序服務(wù)器處理的請(qǐng)求的數(shù)目來(lái)選擇所述應(yīng)用程序服務(wù)器。
18.根據(jù)權(quán)利要求16所述的分布式電信系統(tǒng),其中所述一個(gè)或一個(gè)以上交換機(jī)中的每一者可操作以基于從所述兩個(gè)或兩個(gè)以上應(yīng)用程序服務(wù)器接收到的狀態(tài)信息來(lái)選擇一應(yīng)用程序服務(wù)器。
19.根據(jù)權(quán)利要求13所述的分布式電信系統(tǒng),其中所述應(yīng)用程序服務(wù)器中的每一者利用一JAVA 2企業(yè)版環(huán)境,其中所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且所述應(yīng)用程序服務(wù)器中的每一者可操作以當(dāng)所述服務(wù)處理的所述第一實(shí)例的所述垃圾收集處理需要一較高優(yōu)先權(quán)時(shí)交換到所述服務(wù)處理的另一實(shí)例,且其中所述一個(gè)或一個(gè)以上交換機(jī)中的每一者可操作以基于正由一應(yīng)用程序服務(wù)器處理的請(qǐng)求的數(shù)目來(lái)選擇所述應(yīng)用程序服務(wù)器。
20.根據(jù)權(quán)利要求13所述的分布式電信系統(tǒng),其中所述應(yīng)用程序服務(wù)器中的每一者利用一JAVA 2企業(yè)版環(huán)境,其中所述服務(wù)處理的每一實(shí)例包含一用于釋放未使用的存儲(chǔ)器的垃圾收集處理,且所述應(yīng)用程序服務(wù)器中的每一者可操作以當(dāng)所述服務(wù)處理的所述第一實(shí)例的所述垃圾收集處理需要一較高優(yōu)先權(quán)時(shí)交換到所述服務(wù)處理的另一實(shí)例,且其中所述一個(gè)或一個(gè)以上交換機(jī)中的每一者可操作以基于從所述兩個(gè)或兩個(gè)以上應(yīng)用程序服務(wù)器接收到的狀態(tài)信息來(lái)選擇一應(yīng)用程序服務(wù)器。
全文摘要
在一分布式電信系統(tǒng)(圖1)內(nèi)的兩個(gè)級(jí)處-組件級(jí)和處理級(jí)(120、130、140、150、160)分配處理。在所述組件級(jí)處,使用一虛擬交換機(jī)將服務(wù)請(qǐng)求路由到一組經(jīng)配置以處理所述服務(wù)請(qǐng)求的組件中的一個(gè)組件??捎伤鎏摂M交換機(jī)自發(fā)地或完全基于所述組件提供的信息甚至通過(guò)兩者的一組合來(lái)作出決定。在所述處理級(jí)處,每一組件等級(jí)建立服務(wù)處理的多個(gè)實(shí)例并接著選擇一個(gè)實(shí)例來(lái)處理所述服務(wù)請(qǐng)求。所述組件監(jiān)視所述處理的所述實(shí)例的處理負(fù)擔(dān),且如果預(yù)期性能上有一降級(jí),那么所述組件選擇所述服務(wù)處理的一替代實(shí)例來(lái)處理后續(xù)請(qǐng)求。
文檔編號(hào)H04L12/56GK101015171SQ200580021917
公開(kāi)日2007年8月8日 申請(qǐng)日期2005年6月30日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者阿徹·R·小沙夫特, 馬利塔·D·弗洛林, 伊恩·M·莫賴(lài)斯, 基思·埃林·邁耶斯, 保羅·E·魯本斯坦 申請(qǐng)人:建利爾電子公司