專利名稱::電信平臺系統(tǒng)及其方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及電信領(lǐng)域。更特別地,本發(fā)明涉及一個電信平臺系統(tǒng)及其方法。在本發(fā)明的一個方面,一個電信平臺形成在執(zhí)行電信功能的應(yīng)用程序和在支持這些應(yīng)用程序的一站點的至少一個節(jié)點上運行的一個操作系統(tǒng)之間的一個接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口。電信平臺包括可以提供節(jié)點間配置,監(jiān)視和管理功能的網(wǎng)絡(luò)管理進程,可以提供節(jié)點初始化、節(jié)點配置、監(jiān)視和管理功能的節(jié)點管理進程,可以對預(yù)定事件作出響應(yīng),提供初始化、終結(jié)和任務(wù)的分配的事件進程,可以為開發(fā)應(yīng)用程序提供多個編程工具庫的公共進程,可以提供處理功能的消息的通信進程,和可以提供面向?qū)ο蟮囊粋€分布式數(shù)據(jù)庫的分布對象進程。在本發(fā)明的另一個方面,提供了一個方法,用于在執(zhí)行電信功能的應(yīng)用程序和在支持這些應(yīng)用程序的一站點的至少一個節(jié)點上運行的一個操作系統(tǒng)之間提供一個軟件接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口。這個方法包括提供可以提供節(jié)點間配置,監(jiān)視和管理功能的網(wǎng)絡(luò)管理進程,提供可以提供節(jié)點初始化、節(jié)點配置、監(jiān)視和管理功能的節(jié)點管理進程,提供可以對預(yù)定事件作出響應(yīng),提供初始化、終結(jié)和任務(wù)的分配的事件進程,提供可以為開發(fā)應(yīng)用程序提供多個編程工具庫的公共進程,提供可以提供處理功能的消息的通信進程,和提供可以提供面向?qū)ο蟮囊粋€分布式數(shù)據(jù)庫的分布對象進程。在本發(fā)明的另一個方面,提供了一個方法,用于在執(zhí)行電信功能的應(yīng)用程序和在支持這些應(yīng)用程序的一站點的至少一個節(jié)點上運行的一個操作系統(tǒng)之間提供一個軟件接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口。這個方法包括提供可以用于從服務(wù)中刪除節(jié)點、將節(jié)點恢復(fù)到服務(wù)、從服務(wù)中刪除應(yīng)用和將應(yīng)用恢復(fù)到服務(wù)中的一個網(wǎng)絡(luò)平臺管理者,提供可以用于監(jiān)視節(jié)點和使發(fā)生故障的節(jié)點進行恢復(fù)的一個網(wǎng)絡(luò)系統(tǒng)完整性管理者,提供可以用于與連接到這個電信平臺的一個主機進行接口通信的一個配置管理者,提供可以用于為一個節(jié)點提供管理功能的一個節(jié)點平臺管理者,提供可以用于根據(jù)節(jié)點平臺管理者的指令開始和停止處理的一個服務(wù)管理者,和提供可以用于節(jié)點間鏈路的一個節(jié)點系統(tǒng)完整性管理者。為了更好地理解本發(fā)明,可以參考附圖,其中圖1是根據(jù)本發(fā)明的一個實施方式的電信平臺結(jié)構(gòu)層的一個簡化框圖;圖2是根據(jù)本發(fā)明的一個實施方式的,電信平臺概念部件的一個簡化框圖;圖3是根據(jù)本發(fā)明的一個實施方式,電信平臺的概念部件和其關(guān)系的一個框圖;圖4是根據(jù)本發(fā)明的一個實施方式,電信平臺的邏輯劃分的一個簡化框圖;圖5是根據(jù)本發(fā)明的一個實施方式,電信平臺服務(wù)和它們相關(guān)性的一個簡化框圖;圖6是根據(jù)本發(fā)明的一個實施方式,電信平臺的物理劃分的一個簡化框圖;圖7A是根據(jù)本發(fā)明的一個實施方式,NetPM的測試流的一個框圖;圖7B是根據(jù)本發(fā)明的一個實施方式,NetPM的時間同步流的一個框圖;圖7C顯示了根據(jù)本發(fā)明的一個實施方式,在網(wǎng)絡(luò)管理服務(wù)和節(jié)點管理服務(wù)之間故障監(jiān)測和交互的一個框圖;圖7D顯示了根據(jù)本發(fā)明的一個實施方式,在核心服務(wù)之間的交互作用的一個框圖;圖8是根據(jù)本發(fā)明的一個實施方式,電信平臺節(jié)點的一個狀態(tài)轉(zhuǎn)移圖;圖9A是根據(jù)本發(fā)明的一個實施方式,節(jié)點啟動進程的一個簡化框圖;圖9B是根據(jù)本發(fā)明的一個實施方式,節(jié)點初始化進程的一個消息流圖;圖9C是根據(jù)本發(fā)明的一個實施方式,節(jié)點初始化進程的一個消息流圖;圖9D是根據(jù)本發(fā)明的一個實施方式,節(jié)點初始化進程的一個消息流圖;圖10是根據(jù)本發(fā)明的一個實施方式,服務(wù)管理接口協(xié)議的一個消息流圖;圖11是根據(jù)本發(fā)明的一個實施方式,事件管理者使用的一個簡化框圖;圖12是根據(jù)本發(fā)明的一個實施方式,一個簡化的信息和問題報告(IPR)流圖;圖13是根據(jù)本發(fā)明的一個實施方式,一個簡化的IPR處理流圖;圖14是根據(jù)本發(fā)明的一個實施方式,一個示例性的IPR視圖的、圖形化用戶界面;圖15是根據(jù)本發(fā)明的一個實施方式,數(shù)據(jù)收集的一個簡化框圖;圖16是根據(jù)本發(fā)明的一個實施方式,數(shù)據(jù)收集子系統(tǒng)的一個簡化框圖;圖17是根據(jù)本發(fā)明的一個實施方式,閾值計數(shù)器數(shù)據(jù)通信路徑的一個簡化框圖;圖18是根據(jù)本發(fā)明的一個實施方式,閾值計數(shù)器子系統(tǒng)的一個簡化框圖;圖19是根據(jù)本發(fā)明的一個實施方式,消息處理子系統(tǒng)的一個簡化框圖;圖20是根據(jù)本發(fā)明的一個實施方式,消息處理測試的一個簡化框圖21是根據(jù)本發(fā)明的一個實施方式,分布式對象消息環(huán)境的一個簡化框圖;圖22是根據(jù)本發(fā)明的一個實施方式,內(nèi)部跟蹤和追蹤對象關(guān)系的一個簡化框圖;圖23是根據(jù)本發(fā)明的一個實施方式,字典管理系統(tǒng)的一個簡化框圖;圖24是根據(jù)本發(fā)明的一個實施方式,電信平臺的一個硬件表示的一個簡化框圖;圖25是根據(jù)本發(fā)明的一個實施方式,電信平臺的軟件表示的一個簡化框圖;圖26是根據(jù)本發(fā)明的一個實施方式,電信平臺的軟件與硬件的動態(tài)匹配的一個簡化框圖。本發(fā)明的電信平臺(TP)10是被設(shè)計成支持開發(fā)和執(zhí)行分布式、可擴縮的、能夠抗故障的電信應(yīng)用的一個軟件系統(tǒng)12。電信平臺10提供了一套獨特的、用于在一個計算機環(huán)境例如UNIX下進行開發(fā)的工具。這些工具不僅包括電信平臺開發(fā)和實時運行包所提供的接口,庫和可執(zhí)行代碼的集合,并且還包括設(shè)計和管理分布式、可擴縮和抗故障應(yīng)用所需要的一套概念部件。如圖1所顯示的,電信平臺10包括3個不同的軟件層次14-16。層#1是一個電信平臺應(yīng)用編程接口(API)層14;層#2是一個電信平臺服務(wù)層15;和#3是一個系統(tǒng)接口層16。電信平臺API層14為訪問電信平臺服務(wù)層15提供了通信方法,這包括電信中間件服務(wù)。電信平臺服務(wù)層15是為例如基于UNIX的電信系統(tǒng)提供最普遍需要的中間件服務(wù)的軟件層。系統(tǒng)接口層16包括操作系統(tǒng)(OS)API和網(wǎng)絡(luò)鏈路。系統(tǒng)接口層16定義了進程和線程管理,存儲器管理,定時器,文件系統(tǒng),通信,硬件裝置的接口,和其它系統(tǒng)部件的功能。電信平臺10允許高層客戶應(yīng)用12與操作系統(tǒng)和網(wǎng)絡(luò)分離。通過使用電信平臺10,開發(fā)人員可以編寫應(yīng)用程序,而不必掌握那些代表應(yīng)用執(zhí)行任務(wù)的其支持服務(wù)的復(fù)雜性,例如操作系統(tǒng)和網(wǎng)絡(luò)。圖2是與電信平臺10相關(guān)的概念部件的一個框圖。最小的概念部件是一個可配置部件(CE)30。一個可配置部件30被電信平臺10定義為可以被電信平臺10管理的、一個UNIX可執(zhí)行程序的一個或者多個拷貝。例如,一個可配置部件可以是一個鏈路進程,數(shù)據(jù)庫,圖形化用戶界面,定時進程,查詢進程,錯誤處理進程等等??膳渲貌考?0是應(yīng)用程序的基本構(gòu)建模塊。電信平臺10給應(yīng)用程序開發(fā)人員所提供最基本服務(wù)是那些產(chǎn)生、配置和監(jiān)視可配置部件30的服務(wù)??膳渲貌考?0可以被配置成從節(jié)點初始化期間的某特定點開始。UNIX環(huán)境下可執(zhí)行的、可配置部件表示可以允許多次,以支持可擴展性或者冗余性。提供足夠服務(wù)所需要的、可配置部件的實例數(shù)目可以被配置,并且還可以配置在一個進程故障的事件中,這個實例是否應(yīng)被電信平臺10自動地重新啟動。一個可配置部件的可配置屬性包括運行級別,這是一個可配置部件開始運行時的運行級別。運行級別包括PRE_MIN,OS_MIN,IN_SVC,和POST_IN_SVC。PRE_MIN運行級別規(guī)定了在引導(dǎo)期間,可配置部件可以被一個服務(wù)管理子系統(tǒng)自動地產(chǎn)生。PRE_MIN可配置部件不被平臺管理者子系統(tǒng)監(jiān)視。OS_MIN規(guī)定了當(dāng)節(jié)點轉(zhuǎn)移到OS_MIN時,可配置部件將被產(chǎn)生。IN_SVC規(guī)定了當(dāng)節(jié)點轉(zhuǎn)移到IN_SVC時,可配置部件將被產(chǎn)生。POST_IN_SVC規(guī)定了當(dāng)節(jié)點轉(zhuǎn)移到POST_IN_SVC狀態(tài)時,可配置部件將被產(chǎn)生。另一個可配置屬性是實例的數(shù)目NumberOfInstances,它規(guī)定了多少個可執(zhí)行的拷貝可以被運行。InServiceThreshold是規(guī)定需要運行多少個不經(jīng)NumberOfInstances來使能可配置部件的狀態(tài)的一個可配置屬性。如果實例的數(shù)目在這個閾值以下,將刪除整個可配置部件或者可配置部件的所有實例??膳渲貌考牧硪粋€屬性是規(guī)定心跳消息被發(fā)送到一個可配置部件的時刻表的HeartbeatSchedule。每一個可配置部件也可以有一個AuditSchedule,它規(guī)定了審計消息被發(fā)送到可配置部件的時刻表。一個可配置部件集合(CESet)26被電信平臺10定義為被設(shè)計成可以一起放置在一個或者多個節(jié)點24的一組可配置部件。一個可配置部件集合是一個分布式部件。電信平臺10可能不直接管理可配置部件集合26,但是支持對它們的產(chǎn)生和部署工作??膳渲貌考?6可以被看作是一個應(yīng)用28的可分布式和/或者可復(fù)制部件。一個應(yīng)用28被定義為完全定義了一個分布式程序的所有可配置部件30的一組可配置部件集合26。電信平臺10提供了軟件來對一個站點20內(nèi)的應(yīng)用28進行管理。從定義它們的分布式部件的角度,來定義應(yīng)用的配置允許獨立地定義一個分布式應(yīng)用軟件,而與它們所運行的硬件無關(guān)。在時間的某一點上,一個應(yīng)用的可配置部件集合將被部署到一個站點20的節(jié)點24。當(dāng)出現(xiàn)這個情形時,將根據(jù)用于支持每一個可配置部件集合的節(jié)點數(shù)目來決定應(yīng)用28的可擴展性和抗故障性。一個節(jié)點24被定義為其上運行了電信平臺10的一個支撐操作系統(tǒng)的一個實例。電信平臺10提供了管理節(jié)點24上進程的軟件。節(jié)點24可以是能夠抗故障的或者不能夠抗故障的、單或者多處理器。電信平臺10運行操作系統(tǒng)的服務(wù),并且一般的情形下,不知道運行它的硬件。電信平臺僅需要非常少的、關(guān)于一個節(jié)點24的配置信息。通過提供節(jié)點的名字和唯一的設(shè)備標(biāo)識,節(jié)點就被配置到系統(tǒng)中。節(jié)點24具有被電信平臺所支持的、描述在電信平臺內(nèi)部啟動可配置部件順序的操作狀態(tài)。這個操作狀態(tài)包括HALTED,PRE_MIN,OS_MIN,IN_SVC,和POST_IN_SVC。HALTED節(jié)點狀態(tài)指示節(jié)點的操作系統(tǒng)已經(jīng)被關(guān)閉。PRE_MIN狀態(tài)被用于啟動需要在啟動OS_MIN狀態(tài)中的可配置部件以前被啟動的可配置部件。電信平臺首先啟動被配置成在這個節(jié)點的PRE_MIN中運行的所有可配置部件,然后立即開始運行被配置成在OS_MIN狀態(tài)中運行的可配置部件。被配置成在PRE_MIN中運行的可配置部件不直接影響這個節(jié)點的狀態(tài)。OS_MIN節(jié)點狀態(tài)協(xié)調(diào)被配置成在OS_MIN運行級別運行的、將被啟動來將這個節(jié)點帶入OS_MIN狀態(tài)的所有可配置部件。在這個節(jié)點轉(zhuǎn)移到OS_MIN狀態(tài)以前,為OS_MIN節(jié)點狀態(tài)而配置的所有可配置部件實現(xiàn)它們的可配置運行級轉(zhuǎn)移狀態(tài)。一旦已經(jīng)實現(xiàn)了OS_MIN節(jié)點狀態(tài),如果任何可配置部件將其狀態(tài)改變到其運行級轉(zhuǎn)移狀態(tài)以下,電信平臺將這個節(jié)點的狀態(tài)降低到HALTED節(jié)點狀態(tài)。一個被關(guān)閉的節(jié)點可以自動地恢復(fù)。IN_SRV節(jié)點狀態(tài)協(xié)調(diào)為IN_SRV運行級配置的可配置部件。在這個節(jié)點轉(zhuǎn)移到IN_SRV狀態(tài)以前,為IN_SRV節(jié)點狀態(tài)而配置的所有可配置部件實現(xiàn)其可配置運行級別的轉(zhuǎn)移狀態(tài)。一旦已經(jīng)實現(xiàn)IN_SRV節(jié)點狀態(tài),如果任何可配置部件將其狀態(tài)改變到其運行級別轉(zhuǎn)移狀態(tài)以下,電信平臺將這個節(jié)點的狀態(tài)降低到OS_MIN節(jié)點狀態(tài)。如果這個節(jié)點的降級不是由人工發(fā)起的,就可以進行一個節(jié)點的自動恢復(fù)。POST_IN_SRV節(jié)點狀態(tài)被用于對在一個節(jié)點已經(jīng)轉(zhuǎn)移到IN_SRV狀態(tài)以后就必須立即被啟動的可配置部件進行配置。一旦一個節(jié)點已經(jīng)實現(xiàn)了IN_SRV狀態(tài),電信平臺將產(chǎn)生每一個POST_IN_SRV可配置部件。POST_IN_SRV可配置部件的狀態(tài)改變不影響節(jié)點狀態(tài),并且可以重復(fù)地啟動和停止POST_IN_SRV可配置部件狀態(tài)的改變。停止一個POST_IN_SRV可配置部件的進程不促使這個節(jié)點降級到一個較低的節(jié)點狀態(tài)。一個站點20被電信平臺定義為分布式應(yīng)用可以在其中進行部署的一組節(jié)點。電信平臺提供了可以管理一個站點20內(nèi)部的節(jié)點24的、稱作平臺管理者的一個電信平臺應(yīng)用程序。一個站點可以由至少一個節(jié)點組成。在多節(jié)點的站點中,平臺管理者應(yīng)用可以在兩個節(jié)點中作為一個激活的/備份分布式應(yīng)用來進行運行。在單節(jié)點站點中,平臺管理者應(yīng)用與用戶所定義的應(yīng)用一起在這單個節(jié)點上進行運行,但是其運行沒有一個備份節(jié)點所提供的處理故障的能力。平臺管理者提供了對一個站點的管理。一個處理器服務(wù)組(PSG)22被定義為作為冗余而部署的一特定可配置部件集合26的一組節(jié)點。電信平臺10提供了軟件應(yīng)用來對一個應(yīng)用內(nèi)的處理器服務(wù)組進行管理。處理器服務(wù)組通過允許電信平臺用戶標(biāo)識為了提供一個足夠的服務(wù)級別而需要在其上運行一個可配置部件集合的節(jié)點的數(shù)目,來支持冗余備份。當(dāng)節(jié)點狀態(tài)或者在節(jié)點上運行的可配置部件集合改變時,電信平臺10證實維持了合適的服務(wù)級別,或者它根據(jù)配置來改變應(yīng)用狀態(tài)。圖3是顯示采用了被映射到硬件部件的、電信平臺10的概念部件的一個系統(tǒng)40設(shè)計的一個圖。就硬件結(jié)構(gòu)來說,一個節(jié)點是在一個網(wǎng)絡(luò)內(nèi)部(例如以太網(wǎng)內(nèi)部)、能夠用作一個客戶端或者一個服務(wù)器的一個計算機處理器。每一個節(jié)點在其上均運行了操作系統(tǒng)的一單個實例。在一個節(jié)點內(nèi)部的處理器不能夠相互獨立地進行運行,因為它們與操作系統(tǒng)相關(guān)。在一個站點內(nèi)的每一個節(jié)點可以被分類為一個平臺管理者或者一個應(yīng)用節(jié)點。一個站點可以包括連接到一個主機的一個節(jié)點或者一組節(jié)點。平臺管理者節(jié)點具有一個冗余的合作設(shè)備。平臺管理者節(jié)點和其合作設(shè)備可以工作于一個激活/備份模式或者一個負(fù)載分擔(dān)的模式。系統(tǒng)40有8個節(jié)點,系統(tǒng)40包括兩個平臺管理者節(jié)點(激活的平臺管理者節(jié)點42和備用的平臺管理者節(jié)點43),和6個應(yīng)用節(jié)點44-49。在節(jié)點間部署了用于根據(jù)呼叫發(fā)起的時間或者與時間相關(guān)的路由來處理電話呼叫的一個應(yīng)用50。應(yīng)用50的可配置部件集合52和54是提供與時間相關(guān)的路由功能的分布式部件。每一個可配置部件集合52和54包括一特定時間區(qū)域的UNIX可執(zhí)行程序或者可配置部件。如所顯示的,應(yīng)用50不必要存在于一單個應(yīng)用節(jié)點44-49上。將可配置部件集合匹配到不同的節(jié)點是可取的。這允許通過增加配置了可配置部件集合的節(jié)點的數(shù)目,就可以對應(yīng)用進行擴縮。從邏輯和物理劃分的角度來描述電信平臺的內(nèi)部結(jié)構(gòu)。邏輯劃分將電信平臺分成如圖4所顯示的、不同的功能區(qū)域。每一個功能區(qū)域包括一個有內(nèi)聚力的、能夠提供一個特定系統(tǒng)功能的類組。物理劃分描述了分解系統(tǒng)整體的分離的軟件和硬件。電信平臺10所提供的服務(wù)可以被分成兩組應(yīng)用服務(wù)60和核心服務(wù)62。應(yīng)用服務(wù)可以包括執(zhí)行信息和問題報告(IPR)/告警64,統(tǒng)計65,字典66,圖形用戶界面(GUI)67和主機維護模擬器(HMS)的服務(wù)。IPR/告警服務(wù)64提供了一個標(biāo)準(zhǔn)的機制來告知系統(tǒng)用戶錯誤的條件和其它相關(guān)的系統(tǒng)信息。統(tǒng)計服務(wù)65提供了訪問系統(tǒng)范圍內(nèi)測量數(shù)據(jù)和根據(jù)所收集的數(shù)據(jù)產(chǎn)生報告的方法。字典服務(wù)66提供了被設(shè)計成支持?jǐn)?shù)據(jù)存儲(永久地,共享的或者私有的)的類并且提供對數(shù)據(jù)的訪問。圖形用戶界面服務(wù)67提供了用于對建立GUI應(yīng)用的基本抽象,提供對系統(tǒng)公用程序的訪問和對系統(tǒng)本身的訪問,例如xterm窗口和操作系統(tǒng)公用應(yīng)用程序。主機維護模擬器訪問75提供了一個方法,以使當(dāng)這個系統(tǒng)內(nèi)部中僅有一個節(jié)點時或者僅連接了一個主機時,與電信平臺進行接口通信。只有通過這個主機,才能進行平臺的控制和操作。核心服務(wù)62可能包括執(zhí)行網(wǎng)絡(luò)管理68,節(jié)點管理69,分布式對象70,通信72,公共功能73,和事件處理74的服務(wù)。網(wǎng)絡(luò)管理服務(wù)68指揮網(wǎng)絡(luò)活動,例如節(jié)點配置和網(wǎng)絡(luò)層次的故障處理。節(jié)點管理服務(wù)69指揮節(jié)點層次的處理,例如節(jié)點狀態(tài)報告和鏈路管理。分布式對象服務(wù)70為一個多處理環(huán)境中的、基于對象的通信提供一個分布式數(shù)據(jù)庫。通信服務(wù)72提供了一個機制來對穿過平臺外部的、進程間鏈路的消息進行處理。公共服務(wù)73提供了一個編程工具庫,以幫助快速地開發(fā)在電信平臺上或者電信平臺內(nèi)進行運行的進程。事件服務(wù)74提供了發(fā)起,終結(jié),和/或者劃分對一個任務(wù)來說很重要的特定動作的能力。作為一個最小的電信平臺,電信平臺提供了所有核心服務(wù),高層應(yīng)用使用這些服務(wù)來完成低層次的功能。圖5進一步顯示了電信平臺服務(wù)及其相關(guān)性。開發(fā)人員通過電信平臺應(yīng)用程序接口14來訪問所有核心和應(yīng)用服務(wù)。這個開發(fā)人員也可以訪問操作系統(tǒng),網(wǎng)絡(luò)和第三方的軟件/硬件,如果需要的話。通信服務(wù)72處理進程間、基于對象的通信。大多數(shù)核心和應(yīng)用服務(wù)使用通信服務(wù)72和公共服務(wù)73來執(zhí)行它們相應(yīng)的功能。圖形用戶界面服務(wù)67僅與圖形服務(wù)72相關(guān)。圖5中的箭頭指示服務(wù)之間的相關(guān)關(guān)系。圖6是包括一個應(yīng)用層80和一個核心層82的電信平臺10的物理劃分圖。包括核心服務(wù)62的核心層82存在于一個電信平臺的每一個實例中。核心層82包括電信平臺API14,進程間圖形機制,事件機制,和平臺管理。電信平臺應(yīng)用層80具有垂直和水平劃分。垂直方向上,每一個電信平臺應(yīng)用進程被分類成一個主應(yīng)用集合84的一部分或者不是。非主集合進程與主集合進程相關(guān)。水平地,電信平臺應(yīng)用80被分類成必需的或者可選的。可選的應(yīng)用可能包括一個IPR/告警包86,一個數(shù)據(jù)收集包87,一個字典管理系統(tǒng)包88,和一個主機維護模擬包89。下面更詳細(xì)地描述了電信平臺服務(wù)。網(wǎng)絡(luò)管理服務(wù)68提供了網(wǎng)絡(luò)部件的一個公共管理視圖。它負(fù)責(zé)對網(wǎng)元節(jié)點實現(xiàn)高層次操作,例如從服務(wù)中刪除服務(wù)器節(jié)點,將服務(wù)器節(jié)點恢復(fù)到服務(wù),從服務(wù)中刪除應(yīng)用,將應(yīng)用恢復(fù)到服務(wù)中,使能或者關(guān)閉應(yīng)用,維持分布式應(yīng)用的狀態(tài),維持服務(wù)器節(jié)點狀態(tài)和狀態(tài),報告應(yīng)用狀態(tài)的改變。網(wǎng)絡(luò)管理服務(wù)68包括一個網(wǎng)絡(luò)平臺管理者(NetPM),網(wǎng)絡(luò)系統(tǒng)完整性子系統(tǒng)(NetSI),和配置管理者(ConfigMgr)。圖7A是顯示了帶一個相應(yīng)的或者合作的備用平臺管理者節(jié)點102的一個激活平臺管理者節(jié)點100。每一個平臺管理者節(jié)點包括一個網(wǎng)絡(luò)平臺管理者104,一個網(wǎng)絡(luò)系統(tǒng)完整性子系統(tǒng)106,和一個配置管理者108。一個平臺管理者網(wǎng)絡(luò)測試驅(qū)動器110提供了網(wǎng)絡(luò)層次的測試。網(wǎng)絡(luò)平臺管理者的類名是NetPM。NetPM負(fù)責(zé)提供對平臺資源的管理功能。平臺是一個分布式系統(tǒng),它包括提供對特定服務(wù)的處理功能,例如呼叫卡,或者信用卡認(rèn)證的多個節(jié)點或者服務(wù)器。一個服務(wù)器所提供的服務(wù)由駐留在這個節(jié)點上的可配置部件來決定。NetPM管理所有與這個平臺相關(guān)的配置數(shù)據(jù)。配置數(shù)據(jù)包括關(guān)于硬件的信息(例如一個服務(wù)器的TCP/IP地址),狀態(tài)信息(例如服務(wù)器和查詢狀態(tài)),軟件配置信息(例如應(yīng)用類型),節(jié)點名字,和與每個可配置部件相關(guān)的信息。NetPM維持下述配置信息。在NetPM初始化期間,NetPM收集這個配置信息。●可配置部件描述符信息-這為平臺的每一個可配置部件提供了配置信息。NetPM從包括關(guān)于不同類型可配置部件的信息的一個磁盤文件中檢索這些信息?!駪?yīng)用信息-這提供了關(guān)于每一個應(yīng)用(服務(wù))的配置信息,它可以被用于計算一個用于的狀態(tài)。NetPM從包括關(guān)于平臺中所有應(yīng)用的信息的一個磁盤文件中檢索這個信息。●處理器服務(wù)組信息-這提供了關(guān)于處理器服務(wù)組的配置信息,它可以被用于計算處理器服務(wù)組狀態(tài)(處理器服務(wù)組指對相同應(yīng)用提供服務(wù)的處理器組,例如CCD,CCL)。NetPM從包括關(guān)于平臺中所有處理器服務(wù)組的信息的一個磁盤文件中檢索這些信息?!穹?wù)器信息-這提供了關(guān)于平臺中所有服務(wù)器的特定信息。NetPM從ConfigMgr中請求和檢索這個信息。首先,ConfigMgr向NetPM提供關(guān)于平臺管理者節(jié)點的服務(wù)器信息。然后,如果ConfigMgr判斷出當(dāng)前的服務(wù)器是激活的平臺管理者,它就向本地的NetPM提供關(guān)于平臺中剩余服務(wù)器的信息。否則(備份平臺管理者),NetPM將從其合作設(shè)備檢索這些信息,而不是從ConfigMgr檢索這些信息。如果在收集這些信息的過程中檢測到一個錯誤,NetPM發(fā)起合適的IPR并且退出運行。NetPM使用一個NetMAP對象來管理所有配置數(shù)據(jù)。NetPM也使用一個永久保存的字典來保持服務(wù)器狀態(tài),查詢狀態(tài),和經(jīng)過平臺管理者復(fù)位的規(guī)劃動作信息。使用一個磁盤文件字典對象來管理這個字典。NetPM負(fù)責(zé)維持兩個平臺管理者服務(wù)器之間的配置數(shù)據(jù)的完整性和一致性。NetPM使用一個永久保存的字典,數(shù)據(jù)庫同等和審計來維持?jǐn)?shù)據(jù)的完整性和一致性。根據(jù)處理器服務(wù)組狀態(tài)來決定應(yīng)用狀態(tài)。在決定處理器服務(wù)組狀態(tài)的過程中使用下述準(zhǔn)則●PSG_DISABLED至少處理器服務(wù)組中一設(shè)置數(shù)目的服務(wù)器處于不使能狀態(tài)。●PSG_INACTIVE每一個處理器服務(wù)組中至少有一個服務(wù)器處于備份狀態(tài),并且沒有一個服務(wù)器處于激活狀態(tài)?!馪SG_ACTIVE_MINIMAL處理器服務(wù)組中僅特定數(shù)目的服務(wù)器處于激活狀態(tài)?!馪SG_ACTIVE處理器服務(wù)組中一設(shè)置數(shù)目的服務(wù)器處于激活狀態(tài)(注這個數(shù)目比PSG_ACTIVE_MINIMAL所需要的激活服務(wù)器的數(shù)目大)。并且可以使用下述準(zhǔn)則來獲得應(yīng)用狀態(tài)●AP_DISABLED-至少一設(shè)置數(shù)目的、給定應(yīng)用的處理器服務(wù)組處于PSG_DISABLED狀態(tài)?!馎P_INACTIVE-至少一給定應(yīng)用的處理器服務(wù)組具有狀態(tài)PSG_INACTIVE,并且沒有處理器服務(wù)器組具有狀態(tài)PSG_ACTIVE?!馎P_ACTIVE_MINIMAL-一設(shè)置數(shù)目的、給定應(yīng)用的處理器服務(wù)組處于PSG_ACTIVE_MINIMAL狀態(tài),或者更高的狀態(tài)(PSG_ACTIVE)?!馎P_ACTIVE_PARTIAL-一設(shè)置數(shù)目的、給定應(yīng)用的處理器服務(wù)組處于PSG_ACTIVE_MINIMAL狀態(tài),或者更高的狀態(tài)(PSG_ACTIVE)(注AP_ACTIVE_PARTIAL所需要的處理器服務(wù)組數(shù)目比AP_ACTIVE_MINIMAL所需要的處理器服務(wù)組數(shù)目大)?!馎P_ACTIVE-一設(shè)置數(shù)目的、給定應(yīng)用的處理器服務(wù)組處于PSG_ACTIVE狀態(tài)(注AP_ACTIVE所需要的處理器服務(wù)組數(shù)目比AP_ACTIVE_PARTIAL所需要的處理器服務(wù)組數(shù)目大)。NetPM跟蹤每一個服務(wù)器節(jié)點上的狀態(tài)改變,并且當(dāng)它獲得這個信息時,它判斷處理器服務(wù)組的狀態(tài),并且在發(fā)生一個改變的情形下,判斷這個節(jié)點的新應(yīng)用狀態(tài)并且將這些改變告知ConfigMgr。NetPM提供對應(yīng)用狀態(tài)的請求的和自動的更新。對自動更新來說,應(yīng)用進程首先登錄NetPM的一個函數(shù),來接收對一個特定應(yīng)用類型(CCD或者CCL)的更新。無論何時NetPM接收到一個服務(wù)器的改變或者接收到來自NodePM的查詢狀態(tài),NetPM就計算應(yīng)用狀態(tài),并且使用老的和新的應(yīng)用狀態(tài)來調(diào)用被登錄的函數(shù)。也可以請求應(yīng)用狀態(tài),在這個期間,NetPM將保存在其NetMAP中的、所計算的最新應(yīng)用狀態(tài)值返回給發(fā)起請求的進程。部分地通過使用兩個別名對象,NetPM向其它希望與NetPM進行通信的進程提供兩組路由選項。NetPM提供一個本地的和一個全球激活/備份選項。在本地選項中,所有NetPM客戶請求被發(fā)送到與客戶對象在相同節(jié)點中的NetPM服務(wù)器對象。在全球激活-備份選項中,所有NetPM客戶請求被發(fā)送到全球(即可能是節(jié)點間的)可用激活NetPM服務(wù)器對象。NetPM能夠?qū)芏喾?wù)器配置數(shù)據(jù)提供一組閱讀和寫入的功能。這些功能包括讀/寫時刻表動作數(shù)據(jù),平臺管理者激活狀態(tài)數(shù)據(jù),服務(wù)器狀態(tài)數(shù)據(jù),等等。NetPM不對可配置部件描述數(shù)據(jù)進行直接的讀/寫操作。NetPM也提供了對大部分服務(wù)器配置數(shù)據(jù)進行初始化的一個功能。這個功能使用一個ServerInfoMsg作為輸入。NetPM也提供了一組功能,來促使一特定的配置動作(例如正常關(guān)機,立即關(guān)機,正常降級,和恢復(fù))在一特定的服務(wù)器上進行。NetPM也提供了改變一特定服務(wù)器的服務(wù)器狀態(tài)的一個功能。NetPM提供了使能和關(guān)閉一特定服務(wù)器上的查詢進程的一個功能。NetPM提供了“報告”服務(wù)器狀態(tài)和查詢狀態(tài)改變的幾個功能。這些例程將新狀態(tài)信息保存在NetMAP中,將改變告知ConfigMgr軟件,并且將改變廣播給平臺中的所有NodePM軟件。NetPM也負(fù)責(zé)服務(wù)器網(wǎng)絡(luò)內(nèi)部的時間同步。時間同步包括3個主要部分,如圖7B所顯示的。第一部分是激活平臺管理者100將它的本地時間同步于主機的時間。這包括將主機(110)的時間轉(zhuǎn)換成一個可使用的形式,并且告知平臺管理者節(jié)點100和102上的NodePM112執(zhí)行一個adjtime()函數(shù)來將它們的時鐘調(diào)節(jié)成與主機110的時鐘一致。當(dāng)NetPM104接收到時間消息時,NetPM104也將新主機時間告知主機的滴答類。然后,一個xntp進程120將應(yīng)用節(jié)點(121)的時間同步于平臺管理者節(jié)點100和102的時間。平臺管理者節(jié)點100和102中的每一個平臺管理者節(jié)點被配置成xntp主時間源。應(yīng)用節(jié)點121上的xntp后臺程序從屬122選擇平臺管理者節(jié)點100和102的一個主xntp后臺程序120來與其保持同步。最后,無論何時從主機110接收到一個不經(jīng)請求的設(shè)置時間消息,網(wǎng)絡(luò)的時間就與所接收的時間相同。最后,NetPM104提供了向一個新引導(dǎo)的節(jié)點提供平臺中所有服務(wù)器的永久服務(wù)器配置數(shù)據(jù)的一個功能。NetPM104是一個可配置部件。NetPM104提供了沒有密封的操作NodePM所需要的、用于控制NetPM的操作,例如刪除,恢復(fù)和獲得狀態(tài)。當(dāng)審計定時器起作用時,就調(diào)用NetPMTimerHandler。它中止提供服務(wù)的循環(huán),并且調(diào)用NetPM函數(shù)SettimeToVerify來啟動審計。NetPM104是帶其自己的控制線程的一個對象。在建立其NetMAP列表后,NetPM104進入一個無限循環(huán)來等待請求。NetPM104告知ConfigMgr108何時一個服務(wù)器的服務(wù)或者查詢狀態(tài)發(fā)生了改變。NetPM104也將這些狀態(tài)改變發(fā)送到平臺中的所有NodePM112。NetPM104告知特定的NodePM112使能,或者關(guān)閉查詢進程。NetPM104提供服務(wù)狀態(tài)同步功能。NetPM104為平臺中的這些服務(wù)器建立IPR信息,并且在BootNotify成員函數(shù)中將這個信息傳遞到這個特定的NodePM112。在接收到降低服務(wù)級別的所有配置請求后(即,GraceDown,ImmedDown,GraceHalt,和ImmedHalt),NetPM將所希望的服務(wù)器狀態(tài)告知這個特定的NodePM112。當(dāng)請求恢復(fù)一個服務(wù)器時,NetPM104做幾件事。首先,NetPM104從特定的NodePM112獲得這個服務(wù)器的當(dāng)前狀態(tài)。第二,如果所返回的狀態(tài)是不提供服務(wù)out-of-service/最小軟件minimum-software,NetPM104向這個特定的NodePM112發(fā)送相關(guān)的NodeSpecInfo。第三,NetPM104將相關(guān)的可配置部件描述符信息發(fā)送到這個特定的NodePM112。最后,NetPM告知這個特定的NodePM112恢復(fù)服務(wù)。網(wǎng)絡(luò)系統(tǒng)完整性和一致性(NetSI)子系統(tǒng)106提供對網(wǎng)元的監(jiān)視和恢復(fù)操作。它負(fù)責(zé)實現(xiàn)網(wǎng)絡(luò)監(jiān)視和恢復(fù)。網(wǎng)絡(luò)系統(tǒng)完整性所實現(xiàn)的操作包括-平臺管理者激活/部分狀態(tài)監(jiān)視-節(jié)點故障報告相關(guān)性檢測-發(fā)生故障節(jié)點的恢復(fù)動作網(wǎng)絡(luò)系統(tǒng)完整性的類名是NetSI。NetSI106管理平臺管理者的網(wǎng)絡(luò)系統(tǒng)完整性。NetSI106從發(fā)生故障節(jié)點的NodeSI接收服務(wù)器降級和發(fā)生通信故障的通知。NetSI106根據(jù)NodeSI所給的數(shù)據(jù),來決定應(yīng)采取什么動作。如果節(jié)點指示一個降級,NetSI將采取合適的動作來將節(jié)點從網(wǎng)絡(luò)級別降級到所希望的降級狀態(tài)。如果節(jié)點指示發(fā)生了一個通信故障,NetSI106將從前面所接收的數(shù)據(jù)來決定哪一個節(jié)點(如果有的話)發(fā)生了故障,并且如果需要的話,將采取動作來對發(fā)生故障的節(jié)點進行降級。當(dāng)NetSI決定需要對一個節(jié)點進行降級時,NetSI調(diào)用合適的NetPM操作來執(zhí)行降級操作。如果需要對激活狀態(tài)進行一個改變,NetSI調(diào)用合適的NetPM操作來設(shè)置激活狀態(tài)。在調(diào)用NetPM來執(zhí)行降級操作后,NetSI將通知ConfigMgr一特定節(jié)點的狀態(tài)已經(jīng)發(fā)生了改變。這允許主機能夠被立即通知,一個節(jié)點已經(jīng)在被降級。然后,NetSI將一個表目寫到網(wǎng)絡(luò)配置報告中,指示已經(jīng)發(fā)生了狀態(tài)改變及其狀態(tài)改變的原因。NetSI根據(jù)這個節(jié)點的當(dāng)前狀態(tài),將節(jié)點降級到合法的服務(wù)狀態(tài)。NetSI包括一個通信故障列表。這個列表記錄了報告每一個所接收的通信故障報告的服務(wù)器節(jié)點名字和產(chǎn)生問題的服務(wù)器節(jié)點名字。當(dāng)接收了一個通信故障報告時,就在這個列表中搜尋關(guān)于這個發(fā)生問題的節(jié)點的另一個報告。如果沒有發(fā)現(xiàn),就將這個故障信息添加到這個列表中。NetSI也包括一個故障狀態(tài)信息列表。當(dāng)NodePM指示一個節(jié)點不能夠提供服務(wù)并且NetPM狀態(tài)沒有指示這個節(jié)點已經(jīng)停機時,就產(chǎn)生帶這個被中止IPU的主機名字的一個故障狀態(tài)信息表目。并且產(chǎn)生一個定時器,并且將這個故障狀態(tài)信息添加到這個列表中。如果NodePM后面指示了這個節(jié)點的一個較高的狀態(tài)(在這個定時器溢出以前);就從這個列表中清除這個故障狀態(tài)信息表目,并且不進行進一步的動作。NetSI例行地審計兩個PM的狀態(tài)條件。如果出現(xiàn)了無效的條件,NetSI試圖通過將激活狀態(tài)設(shè)置到正確的狀態(tài)來糾正這個情形。其它進程也可以請求NetSI審計平臺管理者狀態(tài)條件。NetSI使用“發(fā)送到兩個”的負(fù)載分擔(dān)概念來進行工作。如果兩個平臺管理者節(jié)點均可以進行工作,每一個平臺管理者節(jié)點上的每一個NetSI進程將接收這個NodeSI請求。每一個NetSI進程將決定它是否應(yīng)根據(jù)平臺的激活/備份狀態(tài)處理請求和和發(fā)生故障的服務(wù)器。激活的平臺管理者的NetSI進程通常將采取所需要的動作,而備份平臺管理者將丟棄信息。但是,如果發(fā)生故障的節(jié)點是激活平臺管理者,備份平臺管理者(如果有效)將自己設(shè)置為激活并且采取請求動作來對另一個平臺管理者節(jié)點進行降級。每一次調(diào)用一個NetSI操作時,NetSI首先判斷它是激活的平臺管理者還是備份平臺管理者。如果是激活的平臺管理者,NetSI將處理除目標(biāo)節(jié)點是它自己和其合作設(shè)備仍然在提供服務(wù)的條件外的所有其它條件下的請求。如果是備份平臺管理者,NetSI將丟棄除目標(biāo)節(jié)點是合作設(shè)備外的所有其它條件下的請求。在初始化期間,NetSI從NodePM請求合作設(shè)備的名字和其自己服務(wù)器和合作服務(wù)器的服務(wù)器描述符。在請求這個信息以前,NetSI輪詢NodePM的狀態(tài),并且直到NodePM被閱讀并且提供節(jié)點名字和服務(wù)器描述符,才請求節(jié)點名字和服務(wù)器描述符。NetSI將直到這個信息被正確接收,才準(zhǔn)備提供服務(wù)。NetSI使用命令行參數(shù)DWN_RPT_FILE來獲得網(wǎng)絡(luò)配置(降級)報告文件名字的名字。如果這個參數(shù)沒有被規(guī)定,就不進行任何降級的報告表目。參考圖7C和7D,顯示了節(jié)點管理和網(wǎng)絡(luò)管理之間的進程通信。常監(jiān)視器(ConMon)132是在一個應(yīng)用節(jié)點136上運行的一個對象的一個實例。ConMon132檢測一個發(fā)生故障的進程或者一個發(fā)生故障的可配置部件,它告知一個服務(wù)管理進程程序134。服務(wù)管理進程134判斷這個可配置部件故障是否促使這個進程落到其閾值電平以下。如果沒有,服務(wù)管理進程134重新啟動這個可配置部件。但是,如果這個可配置部件落在其閾值電平以下,然后服務(wù)管理進程134產(chǎn)生一個可配置部件狀態(tài)改變消息并且將這個通知轉(zhuǎn)發(fā)到NodeSI130。NodeSI將這個可配置部件狀態(tài)改變消息轉(zhuǎn)發(fā)到NodePM112。NodePM112判斷這個可配置狀態(tài)改變是否影響了這個節(jié)點的運行級別,這將使節(jié)點降級。如果這個節(jié)點將要被刪除,NodePM112向服務(wù)管理進程134提供指令來刪除所有實現(xiàn)降級狀態(tài)所必需的可配置部件。NodePM134通知NetPM104節(jié)點狀態(tài)已經(jīng)發(fā)生改變。NetPM104執(zhí)行一個計算來判斷這個節(jié)點狀態(tài)的改變是否影響了處理器服務(wù)組和應(yīng)用狀態(tài)。NetPM的計算也判斷是否應(yīng)在這個節(jié)點上執(zhí)行一個自動動作,例如從在服務(wù)內(nèi)的刪除一個節(jié)點到min-set并且再恢復(fù)它。如果需要刪除這個節(jié)點,然后這個節(jié)點狀態(tài)改變就被從NetPM轉(zhuǎn)發(fā)到ConfigMgr108。ConfigMgr通知主機140,這個節(jié)點、處理器服務(wù)組和應(yīng)用的狀態(tài)已經(jīng)發(fā)生改變。這些狀態(tài)的改變可以被顯示或者可以被打印在一個報告中。特別地,每一個NetSI判斷它是否應(yīng)處理降級請求。如果應(yīng)處理降級請求,就檢索目標(biāo)服務(wù)器的狀態(tài)。如果目標(biāo)服務(wù)器沒有停機,就根據(jù)IPU狀態(tài)來將這個服務(wù)器降級到合適的狀態(tài)。如果IPU狀態(tài)是不提供服務(wù),NetSI就調(diào)用NetPM的立即中斷操作來或者自動中斷目標(biāo)節(jié)點,或者人工中斷目標(biāo)節(jié)點。如果IPU狀態(tài)是不提供最小服務(wù)(OS_MIN),NetSI就調(diào)用NetPM的立即降級操作來將目標(biāo)節(jié)點降級到OS_MIN。如果IPU狀態(tài)是在服務(wù)關(guān)閉,NetSI就調(diào)用NetPM的關(guān)閉查詢操作來關(guān)閉目標(biāo)節(jié)點的查詢狀態(tài)。在所有情形下,如果目標(biāo)節(jié)點是激活平臺管理者,NetSI就更新激活狀態(tài)。另外,如果目標(biāo)節(jié)點是本地站點的一部分,NetSI就經(jīng)過ConfigMgr來通知這個主機,一個狀態(tài)改變正在發(fā)生并且如果它判斷應(yīng)恢復(fù)目標(biāo)服務(wù)器的處理器服務(wù)組就通知初始化處理器服務(wù)組的恢復(fù)(經(jīng)過ConfigMgr)。然后,NetSI將一個表目寫到網(wǎng)絡(luò)配置報告文件中,以指示因為這個節(jié)點報告了一個故障而在發(fā)生狀態(tài)的改變。NodeSI通知NetSI,在兩個節(jié)點之間發(fā)生了通信故障。NetSI根據(jù)前一接收的信息(如果有)保存這個故障或者對這個故障采取動作。每一個NetSI決定報告問題和發(fā)生問題節(jié)點的狀態(tài)。如果任何一個服務(wù)器中止了,就丟棄通信故障報告,因為不能夠確保數(shù)據(jù)的完整性和一致性。如果沒有一個服務(wù)器停機,就在這個通信故障列表中搜尋關(guān)于發(fā)生問題的節(jié)點的另一個報告。如果沒有發(fā)現(xiàn)關(guān)于發(fā)生問題節(jié)點的報告,就用服務(wù)器信息將一個通信故障列表表目添加到這個列表中。如果發(fā)現(xiàn)了另一個關(guān)于發(fā)生問題的節(jié)點的報告,并且另一個進行報告的服務(wù)器已經(jīng)報告了它,就建立發(fā)生問題的服務(wù)器,以進行降級處理。一旦已經(jīng)作出了關(guān)于是否應(yīng)對服務(wù)器進行降級的決定,NetSI判斷它是否應(yīng)處理它(根據(jù)其激活狀態(tài)和目標(biāo)服務(wù)器是否是它自己)。如果它應(yīng)處理這個降級,NetSI就調(diào)用NetPM的立即停機操作來或者自動地中止發(fā)生問題的節(jié)點或者人工中止發(fā)生問題的節(jié)點。如果需要被中止的服務(wù)器是激活PM,NetSI在中止這個節(jié)點以前就更新相應(yīng)的激活狀態(tài)。另外,如果目標(biāo)是本地站點的一部分,NetSI就經(jīng)過ConfigMgr來通知這個主機,一個狀態(tài)改變正在發(fā)生并且如果它判斷應(yīng)恢復(fù)目標(biāo)服務(wù)器的處理器服務(wù)組就通知初始化處理器服務(wù)組的恢復(fù)(經(jīng)過ConfigMgr)。然后,NetSI將一個表目寫到網(wǎng)絡(luò)配置報告文件中,以指示因為一個通信故障而在進行中止。配置管理子系統(tǒng)(類名ConfigMgr)提供了在SCP主機和服務(wù)器部件之間的控制接口。在服務(wù)器網(wǎng)絡(luò)上可以被執(zhí)行的所有操作均被定義在這個接口上。配置管理子系統(tǒng)實現(xiàn)了下述特征-控制主機和服務(wù)器之間的消息接口-有效操作的狀態(tài)機-用請求來驅(qū)動網(wǎng)絡(luò)管理-控制操作定時/時間溢出。ConfigMgr管理平臺管理者的服務(wù)器配置控制。ConfigMgr接收在CONFIGCTL,MAINT,APPLCTL,ROUTINGCTL邏輯鏈路上發(fā)送的主機消息,并且根據(jù)其消息標(biāo)識和類型來處理每一個消息。如果主機需要發(fā)送一個響應(yīng)或者一個報告,ConfigMgr決定必要的響應(yīng)并且檢索必要的報告信息,并且將它發(fā)送回到主機。ConfigMgr處理下述消息APPL_STATUS_MSGASPEC_MSGCONFIGURE_SERVER_MSGPSG_INFO_MSGPSG_STATUS_MSGQUERY_PROCESSING_MSGRESET_SERVER_MSGROUTING_INFO_MSGSCHED_ACTION_CTL_MSGSERVER_INFO_MSGSERVER_STATUS_MSGTEST_SERVER_MSGTIME_MSGConfigMgr也給平臺管理者提供操作,來從主機檢索服務(wù)器和時間信息。它也提供操作來向主機提供服務(wù)器狀態(tài)的改變。在處理主機命令消息時,ConfigMgr需要一個時間以等待從主機來的一個響應(yīng),或者等待從一個特定的服務(wù)器來的一個狀態(tài)改變。在進行這些等待時,ConfigMgr使用一個非阻塞的方法。不是停止并等待事件的發(fā)生,ConfigMgr而是將所希望的響應(yīng)或者狀態(tài)保存在一個PendingQueue中,并且繼續(xù)對另一個主機消息進行處理或者繼續(xù)向一個客戶提供服務(wù)。當(dāng)所希望的響應(yīng)或者狀態(tài)發(fā)生時,就調(diào)用合適的過程來恢復(fù)對主機命令消息的處理。如果在所規(guī)定的時間限制內(nèi),所希望的響應(yīng)沒有到來,或者所希望的狀態(tài)沒有發(fā)生,就調(diào)用一個故障過程來清除對主機命令消息的處理并且如果需要的話就發(fā)起IPR。除了處理主機命令消息外,當(dāng)一個狀態(tài)改變時,還需要ConfigMgr通知主機。當(dāng)ConfigMgr被通知說已經(jīng)發(fā)生了一個狀態(tài)改變,它就檢查狀態(tài)掛起隊列,來判斷它是否是在等待狀態(tài)改變的發(fā)生。如果是,就執(zhí)行掛起隊列成功的操作。否則,ConfigMgr向主機發(fā)送服務(wù)器狀態(tài)消息。在處理主機響應(yīng)消息時,ConfigMgr檢查主機響應(yīng)掛起隊列(HostPendQueue)來判斷它是否是在等待響應(yīng)。如果是,就執(zhí)行掛起隊列成功操作。否則,ConfigMgr丟棄從主機來的這個響應(yīng)消息。當(dāng)一個平臺管理者節(jié)點被引導(dǎo)到OS_MIN狀態(tài)時,它審計其合作設(shè)備并且判斷合作設(shè)備的狀態(tài)。在沒有合作設(shè)備平臺管理者節(jié)點出現(xiàn)的事件中,合作設(shè)備狀態(tài)就自動地被設(shè)置為中止??梢詫Ψ?wù)服務(wù)器節(jié)點(不是PM的節(jié)點)進行類似的審計,以判斷它們的狀態(tài)。ConfigMgr具有一個登錄能力,其中一個子系統(tǒng)可以進行登錄,來為一個特定的應(yīng)用提供路由信息。當(dāng)主機請求關(guān)于一個應(yīng)用的路由信息時,ConfigMgr發(fā)起對合適登錄子系統(tǒng)(如果存在一個的話)的一個請求,以提供路由信息。因為被執(zhí)行服務(wù)的本質(zhì),配置服務(wù)器消息(ConfigServerMsgs)需要特殊的處理(即,中止,降級,恢復(fù),和引導(dǎo))。因為主機消息被發(fā)送到兩個平臺管理者服務(wù)器,就必須小心地確保僅一個平臺管理者節(jié)點處理這個請求。這需要檢查平臺管理者節(jié)點和其合作設(shè)備的服務(wù)器狀態(tài)。根據(jù)平臺管理者節(jié)點的服務(wù)器狀態(tài)和這個ConfigServer是否是針對一個平臺管理者節(jié)點,其合作設(shè)備,或者一個服務(wù)服務(wù)器,可以采取不同的動作。兩個有限狀態(tài)機(PMCfgSvrFSM和SvcCfgSvrFSM)管理所有不同狀態(tài)驅(qū)動的動作。PMCfgSvrFSM是處理一個平臺管理者應(yīng)用服務(wù)器的恢復(fù),中止,再同步,降級和引導(dǎo)的有限狀態(tài)機。這個狀態(tài)機根據(jù)這個請求是針對其自己或者其合作設(shè)備,其自己的狀態(tài),其合作設(shè)備的狀態(tài),和所請求的事件(中止,降級,恢復(fù)等等)來處理一個請求。被檢查的平臺管理者服務(wù)器狀態(tài)是中止(自動),中止(人工),XOS-MIN,AOS-MIN(自動),MOS-MIN(人工),和In-Svc。如果是In-Svc,就檢查激活/備份狀態(tài)來判斷這個服務(wù)器是激活的或者是備份的。有效的事件是恢復(fù),正常中止,立即中止,正常降級,立即降級,正常引導(dǎo),立即引導(dǎo),和主機再同步。這個事件對決定哪一個平臺管理者節(jié)點將處理這個請求是重要的。如果請求了一個恢復(fù),正常地,正在被恢復(fù)的平臺管理者節(jié)點將處理這個恢復(fù)(即,一個平臺管理者節(jié)點將恢復(fù)其自己)。處理一個恢復(fù)請求,一個平臺管理者服務(wù)器已經(jīng)被中止,被中止的服務(wù)器的合作設(shè)備(如果可能的話)將發(fā)送一個否認(rèn)響應(yīng)到主機。如果一個平臺管理者節(jié)點需要任何中止,降級,或者引導(dǎo),平臺管理者節(jié)點的合作設(shè)備將處理它,除非這個合作設(shè)備已經(jīng)中止。當(dāng)這個合作設(shè)備中止時,平臺管理者節(jié)點將自己處理這個中止,降級,或者引導(dǎo)。處理一個中止,降級,或者引導(dǎo)可能包括實際地執(zhí)行被請求操作或者向主機發(fā)送回一個否認(rèn)響應(yīng)。如果沒有否認(rèn)一個中止,降級,或者引導(dǎo)請求,主機就認(rèn)為動作成功了。當(dāng)一個平臺管理者節(jié)點將自己處理一個引導(dǎo)時,平臺管理者節(jié)點調(diào)用NetPM的GraceHalt或者ImmedHalt操作(根據(jù)引導(dǎo)類型)來將其自己帶入一個中止?fàn)顟B(tài)。然后,對這個節(jié)點的處理就完成了,因為它正在被帶入一個中止?fàn)顟B(tài)。(主機將對服務(wù)器進行復(fù)位和引導(dǎo))。當(dāng)對最后一個的在服務(wù)的平臺管理者節(jié)點請求一個中止,降級,或者引導(dǎo)操作時,就檢查一個強迫標(biāo)識。如果這個強迫標(biāo)識沒有被設(shè)置,就用一個響應(yīng)“DENIED-LASTAMP”來否認(rèn)這個請求。如果這個強迫標(biāo)識被設(shè)置,就在這個最后的、在服務(wù)的平臺管理者節(jié)點上執(zhí)行中止,降級,或者引導(dǎo)。如果對一個平臺管理者節(jié)點請求一個主機再同步,目標(biāo)平臺管理者服務(wù)器的合作設(shè)備將處理這個請求,除非這個合作設(shè)備已經(jīng)中止。如果目標(biāo)平臺管理者服務(wù)器的合作設(shè)備已經(jīng)中止,再同步的這個平臺管理者節(jié)點將處理這個請求。處理這個請求包括將服務(wù)器狀態(tài)從XOS-MIN改變到AOS-MIN或者MOS-MIN,或者如果當(dāng)前狀態(tài)不是XOS-MIN就否認(rèn)這個請求。SvcCfgSvrFSM是處理一個服務(wù)應(yīng)用服務(wù)器的恢復(fù),中止,再同步,降級和引導(dǎo)的有限狀態(tài)機。這個狀態(tài)機根據(jù)執(zhí)行這個動作的平臺管理者節(jié)點的狀態(tài),正在工作的提供服務(wù)的服務(wù)器的狀態(tài),和被請求的事件(中止,降級,恢復(fù)等等)處理一個請求。被檢查的服務(wù)狀態(tài)是中止(自動),中止(人工),XOS-MIN,AOS-MIN(自動),MOS-MIN(人工),和In-Svc。有效的事件是恢復(fù),正常中止,立即中止,正常降級,立即降級,正常引導(dǎo),立即引導(dǎo),和主機再同步。激活平臺管理者節(jié)點(OS-MIN或者INService)將處理針對一個提供服務(wù)的服務(wù)器的配置服務(wù)器請求。只要一個平臺管理者是至少一個OS-Min,就允許在一個提供服務(wù)的服務(wù)器上進行一個引導(dǎo),中止,再同步,或者降級。當(dāng)至少一個平臺管理者處于In-Service時,僅允許對一個提供服務(wù)的服務(wù)器的恢復(fù)。如果沒有平臺管理者節(jié)點處于In-Service時,處于激活的平臺管理者節(jié)點將向這個主機發(fā)送回一個DENY-AMP非In-Service響應(yīng)。如果沒有否認(rèn)一個中止,降級,或者引導(dǎo)請求,主機就認(rèn)為動作成功了。當(dāng)對最后一個的在服務(wù)的應(yīng)用節(jié)點請求一個中止,降級,或者引導(dǎo)操作時,就檢查一個強迫標(biāo)識。如果這個強迫標(biāo)識沒有被設(shè)置,就用一個響應(yīng)“DENIED-LASTSERVERINProcessorservicegroupPROCESSINGQUERIES”來否認(rèn)這個請求。如果這個強迫標(biāo)識被設(shè)置,就在這個最后的、在服務(wù)的應(yīng)用節(jié)點上執(zhí)行中止,降級,或者引導(dǎo)。無論何時處理一個配置事件(除了立即中止外),檢查一個在配置的標(biāo)識。如果設(shè)置了在配置的標(biāo)識,就用一個響應(yīng)“DENIED-SERVERUNDERCONFIGURATION”來否認(rèn)這個請求。在事件處理期間,ConfigMgr設(shè)置和清除在配置標(biāo)識。其它消息不需要有限狀態(tài)機(即,ServerInfoMSG,ServerStatusMsg,TimeMsg,等等)。當(dāng)沒有否認(rèn)一個恢復(fù)請求時,ConfigMgr為服務(wù)器設(shè)置UnderConfig標(biāo)識,并且將一個ConfigServerMsg“動作激發(fā)”響應(yīng)發(fā)送到主機,并且調(diào)用NetPM的RestoreISV操作來將服務(wù)器恢復(fù)到In-Service。然后,ConfigMgr掛起恢復(fù)處理,并且為成為In-Service的服務(wù)器建立一個服務(wù)器狀態(tài)掛起隊列表目。直到ConfigMgr被通知服務(wù)器狀態(tài)已經(jīng)處于In-Service或者定時器溢出,才繼續(xù)恢復(fù)處理。當(dāng)ConfigMgr被通知服務(wù)器狀態(tài)已經(jīng)改變到In-Service時,就通過檢查服務(wù)器查詢狀態(tài)來繼續(xù)恢復(fù)處理。如果服務(wù)器的查詢狀態(tài)是DISABLEDSERVEROOS并且激活服務(wù)器的數(shù)目比處理器服務(wù)組激活服務(wù)器計數(shù)少,ConfigMgr調(diào)用NetPM的EnalbeQuery操作來使能服務(wù)器的查詢狀態(tài)并且將當(dāng)前查詢狀態(tài)設(shè)置為未決。然后,ConfigMgr向主機發(fā)送服務(wù)器狀態(tài)消息,通知服務(wù)器和查詢狀態(tài)的改變。并且為成為使能的服務(wù)器查詢狀態(tài)建立一個QueryStatusPendingQueue表目。然后掛起處理,直到查詢狀態(tài)成為使能或者定時器溢出。當(dāng)ConfigMgr被通知說查詢狀態(tài)被使能,就繼續(xù)恢復(fù)處理,并且發(fā)送服務(wù)器狀態(tài)消息和清除服務(wù)器的在配置標(biāo)識。如果在服務(wù)器的狀態(tài)改變到In-Service前定時器溢出,或者從沒有接收關(guān)于其它應(yīng)用的被請求服務(wù)器信息,就激發(fā)對故障的恢復(fù)處理。故障處理包括正常將服務(wù)器降級到OS-MIN,發(fā)起一個IPR,和清除服務(wù)器的在配置標(biāo)識。如果在查詢狀態(tài)改變到使能前定時器溢出,就通過將查詢狀態(tài)設(shè)置為非使能,正常將服務(wù)器降級到OS-MIN,發(fā)送服務(wù)器狀態(tài)信息,激發(fā)一個IPR,和清除這個服務(wù)器的在配置標(biāo)識,來繼續(xù)恢復(fù)處理,當(dāng)沒有否認(rèn)一個正常中止請求時,ConfigMgr設(shè)置服務(wù)器的UnderConfig標(biāo)識,向主機發(fā)送一個ConfigServerMsg“動作被激發(fā)”響應(yīng),并且調(diào)用NetPM的GraceHalt操作來中止這個服務(wù)器。如果這個節(jié)點已經(jīng)沒有被中止,然后ConfigMgr掛起中止處理,并且為成為中止的服務(wù)器建立一個服務(wù)器狀態(tài)掛起隊列表目。然后,它在網(wǎng)絡(luò)配置報告中產(chǎn)生一個表目,指示這個主機請求了一個中止。直到ConfigMgr被通知服務(wù)器狀態(tài)已經(jīng)是中止并且定時器溢出,才繼續(xù)中止處理。當(dāng)ConfigMgr被通知服務(wù)器狀態(tài)已經(jīng)改變到一個中止?fàn)顟B(tài)時,通過使用服務(wù)器狀態(tài)信息的發(fā)送和清除這個服務(wù)器的在配置標(biāo)識,來繼續(xù)中止處理。如果在服務(wù)器狀態(tài)改變到中止以前定時器溢出了,就激發(fā)中止故障處理。故障處理包括激發(fā)一個IPR和清除服務(wù)器的在配置標(biāo)識。當(dāng)沒有否認(rèn)一個立即中止請求時,ConfigMgr設(shè)置這個服務(wù)器的UnderConfig標(biāo)識,從這個狀態(tài)掛起隊列中刪除這個服務(wù)器的所有掛起服務(wù)器狀態(tài)改變,并且調(diào)用NetPM的ImmedHalt操作來中止這個服務(wù)器。如果節(jié)點沒有被中止,ConfigMgr掛起中止處理并且為將要中止的服務(wù)器建立一個服務(wù)器狀態(tài)掛起隊列表目。然后,它對指示一個中止被主機請求的網(wǎng)絡(luò)配置報告產(chǎn)生一個表目。直到ConfigMgr被通知這個服務(wù)器狀態(tài)已經(jīng)處于中止或者這個定時器溢出,才繼續(xù)進行中止處理。當(dāng)ConfigMgr被通知服務(wù)器狀態(tài)已經(jīng)改變到一個中止?fàn)顟B(tài)時(或者當(dāng)中止被激發(fā)時,這個節(jié)點已經(jīng)中止了),繼續(xù)進行中止處理,并且發(fā)送服務(wù)器狀態(tài)消息,向這個主機發(fā)送一個ConfigServerMsg“成功完成”的響應(yīng),并且清除服務(wù)器的在配置標(biāo)識。如果定時器在服務(wù)器狀態(tài)改變到中止以前溢出了,就激發(fā)中止故障處理。故障處理包括激發(fā)一個IPR,向主機發(fā)送一個ConfigServerMsg“動作失敗”的響應(yīng),并且清除這個服務(wù)器的在配置標(biāo)識。當(dāng)沒有否認(rèn)一個正常降級請求時,ConfigMgr設(shè)置這個服務(wù)器的UnderConfig標(biāo)識,向主機發(fā)送一個ConfigServerMsg“動作激發(fā)”的響應(yīng),并且調(diào)用NetPM的GraceDown操作來對服務(wù)器進行降級。如果這個節(jié)點已經(jīng)沒有在所希望的降級狀態(tài),然后,ConfigMgr掛起降級處理并且為將要成為OS-MIN的服務(wù)器建立一個服務(wù)器狀態(tài)PendingQueue表目。然后,它建立一個網(wǎng)絡(luò)配置報告的表目,指示一個降級被主機請求。直到ConfigMgr被通知服務(wù)器狀態(tài)是OS-MIN或者定時器溢出時,才繼續(xù)降級處理。當(dāng)ConfigMgr被通知,服務(wù)器狀態(tài)已經(jīng)改變到一個OS-MIN狀態(tài)(或者這個節(jié)點已經(jīng)處于這個狀態(tài)),繼續(xù)降級處理,發(fā)送服務(wù)器狀態(tài)消息,并且清除服務(wù)器的在配置標(biāo)識。如果在服務(wù)器狀態(tài)改變到一個OS-MIN狀態(tài)以前定時器溢出了,就激發(fā)降級故障處理。故障處理包括激發(fā)一個IPR,和清除服務(wù)器的在配置標(biāo)識。當(dāng)沒有否認(rèn)一個立即降級請求時,ConfigMgr設(shè)置這個服務(wù)器的UnderConfig標(biāo)識,并且調(diào)用NetPM的ImmedDown操作來對服務(wù)器進行降級。如果這個節(jié)點已經(jīng)沒有在所希望的降級狀態(tài),然后,ConfigMgr掛起降級處理并且為將要成為OS-MIN的服務(wù)器建立一個服務(wù)器狀態(tài)PendingQueue表目。然后,它建立一個網(wǎng)絡(luò)配置報告的表目,指示一個降級被主機請求。直到ConfigMgr被通知服務(wù)器狀態(tài)是OS-MIN或者定時器溢出時,才繼續(xù)降級處理。當(dāng)ConfigMgr被通知,服務(wù)器狀態(tài)已經(jīng)改變到一個OS-MIN狀態(tài)(或者這個節(jié)點已經(jīng)處于這個狀態(tài)),繼續(xù)降級處理,發(fā)送服務(wù)器狀態(tài)消息,向主機發(fā)送一個ConfigServerMsg“成功完成”的響應(yīng),和清除服務(wù)器的在配置標(biāo)識。如果在服務(wù)器狀態(tài)改變到一個OS-MIN狀態(tài)以前定時器溢出了,就激發(fā)降級故障處理。故障處理包括激發(fā)一個IPR,向主機發(fā)送一個ConfigServerMsg“動作失敗”的響應(yīng),和清除服務(wù)器的在配置標(biāo)識。當(dāng)沒有否認(rèn)一個正常或者立即引導(dǎo)請求時,ConfigMgr設(shè)置這個服務(wù)器的UnderConfig標(biāo)識,并且向主機發(fā)送一個ConfigServerMsg“激發(fā)動作”的響應(yīng)。ConfigMgr檢查服務(wù)器的服務(wù)器狀態(tài),并且如果這個服務(wù)器沒有處于一個中止?fàn)顟B(tài)就調(diào)用NetPM的GraceHalt或者ImmedHalt操作。如果已經(jīng)調(diào)用了一個中止操作,就掛起處理,直到ConfigMgr被通知服務(wù)器狀態(tài)是中止或者定時器溢出。然后,它在網(wǎng)絡(luò)配置報告中建立一個表目,以指示一個引導(dǎo)被這個主機所請求。當(dāng)ConfigMgr被通知,服務(wù)器狀態(tài)已經(jīng)改變到一個OS-MIN狀態(tài)(或者這個節(jié)點已經(jīng)處于這個狀態(tài)),繼續(xù)降級處理,發(fā)送服務(wù)器狀態(tài)消息,向主機發(fā)送一個ConfigServerMsg“成功完成”的響應(yīng),并且清除服務(wù)器的在配置標(biāo)識。如果在服務(wù)器狀態(tài)改變到一個OS-MIN狀態(tài)以前定時器溢出了,就激發(fā)降級故障處理。故障處理包括激發(fā)一個IPR,向主機發(fā)送一個ConfigServerMsg“動作失敗”的響應(yīng),和清除服務(wù)器的在配置標(biāo)識。當(dāng)沒有否認(rèn)一個正?;蛘吡⒓匆龑?dǎo)請求時,ConfigMgr設(shè)置這個服務(wù)器的UnderConfig標(biāo)識,并且向主機發(fā)送一個ConfigServerMsg“激發(fā)動作”的響應(yīng)。ConfigMgr檢查服務(wù)器的服務(wù)器狀態(tài),并且如果這個服務(wù)器沒有處于一個中止?fàn)顟B(tài)就調(diào)用NetPM的GraceHalt或者ImmedHalt操作。如果已經(jīng)調(diào)用了一個中止操作,就掛起處理,直到ConfigMgr被通知服務(wù)器狀態(tài)是中止或者定時器溢出。然后,它在網(wǎng)絡(luò)配置報告中建立一個表目,以指示一個引導(dǎo)被這個主機所請求。當(dāng)ConfigMgr判斷這個服務(wù)器已經(jīng)中止時,它向這個主機發(fā)送一個ResetServerMsg請求。ConfigMgr建立一個主機響應(yīng)PendingQueue表目,來等待從這個主機來的ResetServerMsg響應(yīng)。然后掛起這個處理,直到接收到了這個響應(yīng)或者定時器溢出了。一旦接收到了這個響應(yīng),ConfigMgr建立一個服務(wù)器狀態(tài)PendingQueue表目,來等待服務(wù)器狀態(tài)變?yōu)镺S-MIN。如果在定時器溢出以前沒有從這個主機接收到這個響應(yīng),就激發(fā)一個IPR,并且清除在配置標(biāo)識。一旦服務(wù)器狀態(tài)變?yōu)镺S-MIN,ConfigMgr就向主機發(fā)送服務(wù)器狀態(tài)消息,以指示新的服務(wù)器狀態(tài),并且清除在配置標(biāo)識。如果在服務(wù)器狀態(tài)變?yōu)镺S-MIN以前定時器溢出了,ConfigMgr就激發(fā)一個IPR,并且清除在配置標(biāo)識。當(dāng)沒有否認(rèn)一個主機再同步Resync請求時,ConfigMgr就判斷這個服務(wù)器狀態(tài)是否處于XOX_MIN。如果是,就調(diào)用NetPM的SetServerStatus操作來將服務(wù)器狀態(tài)設(shè)置到合適的自動/人工OS_MIN狀態(tài),服務(wù)器狀態(tài)消息被發(fā)送以指示新服務(wù)器狀態(tài),并且向主機發(fā)送一個ConfigServerMsg“成功”的響應(yīng)。如果這個服務(wù)器狀態(tài)不處于XOS_MIN,就激發(fā)一個IPR,并且向主機發(fā)送一個ConfigServerMsg“動作失敗”的響應(yīng)。應(yīng)用狀態(tài)消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到一個ApplStatusMsg請求類型的消息后,ConfigMgr就判斷應(yīng)用查詢狀態(tài),并且將帶有當(dāng)前應(yīng)用查詢狀態(tài)的一個ApplStatusMsgS_REPORT發(fā)送回到這個主機。當(dāng)服務(wù)器狀態(tài)發(fā)生了改變時,或者在處理一個主機配置服務(wù)器請求的期間按照需要,ConfigMgr將ApplStatusMsgU_REPORT類型的消息發(fā)送到這個主機。ConfigMgr為在ApplsInfo.des描述符文件中的每一個應(yīng)用,從這個主機接收一個ASPEC數(shù)據(jù)請求消息。ConfigMgr查詢NetPM,以從NetMAP檢索這個應(yīng)用的信息。包括ASPEC數(shù)據(jù)的一個響應(yīng)消息被發(fā)送回到這個主機,消息中還包括指示成功或者失敗的一個響應(yīng)碼。如果有一個無效的應(yīng)用標(biāo)識,有不是ASPEC數(shù)據(jù)請求消息的一個消息,或者不是請求的一個消息類型,就激發(fā)IPR。處理器服務(wù)組信息消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到一個PSGInfoMsg請求類型的消息后,ConfigMgr就判斷處理器服務(wù)組信息,并且將帶有當(dāng)前處理器服務(wù)組信息的一個PSGInfoMsgS_REPORT發(fā)送回到這個主機。處理器服務(wù)組狀態(tài)消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到一個PSGStatusMsg請求類型的消息后,ConfigMgr就判斷處理器服務(wù)組查詢狀態(tài),并且將帶有當(dāng)前處理器服務(wù)組查詢狀態(tài)的一個PSGStatusMsgS_REPORT發(fā)送回到這個主機。當(dāng)服務(wù)器狀態(tài)發(fā)生了改變時,或者在處理一個主機配置服務(wù)器請求的期間按照需要,ConfigMgr將PSGStatusMsgU_REPORT類型的消息發(fā)送到這個主機。查詢進程消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。ConfigMgr從這個主機接收QueryProcMsgDISABLE_SERVER,DISABLE_SERVER_FORCED,和ENALBE_SERVER請求類型消息。在處理了這個消息后,ConfigMgr通過從NetPM調(diào)用EnableServer/DisableServer操作,激發(fā)對目標(biāo)服務(wù)器進行查詢處理的使能/關(guān)閉。ConfigMgr將為這個服務(wù)器建立一個查詢狀態(tài)掛起隊列(QueryStatusPendingQueue)表目,并且掛起進一步的處理,直到這個服務(wù)器的查詢狀態(tài)改變到所希望的狀態(tài)或者定時器溢出了。NetPM通過調(diào)用ConfigMgr的NefyQryStatChange操作,來通知ConfigMgr查詢狀態(tài)發(fā)生了一個改變。當(dāng)ConfigMgr處理這個操作時,它將在查詢狀態(tài)掛起隊列中檢查服務(wù)器查詢狀態(tài)的狀態(tài)。如果有一個所希望的表目狀態(tài)的一個表目,就調(diào)用合適的成功查詢處理過程,來恢復(fù)對QueryProcMsg的處理。對QueryProcMsg的成功處理包括將一個QueryProcMsg響應(yīng)發(fā)送回到這個主機,以指示請求成功了并且如果需要的話改變一個平臺管理者節(jié)點的激活狀態(tài)。如果在服務(wù)器查詢狀態(tài)處于所希望的狀態(tài)以前,定時器溢出了,就調(diào)用合適的失敗查詢處理過程,來恢復(fù)對QueryProcMsg的處理。對QueryProcMsg的失敗處理包括激發(fā)一個IPR,和將一個QueryProcMsg響應(yīng)發(fā)送回到這個主機,以指示請求失敗了。在一個服務(wù)器進行引導(dǎo)過程期間,ConfigMgr發(fā)送ResetServerMsg請求類型消息。當(dāng)這個主機請求對一個非PM服務(wù)器進行引導(dǎo)時,在目標(biāo)服務(wù)器已經(jīng)中止后,就發(fā)送ResetServerMsg請求。然后,ConfigMgr掛起引導(dǎo)處理,并且為一個ResetServerMsg響應(yīng)類型消息建立一個主機響應(yīng)掛起隊列表目。直到接收到這個響應(yīng)或者定時器溢出了,才繼續(xù)進行引導(dǎo)處理。當(dāng)ConfigMgr從這個主機接收到ResetServerMsg響應(yīng)類型消息時,ConfigMgr將在主機響應(yīng)掛起隊列中進行檢查,以判斷在一個ResetServerMsg響應(yīng)的主機響應(yīng)掛起隊列表目中是否有這個ResetServerMsg響應(yīng)表目。如果有,就調(diào)用合適的過程來完成引導(dǎo)處理。路由信息消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),就丟棄這個消息。從這個主機接收到一個RoutingInfoMsg請求類型消息后,ConfigMgr就向這個主機發(fā)送回一個RoutingInfoMsg響應(yīng),以指示這個請求被確認(rèn)了,并且試圖檢索這個路由信息。一旦檢索到了這個路由信息,ConfigMgr就將帶有路由信息的一個RoutingInfoMsgS_REPORT發(fā)送回到這個主機。當(dāng)被另一個子系統(tǒng)請求發(fā)送路由信息時,ConfigMgr將RoutingInfoMsgU_REPORT類型的消息發(fā)送到這個主機。在從另一個子系統(tǒng)接收到要求發(fā)送路由信息的一個請求后,ConfigMgr就檢查路由掛起隊列,以判斷這個主機是否請求了信息。如果是,ConfigMgr就將帶有路由信息的一個RoutingInfoMsgS_REPORT發(fā)送到這個主機。否則,ConfigMgr就將帶有路由信息的一個RoutingInfoMsgU_REPORT發(fā)送到這個主機。在ConfigMgr將一個U_REPORT發(fā)送到這個主機。ConfigMgr就等待這個主機通過發(fā)送一個RoutingInfoMsg確認(rèn)響應(yīng)來確認(rèn)對這個數(shù)據(jù)的接收。如果在所規(guī)定時間限內(nèi),ConfigMgr沒有接收到響應(yīng),ConfigMgr就請求合適的子系統(tǒng)來再一次發(fā)送應(yīng)用路由信息(促使重新將這個數(shù)據(jù)發(fā)送到這個主機)。如果從這個主機接收到了一個非確認(rèn)響應(yīng),ConfigMgr就激發(fā)一個IPR,來指示從主機來的一個故障響應(yīng)碼。規(guī)劃動作控制消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到SchedActCtlMsg設(shè)置類型的消息后,ConfigMgr就調(diào)用NetPM的SetSchedAction來按照所希望的使能/關(guān)閉規(guī)劃動作(例如常監(jiān)視和一般審計)。ConfigMgr向這個主機發(fā)送回一個SchedActCtlMsg響應(yīng)類型消息,以指示這個設(shè)置是否成功了。ConfigMgr具有一個GetSchedActions操作,這個操作可以被一個客戶所使用來獲得主機的時間信息。當(dāng)激發(fā)這個操作時,ConfigMgr向這個主機發(fā)送一個SchedActCtlMsg請求類型消息。然后,ConfigMgr為所希望的、從這個主機所接收的SchedActCtlMsgS_REPORT建立一個主機響應(yīng)掛起隊列表目。然后掛起處理(對GetSchedActions的處理),直到接收到S_REPORT或者定時器溢出了。如果在接收到規(guī)劃動作以前定時器溢出了,不采取動作。當(dāng)ConfigMgr從這個主機接收到SchedActCtlMsgS_REPORT類型消息,ConfigMgr就在主機響應(yīng)掛起隊列中檢查是否有一個SchedActCtlMsgS_REPORT的表目。如果有,ConfigMgr就調(diào)用NetPM的SetSchedAction操作,以按照所希望的使能/關(guān)閉規(guī)劃動作。服務(wù)器信息消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在一個平臺管理者服務(wù)器進行初始化處理和恢復(fù)處理期間,ConfigMgr向這個主機發(fā)送ServeInfoMsg請求和請求全部的類型消息。在發(fā)送了這個消息后,ConfigMgr掛起對任務(wù)的處理和為一個ServerInfoMsgS_REPORT類型(和/或者如果使用了請求全部的完成類型)建立一個主機響應(yīng)掛起隊列表目。直到已經(jīng)獲得了所需要的服務(wù)器信息或者定時器溢出了,才繼續(xù)初始化和恢復(fù)處理。如果在初始化期間定時器溢出了(在獲得信息以前),ConfigMgr再一次發(fā)送ServerInfoMsg請求和請求全部的類型消息,直到獲得了這個信息。如果在恢復(fù)一個平臺管理者服務(wù)器的期間定時器溢出了(在獲得信息以前),ConfigMgr就激發(fā)恢復(fù)失敗了的一個IPR。當(dāng)從這個主機接收到了ServerInfoMsgS_REPORT和完成消息時,ConfigMgr就在主機響應(yīng)掛起隊列中檢查是否有ServerInfoMsgS_REPORT或者完成的表目。如果有,就調(diào)用合適的過程來完成初始化或者恢復(fù)處理。當(dāng)從這個主機接收到ServerInfoMsg改變類型消息時,ConfigMgr就判斷它是否處于一個合適的、處理一個服務(wù)器信息改變的狀態(tài)。如果是,ConfigMgr就通知NetPM已經(jīng)改變了的服務(wù)器信息,并且向這個主機發(fā)送回一個ServerInfoMsg響應(yīng)類型,以指示這個服務(wù)器信息是否被成功地改變了。服務(wù)器狀態(tài)消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到一個ServerStatusMsg請求類型的消息后,ConfigMgr就獲得這個服務(wù)器和查詢狀態(tài)信息,并且將帶有當(dāng)前狀態(tài)信息的一個ServerStatusMsgS_REPORT發(fā)送回到這個主機。當(dāng)服務(wù)器狀態(tài)發(fā)生了改變時,或者在處理一個主機配置服務(wù)器請求的期間按照需要,ConfigMgr將ServerStatusMsgU_REPORT類型的消息發(fā)送到這個主機。測試服務(wù)器消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。如果目標(biāo)服務(wù)器是自己并且其合作設(shè)備平臺管理者沒有中止,這個平臺管理者節(jié)點將丟棄這個請求,而其它的平臺管理者處理消息。在MAINT邏輯鏈路上,從這個主機接收到一個TestServerMsg請求或者中止類型消息后,ConfigMgr判斷這個目標(biāo)服務(wù)器的狀態(tài)是MOS_MIN。如果是,ConfigMgr將一個TestServerMsg確認(rèn)響應(yīng)發(fā)送回到這個主機。在未來,ConfigMgr將根據(jù)是否接收了一個請求或者中止來激發(fā)或者中止合適的測試。如果目標(biāo)服務(wù)器沒有處于MOS_MIN,ConfigMgr就向這個主機發(fā)送一個TestServerMsg服務(wù)器沒有處于MOS-MIN。如果不能夠獲得目標(biāo)服務(wù)器狀態(tài),ConfigMgr將一個TestServerMsg否認(rèn)響應(yīng)發(fā)送回到這個主機,并且激發(fā)一個合適的IPR。時間消息被處于In-Service在提供服務(wù)的激活狀態(tài)的平臺管理者節(jié)點處理。如果沒有一個節(jié)點處于在提供服務(wù)的狀態(tài),處于OS-MIN激活狀態(tài)的平臺管理者節(jié)點將處理這個請求。在從這個主機接收到一個TimeMsg設(shè)置類型的消息后,ConfigMgr就調(diào)用NetPM的SetTime操作,來將服務(wù)器網(wǎng)絡(luò)時間設(shè)置到合適的時間,并且將一個TimeMsg響應(yīng)發(fā)送回到這個主機,以指示這個設(shè)置是否成功了。ConfigMgr具有一個GetTime操作,這個操作可以被一個客戶所使用來獲得主機的時間信息。當(dāng)激發(fā)這個操作時,ConfigMgr向這個主機發(fā)送一個TimeMsg請求類型消息。然后,ConfigMgr為所希望的、從這個主機所接收的TimeMsgS_REPORT建立一個主機響應(yīng)掛起隊列表目。然后掛起處理,直到接收到S_REPORT或者定時器溢出了。如果在接收到定時器信息以前定時器溢出了,不采取動作。當(dāng)ConfigMgr從這個主機接收到TimeMsgS_REPORT類型消息,ConfigMgr就在主機響應(yīng)掛起隊列中檢查是否有一個TimeMsg響應(yīng)的表目。如果有,ConfigMgr就調(diào)用NetPM的SetTime操作來設(shè)置網(wǎng)絡(luò)時間。節(jié)點管理服務(wù)節(jié)點平臺管理者(NodelPMMMain)節(jié)點管理子系統(tǒng)提供了在一單個服務(wù)器節(jié)點內(nèi)的進程管理。它負(fù)載啟動/停止這個服務(wù)器節(jié)點內(nèi)的進程,來維持特定的運行級別。節(jié)點管理所支持的運行級別是-中止(沒有軟件在運行-甚至沒有OS在運行)-MIN-SET(OS+最小所需要的平臺軟件)-INSERVIConfigurable部件(MIN-SET+公共軟件)網(wǎng)絡(luò)管理將所希望的一特定節(jié)點的運行級別通知給節(jié)點管理。在一個進程發(fā)生故障的事件中,節(jié)點管理評價所發(fā)生的故障,并且如果可能的話,判斷需要什么恢復(fù)動作?;謴?fù)動作包括忽視這個故障,自動將這個節(jié)點啟動到下一低的運行級別并且返回到當(dāng)前運行級別,然后關(guān)閉系統(tǒng)。作為每一個服務(wù)器節(jié)點的系統(tǒng)啟動過程的部分,NodePM將被激活。作為其初始化的一部分,NodePM●用具體的例子具體說明NodeMAP對象,并且在獲得關(guān)于需要配置在每一個服務(wù)器上的最小可配置部件的配置信息后,它將服務(wù)器節(jié)點啟動到一個最小操作狀態(tài)(OS-MIN)。從這個狀態(tài),這個服務(wù)器節(jié)點僅被允許進行一最小的功能集合,例如啟動這些進程的其余部分。在每一個節(jié)點的NodeMAP中所提供的配置數(shù)據(jù)決定了每一個服務(wù)器節(jié)點的能力(帶平臺管理能力的服務(wù)器節(jié)點和帶查詢處理能力的服務(wù)器節(jié)點)?!窠odePM服務(wù)器對象來處理執(zhí)行相同服務(wù)器節(jié)點內(nèi)部操作的NetPM請求。對每一個NetPM請求,NodePM(可以通過其服務(wù)器對象所提供的操作)執(zhí)行下述操作●將其服務(wù)器節(jié)點從一個最小可操作狀態(tài)(OS-MIN)啟動到一個完全的操作狀態(tài)(IN-SERVIConfigurable部件)(RestorNode操作)?!駥⑵浞?wù)器從一個完全操作狀態(tài)(IN-SERVIConfigurable部件)降級到一個最小可操作狀態(tài)(OS-MIN)或者中止?fàn)顟B(tài)(HALT)(RemoveNode操作)?!袷鼓?關(guān)閉其服務(wù)器節(jié)點上的查詢處理?!裉峁╆P(guān)于可配置部件的狀態(tài)信息。NodePM將關(guān)于每一個IPU的狀態(tài)的改變自動地報告給NetPM(NodePM使用NetPM所提供的操作來報告狀態(tài)改變)。圖8是顯示一個節(jié)點的合法服務(wù)狀態(tài)轉(zhuǎn)移的一個圖。注意,所有自動狀態(tài)轉(zhuǎn)移到另一個自動狀態(tài),所有人工狀態(tài)轉(zhuǎn)移到另一個人工狀態(tài)。在一個人工狀態(tài)和一個自動狀態(tài)之間不存在合法的狀態(tài)轉(zhuǎn)移。在這個時刻,ISV狀態(tài)沒有自動的或者人工的指定。狀態(tài)可以從在提供服務(wù)狀態(tài)(ISV)200轉(zhuǎn)移到任何其它狀態(tài),或者從任何其它狀態(tài)轉(zhuǎn)移到在提供服務(wù)狀態(tài)(ISV)200。圖8中所使用的縮寫詞的表示如下<tablesid="table2"num="002"><table>ADOWN214自動降級MDOWN216人工降級AHALT218自動中止MHALT220人工中止AREST222自動恢復(fù)MREST224人工恢復(fù)</table></tables>節(jié)點系統(tǒng)完整性(NodeSIMain)節(jié)點系統(tǒng)完整性子系統(tǒng)(類名NodeSI)提供了故障隔離和監(jiān)視在一單個服務(wù)器節(jié)點內(nèi)的服務(wù)。所有進程的故障被這個子系統(tǒng)所記錄,并且被轉(zhuǎn)發(fā)到節(jié)點管理以進行恢復(fù)動作。節(jié)點系統(tǒng)完整性實現(xiàn)了下述特征-被動地進程監(jiān)視(信號捕獲)-節(jié)點間通信的監(jiān)視-本地故障的報告AIN平臺的系統(tǒng)完整性(SI)能力可以被分類為那些提供在平臺的服務(wù)器節(jié)點間能力的完整性能力,和那些提供在一單個服務(wù)器內(nèi)部能力的完整性能力。NetSI在平臺層次處理系統(tǒng)完整性能力,而NodeSI提供在單個節(jié)點層次的系統(tǒng)完整性。NodeSI駐留在平臺中每一個服務(wù)器節(jié)點中,并且提供通過其每一個可配置部件的進程可以報告關(guān)于這個進程的故障條件的操作。這些故障包括●被常監(jiān)視對象檢測到的、在每一個進程上的故障?!窆?jié)點間通信故障?!裨谥鳈C和服務(wù)器網(wǎng)絡(luò)之間的通信故障?!馡M服務(wù)器進程檢測到的故障。它也執(zhí)行對到/出這個節(jié)點的所有連接的節(jié)點常監(jiān)視。如果檢測到一個通信故障,NodeSI將這個通信故障通知給NetSI。根據(jù)所報告的故障,NodeSI將采取合適的動作,包括激發(fā)IPR,并且對節(jié)點的狀態(tài)進行降級(與NodePM合作)。NodeSI監(jiān)視每一個服務(wù)器節(jié)點上的磁盤利用率,當(dāng)一特定文件系統(tǒng)的總使用容量超過一特定閾值時就激發(fā)合適的IPR。經(jīng)過DOME接口來處理NodeSI與其它對象所進行的通信。NodeSI從NodePM獲得配置中所有IPU的列表。并且建立包括從每一個IPU來的下述信息的一個陣列●從NodePM接收到的IPU信息●IPU狀態(tài)●故障計數(shù)●存活信息被接收的指示器一個到這個列表的一個陣列索引被用于與其它的NodeSI進行狀態(tài)的通信交換,而不是進行節(jié)點名字的通信,因為就速度和效率來說,進行串比較的代價可能很高。所以,重要的是,在配置中的每一個節(jié)點具有相同順序的相同IPU列表。NodeSI使用NodePM進行注冊來獲得節(jié)點狀態(tài)通知。當(dāng)NodeSI被告知關(guān)于另一個IPU的一個狀態(tài)改變時,它將更新IPU陣列中的IPU狀態(tài)。如果狀態(tài)被改變到中止?fàn)顟B(tài),NodeSI將清除故障計數(shù)和存活消息被接收的指示器。NodeSI有兩個定時器來處理其常監(jiān)視功能BroadcastTimer-定時器,促使NodeSI將“我存在”的消息廣播到它視圖內(nèi)的其它NodeSI。ConMonChkTimer-定時器,促使NodeSI決定,是否在這個時間間隔內(nèi)接收了所有連接的合適的“我存在”消息。當(dāng)NodeSI被告知這個節(jié)點是OS-MIN,它開始將“我存在”消息廣播給其視圖內(nèi)的其它NodeSI。然后,它觸發(fā)這個BroadcastTimer。在BroadcastTimer溢出了,NodeSI立即重新廣播“我存在”消息并且重新觸發(fā)BroadcastTimer。這將中斷正在進行的任何NodeSI處理。當(dāng)NodeSI從另一個NodeSI接收一個“我存在”消息時,它標(biāo)識合適IPU陣列表目的、存活消息被接收的指示器。當(dāng)NodeSI被告知,這個節(jié)點處于OS-MIN時,它觸發(fā)ConMonChkTimer。在ConMonChkTimer溢出后,NodeSI對CommFailCheck操作進行一個Dome調(diào)用,來執(zhí)行通信故障檢查并且重新觸發(fā)這個定時器。它對自己使用一個DOME調(diào)用,來確保優(yōu)先級被給予來進行存活消息的廣播。通信故障處理包括檢查其陣列中的每一個IPU來判斷,自從它最后一次進行檢查以后,是否已經(jīng)接收了一個存活消息。如果是,就清除存活消息被接收的指示器。如果沒有消息被接收并且IPU狀態(tài)沒有中止,就將這個節(jié)點的故障計數(shù)增加1。如果這個IPU的故障數(shù)目達到其最大值,NodeSI向NetSI報告一個通信故障。故障計數(shù)的最大值是可以通過使用關(guān)鍵字“MAX_COMM_FAULTS”從命令行輸入的一個可配置值。如果沒有給定一個值,故障計數(shù)的缺省值是2。另外,如果命令行中所給予的值比2少,最大數(shù)目將被設(shè)置為2。每一個存活消息的廣播之間的秒數(shù)目是可以使用一個關(guān)鍵字“BRDCAST_ALIVE-SECS”從命令行輸入的一個可配置值。如果沒有給定一個值,廣播之間的缺省秒數(shù)目值是1秒。另外,如果命令行中所給予的值比1秒少,最大秒數(shù)目將被設(shè)置為1。每一個常監(jiān)視檢查之間的秒數(shù)目是可以使用一個關(guān)鍵字“CONMON_CHK_SECS”從命令行輸入的一個可配置值。如果沒有給定一個值,檢查之間的缺省秒數(shù)目值是2秒。另外,如果命令行中所給予的值比2秒少,最大秒數(shù)目將被設(shè)置為2。作為每一個節(jié)點啟動的一部分,在啟動其它進程以前,NodePM啟動NodeSI。作為其初始化的一部分,NodeSI讀取包括被NodeSI所檢測故障的定義的一個描述符文件(Fault.des),并且為這些故障記錄產(chǎn)生一個列表(FaultInfoList)。每一個故障記錄(FaultInfo)包括下述部分●FaultId-故障標(biāo)識●FaultActId-對每一個被報告故障應(yīng)采取的動作。當(dāng)接收到故障時,NodeSI將在其列表(FaultInfoList)中,使用故障的標(biāo)識來搜尋故障記錄,并且執(zhí)行與這個故障相關(guān)的動作。這些動作包括●激發(fā)合適的IPR。●在檢測到關(guān)于NodePM進程的災(zāi)難性故障時,中止這個節(jié)點。●將關(guān)于可配置部件的自動狀態(tài)改變報告給NodePM。●將通信故障報告給NodePM并且依次報告給NetSI。經(jīng)過NodeSI的NotifyFault()操作,每一個進程將所有故障(從常監(jiān)視器發(fā)起的或者其它進程發(fā)起的)報告給NodeSI。NodeSI跟蹤這個服務(wù)器節(jié)點上的磁盤利用率,并且如果80(80%?)被使用了,就激發(fā)一個IPR。NodePM接口NodeSI使用NodePM所提供的接口來報告一個可配置部件狀態(tài)的自動改變(AutoChgCEStat(…))。根據(jù)可配置部件對節(jié)點狀態(tài)的影響,這個狀態(tài)的改變可能會促使NodePM執(zhí)行下述操作中的任何一個操作●降級節(jié)點的狀態(tài)-如果可配置部件的狀態(tài)改變對節(jié)點的當(dāng)前操作狀態(tài)有大的影響的話,就執(zhí)行這個動作。在執(zhí)行這個動作以前,NodePM將其內(nèi)容通知給NetSI,并且啟動一個定時器。然后在接收到來自NetPM的請求或者時間溢出后,它將對節(jié)點的狀態(tài)進行降級?!駡蟾嫱ㄐ殴收?如果可配置部件的狀態(tài)改變指示是一個節(jié)點間通信的故障(TCP鏈路不能夠提供服務(wù)),就執(zhí)行這個動作。對于這個情形,NodePM將通信故障通知給NetSI,并且試圖再建立通信。NetSI接口NetSI提供可以被NodeSI和/或者NodePM所使用的、用于報告下述條件的操作●一個IPU狀態(tài)的自動改變(DowngradeIPStat(...))-在這個情形下,NetSI通過NetPM對這個節(jié)點進行降級(如果這個節(jié)點沒有被中止,就請求NetPM執(zhí)行降級)?!裢ㄐ殴收?CommFaultRprt(...))-在這個情形下,如果其它IPU報告了關(guān)于這個相同IPU的通信故障,然后NetSI將這個IPU標(biāo)識為發(fā)生故障的IPU,并且試圖通過NetPM對這個IPU進行降級。常監(jiān)視器接口為了檢測和報告產(chǎn)生關(guān)于進程的不同信號的條件/事件,每一個可配置部件進程需要對常監(jiān)視器對象進行實例化。常監(jiān)視器經(jīng)過NodeSI的NotifyFault()操作來報告這些條件。在無法將故障通知給NodeSI的情形下,常監(jiān)視器將根據(jù)其實例化時所設(shè)置的選項來中止這個節(jié)點。消息處理器/邏輯鏈路接口消息處理器或者邏輯鏈路可配置部件進程使用NodeSI操作NotifyFault()來報告關(guān)于DNI/TCP鏈路的故障。服務(wù)管理者(SMProcess)服務(wù)管理子系統(tǒng)提供對應(yīng)用進程的進程控制。僅當(dāng)節(jié)點已經(jīng)達到在提供服務(wù)這個運行級別后,應(yīng)用進程才運行。在一個服務(wù)器節(jié)點上,可以獨立地刪除/恢復(fù)應(yīng)用進程,和獨立地使能/關(guān)閉應(yīng)用進程。網(wǎng)絡(luò)管理通知服務(wù)管理需要刪除,恢復(fù),使能,關(guān)閉哪一個應(yīng)用。服務(wù)管理所實現(xiàn)的特征包括-激活進程監(jiān)視(心跳,審計)-多進程實例支持-應(yīng)用進程狀態(tài)管理-管理狀態(tài)-操作狀態(tài)-使用狀態(tài)-應(yīng)用進程狀態(tài)改變通知對提供一個一致的可配置部件接口的電信平臺導(dǎo)航器特征來說,已經(jīng)進行了一個改變來讓服務(wù)管理啟動系統(tǒng)可配置部件,而不是NodePM來啟動。通過這樣做,這個系統(tǒng)中的所有進程(除了服務(wù)管理)可以被服務(wù)管理來啟動,所以一個可配置部件的特征在系統(tǒng)的范圍內(nèi)來說是相同的。為了產(chǎn)生一個電信平臺導(dǎo)航器GUI,已經(jīng)存在了一個電信平臺系統(tǒng)的一個一致視圖。圖9A是顯示在節(jié)點進行初始化期間,在電信平臺的實體之間存在的新關(guān)系。對可以利用所有服務(wù)管理功能的一個可配置部件來說,就需要后面的服務(wù)管理接口。產(chǎn)生一個引導(dǎo)描述文件230是需要在所有節(jié)點上進行運行所作的第一件事。當(dāng)運行引導(dǎo)程序230時,它將標(biāo)識平臺管理者節(jié)點232,并且拷貝激活的平臺管理者節(jié)點的Tcl描述符文件234進行使用,以啟動這個節(jié)點。如果它判斷出這是運行的第一個平臺管理者節(jié)點,它將使用已經(jīng)存在的Tcl描述符文件234來進行運行。平臺管理者子系統(tǒng),和服務(wù)管理子系統(tǒng)236關(guān)于一可配置部件238所在平臺的前一版本的概念是不同的。這兩個概念被融合成一個可配置部件的概念,合并了它們分離的功能。為了實現(xiàn)這個,平臺管理者子系統(tǒng)將不再刪除和恢復(fù)可配置部件,但是當(dāng)它希望刪除和恢復(fù)一個可配置部件時它將通知服務(wù)管理。現(xiàn)在,服務(wù)管理是第一個被啟動的電信平臺程序,并且作為其初始化的一部分,總數(shù)啟動NodePM。然后,NodePM按照與以前相同的方法來控制進程的啟動和停止,這個控制是僅通過服務(wù)管理,而不是通過老的RemoveCE和RestoreCE功能。圖9B是顯示節(jié)點被初始化為MIN_SET狀態(tài)的一個消息流圖。圖9C是顯示節(jié)點初始化為IN_SERVICE狀態(tài)的一個消息流圖。圖9D是顯示節(jié)點初始化為POST_ISV狀態(tài)的一個消息流圖。圖10總結(jié)了在SM和一個可配置部件之間所使用的消息協(xié)議。如果一個可配置部件不能夠?qū)⒁粋€服務(wù)管理接口(SMI)對象連接到其中,服務(wù)管理仍然將啟動這個可配置部件,但是不能夠獲得服務(wù)管理所提供的很多服務(wù)。事件管理者(eventmanagerimpl)事件管理者子系統(tǒng)給一個用戶提供了一般將事件通知發(fā)送給一個或者多個已登記方的能力。多個事件管理者對象實例可能已經(jīng)在系統(tǒng)中存在。一個節(jié)點級別事件管理者存在于所有節(jié)點上。其它事件管理者實例也可能存在,來為感興趣的方提供登記對一個進程來說很特殊的事件的能力。eventmanagerimpl程序提供了它正在其上運行的模式的、一個事件管理者對象實例。通過這個事件管理者實例,與一個節(jié)點相關(guān)的事件被發(fā)送。對一特定節(jié)點的事件感興趣的用戶可以通過使用這個節(jié)點名字作為實例管理者名字來綁定到這個節(jié)點事件管理者實例。程序也可以將一個事件管理者對象嵌入到它們的程序內(nèi)。IprMgrImpl程序是這樣做的一個程序示例。IprMgrImpl有一個稱作IprEventMgr的一個事件管理者。希望接收IPR事件的用戶。對一特定事件感興趣的用戶可以使用一個特定的事件管理者實例來進行登記,以通過這個事件管理者實例來接收這個事件。事件管理者不永久地保存已經(jīng)進行登記方的列表。如果事件管理者試圖將一個事件轉(zhuǎn)發(fā)到已經(jīng)消失的一個事件接收器,這個事件接收器就從這個列表中被刪除掉。圖11顯示了使用在電信平臺系統(tǒng)中的事件管理者250的兩個示例。eventmanagerimpl252包括節(jié)點事件管理者對象示例250。當(dāng)這個節(jié)點的狀態(tài)改變時,NodePMMain電信平臺程序254使用這個事件管理者250來發(fā)送一個事件。當(dāng)NodePMMain254通過調(diào)用關(guān)于“節(jié)點123”事件管理者250的通知,即事件管理者250將發(fā)現(xiàn)所有已經(jīng)進行登記來接收這個事件的事件接收器對象258,而產(chǎn)生一個事件,然后應(yīng)用程序256產(chǎn)生一個事件接收器對象268并且將一個CORBA對象參考傳遞到“節(jié)點123”事件管理者250上的登記調(diào)用。在應(yīng)用程序已經(jīng)登記了這個事件后,事件管理者250將調(diào)用關(guān)于這個事件接收器對象258的notify()方法,這個事件接收器對象258促使在應(yīng)用程序256中激發(fā)這個notify()方法。在上述示例中,應(yīng)用程序256已經(jīng)登記了IprMgrImpl程序262中的“IprEventMgr”事件管理者260。當(dāng)NodePMMain254使用IprMgrImpl接口來激發(fā)一個IPR時,IprMgrImpl程序262查詢這個IPR,并且執(zhí)行證實處理,并且調(diào)用“IprEventMgr”事件管理者260上的notify()。這促使事件管理者250將在登記呼叫中被傳遞的、所產(chǎn)生的事件傳遞到在應(yīng)用程序256中的事件接收器264。應(yīng)用程序256可以使用與IprMgrImpl程序的方法相同的方法,使用其自己的名字來產(chǎn)生它們自己的事件管理者。事件管理者實例在系統(tǒng)中需要唯一的名字,以避免為一個不正確的事件管理者產(chǎn)生一個事件,或者避免一個用戶登記到不正確的事件管理者。IPR/告警服務(wù)信息和問題報告子系統(tǒng)(IPR)為這個系統(tǒng)中的所有進程提供了產(chǎn)生信息和產(chǎn)生問題報告的能力。IPR是標(biāo)準(zhǔn)的、用于將錯誤條件或者其它永久系統(tǒng)信息通知給這個系統(tǒng)的用戶的機制。這個信息和問題報告子系統(tǒng)實現(xiàn)對電信平臺中IPR的收集。一個告警是可以被附著到一個IPR的一個機制?,F(xiàn)在不提供告警服務(wù),但是在將來的電信平臺版本中將提供告警服務(wù)。IPR子系統(tǒng)提供了幾個特征。它提供了激活/備份IPR服務(wù)冗余性,提供了將IPR轉(zhuǎn)發(fā)到已登記接收器的能力,提供了將IPR轉(zhuǎn)發(fā)到這個主機的能力,提供了實時顯示IPR的能力,與傳統(tǒng)的PAConfigurable部件IPR接口,一個CORBAIPR接口的后向兼容性,使用一個IPR字典來證實IPR的能力,提供關(guān)于從IPR字典發(fā)送出的IPR的附加信息的能力,和向IPR字典提供IPR的能力。參考圖12,IprMgrImpl程序是一個電信平臺站點中所有IPR的收集點。這個程序包括IprMgrImplCORBA服務(wù)器對象。IprMgrImpl對象運行在每一個激活/備份平臺管理者節(jié)點上。IprMgrImpl對其作出反應(yīng)的激活/備份狀態(tài)是電信平臺管理者節(jié)點的節(jié)點級激活/備份狀態(tài)。當(dāng)平臺管理者節(jié)點改變激活/備份狀態(tài)時,備份IprMgrImpl對象將不公布其接口,而激活的IprMgrImpl對象將公布其CORBA接口。通過這樣做,兩個IprMgr和IPRClient接口的客戶用戶將其IPR轉(zhuǎn)發(fā)到激活的IprMgrImpl對象。在IPR子系統(tǒng)內(nèi)使用事件管理者子系統(tǒng)來發(fā)布IPR。這允許IPR被轉(zhuǎn)發(fā)到多個目的地。通過使用事件管理者,附加的IPR特征可以被很容易地添加到系統(tǒng)中,而不需要改變接口。IPR子系統(tǒng)的事件管理者機制目前在電信平臺中被使用,來提供某些已有的IPR服務(wù)。為了當(dāng)IPR出現(xiàn)時顯示它們,登記了實時IPRGUI270來接收IPR。Ipr2host程序272登記到IPR子系統(tǒng)來接收IPR,并且將IPR轉(zhuǎn)發(fā)到這個主機。一個IPR記錄器也可以進行登記來接收需要被記錄到磁盤的IPR。Ipr2host程序272負(fù)責(zé)將IPR轉(zhuǎn)發(fā)到這個主機。它從IprMgrImpl的事件管理者接收IPR,并且將其格式化為一個主機消息來進行轉(zhuǎn)發(fā)。所有需要被轉(zhuǎn)發(fā)到這個主機的IPR使用消息處理器子系統(tǒng)來經(jīng)過IPR_ASSERT邏輯鏈路來轉(zhuǎn)發(fā)IPR。IPR子系統(tǒng)具有兩個外部接口IPRClient接口274和CORBAIPR接口276。IPRClient接口274的存在是為了與前面的PAConfigurable部件版本后向兼容。一旦已經(jīng)使用IPRClient碼來對從IPRClient接口274接收的、被發(fā)送IPR進行了轉(zhuǎn)換,就使用一個IprMgrImplCORBA接口來發(fā)送一個IPR,以將IPR路由到激活的IprMgrImpl對象。這個接口仍然使用LOCIPRDB.DSKIPR字典來作為將老的PAConfigurable部件IPR轉(zhuǎn)換為當(dāng)前IPR子系統(tǒng)格式的輸入。這需要在每一個具有發(fā)送IPR程序的節(jié)點上駐留一個LOCIPRDB.DSK。在前一版本中,在IPR被轉(zhuǎn)發(fā)到這個主機以前,LOCIPRDB.DSK字典被用于進行IPR證實。RegisterIPR公共軟件被使用來將IPR輸入到LOCCIPRDB.DSK字典中。在數(shù)據(jù)庫表目中的字段包括ASCII關(guān)鍵字(IPR文本),主機IPR號碼,IPR優(yōu)先級,所使用的數(shù)據(jù)詞的數(shù)目,和數(shù)據(jù)詞格式。為了測試IPRMgr,在將被轉(zhuǎn)換成一個關(guān)鍵字字典的ipr.in中,必須定義IPR(通過RegisterIPR公共軟件)。IprMgrImpl接口是一個CORBAIDL接口。如果使用這個接口來發(fā)送一個IPR,就不需要被輸入到LOCIPRDB.DSK字典中。當(dāng)IprMgrImpl對象接收到一個被發(fā)送的IPR時,它在其IPR字典中查找這個被發(fā)送的IPR,并且構(gòu)造一個需要被發(fā)送的IPR事件。這個IPR事件包括從發(fā)送這個IPR的這個客戶所傳遞來的信息,和從IPR字典中來的信息。在發(fā)送一個IPR以前,IPR必須被添加到IPR字典中和MegaHub主機IPR中。IprDriver工具被用于將IPR添加到IprMgrImplIPR字典中。重新格式化和重新格式化2描述是幫助將一個VAXIPR文件轉(zhuǎn)換為可以被IprDriver所使用的一個格式,以移植于IprMgrImplIPR字典中。圖13顯示了一個應(yīng)用發(fā)送一個IPR,這個IPR管理者處理這個IPR,并且事件管理者將這個IPR路由到一個IPRGUI以進行顯示的情形。1)IPRGUI登記說希望接收被報告到IPR事件管理者的所有IPR。2)一個應(yīng)用發(fā)送一個IPR。3)IPR管理者將這個IPR轉(zhuǎn)發(fā)到這個事件管理者。4)這個事件管理者將IPR分發(fā)到IPRGUI。圖14是一個IPR視圖GUI屏幕打印的一個示例。IPR視圖GUI應(yīng)用提供了以一個分隔窗口顯示IPR的方式。在頂部的窗口中,使用根據(jù)類型的方式,以花費與時間的關(guān)系來顯示了IPR的圖形視圖。在底部窗口中,顯示了IPR的一個傳統(tǒng)的完全/簡短文本視圖。也允許顯示子類型和對顯示進行一定的客戶定制。另外,對所顯示的IPR也可以進行過濾和高亮度顯示。通信是經(jīng)過CORBA處理的。統(tǒng)計服務(wù)數(shù)據(jù)收集(DcMprocess,DcProcess)參考圖15,數(shù)據(jù)收集子系統(tǒng)(DC)298提供了對一個節(jié)點內(nèi)的應(yīng)用程序進行業(yè)務(wù)量測量的功能。這些測量是被PegCounter類所記錄的計數(shù)和被TimeMeter類所記錄的花費時間。PegCounter299測試將間接地測試共享存儲器300和信號量??蛻暨M程301標(biāo)記共享存儲器300,并且數(shù)據(jù)收集298從共享存儲器300收集數(shù)據(jù)并且發(fā)送到DCMaster302。每隔30分鐘,數(shù)據(jù)收集298向DCMaster302(在激活的平臺管理者節(jié)點內(nèi))發(fā)送30分鐘內(nèi)的peg計數(shù)器時隙299,并且然后數(shù)據(jù)收集將這些時隙清零。激活的平臺管理者節(jié)點304更新備份平臺管理者節(jié)點306。參考圖16,統(tǒng)計服務(wù)或者數(shù)據(jù)收集子系統(tǒng)320提供了業(yè)務(wù)量測量和平臺的測量能力。這個子系統(tǒng)320支持統(tǒng)計測量,例如peg計數(shù)器,時間測量器,閾值計數(shù)器,收集和查詢的產(chǎn)生,收集,和報告。PegCounter322和TimeMeter324被顯示成可以支持分布式應(yīng)用。數(shù)據(jù)收集子系統(tǒng)320所實現(xiàn)的特征包括-PegCounter322和TimeMeter324API支持-對從多個節(jié)點來的累加數(shù)據(jù)的收集-本地顯示統(tǒng)計數(shù)據(jù)的報告GUI-用戶定義的測量集合,以報告客戶定制的信息閾值計數(shù)器(TCServer)可以使用orbeline的ORB實施方式,將閾值計數(shù)器子系統(tǒng)實現(xiàn)為一個對象請求代理(ORB)的分布式對象。經(jīng)過orbeline,應(yīng)用被連接到駐留在平臺管理者節(jié)點中的一個服務(wù)器對象。這個服務(wù)器經(jīng)過分布式對象消息環(huán)境(DOME),將計數(shù)器閾值的跨越報告給應(yīng)用。這個服務(wù)器對象被閾值計數(shù)器服務(wù)器進程,TCServer所產(chǎn)生。每一個TCServer進程也經(jīng)過orbeline與遠(yuǎn)程節(jié)點上的TCServers進行通信,以使計數(shù)器可以在站點之間被同步。TCServer使用在公共服務(wù)庫中作為模板類RepShmDict被提供的永久字典,來將所有計數(shù)器保存在永久存儲器中。圖17顯示了在應(yīng)用進程340和計數(shù)器服務(wù)器進程之間的通信路徑。TCServer進程342經(jīng)過Orbeline344和DOME346這兩個來與應(yīng)用進程340進行通信。TCServer進程342運行在一個orbelineimpl_is_ready循環(huán)中,以等待從應(yīng)用進程340或者是從另一個節(jié)點上的一個TCServer服務(wù)器進程342來的服務(wù)請求。它產(chǎn)生一個DOMEReqServ調(diào)用來通知應(yīng)用進程340,一個計數(shù)器已經(jīng)達到其閾值。參考圖18,閾值計數(shù)器子系統(tǒng)360API為應(yīng)用程序的編程人員隱藏了與orbeline相關(guān)的實現(xiàn)細(xì)節(jié)部分。相反,子系統(tǒng)的客戶層包括兩個層次一個與ORB無關(guān)的層362,一個與ORB相關(guān)的層364。盡管為應(yīng)用程序的編程人員隱藏了與orbeline相關(guān)的實現(xiàn)細(xì)節(jié)部分,但是子系統(tǒng)的分布式特征沒有被隱藏。為了使對計數(shù)器增加1所需要的時間最少,計數(shù)器增量被緩存在API中,并且以批處理的方式被發(fā)送到服務(wù)器。這意味著應(yīng)用程序不能夠立即接收到對API對象所進行的某些操作的成功或者失敗的通知。通信服務(wù)消息處理(MsgHndl,LinkXXX)如圖19和20所顯示的,消息處理子系統(tǒng)370提供了基于消息的、處理器間的通信服務(wù)。一般,所有在服務(wù)器節(jié)點上的進程間通信均通過如圖21所顯示的分布式對象消息環(huán)境(DOME)372來執(zhí)行。當(dāng)必須在節(jié)點邊界進行信息的交換通信時,DOME372使用消息處理子系統(tǒng)370。消息處理子系統(tǒng)370也用于與非服務(wù)器外部的系統(tǒng),例如SCP主機進行通信。消息處理子系統(tǒng)370實現(xiàn)了下述特征。-多協(xié)議的公共接口。-TCP/IP374-UDP/IP376-DECNET378-連接到相同目的地的多鏈路的單訪問標(biāo)識(邏輯鏈路組名字)-冗余鏈路過濾(改善了可擴展性)-鏈路故障恢復(fù)-異步接收接口分布式對象服務(wù)參考圖21,DOME372是用于進程間客戶服務(wù)器通信的一個客戶/服務(wù)器接口。它包括允許服務(wù)器進程382登記可以被客戶進程384所使用的對象和成員函數(shù)的服務(wù)器接口382。DOME372包括可以保存這個服務(wù)器描述和一個獨立的DOMEServices進程(domeSrv)的一個共享存儲器數(shù)據(jù)庫380,這個獨立的DOMEServices進程(domeSrv)維護從其它節(jié)點來的服務(wù)器對象描述。它也包括提供對節(jié)點DOME數(shù)據(jù)庫中的任何已經(jīng)登記的服務(wù)器對象進行訪問的客戶接口384。進程間通信子系統(tǒng)主要包括DOME。DOME為一個進程提供了登記一個服務(wù)器對象和其方法的能力,其登記方法允許這個系統(tǒng)中的其它進程可以激發(fā)這些方法。DOME支持故障登記模式和訪問模式,并且包括可以幫助開發(fā)抗故障軟件的、很多特殊選項。進程間通信子系統(tǒng)實現(xiàn)的特征包括-跨越節(jié)點和站點,登記對象名字管理。-具有優(yōu)先級的請求處理-激活/備份對象請求路由-負(fù)載分擔(dān)對象請求路由-廣播對象請求路由-阻塞/非阻塞對象請求公共服務(wù)公共程序子系統(tǒng)提供了一個編程工具庫,來幫助快速地開發(fā)可以在平臺層或者在平臺層內(nèi)部運行的進程。公共程序子系統(tǒng)所實現(xiàn)的特征包括-命令行對象-跟蹤對象-共享存儲器對象-信號語對象-關(guān)鍵字字典對象-列表對象-復(fù)制的、關(guān)鍵字字典對象-共享存儲器字典對象-等等。DbgTrace對象參考圖22,DbgTrace工具軟件400提供了將跟蹤消息發(fā)送到一個跟蹤緩沖器,發(fā)送到一個文件,和/或者發(fā)送到標(biāo)準(zhǔn)錯誤的能力。跟蹤數(shù)據(jù)可以使用兩個不同的格式來輸入標(biāo)準(zhǔn)的打印格式,和一個數(shù)據(jù)緩沖器轉(zhuǎn)儲格式。一個掩碼402可以被用于過濾掉不同級別的消息。對每一個DbgTrace組來說,有32個可能的掩碼級別。DbgCntl接口404是DbgTrace對象400的控制接口。它允許用戶規(guī)定DbgTrace工具軟件400的很多不同方面。這個接口允許用戶對DbgTrace工具對象400作下面的事情-設(shè)置/獲得一個DbgTrace組400的掩碼402。-設(shè)置/獲得內(nèi)部消息緩沖器410的大小。-獲得一個已經(jīng)存在組的列表。-打開/關(guān)閉到標(biāo)準(zhǔn)錯誤的顯示-打開/關(guān)閉一次將跟蹤到一個文件的一次轉(zhuǎn)儲。-使能/關(guān)閉在它們被覆蓋以前,將跟蹤數(shù)據(jù)轉(zhuǎn)儲到文件的能力。一個DbgDisk接口允許用戶規(guī)定對所有的寫請求,跟蹤緩沖器410將被寫到哪一個文件中。DbgTrace工具軟件400允許用戶產(chǎn)生每一個可以屬于多個組中一個組的不同DbgTrace對象400。這允許用戶有對每一個組唯一的一個掩碼值。所有經(jīng)過DbgTrace接口400被發(fā)送的跟蹤被保存在一個內(nèi)部消息緩沖器中。除了內(nèi)部緩沖器外,用戶還可以規(guī)定是否需要發(fā)送到標(biāo)準(zhǔn)的錯誤上。跟蹤對象跟蹤對象給用戶提供了可選地將跟蹤消息發(fā)送到標(biāo)準(zhǔn)錯誤的能力。當(dāng)這個用戶發(fā)送一個跟蹤時,就規(guī)定了表示這個跟蹤將被輸出的跟蹤級別的一個掩碼。這個跟蹤接口允許這個用戶規(guī)定一個掩碼,其中這個UNIX進程中跟蹤的所有實例將使用這個掩碼來決定是否發(fā)送這個跟蹤消息。這個跟蹤掩碼必須支持8個唯一的掩碼值。字典管理系統(tǒng)參考圖23,字典管理提供了被設(shè)計成支持?jǐn)?shù)據(jù)保存和訪問的類。字典可以被保存在磁盤上(永久地)或者被保存在存儲器中。字典也可以是私有的(僅被本地進程所使用)或者所共享的(可以被多個進程所訪問)。這些字典的目的由應(yīng)用程序來定義。DmsMaster430和DmsServer432之間所進行的基本交互通信是當(dāng)DmsMaster430從這個應(yīng)用接收到一個更新消息時,DmsMaster430更新DmsServer432。DmsMaster430作為平臺管理者節(jié)點中的激活/備份來運行,而DmsServer432在所有的IPU(或者一個子集)中運行。事件服務(wù)事件服務(wù)提供了在松散耦合的進程間,產(chǎn)生和分發(fā)對一個任務(wù)特別重要的特定事件的能力。一個事件的一個示例是一個輸入/輸出轉(zhuǎn)移的完成。這個事件服務(wù)可以是基于CORBA的進程間通信工具軟件。它使用使一個對象執(zhí)行一個操作的標(biāo)準(zhǔn)CORBA請求。這通過事件管理者實現(xiàn)程序來完成。通過定義對象的兩個不同作用,可以分離對象之間的通信;產(chǎn)生了異步的通信。一個對象接收和累加新事件,而另一個對象登記對轉(zhuǎn)發(fā)這些新事件的興趣。這由兩個CORBA類來實現(xiàn),EventManager和EventReceiver。EventManager提供了用于接收新事件的一個接口定義語言(IDL)接口。EventReceiver為希望接收事件的客戶提供了一個接口定義語言接口。軟件和硬件表示圖24顯示了一個電信平臺系統(tǒng)的硬件圖。在最高層,一個電信平臺系統(tǒng)包括一個或者多個站點440。在一個站點440內(nèi)部,存在多個節(jié)點442。軟件表示是分層的,允許軟件部件可以被組合到一起。圖25顯示了這個分層結(jié)構(gòu)。一個應(yīng)用450存在在最高層。一個應(yīng)用450由一個或者多個可配置部件集合452組成,可配置部件集合452由一個或者多個可配置部件454組成。一個系統(tǒng)內(nèi)可以定義多個應(yīng)用450。一個系統(tǒng)內(nèi)部的所有這些應(yīng)用450可以組成一個系統(tǒng)的軟件表示。圖26中所顯示的、將軟件動態(tài)地匹配到一個系統(tǒng)的硬件表示描述了,一個應(yīng)用450的部分如何被放置到節(jié)點442上。站點440包括應(yīng)用450。應(yīng)用450具有處理器服務(wù)組456。處理器服務(wù)組456跨越多個節(jié)點442。節(jié)點442的上面配置有可配置部件集合452。可配置部件454駐留在可配置部件集合452中。例如,表示一個與時間相關(guān)的路由應(yīng)用的一個軟件可能具有兩個可配置部件集合WestCoastSet和EastCoastSet。在這個WestCoastSet集合內(nèi),與時間相關(guān)的路由應(yīng)用可能具有需要在處理西部海岸呼叫的節(jié)點上運行的所有程序。這可能包括專門為西部海岸處理而配置的數(shù)據(jù)庫程序,鏈路進程,等等。在這個EastCoastSet集合內(nèi),與時間相關(guān)的路由應(yīng)用可能具有需要在處理西部海岸呼叫的節(jié)點上運行的所有程序。然后,與時間相關(guān)的路由應(yīng)用可能被分配到一個站點上。那些將運行與時間相關(guān)的路由應(yīng)用的節(jié)點將被組合成處理器服務(wù)組。然后,這個應(yīng)用的可配置部件集合將被放置在已經(jīng)被添加到一個與時間相關(guān)的路由應(yīng)用處理器服務(wù)組中的節(jié)點上。盡管已經(jīng)詳細(xì)描述了本發(fā)明的幾個實施方式和其優(yōu)點,但是應(yīng)理解,可以進行變化,改變,替換,變換,修改,改動,和改變,而不會偏離本發(fā)明的思想,不會偏離后附權(quán)利要求書所提出的、本發(fā)明的精神和范圍。權(quán)利要求1.一個電信平臺,形成在執(zhí)行電信功能的應(yīng)用程序和運行在一個站點的至少一個節(jié)點上、并且用于支撐應(yīng)用程序的一個操作系統(tǒng)之間的一個接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口,包括網(wǎng)絡(luò)管理進程,可以用于提供節(jié)點間配置,監(jiān)視和管理功能;節(jié)點管理進程,可以用于提供節(jié)點的初始化,配置,監(jiān)視和管理功能;事件進程,可以用于對預(yù)定的事件作出響應(yīng),提供任務(wù)的初始化,終結(jié),和分發(fā);公共進程,可以用于提供開發(fā)應(yīng)用程序的多個編程工具庫;通信進程,可以用于提供消息處理功能;和分布式對象進程,可以用于為面向?qū)ο蟮耐ㄐ盘峁┮粋€分布式數(shù)據(jù)庫。2.如權(quán)利要求1所提出的這個電信平臺,進一步包括信息和問題報告和告警進程,用于提供錯誤條件監(jiān)視,告警和報告。3.如權(quán)利要求1所提出的這個電信平臺,進一步包括統(tǒng)計進程,可以用于提供訪問系統(tǒng)測量數(shù)據(jù)的方法和提供產(chǎn)生關(guān)于系統(tǒng)測量數(shù)據(jù)的報告。4.如權(quán)利要求1所提出的這個電信平臺,進一步包括字典進程,用于提供數(shù)據(jù)保存和訪問方法。5.如權(quán)利要求1所提出的這個電信平臺,進一步包括圖形用戶界面進程,可以用于提供圖形用戶界面的建立方法。6.如權(quán)利要求1所提出的這個電信平臺,進一步包括至少一個平臺管理節(jié)點,在這個節(jié)點上可以支持網(wǎng)絡(luò)管理進程;至少一個應(yīng)用節(jié)點,連接到至少一個平臺管理節(jié)點,并且可以支持節(jié)點管理進程。7.如權(quán)利要求6所提出的這個電信平臺,其中所述至少一個平臺管理節(jié)點也是所述至少一個應(yīng)用節(jié)點。8.如權(quán)利要求6所提出的這個電信平臺,其中所述至少一個平臺管理節(jié)點包括一第一平臺管理節(jié)點,工作在一個激活模式下;和一第二平臺管理節(jié)點,工作在一個備用模式下。9.如權(quán)利要求6所提出的這個電信平臺,其中所述至少一個平臺管理節(jié)點包括兩個或者多個工作在一個負(fù)載分擔(dān)模式的平臺管理節(jié)點。10.如權(quán)利要求1所提出的這個電信平臺,其中所述網(wǎng)絡(luò)管理進程包括一個網(wǎng)絡(luò)平臺管理者,可以用于從服務(wù)中刪除節(jié)點,可以將節(jié)點恢復(fù)到服務(wù)中,可以從服務(wù)中刪除應(yīng)用,可以將應(yīng)用恢復(fù)到服務(wù)中;一個網(wǎng)絡(luò)系統(tǒng)完整性管理者,可以用于監(jiān)視節(jié)點和恢復(fù)發(fā)生故障的節(jié)點;和一個配置管理者,可以用于與連接到這個電信平臺的一個主機進行交互通信。11.如權(quán)利要求1所提出的這個電信平臺,其中所述節(jié)點管理進程包括一個節(jié)點平臺管理者,可以用于為一個節(jié)點提供管理功能;一個服務(wù)管理者,可以用于根據(jù)所述節(jié)點平臺管理者的指令來啟動和停止進程;和一個節(jié)點系統(tǒng)完整性管理者,可以用于監(jiān)視節(jié)點間鏈路。12.如權(quán)利要求1所提出的這個電信平臺,其中所述事件進程包括一個事件管理者,可以用于登記希望接收事件的客戶進程;和一個事件接收器,可以用于為被登記來接收事件的客戶進程提供一個接口。13.如權(quán)利要求1所提出的這個電信平臺,其中所述公共管理進程包括一個定時器管理者,可以用于提供日期和時間功能。14.如權(quán)利要求1所提出的這個電信平臺,其中所述統(tǒng)計管理進程包括一個peg計數(shù)器進程,可以用于對發(fā)生在多個節(jié)點間的特定事件進行計數(shù);一個時間測量進程,可以用于累加一特定事件的持續(xù)時間;一個數(shù)據(jù)收集進程,可以用于收集關(guān)于一個節(jié)點的計數(shù)器數(shù)據(jù)并且保存所述被收集的數(shù)據(jù)。15.一個方法,用于在執(zhí)行電信功能的應(yīng)用程序和運行在一個站點的至少一個節(jié)點上、并且用于支撐應(yīng)用程序的一個操作系統(tǒng)之間提供一個軟件接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口,包括提供可以用于提供節(jié)點間配置,監(jiān)視和管理功能的網(wǎng)絡(luò)管理進程;提供可以用于提供節(jié)點的初始化,配置,監(jiān)視和管理功能的節(jié)點管理進程;提供事件進程,所述事件進程可以用于對預(yù)定的事件作出響應(yīng),提供任務(wù)的初始化,終結(jié),和分發(fā);提供公共進程,所述公共進程可以用于提供開發(fā)應(yīng)用程序的多個編程工具庫;提供可以用于提供消息處理功能的通信進程;和提供可以用于為面向?qū)ο蟮耐ㄐ盘峁┮粋€分布式數(shù)據(jù)庫的分布式對象進程。16.如權(quán)利要求15所提出的這個方法,進一步包括提供用于提供錯誤條件監(jiān)視,告警和報告的信息和問題報告和告警進程。17.如權(quán)利要求15所提出的這個方法,進一步包括統(tǒng)計進程,所述統(tǒng)計進程可以用于提供訪問系統(tǒng)測量數(shù)據(jù)的方法和提供用于報告關(guān)于系統(tǒng)測量數(shù)據(jù)的方法。18.如權(quán)利要求15所提出的這個方法,進一步包括提供用于提供數(shù)據(jù)保存和訪問方法的字典進程。19.如權(quán)利要求15所提出的這個方法,進一步包括提供可以用于提供圖形用戶界面的建立方法的圖形用戶界面進程。20.如權(quán)利要求15所提出的這個方法,進一步包括在至少一個平臺管理節(jié)點上運行所述網(wǎng)絡(luò)管理進程;和在至少一個連接到所述至少一個平臺管理節(jié)點上的應(yīng)用節(jié)點上運行所述節(jié)點管理進程。21.如權(quán)利要求20所提出的這個方法,進一步包括在也用作一個應(yīng)用節(jié)點上的一個平臺管理節(jié)點上運行所述網(wǎng)絡(luò)管理進程和所述節(jié)點管理進程。22.如權(quán)利要求20所提出的這個方法,進一步包括使一第一平臺管理節(jié)點工作在一個激活模式;和使一第二平臺管理節(jié)點工作在一備用模式。23.如權(quán)利要求20所提出的這個方法,進一步包括使兩個或者多個平臺管理節(jié)點工作在一個負(fù)載分擔(dān)的模式。24.如權(quán)利要求15所提出的這個電信平臺,其中提供所述網(wǎng)絡(luò)管理進程包括提供了可以用于從服務(wù)中刪除節(jié)點,可以將節(jié)點恢復(fù)到服務(wù)中,可以從服務(wù)中刪除應(yīng)用,可以將應(yīng)用恢復(fù)到服務(wù)中的一個網(wǎng)絡(luò)平臺管理者;提供了可以用于監(jiān)視節(jié)點和恢復(fù)發(fā)生故障的節(jié)點的一個網(wǎng)絡(luò)系統(tǒng)完整性管理者;和提供了可以用于與連接到這個電信平臺的一個主機進行交互通信的一個配置管理者。25.如權(quán)利要求24所提出的這個方法,其中提供所述節(jié)點管理進程包括提供可以用于為一個節(jié)點提供管理功能的一個節(jié)點平臺管理者;提供可以用于根據(jù)所述節(jié)點平臺管理者的指令來啟動和停止進程的一個服務(wù)管理者;和提供可以用于監(jiān)視節(jié)點間鏈路的一個節(jié)點系統(tǒng)完整性管理者。26.如權(quán)利要求15所提出的這個方法,其中提供所述事件進程包括提供一個事件管理者,可以用于登記希望接收事件的客戶進程;和提供一個事件接收器,可以用于為被登記來接收事件的客戶進程提供一個接口。27.如權(quán)利要求15所提出的這個方法,其中提供所述公共管理進程包括提供可以用于提供日期和時間功能的一個定時器管理者。28.如權(quán)利要求15所提出的這個方法,其中提供所述統(tǒng)計管理進程包括提供一個peg計數(shù)器進程,可以用于對發(fā)生在多個節(jié)點間的特定事件進行計數(shù);提供一個時間測量進程,可以用于累加一特定事件的持續(xù)時間;提供一個數(shù)據(jù)收集進程,可以用于收集關(guān)于一個節(jié)點的計數(shù)器數(shù)據(jù)并且保存所述被收集的數(shù)據(jù)。29.如權(quán)利要求15所提出的這個方法,進一步包括運行一個引導(dǎo)腳本;根據(jù)所述引導(dǎo)腳本來啟動一個服務(wù)管理者;所述服務(wù)管理者啟動一個節(jié)點的一個節(jié)點平臺管理者;所述服務(wù)管理者啟動所述節(jié)點的PRE-MIN配置部件;所述服務(wù)管理者啟動所述節(jié)點的OS-MIN配置部件;和對所述節(jié)點中的所述OS-MIN配置部件作出響應(yīng),將所述節(jié)點的狀態(tài)升級。30.如權(quán)利要求25所提出的這個方法,包括監(jiān)視和檢測一個可配置部件中的一個故障;將所述故障通知給所述服務(wù)管理者;所述服務(wù)管理者產(chǎn)生所述可配置部件的一個狀態(tài)改變,并且將所述通知轉(zhuǎn)發(fā)到所述節(jié)點系統(tǒng)完整性管理者;所述節(jié)點系統(tǒng)完整性管理者將所述通知轉(zhuǎn)發(fā)到所述節(jié)點平臺管理者;對所述發(fā)生故障的可配置部件作出響應(yīng),所述節(jié)點平臺管理者判斷所述節(jié)點的狀態(tài);和所述節(jié)點平臺管理者將一個節(jié)點狀態(tài)的改變通知給所述網(wǎng)絡(luò)平臺管理者。31.如權(quán)利要求30所提出的這個方法,進一步包括所述網(wǎng)絡(luò)平臺管理者決定在具有所述發(fā)生故障的可配置部件的一個應(yīng)用中的狀態(tài)改變,和決定其中包括具有所述發(fā)生故障的可配置部件的所述應(yīng)用的一個處理器服務(wù)組的狀態(tài)改變;和將任何狀態(tài)改變通知給所述配置管理者。32.如權(quán)利要求31所提出的這個方法,進一步包括所述配置管理者將一個節(jié)點,處理器服務(wù)組或者應(yīng)用的狀態(tài)改變通知給一個主機。33.如權(quán)利要求25所提出的這個方法,進一步包括一個應(yīng)用登記到一個事件管理者,以表示希望接收一特定的事件;所述事件接收器將特定的事件發(fā)送到已經(jīng)登記的應(yīng)用。34.一個方法,用于在執(zhí)行電信功能的應(yīng)用程序和運行在一個站點的至少一個節(jié)點上、并且用于支撐應(yīng)用程序的一個操作系統(tǒng)之間提供一個軟件接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口,包括提供可以用于從服務(wù)中刪除節(jié)點,可以將節(jié)點恢復(fù)到服務(wù)中,可以從服務(wù)中刪除應(yīng)用,可以將應(yīng)用恢復(fù)到服務(wù)中的一個網(wǎng)絡(luò)平臺管理者;提供了可以用于監(jiān)視節(jié)點和恢復(fù)發(fā)生故障的節(jié)點的一個網(wǎng)絡(luò)系統(tǒng)完整性管理者;提供了可以用于與連接到這個電信平臺的一個主機進行交互通信的一個配置管理者;提供可以用于為一個節(jié)點提供管理功能的一個節(jié)點平臺管理者;提供可以用于根據(jù)所述節(jié)點平臺管理者的指令來啟動和停止進程的一個服務(wù)管理者;和提供可以用于監(jiān)視節(jié)點間鏈路的一個節(jié)點系統(tǒng)完整性管理者。35.如權(quán)利要求34所提出的這個方法,進一步包括提供一個事件管理者,可以用于登記希望接收事件的客戶進程;和提供一個事件接收器,可以用于為被登記來接收事件的客戶進程提供一個接口。36.如權(quán)利要求34所提出的這個方法,進一步包括提供可以用于提供日期和時間功能的一個定時器管理者。37.如權(quán)利要求34所提出的這個方法,進一步包括提供一個peg計數(shù)器進程,可以用于對發(fā)生在多個節(jié)點間的特定事件進行計數(shù);提供一個時間測量進程,可以用于累加一特定事件的持續(xù)時間;提供一個數(shù)據(jù)收集進程,可以用于收集關(guān)于一個節(jié)點的計數(shù)器數(shù)據(jù)并且保存所述被收集的數(shù)據(jù)。38.如權(quán)利要求34所提出的這個方法,進一步包括運行一個引導(dǎo)腳本;根據(jù)所述引導(dǎo)腳本來啟動一個服務(wù)管理者;所述服務(wù)管理者啟動一個節(jié)點的一個節(jié)點平臺管理者;所述服務(wù)管理者啟動所述節(jié)點的PRE-MIN配置部件;所述服務(wù)管理者啟動所述節(jié)點的OS-MIN配置部件;和對所述節(jié)點中的所述OS-MIN配置部件作出響應(yīng),將所述節(jié)點的狀態(tài)升級。39.如權(quán)利要求34所提出的這個方法,包括監(jiān)視和檢測一個可配置部件中的一個故障;將所述故障通知給所述服務(wù)管理者;所述服務(wù)管理者產(chǎn)生所述可配置部件的一個狀態(tài)改變,并且將所述通知轉(zhuǎn)發(fā)到所述節(jié)點系統(tǒng)完整性管理者;所述節(jié)點系統(tǒng)完整性管理者將所述通知轉(zhuǎn)發(fā)到所述節(jié)點平臺管理者;對所述發(fā)生故障的可配置部件作出響應(yīng),所述節(jié)點平臺管理者判斷所述節(jié)點的狀態(tài);和所述節(jié)點平臺管理者將一個節(jié)點狀態(tài)的改變通知給所述網(wǎng)絡(luò)平臺管理者。40.如權(quán)利要求39所提出的這個方法,進一步包括所述網(wǎng)絡(luò)平臺管理者決定在具有所述發(fā)生故障的可配置部件的一個應(yīng)用中的狀態(tài)改變,和決定其中包括具有所述發(fā)生故障的可配置部件的所述應(yīng)用的一個處理器服務(wù)組的狀態(tài)改變;和將任何狀態(tài)改變通知給所述配置管理者。41.如權(quán)利要求40所提出的這個方法,進一步包括所述配置管理者將一個節(jié)點,處理器服務(wù)組或者應(yīng)用的狀態(tài)改變通知給一個主機。42.如權(quán)利要求34所提出的這個方法,進一步包括一個應(yīng)用登記到一個事件管理者,以表示希望接收一特定的事件;所述事件接收器將特定的事件發(fā)送到已經(jīng)登記的應(yīng)用。全文摘要提供了一個方法,用于在執(zhí)行電信功能的應(yīng)用程序和運行在一個站點的至少一個節(jié)點上、并且用于支撐應(yīng)用程序的一個操作系統(tǒng)之間提供一個軟件接口,并且進一步形成在應(yīng)用程序和一個電信網(wǎng)絡(luò)之間的一個接口。這個方法包括提供可以用于從服務(wù)中刪除節(jié)點,可以將節(jié)點恢復(fù)到服務(wù)中,可以從服務(wù)中刪除應(yīng)用,可以將應(yīng)用恢復(fù)到服務(wù)中的一個網(wǎng)絡(luò)平臺管理者,提供可以用于監(jiān)視節(jié)點和恢復(fù)發(fā)生故障的節(jié)點的一個網(wǎng)絡(luò)系統(tǒng)完整性管理者,提供可以用于與連接到這個電信平臺的一個主機進行交互通信的一個配置管理者,提供可以用于為一個節(jié)點提供管理功能的一個節(jié)點平臺管理者,提供可以用于根據(jù)所述節(jié)點平臺管理者的指令來啟動和停止進程的一個服務(wù)管理者,和提供可以用于監(jiān)視節(jié)點問鏈路的一個節(jié)點系統(tǒng)完整性管理者。文檔編號H04M3/00GK1297654SQ98812107公開日2001年5月30日申請日期1998年12月11日優(yōu)先權(quán)日1997年12月12日發(fā)明者馬赫施V·沙哈,大衛(wèi)W·邁克丹尼爾,詹姆斯R·法特羅尼,斯蒂芬B·夾格爾斯,馬克E·沃爾萊恩申請人:美國阿爾卡塔爾資源有限合伙公司