專利名稱:網(wǎng)絡(luò)器件的后備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)器件的后備,例如分布式端對端通信網(wǎng)絡(luò)中各對等端的后備。
背景技術(shù):
在許多已知電路切換或包切換的電話系統(tǒng)解決方案中,一個集中化的設(shè)備(例如一個交換機或?qū)S眯〗粨Q機(PBX))能提供呼叫終結(jié)、呼叫處理、交換和/或呼叫處理能力。在大系統(tǒng)中,該中央設(shè)備可以是一個在所謂線卡的電路板上控制一系列功能的功能強大的計算機,該電路板用于將各電話機連至計算機。在小系統(tǒng)中(例如在一個具有十個或更少終端機的系統(tǒng)中),中央器件可以實際上放置于一個“金”電話機內(nèi),后者專門設(shè)計來容納該中央處理設(shè)備。
無論該中央設(shè)備采取何種形式,一系列終端機(例如有線或無線電話機)通常連至中央設(shè)備。與中央設(shè)備相比較,通常這些終端機是“啞”器件。也即,終端機可以簡單地將叉簧開關(guān)和按鍵的信息(例如雙音多頻或DTMF音)發(fā)送至中央設(shè)備并把來自該中央設(shè)備的信號例如撥號音、振鈴音或語音信號轉(zhuǎn)換為聲音(在某些情況下或者是圖像或視頻)。各終端機通常不知道還存在任何其它終端機,以及不具備可用于將它們自己連至另一個終端機的固有能力。
在集中化的電話系統(tǒng)中,通常由中央設(shè)備完成一個網(wǎng)絡(luò)內(nèi)各電話機的管理和覺察。例如,在一個傳統(tǒng)電路切換時分多路復(fù)用(TDM)電話系統(tǒng)中,每個終端機可以連至中央呼叫處理設(shè)備上的一個端口。通常,作為通電時發(fā)生的一個初始化序列的一部分,每個終端機向中央設(shè)備聲明其可用性。當(dāng)新的終端機被連接時,中央設(shè)備根據(jù)這樣的聲明監(jiān)視每個端口,因而能“覺察”新加入的終端機。
在集中化的因特網(wǎng)協(xié)議(IP)上通話或VoIP電話系統(tǒng)中,采用一個很相似但稍微復(fù)雜的過程;然而,終端機仍然通過網(wǎng)絡(luò)向中央呼叫處理設(shè)備聲明其可用性。如現(xiàn)有技術(shù)中已知的,VoIP在一個基于IP的數(shù)據(jù)網(wǎng)絡(luò)上傳輸呼叫。通信采取包數(shù)據(jù)的形式,因而沒有電路切換網(wǎng)絡(luò)中那樣的固定連接。該通信可以是文本、聲音、圖像或視頻。為了互操作性,IP設(shè)備可以依附于例如H.323和會話啟動協(xié)議(SIP)這樣的標(biāo)準(zhǔn)。通常H.323標(biāo)準(zhǔn)描述在終端、網(wǎng)絡(luò)設(shè)備和服務(wù)之間如何進行多媒體通信。SIP標(biāo)準(zhǔn)覆蓋那些用于在因特網(wǎng)上建立、修改和撤下多媒體會話的技術(shù)要求。如此處所用的,名詞“呼叫”是指兩個端點之間的多媒體通信,并包括一個語音電話呼叫。
無論中央設(shè)備是電路切換的或包切換的,在覺察到一個新終端機的過程中,中央設(shè)備通常自動地指定和管理一個具有網(wǎng)絡(luò)地址形式的電話簿號碼(DN)。DN可以是例如一個PBX分機號。由于各DN被賦予不同器件,DN被加入到在中央設(shè)備處所保持的DN表中。通常,只有在此集中化的表的基礎(chǔ)上,集中化設(shè)備才能在一個DN從呼叫終端機轉(zhuǎn)發(fā)時確定應(yīng)被呼叫的物理終端機的身份。
在集中化系統(tǒng)中,每個終端機的呼叫處理選項通常也集中地存貯,即使相關(guān)的終端機已經(jīng)從中央設(shè)備斷開,這仍然可用。名詞“呼叫處理選項”是指用于確定如何處理輸入呼叫的設(shè)置,例如在將話音郵件轉(zhuǎn)發(fā)前應(yīng)該振鈴多少次,或者是否自動地轉(zhuǎn)發(fā)一個呼叫至另一個分機。因為呼叫處理選項仍然有效,對于已經(jīng)斷開的終端機的輸入呼叫的處理仍然和該終端機被連接時相同。
由于隨著處理能力和存儲器容量的增長,其費用繼續(xù)減低,在每個連至網(wǎng)絡(luò)的電話機內(nèi)包含一個呼叫處理引擎就成為可行了。在這類系統(tǒng)中,可能希望取消中央設(shè)備。這類非集中化系統(tǒng)可稱為分布式電話系統(tǒng)。
在分布式電話系統(tǒng)中,因為不存在中央設(shè)備,所以不能再將終端機呼叫處理選項存儲于中央設(shè)備內(nèi)。呼叫處理選項可存儲于它們被應(yīng)用的個別終端機內(nèi)。然而,如果這一終端機被斷開或不能工作,則該終端機的呼叫處理選項就無法再被訪問。希望即使終端機失效,也仍然可用該終端機的呼叫處理選項。
更為一般而言,即使一個網(wǎng)絡(luò)器件失效,也希望該網(wǎng)絡(luò)器件的專用數(shù)據(jù)仍然可用,以便另一個網(wǎng)絡(luò)器件能夠在該網(wǎng)絡(luò)器件失效期間承擔(dān)該失效網(wǎng)絡(luò)器件的任務(wù)。
發(fā)明內(nèi)容
一個網(wǎng)絡(luò)器件選擇至少一個其它網(wǎng)絡(luò)器件作為其后備,并發(fā)送信息,以便當(dāng)它本身失效時,供該(這些)后備網(wǎng)絡(luò)器件承擔(dān)失效網(wǎng)絡(luò)器件的任務(wù)之用。網(wǎng)絡(luò)器件也從至少一個已經(jīng)選擇它作為后備器件的網(wǎng)絡(luò)器件中接收信息,以便在該選擇它的器件失效時承擔(dān)選擇它的器件的任務(wù)。每個網(wǎng)絡(luò)器件可以用作其它器件的后備,這些器件的數(shù)量可以和該網(wǎng)絡(luò)器件的后備的數(shù)量相等。后備器件的選擇可以基于器件可靠性。在一個實施例中,每個網(wǎng)絡(luò)器件具有一個主后備和輔后備。當(dāng)該網(wǎng)絡(luò)器件失效時,主后備承擔(dān)網(wǎng)絡(luò)器件的任務(wù),而當(dāng)網(wǎng)絡(luò)器件及其主后備兩者都失效時,輔后備承擔(dān)網(wǎng)絡(luò)器件的任務(wù)。
根據(jù)本發(fā)明的一個方面,在多個網(wǎng)絡(luò)器件中的一個網(wǎng)絡(luò)器件處提供了一種方法,該方法包括在所述多個網(wǎng)絡(luò)器件中選擇至少一個其它網(wǎng)絡(luò)器件,用作所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作的結(jié)果是選擇至少一個后備網(wǎng)絡(luò)器件;將由所述一個網(wǎng)絡(luò)器件保持的信息傳送至每個所述后備網(wǎng)絡(luò)器件,當(dāng)所述一個網(wǎng)絡(luò)器件失效時,由所述后備網(wǎng)絡(luò)器件使用所述傳送的信息以便承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù);以及從至少一個遠離所述一個網(wǎng)絡(luò)器件的網(wǎng)絡(luò)器件中接收信息,后一個網(wǎng)絡(luò)器件已經(jīng)選擇所述一個網(wǎng)絡(luò)器件為其后備,以便成為一個主網(wǎng)絡(luò)器件,當(dāng)主網(wǎng)絡(luò)器件失效時,所述一個網(wǎng)絡(luò)器件使用所述接受的信息以便承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)。
根據(jù)本發(fā)明的另一個方面,提供多個網(wǎng)絡(luò)器件中的一個網(wǎng)絡(luò)器件,適用于在所述多個網(wǎng)絡(luò)器件中選擇至少一個其它網(wǎng)絡(luò)器件,用作所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作的結(jié)果是選擇至少一個后備網(wǎng)絡(luò)器件;將由所述一個網(wǎng)絡(luò)器件保持的信息發(fā)送至每個所述后備網(wǎng)絡(luò)器件,當(dāng)所述一個網(wǎng)絡(luò)器件失效時,由所述后備網(wǎng)絡(luò)器件使用所述發(fā)送的信息以便承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù);以及從至少一個遠離所述一個網(wǎng)絡(luò)器件的網(wǎng)絡(luò)器件接收信息,后一個網(wǎng)絡(luò)器件已經(jīng)選擇所述一個網(wǎng)絡(luò)器件為其后備,以便成為一個主網(wǎng)絡(luò)器件,當(dāng)主網(wǎng)絡(luò)器件失效時,所述一個網(wǎng)絡(luò)器件使用所述接收的信息以便承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)。
根據(jù)本發(fā)明的又一個方面,提供一個包括用于在多個網(wǎng)絡(luò)器件中的一個網(wǎng)絡(luò)器件處運行的機器可執(zhí)行代碼的機器可讀媒體,包括機器可執(zhí)行代碼,用于在所述多個網(wǎng)絡(luò)器件中選擇至少一個其它網(wǎng)絡(luò)器件,用作所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作的結(jié)果是選擇至少一個后備網(wǎng)絡(luò)器件;機器可執(zhí)行代碼,用于將由所述一個網(wǎng)絡(luò)器件保持的信息發(fā)送至每個所述后備網(wǎng)絡(luò)器件,當(dāng)所述一個網(wǎng)絡(luò)器件失效時,由所述后備網(wǎng)絡(luò)器件使用所述發(fā)送的信息以便承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù);以及機器可執(zhí)行代碼,用于從至少一個網(wǎng)絡(luò)器件中接收信息,所述至少一個網(wǎng)絡(luò)器件遠離已經(jīng)選擇所述一個網(wǎng)絡(luò)器件作為其后備因而成為一個主網(wǎng)絡(luò)器件的所述一個網(wǎng)絡(luò)器件,所述接收的信息供所述一個網(wǎng)絡(luò)器件在主網(wǎng)絡(luò)器件失效時承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)時使用。
結(jié)合附圖閱讀以下本發(fā)明具體實施例的描述時,一般業(yè)內(nèi)人員將能明顯地理解本發(fā)明的其它方面和特征。
現(xiàn)參照附圖描述本發(fā)明各優(yōu)選實施例,附圖中圖1是根據(jù)本發(fā)明一個實施例的使用對等后備的電話系統(tǒng);圖2是圖1中所示每個電話機的部分電路框圖;
圖3是圖1的每個終端機上運行的軟件的功能框圖;圖4是圖3的對等呼叫處理模塊的功能框圖;圖5是圖1的一個示例性終端機的路由表;圖6是根據(jù)本發(fā)明一個實施例的具有主從關(guān)系的三個終端機的框圖;圖7是根據(jù)本發(fā)明一個實施例的選擇后備終端機的方法的流程圖;圖8是作為對等后備的圖3的終端機的一部分而運行的軟件的功能框圖;圖9是一個狀態(tài)機/流程圖,用于管理主終端機對后備的指定、撤銷和搶先操作;圖10是一個狀態(tài)機/流程圖,用于管理對于作為后備的終端機的操作而實現(xiàn)其指定和撤銷操作;圖11是一個狀態(tài)機/流程圖,用于管理一個被指定為兩個其它終端機的后備終端機的終端機的日志管理器部件的操作;圖12是一個序列圖,用于闡述一個主終端機和一個后備終端機之間的用于指定和撤銷后備終端機的信號;圖13是根據(jù)本發(fā)明的另一個實施例的一個序列圖,其中一個主終端機搶先另一個其它主終端機而具有后備終端機;圖14是一個序列圖,當(dāng)初始化一個應(yīng)用程序時,由一個用作主終端機的終端機發(fā)送消息;圖15是一個序列圖,當(dāng)初始化一個應(yīng)用程序時,由一個用作另一個終端機的主后備終端機的終端機發(fā)送消息;圖16是當(dāng)主終端機失效時,一個用作主終端機的后備終端機的終端機的序列圖;圖17是當(dāng)主終端機已經(jīng)成為可用時,一個用作主終端機的后備終端機的終端機的序列圖;及圖18是一個用于在圖1的電話系統(tǒng)中啟動一個對目的終端機的呼叫的方法的流程圖。
具體實施例方式
概而言之,包括多個終端機的分布式電話系統(tǒng)中的一個終端機被預(yù)先認(rèn)定為能夠了解系統(tǒng)中的其他終端機,例如覺察對等機。這種了解包括系統(tǒng)中每個終端機的可靠性的標(biāo)示。在此上下文中,“可靠性”是指一個終端機能夠在分布式電話系統(tǒng)之外可靠地建立連接的能力。例如,在包括由橋連接(例如內(nèi)聯(lián)網(wǎng))所連接的兩個子網(wǎng)絡(luò)的電話系統(tǒng)中,如果第一子網(wǎng)絡(luò)具有一個與例如公共交換電話網(wǎng)(PSTN)的外部連接,而第二子網(wǎng)絡(luò)并不具有,則第二子網(wǎng)絡(luò)上各終端機的建立與PSTN的連接的能力取決于橋連接的連續(xù)操作。在此例中,第二子網(wǎng)絡(luò)上各終端機被稱為具有比第一子網(wǎng)絡(luò)上各終端機較低的可靠性,后者不管橋連接的操作狀態(tài)如何,都能建立與PSTN的連接。
使用此信息,每個終端機參與對等后備選擇。對等后備選擇的目的是為當(dāng)前終端機選擇一個主后備終端機和一個輔后備終端機。后備終端機(或簡稱“后備”)是一個在當(dāng)前終端機成為失效的情況下(例如斷開、掉電、或者進入無法接收呼入的狀態(tài)),能夠承承擔(dān)前終端機的任務(wù)(可能包括例如模仿當(dāng)前終端機的呼叫處理選項和話音郵件答辭這類能力)的終端機。更具體地,主后備終端機能夠在當(dāng)前終端機失效時承承擔(dān)前終端機的任務(wù),而輔后備終端機能夠在當(dāng)前終端機和主后備兩者都失效時承承擔(dān)前終端機的任務(wù)。主后備也可稱為“第一級”后備和輔后備可稱為“第二級”后備。一般而言,各后備可以選代地稱為“從機”。已為其指定從機的終端機可稱為“被指定者”或“主”終端機。
為確定當(dāng)前終端機應(yīng)該選擇其它終端機中的哪一個為其后備,需要考慮當(dāng)前終端機的可靠性以及預(yù)期后備的可靠性這兩者,如下所述。
系統(tǒng)中所有終端機劃分為M組預(yù)期后備,其中M是大于或等于一的整數(shù)。建立M組的基礎(chǔ)是各終端機的可靠性;每個終端機被放置入相近可靠性的預(yù)期后備組內(nèi)。具有最高可靠性終端機的組被最初選作預(yù)期后備的“當(dāng)前”組。“當(dāng)前后備級”被設(shè)為“第一級”,這反映一個事實,即在任何輔后備被指定之前,所有終端機都將首先接受一個主(即第一級)后備。
此后,來自當(dāng)前組的終端機被指定為系統(tǒng)中所有終端機的主后備,這按照被指定者終端機的可靠性的上升順序(即最低可靠性終端機首先接受后備)。這些后備被指定時任何終端機都不能接受多于一個主后備。
指定操作一直繼續(xù),直至(a)各預(yù)期后備的當(dāng)前組中的每個終端機都已被指定二次(“二”是組內(nèi)的每個終端機被指定為其從機的主機的數(shù)量);或(b)系統(tǒng)中的每個終端機已接受一個主后備。
當(dāng)出現(xiàn)(a)的情況時,就選擇預(yù)期后備的下一個組,這按照可靠性的下降順序(即下一個較低可靠性的預(yù)期后備組成為當(dāng)前組),并且指定操作如前所述地繼續(xù)下去。
當(dāng)出現(xiàn)(b)的情況時,主后備的指定操作就完成了。此后,“當(dāng)前后備級”從第一級(主)改變?yōu)榈诙?輔),以及指定輔后備的操作和指定主后備的操作完全相同地進行。
一旦所有輔后備已經(jīng)被指定,后備選擇就完成。在此階段,當(dāng)前終端機將知道哪些終端機已被指定為系統(tǒng)中每個終端機的主后備和輔后備。此信息可用路由表的形式存儲起來,它包括每個終端機的其它信息,例如電話簿號碼(相似于PBX分機號)和IP地址(例如用于放置VoIP呼叫)。然而,為銜接主/從關(guān)系,仍然需要在每個主終端機及其被指定的從機之間進行通信,如下所述。
通過檢驗其路由表,當(dāng)前終端機能夠確認(rèn)哪兩個終端機已被指定為其主后備和輔后備。當(dāng)前終端機使用此信息,向每個被標(biāo)識的終端機發(fā)送一個請求消息,以便正式地請求它們成為其從機。
假設(shè)每個終端機表示同意成為當(dāng)前終端機的從機,當(dāng)前終端機向其從終端機發(fā)送其本地數(shù)據(jù)庫的一個備份,從機將其就地存儲于自身內(nèi)。這類數(shù)據(jù)庫備份被稱為“影子(shadow)”數(shù)據(jù)庫。該影子數(shù)據(jù)庫包含的信息是當(dāng)主終端機如果失效時,從機能夠承擔(dān)主機任務(wù)(模仿主機操作)時所必需的信息。此信息例如可包括呼叫處理選項或話音郵件答辭。
與此同時,當(dāng)前終端機接收來自兩個其它終端機的要求它成為它們的從機的請求。在表示同意時,當(dāng)前終端機將接收發(fā)出請求的終端機的數(shù)據(jù)庫的備份,以供用“影子”數(shù)據(jù)庫的形式就地存儲于當(dāng)前終端機內(nèi)。
在系統(tǒng)運行中,主機的數(shù)據(jù)庫內(nèi)的信息可能會變化。例如,主終端機的用戶可能更新終端機的配置,例如將呼入直接轉(zhuǎn)送至話音郵件而不是讓終端機首先振鈴。在此情況下,在將其自己的數(shù)據(jù)庫更新后,主機將更改的信息發(fā)送至各從機,從而保持主機數(shù)據(jù)庫與從機影子數(shù)據(jù)庫之間的相關(guān)性。
在主終端機失效的情況下,主后備終端機將承擔(dān)主機的任務(wù)。例如,當(dāng)呼叫終端機無法連至失效的終端機時,它將利用其就地保持的路由表來確認(rèn)哪個終端機用作該失效機的主后備。然后它試圖連至被標(biāo)識的主后備,主后備是知道該呼叫最初本打算送至該失效主機的。假設(shè)它正在工作,主后備機將以主機接受呼叫的同樣方式接受該呼叫(例如具有相同呼叫處理選項和話音郵件答辭),因而呼叫方甚至覺察不到主機的失效。
如果主后備也是失效的,則以類似方式試圖連接至輔后備。
如果主后備和附后備都失效,則呼叫方的終端機可用一般方式接受呼叫(即不具備失效主機數(shù)據(jù)庫備份的優(yōu)點)。
當(dāng)從終端機模仿其主機時,在從終端機處對主機配置所作變化將改變主機的從機影子數(shù)據(jù)庫。這些變化被從機所跟蹤,并報告給服務(wù)于相同主機的其它從機,以使其它從機能夠保持其影子數(shù)據(jù)庫與當(dāng)前從機的影子數(shù)據(jù)庫的相關(guān)性。同樣地,當(dāng)主機再一次工作時,這些跟蹤的變化將被送至主機,從而使主機能夠得益于獲取主機失效期間對從機所作任何配置變化(在它作為主機后備的能力方面)。
當(dāng)一個分布式電話系統(tǒng)中已經(jīng)指定主后備和輔后備并且當(dāng)一個終端機加入該分布式電話系統(tǒng)中時,此新終端機可發(fā)送一個請求至已有的主終端機,要求該主機交出其后備中的一個。例如,如果新終端機確定已有的主終端機的主后備和附后備兩者都具有最高可靠性,則新終端機可要求主機交出其主后備,以供新終端機用作其主后備。在此情況下,新終端機發(fā)送一個搶先請求至已有的主機。在主機交出后備后,新終端機要求被搶先的后備終端機用作其自己的主后備并與其完成必要的信息交換。交出后備的主機然后指定新終端機作為其輔后備,并與其完成必要的信息交換。這重復(fù)進行,以便為新終端機獲取一個輔后備。然后每個交出后備的終端機可指定新終端機作為其后備。
在系統(tǒng)運行期間,每個終端機周期地將其當(dāng)前主后備和輔后備的一致(identity)通知所有其它終端機(使用一個PEER_ASSERT“動力(heartbeat)”消息,這將在以后更詳細(xì)地描述)。如果終端機的后備的一致性變化,則其它終端機將能通過這些消息知道變化,并將相應(yīng)地更新它們的路由表。
參照圖1,顯示了分布式電話系統(tǒng)10(或“電話系統(tǒng)10”),根據(jù)本發(fā)明的一個實施例,它利用基于網(wǎng)絡(luò)的分布式對等呼叫處理,并且執(zhí)行對等后備。電話系統(tǒng)10包括兩個由一個包括一個內(nèi)聯(lián)網(wǎng)14在內(nèi)的橋連接所互連的局域網(wǎng)(LAN)16和18,以便形成一個總網(wǎng)絡(luò)30。選代實施例可能采用不同形式的橋連接(例如一個通過公共互聯(lián)網(wǎng)連接兩個辦公室的虛專用網(wǎng)絡(luò)(VPN)管道)。LAN 16和18可以簡單地稱為網(wǎng)絡(luò)16和18或子網(wǎng)絡(luò)16和18以便表示存在一個總網(wǎng)絡(luò)30。第一子網(wǎng)絡(luò)16包括兩個由開關(guān)12互連的終端機100-3和100-4。第二子網(wǎng)絡(luò)18包括七個由開關(guān)20互連的終端機100-1、100-2和100-5至100-9。開關(guān)12和20可由網(wǎng)絡(luò)樞紐替代。
子網(wǎng)絡(luò)18也包括一個細(xì)中繼接口(TTI,(thin trunk interface))40,用于向子網(wǎng)絡(luò)18提供外部連接。TTI 40可以例如是基本模擬或數(shù)字T1/E1接口或任何其它PSTN接口,并提供一個局部中央辦公室或PSTN網(wǎng)絡(luò)互通接口及連至一系列外部電話“線”1、2、3、4。各線1、2、3、4是由局部中央辦公室或PSTN(未示出)所提供的設(shè)備所代表的線對。在本發(fā)明的某些實施例中,可能要求許多外部線,例如多個TTI。例如,如果須向PSTN提供八條線,則能向系統(tǒng)10增加一個第二TTI。
對于圖1的網(wǎng)絡(luò)30的配置而言,顯然,某些終端機建立與PSTN的連接的能力(更一般而言,在總網(wǎng)絡(luò)30之外建立連接的能力),與其它終端機建立與PSTN的連接的能力相比較,更易受到中斷或故障的影響。例如,由于子網(wǎng)絡(luò)18上的TTI 40的存在,那些直接連至子網(wǎng)絡(luò)18的終端機,即終端機100-1、100-2和100-5至100-9可具有相對可靠的與PSTN的連接。相反,由于子網(wǎng)絡(luò)12上不存在TTI,那些直接連至子網(wǎng)絡(luò)12的終端機,即終端機100-3和100-4可能具有較不可靠的與PSTN的連接。也即,由于終端機100-3和100-4可能能夠通過內(nèi)聯(lián)網(wǎng)14和子網(wǎng)絡(luò)18訪問PSTN,由于中間的內(nèi)聯(lián)網(wǎng)14出現(xiàn)故障的可能性,它們的PSTN連接被考慮為較不可靠。(子)網(wǎng)絡(luò)能夠保持外部連接的概率由一個級別號代表。如此處所用的,較低級別號表示更為可靠的外部連接。因此,子網(wǎng)絡(luò)18可被認(rèn)為級別1(即更可靠)網(wǎng)絡(luò),而子網(wǎng)絡(luò)12被認(rèn)為級別2(即較不可靠)網(wǎng)絡(luò)。相應(yīng)地,子網(wǎng)絡(luò)18上的所有終端機被認(rèn)為比子網(wǎng)絡(luò)12上的任何終端機更為可靠。
圖1中只闡述九個終端機。一般而言,總共可有T個終端機,其中T≥2。在本發(fā)明的某些實施例中,T是一個大數(shù),例如數(shù)千。
和常規(guī)集中化電話系統(tǒng)不同,圖1的系統(tǒng)10的特征在于分布式呼叫處理。此分布式呼叫處理的特征可能是一系列能力,例如包括分布式話音郵件。
參照圖2,顯示圖1的電話系統(tǒng)10的一個示例性電話機100-X(其中X=1至9)的部分電路框圖。一個中央處理器(CPU)530、一個存儲管理單元(MMU)545和一個隨機存取存儲器(RAM)535提供計算器件的基礎(chǔ)。此計算器件連至一個用于將音頻信號編碼和解碼的數(shù)字信號處理器(DSP)520。DSP 520連至一個音頻接口510。計算器件也連至一個三端口開關(guān)525,以便允許連至一個LAN和一個個人計算機(PC)。計算器件也連至一批主外圍設(shè)備,例如閃爍非易失性存儲器540、紅外(IR)接口550、鍵盤和按鈕接口555、液晶顯示(LCD)控制器560和個人計算機存儲卡國際協(xié)會(PCMCIA)接口565,從而允許將終端機100標(biāo)準(zhǔn)化地擴展。雖然顯示了一個具體的體系結(jié)構(gòu),但更一般地,假設(shè)有足夠的處理和存儲器容量可用于實施以下所描述的各方法,則可以使用任何基于分組的(例如因特網(wǎng)協(xié)議(IP))的電話。例如,可以使用例如由Mitel、Nortel Networks、Avaya、Siemens、NEC、Pingtel或3COM制造的離架IP電話(例如Nortel i2004、SiemensoptiPoint 410或Avaya 4610)。
參照圖3,顯示的是在一個示例性終端機100-4上運行的軟件的功能框圖。將能理解,相同軟件在圖1的每個終端機100-X上運行。通常該軟件被存儲于圖2的RAM 535中并在CPU 530上運行,也可自一個機器可讀媒體32(圖1)中裝載,該機器可讀媒體可以是一個磁盤或光盤、一盤磁帶、一個芯片或另一種形式的主或輔存儲器。更一般地,該軟件能被實施為存儲于存儲器中的機器可執(zhí)行代碼的任何合適的組合,以供通用或?qū)S锰幚砥鳌⒐碳?、硬件、專門應(yīng)用集成電路(ASIC)、場效應(yīng)可編程門陣列(FPGA)、通用或?qū)S眠壿嬰娐穲?zhí)行。
系統(tǒng)調(diào)度器120提供不同功能單元之間的通信和調(diào)度,這些不同功能單元包括一個協(xié)議棧60、一個呼叫處理模塊70、一個話音郵件模塊80、一個撥號規(guī)則模塊90、一個對等覺察模塊110、一個顯示處理器130、一個音頻處理器140、一個輸入處理器150和一個對等后備模塊160。
協(xié)議棧60是一個允許終端機發(fā)送和接收消息的計算機聯(lián)網(wǎng)協(xié)議(或一組協(xié)議)的軟件實施。業(yè)內(nèi)人員能很好地理解協(xié)議棧。
呼叫處理模塊70與協(xié)議棧60相互操作以便建立和撤下呼叫以及建立話音通道。當(dāng)收到呼叫而用戶無法應(yīng)答該呼叫時,該呼叫可傳送至話音郵件或不然則通過模塊70的操作來處理。由模塊70處理的呼叫可以是其目的地是當(dāng)前終端機的呼叫,或者也可是其目的地是另一個終端機的呼叫,而當(dāng)前終端機在另一個終端機失效時可用作其后備。一系列終端機的呼叫處理模塊70集體地以分布方式用于提供類似于PBX的呼叫處理能力而不需要集中化設(shè)備。呼叫處理模塊70還具有一個負(fù)責(zé)管理不同呼叫線程的呼叫處理調(diào)度器(CP調(diào)度器)71。下面將更詳細(xì)地描述呼叫處理模塊70。
當(dāng)收到呼叫而用戶無法應(yīng)答該呼叫時,話音郵件模塊80提供話音郵件服務(wù)。
撥號規(guī)則模塊90包含和應(yīng)用呼叫處理模塊70所用的一組撥號規(guī)則,而呼叫處理模塊70則控制呼叫如何形成。
當(dāng)一個終端機100-X最初連至一個網(wǎng)絡(luò)時,對等覺察模塊110使對等覺察操作變得方便。模塊110具有一系列任務(wù)。首先,在一個終端機100-X最初連至一個網(wǎng)絡(luò)時,模塊110便于自動地為終端機100-X指定一個獨一的DN。其次,模塊110保證,即使該終端機從網(wǎng)絡(luò)30斷開或該終端機掉電(其中任何一項都會使終端機“不工作”),仍然能保留為終端機100-X指定的DN。保留DN的動機可能為了防止在終端機臨時從網(wǎng)絡(luò)30斷開(例如終端機與網(wǎng)絡(luò)之間的連接故障、簡單掉電或無線終端機移至有效范圍之外)而不工作后該終端機的DN被重新指定,重新指定DN將在呼叫方導(dǎo)致混亂,從而不知哪個終端機曾被呼叫過。第三,終端機100-X處的模塊110的運行連同網(wǎng)絡(luò)30中所有其它終端機處的運行結(jié)果是每個終端機都知道每個連至網(wǎng)絡(luò)30的其它終端機的DN,因而每個終端機都能夠向其它終端機發(fā)出呼叫。下面是由對等覺察模塊110提供的操作的簡單描述。
當(dāng)一個終端機最初連至一個處于“出廠”狀態(tài)(即尚未配置過)中的網(wǎng)絡(luò)時,該終端機通過網(wǎng)絡(luò)連接通知來通知網(wǎng)絡(luò)中的其它終端機(其“對等”),說它已連至網(wǎng)絡(luò)。該網(wǎng)絡(luò)連接通知包括一個獨一的與該終端機相關(guān)聯(lián)的標(biāo)識符,例如媒體訪問控制(MAC)地址。如技術(shù)中已知的,MAC地址是一個獨一的硬件地址或硬件號,用作網(wǎng)絡(luò)器件的獨一的標(biāo)識符。網(wǎng)絡(luò)連接通知可采取“I_AM_HERE”消息的形式,它被多次發(fā)送以便增加消息將被收到的可能性(至少在本實施例的情況下,對于每個收到的消息,其它對等終端并不給予確認(rèn))。
新連接的終端機也從其它終端機收到存在通知。存在通知是一個終端機的存在標(biāo)志,標(biāo)示該終端機或者當(dāng)前存在于網(wǎng)絡(luò)上(即正在工作并連至網(wǎng)絡(luò))或者以前曾存在于網(wǎng)絡(luò)上(即曾經(jīng)工作和連接,但已斷開和不再工作)。在本實施例中,存在通知可以是“I_AM_HERE”消息(以前描述過)、“PEER_ASSERT”消息(以下將描述)或“INACTIVE_PEER_ASSERT”消息(以下將描述)中的任何一個。每個存在通知包括涉及消息發(fā)送的終端機的獨一的標(biāo)識符。后兩種消息(“PEER_ASSERT”和“INACTIVE_PEER_ASSERT”消息)附加地提供一個標(biāo)示,用于標(biāo)示已經(jīng)申請過的DN和發(fā)送終端機的主后備和輔后備的身份,并且只當(dāng)新連接的終端機正連至一個網(wǎng)絡(luò)而該網(wǎng)絡(luò)中至少已有一個終端機已申請到一個DN時才收到該標(biāo)示。
根據(jù)存在消息,在網(wǎng)絡(luò)上建立一個包括所有終端機的表格(稱為路由表)。該表中的終端機按照它們獨一的網(wǎng)絡(luò)器件標(biāo)識符被分類。對于任何已經(jīng)申請到DN的終端機,所申請DN將在分類表中被標(biāo)示。新連接的終端機將在表內(nèi)具有一個順序位置。
為選擇一個預(yù)期DN,新連接的終端機可以給基礎(chǔ)DN值增加一個與其在表中的順序位置相關(guān)聯(lián)的偏移量。例如,在一個其中DN代表一個PBX分機的系統(tǒng)中,假設(shè)新終端機在一個九終端機的表中是第四個,其預(yù)期DN可被定為204(等于該終端機順序位置的偏移量即4,再加上基礎(chǔ)DN值200)。通過將與終端機相關(guān)聯(lián)的獨一順序位置作為基礎(chǔ)來選擇預(yù)期DN,即可對不同終端機選擇獨一的預(yù)期DN。這提出了一個方案,適用于多個出廠終端機同時參加一個網(wǎng)絡(luò),而該網(wǎng)絡(luò)并無現(xiàn)成終端機具有先前指定的DN。其根本原因是試圖阻止不同終端機在最初選擇相同預(yù)期DN,這將導(dǎo)致費時的沖突解決處理方案。
在選擇其預(yù)期DN后,新連接的終端機然后將其預(yù)期DN通知每個其它終端機。這稱為“DN試探”。如果其它終端機都不反對新終端機申請該預(yù)期DN(當(dāng)對其它終端機中的任何一個的DN提出申請時,可能出現(xiàn)反對),則該新連接終端機將該預(yù)期DN申請作為它自己的DN。新終端機可能允許在其申請預(yù)期DN時等待一段預(yù)定時間間隔,從而讓其它終端機具有足夠時間提出任何反對。假設(shè)已經(jīng)成功地申請到預(yù)期DN,新連接的終端機將它對該DN的申請通知每個其它終端機。新連接的終端機還將所申請的DN存儲于非易失性存儲器內(nèi),以便在該終端機掉電時能夠回憶起被指定的DN。路由表也可存儲起來。
在新連接的終端機參加一個已經(jīng)建立起來的網(wǎng)絡(luò)的情況下,網(wǎng)絡(luò)上的其它終端機可能早已選擇了它們的DN。在此情況下,新連接的終端機所選擇的預(yù)期DN有可能早已被指定給現(xiàn)有終端機中的一個。例如,如果新連接的終端機在終端機分類表中的順序位置不在表的末尾(例如如果新終端機的獨一標(biāo)識符將其放置于分類表的中部一個位置),則將新連接的終端機的與順序位置相關(guān)聯(lián)的偏移量加上基礎(chǔ)DN而得到的預(yù)期DN可能代表現(xiàn)有終端機中的一個的DN。
考慮到這種可能性,在新連接電話機試圖將其預(yù)期DN通知任何其它終端機之前,它首先訪問其路由表以便確定該預(yù)期DN是否已經(jīng)被網(wǎng)絡(luò)中任何其它終端機申請過。如果該預(yù)期DN早已被另一個終端機申請過,則在將其選擇通知任何其它終端機之前,新連接的DN可選擇另一個預(yù)期DN值,例如通過將一個偏移量例如1加至表中所找到的最大DN值。這可避免網(wǎng)絡(luò)上的不必要的通信開銷,不然的話,如果新連接終端機將其預(yù)期DN通知每個其它終端機,則它只會從其它終端機中那個已經(jīng)申請了同一DN的終端機那里收到一個反對信號。
一旦新連接終端機已經(jīng)成功地申請(claim)了一個DN,該終端機周期地將其對DN的申請通知網(wǎng)絡(luò)上的其它終端機。在本實施例中,每個周期的通知采取“PEER_ASSERT”消息的形式,它用作新連接終端機的“動力”,標(biāo)示著連續(xù)的網(wǎng)絡(luò)存在和連續(xù)的對其DN的申請。PEER_ASSERT消息也包括當(dāng)前終端機的主后備和輔后備的身份的一個標(biāo)示(如此一來,如果當(dāng)前終端機的后備的身份改變了,其它終端機將能知道此變化并相應(yīng)地更新它們的路由表)。這些通知由網(wǎng)絡(luò)上其它終端機監(jiān)視著。在本實施例中,周期的通知以隨機時間間隔進行(例如在0和2秒之間)。如果預(yù)定時間過去而沒有收到一個終端機的通知,則該終端機被認(rèn)為已經(jīng)不工作。周期的通知也用于防止隨后加入的終端機試圖將該DN申請作為己有。例如,如果另一個終端機已經(jīng)選擇該DN為其預(yù)期DN并等待來自其它終端機的任何反對,則該通知可以用作該終端機對于申請該DN的反對。也可發(fā)送快速反對(例如DN_CONFLICT消息)。
如果一個已經(jīng)申請了一個DN的終端機從網(wǎng)絡(luò)中斷開或掉電,它很可能無法將其對其DN的申請周期地通知網(wǎng)絡(luò)上其它終端機。在此情況下,網(wǎng)絡(luò)中已經(jīng)知道該斷開的終端機失效(例如由于沒有來自該終端機的任何新的“PEER_ASSERT”消息)的另一個終端機介入并開始周期地將以下事實通知網(wǎng)絡(luò)上其它終端機雖然該斷開的終端機不工作,但其DN早已被申請了。為便利起見,該介入的終端機被稱為“代理”,在周期地將其對其自己DN的申請通知其它終端機之外,它還負(fù)責(zé)發(fā)送這些周期通知(通知的形式是以下將描述的“INACTIVE_PEER_ASSERT”消息)??梢詰?yīng)用一個算法來確定哪個終端機應(yīng)該用作一個不工作終端機的代理。該代理以不工作終端機的名義發(fā)送的周期通知可用于防止隨后加入的終端機試圖將該斷開的終端機的DN申請為其自己的DN。
如果該斷開的終端機以后重新連至網(wǎng)絡(luò),它本身可以重新將其DN通知其它終端機(它可從其非易失性存儲器中回憶起來)。當(dāng)代理終端機檢測到此重新連接時,由于該重新連接的終端機又已重新恢復(fù)此責(zé)任,代理終端機可停止將重新連接終端機的DN通知其它終端機。
重新參照圖3,顯示處理器130負(fù)責(zé)將信息格式化并顯示給用戶。
音頻處理器140適用于播放音頻信號例如振鈴聲、忙音、呼叫等待音,或適用于在收到一個來自系統(tǒng)調(diào)度器120的音頻消息時,將一個話音通道從網(wǎng)絡(luò)連至手機揚聲器(或免提電話)。
輸入處理器150負(fù)責(zé)監(jiān)視一些功能例如按鍵、叉簧開關(guān)、音量鍵、免提鈕和靜音鈕,并負(fù)責(zé)通知系統(tǒng)調(diào)度器120采取適當(dāng)操作。
對等后備模塊160通常負(fù)責(zé)為當(dāng)前終端機選擇終端機為后備終端機并支持使用其它終端機。模塊160還負(fù)責(zé)支持將當(dāng)前終端機用作其它終端機的后備終端機。下面將更詳細(xì)地描述模塊160的操作。
圖4是圖2的呼叫處理模塊70連同協(xié)議棧60的功能框圖。顯示一個輸入網(wǎng)絡(luò)消息通道50,這是任何適用于在已經(jīng)連接電話的網(wǎng)絡(luò)30上接受消息并且將它們傳送至協(xié)議棧60的機構(gòu)。類似地,在52處顯示一個輸出消息通道,它提供一條讓生成的消息通過網(wǎng)絡(luò)30發(fā)送的路徑。在圖4的實施例中,有四條呼叫線程72、73、74、75用于滿足由終端機100-X所支持特征的需要。每個呼叫線程能夠處理一個相應(yīng)的呼叫。例如,一個送至終端機的話音呼叫可由一個呼叫線程處理,而一個話音郵件消息可以同時使用另一個呼叫線程加以記錄。應(yīng)該理解,選代實施例可具有不同數(shù)量的呼叫線程。一般而言,應(yīng)該存在至少兩個呼叫線程一條用于主線而另一條用于話音郵件。在圖4的實施例中,四條呼叫線程72、73、74、75中的三條可用于處理三路會議,而第四條用作處理話音郵件的備份。第三呼叫線程可能涉及將一個由另一個終端機接受的話音郵件消息進行記錄的操作,其中該特定終端機曾被指定為該另一個終端機的后備。
當(dāng)輸入消息通過通道50到達協(xié)議棧60時,它在一個接收(RX)棧65上排隊并最終被送至CP調(diào)度器71。CP調(diào)度器71確定該呼叫被送往的線程,并將該消息傳送至呼叫線程72、73、74、75中的一條合適的線程。作為對網(wǎng)絡(luò)消息的響應(yīng),該合適的呼叫線程發(fā)送一個響應(yīng)給協(xié)議棧60,從而被打包并通過一個發(fā)送(TX)棧55被送至其目的地。被送回至網(wǎng)絡(luò)的消息的類型取決于呼叫線程的狀態(tài)。例如,如果該消息是一個對于會話啟動協(xié)議(SIP)下的新呼叫的INVITE消息,則該響應(yīng)是一個合適的確認(rèn)消息,例如一個被返回的“180”RINGING消息或當(dāng)呼叫被應(yīng)答后的一個“200”O(jiān)K消息。
圖5闡述由示例性終端機100-X所保持的示例性路由表200。在穩(wěn)定狀態(tài)下,圖1的九個終端機中的每一個具有一個與圖5中所示的路由表200相同的表。在對等覺察和對等后備選擇已經(jīng)完成后,闡述路由表200。由于完成對等覺察,對于網(wǎng)絡(luò)30上的每個終端機都存在各條目(即各行),以及每個終端機將已申請到一個獨一的DN。由于完成對等后備選擇(這將在下面更詳細(xì)地描述),每個對等機將已被指定一個主后備終端機和一個輔后備終端機。
對于每個在路由表200中具有一個條目的終端機或其它網(wǎng)絡(luò)器件,以下信息被保留DN(列210)、MAC地址(列220)、IP地址(列230)、器件類型(列250)、主后備(列260)、主后備類型(列265)、輔后備(列270)、輔后備類型(列275)、終端機狀態(tài)(列296)和網(wǎng)絡(luò)級別(列299)。也可保留其它與對等后備關(guān)系不大的信息(未示出)。
DN(列210)類似于終端機的PBX分機。MAC地址(列220)是一個用于獨一地標(biāo)識該終端機的硬件地址。在圖5的示例性路由表200中,除最后兩個字符外,每個MAC地址是相同的。IP地址(列230)是終端機的IP地址,用于例如VoIP傳遞消息的地址。器件類型(列250)是網(wǎng)絡(luò)器件類型的標(biāo)示。在本例中,路由表200中前九個條目代表能夠?qū)崿F(xiàn)VoIP的終端機。最后條目代表TTI 40。不同其它類型的網(wǎng)絡(luò)器件(例如網(wǎng)關(guān))可包括于路由表200內(nèi)。主后備和輔后備(列260和270)標(biāo)示已經(jīng)被指定為由該行所代表的終端機的后備的兩個終端機。每個后備由MAC地址DN(為有助于理解,在列260和270的括號中標(biāo)示DN)所標(biāo)識。主后備和輔后備的類型被分別標(biāo)示于列265和275內(nèi)?!癙ri”標(biāo)示主后備而“Sec”標(biāo)示輔后備。最后,級別(列299)標(biāo)示網(wǎng)絡(luò)的網(wǎng)絡(luò)級別(如上所描述),與該網(wǎng)絡(luò)連接了由該行所代表的終端機,并標(biāo)示由該行所代表的終端機的可靠性。
對等后備選擇當(dāng)終端機100-X初始地連接至處于出廠狀態(tài)中的網(wǎng)絡(luò)30時,對等后備模塊160進行對等后備選擇。對等后備選擇的目的是選擇一個主后備終端機和一個輔后備終端機,在當(dāng)前終端機失效時,這些后備將承承擔(dān)前終端機的任務(wù)。對等后備選擇的結(jié)果是將具有后備信息(在列260、265、270和275內(nèi))的本地路由表200和其它終端機的路由表200一起發(fā)布,后備信息足以允許呼叫終端機將其呼叫重新引導(dǎo),或者重新引導(dǎo)至主后備(當(dāng)主終端機失效時),或者重新引導(dǎo)至輔后備(當(dāng)主終端機和主后備兩者都失效時)。
圖6是一個概念框圖,用于闡述三個假想終端機A、B和C之間的對等后備選擇的結(jié)果。每個終端機在圖6中表現(xiàn)為一個框,具有兩個主“端口”和兩個從“端口”。當(dāng)?shù)谝唤K端機上的主端口與第二終端機上的從端口相連時,這標(biāo)示第二終端機已經(jīng)被指定為第一終端機的從機(即后備)。例如,終端機A和終端機B之間的互連731標(biāo)示B是A的后備(雖然B作為主后備或輔后備的狀態(tài)未曾標(biāo)示于圖6中)。因此,互連731、732、733和734集體地標(biāo)示終端機B和C已經(jīng)被指定為A的后備;終端機A已經(jīng)被指定為B的后備;及終端機A已經(jīng)被指定為C的后備。這顯示出各終端機可用作每個其它終端機的后備。
應(yīng)該理解,圖6中各端口和互連并不對應(yīng)于物理端口或互連。概念互連731、732、733和734只是用于闡述目的,而實際上依靠其它手段加以實現(xiàn),例如對每個終端機在路由表200(圖5)的后備列260和/或270中合適地標(biāo)識終端機A、B和C的MAC地址。
圖7闡述根據(jù)本發(fā)明一個實施例用于選擇后備終端機的操作。作為闡述性例子,描述用于圖1的終端機100-1至100-9的后備選擇。表1闡述對其將完成后備選擇的每個終端機100-1至100-9的網(wǎng)絡(luò)級別。
表1多個終端機的網(wǎng)絡(luò)的DN和級別列表如表1中所示,終端機100-1、100-2和100-5至100-9連至級別1(子)網(wǎng)絡(luò)18,終端機100-3和100-4連至級別2(子)網(wǎng)絡(luò)16(圖1)。
參照圖7,初始地將預(yù)期后備(也即所有終端機100-1至100-9)排序,以被選為后備終端機(1810)。此排序被顯示于下面表2內(nèi)。參照表2,在本實施例中,預(yù)期后備按照(1)網(wǎng)絡(luò)級別(按照減低的級別可靠性)(2)后備類型(按照減低的后備優(yōu)先級,即先主后輔)進行排序。由于本實施例進行操作的后備方案中每個預(yù)期后備用作主后備和輔后備兩者,為排序起見,每個預(yù)期后備兩次列表一次作為主后備和一次作為輔后備。網(wǎng)絡(luò)級別和后備類型的每個獨一的組合形成一個“組”。在本實施例中,由于存在兩個網(wǎng)絡(luò)級別和由于每個終端機用作主后備和輔后備兩者,存在四個組。這四個組標(biāo)示為表2中的組1-4。
表2為后備選擇按照網(wǎng)絡(luò)級別和后備類型排序的預(yù)期終端機列表換一種說法,終端機被分為M個預(yù)期后備的“組”,其中每個組包含一個特定可靠性(即網(wǎng)絡(luò)級別)的終端機。此處,由于存在兩個可靠性級別(即級別1和級別2)-這是因為M=2-因此建立兩個組第一組(終端機100-3和100-4)以及第二組(終端機100-1、100-2和100-5至100-9)。第一和第二組對應(yīng)于表2的1組和2組。3組和4組只是1組和2組的重復(fù),代表相同的終端機,它們的能力是預(yù)期輔后備而不是預(yù)期主后備。
如表2中所示,順序位置1至9中的終端機(1組和2組)包括系統(tǒng)中所有終端機,它們的能力被列表為預(yù)期主(P)后備終端機。順序位置10至18中的終端機(3組和4組)和順序位置1至9(相同順序)中所列的終端機相同,它們的能力是預(yù)期輔(S)后備終端機。
在1、2、3和4的每一組內(nèi),終端機按照它們的MAC地址(未示出)排序。例如,在表2的順序位置6和7處,具有DN 207的終端機的MAC地址較具有DN 206的終端機更低,因此它被排序為在具有DN 206的終端機之前先被選擇。這種組內(nèi)排序基礎(chǔ)對于本實施例并不重要,在選代實施例中可以不同。
其次,最可靠級別網(wǎng)絡(luò)上的終端機組(此處是級別1網(wǎng)絡(luò)上的終端機100-1、100-2和100-5至100-9)被選為第一組終端機,它們被指定為主后備(1820)。這種選擇反映高可靠性后備的初始優(yōu)選。
隨后,根據(jù)終端機的排序組為第一終端機的順序號設(shè)置標(biāo)志(index)(表2),它代表接受后備的第一個終端機,或換句話,第一被指定者(1830)。在1830步驟中標(biāo)識的終端機是在最不可靠級別網(wǎng)絡(luò)中的一個終端機,更具體地,它是最不可靠級別網(wǎng)絡(luò)中所有終端機中具有最低MAC地址的終端機。最不可靠級別網(wǎng)絡(luò)被初始地選擇這一事實反映一個后備指定方案,其中最不可靠網(wǎng)絡(luò)上的終端機首先接受后備?!白畹蚆AC號”方案是簡單的輔助排序方案,并具有較低重要性。將能看到,將被指定給1820步驟中標(biāo)識的第一接收者的第一后備來自最可靠級別網(wǎng)絡(luò)。此方案的理由是最低可靠性網(wǎng)絡(luò)的終端機應(yīng)接受那些最高可靠性級別網(wǎng)絡(luò)上的終端機作為它們的后備。
在1840步驟處,如1830步驟中由標(biāo)志的設(shè)定所標(biāo)識的,被指定為后備的第一終端機(即終端機100-1)被指定為表2中當(dāng)前順序位置處終端機(即終端機100-3)的主(或“第一級”)后備。因此,在此第一迭代中,級別1網(wǎng)絡(luò)中任何具有最低MAC地址的終端機(終端機100-1)被指定為來自最不可靠級別網(wǎng)絡(luò)的具有最低MAC地址的終端機(終端機100-3)的主后備。
其次,判斷是否還有其它后備需要指定(即查詢是否還有任何終端機尚未被指定為主后備和輔后備兩者)(1850)。如果不再遺留任何后備需要指定(即如果所有后備都已被指定為主后備和輔后備兩者)。則對等選擇結(jié)束。如果還有任何終端機尚未被指定為輔后備和輔后備兩者,則再判斷當(dāng)前預(yù)期后備級別網(wǎng)絡(luò)(即當(dāng)前組)中是否還遺留任何終端機尚未被指定為兩個終端機的后備(1860)。
如果1860步驟處的判斷是正,則代表下一個后備接受者(即下一個被指定者)的表2中順序位置的標(biāo)志被增量(1865),操作回至步驟1840以便指定下一個后備。
另一方面,如果1860步驟處的判斷是負(fù)(即當(dāng)前級別網(wǎng)絡(luò)/當(dāng)前組的所有終端機都已被指定為兩個終端機的后備),進一步判斷是否還存在任何具有較低可靠性級別網(wǎng)絡(luò)的終端機(即是否還存在任何預(yù)期后備較低可靠性組)(1870)。如果所作后一判斷是正,則在1880步驟處網(wǎng)絡(luò)級別被增量(即設(shè)為下一個較低可靠性的級別號),然后回至1840以便為新網(wǎng)絡(luò)級別重復(fù)該過程。另一方面,如果1870步驟處的判斷是負(fù),則每個終端機將已經(jīng)接受其兩個后備,因而選擇結(jié)束。
為清楚起見,當(dāng)一組“出廠”機的后備選擇完成時,通常跟隨1870步驟的“是”分支。相反,當(dāng)一個新終端機連接一組現(xiàn)成的終端機時,可跟隨1850步驟的“否”分支。
在后備指定的結(jié)尾,由表3闡述終端機指定操作。
表3后備終端機和它們?yōu)槠溆米骱髠涞慕K端機的列表在表3中,第一列標(biāo)識后備終端機,第二列規(guī)定后備機的網(wǎng)絡(luò)級別,第三列標(biāo)識第一列中所標(biāo)識的終端機用作其后備的第一終端機(后備類型被標(biāo)示于括號內(nèi)),以及第四列標(biāo)識第一列中所標(biāo)示的終端機用作后備的第二終端機(后備類型被標(biāo)示于括號內(nèi))。
表3的后備指定信息被發(fā)布至系統(tǒng)內(nèi)每個終端機的路由表200(圖5)中,以及更具體地,發(fā)布至路由表200的列260、265、270和275內(nèi)。后備指定信息通過由每個器件周期地發(fā)送的PEER_ASSERT消息被發(fā)布。其結(jié)果是,每個終端機處的路由表200將如圖5中所示。
如表3中所示,一個后備終端機可用作兩個不同終端機的主后備,或者用作一個終端機的主后備和另一個終端機的輔后備,或者用作兩個不同終端機的輔后備。例如,參照表3的第一行,可看出,終端機100-1是終端機100-3的主后備,又是終端機100-8的主后備。參照表3的第七行,終端機100-9用作終端機100-6的主后備以及終端機100-5的輔后備。最后,如表3的最后一行所示,終端機100-4用作終端機100-6的輔后備終端機,又是終端機100-9的輔后備終端機。然而,應(yīng)注意到,一個后備不能用作同一主機的主后備和輔后備兩者。
圖7中闡述的后備選擇允許較低可靠性(級別2)網(wǎng)絡(luò)中的終端機具有更可靠(級別1)網(wǎng)絡(luò)中的后備終端機,因而,即使較低可靠性網(wǎng)絡(luò)例如由于內(nèi)聯(lián)網(wǎng)14的故障而對來自PSTN的呼叫者已經(jīng)成為不可訪問,較低可靠性網(wǎng)絡(luò)(即子網(wǎng)絡(luò)16)仍然能夠具有更可靠網(wǎng)絡(luò)(即子網(wǎng)絡(luò)18)上的后備功能。
在某些實施例中,要求后備的終端機將全部具有相同網(wǎng)絡(luò)級別。在此情況下,這些終端機能夠例如只使用MAC地址來排序。此外,本發(fā)明各實施例不限于使用MAC地址作為標(biāo)識符將終端機排序(例如表2中所示)。例如可使用其它標(biāo)識符例如IP地址、DN和序列號。
圖8是一個用于更詳細(xì)地闡述圖3的對等后備模塊160的結(jié)構(gòu)的功能框圖。每個終端機100-X的對等后備模塊160是相同的。作為闡述性例子,根據(jù)圖6的預(yù)期假設(shè)終端機A來描述對等后備模塊160的操作。
后備管理器810負(fù)責(zé)確定哪個終端機用作當(dāng)前終端機A的主后備和輔后備,并負(fù)責(zé)采取必要行動使當(dāng)前終端機A成為這些后備的主機。后備管理器810管理和協(xié)調(diào)第一主后備模塊830和用于輔助它完成目的的第二主后備模塊840的功能。
日志管理器890負(fù)責(zé)將主數(shù)據(jù)庫855(包含與當(dāng)前終端機A的設(shè)置有關(guān)的數(shù)據(jù))與由每個終端機A的從機所保持的“影子”數(shù)據(jù)庫(即沒有闡述的終端機B和C,但在對等后備模塊160中具有它們自己的實例)保持同步。影子數(shù)據(jù)庫是由從機所保持的主終端機的數(shù)據(jù)庫的副本,以便在主機失效時用于模仿主機。日志管理器890也負(fù)責(zé)將一對由當(dāng)前終端機A所保持的影子數(shù)據(jù)庫815和828保持同步,它們代表A用作其從機的每個主終端機的數(shù)據(jù)庫的副本(即終端機B和C的主數(shù)據(jù)庫的副本)。框854、814和824代表數(shù)據(jù)庫模塊,通過它們分別訪問數(shù)據(jù)庫855、815和828。
圖8中剩余的框或者屬于作為主終端機的終端機A的任務(wù),或者屬于作為終端機B和C的從機時它的任務(wù)。這些將依次描述。
屬于終端機A作為主終端機的框主后備模塊830是一個線程,它管理當(dāng)前終端機A與另一個終端機的主機側(cè)互動,其目的是為終端機A建立一個第一從機(例如終端機B)或者刪除該從機。下面將更詳細(xì)地描述模塊830的操作。主后備模塊840類似于模塊830,其不同點只是它管理主機側(cè)互動,其目的是為終端機A建立一個第二從機(例如終端機C)或者刪除該從機。
本地日志模塊850提供對本地日志851的訪問。本地日志851代表一組最近發(fā)生在主數(shù)據(jù)庫855中的變化(即當(dāng)前終端機A的配置的最近變化)。這類變化被跟蹤,其目的是向從終端機B和C報告。
觀察者890負(fù)責(zé)監(jiān)視本地日志851的變化并向日志管理器880指出已經(jīng)檢測到變化,以使日志管理器880可以協(xié)調(diào)對從終端機B和C發(fā)布變化。日志管理器880可以例如周期地與觀察者模塊890驗證是否有變化需要報告,以及如果有變化需要報告,則通過在網(wǎng)絡(luò)30上發(fā)送的消息將變化報告給后備終端機B和C(圖1)。
屬于終端機A作為從終端機的框從模塊811是一個線程,它管理當(dāng)前終端機A與另一個終端機的從機側(cè)互動,其目的是為其它終端機(例如終端機B)將終端機A建立為一個從機(或主或從)或者作為從機將其刪除。下面將更詳細(xì)地描述從模塊811的操作。輔從模塊821類似于模塊811,其不同點只是它管理從機側(cè)互動,其目的是為另一個終端機(例如終端機C)將終端機A建立為一個從機(或主或從)或者作為從機將其刪除。
影子數(shù)據(jù)庫815和828代表每個主終端機的數(shù)據(jù)庫的副本(即終端機B和C的主數(shù)據(jù)庫的副本),A用作主機的從機。第一數(shù)據(jù)庫815由終端機A用于允許它在終端機B失效時模仿它(在此例中,假設(shè)終端機A是終端機B的主從機)。存儲于后備數(shù)據(jù)庫815內(nèi)的信息例子可包括終端機B的用戶選項和快速撥號設(shè)置。第二數(shù)據(jù)庫828類似于數(shù)據(jù)庫815,但在必要時可用于模仿終端機C(在此例中假設(shè)已經(jīng)選擇終端機A作為其輔后備)。
在終端機A已經(jīng)承擔(dān)起(失效的)主終端機B的任務(wù)(即已經(jīng)作為后備而“工作”)的情況下,觀察者模塊860負(fù)責(zé)通過模塊816監(jiān)視本地日志825的變化,這些變化代表失效主機的影子數(shù)據(jù)庫815的變化,以及負(fù)責(zé)向日志管理器880指出已經(jīng)檢測到變化。如果檢測到變化,日志管理器880協(xié)調(diào)對任何其它從終端機的變化的發(fā)布,這些變化可能存在于相同的失效主機。其它從機的身份可通過查驗例如本地路由表200(圖5)來獲取。在主終端機B重新成為有效后,日志管理器880還協(xié)調(diào)對主終端機B發(fā)布變化。
在圖8中,只為每個主機和兩個從機顯示一個數(shù)據(jù)庫和一個日志。然而,應(yīng)該理解,在本發(fā)明某些實施例中,每個主機和從機具有多個數(shù)據(jù)庫和日志。
模塊821、824、826、828、838和870(分別)類似于模塊811、814、816、815、825和860,其不同點只是它們屬于終端機A用作其后備的其它主終端機(例如終端機C)。
日志管理器880周期地與觀察者模塊860、870驗證是否有變化需要報告,以及如果有變化需要報告,則將變化報告給合適的主終端機B或C(730)。
如果一個具有DN 210的新終端機100-10曾連接至系統(tǒng)10的子網(wǎng)絡(luò)16(圖1),則希望新終端機被提供有主后備和輔后備終端機。然而,假設(shè)終端機100-1至100-9的穩(wěn)態(tài)狀態(tài)中沒有終端機可用作新終端機的后備。具體地,更可靠的子網(wǎng)絡(luò)18中再沒有終端機(由于它們的優(yōu)越可靠性,用作后備最好)可用作新終端機的后備。
在此情況下,新終端機100-10可以查驗路由表200的列270(當(dāng)其通過對等覺察操作連接至網(wǎng)絡(luò)時將構(gòu)作該表)以便確定級別1(即最可靠)網(wǎng)絡(luò)中是否有任何現(xiàn)成終端機用作輔后備。假設(shè)其路由表200反映圖5的示例性路由表200中所示信息,此查驗操作可覺察到例如終端機100-8和100-9屬于此分類。
在此情況下,新終端機可發(fā)送一個搶先消息至一個當(dāng)前具有終端機100-8和100-9作為其后備的主終端機(例如分別送至終端機100-2和100-5),要求每個主終端機交出其輔后備。此后,新終端機100-10可發(fā)送一個消息至終端機100-8,要求它成為終端機100-10的主后備。類似地,新終端機100-10可發(fā)送一個消息至終端機100-9,要求它成為終端機100-10的輔后備。
隨后,由于搶先的結(jié)果而終端機100-2和100-5中每個終端機損失了它們的輔后備,它們可以每個發(fā)送一個消息至新終端機100-10,要求它成為其輔后備。
圖9更詳細(xì)地闡述圖8的主后備模塊830。應(yīng)該理解,該主后備模塊830組成一個狀態(tài)機,用于管理主終端機的指定、撤銷指定和搶先單個后備終端機的操作。因此,在本實施例中,每個終端機具有一個主后備和一個輔后備,還具有主后備模塊的第二實例(即圖8的模塊840),用于指定、撤銷指定和搶先第二后備終端機的操作。應(yīng)該理解,圖9中所示狀態(tài)機包括類似于狀態(tài)間流程步驟的步驟,因此圖9可被考慮為具有流程圖和/或狀態(tài)機的形式。將參照在其作為主終端機的能力范圍內(nèi)的終端機A的操作描述狀態(tài)機。
最初終端機A進入一個閑置狀態(tài)920,此時它沒有指定的后備。在接到來自后備管理器810增加一個后備的指令后(這發(fā)生在或者自舉之后,或者新終端機加至網(wǎng)絡(luò)30之后,或者將一個現(xiàn)有終端機自網(wǎng)絡(luò)30中撤銷之后,或者現(xiàn)有終端機恢復(fù)有效之后,后備管理器810查驗其從機關(guān)系之后),一個建立請求消息被送至一個預(yù)期終端機(934),請求它承擔(dān)終端機A的后備任務(wù)。終端機A然后等待來自該與“建立”狀態(tài)940相關(guān)聯(lián)的預(yù)期后備終端機的正的建立響應(yīng)消息,這反映預(yù)期后備愿意承擔(dān)終端機A的后備任務(wù)。在收到來自后備終端機的正的建立響應(yīng)消息后,作為一個觀察者,后備終端機被加入至由本地日志模塊850所保持的本地日志中(944)。也即,建立相應(yīng)消息到達框810,并被引導(dǎo)至框830或840(兩者中正在管理與此特定從機的關(guān)系的一個框)以供處理。從終端機成為主機的數(shù)據(jù)庫(855)的觀察者(890)并由本地日志模塊保持(850)。這意味著,從機現(xiàn)在已被通知而知道本地數(shù)據(jù)庫的變化。然后終端機A進入工作狀態(tài)950,此時已經(jīng)指定了一個后備。
如果沒有終端機可用作后備終端機,由后備管理器810啟動一個搶先事件,其目的是觸發(fā)一個促使另一個終端機放棄其一個后備的操作。在此情況下,當(dāng)前終端機(終端機A)發(fā)送一個搶先消息至另一個主終端機(924)(如上所述,這可被標(biāo)識為具有最高可靠性的輔后備),要求交出一個其后備。終端機A然后等待一個來自其它主終端機(在930處)的正的搶先響應(yīng),以便標(biāo)示已經(jīng)放棄一個后備終端機。
此后,如上所述地,終端機A繼續(xù)其在934處的操作,其結(jié)果是過渡至工作狀態(tài)950,此時被交出的后備已經(jīng)被指定給當(dāng)前終端機。
在狀態(tài)950中,如果由于主終端機將被從網(wǎng)絡(luò)中撤銷指定,因而后備管理器810啟動將被指定的后備終端機自主終端機中撤消指定的操作,則后備終端機被撤銷作為由本地日志模塊850所保持的日志的觀察者(956)。在此方案中,后備管理器810將通知后備主機830,本地終端機正被從網(wǎng)絡(luò)中刪除。后備主機830然后發(fā)送刪除請求至從機。在收到刪除響應(yīng)后,主數(shù)據(jù)庫855的觀察者條目890將被刪除,并且不再被本地日志模塊950所監(jiān)視。然后主終端機A發(fā)送一個刪除請求至后備機,向后備指令不再需要它作為終端機A的后備(958)。然后終端機A等待正的刪除響應(yīng),標(biāo)示后備終端機在回至閑置狀態(tài)920之前,已經(jīng)自其路由表200中刪除所有對于作為主機的終端機A的連系(970)。
選代地,根據(jù)狀態(tài)950,如果從另一個終端機收到一個搶先請求,請求終端機A放棄其后備中的一個,則后備管理器810啟動一個刪除請求事件,以便將后備B刪除作為由本地日志模塊850所保持的日志的觀察者(952)。后備管理器810將引導(dǎo)搶先請求至后備主機830以供處理。也即,主后備模塊830然后啟動一個刪除請求至從機。在收到刪除請響應(yīng)后,主數(shù)據(jù)庫854的觀察者條目890將被刪除,并不再被本地日志模塊950所監(jiān)視。然后終端機A發(fā)送一個后備刪除請求至后備B,向后備B標(biāo)示它正被搶先(954)。然后終端機A等待一個正的刪除響應(yīng),標(biāo)示后備終端機B已經(jīng)刪除所有對作為主終端機的終端機A的連系(狀態(tài)960)。在從后備B收到一個正的刪除響應(yīng)后,終端機A發(fā)送一個正的搶先響應(yīng)至該啟動搶先事件的終端機(步驟964)。終端機A然后回至閑置狀態(tài)920。
圖10更詳細(xì)地闡述圖8的從模塊811。應(yīng)理解,該從模塊811組成一個狀態(tài)機,用于管理終端機A的從機側(cè)操作,以便實現(xiàn)它作為第一主機的后備的指定和撤銷指定操作。還存在一個從模塊(即圖8的模塊821)的第二實例,用于作為第二主機的后備的終端機A的指定和撤銷指定操作。應(yīng)理解,圖10的模塊811包括類似于狀態(tài)機的狀態(tài)間流程步驟的步驟,因此圖10可被考慮為流程圖和/或狀態(tài)機的形式。將根據(jù)被指定為終端機B的后備并被撤消指定的預(yù)期終端機A來描述圖10。
最初模塊811處于閑置狀態(tài)1020,此時它代表尚未被指定為后備的終端機A。當(dāng)終端機B希望終端機A作為其后備時,它發(fā)送一個建立請求消息至終端機A。在終端機A處收到建立請求消息后,終端機A處的后備管理器810啟動一個建立影子數(shù)據(jù)庫815的過程(1022)以便從預(yù)期主終端機B接收信息,供終端機A在終端機B失效時承擔(dān)終端機B任務(wù)之用。后備管理器810還啟動為后備數(shù)據(jù)庫815建立日志825的過程(1024),以供跟蹤失效的主機的影子數(shù)據(jù)庫815的變化之用。然后終端機A使用一個建立響應(yīng)OK消息對終端機B進行響應(yīng),標(biāo)示已經(jīng)實施該請求(1026),A機進入工作狀態(tài)1030,此時已被指定為主終端機B的后備。
如果隨后主終端機B不要終端機A作為其后備,它發(fā)送一個刪除請求至終端機A。在自終端機B收到一個刪除請求后,終端機A處的后備管理器810啟動后備數(shù)據(jù)庫815和在步驟1022和1024中分別建立的日志825的刪除操作(1034)。然后終端機A發(fā)送一個刪除OK響應(yīng)至主終端機B,標(biāo)示刪除請求成功(1038),終端機A回至閑置狀態(tài)1020,并已被撤銷而不再作為后備。
圖11闡述一個狀態(tài)機/流程圖,用于管理已經(jīng)被指定為后備的終端機處的日志管理器880的操作。將根據(jù)假設(shè)為用作每個終端機B和C的后備的終端機A的預(yù)期操作來描述圖11。
初始地,終端機A的日志管理器880進入一個等待日志變化狀態(tài)1120。在自其后備B或自C中的一個收到更新(即或在主終端機B或在C處收到主機數(shù)據(jù)的變換的標(biāo)志,例如由于用戶對終端機配置所作變化)之后,影子數(shù)據(jù)庫815、828(圖8)中合適的一個被更新。然后日志管理器880使用一個ACK消息對發(fā)送更新的主終端機進行響應(yīng)(1124),并回至等待日志變化狀態(tài)1120。
如果日志管理器880從本地日志模塊850(通過觀察者890)收到一個主數(shù)據(jù)庫855已經(jīng)變化的標(biāo)志(以便將該變化傳送至各從機),啟動一個計時器(1126),及日志管理器880進入工作狀態(tài)1130。計時器用于檢查是否有任何數(shù)據(jù)要發(fā)送,即日志管理器880周期地查詢觀察者890(計時器的期滿對應(yīng)于圖14的操作1452)。應(yīng)理解,在選代實施例中可利用異步通知而不是輪詢。在工作狀態(tài)1130中,一旦計時器期滿,日志管理器880與觀察者模塊890確認(rèn)是否有變化需要發(fā)送至后備終端機B和C(1136)。如果有變化須發(fā)送,則變化被送(1138)至終端機B和C兩者。然后計時器歸零和啟動(1140),以及主終端機回至工作狀態(tài)1130。
在步驟1136處,如無變化須發(fā)送至后備終端機B和C,則日志管理器880回至等待日志變化狀態(tài)1120。根據(jù)狀態(tài)1130,如果日志管理器880從任何一個后備終端機收到一個對步驟1138處發(fā)送的變化作出響應(yīng)的ACK消息,則該變化可從一系列須報告的變化中刪除,以及日志管理器880回至工作狀態(tài)1130。
當(dāng)在工作狀態(tài)1130中從任何一個終端機B或C收到一個變化時,影子數(shù)據(jù)庫815、828中的合適一個被更新(1132),然后日志管理器880使用一個ACK消息對終端機B和C中相應(yīng)的一個做出響應(yīng)。后備終端機日志管理器然后回至工作狀態(tài)1130。
圖12闡述主終端機和后備終端機之間的信號序列圖,用于為主機指定后備終端機和將后備撤銷指定。在圖12的描述中,假設(shè)終端機A是主終端機以及終端機B是后備終端機。在描述圖12時將參照圖9和10,該兩圖分別闡述主終端機A和后備終端機B處模塊830和811的操作。
為使終端機B被指定為其后備終端機,終端機A發(fā)送一個建立后備請求1210至終端機B(圖9的934)。此消息指令終端機B作為終端機A的后備機,其進一步結(jié)果是在終端機B處為終端機A建立數(shù)據(jù)庫815、日志825和觀察者860。假設(shè)它能用作后備,終端機B使用一個正的建立后備響應(yīng)1220進行響應(yīng)(圖10的1026)。在收到正的建立后備響應(yīng)1220后,終端機A將終端機B作為觀察者890增加至由本地日志模塊850在終端機A處保持的本地日志851中(圖9的944)。在此階段中,終端機B成為終端機A的后備。相應(yīng)地,終端機A處于工作狀態(tài)950(圖9)以及終端機B處于工作狀態(tài)1030(圖10)。
再次參照圖12,如果稍后時間內(nèi)不再要求終端機B作為終端機A的后備,終端機A發(fā)送一個刪除后備請求1230(圖9的958)至終端機B。在收到刪除后備請求1230后,終端機B刪除所有與終端機A相關(guān)聯(lián)的數(shù)據(jù)庫和日志(圖10的1034),并且當(dāng)此操作成功時,使用一個正的刪除后備響應(yīng)1240進行響應(yīng)(圖10的1038)。在此階段,終端機B不再是終端機A的后備,以及因此終端機A處于閑置狀態(tài)920(圖9)和終端機B處于閑置狀態(tài)1020(圖10)。
圖13闡述一個序列圖,其中一個主終端機搶先另一個其它主終端機的后備終端機指定操作。作為闡述性例子,在圖13中終端機A初始地假設(shè)具有終端機C作為后備終端機,并假設(shè)終端機B采取步驟來獲取終端機C作為其后備終端機。在描述圖13時將參照圖9,其中闡述終端機A處的模塊830(和/或840)的操作,同時參照圖10,其中分別闡述終端機B和C處模塊811(和/或821)的操作。
初始地,假設(shè)已經(jīng)按照相對于圖12所描述的方式在終端機A和C之間交換了建立后備請求和建立后備響應(yīng)消息1310和1320,其結(jié)果是終端機C被指定為終端機A的后備。
稍后,終端機B希望獲得終端機C作為其后備,因而發(fā)送一個搶先請求1330至終端機A(圖9的924)。在收到搶先請求1330后,終端機A如上所述地通過與終端機C交換刪除后備請求和刪除后備響應(yīng)消息1340和1350而促使終端機C被撤銷而不再作為其后備終端機(見圖9的954和圖10的1038)。在收到正的刪除后備響應(yīng)1350后,終端機A發(fā)送一個正的搶先響應(yīng)1360(圖9的964)至終端機B,標(biāo)示現(xiàn)在終端機C可用作后備。然后終端機B如上所述地與終端機C交換建立后備請求和建立后備響應(yīng)消息1370和1380以便促使終端機C成為終端機B的后備。
圖14闡述一個序列圖,用于在一個應(yīng)用程序初始化時,由作為主終端機的終端機A向終端機B發(fā)送消息。在圖14的闡述性例子中,顯示由終端機A所執(zhí)行的過程,其中希望后備終端機用作話音郵件應(yīng)用程序的后備,其中話音郵件應(yīng)用程序形成話音郵件模塊80的一部分。然而,本發(fā)明并不限于話音郵件應(yīng)用程序的后備。例如,它也可用作用戶喜愛和快速撥號的后備,例如一個用于管理如何處理呼入的“呼叫控制”應(yīng)用程序。
當(dāng)話音郵件模塊80中的應(yīng)用程序初始化時,話音郵件模塊80如信號1410所示地建立一個數(shù)據(jù)庫,在選代實施例中可建立多于一個數(shù)據(jù)庫(例如可使用多個數(shù)據(jù)庫以便按照優(yōu)先級分離話音郵件數(shù)據(jù),例如分離為高優(yōu)先級消息和標(biāo)準(zhǔn)優(yōu)先級消息)。因為希望將數(shù)據(jù)庫在另一個終端機(終端機B)上實現(xiàn)后備,應(yīng)用程序發(fā)送一個包含數(shù)據(jù)庫ID的后備DB消息1412至終端機A的對等后備模塊160的后備管理器810。在收到后備DB消息1412后,后備管理器810發(fā)送一個信號1414至本地日志模塊850以便為話音郵件應(yīng)用程序建立一個本地日志。該日志代表最近發(fā)生在數(shù)據(jù)庫中的一組變化。依次接下來,本地日志模塊850發(fā)送一個消息1416至數(shù)據(jù)庫以便增加本地日志模塊850作為觀察者,并將該觀察者加至其表格(1418)。觀察者的目的是跟蹤數(shù)據(jù)庫中的變化。后備管理器810發(fā)送一個建立后備消息1420至主后備模塊830,請求主后備模塊830建立一個數(shù)據(jù)庫和一個日志并為日志在終端機B上指定一個觀察者。在圖14中,為清楚起見,通過建立后備消息1420所作請求被顯示為只發(fā)送至主后備模塊830;然而應(yīng)理解,也為主后備模塊840作出類似請求,請求在終端機C上建立一個數(shù)據(jù)庫和一個日志并為日志指定一個觀察者。
主后備模塊830發(fā)送一個請求1424至終端機B,指令終端機B為應(yīng)用程序在后備終端機(終端機B)處建立一個數(shù)據(jù)庫和一個日志,以及為終端機B處的日志在終端機B處指定一個觀察者。終端機B使用一個正的建立后備響應(yīng)1430進行響應(yīng),標(biāo)示B同意作為后備,以及已經(jīng)建立了合適的日志條目。然后主后備模塊830發(fā)送一個注冊(register)后備消息1432至后備管理器810,請求后備管理器810將終端機B注冊為后備終端機。然后后備管理器810發(fā)送一個信號1434,請求本地日志模塊850增加終端機B作為觀察者。本地日志模塊850然后發(fā)送一個建立觀察者消息1436至觀察者模塊890以便為終端機B建立一個觀察者(在終端機A處)。本地日志模塊850發(fā)送一個信號1438至話音郵件模塊80,以便從話音郵件模塊80的數(shù)據(jù)庫中檢索記錄。本地日志模塊850然后發(fā)送一個信號1440至觀察者模塊890,指令觀察者模塊890為應(yīng)用程序在一個變化表格(即須傳輸至給定后備的數(shù)據(jù)庫的一組修改內(nèi)容)中增加各條目,這些條目代表由本地日志模塊850所保持的本地日志中所檢索的記錄。
稍后,日志管理器880發(fā)送一個獲得變化表格消息1442至觀察者模塊730(例如在器件失效一段時間后,又已經(jīng)重新工作),以便為應(yīng)用程序從觀察者模塊890中檢索變化表。日志管理器880然后發(fā)送一個更新請求消息1444至終端機B,指令終端機B為應(yīng)用程序更新相應(yīng)的數(shù)據(jù)庫。
如圖14中所示,當(dāng)話音郵件應(yīng)用程序生成新數(shù)據(jù)時(例如在話音郵件消息已經(jīng)被呼叫者遺留之后),在話音郵件模塊80的數(shù)據(jù)庫內(nèi),這些數(shù)據(jù)通過發(fā)信號1446被增加或修改。新數(shù)據(jù)的生成又依次促使話音郵件模塊80的數(shù)據(jù)庫將包含來自話音郵件模塊80中數(shù)據(jù)庫的新數(shù)據(jù)的DB變化更新1448發(fā)給本地日志模塊850。作為響應(yīng),本地日志模塊850為應(yīng)用程序?qū)⑿聰?shù)據(jù)加至本地日志,并發(fā)送一個消息1450至觀察者模塊890,指令觀察者模塊890為應(yīng)用程序更新變化表格。稍后,日志管理器880發(fā)送一個獲得變化表格消息1452至觀察者模塊890以便為應(yīng)用程序從觀察者模塊890中檢索變化表格。日志管理器880然后發(fā)送一個更新請求消息1454至終端機B,指令終端機B為應(yīng)用程序更新相應(yīng)的數(shù)據(jù)庫。
圖15闡述一個序列圖,顯示當(dāng)一個終端機成為另一個終端機的后備時在后備終端機處發(fā)送消息。在本例子中,描述當(dāng)終端機B承擔(dān)終端機A的后備任務(wù)時終端機B處的操作。
初始地,終端機B從主終端機A接收一個后備建立請求1510,這組成一個請求終端機B作為A機后備的請求。終端機B處的后備管理器810發(fā)送一個建立后備數(shù)據(jù)庫(即影子數(shù)據(jù)庫)消息1520至數(shù)據(jù)庫模塊814(也在從終端機B處),以便為來自應(yīng)用程序例如在主機上運行的話音郵件應(yīng)用程序的數(shù)據(jù)建立一個數(shù)據(jù)庫。此后后備管理器810發(fā)送一個建立后備日志消息1522至日志模塊816(都在終端機B內(nèi)),指令后備日志模塊816為在終端機B上運行的應(yīng)用程序建立后備日志825。終端機B處的后備管理器810也發(fā)送一個消息1524至日志模塊816,指令后一模塊將主終端機A作為觀察者加至后備數(shù)據(jù)庫。此外,終端機A的其它后備終端機(即第二從機)被作為觀察者加至后備數(shù)據(jù)庫。
后備日志模塊816然后發(fā)送一個建立信號1530至觀察者模塊860,指令后一模塊為在主終端機上運行的應(yīng)用程序在后備終端機處建立一個觀察者。在終端機B處的后備管理器810然后啟動一個后備建立響應(yīng)OK消息1540至主終端機A,標(biāo)示終端機B現(xiàn)已被指定為終端機A的后備。此消息確認(rèn),已為在主終端機A上運行的應(yīng)用程序建立了數(shù)據(jù)庫、后備日志和觀察者。
稍后,主終端機A發(fā)送一個日志更新請求1550至后備終端機B,并被終端機B的日志管理器880接收。終端機B的日志管理器880發(fā)送一個更新消息1554至終端機B處的后備數(shù)據(jù)庫模塊814,為終端機B上的應(yīng)用程序發(fā)布已經(jīng)建立的后備數(shù)據(jù)庫815。
圖16闡述一個當(dāng)后備的主終端機失效時在后備終端機處的序列圖。在本例子中,假設(shè)后備終端機是終端機A以及主終端機是終端機B(圖6)。
當(dāng)主終端機B失效而無法接收呼叫時,在從終端機A處的日志管理器880接收一個消息1610(例如來自一個端對端子系統(tǒng)或模塊,它監(jiān)視所有對等端的“工作/失效”狀態(tài)),標(biāo)示日志管理器880不應(yīng)將有關(guān)B機的A機副本的局部變化的更新消息發(fā)送至主終端機B。本應(yīng)送往主終端機B的呼叫被導(dǎo)引至主后備機(終端機A)。例如,在啟動呼叫的終端機處的端對端子系統(tǒng)可指令其“呼叫控制”應(yīng)用程序以便當(dāng)B機失效時為終端機B傳送呼叫至終端機A。當(dāng)在從終端機A處的應(yīng)用程序代替主終端機B處的應(yīng)用程序運行并且當(dāng)與應(yīng)用程序相關(guān)聯(lián)的數(shù)據(jù)庫發(fā)生變化時,在從終端機A處運行的應(yīng)用程序發(fā)送一個增加記錄消息1620至后備數(shù)據(jù)庫模塊814,請求將變化記錄下來。后備數(shù)據(jù)庫814在數(shù)據(jù)庫815中實施變化,并將與數(shù)據(jù)庫相關(guān)聯(lián)的日志中的變化記錄通知后備日志模塊816(通過消息1630)。后備日志模塊然后發(fā)送一個增加變化表格消息1640至觀察者模塊860。
圖17闡述一個當(dāng)其主終端機失效一段時間后又能工作時后備終端機的序列圖。在以下圖17的描述中,假設(shè)終端機A是主終端機以及終端機B是后備終端機。
當(dāng)終端機A失效一段時間后又能接收呼叫時,一個后備終端機B的日志管理器880接收一個對等端有效消息1710(例如來自一個端對端子系統(tǒng)或?qū)機而言是局部的模塊,它監(jiān)視B的對等狀態(tài))。終端機B處的日志管理器810發(fā)送一個獲得變換表格消息1720至終端機B處的觀察者模塊860,以便檢索當(dāng)終端機A失效時與終端機A的信息的變化相關(guān)聯(lián)的變化表格(在終端機B的影子數(shù)據(jù)庫中)。日志觀察者模塊860使用消息1725將變化表格送至終端機B處的日志管理器880。然后日志管理器880啟動和傳輸一個日志更新請求1730至主終端機A。
圖18闡述在已經(jīng)指定各后備機后,一個在圖1的電話系統(tǒng)10中用于啟動一個對目的終端機的呼叫的操作流程圖。
一個呼叫始發(fā)者(例如連至網(wǎng)絡(luò)30的電話終端機之一)試圖連至網(wǎng)絡(luò)30上另一個電話終端機(600),例如由始發(fā)者終端機的用戶響應(yīng)于所需目的終端機的DN的條目。如果目的終端機失效(605),例如或由于目的電話機從網(wǎng)絡(luò)斷開而損失端口,或由于目的機的所有呼叫處理線程72、73、74和75(圖4)都正在使用,則始發(fā)電話機根據(jù)其本地路由表200的列260來標(biāo)識一個主后備。
使用來自列220或230中的一列的相應(yīng)目的地址,始發(fā)終端機就試圖呼叫主后備終端機(610)。若此呼叫失敗(即若主后備也是失效),則根據(jù)路由表200的列270來檢索該失效主機的輔后備的信息。然后試圖使用從表200中間所得該機的目的地址來呼叫輔后備機(620)。
應(yīng)該注意到,當(dāng)接收者終端機能夠接受呼叫時,作為呼叫目的地的終端機可能只振鈴以表明對呼叫的應(yīng)答。在任何其它情況下,由呼叫處理線程和應(yīng)答呼叫的話音郵件模塊一起簡單地處理該呼叫而不是由相關(guān)終端機振鈴。
在某些實施例中,提供一個通用的而不是終端機專用的呼叫處理能力。通用呼叫處理可以例如包括播放通用聲音答辭(例如“電話失效,請留言?!?而不是個人化的答辭。
當(dāng)或由呼叫目的地的終端機接收呼叫,或由作為該終端機的后備而工作的終端機接收呼叫,該終端機接收呼叫的方式是告訴始發(fā)者,該呼叫被成功地送至所需目的電話機。這可能例如涉及為所需電話機播放個人化話音郵件答辭以及為話音郵件或呼叫轉(zhuǎn)發(fā)而用的任何用戶選項。
相反,通用呼叫處理能力允許終端機代替未被指定作為后備的終端機接收呼叫。通用處理能力被闡述于圖18中。
如圖18中所示,當(dāng)所有后備(即主和輔兩者)都失效時,本實施例采用通用呼叫處理。在630處,如果在620處試圖送往輔后備(即“第二級后備”)的呼叫失敗,則始發(fā)者終端機可以可選地代替目的終端機應(yīng)答呼叫(630和640)。在通用方式中,這可能是必需的,因為始發(fā)終端機并無任何目的終端機專用的呼叫處理能力。完成通用呼叫所造成的任何數(shù)據(jù)庫變化的處理方式和一個標(biāo)準(zhǔn)呼叫完成方式相同,即由日志管理器890(圖8)發(fā)布至合適的終端機。
在無法使用通用呼叫處理的實施例中,不完成通用呼叫應(yīng)答,如果所有后備終端機都失效,則對呼叫者播放忙音(660)。若步驟600、610、620中的任何一個嘗試成功,則呼叫被接受并由相關(guān)終端機處理(650)。
如業(yè)內(nèi)人員所熟知的,可對上述實施例作修改而不背離本發(fā)明的實質(zhì)。例如,雖然所描述的實施例在很大程度上涉及的對等器件是終端機,但可理解,所描述的網(wǎng)絡(luò)器件同等地可應(yīng)用于終端機以外的對等機,例如其它形式的網(wǎng)絡(luò)器件。同樣地,網(wǎng)絡(luò)器件可由任何形式的網(wǎng)絡(luò)所互連而不只是LAN。此外,雖然對等覺察描述涉及電話簿號碼的選擇、探測和斷定,應(yīng)理解,所描述方法同等地可應(yīng)用于網(wǎng)絡(luò)地址而不是電話簿號碼。
應(yīng)理解,后備級別數(shù)量(即每個主機的后備數(shù)量)可與所描述實施例的兩個后備級別不同。一般而言,可多至N個后備級別,其中N是大于或等于一的整數(shù)。
此外,上述實施例中的終端機是“對稱的”,即每個終端機N次用作后備,同時它本身具有N個后備,雖然如此,在所有實施例中不一定這樣。
還注意到,圖5中所示路由表200是可保持的信息類型的很特殊的例子。選代實施例可在它們的路由表中包括不同信息。例如,后備終端機可用不同于MAC地址的方式被標(biāo)識。
應(yīng)確定地注意到,本發(fā)明不限于為其它終端機提供后備功能的終端機。在本發(fā)明的某些實施例中,其它網(wǎng)絡(luò)器件例如TTI可提供后備功能或可從其它網(wǎng)絡(luò)器件的后備功能中得益。
此外,雖然以上所用名詞“可靠性”涉及終端機在分布式電話系統(tǒng)之外可靠地建立連接的能力(例如從PSTN接收呼叫),但應(yīng)理解,此名詞可具有其它類型網(wǎng)絡(luò)器件的含義。一般而言,名詞“可靠性”涉及一個網(wǎng)絡(luò)器件能夠達到所需目標(biāo)或完成所需任務(wù)的概率,此概率隨著不同網(wǎng)絡(luò)器件而不同。
最后,雖然所描述實施例中的網(wǎng)絡(luò)器件是對等網(wǎng)絡(luò)中的對等端,但應(yīng)理解這并不是必需的。所描述后備方案中使用后備的網(wǎng)絡(luò)器件不必要分級為網(wǎng)絡(luò)上的“對等端”以及網(wǎng)絡(luò)不必要分級為“對等”網(wǎng)絡(luò)。
考慮到以上原理,本發(fā)明的許多修改和變動是可能的。例如,本發(fā)明的實施例中以上終端機并不限于電話終端機,以及在本發(fā)明某些實施例中終端機可為任何網(wǎng)絡(luò)通信器件。因此應(yīng)該理解,只要在所附權(quán)利要求書的范圍內(nèi),可在此處具體描述內(nèi)容以外實施本發(fā)明。
權(quán)利要求
1.在多個網(wǎng)絡(luò)器件的一個網(wǎng)絡(luò)器件處,一種方法包括選擇所述多個網(wǎng)絡(luò)器件中的至少一個其它網(wǎng)絡(luò)器件作為所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作導(dǎo)致選擇至少一個后備網(wǎng)絡(luò)器件;傳送由所述一個網(wǎng)絡(luò)器件所保持的信息至每個所述后備網(wǎng)絡(luò)器件,所述傳送的信息供所述后備網(wǎng)絡(luò)器件在所述一個網(wǎng)絡(luò)器件失效時承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù)之用;及自至少一個網(wǎng)絡(luò)器件中接收信息,所述至少一個網(wǎng)絡(luò)器件遠離已經(jīng)選擇所述一個網(wǎng)絡(luò)器件作為其后備以便成為一個主網(wǎng)絡(luò)器件的所述一個網(wǎng)絡(luò)器件,所述接收的信息供所述一個網(wǎng)絡(luò)器件在主網(wǎng)絡(luò)器件失效時承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)時使用。
2.權(quán)利要求1的方法,其中所述至少一個后備網(wǎng)絡(luò)器件包括N個后備器件,其中所述至少一個主網(wǎng)絡(luò)器件包括N個主器件,N是大于或等于一的整數(shù)。
3.權(quán)利要求2的方法,其中所述選擇操作是基于所述一個網(wǎng)絡(luò)器件的可靠性和所述N個后備器件中的每一個的可靠性的。
4.權(quán)利要求3的方法,其中所述多個網(wǎng)絡(luò)器件由一個網(wǎng)絡(luò)互連,其中一個網(wǎng)絡(luò)器件的可靠性包括該網(wǎng)絡(luò)器件能夠與所述網(wǎng)絡(luò)之外的一個器件建立一個連接的概率。
5.權(quán)利要求3的方法,其中所述選擇操作包括將所述多個網(wǎng)絡(luò)器件劃分為M個預(yù)期后備組,一個預(yù)期后備組中的每個網(wǎng)絡(luò)器件具有相同可靠性,M是大于或等于一的整數(shù);選擇具有最高可靠性的預(yù)期后備組作為當(dāng)前預(yù)期后備組;將當(dāng)前后備級別設(shè)置為第一后備級別,所述后備級別標(biāo)示一個相對順序,當(dāng)所述后備網(wǎng)絡(luò)器件被指定為其后備的特定網(wǎng)絡(luò)器件失效時以及當(dāng)被指定為所述特定網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件的所有其它處于較低后備級別的網(wǎng)絡(luò)器件失效時,一個后備網(wǎng)絡(luò)器件將相對于所述其它后備網(wǎng)絡(luò)器件承擔(dān)所述特定網(wǎng)絡(luò)器件的任務(wù);按照被指定者網(wǎng)絡(luò)器件可靠性的上升順序,在當(dāng)前后備級別上,把來自當(dāng)前預(yù)期后備組的網(wǎng)絡(luò)器件指定給所述多個網(wǎng)絡(luò)器件,從而在當(dāng)前后備級別上沒有一個網(wǎng)絡(luò)器件是多于一個后備網(wǎng)絡(luò)器件的被指定者,直至以下情況之一(a)當(dāng)前預(yù)期后備組中的每個網(wǎng)絡(luò)器件已經(jīng)被N次指定為后備網(wǎng)絡(luò)器件;或(b)所述多個網(wǎng)絡(luò)器件中的每一個是在當(dāng)前后備級別上的一個后備網(wǎng)絡(luò)器件的一個被指定者。
6.權(quán)利要求5的方法,在出現(xiàn)(a)的情況時還包括按照可靠性的下降順序選擇另一個預(yù)期后備組作為當(dāng)前預(yù)期后備組;及重復(fù)所述指定操作。
7.權(quán)利要求6的方法,還包括重復(fù)所述選擇操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件的一個被指定者。
8.權(quán)利要求5的方法,在出現(xiàn)(b)的情況時還包括如果當(dāng)前后備級別小于N,則將當(dāng)前后備級別增量至下一個后備級別;及重復(fù)所述指定操作。
9.權(quán)利要求8的方法,還包括重復(fù)所述增量操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件中的一個被指定者。
10.權(quán)利要求1的方法,還包括當(dāng)在所述一個網(wǎng)絡(luò)器件處檢測到所述保持的信息的變化時,將所述變化發(fā)送至所述N個后備網(wǎng)絡(luò)器件中的每一個。
11.權(quán)利要求1的方法,還包括當(dāng)從一個主網(wǎng)絡(luò)器件接收一個從所述主網(wǎng)絡(luò)器件接收的信息發(fā)生變化的標(biāo)示,將所述變化包括入所述收到的信息內(nèi)。
12.權(quán)利要求5的方法,還包括在檢測到一個主網(wǎng)絡(luò)器件失效時,承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)。
13.權(quán)利要求12的方法,其中所述承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)的條件是檢測到被指定為在比所述一個網(wǎng)絡(luò)器件較低后備級別上的相同主網(wǎng)絡(luò)器件的后備的每個其它后備網(wǎng)絡(luò)器件的失效。
14.權(quán)利要求12的方法,還包括在承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)之后,跟蹤來自所述主網(wǎng)絡(luò)器件的所接收信息的任何變化。
15.權(quán)利要求14的方法,還包括,在所述主網(wǎng)絡(luò)器件的所接收信息發(fā)生變化時標(biāo)識被指定給所述主網(wǎng)絡(luò)器件的任何其它后備網(wǎng)絡(luò)器件;及將所述變化發(fā)送至被指定給所述主網(wǎng)絡(luò)器件的所述其它后備網(wǎng)絡(luò)器件。
16.權(quán)利要求14的方法,還包括,在檢測到所述主網(wǎng)絡(luò)器件有效時將所述主網(wǎng)絡(luò)器件的任務(wù)給與所述主網(wǎng)絡(luò)器件;及把從所述主網(wǎng)絡(luò)器件的接收信息的任何變化發(fā)送至所述主網(wǎng)絡(luò)器件。
17.權(quán)利要求1的方法,還包括,當(dāng)所述一個網(wǎng)絡(luò)器件失效一段時間后又能工作時接收來自所述后備網(wǎng)絡(luò)器件中的一個的所述所保持信息的變化;及將所述變化包括入所述所保持信息中。
18.權(quán)利要求2的方法,其中所述選擇操作包括標(biāo)識一個被指定給一個遠離所述一個網(wǎng)絡(luò)器件的主網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件;傳送一個通信,使得所述被標(biāo)識的后備網(wǎng)絡(luò)器件從所述主網(wǎng)絡(luò)器件被撤銷指定;及要求所述后備網(wǎng)絡(luò)器件作為所述一個網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件。
19.權(quán)利要求18的方法,其中所述標(biāo)識操作基于所述后備網(wǎng)絡(luò)器件的可靠性。
20.權(quán)利要求18的方法,還包括N次重復(fù)所述標(biāo)識操作、所述發(fā)送操作和所述要求操作。
21.權(quán)利要求1的方法,其中所述網(wǎng)絡(luò)器件是能夠啟動和接受呼叫的終端機,以及其中失效包括無能力接受一個輸入呼叫。
22.權(quán)利要求21的方法,還包括確定一個被建議的目的網(wǎng)絡(luò)器件是否有效;及基于所述確定操作而啟動一個呼叫。
23.權(quán)利要求22的方法,其中所述啟動一個呼叫包括,如果所述確定操作確定所述被建議的目的網(wǎng)絡(luò)器件失效,則標(biāo)識所述被建議的目的網(wǎng)絡(luò)器件的一個后備網(wǎng)絡(luò)器件;及啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫。
24.權(quán)利要求23的方法,其中所述啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫的條件是確定所述被標(biāo)識的后備網(wǎng)絡(luò)器件是有效的。
25.權(quán)利要求24的方法,還包括重復(fù)所述標(biāo)識操作和所述啟動操作,或者直至一個被標(biāo)識的后備網(wǎng)絡(luò)器件被發(fā)現(xiàn)為有效,或者直至確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件。
26.權(quán)利要求25的方法,還包括,如果確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件,則在所述一個網(wǎng)絡(luò)器件處接受所述呼叫。
27.多個網(wǎng)絡(luò)器件中的一個網(wǎng)絡(luò)器件,適用于;選擇所述多個網(wǎng)絡(luò)器件中的至少一個其它網(wǎng)絡(luò)器件作為所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作導(dǎo)致選擇至少一個后備網(wǎng)絡(luò)器件;傳送由所述一個網(wǎng)絡(luò)器件所保持的信息至每個所述后備網(wǎng)絡(luò)器件,所述傳送的信息供所述后備網(wǎng)絡(luò)器件在所述一個網(wǎng)絡(luò)器件失效時承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù)之用;及從至少一個網(wǎng)絡(luò)器件接收信息,所述至少一個網(wǎng)絡(luò)器件遠離已經(jīng)選擇所述一個網(wǎng)絡(luò)器件作為其后備以便成為一個主網(wǎng)絡(luò)器件的所述一個網(wǎng)絡(luò)器件,所述接收的信息供所述一個網(wǎng)絡(luò)器件在主網(wǎng)絡(luò)器件失效時承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)之用。
28.權(quán)利要求27的網(wǎng)絡(luò)器件,其中所述至少一個后備網(wǎng)絡(luò)器件包括N個后備器件,以及其中所述至少一個主網(wǎng)絡(luò)器件包括N個主器件,N是大于或等于一的整數(shù)。
29.權(quán)利要求28的網(wǎng)絡(luò)器件,其中所述選擇操作是基于所述一個網(wǎng)絡(luò)器件的可靠性和所述N個后備器件中的每一個的可靠性的。
30.權(quán)利要求29的網(wǎng)絡(luò)器件,其中所述多個網(wǎng)絡(luò)器件由一個網(wǎng)絡(luò)互連,以及其中一個網(wǎng)絡(luò)器件的可靠性包括該網(wǎng)絡(luò)器件能夠與所述網(wǎng)絡(luò)之外的一個器件建立一個連接的概率。
31.權(quán)利要求29的網(wǎng)絡(luò)器件,其中所述選擇操作包括將所述多個網(wǎng)絡(luò)器件劃分為M個預(yù)期后備組,一個預(yù)期后備組中的每個網(wǎng)絡(luò)器件具有相同可靠性,M是大于或等于一的整數(shù);選擇具有最高可靠性的預(yù)期后備組作為當(dāng)前預(yù)期后備組;將當(dāng)前后備級別設(shè)置為第一后備級別,所述后備級別標(biāo)明一個相對順序,當(dāng)所述后備網(wǎng)絡(luò)器件被指定為其后備的特定網(wǎng)絡(luò)器件失效時以及當(dāng)被指定為所述特定網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件的所有其它處于較低后備級別的網(wǎng)絡(luò)器件失效時,一個后備網(wǎng)絡(luò)器件將相對于所述其它后備網(wǎng)絡(luò)器件承擔(dān)所述特定網(wǎng)絡(luò)器件的任務(wù);按照被指定者網(wǎng)絡(luò)器件可靠性的上升順序,在當(dāng)前后備級別上,把來自當(dāng)前預(yù)期后備組的網(wǎng)絡(luò)器件指定給所述多個網(wǎng)絡(luò)器件,從而在當(dāng)前后備級別上沒有一個網(wǎng)絡(luò)器件是多于一個后備網(wǎng)絡(luò)器件的被指定者,直至以下情況之一(a)當(dāng)前預(yù)期后備組中的每個網(wǎng)絡(luò)器件已經(jīng)被N次指定為后備網(wǎng)絡(luò)器件;或(b)所述多個網(wǎng)絡(luò)器件中的每一個是在當(dāng)前后備級別上的一個后備網(wǎng)絡(luò)器件的一個被指定者。
32.權(quán)利要求31的網(wǎng)絡(luò)器件,還適用于在出現(xiàn)(a)的情況時按照可靠性的下降順序選擇另一個預(yù)期后備組作為當(dāng)前預(yù)期后備組;及重復(fù)所述指定操作。
33.權(quán)利要求32的網(wǎng)絡(luò)器件,還適用于重復(fù)所述選擇操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件的一個被指定者。
34.權(quán)利要求31的網(wǎng)絡(luò)器件,還適用于在出現(xiàn)(b)的情況時如果當(dāng)前后備級別小于N,則將當(dāng)前后備級別增量至下一個后備級別;及重復(fù)所述指定操作。
35.權(quán)利要求34的網(wǎng)絡(luò)器件,還適用于重復(fù)所述增量操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件的一個被指定者。
36.權(quán)利要求27的網(wǎng)絡(luò)器件,還適用于當(dāng)在所述一個網(wǎng)絡(luò)器件處檢測到所述被保持的信息的變化時,將所述變化發(fā)送至所述N個后備網(wǎng)絡(luò)器件中的每一個。
37.權(quán)利要求27的網(wǎng)絡(luò)器件,還適用于當(dāng)從一個主網(wǎng)絡(luò)器件接收到一個從所述主網(wǎng)絡(luò)器件接收的信息發(fā)生變化的標(biāo)示,將所述變化包括入所述接收到的信息中。
38.權(quán)利要求31的網(wǎng)絡(luò)器件,還適用于在檢測到一個主網(wǎng)絡(luò)器件失效時,承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)。
39.權(quán)利要求38的網(wǎng)絡(luò)器件,其中所述承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)的條件是檢測到被指定為在比所述一個網(wǎng)絡(luò)器件較低后備級別上的相同主網(wǎng)絡(luò)器件的后備的每個其它后備網(wǎng)絡(luò)器件的失效。
40.權(quán)利要求38的網(wǎng)絡(luò)器件,還適用于在承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)之后,跟蹤來自所述主網(wǎng)絡(luò)器件的所接受信息的任何變化。
41.權(quán)利要求40的網(wǎng)絡(luò)器件,還適用于,在所述主網(wǎng)絡(luò)器件的所接收信息發(fā)生變化時標(biāo)識被指定給所述主網(wǎng)絡(luò)器件的任何其它后備網(wǎng)絡(luò)器件;及將所述變化發(fā)送至被指定給所述主網(wǎng)絡(luò)器件的所述其它后備網(wǎng)絡(luò)器件。
42.權(quán)利要求40的網(wǎng)絡(luò)器件,還適用于,在檢測到所述主網(wǎng)絡(luò)器件有效時將所述主網(wǎng)絡(luò)器件的任務(wù)給與所述主網(wǎng)絡(luò)器件;及把來自所述主網(wǎng)絡(luò)器件的所接收信息的任何變化發(fā)送至所述主網(wǎng)絡(luò)器件。
43.權(quán)利要求27的網(wǎng)絡(luò)器件,還適用于,當(dāng)所述一個網(wǎng)絡(luò)器件失效一段時間后又能工作時接收來自所述后備網(wǎng)絡(luò)器件中的一個的所述被保持信息的變化;及將所述變化包括入所述被保持信息中。
44.權(quán)利要求28的網(wǎng)絡(luò)器件,其中所述選擇操作包括標(biāo)識一個被指定給一個遠離所述一個網(wǎng)絡(luò)器件的主網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件;發(fā)送一個通信,使得所述被標(biāo)識的后備網(wǎng)絡(luò)器件從所述主網(wǎng)絡(luò)器件被撤銷指定;及要求所述后備網(wǎng)絡(luò)器件作為所述一個網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件。
45.權(quán)利要求44的網(wǎng)絡(luò)器件,其中所述標(biāo)識操作基于所述后備網(wǎng)絡(luò)器件的可靠性。
46.權(quán)利要求44的網(wǎng)絡(luò)器件,還適用于N次重復(fù)所述標(biāo)識操作、所述發(fā)送操作和所述要求操作。
47.權(quán)利要求27的網(wǎng)絡(luò)器件,其中所述網(wǎng)絡(luò)器件是能夠啟動和接受呼叫的終端機,以及其中失效包括無能力接受一個輸入呼叫。
48.權(quán)利要求47的網(wǎng)絡(luò)器件,還適用于確定一個被建議的目的網(wǎng)絡(luò)器件是否有效;及基于所述確定操作而啟動一個呼叫。
49.權(quán)利要求48的網(wǎng)絡(luò)器件,其中所述啟動一個呼叫的操作包括,如果所述確定操作確定所述被建議的目的網(wǎng)絡(luò)器件失效,則標(biāo)識所述被建議的目的網(wǎng)絡(luò)器件的一個后備網(wǎng)絡(luò)器件;及啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫。
50.權(quán)利要求49的網(wǎng)絡(luò)器件,其中所述啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫的條件是確定所述被確認(rèn)的后備網(wǎng)絡(luò)器件是有效的。
51.權(quán)利要求50的網(wǎng)絡(luò)器件,還適用于重復(fù)所述標(biāo)識操作和所述啟動操作,或者直至一個被標(biāo)識的后備網(wǎng)絡(luò)器件被發(fā)現(xiàn)為有效,或者直至確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件。
52.權(quán)利要求51的網(wǎng)絡(luò)器件,還適用于,如果確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件,則在所述一個網(wǎng)絡(luò)器件處接受所述呼叫。
53.一種包括用于在多個網(wǎng)絡(luò)器件中的一個網(wǎng)絡(luò)器件處執(zhí)行的機器可執(zhí)行代碼的機器可讀媒體,包括機器可執(zhí)行代碼,用于在所述多個網(wǎng)絡(luò)器件中選擇至少一個其它網(wǎng)絡(luò)器件用作所述一個網(wǎng)絡(luò)器件的后備,所述選擇操作的結(jié)果是選擇至少一個后備網(wǎng)絡(luò)器件;機器可執(zhí)行代碼,用于將由所述一個網(wǎng)絡(luò)器件保持的信息發(fā)送至每個所述后備網(wǎng)絡(luò)器件,當(dāng)所述一個網(wǎng)絡(luò)器件失效時,由所述后備網(wǎng)絡(luò)器件使用所述發(fā)送的信息以便承擔(dān)所述一個網(wǎng)絡(luò)器件的任務(wù);及機器可執(zhí)行代碼,用于從至少一個網(wǎng)絡(luò)器件中接收信息,所述至少一個網(wǎng)絡(luò)器件遠離已經(jīng)選擇所述一個網(wǎng)絡(luò)器件作為其后備以便成為一個主網(wǎng)絡(luò)器件的所述一個網(wǎng)絡(luò)器件,所述接收的信息供所述一個網(wǎng)絡(luò)器件在主網(wǎng)絡(luò)器件失效時承擔(dān)主網(wǎng)絡(luò)器件的任務(wù)時使用。
54.權(quán)利要求53的機器可讀媒體,其中所述至少一個后備網(wǎng)絡(luò)器件包括N個后備器件以及其中所述至少一個主網(wǎng)絡(luò)器件包括N個主器件,N是大于或等于一的整數(shù)。
55.權(quán)利要求54的機器可讀媒體,其中所述選擇操作是基于所述一個網(wǎng)絡(luò)器件的可靠性和所述N個后備器件中的每一個的可靠性的。
56.權(quán)利要求55的機器可讀媒體,其中所述多個網(wǎng)絡(luò)器件由一個網(wǎng)絡(luò)互連,以及其中一個網(wǎng)絡(luò)器件的可靠性包括該網(wǎng)絡(luò)器件能夠與所述網(wǎng)絡(luò)之外的一個器件建立一個連接的概率。
57.權(quán)利要求55的機器可讀媒體,其中所述選擇操作包括將所述多個網(wǎng)絡(luò)器件劃分為M個預(yù)期后備組,一個預(yù)期后備組中的每個網(wǎng)絡(luò)器件具有相同可靠性,M是大于或等于一的整數(shù);選擇具有最高可靠性的預(yù)期后備組作為當(dāng)前預(yù)期后備組;將當(dāng)前后備級別設(shè)置為第一后備級別,所述后備級別標(biāo)明一個相對順序,其中當(dāng)所述后備網(wǎng)絡(luò)器件被指定為其后備的特定網(wǎng)絡(luò)器件失效時以及當(dāng)被指定為所述特定網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件的所有其它處于較低后備級別的網(wǎng)絡(luò)器件失效時,一個后備網(wǎng)絡(luò)器件將相對于所述其它后備網(wǎng)絡(luò)器件承擔(dān)所述具體網(wǎng)絡(luò)器件的任務(wù);按照被指定者網(wǎng)絡(luò)器件可靠性的上升順序,在當(dāng)前后備級別上,把來自當(dāng)前預(yù)期后備組的網(wǎng)絡(luò)器件指定給所述多個網(wǎng)絡(luò)器件,從而在當(dāng)前后備級別上沒有一個網(wǎng)絡(luò)器件是多于一個后備網(wǎng)絡(luò)器件的被指定者,直至以下情況之一(a)當(dāng)前預(yù)期后備組中的每個網(wǎng)絡(luò)器件已經(jīng)被N次指定為后備網(wǎng)絡(luò)器件;或(b)所述多個網(wǎng)絡(luò)器件中的每一個是在當(dāng)前后備級別上的一個后備網(wǎng)絡(luò)器件的一個被指定者。
58.權(quán)利要求57的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在出現(xiàn)(a)的情況時按照可靠性的下降順序選擇另一個預(yù)期后備組作為當(dāng)前預(yù)期后備組;及重復(fù)所述指定操作。
59.權(quán)利要求58的機器可讀媒體,還包括機器可執(zhí)行代碼,用于重復(fù)所述選擇操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件的一個被指定者。
60.權(quán)利要求57的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在出現(xiàn)(b)的情況時如果當(dāng)前后備級別小于N,則將當(dāng)前后備級別增量至下一個后備級別;及重復(fù)所述指定操作。
61.權(quán)利要求60的機器可讀媒體,還包括機器可執(zhí)行代碼,用于重復(fù)所述增量操作和所述重復(fù)操作,直至所述多個網(wǎng)絡(luò)器件中的每一個是N個后備網(wǎng)絡(luò)器件中的一個被指定者。
62.權(quán)利要求53的機器可讀媒體,還包括機器可執(zhí)行代碼,用于當(dāng)在所述一個網(wǎng)絡(luò)器件處檢測到所述被保持的信息的變化時,將所述變化發(fā)送至每個所述N個后備網(wǎng)絡(luò)器件中的每一個。
63.權(quán)利要求53的機器可讀媒體,還包括機器可執(zhí)行代碼,用于當(dāng)從一個主網(wǎng)絡(luò)器件接收到一個從所述主網(wǎng)絡(luò)器件中接收的信息發(fā)生變化的標(biāo)示時,將所述變化包括入所述接收到的信息內(nèi)。
64.權(quán)利要求57的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在檢測到一個主網(wǎng)絡(luò)器件失效時,承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)。
65.權(quán)利要求64的機器可讀媒體,其中所述承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)的條件是檢測到被指定為在比所述一個網(wǎng)絡(luò)器件較低后備級別上的相同主網(wǎng)絡(luò)器件的后備的每個其它后備網(wǎng)絡(luò)器件的失效。
66.權(quán)利要求64的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在承擔(dān)所述主網(wǎng)絡(luò)器件的任務(wù)之后,跟蹤來自所述主網(wǎng)絡(luò)器件的所接收信息的任何變化。
67.權(quán)利要求66的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在所述主網(wǎng)絡(luò)器件的所接收信息發(fā)生變化時標(biāo)識被指定給所述主網(wǎng)絡(luò)器件的任何其它后備網(wǎng)絡(luò)器件;及將所述變化發(fā)送至所述其它被指定給所述主網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件。
68.權(quán)利要求66的機器可讀媒體,還包括機器可執(zhí)行代碼,用于在檢測到所述主網(wǎng)絡(luò)器件有效時將所述主網(wǎng)絡(luò)器件的任務(wù)給與所述主網(wǎng)絡(luò)器件;及把來自所述主網(wǎng)絡(luò)器件的所接收信息的任何變化發(fā)送至所述主網(wǎng)絡(luò)器件。
69.權(quán)利要求53的機器可讀媒體,還包括機器可執(zhí)行代碼,用于當(dāng)所述一個網(wǎng)絡(luò)器件失效一段時間后又能工作時接收來自所述后備網(wǎng)絡(luò)器件中的一個的所述被保持信息的變化;及將所述變化包括入所述被保持信息中。
70.權(quán)利要求54的機器可讀媒體,其中所述選擇操作包括標(biāo)識一個被指定給一個遠離所述一個網(wǎng)絡(luò)器件的主網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件;發(fā)送一個通信消息,使得所述被標(biāo)識的后備網(wǎng)絡(luò)器件從所述主網(wǎng)絡(luò)器件被撤銷指定;及要求所述后備網(wǎng)絡(luò)器件作為所述一個網(wǎng)絡(luò)器件的后備網(wǎng)絡(luò)器件。
71.權(quán)利要求70的機器可讀媒體,其中所述標(biāo)識操作基于所述后備網(wǎng)絡(luò)器件的可靠性。
72.權(quán)利要求70的機器可讀媒體,還包括機器可執(zhí)行代碼,用于N次重復(fù)所述標(biāo)識操作、所述發(fā)送操作和所述要求操作。
73.權(quán)利要求53的機器可讀媒體,其中所述網(wǎng)絡(luò)器件是能夠啟動和接受呼叫的終端機,以及其中失效包括無能力接受一個輸入呼叫。
74.權(quán)利要求73的機器可讀媒體,還包括機器可執(zhí)行代碼,用于確定一個被建議的目的網(wǎng)絡(luò)器件是否有效;及基于所述確定操作而啟動一個呼叫。
75.權(quán)利要求74的機器可讀媒體,其中所述啟動一個呼叫的操作包括,如果所述確定操作確定所述被建議的目的網(wǎng)絡(luò)器件失效,則標(biāo)識所述被建議的目的網(wǎng)絡(luò)器件的一個后備網(wǎng)絡(luò)器件;及啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫。
76.權(quán)利要求75的機器可讀媒體,其中所述啟動一個對所述被標(biāo)識的后備網(wǎng)絡(luò)器件的呼叫的條件是確定所述被標(biāo)識的后備網(wǎng)絡(luò)器件是有效的。
77.權(quán)利要求76的機器可讀媒體,還包括機器可執(zhí)行代碼,用于重復(fù)所述標(biāo)識操作和所述啟動操作,或者直至一個被標(biāo)識的后備網(wǎng)絡(luò)器件被發(fā)現(xiàn)為有效,或者直至確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件。
78.權(quán)利要求77的機器可讀媒體,還包括機器可執(zhí)行代碼,如果確定所述被建議的目的網(wǎng)絡(luò)器件沒有任何可用的后備網(wǎng)絡(luò)器件,則用于在所述一個網(wǎng)絡(luò)器件處接受所述呼叫。
全文摘要
一個網(wǎng)絡(luò)器件選擇至少一個其它網(wǎng)絡(luò)器件作為其后備,并發(fā)送信息,以便當(dāng)它本身失效時,供該(這些)后備網(wǎng)絡(luò)器件承擔(dān)失效網(wǎng)絡(luò)器件的任務(wù)之用。網(wǎng)絡(luò)器件也從至少一個已經(jīng)選擇它作為后備器件的網(wǎng)絡(luò)器件接收信息,以便在該選擇它的器件失效時承擔(dān)選擇它的器件的任務(wù)。每個網(wǎng)絡(luò)器件可以用作其它器件的后備,這些器件的數(shù)量可以和該網(wǎng)絡(luò)器件的后備的數(shù)量相等。后備器件的選擇可以基于器件可靠性。在一個實施例中,每個網(wǎng)絡(luò)器件具有一個主后備和輔后備。當(dāng)該網(wǎng)絡(luò)器件失效時,主后備承擔(dān)網(wǎng)絡(luò)器件的任務(wù),而當(dāng)網(wǎng)絡(luò)器件及其主后備兩者都失效時,輔后備承擔(dān)網(wǎng)絡(luò)器件的任務(wù)。
文檔編號G06F11/00GK1894936SQ200480034247
公開日2007年1月10日 申請日期2004年11月22日 優(yōu)先權(quán)日2003年11月21日
發(fā)明者貝若茲·保斯特奇, 納塔莉·A.·加格諾恩, 詹妮弗·貝爾 申請人:尼姆凱特網(wǎng)絡(luò)公司