專利名稱:在智能網(wǎng)絡(luò)中提供實時呼叫處理服務(wù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及為提供通信服務(wù)的智能網(wǎng)絡(luò)系統(tǒng),具體說,涉及一種新穎的服務(wù)控制系統(tǒng),用于在整個智能網(wǎng)絡(luò)中分布的多個服務(wù)接點的每一個上提供實時事件處理服務(wù)。
網(wǎng)絡(luò)服務(wù)是由通信網(wǎng)絡(luò)諸如數(shù)據(jù)和電話網(wǎng)絡(luò)以及它的相關(guān)的資源響應(yīng)與一個或者多個用戶的交互作用執(zhí)行的一種功能。例如,用戶可以通過撥一個特殊的數(shù)字序列調(diào)用電話網(wǎng)絡(luò)駐留服務(wù),諸如呼叫轉(zhuǎn)移或話音郵箱。其它的網(wǎng)絡(luò)服務(wù)可以指向幫助網(wǎng)絡(luò)所有者實現(xiàn)網(wǎng)絡(luò)安全、驗證、和鑒別。增加或修改一種服務(wù)需要改變通信網(wǎng)絡(luò)。
最方便的遠(yuǎn)程通信網(wǎng)絡(luò)是由相互連接的交換機(jī)和通信服務(wù)組成的。這些交換機(jī)由集成的或者嵌入的處理器控制,而處理器由交換機(jī)設(shè)計者設(shè)計的專用軟件或固件操作。通常,交換機(jī)制造商的軟件或固件必須支持服務(wù)處理、呼叫處理、設(shè)備處理和網(wǎng)絡(luò)管理的所有功能方面。這意味著當(dāng)網(wǎng)絡(luò)所有者希望實現(xiàn)一個新的服務(wù)或者修改現(xiàn)有服務(wù)時,必須由各交換機(jī)制造商修改網(wǎng)絡(luò)中的每一個交換機(jī)的軟件。
網(wǎng)絡(luò)包括由不同制造商生產(chǎn)的不同交換機(jī)模型的這一事實需要仔細(xì)開發(fā)、測試、和開通新軟件。開發(fā)、測試、和開通新軟件需要的時間被延長,因為隨著現(xiàn)在的每一次修改,在每一交換機(jī)上的代碼大小增加的更大也更復(fù)雜。這樣,這一處理可能要幾年。另外,這種增加的復(fù)雜性給交換機(jī)處理器增加了負(fù)擔(dān),增加了交換機(jī)誤動作的機(jī)會,和可能需要修改或更換交換機(jī)。
此外,多個網(wǎng)絡(luò)所有者依賴于一組公共的交換機(jī)制造商這一事實導(dǎo)致限制競爭這樣的不希望的情形。首先,一個制造商的軟件發(fā)布可能試圖結(jié)合由幾個網(wǎng)絡(luò)所有者請求的改變,這樣,阻止了這些網(wǎng)絡(luò)所有者提供與其競爭者提供的服務(wù)真正不同的服務(wù)。這也逼迫一些網(wǎng)絡(luò)所有者等待制造商把來自其他網(wǎng)絡(luò)所有者的請求結(jié)合到新的發(fā)布中。第二,結(jié)合由一個網(wǎng)絡(luò)所有者請求的功能以實現(xiàn)一種新服務(wù)的交換機(jī)軟件發(fā)布可能無意變成可訪問其他網(wǎng)絡(luò)所有者。
隨著在過去五到十年期間由于用戶移動性的增加、各種通信和帶寬的增加、傳統(tǒng)編號方案的分離、更復(fù)雜的服務(wù)和增加的競爭,而對新網(wǎng)絡(luò)服務(wù)要求的增加,這些問題變得不能容忍。因此,廣泛承認(rèn)需要新網(wǎng)絡(luò)結(jié)構(gòu)來結(jié)合建立、開通和執(zhí)行服務(wù)邏輯的更靈活的方式。為充分理解以下說明的本發(fā)明的新穎結(jié)構(gòu),下面參考
圖1提供對相關(guān)現(xiàn)有技術(shù)的說明。
參考圖1,其中表示出包括本發(fā)明的各種交換結(jié)構(gòu)的一種邏輯表示??傮w用20表示的整體交換機(jī)包括服務(wù)處理功能22、呼叫處理功能24、設(shè)備處理功能26和交換機(jī)結(jié)構(gòu)28。所有這些功能22、24、26和28都是硬編碼、混合的和不可區(qū)分的,其用組30表示。此外,功能22、24、26和28由交換機(jī)制造商設(shè)計,并在隨不同制造商而不同的專用平臺上運(yùn)行。其結(jié)果,只有在制造商的幫助下才可以修改這些功能22、24、26和28,這將減慢服務(wù)開發(fā)和實現(xiàn),增加帶給市場新服務(wù)的成本。因此,新的和革新的服務(wù)的開發(fā)、呼叫處理、數(shù)據(jù)處理、信號處理和網(wǎng)絡(luò)操作受制造商對其專用交換機(jī)硬件和軟件的控制限制,對建立和實現(xiàn)工業(yè)標(biāo)準(zhǔn)存在固有的困難。
服務(wù)處理功能22在整體交換機(jī)20中編碼并只允許基于本地數(shù)據(jù)內(nèi)容和所撥的號碼本地控制這一處理。這一本地信息由一個執(zhí)行編碼服務(wù)功能的硬編碼處理引擎解釋。呼叫處理功能24被硬編碼,它提供呼叫啟動和呼叫終止功能。這一處理實際上建立和拆除單個連接來完成呼叫。類似地,設(shè)備處理功能26也是硬編碼,它提供涉及在一次呼叫中所包括的物理資源的所有數(shù)據(jù)處理。交換機(jī)結(jié)構(gòu)28表示交換機(jī)和計算機(jī)的硬件部件以運(yùn)行由交換機(jī)制造商,諸如北方電信公司,提供的整體軟件。交換機(jī)結(jié)構(gòu)28提供為建立連接所必需的物理設(shè)施,可以包括,但不限于,機(jī)架設(shè)備(T1和DSO的)、交換矩陣設(shè)備(網(wǎng)絡(luò)平面及其處理器)、連接層信號處理器(SS7,MTP,ISDN,LAPD)和特殊電路(會議端口,音調(diào)檢測器)。
為試圖解決先前說明的問題,國際通信聯(lián)盟和歐洲通信標(biāo)準(zhǔn)協(xié)會批準(zhǔn)了ITU-T智能網(wǎng)絡(luò)標(biāo)準(zhǔn)(“IN”)。類似地,Bellcore批準(zhǔn)了高級智能網(wǎng)絡(luò)標(biāo)準(zhǔn)(“AIN”)。雖然這兩個標(biāo)準(zhǔn)在表示和發(fā)展?fàn)顟B(tài)上不同,但是它們具有幾乎相同的目的和基本概念。因此,這兩個標(biāo)準(zhǔn)被視為一個單一的網(wǎng)絡(luò)結(jié)構(gòu),其中服務(wù)處理功能22從交換機(jī)分開。
使用IN和AIN結(jié)構(gòu),網(wǎng)絡(luò)所有者大致可以通過建立和開發(fā)一個新的服務(wù)邏輯程序(“SLP”)來推出一種新服務(wù),其基本是一個與服務(wù)獨立的創(chuàng)建塊(“SIBB”)表,它在給定類型的呼叫時被調(diào)用。根據(jù)這一方法,一些專門的元件類型互操作與SLP結(jié)合來給網(wǎng)絡(luò)用戶提供服務(wù)。其結(jié)果,任何新的或可能的服務(wù)將由現(xiàn)有SIBB限制。
用40總體指示的IN或AIN結(jié)構(gòu)邏輯上分開整體交換機(jī)20的功能為一個服務(wù)控制點(“SCP”)42及一個服務(wù)交換點(“SSP”)和交換系統(tǒng)44。SCP42包括服務(wù)處理功能22,而SSP和交換系統(tǒng)44包括呼叫處理功能24、設(shè)備處理功能26和交換機(jī)結(jié)構(gòu)28。在這種場合,呼叫處理功能24、設(shè)備處理功能26和交換機(jī)結(jié)構(gòu)28硬編碼的、混合的和不可區(qū)分的,其由組46指示。
服務(wù)交換點(“SSP”)是一個功能模塊,它駐留在交換機(jī)內(nèi)以便僅根據(jù)所撥號碼識別一個用戶的信令何時需要多于一個路由。SSP在其對遠(yuǎn)程SCP42啟動為改正呼叫處理的查詢時暫停對該呼叫的進(jìn)一步處理,SCP42基本上用作一個交換機(jī)的號碼的數(shù)據(jù)庫服務(wù)器。處理的這一分開導(dǎo)致處理特殊服務(wù)呼叫的不經(jīng)常的、但是耗時的任務(wù)從交換機(jī)卸載。此外,這一適度的集中在使一個容易修改的、重負(fù)載資源服務(wù)于整個網(wǎng)絡(luò)和對給每一交換機(jī)開通一個完整的拷貝之間劃定一個平衡。
現(xiàn)在參考圖2,圖中表示使用一個IN或AIN結(jié)構(gòu)的遠(yuǎn)程通信系統(tǒng)的示意圖,其用50總體指示。各種用戶系統(tǒng),諸如ISDN終端52、第一電話54、第二電話56連接到SSP和交換系統(tǒng)44。ISDN終端52通過信令線60和傳輸線62連接到SSP和交換系統(tǒng)44。第一電話54通過傳輸線64連接到SSP和交換系統(tǒng)44。第二電話56通過傳輸線68連接到遠(yuǎn)程交換系統(tǒng)66,而遠(yuǎn)程交換系統(tǒng)66通過傳輸線70連接到SSP和交換系統(tǒng)44。
如在前面參考圖1所說明的,SSP70是一個功能模塊,它駐留在交換機(jī)中以便根據(jù)所撥號碼識別一個用戶的信令何時需要多于一個路由。SSP70在其啟動為正確處理呼叫的詢問時暫停對該呼叫的進(jìn)一步處理。這一詢問以SS7信令的形式發(fā)送到遠(yuǎn)程SCP42。服務(wù)控制點42是這樣命名的,因為在這一位置改變數(shù)據(jù)庫的內(nèi)容可以改變對通過許多分支交換機(jī)連接的用戶顯現(xiàn)的網(wǎng)絡(luò)功能。該詢問通過信令線72發(fā)送到信號傳輸點(“STP”)74,它只是為在這些元件之間發(fā)送SS7消息的路由器,然后通過信令線76到SCP42。
綜合服務(wù)管理系統(tǒng)(“ISMS”)78被認(rèn)為是一個管理工具,以開通或改變服務(wù)或者管理每一用戶對服務(wù)的訪問。ISMS78主要通過改變操作邏輯和存儲在SSP70和SCP42中的數(shù)據(jù)操作。ISMS78具有各種用戶接口80和82。該ISMS78通過操作線84連接到SCP42,通過操作線86連接到SSP和交換系統(tǒng)44,和通過操作線90連接到智能外圍設(shè)備(“IP”)88。智能外圍設(shè)備88是用于給網(wǎng)絡(luò)增加在交換機(jī)上不可用的功能的設(shè)備,諸如話音響應(yīng)或語音識別系統(tǒng)。IP88通過線92和傳輸線94連接到SSP和交換系統(tǒng)44。
現(xiàn)在參考圖2說明按照現(xiàn)有技術(shù)的呼叫處理。當(dāng)用戶拿起接收器并開始撥號時啟動呼叫。在公司交換機(jī)上的SSP70監(jiān)視撥號并識別觸發(fā)器順序。SSP70暫停對該呼叫的進(jìn)一步處理,直到可以查詢服務(wù)邏輯。然后SSP70組成一個標(biāo)準(zhǔn)的SS7消息,并將其通過STP74發(fā)送到SCP42。SCP42接收并解碼該消息并調(diào)用SLP。SLI解釋SCP,它可能為驅(qū)動其它功能諸如為號碼轉(zhuǎn)換的數(shù)據(jù)庫查閱調(diào)用。SCP42給SSP和交換系統(tǒng)44返回一個有關(guān)該呼叫處理的SS7消息,不然的話給網(wǎng)絡(luò)單元發(fā)送消息以執(zhí)行正確的服務(wù)。在呼叫結(jié)束時在交換機(jī)之間發(fā)送一個SS7消息以拆除該呼叫,并由在該呼叫中所涉及的每一交換機(jī)產(chǎn)生一個呼叫詳情記錄。呼叫詳情記錄為每一個呼叫被收集、相關(guān)、并脫機(jī)分解,以便為收費呼叫導(dǎo)出賬單,從而完成呼叫處理。
IN和AIN結(jié)構(gòu)試圖預(yù)先定義一個標(biāo)準(zhǔn)功能集以支持所有可預(yù)見的服務(wù)。這些標(biāo)準(zhǔn)功能都被硬編碼入交換機(jī)中的各個狀態(tài)機(jī)中。不幸的是,可能結(jié)合新技術(shù)和未預(yù)見服務(wù)而產(chǎn)生的任何新功能不可能不在許多銷售商的平臺上對網(wǎng)絡(luò)軟件進(jìn)行廣泛的檢查和測試而實現(xiàn)。此外,如果一個新功能需要改變標(biāo)準(zhǔn)化的呼叫模型、協(xié)議、或接口的話,則使用該功能的服務(wù)的實現(xiàn)可能被推遲,直到由一個工業(yè)標(biāo)準(zhǔn)組批準(zhǔn)這些改變。但是,即使作為草訂的標(biāo)準(zhǔn)試圖擴(kuò)寬IN和AIN支持的功能,可是設(shè)備提供商拒絕批準(zhǔn)這些草訂的標(biāo)準(zhǔn),因為編碼復(fù)雜性的巨大增加。
進(jìn)一步觀看圖2,使呼叫處理和設(shè)備處理功能亦即SSP70在該交換機(jī)內(nèi)操作產(chǎn)生IN和AIN結(jié)構(gòu)的其它限制。其結(jié)果,這些功能必須由每一交換機(jī)制造商使用他們的專用軟件提供。因此,網(wǎng)絡(luò)所有者仍然極大依賴于制造商軟件的發(fā)布來支持新功能。為使事情進(jìn)一步復(fù)雜化,網(wǎng)絡(luò)所有者不能在統(tǒng)一的開發(fā)和測試環(huán)境下結(jié)合其它模塊測試SSP70模塊。此外,不能保證打算用于一個交換機(jī)制造商的處理環(huán)境的SSP70與網(wǎng)絡(luò)所有者的服務(wù)建立環(huán)境兼容。
這種多個網(wǎng)絡(luò)所有者對交換機(jī)制造商的一個公共集合的依賴性導(dǎo)致兩種限制競爭的不希望的情形。首先,一個制造商的軟件發(fā)布可能試圖結(jié)合由幾個網(wǎng)絡(luò)所有者請求的改變,從而阻止網(wǎng)絡(luò)所有者使其服務(wù)與由他們的競爭對手提供的服務(wù)分開。這也迫使某些網(wǎng)絡(luò)所有者等待,直到制造商結(jié)合其他網(wǎng)絡(luò)所有者的請求到新發(fā)布中。第二,結(jié)合由一個網(wǎng)絡(luò)所有者請求的功能的交換機(jī)軟件發(fā)布以實現(xiàn)一種新服務(wù)可能不經(jīng)意為其他網(wǎng)絡(luò)所有者訪問。因此,不管IN和AIN結(jié)構(gòu)的意圖,網(wǎng)絡(luò)所有者建立、測試和開發(fā)新服務(wù)仍然因為網(wǎng)絡(luò)所有者不能完全控制或訪問塑造網(wǎng)絡(luò)服務(wù)行為的功能元件而受阻。
在另一種試圖解決這些問題的方案中,一個單獨的交換機(jī)智能和交換機(jī)結(jié)構(gòu)(“SSI/SF“)構(gòu)造(其總體用150(圖1)指示)邏輯上把SSP70從交換系統(tǒng)44分開。現(xiàn)在回過來參考圖1,交換機(jī)智能152包括呼叫處理24和設(shè)備處理功能26,其以相應(yīng)的硬編碼狀態(tài)機(jī)引擎編碼到離散的狀態(tài)表內(nèi),這些狀態(tài)機(jī)引擎用圓圈154和156表示。在交換機(jī)結(jié)構(gòu)功能158和交換機(jī)智能功能152之間的接口可以通過一個通信網(wǎng)絡(luò)擴(kuò)展,使得交換機(jī)結(jié)構(gòu)158和交換機(jī)智能152可以不必在物理上位于一起,通過在同一處理器內(nèi)執(zhí)行,或甚至具有一對一的對應(yīng)。隨之,交換機(jī)智能152提供一個對所有交換機(jī)公共的、簡單的非服務(wù)特定、非制造商特定功能的一致接口。
一個綜合智能計算設(shè)備(“ICC”)160包括服務(wù)處理功能22,其與多個交換機(jī)智能元件52通信。這一方法提供網(wǎng)絡(luò)所有者靈活實現(xiàn)服務(wù)的優(yōu)點,因為除最基本的功能外所有功能都移到制造商特定代碼的范圍之外??梢酝ㄟ^為建立、開發(fā)、測試和執(zhí)行服務(wù)邏輯提供更統(tǒng)一的環(huán)境實現(xiàn)進(jìn)一步的改善。
如前所述,當(dāng)前網(wǎng)絡(luò)交換機(jī)基于整體專用硬件和軟件。雖然網(wǎng)絡(luò)交換機(jī)可能值數(shù)百萬美元,但是這種設(shè)備在從當(dāng)前可用的計算技術(shù)看來其處理速度較慢。例如,這些交換機(jī)基于運(yùn)行在60MHz范圍的精簡指令集計算(“RISC”)處理器,使用諸如X.25數(shù)據(jù)通信協(xié)議與每一其它交換機(jī)通信,X.25協(xié)議通常支持在一個交換網(wǎng)絡(luò)中的各種平臺之間9.6kb/s的傳輸速率。當(dāng)這與包括運(yùn)行在200MHz或更高的處理器的個人計算機(jī)和提供150Mb/s和ATM接口的高端計算機(jī)工作站比較極慢。因此,網(wǎng)絡(luò)所有者需要能夠使用高端工作站來代替專用硬件。
本發(fā)明指向一種服務(wù)控制系統(tǒng),用于提供實時服務(wù)處理在一個資源集合設(shè)備例如交換機(jī)和路由器上接收到的所有事件和服務(wù)請求,這些資源集合設(shè)備物理上與一個智能通信網(wǎng)絡(luò)的多個分布的服務(wù)節(jié)點的每一個關(guān)聯(lián)。
一般來說,本發(fā)明的服務(wù)控制部件在進(jìn)行服務(wù)請求處理時能夠命令智能網(wǎng)絡(luò)資源集合設(shè)備,例如ATM交換機(jī)、因特網(wǎng)網(wǎng)關(guān)、智能外設(shè)、或者其它交換機(jī)或路由器資源,并進(jìn)一步包括為處理這些服務(wù)請求所需要的智能。特別說,嵌入的智能能使服務(wù)控制部件與其它智能網(wǎng)絡(luò)部件交互作用來訪問另外的邏輯部件或獲取為處理一個服務(wù)邏輯事件所需要的信息(服務(wù)或用戶數(shù)據(jù))。服務(wù)控制在實時服務(wù)處理期間連接資源集合設(shè)備和本地數(shù)據(jù)管理系統(tǒng)并與之交互,并具有為處理智能網(wǎng)絡(luò)提供的服務(wù)嘗試所需要的邏輯和處理能力。服務(wù)控制由服務(wù)管理員和智能網(wǎng)絡(luò)的數(shù)據(jù)管理部件管理、更新和操縱。智能網(wǎng)絡(luò)獨立于其內(nèi)接收到呼叫的呼叫交換平臺或資源集合設(shè)備并對其透明地提供智能呼叫處理服務(wù),并容易適應(yīng)處理呼叫事件。這樣,消除了對昂貴的、銷售商特定的硬件、操作系統(tǒng)和交換平臺的依賴。分布的智能網(wǎng)絡(luò)另外支持與位置無關(guān)的事件處理服務(wù)執(zhí)行,允許模塊軟件邏輯程序在結(jié)構(gòu)中任何地方虛擬運(yùn)行,并在這些分布的處理器之間提供與位置無關(guān)的通信,從而進(jìn)一步消除了對專門服務(wù)節(jié)點的需要。
更特別的是,本發(fā)明控制當(dāng)由資源集合設(shè)備給服務(wù)控制部件發(fā)送一個服務(wù)請求時開始的一個或者多個進(jìn)程。服務(wù)控制與其它部件交互作用來訪問提供所請求的服務(wù)必需的數(shù)據(jù)。當(dāng)所請求的服務(wù)行為序列完成或當(dāng)服務(wù)用戶撤回使用該服務(wù)時,該進(jìn)程完成。在服務(wù)代表請求的服務(wù)請求者中涉及的所有資源在處理結(jié)束時釋放。每一服務(wù)請求啟動服務(wù)處理的一個實例(線程),從而提供大量并行處理而很少意外事故或瓶頸。
優(yōu)選每一服務(wù)線程實例維持它自己的事件隊列,同時服務(wù)控制為一個特定呼叫實例對接收到的事件提供異步通道到適當(dāng)?shù)姆?wù)線程隊列來按照與該事件關(guān)聯(lián)的預(yù)先決定的優(yōu)先級為其存儲和執(zhí)行。服務(wù)控制另外給事件提供異步通道到交換機(jī)/資源集合設(shè)備、或其它執(zhí)行服務(wù)邏輯程序,同時該線程實例在其等待響應(yīng)時閉鎖。
根據(jù)本發(fā)明,服務(wù)控制部件的主要責(zé)任包括接收和處理來自一個交換平臺或其它外部資源的事件或請求;識別和調(diào)用服務(wù)邏輯程序以處理到來的請求;從數(shù)據(jù)管理存儲設(shè)備通過網(wǎng)絡(luò)操作系統(tǒng)(NOS)或直接通過一個數(shù)據(jù)庫應(yīng)用程序接口(API)請求服務(wù)或用戶相關(guān)的數(shù)據(jù);通過NOS對數(shù)據(jù)管理部件更新服務(wù)或用戶相關(guān)的數(shù)據(jù);提供給資源集合設(shè)備和其它服務(wù)邏輯程序發(fā)送優(yōu)先的事件和消息以控制用戶交互反應(yīng)的能力;從資源集合設(shè)備接收包括用戶輸入的消息集合,例如相應(yīng)于一個選擇菜單項等的PIN、(雙音調(diào)多頻率)DTMF數(shù)字;維護(hù)在服務(wù)處理的同一實例中包括的所有參加者的狀態(tài)和數(shù)據(jù);和產(chǎn)生帳單記錄并傳輸它們到數(shù)據(jù)管理部件的帳單記錄產(chǎn)生功能。
作為本發(fā)明特征的新穎性的各種特征特別在附在本公開后面并形成本公開一部分的權(quán)利要求中指出。為更好理解本發(fā)明、其操作優(yōu)點,和由其使用得到的特定的目的,必須參考附圖和說明性的事項,其中圖示和說明了本發(fā)明的優(yōu)選的實施例。
本發(fā)明的上述以及其它優(yōu)點通過參考下面的說明并結(jié)合附圖可以更好地理解,附圖中圖1是各種交換結(jié)構(gòu)的邏輯表示;圖2是使用按照現(xiàn)有技術(shù)的一個典型的智能網(wǎng)絡(luò)結(jié)構(gòu)的通信系統(tǒng)的示意圖;圖3是使用智能分布式網(wǎng)絡(luò)結(jié)構(gòu)的通信系統(tǒng)的示意圖;圖4(a)是一個方框圖,表示下一代智能網(wǎng)絡(luò)的SA和DM部件;圖4(b)概念表示服務(wù)操縱部件300的功能;圖4(c)表示數(shù)據(jù)管理部件400的功能結(jié)構(gòu);圖5是使用按照本發(fā)明的智能分布式網(wǎng)絡(luò)結(jié)構(gòu)的通信系統(tǒng)的邏輯和功能示意圖;圖6是一個示意圖,表示在按照本發(fā)明的一個智能呼叫處理器內(nèi)的功能接口的分層;圖7是一個示意圖,表示在按照本發(fā)明的一個智能呼叫處理器內(nèi)的被管理對象的類層次;圖8表示服務(wù)控制環(huán)境430的一個優(yōu)選的結(jié)構(gòu);圖9表示NOS NT和LRN功能子部件的功能結(jié)構(gòu);圖10表示用于智能網(wǎng)絡(luò)的資源管理系統(tǒng)的結(jié)構(gòu);圖11(a)和11(b)表示3層智能網(wǎng)絡(luò)資源管理功能;圖12(a)表示SLEE起動處理;圖12(b)表示服務(wù)管理器處理;圖12(c)表示SLEE類加載器處理;圖12(d)到12(e)表示說明服務(wù)代理功能的流程圖;圖12(f)表示線程管理器處理;圖12(g)表示服務(wù)代理后事件處理;圖13(a)到13(c)表示為執(zhí)行1-800/8xx呼叫處理服務(wù)的示例處理流程;圖14表示一個由IDNA/NGIN服務(wù)的呼叫處理方案。
本發(fā)明是綜合智能網(wǎng)絡(luò)的一個部件,該綜合智能網(wǎng)絡(luò)在這里特稱為智能分布式網(wǎng)絡(luò)結(jié)構(gòu)(“IDNA”)或下一代智能網(wǎng)絡(luò)(“NGIN”)。正如這里說明的,設(shè)計NGIN結(jié)構(gòu)是為在資源集合設(shè)備或交換平臺例如交換機(jī)、路由器、IP結(jié)束地址等處接收到的任何類型的呼叫執(zhí)行智能呼叫處理服務(wù)。IDNA/NGIN優(yōu)選包括多個分布的服務(wù)節(jié)點,每一節(jié)點提供一個執(zhí)行環(huán)境,提供為處理在與該特別服務(wù)節(jié)點物理關(guān)聯(lián)的交換機(jī)或資源集合設(shè)備處接收到的實例中的呼叫必需的呼叫處理功能。NGIN具有高伸縮結(jié)構(gòu),設(shè)計為保證可執(zhí)行服務(wù)對象作為獨立服務(wù)邏輯程序(“SLP”)實施,和為執(zhí)行事件服務(wù)例如1-800電話呼叫、發(fā)送傳真的關(guān)聯(lián)的數(shù)據(jù)可以在服務(wù)節(jié)點處以成本高效的方式調(diào)度和維護(hù)。通過使用遵從CORBA的對象請求代理人技術(shù),該智能網(wǎng)絡(luò)獨立于接收到一個事件或呼叫的事件交換平臺或資源集合設(shè)備并對其透明地支持位置和與平臺無關(guān)的呼叫處理服務(wù)執(zhí)行,并允許高級邏輯程序獨立于該服務(wù)執(zhí)行平臺在網(wǎng)絡(luò)中的任何地方虛擬運(yùn)行。此外,該系統(tǒng)提供在這些分布式處理之間的與位置無關(guān)的通信。
現(xiàn)在參考圖1,智能分布式網(wǎng)絡(luò)結(jié)構(gòu)(“IDNA”)總體用170指示。本發(fā)明集成ICC 160和SSI/SF結(jié)構(gòu)150的交換機(jī)智能152到一個智能呼叫處理器(“ICP”)172中。不像其功能在狀態(tài)表中定義的SSI/SF結(jié)構(gòu)40的IN或AIN,ICP172包括服務(wù)控制功能22、呼叫處理功能24和設(shè)備處理功能26作為在一個面向?qū)ο蟮钠脚_內(nèi)管理的對象,其分別用方框174、176和178指示。ICP172邏輯上與資源集合設(shè)備180分開。
現(xiàn)在參考圖3,說明使用按照本發(fā)明的智能分布式網(wǎng)絡(luò)結(jié)構(gòu)的一個通信系統(tǒng),其總體用200指示。廣域網(wǎng)(“WAN”)202是一個支持應(yīng)用和數(shù)據(jù)在廣闊的地理區(qū)域上分布的系統(tǒng)。傳輸網(wǎng)絡(luò)基于同步光學(xué)網(wǎng)絡(luò)(“SONET”)和連接IDNA節(jié)點204,并允許在這些節(jié)點內(nèi)的應(yīng)用彼此通信。
每一個IDNA節(jié)點包括一個智能呼叫處理器(“ICP”)172和一個資源集合設(shè)備180(圖1)。圖3表示具有一個資源集合設(shè)備A(“RCA”)206和一個資源集合設(shè)備B(“RCB”)208的IDNA節(jié)點204。該ICP可以連接到附屬處理器210,其提供現(xiàn)有支持功能,諸如提供(provisioning)、開帳單和恢復(fù),然而,這些功能可以通過由一個網(wǎng)絡(luò)管理系統(tǒng)(“NMS”)212提供的功能吸收。不過,在該優(yōu)選的實施例中,這些支持功能可以由一個集中的服務(wù)管理(“SA”)系統(tǒng)500提供,該系統(tǒng)500具有數(shù)據(jù)管理(“DM”)部件400,其將在這里參考圖4(a)說明。如在圖3中進(jìn)一步表示,ICP172也可以通過一條具有信令216的直接連接214和承載連接218連接到其它ICP′172、其它網(wǎng)絡(luò)(未示出)、或其它設(shè)備(未示出)。直接連接防止了在連接的設(shè)備之間的延遲并允許這些設(shè)備以它們自己的語言通信。ICP172是IDNA節(jié)點204的“大腦”并優(yōu)選是通用計算機(jī),其可以在具有單存儲器存儲設(shè)備的一個單處理器到一個大型計算機(jī)網(wǎng)絡(luò)中變化,取決于IDNA節(jié)點204的處理需求。優(yōu)選,通用計算機(jī)具有冗余處理、存儲器存儲和連接。
這里,通用計算機(jī)指的是商業(yè)上現(xiàn)成的部件或用其組裝的計算機(jī),其與為電話交換應(yīng)用專門配制和設(shè)計的專用設(shè)備相對。通用計算機(jī)在呼叫網(wǎng)絡(luò)中的集成提供很多優(yōu)點。
通用計算機(jī)的使用給ICP172使用附加硬件擴(kuò)展的能力以滿足增加的處理需求。這些附加包括增加處理功率、數(shù)據(jù)存儲、和通信帶寬的能力。這些附加不需要修改在呼叫網(wǎng)絡(luò)中每一交換機(jī)上的制造商特定的軟件和/或硬件。因此,可以在總體規(guī)模上實現(xiàn)和安裝新服務(wù)和協(xié)議,不需要修改交換網(wǎng)絡(luò)中的單個設(shè)備。通過改變整體交換機(jī)20(圖1)為智能呼叫處理器172,本發(fā)明提供前述優(yōu)點和增加的能力。
在需要更大處理能力的應(yīng)用的場合,多處理允許使用較少貴重的處理器來優(yōu)化呼叫處理的價格/性能比。在其它應(yīng)用中,必須或更成本高效地使用多個具有更高處理速率的大功率機(jī)器,諸如小型機(jī),可能有利。
如上所述,ICP172可以包括一簇運(yùn)行在例如UNIX或Windows NT操作系統(tǒng)下的通用計算機(jī)。例如,在一個大的應(yīng)用中,支持在單一資源集合設(shè)備上直到100,000端口,ICP172可以由16個以對稱多處理器級連的以333MHz運(yùn)行的32位的處理器組成。這些處理情況可以例如分成4個單獨的服務(wù)器,每一個具有4個處理器。單個處理器將與一個系統(tǒng)區(qū)域網(wǎng)絡(luò)(“SAN”)連接或其它級連技術(shù)連接。處理器簇可以共享對獨立磁盤冗余陣列(“RAID”)模塊數(shù)據(jù)存儲設(shè)備的訪問??梢酝ㄟ^增加或去除模塊化的磁盤存儲設(shè)備調(diào)節(jié)共享存儲器。級連中的服務(wù)器優(yōu)選共享對RC180的冗余連接(圖1)。
如所說明的和類似計算機(jī)的“即插即用”特征,ICP軟件結(jié)構(gòu)是一個開放的處理模型,它允許(1)管理軟件;(2)ICP應(yīng)用(3)計算硬件和軟件;(4)資源集合設(shè)備部件;和甚至(5)服務(wù)結(jié)構(gòu)和處理的可互換性。這種類結(jié)構(gòu)由于標(biāo)準(zhǔn)化而減少維護(hù)成本和提供從規(guī)模的經(jīng)濟(jì)性產(chǎn)生的好處。
這樣,本發(fā)明能分割開發(fā)工作和使用模塊化工具,這會導(dǎo)致更快開發(fā)和實現(xiàn)服務(wù)。此外,服務(wù)管理的使用及其相關(guān)方面在按需的基礎(chǔ)上在網(wǎng)絡(luò)操作員的控制內(nèi),其與由固定消息發(fā)送協(xié)議或由給定制造商供應(yīng)的硬件和軟件的特定組合施加的限制相反。
通過使用被管理對象,本發(fā)明還允許服務(wù)和功能靈活地(“在你希望它的地方”)和動態(tài)地(“隨意地”)根據(jù)任何數(shù)目的因素,諸如容量和用途在網(wǎng)絡(luò)內(nèi)分布。因為服務(wù)處理22(圖1)、呼叫處理24(圖1)和設(shè)備處理26(圖1)在一個同種的平臺上操作,因此性能得以改善。另外,本發(fā)明允許監(jiān)視和操縱以前不能訪問的呼叫子元件。本發(fā)明還提供監(jiān)視功能或服務(wù)的使用使得當(dāng)它們過期或未使用時可以將其刪除。
資源集合設(shè)備(“RC”)180(圖1)是提供載體、信令和連接服務(wù)的物理設(shè)備或資源的集合??梢园ㄖ悄芡庠O(shè)88的RC180替換IN或AIN或SSI/SF結(jié)構(gòu)的交換機(jī)結(jié)構(gòu)28和158(圖1)。不像IN或AIN結(jié)構(gòu),諸如RCA206的資源集合設(shè)備的控制處在更低級。此外,RCA206可以包括多于一個交換機(jī)結(jié)構(gòu)158。交換機(jī)結(jié)構(gòu)158或其它用戶接口(未示出)通過標(biāo)準(zhǔn)的電話連接連接眾多用戶和交換網(wǎng)絡(luò)。這些用戶系統(tǒng)可以包括ISDN終端52、傳真機(jī)220、電話54、和PBX系統(tǒng)222。ICP172通過一條高速數(shù)據(jù)通信管線(最小100Mb/秒以太連接)224控制RC180(圖1)、RCA206和RCB208并與之通信。RC180、206和208可以模擬為一個打印機(jī),而ICP172可以模擬為一個個人計算機(jī),其中,個人計算機(jī)使用一個驅(qū)動器以控制該打印機(jī)。在IDNA節(jié)點204中的“驅(qū)動器”是一個資源集合設(shè)備代理(“RCP”)(未示出),其在下面參考圖5說明。這允許制造商使用這一接口提供一個遵從IDNA的節(jié)點而無需重寫他們所有的軟件以結(jié)合IDNA模型。
另外,資源集合設(shè)備180(圖1)、RCA206和RCB208的控制位于比由AIN或IN結(jié)構(gòu)通常提供的較低級。其結(jié)果,資源集合設(shè)備制造商只需提供單一接口以支持設(shè)備和網(wǎng)絡(luò)管理處理;他們不必提供網(wǎng)絡(luò)所有者專門的呼叫和服務(wù)處理。低級接口被抽象到更離散的操作中。具有單一接口允許網(wǎng)絡(luò)所有者根據(jù)價格和性能的決定從眾多的資源集合設(shè)備制造商中選擇。智能加到ICP172,而不是RC180,它使RC180從改變中分離并減少其復(fù)雜性。因為RC180的作用被簡化,更容易實現(xiàn)改變,從而使其較容易遷移到另外可選用的交換和傳輸技術(shù),諸如異步傳輸方式(“ATM”)。
智能外設(shè)(“IP”)88提供處理和執(zhí)行在實際呼叫傳輸路徑內(nèi)包含的信息行動的能力。IP88通常在一個單獨的資源集合設(shè)備諸如RCB208內(nèi),并以和RCA206相似的方式由ICP172控制。IP可以提供使用數(shù)字信號處理(“DSP”)技術(shù)實時處理在實際傳輸路徑內(nèi)的數(shù)據(jù)的能力。
使用網(wǎng)絡(luò)管理系統(tǒng)(“NMS”)212來監(jiān)視和控制在IDNA網(wǎng)絡(luò)200中的硬件和服務(wù)。建議的NMS212實現(xiàn)可以是一個遵從通信管理網(wǎng)絡(luò)(“TMN”)的架構(gòu),其提供在IDNA網(wǎng)絡(luò)200中的部件的管理。更具體說,NMS212控制服務(wù)的開通,維護(hù)這些服務(wù)的正常狀態(tài),提供關(guān)于這些服務(wù)的信息,和為IDNA網(wǎng)絡(luò)200提供網(wǎng)絡(luò)級管理功能。NMS212通過在IDNA節(jié)點204中的代理功能訪問和控制服務(wù)和硬件。在IDNA節(jié)點204中的ICP-NMS代理(未示出)執(zhí)行由NMS212發(fā)布的命令和請求。NMS212可以通過一個標(biāo)準(zhǔn)操作連接226直接監(jiān)視和控制RCA206和RCB208。
如圖3中進(jìn)一步表示,被管理對象生成環(huán)境(“MOCE”)228包括子部件以產(chǎn)生在IDNA網(wǎng)絡(luò)中運(yùn)行的服務(wù)。服務(wù)設(shè)計者使用來產(chǎn)生新服務(wù)的服務(wù)獨立的建立塊和API表示植入MOCE的基本子部件,一個圖形用戶接口(“GUI”)中。MOCE是存在于單一用戶環(huán)境或平臺上的工具的統(tǒng)一集合,另外可稱為服務(wù)建立(“SC”)環(huán)境。它表示在服務(wù)建立處理中需要的操作的集合,諸如包含在被管理對象中的服務(wù)文獻(xiàn)、被管理對象定義、接口定義、協(xié)議定義和數(shù)據(jù)輸入定義,和服務(wù)測試。網(wǎng)絡(luò)所有者只需使用MOCE228開發(fā)服務(wù)一次,因為被管理對象可以應(yīng)用于它的網(wǎng)絡(luò)上的所有節(jié)點。這與網(wǎng)絡(luò)所有者使每一不同的交換機(jī)制造商開發(fā)他們的服務(wù)版本形成對比,后者意味著服務(wù)必須多次開發(fā)。
MOCE228和NMS212通過一個注冊表(repository)230連接在一起。注冊表230包含被管理的對象,后者由NMS212分發(fā)并用于IDNA/NGIN節(jié)點204中。注冊表230還提供在MOCE228和NMS212之間的一個緩沖器。然而,MOCE228可以直接連接到NMS212以執(zhí)行“活的”網(wǎng)絡(luò)測試,其由虛線232指示。
根據(jù)本發(fā)明示于圖4(a)的一個優(yōu)選的實施例,IDNA/NGIN系統(tǒng)包括一個集中的服務(wù)管理(“SA”)部件500,它連同增加的能力既提供存儲器(注冊表)230功能又提供IDNA系統(tǒng)170的類網(wǎng)絡(luò)管理(NMS)212功能。一般說來,示于圖4(a)的SA部件500支持脫機(jī)存儲、命名、分布、激活和去除為該IDNA/NGIN系統(tǒng)的所有服務(wù)和數(shù)據(jù),以及另外提供數(shù)據(jù)管理(“DM”)功能,允許運(yùn)行時對由在IDNA/NGIN服務(wù)節(jié)點中的服務(wù)對象使用的數(shù)據(jù)存儲、復(fù)制、同步、和可用性。
更特別的是,如在圖4(b)中概念性表示,服務(wù)管理部件500是執(zhí)行為管理、存儲、和分布所有服務(wù)和由IDNA服務(wù)處理節(jié)點使用的服務(wù)數(shù)據(jù)并為配置在該系統(tǒng)IDNA/NGIN中實現(xiàn)的硬件和軟件兩者所需要的所有功能。一般說來,如圖4(b)所示,SA部件500負(fù)責(zé)從MOCE(服務(wù)建立)228接收數(shù)據(jù),從命令入口和其它傳統(tǒng)(legency)系統(tǒng)229接收用戶命令數(shù)據(jù)以提供IDNA/NGIN系統(tǒng)為用戶使用;例如在服務(wù)處理期間由MOCE/SCE用戶請求,部署數(shù)據(jù)、服務(wù)獨立的建立塊(“SIBB”)、服務(wù)邏輯程序(“SLP”)和其它服務(wù)邏輯部件503例如給MOCE200;從MOCE228接收完成的和測試的服務(wù)組件、SIBB、SLP或其它服務(wù)邏輯或數(shù)據(jù)部件506;給每一服務(wù)部件提供唯一的名字;和給數(shù)據(jù)管理功能部件600分發(fā)數(shù)據(jù)和每一服務(wù)部件509,其在這里較詳細(xì)說明。另外,如圖4(a)所示,服務(wù)管理300維護(hù)注冊表230,它包括包含所有IDNA服務(wù)和數(shù)據(jù)的記錄的綜合數(shù)據(jù)庫(“DBOR”),從中數(shù)據(jù)管理部件600接收它所有的數(shù)據(jù)。
服務(wù)管理的其它責(zé)任包括激活數(shù)據(jù)和服務(wù)部件512以保證所有數(shù)據(jù)、SIBB和被管理對象或服務(wù)邏輯程序SLP通過數(shù)據(jù)管理部件600為節(jié)點可用;通過將其邏輯名字供給網(wǎng)絡(luò)操作系統(tǒng)(“NOS”)部件700登記數(shù)據(jù)、SLP和SIBB515的名字,下面詳細(xì)說明,用于以其注冊;去激活數(shù)據(jù)和服務(wù)部件518;和從IDNA/NGIN系統(tǒng)通過數(shù)據(jù)管理部件600去除數(shù)據(jù)和服務(wù)部件518。服務(wù)管理在其通過它的命名處理描述之外另外通過維護(hù)每一SIBB的狀態(tài)和服務(wù)(預(yù)測試,后測試,部署等)執(zhí)行配置管理功能。這能保證服務(wù)在該服務(wù)的所有部件未成功測試和配置之前不能部署。
圖4(b)中進(jìn)一步表示,服務(wù)管理部件500另外按照SA接收到的配置信息執(zhí)行配置和提供(provisioning)IDNA/NGIN服務(wù)節(jié)點204。特別是,SA部件500根據(jù)接收到的配置信息決定在每一服務(wù)節(jié)點204上的每一部件的性能,哪一個服務(wù)和數(shù)據(jù)要分配給哪一個節(jié)點,哪一個服務(wù)要在該服務(wù)節(jié)點駐留的服務(wù)器上運(yùn)行,和哪一個數(shù)據(jù)要被高速緩沖存儲到與IDNA/NGIN節(jié)點服務(wù)器關(guān)聯(lián)駐留的本地存儲器中。特別,SA部署在服務(wù)簡檔(配置)文件580中包含的配置規(guī)則到NOS系統(tǒng)700的本地(節(jié)點)資源管理器(“LRM”)部件575為存儲到位于每一服務(wù)節(jié)點處的本地LRM高速緩沖存儲器中。這些配置文件580決定哪一個服務(wù)在某個IDNA節(jié)點上執(zhí)行。LRM首先讀取存儲在該節(jié)點處的本地高速緩沖存儲器中的這一服務(wù)簡檔,并決定一個專門的服務(wù)層執(zhí)行環(huán)境(“SLEE”),例如,一個虛擬機(jī),來根據(jù)在服務(wù)簡檔中的規(guī)則運(yùn)行該服務(wù)和哪些服務(wù)要在SLEE中活動運(yùn)行(作為持續(xù)的對象),或僅在需要時說明。
回過來參考圖4(a),NGIN數(shù)據(jù)管理部件600既在服務(wù)生命周期中也在服務(wù)使用能力中作用。在服務(wù)管理部件維護(hù)記錄的綜合數(shù)據(jù)庫(注冊表)的地方,數(shù)據(jù)管理部件600為每一IDNA/NGIN服務(wù)節(jié)點提供本地數(shù)據(jù)存儲和數(shù)據(jù)管理功能。這包括所有類型的數(shù)據(jù),包括服務(wù)程序和SIBB、用于服務(wù)的數(shù)據(jù)(用戶簡檔,電話號碼等)多媒體文件(諸如為交互聲音應(yīng)答(“IVR”)服務(wù)的音頻文件)等。特別,一個服務(wù)節(jié)點的數(shù)據(jù)管理部件600接收SA綜合DBOR的摘要,包括為由服務(wù)管理指定的本地NGIN服務(wù)節(jié)點執(zhí)行的服務(wù)所需要的所有數(shù)據(jù)。下面相對于圖4(c)詳細(xì)說明它的機(jī)制。
在優(yōu)選的實施例中,SA部件的數(shù)據(jù)管理部件600為每一IDNA/NGIN服務(wù)節(jié)點提供本地數(shù)據(jù)存儲和管理功能。特別,數(shù)據(jù)管理存儲從服務(wù)管理接收到的數(shù)據(jù)到一個或者多個數(shù)據(jù)庫,并通過高速緩沖存儲需要的數(shù)據(jù)到駐留在服務(wù)控制計算機(jī)內(nèi)的存儲器中或在一個并存的數(shù)據(jù)庫服務(wù)器中使得服務(wù)/數(shù)據(jù)可以以最小延遲提供給服務(wù)控制服務(wù),使服務(wù)/數(shù)據(jù)容易為服務(wù)控制環(huán)境使用。更一般說,數(shù)據(jù)管理部件600在從服務(wù)管理接收到或作為服務(wù)處理結(jié)果接收到數(shù)據(jù)的場合執(zhí)行數(shù)據(jù)的實時存儲、復(fù)制、同步和可用性。這些DM功能可以進(jìn)一步歸類為1)數(shù)據(jù)倉儲功能;2)數(shù)據(jù)操縱功能;3)數(shù)據(jù)使用功能;4)帳單記錄產(chǎn)生功能。
現(xiàn)在參考圖5,說明使用根據(jù)本發(fā)明的一個智能分布式網(wǎng)絡(luò)結(jié)構(gòu)200的通信系統(tǒng)的邏輯和功能示意圖。所示ICP172包括一個ICP-NMS代理240和一個SLEE242,它依次容納從被管理對象基類244導(dǎo)出的多種被管理對象246、248、250和252。
一般說來,被管理對象是軟件功能包的一個方法,其中,每一被管理對象提供功能和管理兩種接口,以實現(xiàn)被管理對象的功能。管理接口控制對誰的訪問和什么可以訪問被管理對象的功能。在本發(fā)明中,由IDNA/NGIN節(jié)點204運(yùn)行的所有電話應(yīng)用軟件,除了基礎(chǔ)設(shè)施軟件,都作為被管理對象和支持庫實現(xiàn)。這提供統(tǒng)一的接口和實現(xiàn)來控制和管理IDNA節(jié)點軟件。
連接、選取路由、和終止由節(jié)點處理的載波通信量的網(wǎng)絡(luò)單元的集合將集中稱為資源集合設(shè)備180。在SLEE上運(yùn)行的服務(wù)處理應(yīng)用使用資源代理(“RCP”)244,作為對RC180的控制接口。RCP244可以比做一個設(shè)備驅(qū)動器,它使來自SLEE中的對象的獨立于設(shè)備的命令適應(yīng)要由RC180執(zhí)行的設(shè)備特定的命令。RCP244可以說明為一個實現(xiàn)在該RCP224中的資源的銷售商之間公共的基本命令的接口。RCP244可以如所示一個或者多個運(yùn)行在IDNA節(jié)點204上的被管理的對象實現(xiàn)。另外可選的方案是,可以作為RC180的一部分提供這一功能。NMS212、注冊表230和MOCE228與圖3-5(a)的討論中的那些元件的說明一致。
注意,操作鏈路26直接連接NMS212到RC180。這相應(yīng)于網(wǎng)絡(luò)管理系統(tǒng)監(jiān)視網(wǎng)絡(luò)硬件運(yùn)行狀態(tài)的更傳統(tǒng)的作用。這可以獨立于IDNA結(jié)構(gòu)完成(例如,通過使用著名的TMN方法)。另外,RC180可以連接到其它資源集合設(shè)備254。還表示出一個直接的信令連接214進(jìn)入ICP172,使得信令216,諸如SS7,可以直接進(jìn)入呼叫處理環(huán)境。通過在網(wǎng)絡(luò)外設(shè)截取信令,SS7消息可以直接到ICP172,不通過RC180。這通過縮短路徑減少了延遲和改善了結(jié)實性。一條伴隨的載體線218連接到RC180。
圖6表示在ICP172中功能接口的層次。MOCE228是一個產(chǎn)生被管理對象軟件及其從屬物的系統(tǒng)。NMS212通過接口在ICP172內(nèi)提供的代理功能,稱為ICP-NMS代理240,控制ICP172的執(zhí)行。NMS212控制在ICP172上的本地操作系統(tǒng)(“LOS”)260的運(yùn)行。NMS212控制ICP172的運(yùn)行,包括啟動和終止處理;詢問處理表的內(nèi)容和處理的狀態(tài);配置操作系統(tǒng)參數(shù);和監(jiān)視容納ICP712的通用計算機(jī)系統(tǒng)的性能。
NMS212還控制廣域網(wǎng)操作系統(tǒng)(“WANOS”)262的運(yùn)行。NMS212通過它對LOS260的控制和通過由NMS SLEE控制提供的任何其它接口控制WANOS支持處理的運(yùn)行的初始化和WANOS庫配置。NMS212控制運(yùn)行在ICP172上的一個或者多個SLEE242的實例化和運(yùn)行。LOS260是一個用于操作通用計算機(jī)系統(tǒng)的商業(yè)現(xiàn)成的操作系統(tǒng)。WANOS262是一個商業(yè)現(xiàn)成的中間件軟件包(例如一個對象請求代理程序),其便利在計算節(jié)點之間的無縫通信。SLEE242負(fù)責(zé)被管理對象244的執(zhí)行,這些被管理對象是實現(xiàn)服務(wù)處理結(jié)構(gòu)的軟件實例。SLEE242通過ICP-NMS代理240實現(xiàn)控制被管理對象244執(zhí)行的手段。這樣,SLEE242是這樣一種軟件處理,它能夠部署和清除被管理對象軟件、說明和毀壞被管理對象實例、支持被管理對象的交互反應(yīng)和與被管理對象合作、管理對本機(jī)庫264的訪問、和在實現(xiàn)所需要的控制中與NMS-ICP代理240接口。
本機(jī)庫264是這樣一種庫,將其編碼使僅依賴于LOS260或者WANOS262和本地通用計算機(jī)執(zhí)行(例如編譯的C程序庫)。它們主要用于補(bǔ)充由SLEE242提供的本地功能。
SLEE庫266是編碼在SLEE242內(nèi)執(zhí)行的庫。它們可以訪問由SLEE242提供的功能和本機(jī)庫264。被管理對象244是由SLEE242加載和執(zhí)行的軟件。它們可以訪問由SLEE242提供的功能和SLEE庫266(和可能本機(jī)庫264)。
ICP-NMS代理240給NMS212提供控制ICP172的運(yùn)行的能力。ICP-NMS代理240實現(xiàn)控制LOS260的運(yùn)行和配置、WANOS262的允許和配置、和SLEE242的說明和運(yùn)行的能力。建議的服務(wù)處理結(jié)構(gòu)以增加的抽象的層操作。然而,從SLEE242看來,只有兩層被管理對象層,它是在NMS212的控制下相互作用的對象層(軟件實例);和庫層254或266,它是給被管理對象242或SLEE242自身的運(yùn)行提供補(bǔ)充功能的軟件層(要么對SLEE242是本機(jī)的,或者LOS260)。然而,可以預(yù)期在某些點,NMS212可以放棄對被管理對象實例的精確位置控制。例如,可以允許被管理對象實例根據(jù)一種或者多種算法或事件,諸如響應(yīng)一個命令,從一個節(jié)點遷移到另一節(jié)點。
應(yīng)該理解,集中說,LOS和WANOS功能可以表示為網(wǎng)絡(luò)操作系統(tǒng)或“NOS”,如圖6所示,其功能為在IDNA/NGIN系統(tǒng)部件之間提供與平臺無關(guān)的和與位置無關(guān)的連接性。也就是說,NOS包括一組網(wǎng)絡(luò)范圍的服務(wù),這些服務(wù)提供在其它IDNA/NGIN功能部件和子部件之間的處理接口和通信。在由NOS提供的服務(wù)中間,有對象連接性、邏輯名轉(zhuǎn)換、處理間通信、和本地和系統(tǒng)范圍內(nèi)的資源管理(“RM”)。例如,如圖4(a)所示,NOS部件700提供本地(NODE RM)和系統(tǒng)范圍內(nèi)的資源管理(SYS RM)功能。特別,NOS部件包容來自需要服務(wù)和數(shù)據(jù)的處理的任何服務(wù)的位置,以便一個處理只需要調(diào)用單一邏輯名。然后NOS部件決定使用哪一個服務(wù)實例,和給該實例提供連接。NOS700部分允許IDNA/NGIN廣泛分布的性質(zhì)以及IDNA/NGIN的與平臺無關(guān)性。例如,前述邏輯程序使用NOS部件700來調(diào)用其它邏輯程序,并因此可以調(diào)用其它運(yùn)行在同一服務(wù)節(jié)點或遠(yuǎn)程服務(wù)節(jié)點上的不同的SLEE上運(yùn)行的邏輯程序。特別,通過SA500,可以指定一個服務(wù)節(jié)點只執(zhí)行一定的服務(wù)。當(dāng)?shù)竭_(dá)交換機(jī)的一個呼叫具有一個相關(guān)的服務(wù)節(jié)點204,對該節(jié)點不能執(zhí)行所需要的服務(wù)時,例如參加一個會議橋(conferencebridge),IDNA可以需要引導(dǎo)該呼叫到另一個配置為能提供這種服務(wù)的節(jié)點。優(yōu)選,IDNA通過NOS部件700在另一遠(yuǎn)程服務(wù)節(jié)點調(diào)用需要的服務(wù),執(zhí)行呼叫處理,和響應(yīng)在原來節(jié)點處的交換機(jī)提供服務(wù)。
現(xiàn)在參考圖7,說明按照本發(fā)明的被管理對象的類結(jié)構(gòu)。抽象基類被管理對象244包括公共的功能和虛擬功能以保證所有導(dǎo)出的類可以恰當(dāng)?shù)刈鳛樵赟LEE242中的對象支持。具體說,表示出4種不同的子類,服務(wù)控制類252、呼叫控制類250、載體控制類248、和資源代理類246。
服務(wù)控制類252是為所有服務(wù)功能對象的基類。對話管理器類280包容與該對話有關(guān)的信息和活動。一次對話可以包括一次或多次呼叫或?qū)W(wǎng)絡(luò)功能的其它調(diào)用。對話管理器類280為每次對話提供一個唯一的標(biāo)識符。如果呼叫處理以節(jié)點方式發(fā)生,則必須校對帳單信息。為每一呼叫的一個唯一的標(biāo)識符使校對容易,代替需要代價很高的相關(guān)處理。在服務(wù)處理中,協(xié)議由連續(xù)抽象層返轉(zhuǎn)。最終,協(xié)議被足夠抽象以保證對話管理器的分配/實例化(例如在SS7中,IAM消息的接收將保證具有對話管理)。
載體能力類282改變在載體上的服務(wù)的質(zhì)量。服務(wù)控制類252能改變一個呼叫的服務(wù)質(zhì)量(“QoS”)或者甚至改變載體能力,諸如從56千位/秒移動到更高速率,然后返回。QoS由連接管理器類302管理。例如,半速率子類284使一個呼叫的QoS降級到4 KHz的采樣速率,而不是通常的8KHz采樣速率。立體聲子類286可以允許用戶在一個呼叫中形成兩個連接以支持左通道和右通道。
服務(wù)仲裁類288把調(diào)停服務(wù)沖突和服務(wù)交互反應(yīng)編成典律。這是需要的,因為服務(wù)控制類252可以沖突,特別在啟動和終止服務(wù)時。由于許多實際的理由,不希望在每一服務(wù)控制類252中編碼知道如何解決與服務(wù)控制類252每一其它類型的沖突。而代之以,當(dāng)出現(xiàn)一個沖突時,把對沖突的服務(wù)的參考和它們暫停的請求傳送給服務(wù)仲裁類288。然后服務(wù)仲裁類288可以決定適當(dāng)?shù)膭幼鬟^程,或許考慮本地文本、配置數(shù)據(jù)和對沖突的服務(wù)對象隨后的詢問。具有服務(wù)仲裁類288允許明顯地記載和編碼與硬編碼或隱式機(jī)構(gòu)相對的沖突解決算法。此外,當(dāng)更新或增加一個服務(wù)時,不必更新現(xiàn)有服務(wù)來考慮任何沖突改變,其可能需要改變在一個單一服務(wù)中的多種關(guān)系。
特征類209實現(xiàn)與電話關(guān)聯(lián)的能力的標(biāo)準(zhǔn)集合(例如3路呼叫,呼叫等待)。這樣的一種能力可以是越權(quán)292,它能使始發(fā)端斷開一個現(xiàn)有的連接以便到達(dá)打算的接收者。另一個公共的能力可以包括一個呼叫閉鎖294,從而可以根據(jù)關(guān)于始發(fā)的一組判據(jù)拒絕始發(fā)提供者。
使用服務(wù)區(qū)分類296在呼叫處理期間有選擇的調(diào)用其它服務(wù),它并被作為服務(wù)自身細(xì)分。服務(wù)區(qū)分類296提供靈活的、對環(huán)境敏感的服務(wù)激活并避免需要在每一服務(wù)對象內(nèi)具有固定的代碼來決定何時激活該服務(wù)。激活順序從服務(wù)自身分開。例如,用戶A和用戶B訪問同一組特征。用戶A選擇使用一個特定組的信號有選擇地調(diào)用一個或者多個他的服務(wù)。用戶B喜歡使用不同組信號來激活他的服務(wù)。這些用戶之間的僅有的差別是它們激活他們的服務(wù)的方式。于是,希望從服務(wù)自身分開選擇處理。有兩種可用的解決方案。對于用戶A和B的服務(wù)選擇處理可以在單獨的服務(wù)區(qū)分類296中編碼,或者一個服務(wù)區(qū)分類296可以使用每個用戶的一個簡檔來指示適當(dāng)?shù)男畔?。這可以推廣應(yīng)用到更多其服務(wù)組解體的用戶。此外,服務(wù)區(qū)分類296的使用可以根據(jù)一個給定呼叫的上下文或進(jìn)展改變對服務(wù)訪問的映射。這一類的實現(xiàn)允許各種呼叫參加者使用可能不同的激活輸入激活不同的服務(wù)。在現(xiàn)有技術(shù)中,所有交換機(jī)銷售商交付不靈活的服務(wù)選擇方案,它阻礙了這一能力。
與介質(zhì)無關(guān)的服務(wù)類298是服務(wù)控制類252的一種類型,諸如存儲和轉(zhuǎn)移300、廣播、重定向、預(yù)先占有、QoS、和多方連接,其可以應(yīng)用于不同的介質(zhì)類型,包括聲音、傳真、電子郵件、和其它。如果一個服務(wù)控制類252被開發(fā),其可以被應(yīng)用到每一介質(zhì)類型,然后該服務(wù)控制類252可以被破碎到可重用服務(wù)控制類252中。如果該服務(wù)控制類252被破碎到依賴介質(zhì)的功能和與介質(zhì)無關(guān)的功能中(亦即一種與介質(zhì)無關(guān)的SC,其實現(xiàn)一種服務(wù)和一組依賴介質(zhì)的返轉(zhuǎn)器SC-每一介質(zhì)類型一個)。作為從與介質(zhì)無關(guān)的類298導(dǎo)出,存儲和轉(zhuǎn)移類300提供一般能力以存儲消息或某些介質(zhì)類型的數(shù)據(jù)流,和然后根據(jù)某些事件在后來交付它的能力。重定向提供根據(jù)指定的條件從一個邏輯地址移動一個連接到另一邏輯地址的能力。這一概念是呼叫轉(zhuǎn)移(所有類型)、ACD/UCD、WATS(1-800個服務(wù))、找到我/跟隨我和移動漫游等的基礎(chǔ)。預(yù)先占有,無論是協(xié)商的還是其它,包括諸如呼叫等待、優(yōu)先級預(yù)先占有等服務(wù)。QoS調(diào)制的連接實現(xiàn)在包網(wǎng)絡(luò)上實現(xiàn)另外的服務(wù),諸如話音/傳真、流式視頻和文件傳輸。多方連接包括3路和N路視頻會議等。雖然用戶控制和輸入主要使用電話上的鍵實現(xiàn),但是可以期望使用話音識別用于將來的用戶控制和輸入。
連接管理器類302負(fù)責(zé)協(xié)調(diào)和仲裁在一個呼叫中涉及的各種載體控制248的連接。這樣,管理在多個呼叫中的各方之間連接性的復(fù)雜性被包容并從所有其它服務(wù)中去除。服務(wù)和呼叫處理從該連接去耦合。這打破了作為一對多映射呼叫到連接的范式。現(xiàn)在映射呼叫到呼叫是多對多。
在一個結(jié)構(gòu)內(nèi)的連接管理器類302設(shè)計為以單獨操作或作為等同物合作。在運(yùn)行中,服務(wù)控制類252給連接管理器類302提交增加、修改和清除呼叫段的請求。實現(xiàn)這些改變是連接管理器類302的責(zé)任。注意因為連接可以被認(rèn)為要么作為資源進(jìn)入,要么作為貢獻(xiàn)資源,所以連接管理器類302可以作為代理或者基本資源管理功能的一個方面實現(xiàn)。
呼叫控制類250實現(xiàn)基本呼叫處理,諸如通用于電話的基本有窮態(tài)機(jī),和指定呼叫處理如何發(fā)生。有兩類可以按照始發(fā)端(放置一個呼叫)304和終止端(接收一個呼叫)306的功能劃分導(dǎo)出。
指導(dǎo)載體控制類248通過資源代理246改變到資源集合設(shè)備180或從其來的特定的信號和事件為可以由呼叫控制對象250理解的普通信號和事件。從該類導(dǎo)出的一個對象的一個期望的作用是收集關(guān)于一個呼叫的始發(fā)端的信息,諸如用戶線號碼、服務(wù)類別、訪問類型等。子類可以根據(jù)與信令相關(guān)的電路或通道號碼區(qū)分。這些可以包括一個與信道相關(guān)的類308,它施加在在一個ISDN基本接口310中的每23個載體通道中的單一信令信道。一個信道單一類312由一個模擬電話314代表,其使用撥號來控制單一電路,和信道公共類316,其由SS7信令318表示,完全從載體信道分開。
資源代理類246用于接口執(zhí)行環(huán)境到真實世界交換機(jī)和載體網(wǎng)絡(luò)中的其它元件。在這一級實現(xiàn)的和由所有下行的類繼承的內(nèi)部狀態(tài)的例子是在服務(wù)中和不在服務(wù)中和不使用。期待的導(dǎo)出類是電話320(為標(biāo)準(zhǔn)2500組的標(biāo)準(zhǔn)代理)、聲音響應(yīng)單元(“VRU”)322(為聲音響應(yīng)單元的標(biāo)準(zhǔn)代理)、IMT中繼線連接324(為數(shù)字中繼線(I1/E1)電路的標(biāo)準(zhǔn)代理)、和調(diào)制解調(diào)器連接326(為數(shù)字調(diào)制解調(diào)器的標(biāo)準(zhǔn)代理),相應(yīng)于資源集合設(shè)備180內(nèi)的特定資源類型。現(xiàn)在參考圖10說明服務(wù)控制部件可以服務(wù)于到來的服務(wù)請求的一種優(yōu)選的方式,該圖特別表示服務(wù)控制環(huán)境430的另一個實施例,其具有在一個服務(wù)控制服務(wù)器例如通用計算機(jī)440的操作系統(tǒng)內(nèi)執(zhí)行的SLEE應(yīng)用450、450′。
如圖8所示,SLEE450是一個JavaTM“虛擬機(jī)”,設(shè)計用來執(zhí)行至少5類在執(zhí)行呼叫處理服務(wù)和其它支持服務(wù)中實現(xiàn)的邏輯程序(對象)1)特征區(qū)分器邏輯程序(“FD”)510,它們是服務(wù)控制類/服務(wù)區(qū)分器類296(圖7)的功能子部件,其首先從交換平臺接收服務(wù)請求,根據(jù)某些可用的準(zhǔn)則例如一個呼叫撥的號碼決定哪一種服務(wù)執(zhí)行該呼叫,和然后調(diào)用合適的服務(wù)邏輯程序處理該呼叫;2)服務(wù)邏輯程序(“SLP”)對象520,它們是服務(wù)控制類252(圖7)的功能子部件,其執(zhí)行為接收到的服務(wù)請求或事件的服務(wù)處理;3)線路邏輯程序(“LLP”)對象530,它們是呼叫控制類250(圖7)的功能子部件,用于維護(hù)一條網(wǎng)絡(luò)訪問線路的當(dāng)前狀態(tài);4)事件邏輯程序(“ELP”)對象540,它們是服務(wù)控制/對話管理器類260(圖7)的功能子部件,所有其它邏輯程序都對其寫事件;5)呼叫邏輯程序(“CLP”)對象545,它們是服務(wù)控制/連接管理器類302(圖7)的功能子部件,它通過為在一次呼叫處理中涉及的所有其它邏輯程序提供一個連接點來維護(hù)一個完整呼叫的狀態(tài)。這些邏輯程序的每一個都作為一個軟件對象體現(xiàn),優(yōu)選以JavaTM編程語言書寫,它既可以臨時以實例化,也可以是持續(xù)的,后面會說明。這樣設(shè)計IDNA/NHIN服務(wù)控制結(jié)構(gòu),使得這些對象只在MOCE/SCE中寫一次,而可以部署在該網(wǎng)絡(luò)中任何地方的任何類型的計算機(jī)上和任何類型的操作系統(tǒng)上的SLEE。
一個極大的特殊性是FD510是一個靜態(tài)子部件,它1)首先從資源集合設(shè)備例如交換機(jī)接收一個服務(wù)請求,當(dāng)交換機(jī)識別到該服務(wù)要由IDNA/NMIN處理時;2)分析與該服務(wù)請求關(guān)聯(lián)的信息;3)決定哪一個SLP能夠處理該服務(wù)請求。優(yōu)選,該FD可以是系統(tǒng)進(jìn)程或一個為接收從資源集合設(shè)備提供的數(shù)據(jù)的用實例化的對象,包括但不限于,被呼叫號碼、呼叫號碼、始發(fā)交換機(jī)ID、始發(fā)中繼線組、始發(fā)線路信息、和網(wǎng)絡(luò)呼叫ID。通過NOS,F(xiàn)D510啟動適當(dāng)?shù)腟LP、CLP和始發(fā)LLP的實例化以處理呼叫。優(yōu)選,F(xiàn)D510是持續(xù)對象,不綁定在一個特定的呼叫或事件上,并一直在服務(wù)控制SLEE450內(nèi)活動運(yùn)行。依賴于所執(zhí)行的分析的復(fù)雜性和對FD的請求的大小,可以由FD的一個或者多個實例在服務(wù)控制SLEE450內(nèi)活動地運(yùn)行,以便共享負(fù)載和保證實時效率。例如,可以使用一個FD來分析接收到的SS7消息數(shù)據(jù),同時可以使用另一個FD來分析ATM消息數(shù)據(jù)。
線路邏輯程序(LLP)530是一個功能子部件,它1)維護(hù)一個網(wǎng)絡(luò)訪問點、連接、或線路的當(dāng)前狀態(tài);2)為與該物理點、連接、或線路關(guān)聯(lián)的特征查詢數(shù)據(jù)管理;和3)應(yīng)用這些特征,諸如在呼叫場合命令時的呼叫中斷、呼叫等待、呼叫轉(zhuǎn)移、和溢出路由選擇。有一個與啟動一個呼叫的一條線路關(guān)聯(lián)的LLP,以下稱為“LLPO”,和與一個點、連接、或線路關(guān)聯(lián)的一個呼叫對它結(jié)束的LLP,以下稱“LLPT”。一旦一個線路邏輯程序?qū)嵗粚崿F(xiàn),則它在交換機(jī)結(jié)構(gòu)中注冊。下面會說明,線路邏輯程序530給服務(wù)處理的同一實例的ELP子部件發(fā)送所有事件數(shù)據(jù)。
動態(tài)子部件是根據(jù)服務(wù)處理的不同階段動態(tài)構(gòu)造的部件,它們在服務(wù)處理的實例完成時拆除,包括事件邏輯程序(ELP);呼叫邏輯程序(CLP);和服務(wù)邏輯程序(SLP)。
事件邏輯程序(ELP)540是用于保持在服務(wù)處理期間產(chǎn)生的實時事件數(shù)據(jù)和記錄在服務(wù)執(zhí)行期間發(fā)生的所有事件數(shù)據(jù)的功能子部件。事件邏輯程序優(yōu)選當(dāng)首先接收到一個事件時由在交換機(jī)處的呼叫控制處理實例化。當(dāng)交換機(jī)給NGIN發(fā)送一個服務(wù)請求時,它通過ELP的地址,使得事件數(shù)據(jù)可以發(fā)送到與該呼叫綁定的這一邏輯程序。事件邏輯程序?qū)υ诜?wù)處理的同一實例內(nèi)的所有功能子部件是可訪問的,亦即與該呼叫有關(guān)的CLP、LLP和SLP。當(dāng)每一服務(wù)處理部件在執(zhí)行該服務(wù)期間中處理該呼叫時,它通過NOS根據(jù)預(yù)先建立的規(guī)則把事件數(shù)據(jù)寫到ELP。當(dāng)一個呼叫完成時,ELP中的事件數(shù)據(jù)被寫到一個數(shù)據(jù)存儲器或記錄文件中,然后從這里編輯這些事件數(shù)據(jù)為帳單記錄并向下游系統(tǒng)發(fā)送用于產(chǎn)生帳單、話務(wù)量/用途報告、和其它辦公室支持功能。特別是,ELP執(zhí)行功能1)收集由一個特定呼叫產(chǎn)生的網(wǎng)絡(luò)事件;2)格式化該事件為何時的呼叫歷史記錄,例如呼叫詳細(xì)記錄(“CDR”)、帳單數(shù)據(jù)記錄(“BDR”)、交換機(jī)事件記錄等;3)為將來傳輸給下游系統(tǒng)例如用于用戶記賬而例如在數(shù)據(jù)管理中驗證、檢驗和存儲信息。應(yīng)該理解,決定哪一事件被寫入ELP的規(guī)則在服務(wù)產(chǎn)生時建立。事件數(shù)據(jù)另外可由偽管理和網(wǎng)絡(luò)管理系統(tǒng)訪問。
呼叫邏輯程序(CLP)545是維護(hù)在服務(wù)處理中涉及的每一SLP的狀態(tài)并提供在所有服務(wù)(LP)之中處理接口的功能子部件。在一個實施例中,當(dāng)為一個呼叫首先接收到一個事件服務(wù)請求時由FD實現(xiàn)一個CLP實例,或可以由位于該交換機(jī)處的一個呼叫控制部件實例化。另外可選的方案為,CLP545可以根據(jù)編程到SLP中的觸發(fā)點由一個SLP510在服務(wù)處理期間的某一點實例化;以這種方式,一個CLP的實例化對一個服務(wù)來說可以是特定的。呼叫邏輯程序在實例化時接收服務(wù)處理的同一實例內(nèi)的所有功能子部件的地址,亦即SLP、LLP和ELP。該ELP然后關(guān)聯(lián)SLP、LLPO、LLPT、和為該呼叫的ELP,并可由該服務(wù)處理的同一實例內(nèi)的所有這些子部件訪問。也就是說,呼叫邏輯程序是為在服務(wù)處理的同一實例中涉及的SLP和LLP之間的通信的連接點。當(dāng)一個呼叫完成時,CLP通知服務(wù)處理的同一實例內(nèi)的所有子部件呼叫完成,這將啟動該邏輯程序的拆卸處理。
服務(wù)邏輯程序(SLP)520是提供為執(zhí)行一個服務(wù)所需要的邏輯的動態(tài)子部件。SLP與服務(wù)而不是與呼叫綁定,并為呼叫執(zhí)行服務(wù)和其中包含的特征。SLP為一個服務(wù)可以應(yīng)用的特征例如包括呼叫路由選擇算法和IVR服務(wù)。SLP可以是為經(jīng)常使用的服務(wù)的一個持續(xù)對象,或者可以為不經(jīng)常使用的服務(wù)當(dāng)由FD需要時實例化或在呼叫完成時終止。某個一定的SLP是在所有時間還是在一定時間或者僅在需要時激活由為該服務(wù)的服務(wù)管理產(chǎn)生的配置文件580決定,如圖11所示。優(yōu)選,SLP訪問服務(wù)處理的同一實例內(nèi)的CLP和ELP子部件。
并非所有的SLP都與一個特定的呼叫服務(wù)相關(guān),某些SLP可為由其它SLP需要的或者調(diào)用的進(jìn)程使用。這樣,例如,一個用于800服務(wù)的SLP可以需要調(diào)用一個SLP為線路信息數(shù)據(jù)庫查詢以完成其為呼叫路由變換的任務(wù)。一個SLP也可以把為一個呼叫的呼叫處理控制傳給另一個SLP。優(yōu)選只有一個控制SLP每次為服務(wù)處理的一個單一實例執(zhí)行。任何作為由該SLP執(zhí)行的服務(wù)任務(wù)的一部分產(chǎn)生的事件數(shù)據(jù)都發(fā)送到在服務(wù)處理的同一實例內(nèi)的ELP部件540。
一個SLP可能不能在一個操作系統(tǒng)內(nèi)直接執(zhí)行,因為它不包含為一個操作系統(tǒng)執(zhí)行的所有信息。此外,如果該SLP需要被在不同的操作系統(tǒng)中執(zhí)行而不改變格式和內(nèi)容的話,則提供在該SLP和操作系統(tǒng)之間的NOS中間件以維護(hù)該SLP在操作系統(tǒng)上的一致性。
如圖8進(jìn)一步所示,在SLEE 450內(nèi)為支持和操作功能執(zhí)行的其它處理包括服務(wù)管理(“SM”)對象554,其負(fù)責(zé)加載、激活、去激活和清除在SLEE中運(yùn)行的服務(wù),和另外監(jiān)視在其SLEE內(nèi)運(yùn)行的所有其它服務(wù),并給NOS報告狀態(tài)和使用數(shù)據(jù);一個NOS客戶處理558,它是一個NOS類庫,其用于接口NOS服務(wù),并由在該SLEE內(nèi)運(yùn)行的所有服務(wù)使用以調(diào)用NOS服務(wù),亦即是對NOS的門關(guān);線程管理器(“TM”)557,它提供為NGIN服務(wù)需要的功能以并發(fā)執(zhí)行而不綁定所有SLEE資源;和數(shù)據(jù)管理API(“DM API”)410,其用于與本地高速緩沖存儲器415和DM400的高速緩沖存儲器管理器部件接口,它在這里參考圖4(c)說明。
圖8所示的在SLEE中加載的另一個服務(wù)實例包括一個服務(wù)代理(“Sag”)實例559和一個與其關(guān)聯(lián)的線程管理器實例557,其用于在服務(wù)節(jié)點處的服務(wù)激活,下面將詳細(xì)說明。
圖12(a)說明提供到SLEE處理的主入口點的(SLEE.Java)處理步驟。如圖12(a)所示,步驟602假定一個DM系統(tǒng)部件可用,NOS站點定位器系統(tǒng)包括一個NOS客戶處理558和NOS主處理560(圖11),后者提供一個NOS類庫,該庫用于與NOS服務(wù)接口并由運(yùn)行在該SLEE內(nèi)的所有服務(wù)使用以調(diào)用NOS服務(wù),該NOS站點定位器系統(tǒng)可用于接收邏輯名和對象引用登記,以及服務(wù)控制服務(wù)器操作系統(tǒng),例如WindowsNT,UNIX,PC,等,可以啟動SLEE處理,例如通過識別一個引導(dǎo)程序調(diào)用,諸如main()或fork()。應(yīng)該理解,NOS主部件560(圖8)直接與計算機(jī)的操作系統(tǒng)、NOS客戶處理558,和其它系統(tǒng)部件571接口。優(yōu)選,有一個位于網(wǎng)絡(luò)或一個本地節(jié)點上的NOS主處理560,它與每一SLEE上的NOS客戶對象558接口,并包括為提供NOS服務(wù)所有的NOS類庫。接著,在步驟604,輸入服務(wù)控制配置文件并分析該文件以建立一個配置對象,它可以包括一個包含鍵字值對的散列表,如步驟606指示。SLEE接受兩個參數(shù)一個名字和一個配置文件。名字參數(shù)是唯一的NGIN名字串,其由NOS定位器服務(wù)使用用來識別SLEE的這一實例,亦即由SLEE使用使自身與NGIN定位器服務(wù)注冊(步驟612),以及由定位器服務(wù)使用配置文件來尋找它的網(wǎng)址定位器。例如,該表可以用于尋找SLEE配置特性。當(dāng)NOS實現(xiàn)CORBA時,接著在步驟608初始化基本CORBA功能。接著,在步驟610,實現(xiàn)一個SLEE類加載器實例并在該SLEE內(nèi)實現(xiàn)一個NOS定位器代理服務(wù)實例,其在步驟612指示。接著,如在步驟615指示,服務(wù)管理器(SM)類通過類加載器加載、實例化、并與本地代理NOS定位器服務(wù)對象綁定。應(yīng)該理解,本地定位器服務(wù)傳送服務(wù)管理器限制給在NGIN域內(nèi)的其它定位器服務(wù)。在下面參考圖12(b)時會說明,在服務(wù)管理器對象向定位器服務(wù)注冊后,能夠給/從SLEE處理為加載、激活、去激活和清除服務(wù)的服務(wù)管理請求。最后,如在步驟618指示,執(zhí)行處理事件循環(huán)的SLEE線程,該線程保持SLEE運(yùn)行和在NOS事件通過服務(wù)管理器(“SM”)或服務(wù)代理(“Sag“)對象到來時允許SLEE處理NOS事件,下面詳細(xì)說明這點。
圖12(b)表示由服務(wù)管理器對象實例554(圖8)執(zhí)行的(ServiceManagerImpl.Java)處理步驟,該實例在上面參考圖12(a)的步驟615討論時實現(xiàn)。優(yōu)選,SM對象實現(xiàn)一個為代表NOS執(zhí)行服務(wù)管理操作的ORB接口。該處理表示由SM實例為加載、激活、去激活、運(yùn)行和結(jié)束SLEE內(nèi)的服務(wù)所采取的步驟,例如通過(1oad),(run),(start)和(stop)方法。由NOS傳送給該SM對象實例的參數(shù)包括希望的服務(wù)的邏輯參考和指示NOS是否應(yīng)該用NGIN本地資源管理器(LRM)站點定位器注冊該服務(wù)或該服務(wù)是否負(fù)責(zé)向NOS注冊自身的布爾標(biāo)志。如在步驟620指示,首先接收到加載服務(wù)的請求,然后在步驟622交由代理命名服務(wù)處理。然后,在步驟624,對所請求的服務(wù)例如1-800收集(“18C”)決定是否已加載,也就是說,是否實現(xiàn)體現(xiàn)所請求的服務(wù)的對象實例。如果為所請求的服務(wù)的對象已經(jīng)實例化,則NOS在步驟626將把該服務(wù)的對象引用返回以定位物理對象實例,處理返回到步驟632。如果為所請求的服務(wù)的服務(wù)對象例如18C尚未實例化,則在步驟625實現(xiàn)Classloader類實例化,其實現(xiàn)遞歸加載以加載所請求的服務(wù)依賴的所有類,包括其它SLP和SIBB。遞歸加載例如可以通過參考本地高速緩沖存儲器中的一個本地配置文件而可能。特別,傳輸一個標(biāo)志,該標(biāo)志指示類加載器是否遞歸加載所有這些依賴的類到JVM。當(dāng)為在第一實例中的一個服務(wù)加載類時,應(yīng)該理解,如果一個一般服務(wù)代理類尚未加載時可以將其加載。然后,在把所有類在步驟625加載后,在步驟628檢驗布爾注冊標(biāo)志以決定該服務(wù)必須以本地NOS命名服務(wù)(代理)注冊自身。如果該布爾標(biāo)志已經(jīng)設(shè)定例如為真,則該服務(wù)有責(zé)任向NOS命名服務(wù)注冊,如在步驟630指示。否則,處理繼續(xù)到步驟632,這里實現(xiàn)Sag類實例化,并在服務(wù)代理對象實例(圖11)和該特定服務(wù)之間建立關(guān)聯(lián),例如通過把SLP對象傳送入服務(wù)代理實例。然后,在步驟635,以要說明的方式產(chǎn)生一個新的SLEE線程,并調(diào)用該SLEE線程以運(yùn)行該服務(wù)代理,亦即,關(guān)聯(lián)該SLEE線程與服務(wù)代理。最后,跳出SM處理,處理返回到SLEE.java處理。通過在SM中提供的方法,另外負(fù)責(zé)監(jiān)視在它的SLEE內(nèi)運(yùn)行的所有其它服務(wù),并向NOS報告狀態(tài)和使用數(shù)據(jù)。
另外對SM處理,參考圖12(c)詳細(xì)說明(SLEEClassLoader.java)調(diào)用。特別,SLEEClassLoader類是JVM的ClassLoader類的一個專門并使其擴(kuò)展的類。它通過允許類被加載到網(wǎng)絡(luò)上而擴(kuò)展系統(tǒng)類加載器的行為。這樣,作為圖12(c)的第一步驟686,類加載器首先檢查它的與SLEE的實例關(guān)聯(lián)的本地高速緩沖存儲器看該類是否已經(jīng)加載和定義。如果該類已經(jīng)被加載,則處理返回。如果該類尚未加載,則在步驟688通過NOS發(fā)送一個消息以檢查一個本地數(shù)據(jù)存儲器(DM)決定是否該類可為加載使用。例如,SLEEClassLoader可以從關(guān)系式數(shù)據(jù)庫使用JDBC數(shù)據(jù)庫連接檢索類,然而,應(yīng)該理解,可以從支持JDBCAPI的任何關(guān)系式數(shù)據(jù)庫檢索類。如果在本地數(shù)據(jù)存儲器中未找到該服務(wù)類,則SLEEClassLoader在步驟689檢查一個本地文件系統(tǒng)。如果該類在無論數(shù)據(jù)存儲器或者本地文件系統(tǒng)中找到的話,則取該類,其在步驟690指示。然后,在步驟694,調(diào)用一個定義類方法以使該類可為JVM執(zhí)行環(huán)境使用。特別,(defineClass)方法遞歸經(jīng)歷為執(zhí)行該服務(wù)而指定的每一類并變換一個字節(jié)陣列為類Class的一個實例。然后,可以使用在類Class中的newInstance方法產(chǎn)生這一新定義的類的實例。這一功能允許SLEE加載和實現(xiàn)新服務(wù)實例但仍保持其一般性。優(yōu)選,如在步驟695指示,調(diào)用一種方法以存儲在本地高速緩沖存儲器,使得下次加載類時可以有高速緩沖存儲器命中。
在該優(yōu)選實施例中,這些實例化的對象的每一個都根據(jù)一個命名約定將自身向一個NOS定位器服務(wù)注冊,例如LRM577,所述命名約定通常用下面的串例示
…場地級.SLEE號碼.SLP名…這里,場地級是有關(guān)NGIN服務(wù)控制服務(wù)器440的物理位置的信息;SLEE號碼是一個特定的SLEE,其中實現(xiàn)該對象的實例,例如SLEE#1;SLP名是該服務(wù)的邏輯名,例如,特征區(qū)分#1。字符串也可以包括“版本號”。注冊名被傳送到在該NGIN域中的其它定位器場地;通過注冊處理和NOS資源管理功能(下面說明),NOS部件知道已經(jīng)部署哪一個處理,它們被部署到什么地方,和服務(wù)當(dāng)前在何處可用。
本方法和由類加載器產(chǎn)生的對象的構(gòu)造器可以引用其它類。為決定提到的類,Java虛擬機(jī)調(diào)用類加載器最初產(chǎn)生該類的loadClass方法。如果Java虛擬機(jī)只需要決定該類是否存在和如果它確實存在而知道其超類,則把“解析”標(biāo)志設(shè)定為假。然而,如果該類的一個實例正被產(chǎn)生或任何其方法正被調(diào)用,則該類也必須被解析。在這一場合,解析標(biāo)志設(shè)定為真,并調(diào)用resolveClass方法。這一功能保證由服務(wù)參考的類/SIBB/JavaBeans也由SLEEClassLoader解析。
圖12(d)表示當(dāng)實例化時服務(wù)代理類處理流程。如在步驟639所示,第一步驟包括實現(xiàn)與服務(wù)代理關(guān)聯(lián)的一個線程管理器(“TM”)對象的實例并作為在圖11中一個TM對象實例557描述。下面會說明,線程管理器對象基于一個(ThreadManager)類,其可以被實例化而表現(xiàn)類似一個線程工廠,用作為每一服務(wù)請求產(chǎn)生一個新的SLEE線程,或一個線程注冊表,它當(dāng)在具有高線程產(chǎn)生延遲的機(jī)器上運(yùn)行時是希望的。接著,在步驟640,與服務(wù)關(guān)聯(lián)的SA通過其(運(yùn)行)類方法進(jìn)入一個處理事件環(huán)路,并在現(xiàn)在準(zhǔn)備好接收與一個服務(wù)關(guān)聯(lián)的呼叫事件。
參考圖12(e),圖中表示出ServiceAgent類的細(xì)節(jié),它通過其(begin),(continue)和(end)類方法提供到NGIN服務(wù)的門關(guān)。在SLEE內(nèi)的每一服務(wù)具有一個關(guān)聯(lián)的ServiceAgent對象,其基于一個負(fù)責(zé)管理服務(wù)實例(呼叫實例)和分配事件給服務(wù)實例的類。如圖12(e)所示,在由服務(wù)管理器(1oad)方法實現(xiàn)一個Sag對象實例和運(yùn)行后,Sag的(begin)方法每次在接收到請求該服務(wù)的一個新呼叫時被調(diào)用。特別,如圖12(e)指示,在步驟641,tid、orid標(biāo)識符參數(shù)和包含有關(guān)為該呼叫的服務(wù)處理的事件信息的一個消息流首先傳送給Sag開始方法,所述消息流例如由來自在這里稱為新一代交換機(jī)(“NGS”)的IDNA/NGIN交換機(jī)的一個初始地址消息(“IAM”)提供。然后,在步驟643,例如通過調(diào)用一個(decode)方法解碼該消息流來執(zhí)行與該服務(wù)實例有關(guān)的決定性消息。另外,用于管理呼叫上下文數(shù)據(jù)的呼叫上下文對象實例被產(chǎn)生以接收執(zhí)行的消息信息。在開始方法中,如在步驟645指示的,通過調(diào)用ThreadManager實例的分配方法為該呼叫分配一個新線程,其在這里參考圖12(g)說明,或如果事前已為該服務(wù)實現(xiàn)幾個線程實例的話,則從線程庫拉出一個線程。否則,如果Sag(continue)方法被調(diào)用的話,則返回為相應(yīng)于為該呼叫分配的線程的一個對象引用。
更具體的是,線程管理器對象基于ThreadManager類,其優(yōu)選根據(jù)對話id管理線程。為分配和釋放線程分別提供兩種方法,(allocate)和(release)。分配和釋放兩者都期望一個唯一的標(biāo)識符作為可以用于線程識別的關(guān)鍵字。該唯一的標(biāo)識符包括一個事務(wù)處理ID(“Tid”),其由接收該呼叫的NGS設(shè)定,和一個標(biāo)識呼叫始發(fā)端并用于識別一個呼叫實例的對象引用ID(“Orid”)。圖12(f)表示線程管理器類的(分配)方法的操作細(xì)節(jié)。如圖12(f)所示,在步驟660,把唯一標(biāo)識呼叫事務(wù)處理的Tid和Orid標(biāo)識符傳送給處理,并根據(jù)該標(biāo)識符產(chǎn)生一個唯一的關(guān)鍵字。然后,在步驟662,詢問該關(guān)鍵字標(biāo)識符是否存在于該線程,例如,通過檢查關(guān)鍵字值對的一個散列表。如果識別到關(guān)鍵字,意味著已經(jīng)為該呼叫分配一個服務(wù)線程,然后在步驟664,線程管理器在咨詢散列表后返回SleeThread實例(線程對象)。否則,在步驟663,給跟蹤已實例化的服務(wù)線程的數(shù)目的計數(shù)器加一,并在監(jiān)視系統(tǒng)負(fù)載的努力中,在步驟665,決定是否已經(jīng)超過為該服務(wù)的線程實例的最大值。如果已經(jīng)超過為該服務(wù)的線程實例的最大值,例如,在比較計數(shù)器值與在服務(wù)配置文件中找到的最大服務(wù)實例值,然后在步驟667給NOS發(fā)布一個消息,使其能夠為該服務(wù)尋找另一個實例,其可以例如在另一個在同一場地執(zhí)行的、或在另一服務(wù)節(jié)點位置實例化的SLEE中可用,同時處理返回。另外對該SleeThread實例化處理的是其PriorityEventQueue的初始化,它在這里參考圖12(g)詳細(xì)說明。如果為該服務(wù)的線程實例的最大值尚未超過,則在步驟668,決定是否超過為該服務(wù)的線程實例的某個閾值。如果已經(jīng)超過為該服務(wù)的線程實例的某個閾值,則在步驟669,給NOS本地資源管理功能發(fā)布一個警告,說明已經(jīng)達(dá)到服務(wù)閾值。最后,在步驟670,不管在步驟668的輸出,為所請求的服務(wù)分配一個新SleeThread實例,為請求的服務(wù)初始化一個優(yōu)先事件隊列,開始該線程,同時控制返回為該服務(wù)的Sag實例。
返回到圖12(e)所示服務(wù)代理(begin)方法功能,在線程管理器為該服務(wù)實例分配一個線程后,與該線程有關(guān)的對象變量在步驟646初始化,并通過查詢一個(clone)方法實現(xiàn)所請求的服務(wù)的一個新對象實例。然后,在步驟648,新復(fù)制的SLP實例設(shè)定到新分配的線程中。然后,在步驟650,決定存在一個事件信息,其需要與該呼叫實例關(guān)聯(lián),例如所有從輸入消息流中抽取的IAM信息。如果存在與該新復(fù)制的SLP實例關(guān)聯(lián)的事件信息,則將其推入線程,如在步驟652所示。不管是否存在要被推入線程的事件信息,都起動為該SLP的新分配的線程,等待與服務(wù)相關(guān)的事件信息的異步到達(dá),該信息由SA(continue)方法處理。如前所述,為該呼叫分配的SleeThread維護(hù)一個優(yōu)先級事件隊列為保持在處理期間接收到的與服務(wù)相關(guān)的所有事件信息。有關(guān)服務(wù)處理的所有事件具有一個相關(guān)的優(yōu)先級,而線程將根據(jù)其優(yōu)先級亦即其在服務(wù)事件隊列中的位置管理事件信息的處理。最后,在步驟654,為該呼叫實例開始線程事件循環(huán)。
應(yīng)該理解,SA(continue)方法基本和在圖12(e)所示(begin)方法相同,其差別是SA(continue)方法指向為該呼叫實例已經(jīng)實例化的服務(wù)處理線程為實時服務(wù)相關(guān)的事件選擇信道,如已經(jīng)參考圖12(e)所說明的。這樣,服務(wù)代理的繼續(xù)方法接收事件和該呼叫實例的識別參數(shù),重新分配與為接收到的事件的tid、orid參數(shù)關(guān)聯(lián)的服務(wù)線程,并把該事件推入線程的事件優(yōu)先級隊列。應(yīng)該理解,SAg和SM類兩者都包括一個對NOS的IDL接口。服務(wù)(SLP)不具有這樣的接口,然而能夠通過其Sag接口在系統(tǒng)范圍通信。在實時服務(wù)處理期間,SLEE450能夠執(zhí)行下面的事情1)在服務(wù)處理期間在SLP和SIBB級上解釋指令;2)給SLP的指定實例交付到來的事件;3)如果設(shè)定跟蹤標(biāo)志的話,產(chǎn)生跟蹤數(shù)據(jù);4)允許跟蹤對準(zhǔn)SLP、SIBB、和SLEE級進(jìn)行,并把跟蹤數(shù)據(jù)發(fā)送給一個指定的輸出;5)產(chǎn)生SLEE使用數(shù)據(jù)并給一個指定輸出發(fā)送運(yùn)行時間使用數(shù)據(jù);6)為遠(yuǎn)程通信管理網(wǎng)絡(luò)(TMN)實例產(chǎn)生例外數(shù)據(jù)(錯誤);7)為TMN接口產(chǎn)生性能數(shù)據(jù);8)為增加SLP的新實例或?qū)嵱贸绦蚪邮障?請求并增加這樣的新SLP或?qū)嵱贸绦驅(qū)嵗恢袛嗪徒档头?wù)處理;9)通過為負(fù)載共享增多服務(wù)控制實例支持同一服務(wù)。
當(dāng)一個服務(wù)實例完成處理時,它要么啟動該服務(wù)的終止,或者按照系統(tǒng)意愿啟動通信中的另一個處理。無論在哪種事件,都調(diào)用Sag(end)方法,它的功能為終止與該呼叫關(guān)聯(lián)的線程實例。這通過調(diào)用一個ThreadManager(release)方法、傳送唯一標(biāo)識該呼叫實例的Tid和Orid、推任何事件到線程的事件隊列、和釋放該呼叫亦即終止該線程實例和/或把該線程事利放回到線程庫中而實現(xiàn)。
優(yōu)選,SleeThread類實例提供為IDNA/NGIN服務(wù)所需要的功能以并行執(zhí)行而不綁定所有SLEE資源和便利協(xié)作資源共享。具體說,在SleeThread和服務(wù)實例之間有一個一對一映射,同時SLEE把SleeThread的一個實例與服務(wù)的一個實例相關(guān),亦即為由一個服務(wù)處理的每個呼叫存在一個與該呼叫關(guān)聯(lián)的SleeThread實例。SleeThread還通過容放事務(wù)處理id(tid)、對象引用id(orid)、對象引用,例如同類和代理兩者、SLP、和與該SLP關(guān)聯(lián)的優(yōu)先級事件隊列。更特別的是,一個SleeThread通過實現(xiàn)兩個關(guān)鍵的接口作為一個在服務(wù)(SLP)和ServiceAgent之間的事件通道為使ServiceAgent推SleeThread上的事件的PushConsumer;和能使服務(wù)從它們關(guān)聯(lián)的線程中拉事件的PullSupplier。下面會說明,每一個SleeThread以所述方式具有一個為排隊NGINEvebts的PriorityEventQueue的實例。
優(yōu)選,(PriorityEventQueue)類是一個與平臺無關(guān)的類,它把與一個服務(wù)(SLP)關(guān)聯(lián)的事件(NGINEvent的導(dǎo)出類)排隊。如參考圖12(f)的步驟667、670所示,每個SleeThread對象實現(xiàn)PriorityEventQueue的一個實例,它可以包括事件的一個散列表。事件可以以降序排隊,例如,事件優(yōu)先級由在NGINEvent基類中定義,并在從10到1的范圍內(nèi)任何位置,例如,10是最高的優(yōu)先級。這樣,每一線程可以跟蹤可用/不可用于處理的事件的數(shù)量,從而允許完全的服務(wù)處理的并行性。
圖12(g)表示一個(postEvent)方法,其包容為確定正由線程接收的事件的優(yōu)先級的邏輯,如在步驟675指示,并把事件登記入PriorityEventQueue中。如圖12(g)所示,這基本上通過比較被推入的事件的優(yōu)先級與要在步驟678處理的優(yōu)先級隊列中的下一事件的優(yōu)先級而實現(xiàn),決定被推入的事件的優(yōu)先級是否大于要在步驟680處理的(如果有的話)隊列中的下一事件的優(yōu)先級,并要么把被推入的事件放在該隊列的頂以設(shè)定它為下一要處理的事件,如在步驟682a指示,或者,循環(huán)通過該隊列并決定該事件按照其優(yōu)先級在該隊列中應(yīng)該存儲的位置,如在步驟682b所示。然后,在步驟684,SleeThread處理具有最高優(yōu)先級的下一事件,當(dāng)其已經(jīng)從系統(tǒng)分配處理時間時。
更特別的是,通過SleeThread實現(xiàn)一個PullSupplier接口以支持為用戶的一種操作從供應(yīng)者請求數(shù)據(jù),這通過要么調(diào)用一個直到事件數(shù)據(jù)可用前被閉鎖的“Pull”操作,或者出現(xiàn)一個例外并給用戶返回事件數(shù)據(jù);或者調(diào)用不閉鎖的“TryPull”操作。也就是說,如果事件數(shù)據(jù)可用,則它返回事件數(shù)據(jù)并設(shè)定hasEvent參數(shù)為真;如果該事件不可用,則它設(shè)定hasEvent參數(shù)為假并返回一個空值。這樣,SleeThread可以作為事件供應(yīng)者,而服務(wù)(SLP)采取用戶的角色。服務(wù)(SLP)使用SleeThread Pull或tryPull從SleeThread取事件數(shù)據(jù)。該服務(wù)要么使用Pull操作,如果它沒有事件數(shù)據(jù)不能繼續(xù)的話,否則,它使用tryPull操作。
由SleeThread實現(xiàn)PushConsumer接口并實現(xiàn)一個類屬PushConsumer接口,它支持為供應(yīng)者的操作以通信事件數(shù)據(jù)給用戶,這通過調(diào)用推操作到線程和把事件數(shù)據(jù)作為參數(shù)傳送給線程的優(yōu)先級事件隊列實現(xiàn)。這樣,SleeThread作為事件用戶,而ServiceAgent采取供應(yīng)者的角色。ServiceAgent使用SleeThread推操作通信事件數(shù)據(jù)給SleeThread。一個“kill”服務(wù)事件可以包括最高優(yōu)先級。為事件的優(yōu)先級可以是缺省的,或者當(dāng)設(shè)計新產(chǎn)生的事件類時可以在服務(wù)產(chǎn)生處建立。
如上所述,為一個特定服務(wù)的服務(wù)代理實例把在服務(wù)處理過程中所有接收到和產(chǎn)生的事件引導(dǎo)到為該呼叫建立的服務(wù)線程實例,或從其引導(dǎo)而來。例如,由在一個節(jié)點的交換機(jī)產(chǎn)生的初始事件可以包括一個(ServiceRequestEvent),該類負(fù)責(zé)對IDNA/NGIN服務(wù)控制傳達(dá)一個初始服務(wù)請求,而特別是初始呼叫上下文信息,諸如啟動服務(wù)請求的時間;請求從其始發(fā)的交換機(jī)ID;呼叫始發(fā)的端口ID;呼叫始發(fā)的終端設(shè)備ID;呼叫方號碼;被呼叫方號碼等。一個擴(kuò)展NGINevent的(connectEvent)子類可以報告連接發(fā)生的時間、呼叫號碼所連接到的站號碼;和在ATM-VNET服務(wù)的范圍中報告到來的虛擬路徑ID和出去的虛擬路徑ID。一個擴(kuò)展NGINevent的(releaseEvent)子類可以報告釋放事件。例如,在ATM-VNET服務(wù)的范圍中,當(dāng)呼叫或被呼叫方終止一個呼叫時,或當(dāng)用戶信用金用完時可以引起釋放。這樣一種類可以實現(xiàn)SIBB來決定產(chǎn)生一個釋放事件的時間;引起產(chǎn)生釋放事件和從連接呼叫和被呼叫方到產(chǎn)生釋放事件的時間過去的時間。另外對這一點,可以使用擴(kuò)展NGINevent的(connectEvent)子類表達(dá)從NGIN到NGS的一個終止消息。在接收到這一消息時,交換機(jī)可以啟動拆卸連接處理。一個(MonitorReleaseEvent)子類擴(kuò)展NGINevent和用于給NGS發(fā)送消息,指導(dǎo)NGS在接收一個釋放指示時把一個釋放指示傳給NGIN。當(dāng)NGS接收一個監(jiān)視釋放消息時,可以調(diào)用(UniNotifyEvent)子類給始發(fā)端(呼叫者)發(fā)送一個通知。(MonitorConnectEvent)子類擴(kuò)展NGINEvent,它是一個用于從NGIN給NGS發(fā)送消息的子類,指導(dǎo)NGS在接收到一個連接消息時給NGIN發(fā)送一個事件。
如上所述,在實時服務(wù)處理的范圍中,數(shù)據(jù)管理的數(shù)據(jù)檢索和更新功能包括由DM在服務(wù)處理期間訪問存儲的數(shù)據(jù)的能力。
在該優(yōu)選實施例中,在任何特定的服務(wù)節(jié)點,DM在服務(wù)處理期間例如通過NOS接收來自在SLEE中執(zhí)行被管理對象實例的數(shù)據(jù)請求。如果數(shù)據(jù)管理不能理解數(shù)據(jù)請求的話,它特別通知請求者(例如被管理對象)。如果數(shù)據(jù)請求是為檢索一個數(shù)據(jù)實體,則數(shù)據(jù)管理返回所請求的數(shù)據(jù)給請求者(例如通過NOS)。應(yīng)該理解,由DM提供為操縱和詢問在一個單一注冊表或在多個注冊表中的數(shù)據(jù)所需要的任何支持。數(shù)據(jù)管理另外支持收集和相關(guān)跨越多個注冊表的詢問結(jié)果。如果DM不能定位在數(shù)據(jù)檢索請求中的所請求的實體的名字時,則DM通知NOS部件。如果在檢索一個數(shù)據(jù)實體期間發(fā)生錯誤的話也將通知NOS部件。數(shù)據(jù)管理另外通知請求者(執(zhí)行服務(wù)控制的對象)不能從一個有效名字檢索一個特定數(shù)據(jù)實體。如果數(shù)據(jù)請求是為更新一個數(shù)據(jù)實體,則數(shù)據(jù)管理更新該數(shù)據(jù)實體并決定是否需要回答。如果DM不能更新在一個數(shù)據(jù)請求中指定的數(shù)據(jù)實體的話,則它通知請求者,如果它不能定位在該數(shù)據(jù)更新請求中所請求的實體的名字時,它另外通知NOS。在NGIN運(yùn)行期間的任何時間,DM通知NOS在更新一個數(shù)據(jù)實體期間的數(shù)據(jù)庫錯誤。如果數(shù)據(jù)請求是為刪除一個數(shù)據(jù)實體,則DM刪除該數(shù)據(jù)實體,并決定該事務(wù)處理是否需要在其它注冊表中啟動。
圖4(c)總體表示數(shù)據(jù)管理部件400的功能結(jié)構(gòu),它包括服務(wù)控制服務(wù)器部件405,用于使呼叫服務(wù)數(shù)據(jù)在服務(wù)節(jié)點處為實時呼叫處理可用;和作為一個分立的數(shù)據(jù)庫服務(wù)器實現(xiàn)的數(shù)據(jù)庫部件407,其用于存儲和分發(fā)由SA維護(hù)的數(shù)據(jù)的一個選擇的子集。具體說,服務(wù)控制服務(wù)器部件405包括數(shù)據(jù)管理(DM)客戶409,其為實際數(shù)據(jù)管理應(yīng)用;一個DM API 410,它與DM應(yīng)用連接,并且是DM應(yīng)用使用從SA獲得數(shù)據(jù)的接口;本地高速緩沖存儲器415,它是服務(wù)控制服務(wù)器上的一個共享存儲器,用于存儲來自DBOR提取器的某些或全部數(shù)據(jù),這些數(shù)據(jù)可按照本地高速緩沖存儲策略為呼叫處理使用;和高速緩沖存儲器管理器420,它通過實現(xiàn)本地高速緩沖存儲策略維護(hù)本地高速緩沖存儲器的狀態(tài)和與DM服務(wù)器通信從DBOR提取器檢索數(shù)據(jù)。數(shù)據(jù)庫部件407包括DBOR提取器,它由一個或多個數(shù)據(jù)庫組成,這些數(shù)據(jù)庫具有要由被管理對象實例在該節(jié)點處執(zhí)行服務(wù)期間使用的數(shù)據(jù);DBOR提取器管理器426,用于管理SA保持的信息的一個選擇的子集;SA客戶422,它從服務(wù)管理輸入數(shù)據(jù)給DBOR提取器管理器426;DDAPI424,它是在SA客戶422和SA的數(shù)據(jù)分發(fā)處理之間的處理接口;和數(shù)據(jù)管理服務(wù)器425,它一般從DBOR提取器管理器426提取數(shù)據(jù)選段。
現(xiàn)在參考圖4(c)和8進(jìn)一步詳細(xì)說明數(shù)據(jù)管理操作。在一個SLEE內(nèi),有幾類功能可以從數(shù)據(jù)管理400需要數(shù)據(jù),包括但不限于被管理對象(SIBB,SLP等)和NOS。它們每一個在圖4(c)中作為一個在服務(wù)控制SLEE內(nèi)執(zhí)行的DM客戶表示。當(dāng)DM API 412為所有DM客戶提供一個公共消息集以與數(shù)據(jù)管理接口時,DM客戶410使用DM API請求數(shù)據(jù)。DM API 412還從該DM客戶包容需要數(shù)據(jù)的特定位置,當(dāng)這一數(shù)據(jù)可以被存儲在一個本地高速緩沖存儲器415中或僅在DBOR提取器427中時。DM客戶410通過邏輯名請求數(shù)據(jù),DM API 412決定該數(shù)據(jù)是否可以從本地高速緩沖存儲器檢索,如果需要通過DM服務(wù)器從DBOR提取器請求數(shù)據(jù)的話。優(yōu)選,本地高速緩沖存儲器415是為運(yùn)行在在控制服務(wù)器405內(nèi)提供的每一SLEE上的每一處理可用的共享高速緩沖存儲器,亦即可以有一個或者多個為不同應(yīng)用提供的本地高速緩沖存儲器,例如1-800處理高速緩沖存儲器,路由選擇管理器高速緩沖存儲器等,每一共享的高速緩沖存儲器有它自己各自的高速緩沖存儲器管理器。
當(dāng)DM客戶410請求數(shù)據(jù)時,DM API首先檢查本地高速緩沖存儲器415,看所請求的數(shù)據(jù)是否存儲在那里。如果所請求的數(shù)據(jù)存儲在本地高速緩沖存儲器415中,則DM API使用任何標(biāo)準(zhǔn)數(shù)據(jù)檢索技術(shù)檢索所請求的數(shù)據(jù)并將其提供給DM客戶410,諸如散列關(guān)鍵字和算法,或索引順序訪問方法。
如果所請求的數(shù)據(jù)不存儲在本地高速緩沖存儲器415中,則關(guān)聯(lián)的高速緩沖存儲器管理器420通過DM服務(wù)器425從DBOR提取器427檢索該數(shù)據(jù)。特別,DM API 412通知高速緩沖存儲器管理器420它需要一定的數(shù)據(jù)和高速緩沖存儲器管理器通過給DM服務(wù)器425發(fā)送一個請求來響應(yīng)。DM服務(wù)器425依次使用為數(shù)據(jù)庫訪問的DBOR提取器管理器426從DBOR提取器檢索請求的數(shù)據(jù)。DM服務(wù)器425把檢索到的數(shù)據(jù)回送給高速緩沖存儲器管理器420,而高速緩沖存儲器管理器通過DM API 412給DM客戶610提供數(shù)據(jù)。高速緩沖存儲器管理器還可以根據(jù)本地高速緩沖存儲策略寫所請求的數(shù)據(jù)到本地高速緩沖存儲器415,本地高速緩沖存儲策略既依賴于服務(wù)命令也依賴于它們在其上運(yùn)行的計算機(jī)的能力,特別是存儲器容量。這些性能說明從服務(wù)和由服務(wù)管理產(chǎn)生的計算機(jī)簡檔獲取。優(yōu)選,為IDNA/NGIN的DM400的數(shù)據(jù)高速緩沖存儲器管理器部件在每一服務(wù)節(jié)點使用一個客戶側(cè)高速緩沖存儲策略。
現(xiàn)在參考圖8-10詳細(xì)說明IDNA/NGIN網(wǎng)絡(luò)操作系統(tǒng)(“NOS”)部件700。如上所述,NOS功能包括為該IDNA/NGIN系統(tǒng)170允許處理間的通信、對象的連接性、和本地和網(wǎng)絡(luò)范圍內(nèi)的資源管理功能。因為所有NGIN處理執(zhí)行在廣闊分布結(jié)構(gòu)上的多種硬件和操作系統(tǒng)平臺,因此NOS在所有處理之間提供與平臺無關(guān)的和與位置無關(guān)的通信。特別,NOS包括幾種功能子部件以提供在所有NGIN處理之間的接口,包括在服務(wù)控制、服務(wù)管理、和數(shù)據(jù)管理之間的接口。NOS也是呼叫控制和服務(wù)控制(圖5)之間的接口,和能使運(yùn)行在同一SLEE上的兩個或者多個處理彼此通信。
如圖8-10所示,NOS功能子部件包括1)名字轉(zhuǎn)換(“NT”)處理570,它為數(shù)據(jù)和服務(wù)對象解析邏輯名為物理地址,該物理地址標(biāo)識所請求的對象在其內(nèi)運(yùn)行的計算機(jī)(作為一個網(wǎng)絡(luò)地址)和存儲器地址;2)本地資源管理(“LRM”)處理575、577,它跟蹤和維護(hù)在SLEE處和在服務(wù)節(jié)點執(zhí)行的資源的狀態(tài);3)綜合網(wǎng)絡(luò)資源狀態(tài)(“NRS”)處理590,它維護(hù)在整個NGIN網(wǎng)絡(luò)范圍內(nèi)所有服務(wù)節(jié)點資源的狀態(tài),并提供處理間通信;4)為提供對象連接性的一組服務(wù),諸如由一個遵從公共對象請求代理結(jié)構(gòu)(CORBA)的ORB所提供的,它能使在不同計算機(jī)平臺上的對象之間的通信、API消息集、和因特網(wǎng)協(xié)議(IP)通信以這樣的方式進(jìn)行,使得能夠滿足或者超過一定的實時呼叫處理性能需求。例如,為處理一個典型的1-800號“集合呼叫”事件的典型響應(yīng)時間,應(yīng)該大約50到100毫秒。
如在這里說明的,NOS部件700可以使用一個遵從CORBA的ORB為對象連接性實現(xiàn),諸如由Orbix所提供的,Orbix是由馬薩諸塞州的劍橋市和愛爾蘭的都伯林市的IONA技術(shù)公司開發(fā)。ORB通過名字服務(wù)提供在不同計算機(jī)平臺上的對象之間的通信,所述名字服務(wù)能夠映射邏輯名為物理地址。
在系統(tǒng)引導(dǎo)時,SLEE450起動并在它的環(huán)境中發(fā)布N0S客戶部件558和服務(wù)管理器處理部件554的一個實例。SM SLP 554從包括立即要實例化的服務(wù)的邏輯名的配置文件580中為其它部件檢索邏輯名。然后,它給ORB名字服務(wù)提供該邏輯名,ORB名字服務(wù)映射該邏輯名為物理地址。ORB從該點開始維護(hù)服務(wù)對象的連接性。ORB名字服務(wù)也用于其它服務(wù)注冊。在SLEE上起動的每一個服務(wù)將自身與NOS注冊,而正是通過這種注冊O(shè)RB識別邏輯名的物理地址。
為實現(xiàn)在交互對象之間的與平臺無關(guān)的通信,定義接口,它通過接口定義語言(“IDL”)而可能。CORBA當(dāng)前支持IDL,然而,其它面向?qū)ο蟮耐ㄐ偶夹g(shù),諸如遠(yuǎn)程方法調(diào)用(RMI)協(xié)議可以被實現(xiàn),只要性能需求適合實時呼叫處理。特別,為每一NGIN部件的接口在其建立時定義,并通過將它們存儲在一個與本地LRM575關(guān)聯(lián)的持續(xù)的數(shù)據(jù)存儲器或庫(未示出)中使其在運(yùn)行時間可用,如圖9所示。允許服務(wù)詢問該庫以了解新對象接口。NOS客戶處理558和NOS主處理560(圖8)是一個NOS類庫,其用于與NOS服務(wù)接口,并由在該SLEE內(nèi)運(yùn)行的所有服務(wù)使用以調(diào)用NOS NT和LRM服務(wù),其在這里進(jìn)一步詳細(xì)說明。
現(xiàn)在參考圖9,圖中表示NOS NT子部件570和LRM功能子部件575的功能結(jié)構(gòu),這兩個子部件駐留在執(zhí)行一個或者多個SLEE450和450′的計算機(jī)上,NT和LRM子部件與每一SLEE關(guān)聯(lián)。圖9特別表示單NGIN服務(wù)節(jié)點或“場地”45的一個例子,其具有至少兩個計算系統(tǒng)440和440′,分別實現(xiàn)SLEE部件450和450′和各NOS部件700和700′,它們每一個包括各自的NT功能子部件570和570′,和各自的LRM功能子部件575和575′。雖然表示出單一SLEE在一個單獨的計算機(jī)上執(zhí)行,但是應(yīng)該理解,兩個或者多個SLEE可以在單一地點的同一計算機(jī)上運(yùn)行。在每一SLEE450、450′上運(yùn)行的是標(biāo)記為S1、…、S4的幾個服務(wù)對象或者處理,它們可以是SLP、LLP、CLP、ELP、持續(xù)運(yùn)行的FD邏輯程序和NOS客戶對象558,或者其它處理。
如在這里說明的,每一NOS NT功能子部件570、570′各包括一個為識別一個要使用的數(shù)據(jù)或服務(wù)對象的正確版本、和要使用的該對象的最優(yōu)實例的處理,特別通過允許一個處理調(diào)用任何其它處理,使用一個在不同版本中保持不變的單一公共邏輯名和被呼叫的處理的實例。這樣,NOS NT部件570包容來自處理的實例的對象引用、版本、和物理位置。
如在這里說明的,在每一服務(wù)節(jié)點的NOS700的每一本地資源管理器(“LRM”)部件575、575′決定哪一個服務(wù)執(zhí)行在一個節(jié)點處的哪一個SLEE,在服務(wù)簡檔(配置)文件580中包含的每一配置規(guī)則,它們可以包括從SA為在本地LRM高速緩沖存儲器中存儲部署的服務(wù)簡檔的內(nèi)容。LRM首先讀取存儲在該節(jié)點處的本地高速緩沖存儲器中的這一服務(wù)簡檔580,并決定哪一個特定的SLEE根據(jù)在該服務(wù)簡檔的規(guī)則運(yùn)行一個服務(wù),和哪一個服務(wù)在該SLEE中活動運(yùn)行(作為持續(xù)對象),或只在需要時才實例化。
在該優(yōu)選的實施例中,LRM575允許運(yùn)行時間配置和優(yōu)化服務(wù)執(zhí)行,這通過跟蹤每一服務(wù)控制資源的正常情況和狀態(tài)而實現(xiàn)。特別,每一LRM功能子部件維護(hù)一張所有編程在該SLEE上運(yùn)行的服務(wù)的表,哪一個服務(wù)處理(對象引用)在一個SLEE上活動地運(yùn)行和根據(jù)預(yù)定的閾值在該節(jié)點處的SLEE的當(dāng)前負(fù)載狀態(tài)(處理能力)。
更特別的是,SLEE(服務(wù)器)LRM部件575是一組建立在相應(yīng)于在該系統(tǒng)中的每一對象(邏輯程序)的對象引用的一個本地高速緩沖存儲器中的庫,該對象引用包括有關(guān)服務(wù)器的信息,諸如IP地址和端口號碼,使能夠通信。當(dāng)新對象在該系統(tǒng)內(nèi)變得可用時與NOS注冊,亦即為它們產(chǎn)生一個對象引用,為通過數(shù)據(jù)管理在本地高速緩沖存儲器中注冊。
在查詢其服務(wù)簡檔(配置)文件580以決定哪一個服務(wù)立即實例化后,NOS LRM部件575通過也在SLEE450中執(zhí)行的NOS客戶接口從NOS NT 570發(fā)送一個服務(wù)激活請求給在SLEE中的活動的服務(wù)管理器對象554。SM對象554是一個為允許控制SLEE服務(wù)的API對象。例如,它提供當(dāng)接收到為一個不活動的服務(wù)的請求時實現(xiàn)新服務(wù)實例的能力。也就是說,當(dāng)它被實例化時它能夠給該對象指定一個處理線程,而服務(wù)然后通過LRM575將其自身與NOS注冊。當(dāng)一個服務(wù)被另一服務(wù)使用其邏輯名調(diào)用時,LRM使用配置文件中的規(guī)則以決定哪一個實例被調(diào)用,通過使用ORB名字服務(wù)映射邏輯名為活動實例的物理地址。
如圖9所示,與一個NGIN場地或服務(wù)節(jié)點45關(guān)聯(lián)的是在一個單獨的計算機(jī)440″上的NOS部件700″上運(yùn)行的,或在一個共享的計算機(jī)上諸如計算機(jī)440或計算機(jī)440′上運(yùn)行的場地LRM577。場地LRM577的功能是1)跟蹤在每一SLEE處的服務(wù)的可用性,其為所有在每一SLEE上運(yùn)行的處理的當(dāng)前負(fù)載的函數(shù);2)維護(hù)一個資源狀態(tài)表,它是每一單個的SLEE LRM 575的活動更新的復(fù)制,另外為每一資源有一個SLEE標(biāo)識符。場地LRM子部件577根據(jù)幾個準(zhǔn)則中的任何一個決定所請求的服務(wù)的哪一個應(yīng)該被使用,這些準(zhǔn)則包括但不限于1)被呼叫的服務(wù)實例與呼叫服務(wù)實例的接近度(同樣的對不同的SLEE,同樣的對不同的場地);2)被呼叫的服務(wù)實例對由被呼叫服務(wù)所需要的數(shù)據(jù)管理數(shù)據(jù)的接近度;3)當(dāng)前系統(tǒng)和處理負(fù)載。
作為一個例子,在圖9中表示出每當(dāng)一個處理,例如在SLEE1中的S1,需要實現(xiàn)一個SLP的實例,S4,以執(zhí)行一個特定的處理時,例如Vnet服務(wù),NOS首先判定該服務(wù)亦即它的對象引用是否在本地高速緩沖存儲器中例如在SLEE1中可用。如果本地LRM575沒有所請求的對象引用,則NOS尋找場地級LRM577來決定相應(yīng)于所請求的服務(wù)的特定對象引用的位置。例如,如圖9所示,該對象可以在SLEE2中找到,并當(dāng)找到時NOS通過實現(xiàn)該對象的一個實例使該服務(wù)可用,如果SLEE具有這樣做的能力,亦即尚未達(dá)到它的使用閾值。
如圖10進(jìn)一步所示,在為每一SLEE的各LRM575和為每一場地的各LRM577之外,NOS部件700另外包括一個網(wǎng)絡(luò)資源狀態(tài)(“NRS”)子部件590,它是一個執(zhí)行網(wǎng)絡(luò)范圍資源管理功能的處理。特別,NRS包括一個由每一場地LRM維護(hù)的、為在網(wǎng)絡(luò)中的每一場地LRM的數(shù)據(jù)的子集,例如為相應(yīng)于圖10中各場地440a、…、440c的場地577a、…、577c。NRS590包括1)一個SLEE表;2)哪一類型的服務(wù)被編程在每一SLEE上運(yùn)行;和3)哪一個服務(wù)在每一SLEE上活動運(yùn)行,亦即SLEE的當(dāng)前負(fù)載作為百分之一的基礎(chǔ)。這一NRS子部件590是一個邏輯上中心化的功能,給NOS為場地LRM577a、…、577c不能滿足的請求的另一傳播級。另外,NRS子部件590為每一SLEE450包括一個二進(jìn)制指示符以指示該SLEE是向上還是向下,和指示一個服務(wù)使用閾值是否由該SLEE達(dá)到?!跋蛏稀被颉跋蛳隆敝甘痉褪褂瞄撝祽?yīng)用用于決定一個SLEE是否可用于從其它服務(wù)接受服務(wù)請求,和NRS子部件可以簡單地提供二進(jìn)制指示符,指示在給定這些指示符和閾值應(yīng)用時一個SLEE是否可用。作為一個例子,如果一個請求的SLP對象在一個SLEE中被找到,但是該SLEE沒有能力實現(xiàn)所請求的處理的實例,則它將發(fā)送一個通知給場地LRM577,告知已經(jīng)達(dá)到為該SLEE的使用閾值而不能處理為該服務(wù)另外的請求。這一信息也將傳送到NRS部件590(圖10)。
回過來參考圖8,NGIN系統(tǒng)實現(xiàn)一個監(jiān)視機(jī)構(gòu)595為監(jiān)視存儲器容量、數(shù)據(jù)庫容量、查詢所請求的對象的長度、隊列中的時間的量、和為系統(tǒng)中每一SLEE的其它資源/負(fù)載參數(shù)。對NOS700有3個因子可用,它根據(jù)這些因子的一個或者多個來決定SLEE的使用閾值。在固定閾值外,可以為滯后使用多重閾值。
現(xiàn)在參考圖11(a)-11(b)詳細(xì)說明由NOS執(zhí)行的資源管理功能的一個說明性例子,該NOS包括NT、LRM、和NRS,它們能夠使NOS700提供位置和與平臺無關(guān)的處理,同時優(yōu)化NGIN的總處理能力。在參考圖11(a)和11(b)說明的LRM處理流程圖801中,假定在一個服務(wù)控制服務(wù)器上的SLEE1上執(zhí)行的服務(wù)S1需要調(diào)用服務(wù)S2,如在步驟802所示。服務(wù)S1可以是一個FD或者服務(wù)邏輯程序,其從交換機(jī)結(jié)構(gòu)呼叫控制接收一個事件服務(wù)請求并需要調(diào)用另一SLP,S2,例如為完成呼叫處理。
特別,參考圖11(a),服務(wù)S1使用為SLP S2的邏輯名發(fā)布一個請求給NOS700。當(dāng)接收到為一個服務(wù)對象的SLP請求時,NOS名字轉(zhuǎn)換功能570a被實現(xiàn),其在步驟804指示,用于決定NOS是否識別到所請求的服務(wù)作為在本地服務(wù)控制服務(wù)器上活動運(yùn)行的服務(wù),亦即具有一個與所請求的服務(wù)的邏輯名關(guān)聯(lián)的對象引用。優(yōu)選,在本地服務(wù)器高速緩沖存儲器中存儲的數(shù)據(jù)包括下面的NOS命名數(shù)據(jù)字段1)SLP邏輯服務(wù)名,它通常是說明服務(wù)的邏輯名和特征區(qū)分符數(shù)據(jù)指向的名;2)一個可選的版本號,它說明一個特定服務(wù)的版本,它可以例如為需要該版本的服務(wù)運(yùn)行的一個特定用戶或一個節(jié)點等需要;3)狀態(tài),包括已部署,亦即當(dāng)SA已經(jīng)給節(jié)點部署工作包,但是服務(wù)尚未激活;活動的,亦即指示該服務(wù)當(dāng)前是活動的;或回退,當(dāng)它希望回退到服務(wù)對象先前的版本,例如為提供一個迅速的逆轉(zhuǎn);4)對象名或參考,它可以包括一個IP地址、端口、和其它標(biāo)識該對象實例的物理位置的信息;5)服務(wù)中的數(shù)據(jù)和時間和服務(wù)外的數(shù)據(jù)和時間;6)錯誤處理對象名,例如,如果該對象不可用或不能被激活;7)當(dāng)在回退狀態(tài)下要被執(zhí)行的回退對象名。本地服務(wù)器NOS命名處理得益與由一個LRM狀態(tài)處理器(未示出)提供的服務(wù),該處理器只使用在服務(wù)控制服務(wù)器內(nèi)一個特定SLEE內(nèi)運(yùn)行的當(dāng)前活動的服務(wù)來更新本地服務(wù)器高速緩沖存儲器狀態(tài)數(shù)據(jù)庫。這使得本地服務(wù)器NOS名字轉(zhuǎn)換功能可以首先在本地執(zhí)行。當(dāng)NOS首先得到一個請求時,它查閱一個邏輯名來獲得對象名(或?qū)ο笠?。NOS從邏輯名得到對象名,而節(jié)點LRM處理根據(jù)一個或者多個規(guī)則決定所請求的對象的最好的實例,其在步驟806指示。
如果在步驟804識別到邏輯名并且該邏輯對象可用,則處理前進(jìn)到步驟806的LRM功能以決定在SLEE1上運(yùn)行的S2的活動的(“可用的”)實例,根據(jù)一定的準(zhǔn)則,諸如使用閾值。如果沒有找到活動的實例,則LRM可以檢驗看是否編程S2在SLEE1上運(yùn)行,但是尚未實例化。如果是這樣的話,則NOS700可以決定實現(xiàn)SLEE1上的S2的一個實例,如果SLEE1有足夠的可用容量的話。如前所述,在服務(wù)器級的LRM只知道在該服務(wù)器上什么是活動的和知道什么已經(jīng)被實例化。如果該對象當(dāng)前是活動的并且在本地服務(wù)器級實例化,則為實現(xiàn)為該服務(wù)的一個新線程的對象引用實例返回到SLP請求。NOS將根據(jù)返回的對象引用啟動一個新服務(wù)線程的實例為執(zhí)行所請求的服務(wù),并如果尚未實例化的話返回一個對象引用。
如果在步驟804決定SLEE1沒有足夠的可用容量的話,或如果S2尚不能在SLEE1上運(yùn)行的話,則在SLEE1上的LRM發(fā)送一個服務(wù)請求給場地LRM577a,(圖10)。該場地LRM應(yīng)用相似的業(yè)務(wù)規(guī)則并決定S2的一個實例是否在該場地的另一個SLEE上活動,或應(yīng)該被實現(xiàn)。這樣,在步驟810,節(jié)點NOS名字轉(zhuǎn)換功能被實現(xiàn),用于決定所請求的邏輯名是否在該節(jié)點可用,亦即在該節(jié)點的同一或不同的本地服務(wù)控制服務(wù)器上的另一個SLEE是否維護(hù)一個與所請求的服務(wù)的邏輯名關(guān)聯(lián)的對象引用。如果在步驟810識別到該邏輯服務(wù)名,則NT子部件570詢問NOS LRM 575以決定使用S2的哪一個實例。然后節(jié)點LRM在步驟814對節(jié)點高速緩沖存儲器狀態(tài)數(shù)據(jù)庫(未示出)應(yīng)用業(yè)務(wù)規(guī)則以便為所請求的服務(wù)檢索希望的對象引用,如果活動的話,則給呼叫SLP返回該地址(步驟802,圖11(a))。如果決定該服務(wù)當(dāng)前不能實例化,或在一個特定的SLEE上需要的服務(wù)由于處理負(fù)載或者其它施加的限制可能不能被實例化,則在步驟818執(zhí)行分配和加載處理,這通過檢查節(jié)點高速緩沖存儲器狀態(tài)數(shù)據(jù)庫和實現(xiàn)與例如服務(wù)接近性、數(shù)據(jù)接近性、施加閾值、當(dāng)前處理負(fù)載等相關(guān)的可應(yīng)用的業(yè)務(wù)規(guī)則,在決定服務(wù)對象可為實例化的場合在SLEE內(nèi)實現(xiàn)所請求的服務(wù)實例,和給呼叫SLP返回地址。應(yīng)該理解,當(dāng)為實現(xiàn)每個SLEE實例有多于一個的服務(wù)可用時在決定哪一個服務(wù)線程要實例化中可以實現(xiàn)一個循環(huán)方案。
返回到圖11(a),如果在步驟810決定當(dāng)前節(jié)點不能識別所請求的邏輯名,亦即,節(jié)點高速緩沖存儲器沒有與所請求的服務(wù)的邏輯名關(guān)聯(lián)的對象引用,或者由于應(yīng)用的業(yè)務(wù)規(guī)則,不能在該節(jié)點實現(xiàn)該對象實例,則在步驟822詢問綜合網(wǎng)絡(luò)資源狀態(tài)(NRS)處理590,在智能網(wǎng)絡(luò)170的范圍上檢查SLEE的當(dāng)前狀態(tài)和決定可以處理為S2的服務(wù)請求的SLEE。在這之前,如在步驟820指示,進(jìn)行檢查,決定表示網(wǎng)絡(luò)資源管理被詢問以尋找一個對象引用的次數(shù)的索引數(shù)是否超過一個預(yù)定的限制,例如3次。如果已經(jīng)超過該閾值,則處理終止,管理員可以通知不能找到服務(wù)對象和存在一個錯誤條件,如在步驟821所示。如果尚未超過NRS查詢閾值,則如在步驟822所示,NRS處理決定在網(wǎng)絡(luò)中的哪一個服務(wù)節(jié)點能夠執(zhí)行所請求的服務(wù)。在決定智能網(wǎng)絡(luò)中的節(jié)點后,如在步驟822指示,處理繼續(xù)到步驟824,圖11(b),在這里實現(xiàn)節(jié)點NOS名轉(zhuǎn)換功能570b以獲得與所請求的服務(wù)的邏輯名關(guān)聯(lián)的一個對象引用。如果在步驟824不能識別在該節(jié)點的邏輯服務(wù)名,則在步驟829,NRS查詢索引數(shù)加一,處理返回到步驟820,圖11(a),檢查是否超過索引數(shù)閾值,如果是的話則存在錯誤條件。如果在步驟820,圖11(a),NRS查詢索引尚未超過其預(yù)定閾值,則NRS處理590在步驟822被再次詢問以尋找在另一服務(wù)節(jié)點的可用服務(wù)的一個新位置。
如果在步驟824識別到該邏輯名,則處理在步驟826繼續(xù),根據(jù)可接受的處理負(fù)載決定與所請求的對象引用關(guān)聯(lián)的一個地址。然后把該地址返回到請求的SLP,其示于步驟802,圖11(a)。如果在步驟826決定該服務(wù)當(dāng)前不能被實例化(激活),則處理前進(jìn)到步驟828,允許一個分配和加載處理,這通過檢查在該節(jié)點的節(jié)點高速緩沖存儲器狀態(tài)數(shù)據(jù)庫768、實現(xiàn)業(yè)務(wù)規(guī)則,在決定服務(wù)對象可為實例化使用的場合在該SLEE內(nèi)實現(xiàn)所請求的服務(wù)實例。接著,實現(xiàn)對象SLP實例的地址在步驟824返回給請求的客戶。
一旦選擇了S2的一個活動的實例,則為該S2實例的對象引用返回到SLEE1上的NT(步驟802)。該NT然后有效地轉(zhuǎn)換邏輯名S2為為S2的選擇的實例的一個對象標(biāo)識符,并在在S1和S2之間進(jìn)行處理間通信中使用為S2的對象標(biāo)識符。對象標(biāo)識符包括一個IP地址,端口,和標(biāo)識該對象實例的物理位置的其它信息。一旦決定了一個對象引用,則NOS通過實現(xiàn)遵從CORBA的ORB和除去諸如UDP/IP的協(xié)議的數(shù)據(jù)通信連接提供在兩個服務(wù)之間的對象連接性。被叫服務(wù)的位置,不管在同一個SLEE上運(yùn)行還是在幾千英里以外的另一個場地處的另一個SLEE上運(yùn)行,對呼叫服務(wù)完全透明。這樣,如果為服務(wù)一個呼叫需要的SLP在一個遠(yuǎn)程場地的SLEE上實例化,則該呼叫仍然在接收該呼叫的交換機(jī)上保持。優(yōu)選,一旦一個對象引用例如在另一場地通過NRS級被訪問一次,則NOS通過服務(wù)管理,保證該對象引用被高速緩沖存儲到請求場地為將來參考和被審查。這樣,在當(dāng)前的例子中,為減少當(dāng)該服務(wù)被再次需要而由啟動一個場地LRM查閱引起的后繼的查閱,為服務(wù)S2的對象引用,每當(dāng)它被定位后,被高速緩沖存儲到在SLEE1的LRM575的本地高速緩沖存儲器中。對熟悉本技術(shù)領(lǐng)域的人顯然,有很多方式在SLEE上提供服務(wù)對象引用數(shù)據(jù)。例如,可以使用一個NOS數(shù)據(jù)復(fù)制機(jī)構(gòu)來復(fù)制在一個場地LRM577處的所有對象引用到為該場地的每一個SLEE的每一個LRM。
在1-800呼叫(“18C”)的范圍中,現(xiàn)在參考圖13(a)-13(c)的流程圖和圖18的概念功能示意圖以例示的目的說明一個18C呼叫處理和服務(wù)使用方案。首先,如在步驟920所示,呼叫首先到達(dá)NGS交換機(jī)結(jié)構(gòu)75。當(dāng)NGS接收到一個呼叫時,載體控制部件(圖5)給呼叫控制部件提供接收該呼叫的一個訪問線路,以及ANI,撥的號碼,和為呼叫處理需要的其它數(shù)據(jù)。呼叫控制部件為該呼叫維護(hù)一個狀態(tài)模型,其根據(jù)它的編程邏輯執(zhí)行。另外在狀態(tài)模型中包括的是為實現(xiàn)一個ELP540實例和給FD510發(fā)送服務(wù)請求的觸發(fā)器,其示于圖18。為實現(xiàn)一個ELP實例,NGS呼叫控制部件90給NOS發(fā)送消息,使用為一個ELP的邏輯名,其在圖13(a)中的步驟923指示。NOS作為響應(yīng),給服務(wù)管理器對象(圖8)發(fā)送一個消息,在一個SLEE中實現(xiàn)一個ELP實例并返回為該ELP的一個對象引用給呼叫控制,如在步驟926指示。NGS呼叫控制部件包括該對象引用在一個服務(wù)請求消息中,該消息被發(fā)送到在SLEE中的FD,其在步驟929指示。這樣,由任何處理為該呼叫產(chǎn)生的所有合格的事件數(shù)據(jù)都寫入實例化的ELP處理中。特別是,服務(wù)請求消息送給為FD的邏輯名;該邏輯名由NOS NT部件轉(zhuǎn)換為為一個FD邏輯程序的物理地址,該邏輯程序運(yùn)行在接收到該呼叫的同一個服務(wù)節(jié)點上。在服務(wù)請求消息中包含的是撥叫的號碼,ANI,和其它數(shù)據(jù)。
接著,如在步驟931所示,F(xiàn)D使用其特征區(qū)分表來識別哪一個SLP處理接收到的服務(wù)請求。例如,如果接收到的消息是一個18C服務(wù)請求,則其由18C SLP處理。下面的表3是一個節(jié)錄的FD表的例子,具有包括指向各種“免費”的指針的條目,例如,1-800,呼叫服務(wù)。
入口端口表“001001”SLP指針′Vnet′“001002”指向FGD表的表指針FGD表
1800*表指針800表1888*表指針800表1900*表指針900表1*SLP指針‘本地號碼’800表1800收集SLP指向‘1-800-C’的指針18008888000SLP指向‘Op服務(wù)’的指針1800* SLP指向‘800服務(wù)’的指針1888* SLP指向‘800服務(wù)’的指針這里,F(xiàn)GD是一個特征組區(qū)分器。特別,根據(jù)該呼叫在網(wǎng)絡(luò)中何處始發(fā)(交換機(jī)板)和接收到的呼叫的類型(例如1-800),F(xiàn)D將決定一個合適的SLP邏輯名,例如,標(biāo)識“001002”’指示接收一個需要查閱FGD表(指向FGD表的指針)的呼叫。FGD表依賴被叫號碼例如800*依次維護(hù)指向其它表的指針,這里*是一個定界符。從該800表,例如FD獲得指向被請求的SLP邏輯名的指針。隨后,該SLP被調(diào)用,該服務(wù)請求被交給NOS,后者根據(jù)所請求的18C服務(wù)實現(xiàn)一個CLP545、LLPO530和SLP520對象實例。例如,對于LLPO,根據(jù)在其上接收到該呼叫的載體控制線路給NOS提供為該LLPO的一個邏輯名。該線路的標(biāo)識既可以根據(jù)ANI,也可以根據(jù)由載體控制部件80識別的訪問線。ANI識別啟動該呼叫的始發(fā)訪問線,其可以是也可以不是NGS接收該呼叫的同一條訪問線,亦即所接收到的呼叫可以始發(fā)于一個本地網(wǎng)絡(luò),例如,并傳送給在一個交換間的載體網(wǎng)絡(luò)上的交換機(jī)75。因此,與該線關(guān)聯(lián)的特征,諸如呼叫等待或呼叫中斷可以由該ANI識別。NOS為LLPO的邏輯名是一個物理地址,用于實現(xiàn)一個LLPO實例。雖然其它邏輯程序(諸如SLP)可以在其它場地實例化,但是LLP在它們關(guān)聯(lián)的線所在的場地實例化。LLP在可以在一個服務(wù)控制服務(wù)器上或者在一個呼叫控制服務(wù)器上的SLEE內(nèi)實例化。一旦實例被實現(xiàn),則LLPO詢問數(shù)據(jù)管理與該線關(guān)聯(lián)的特征,維護(hù)始發(fā)線的狀態(tài),并當(dāng)諸如呼叫等待或溢出路由選擇這些特征由呼叫者(亦即呼叫等待)或網(wǎng)絡(luò)(亦即溢出路由選擇)調(diào)用時調(diào)用任何這些特征。
參考步驟934,圖13(a),NOS從特征區(qū)分器接收一個服務(wù)請求切換請求,包含表示要被調(diào)用的特定服務(wù)例如18C的邏輯名。NOS識別該請求包含一個邏輯名并在它的實例表(未示出)內(nèi)查找以決定它是否具有任何可用的SLP處理以服務(wù)這一服務(wù)請求。它還通過NOS LRM功能識別所請求類型的哪一個實例要使用,如在步驟937指示。然后,如在步驟941指示,NOS給運(yùn)行在一個服務(wù)控制SLEE上的服務(wù)管理者對象發(fā)送一個請求以調(diào)用所請求的18C SLP服務(wù)。在該優(yōu)選的實施例中,NOS從一個服務(wù)控制服務(wù)器選擇SLP,該服務(wù)器從NGS接收始發(fā)到來的服務(wù)請求通知,然而,應(yīng)該理解,NOS可以通過實現(xiàn)NOS LRM和根據(jù)它的服務(wù)控制實例表和它們當(dāng)前的狀態(tài)在任何服務(wù)控制部件內(nèi)選擇SLP。如在步驟943指示,NOS決定所選擇的SLP是否已經(jīng)實例化和如果所選擇的SLP尚未實例化的話,將指導(dǎo)SM實現(xiàn)該SLP對象實例,如在步驟946指示。否則,如果所選擇的SLP已經(jīng)實例化,則線程管理器給該SLP對象指定一個新的處理線程,如在步驟945所示。
圖13(b)的下一步驟949需要實例化的SLP處理將其物理地址向NOS注冊,以及NOS分配該SLP給服務(wù)請求。然后,NOS把服務(wù)請求切換消息傳送給該新SLP,其在步驟951指示。與此并行,NOS給實例化的CLP發(fā)送所有數(shù)據(jù),包括為該實例化的SLP、ELP、和LLPO對象的對象引用。還給LLPO和SLP提供為CLP和ELP的對象引用,以便LLPO和SLP可以與CLP和ELP接口。最后,如在步驟954指示,SLP然后開始按照它編程的邏輯處理該呼叫。
在18C呼叫的環(huán)境中,18C SLP 520優(yōu)選從一個18C路由選擇數(shù)據(jù)庫(未示出)獲得必需的數(shù)據(jù)來作出合適的決定。如圖13(c)所示,18C SLP 520調(diào)用下面的步驟在步驟960給NOS NT發(fā)送一個它需要的為18C路由選擇數(shù)據(jù)庫的邏輯名;用該邏輯18C路由選擇數(shù)據(jù)庫名查詢DM并從DM接收實際的18C路由選擇DB名及其存儲的位置,其在步驟962指示;請求NOS LRM看18C路由選擇數(shù)據(jù)庫是否可在本地使用,如在步驟964所示,如果是的話,則返回18C數(shù)據(jù)庫的物理地址給18C SLP,其示于步驟966;通過發(fā)送被呼叫的800號碼、線路ID、始發(fā)交換機(jī)中繼線、和ANI給數(shù)據(jù)管理發(fā)送關(guān)于用戶簡檔查閱的詢問,如在步驟968指示;從DM接收包括交換機(jī)/中繼線的最后的路由選擇信息回到18C SLP,如在步驟970指示,在步驟972,請求DM查閱在路由選擇響應(yīng)中指定的終止的實際終止位置(節(jié)點)并從DM接收實際終止節(jié)點位置。之后,過程需要給ELP510發(fā)送路由選擇響應(yīng)信息為在呼叫上下文數(shù)據(jù)中放置,例如在DM中存儲,和使用切換命令給CLP545發(fā)送一個包括路由選擇信息的撥出(outdial)請求。在這一方案中,終止節(jié)點可以是遠(yuǎn)程的,在該種場合必須實現(xiàn)在該遠(yuǎn)程節(jié)點上的終止LLP實例和執(zhí)行簡檔查閱以決定在終止線路上的任何特征。在其它服務(wù)流程方案中,SLP可能必須調(diào)用一個或者更多其它SLP。
一旦SLP決定為一個呼叫的網(wǎng)絡(luò)終止,或反之決定為資源集合設(shè)備采取一個動作,例如檢測DTMF數(shù)字或播放聲音,則它發(fā)送一個服務(wù)響應(yīng)消息給NGS呼叫控制,如在步驟957指示。然后呼叫控制執(zhí)行指令,該指令可以包括指示NGS交換機(jī)75′(圖14)設(shè)定和完成該呼叫到一個網(wǎng)絡(luò)終止,其在步驟959所示。
更特別的是,實現(xiàn)一個撥出/掛斷切換(outdial/handoff)過程,它需要CLP545使用切換命令給LLPO(始發(fā)線路)發(fā)送該撥出,其傳遞給在呼叫交換機(jī)處的一個NOS代理,后者把該呼叫引導(dǎo)到終止節(jié)點。然后ELP處理寫該撥出l呼叫上下文數(shù)據(jù)到DM。
回過來參考步驟957,如果SLP給呼叫控制返回為一個網(wǎng)絡(luò)終止的物理地址,則為對其終止呼叫的該線路實現(xiàn)一個LLPT處理實例531。這通過允許NOS把為該LLPT的一個邏輯名與由該SLP提供的網(wǎng)絡(luò)終止關(guān)聯(lián)而實現(xiàn);這一邏輯名提供給NOS要么通過該SLP(在一個實施例中)或者通過在一個對FD的服務(wù)請求中的呼叫控制(在另一個實施例中)。NOS依次在存在終止線路的服務(wù)節(jié)點處的一個SLEE中實現(xiàn)該LLPT實例。
或者,在步驟957,SLP可以代之以返回一個為一個特定資源的請求,例如在處理18C呼叫的例子中一個IVR功能。NGS決定哪一個資源要被分配,亦即哪一個交換機(jī)端口具有IVR能力,VRU端口等,并給SLP返回為該資源的一個地址。然后該SLP識別為與該資源關(guān)聯(lián)的LLPT的一個地址(通過對數(shù)據(jù)管理的詢問)和請求實現(xiàn)該LLPT實例。然后把該呼叫引導(dǎo)到該資源并處理,也許用對NGIN的另一服務(wù)請求。
當(dāng)該呼叫完成后(亦即當(dāng)雙方斷開連接后),LLP從在每一交換機(jī)75、75′(圖14)處的NOS部件接收一個呼叫完成通知,并把該呼叫完成通知傳送給CLP。CLP把該呼叫完成通知傳送給相關(guān)的LLP和ELP,并當(dāng)由CLP通知觸發(fā)時被殺死。在其終止前,可以首先存儲ELP呼叫詳情數(shù)據(jù),該數(shù)據(jù)需要在呼叫完成后被維護(hù),例如用于出帳單和各種其它目的。
上面詳細(xì)說明了幾種優(yōu)選的實施例。應(yīng)該理解,本發(fā)明的范圍也包括與所述實施例不同但在權(quán)利要求的范圍內(nèi)的實施例。
例如,通用計算機(jī)被理解為是一種計算設(shè)備,它不是為一類應(yīng)用專門制造。通用計算機(jī)可以是任何大小的任何計算設(shè)備,其可以執(zhí)行為實現(xiàn)本發(fā)明所需要的功能。
一個另外的例子是“Java”編程語言可以用其它具有類似特征和執(zhí)行與實現(xiàn)本發(fā)明所需要的類似功能的等價的編程語言代替。
這些術(shù)語以及其它術(shù)語在這里的使用不意味著限制本發(fā)明到單獨這些術(shù)語。所使用的術(shù)語可以與同義的和/或指等價事情的其它術(shù)語互換。包含的詞匯在考慮本發(fā)明的范圍時應(yīng)該解釋為非窮舉的。還應(yīng)該理解,本發(fā)明的各種實施例使用硬件、軟件或微編碼固件或用它們實現(xiàn)。
雖然本發(fā)明結(jié)合上述實施例公開和討論,但是對于熟悉本技術(shù)領(lǐng)域的人十分明顯,在本發(fā)明的精神和范圍內(nèi)可以進(jìn)行大量的改變、變化和修改。因此,打算用下面的權(quán)利要求包含這種變化和修改。
權(quán)利要求
1.一種用于具有多個服務(wù)節(jié)點的通信網(wǎng)絡(luò)控制系統(tǒng),每一個節(jié)點具有一個存儲器存儲設(shè)備,和一個執(zhí)行環(huán)境,用于響應(yīng)在與一個服務(wù)節(jié)點關(guān)聯(lián)的一個網(wǎng)絡(luò)交換機(jī)單元上接收到一個事件執(zhí)行服務(wù),所述系統(tǒng)包括一個服務(wù)管理器設(shè)備,用于在每一節(jié)點上產(chǎn)生一個服務(wù)簡檔,服務(wù)簡檔包括與在每一節(jié)點的服務(wù)處理相關(guān)的服務(wù)對象資源的類型和數(shù)量,和根據(jù)所述簡檔下載服務(wù)對象資源的所述類型和數(shù)量到所述節(jié)點;實例化機(jī)構(gòu),用于實現(xiàn)服務(wù)對象實例而在所述一個或者多個執(zhí)行環(huán)境中執(zhí)行;和資源管理設(shè)備,用于跟蹤一個服務(wù)節(jié)點的執(zhí)行環(huán)境資源,和維護(hù)在所述網(wǎng)絡(luò)內(nèi)的每一服務(wù)節(jié)點可用的服務(wù)類型表,每一服務(wù)類型具有一個相關(guān)的能力狀態(tài),它指示一個請求的服務(wù)是否可用于在一個服務(wù)節(jié)點實例化,其中,當(dāng)所述能力狀態(tài)指示一個所請求的服務(wù)不可用于在所述網(wǎng)絡(luò)中實例化時,所述資源管理設(shè)備對所述中心管理器設(shè)備通信,說明需要實現(xiàn)新服務(wù)對象實例以下載和激活在一個服務(wù)節(jié)點處的新服務(wù)。
2.如權(quán)利要求1所述系統(tǒng),其中,所述實例化機(jī)構(gòu)包括一個第一對象,用于從所述存儲器存儲系統(tǒng)加載一個或者多個服務(wù)對象并為在所述執(zhí)行環(huán)境中執(zhí)行而實現(xiàn)所述一個或者多個對象實例;相應(yīng)于一個特定服務(wù)的一個第二對象,用于為相應(yīng)于每一接收到的所述服務(wù)請求的每一服務(wù)實例分配一個或者多個服務(wù)線程,每一服務(wù)線程實例具有一個唯一的與之關(guān)聯(lián)的標(biāo)識符。
3.如權(quán)利要求2所述系統(tǒng),另外包括一個網(wǎng)絡(luò)操作系統(tǒng),用于在執(zhí)行對象實例之間提供實時通信消息和事件,所述第二對象相應(yīng)于為在所述服務(wù)實例之間的事件和消息提供通道的特定服務(wù),所述事件和消息包括所述唯一的標(biāo)識符以協(xié)調(diào)接收到的消息和事件到適當(dāng)?shù)姆?wù)實例。
4.如權(quán)利要求3所述系統(tǒng),另外包括為每一服務(wù)線程實例分配的一個事件隊列機(jī)構(gòu),用于排隊與所述在服務(wù)執(zhí)行過程中接收到的服務(wù)實例關(guān)聯(lián)的事件,其中,事件具有相關(guān)的優(yōu)先級,指示所述事件應(yīng)該被執(zhí)行的順序,所述事件隊列設(shè)備允許按照其相關(guān)的優(yōu)先級處理接收的事件。
5.如權(quán)利要求3所述系統(tǒng),另外包括一個類加載器處理,用于從所述存儲器存儲系統(tǒng)根據(jù)一個為所述服務(wù)節(jié)點實現(xiàn)初始服務(wù)能力的配置文件最初加載一個或者多個服務(wù)對象,所述類加載器負(fù)責(zé)根據(jù)一個預(yù)定的服務(wù)能力策略實現(xiàn)要成為可用的所述第一對象和任何服務(wù)對象實例。
6.如權(quán)利要求3所述系統(tǒng),其中,所述相應(yīng)于一個特定服務(wù)的第二對象包括線程管理器實例,用于比較與一個服務(wù)關(guān)聯(lián)的線程實例的數(shù)量與在所述服務(wù)簡檔決定的一個預(yù)定的閾值,并當(dāng)所述執(zhí)行環(huán)境不再支持實現(xiàn)新服務(wù)線程實例時給所述資源管理設(shè)備產(chǎn)生警告信號。
7.如權(quán)利要求6所述系統(tǒng),其中,所述服務(wù)對象實例化機(jī)構(gòu)包括所述網(wǎng)絡(luò)操作系統(tǒng),所述資源管理設(shè)備另外跟蹤在每一服務(wù)節(jié)點處的執(zhí)行環(huán)境的處理能力并給所述網(wǎng)絡(luò)操作系統(tǒng)提供一個指示,指示在一個服務(wù)節(jié)點處的執(zhí)行環(huán)境是否可以根據(jù)其處理能力執(zhí)行一個服務(wù)。
8.如權(quán)利要求7所述系統(tǒng),其中,當(dāng)在一個執(zhí)行環(huán)境處當(dāng)前執(zhí)行的服務(wù)線程的數(shù)目超過所述預(yù)定閾值時,所述資源管理設(shè)備進(jìn)一步給所述網(wǎng)絡(luò)操作系統(tǒng)通信一個過載狀態(tài),并防止在所述執(zhí)行環(huán)境實現(xiàn)另外的服務(wù)對象實例。
9.如權(quán)利要求3所述系統(tǒng),其中,所述實例化機(jī)構(gòu)包括一個相應(yīng)于在每一所述執(zhí)行環(huán)境處的一個執(zhí)行環(huán)境中執(zhí)行的服務(wù)的實例的活動的服務(wù)對象線程的注冊表,映射設(shè)備,用于以一個對象引用映射一個服務(wù)邏輯名,所述網(wǎng)絡(luò)操作系統(tǒng)使用所述對象引用來允許實現(xiàn)在一個本地執(zhí)行環(huán)境中的一個所請求的服務(wù)對象線程實例。
10.一種提供在通信網(wǎng)絡(luò)中的服務(wù)節(jié)點上的服務(wù)的方法,每一個服務(wù)節(jié)點具有一個存儲器存儲設(shè)備,和一個執(zhí)行環(huán)境,用于響應(yīng)在與一個服務(wù)節(jié)點關(guān)聯(lián)的一個網(wǎng)絡(luò)交換機(jī)單元上一個事件的接收而執(zhí)行服務(wù),所述方法包括為每一服務(wù)節(jié)點產(chǎn)生一個服務(wù)簡檔,服務(wù)簡檔包括與在每一節(jié)點的服務(wù)處理相關(guān)的服務(wù)對象資源的類型和數(shù)量,和根據(jù)所述簡檔下載服務(wù)對象資源的所述類型和數(shù)量到所述節(jié)點;實現(xiàn)服務(wù)對象實例,為在所述一個或者多個執(zhí)行環(huán)境中執(zhí)行;跟蹤在一個服務(wù)節(jié)點的執(zhí)行環(huán)境資源,通過維護(hù)在每一服務(wù)節(jié)點可用的服務(wù)類型表實現(xiàn),每一服務(wù)類型具有一個相關(guān)的能力狀態(tài),它指示一個被請求的服務(wù)是否可用于在一個服務(wù)節(jié)點實例化,其中,當(dāng)所述能力狀態(tài)指示一個所請求的服務(wù)不可用于在所述網(wǎng)絡(luò)中實例化時,給中心管理設(shè)備通信需要實現(xiàn)新服務(wù)對象實例,從而下載和激活在一個服務(wù)節(jié)點處的新服務(wù)對象。
11.如權(quán)利要求10所述方法,其中,所述實例化步驟包括提供一個第一對象,用于從所述存儲器存儲系統(tǒng)加載一個或者多個服務(wù)對象并為根據(jù)接收到的服務(wù)請求在所述執(zhí)行環(huán)境內(nèi)執(zhí)行而實現(xiàn)所述一個或者多個對象實例;提供相應(yīng)于一個特定服務(wù)的一個第二對象,用于為相應(yīng)于每一接收到的所述服務(wù)請求的每一服務(wù)實例分配一個或者多個服務(wù)線程,每一服務(wù)線程實例具有一個唯一的與之關(guān)聯(lián)的標(biāo)識符。
12.如權(quán)利要求11所述方法,另外包括在一個或者多個執(zhí)行服務(wù)對象之間通信在服務(wù)對象執(zhí)行期間產(chǎn)生的消息和事件以支持服務(wù)處理的步驟,所述事件和消息由所述唯一的標(biāo)識符標(biāo)識以通過所述第二對象正確地執(zhí)行服務(wù)實例。
13.如權(quán)利要求12所述方法,另外包括排隊與在服務(wù)執(zhí)行過程中接收到的一個執(zhí)行服務(wù)實例關(guān)聯(lián)的事件的步驟,所述事件具有相關(guān)的優(yōu)先級,指示所述事件應(yīng)該被執(zhí)行的順序,其中,所述接收到的事件按照其相應(yīng)的優(yōu)先級處理。
14.如權(quán)利要求10所述方法,另外包括從所述存儲器存儲系統(tǒng)根據(jù)一個為所述服務(wù)節(jié)點提供初始服務(wù)能力的配置文件最初加載一個或者多個服務(wù)對象,所述類加載器負(fù)責(zé)根據(jù)一個預(yù)定的服務(wù)能力策略實現(xiàn)要成為可用的所述第一對象和任何服務(wù)對象實例。
15.如權(quán)利要求11所述方法,其中,所述跟蹤在一個服務(wù)節(jié)點處執(zhí)行環(huán)境資源的步驟包括比較與一個服務(wù)關(guān)聯(lián)的線程實例的數(shù)量與在所述服務(wù)簡檔中決定的一個預(yù)定的閾值;當(dāng)一個執(zhí)行環(huán)境不再支持實現(xiàn)新服務(wù)線程實例時給資源管理設(shè)備產(chǎn)生一個警告信號。
16.如權(quán)利要求10所述方法,其中,所述實例化機(jī)構(gòu)包括維護(hù)相應(yīng)于在每一所述服務(wù)節(jié)點的一個執(zhí)行環(huán)境中執(zhí)行的服務(wù)實例的活動的服務(wù)對象線程的注冊表,映射一個服務(wù)邏輯名與一個對象引用;使用所述對象引用允許實現(xiàn)在一個本地執(zhí)行環(huán)境中的一個所請求的服務(wù)對象線程實例。
全文摘要
提供在智能網(wǎng)絡(luò)中的一個交換機(jī)(159)上接收的實時呼叫處理服務(wù)的系統(tǒng)和方法,所述網(wǎng)絡(luò)具有一個或者多個服務(wù)節(jié)點(204),節(jié)點具有始發(fā)交換機(jī)用于接收呼叫事件。所述系統(tǒng)包括一個平臺獨立的通信系統(tǒng),用于允許在在該智能網(wǎng)絡(luò)中的服務(wù)節(jié)點(204)上執(zhí)行的對象實例之間通信。一個在與始發(fā)端交換機(jī)關(guān)聯(lián)的執(zhí)行環(huán)境中執(zhí)行的操作系統(tǒng)代理對象(204)實例通信相應(yīng)于在該交換機(jī)接收的呼叫事件的始發(fā)端信息給在該網(wǎng)絡(luò)中一個服務(wù)節(jié)點(204)上提供的執(zhí)行環(huán)境中執(zhí)行的一個或者多個對象實例;該對象實例包括一個線路對象實例,用于維護(hù)與一個呼叫始發(fā)關(guān)聯(lián)的一條通信線路的狀態(tài),和服務(wù)對象實現(xiàn)根據(jù)用戶請求執(zhí)行服務(wù)的方法。
文檔編號H04Q3/545GK1334939SQ99814463
公開日2002年2月6日 申請日期1999年10月20日 優(yōu)先權(quán)日1998年10月20日
發(fā)明者阿賈伊·蒂歐, 溫迪·黃, 亨利·王, 薩米·西德 申請人:阿賈伊·蒂歐, 溫迪·黃, 亨利·王, 薩米·西德