(57)【要約】１つのネットワーク装置が、他の少なくとも１つのネットワーク装置をそれ自体のバックアップとして選択し、それ自体が使用不能なときに、そのネットワーク装置の役割を１つ（または複数）のバックアップ・ネットワーク装置が果たす際に使用される情報を通信する。このネットワーク装置はまた、これをそれ自体のバックアップ装置として選択した、少なくとも１つのネットワーク装置から、その１つ（または複数）の選択元の装置が使用不能なときに、その１つ（または複数）の選択元の装置の役割を果たす際に使用する情報を受信する。各ネットワーク装置は、それがバックアップとして有するのと同じ数の装置のバックアップとして働くことができる。バックアップ装置の選択は、装置の信頼性に基づくものであってよい。一実施形態では、各ネットワーク装置は、１次および２次バックアップを有する。１次バックアップは、ネットワーク装置が使用不能になったときに、ネットワーク装置の役割を果たし、２次バックアップは、ネットワーク装置とその１次バックアップがどちらも使用不能であるときに、ネットワーク装置の役割を果たす。
2007516668.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワーク装置のうちの１つのネットワーク装置において、
前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択する工程であって、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択される工程と、
前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信する工程であって、通信された前記情報は、前記１つのネットワーク装置が使用不能であるときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用される工程と、
マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信する工程であって、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用される工程と
を含む方法。
【請求項２】
前記少なくとも１つのバックアップ・ネットワーク装置は、Ｎ個のバックアップ装置を備え、少なくとも１つの前記マスタ・ネットワーク装置は、Ｎ個のマスタ装置を備え、Ｎは、１以上の整数である、請求項１に記載の方法。
【請求項３】
前記選択する工程は、前記１つのネットワーク装置の信頼性と、前記Ｎ個のバックアップ装置のそれぞれの信頼性とに基づく、請求項２に記載の方法。
【請求項４】
前記複数のネットワーク装置は、ネットワークによって相互接続され、ネットワーク装置の前記信頼性は、前記ネットワークの外部の装置との接続をそのネットワーク装置が確立できる蓋然性を含む、請求項３に記載の方法。
【請求項５】
前記選択する工程は、
前記複数のネットワーク装置を、見込まれるバックアップのプール内の各ネットワーク装置が同じ信頼性を有し、Ｍを１以上の整数とする、見込まれるバックアップのＭ個のプールにグループ化する工程と、
見込まれるバックアップの現在のプールとして、最も信頼性の高い見込まれるバックアップのプールを選出する工程と、
現在のバックアップ・レベルを第１のバックアップ・レベルにセットする工程であって、前記バックアップ・レベルは、バックアップ・ネットワーク装置が割り当てられている特定のネットワーク装置が使用不能な場合、ならびに前記特定のネットワーク装置にバックアップ・ネットワーク装置として割り当てられている、より低いバックアップ・レベルの他のネットワーク装置がすべて使用不能な場合に、前記他のバックアップ・ネットワーク装置に関連する前記特定のネットワーク装置の役割を、前記バックアップ・ネットワーク装置が果たすことになる相対順序を示す工程と、
どのネットワーク装置も前記現在のバックアップ・レベルの２つ以上のバックアップ・ネットワーク装置の割当て先とならないように、割当て先のネットワーク装置の信頼性の昇順に、
（ａ）前記見込まれるバックアップの現在のプール内のあらゆるネットワーク装置が、バックアップ・ネットワーク装置としてＮ回割り当てられるまで、あるいは、
（ｂ）前記複数のネットワーク装置のそれぞれが、前記現在のバックアップ・レベルのバックアップ・ネットワーク装置の割当て先となるまで、前記見込まれるバックアップの現在のプールからの前記現在のバックアップ・レベルのネットワーク装置を、前記複数のネットワーク装置に割り当てる工程とを含む、
請求項３に記載の方法。
【請求項６】
前記（ａ）が発生したときは、
前記見込まれるバックアップの現在のプールとして、信頼性の降順に、見込まれるバックアップの別のプールを選出する工程と、
前記割当てを繰り返す工程とをさらに含む、
請求項５に記載の方法。
【請求項７】
前記複数のネットワーク装置のそれぞれがＮ個のバックアップ・ネットワーク装置の割当て先となるまで、前記選出する工程と、前記繰り返す工程とを繰り返す工程をさらに含む、
請求項６に記載の方法。
【請求項８】
前記（ｂ）が発生したときは、
前記現在のバックアップ・レベルがＮ未満である場合は、前記現在のバックアップ・レベルを次のバックアップ・レベルに増分する工程と、
前記割当てを繰り返す工程とをさらに含む、
請求項５に記載の方法。
【請求項９】
前記複数のネットワーク装置のそれぞれが、Ｎ個のバックアップ・ネットワーク装置の割当て先となるまで、前記増分する工程と、前記繰り返す工程とを繰り返す工程をさらに含む、
請求項８に記載の方法。
【請求項１０】
前記１つのネットワーク装置の維持している前記情報に対する変更が検出されたときは、前記変更を、前記Ｎ個のバックアップ・ネットワーク装置のそれぞれに通信する工程をさらに含む、請求項１に記載の方法。
【請求項１１】
マスタ・ネットワーク装置から受信された情報に対する変更の指示を、前記マスタ・ネットワーク装置から受信したときは、前記変更を、前記受信された情報に組み込む工程をさらに含む、請求項１に記載の方法。
【請求項１２】
マスタ・ネットワーク装置が使用不能であることが検出されたときに、前記マスタ・ネットワーク装置の役割を果たす工程をさらに含む、請求項５に記載の方法。
【請求項１３】
前記マスタ・ネットワーク装置の役割を果たす前記工程は、同じマスタ・ネットワーク装置にバックアップとして割り当てられている、前記１つのネットワーク装置よりもバックアップ・レベルの低い他のあらゆるバックアップ・ネットワーク装置が使用不能であることが検出されることを条件とする、請求項１２に記載の方法。
【請求項１４】
前記マスタ・ネットワーク装置の役割を果たすようになった後に、前記マスタ・ネットワーク装置から受信された情報に対して変更があった場合は、その変更を追跡する工程をさらに含む、請求項１２に記載の方法。
【請求項１５】
前記マスタ・ネットワーク装置の前記受信された情報に対する変更が発生したときに、
前記マスタ・ネットワーク装置に割り当てられている他のバックアップ・ネットワーク装置がある場合は、その他のバックアップ・ネットワーク装置を識別する工程と、
前記マスタ・ネットワーク装置に割り当てられている前記他のバックアップ・ネットワーク装置に、前記変更を通信する工程とをさらに含む、
請求項１４に記載の方法。
【請求項１６】
前記マスタ・ネットワーク装置が使用可能であることが検出されたときは、
前記マスタ・ネットワーク装置の役割を前記マスタ・ネットワーク装置に譲る工程と、
前記マスタ・ネットワーク装置から受信された情報に対する変更があれば、その変更を前記マスタ・ネットワーク装置に通信する工程とをさらに含む、
請求項１４に記載の方法。
【請求項１７】
前記１つのネットワーク装置が使用不能期間の後、使用可能になったときは、
前記バックアップ・ネットワーク装置の１つから、前記維持している情報に対する変更を受信する工程と、
前記変更を前記維持している情報に組み込む工程とをさらに含む、
請求項１に記載の方法。
【請求項１８】
前記選択する工程は、
前記１つのネットワーク装置とは異なるマスタ・ネットワーク装置に割り当てられている、バックアップ・ネットワーク装置を識別する工程と、
前記マスタ・ネットワーク装置から、識別された前記バックアップ・ネットワーク装置の割当てを解除する通信を送信する工程と、
前記バックアップ・ネットワーク装置を、前記１つのネットワーク装置のバックアップ・ネットワーク装置として主張する工程とを含む、
請求項２に記載の方法。
【請求項１９】
前記識別する工程は、前記バックアップ・ネットワーク装置の信頼性に基づく、請求項１８に記載の方法。
【請求項２０】
前記識別する工程と、前記送信する工程と、前記主張する工程とをＮ回繰り返す工程をさらに含む、請求項１８に記載の方法。
【請求項２１】
前記ネットワーク装置は、呼を開始し受けることができる端末セットであり、使用不能状態は、着呼を受けることができない状態を含む、請求項１に記載の方法。
【請求項２２】
所期の宛先ネットワーク装置が使用可能であるかどうかを判定する工程と、
前記判定に基づいて呼を開始する工程とをさらに含む、
請求項２１に記載の方法。
【請求項２３】
前記判定する工程で前記所期の宛先ネットワーク装置が使用不能であると判定された場合は、前記呼を開始する工程は、
前記所期の宛先ネットワーク装置のバックアップ・ネットワーク装置を識別する工程と、
識別された前記バックアップ・ネットワーク装置に対する呼を開始する工程とを含む、
請求項２２に記載の方法。
【請求項２４】
識別された前記バックアップ・ネットワーク装置に対する呼を開始する前記工程は、識別された前記バックアップ・ネットワーク装置が使用可能であると判定されることを条件とする、請求項２３に記載の方法。
【請求項２５】
識別されたバックアップ・ネットワーク装置が使用可能であると分かるまで、あるいは前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定されるまで、前記識別する工程と、前記開始する工程とを繰り返す工程をさらに含む、請求項２４に記載の方法。
【請求項２６】
前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定された場合は、前記１つのネットワーク装置において前記呼を受ける工程をさらに含む、請求項２５に記載の方法。
【請求項２７】
複数のネットワーク装置のうちの１つのネットワーク装置であって、
前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択し、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択され、
前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信し、通信された前記情報は、前記１つのネットワーク装置が使用不能なときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用され、
マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信し、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用されるように適合された、
ネットワーク装置。
【請求項２８】
前記少なくとも１つのバックアップ・ネットワーク装置は、Ｎ個のバックアップ装置を備え、前記少なくとも１つのマスタ・ネットワーク装置は、Ｎ個のマスタ装置を備え、Ｎは、１以上の整数である、請求項２７に記載のネットワーク装置。
【請求項２９】
前記選択は、前記１つのネットワーク装置の信頼性と、前記Ｎ個のバックアップ装置のそれぞれの信頼性とに基づく、請求項２８に記載のネットワーク装置。
【請求項３０】
前記複数のネットワーク装置は、ネットワークによって相互接続され、ネットワーク装置の前記信頼性は、前記ネットワークの外部の装置との接続をそのネットワーク装置が確立できる蓋然性を含む、請求項２９に記載のネットワーク装置。
【請求項３１】
前記選択は、
前記複数のネットワーク装置を、見込まれるバックアップのプール内の各ネットワーク装置が同じ信頼性を有し、Ｍを１以上の整数とする、見込まれるバックアップのＭ個のプールにグループ化することと、
見込まれるバックアップの現在のプールとして、最も信頼性の高い見込まれるバックアップのプールを選出することと、
現在のバックアップ・レベルを第１のバックアップ・レベルにセットすることであって、前記バックアップ・レベルは、バックアップ・ネットワーク装置が割り当てられている特定のネットワーク装置が使用不能な場合、ならびに前記特定のネットワーク装置にバックアップ・ネットワーク装置として割り当てられている、より低いバックアップ・レベルの他のネットワーク装置がすべて使用不能な場合に、前記他のバックアップ・ネットワーク装置に関連する前記特定のネットワーク装置の役割を、前記バックアップ・ネットワーク装置が果たすことになる相対順序を示すことと、
どのネットワーク装置も前記現在のバックアップ・レベルの２つ以上のバックアップ・ネットワーク装置の割当て先とならないように、割当て先のネットワーク装置の信頼性の昇順に、
（ａ）前記見込まれるバックアップの現在のプール内のあらゆるネットワーク装置が、バックアップ・ネットワーク装置としてＮ回割り当てられるまで、あるいは、
（ｂ）前記複数のネットワーク装置のそれぞれが、前記現在のバックアップ・レベルのバックアップ・ネットワーク装置の割当て先となるまで、前記見込まれるバックアップの現在のプールからの前記現在のバックアップ・レベルのネットワーク装置を、前記複数のネットワーク装置に割り当てることとを含む、
請求項２９に記載のネットワーク装置。
【請求項３２】
前記（ａ）が発生したときは、
前記見込まれるバックアップの現在のプールとして、信頼性の降順に、見込まれるバックアップの別のプールを選出し、
前記割当てを繰り返すようにさらに適合された、
請求項３１に記載のネットワーク装置。
【請求項３３】
前記複数のネットワーク装置のそれぞれが、Ｎ個のバックアップ・ネットワーク装置の割当て先となるまで、前記選出と、前記繰返しとを繰り返すようにさらに適合された、
請求項３２に記載のネットワーク装置。
【請求項３４】
前記（ｂ）が発生したときは、
前記現在のバックアップ・レベルがＮ未満である場合は、前記現在のバックアップ・レベルを次のバックアップ・レベルに増分し、
前記割当てを繰り返すようにさらに適合された、
請求項３１に記載のネットワーク装置。
【請求項３５】
前記複数のネットワーク装置のそれぞれが、Ｎ個のバックアップ・ネットワーク装置の割当て先となるまで、前記増分と、前記繰返しとを繰り返すようにさらに適合された、
請求項３４に記載のネットワーク装置。
【請求項３６】
前記１つのネットワーク装置の維持している前記情報に対する変更が検出されたときは、前記変更を、前記Ｎ個のバックアップ・ネットワーク装置のそれぞれに通信するようにさらに適合された、請求項２７に記載のネットワーク装置。
【請求項３７】
マスタ・ネットワーク装置から受信された情報に対する変更の指示を、前記マスタ・ネットワーク装置から受信したときは、前記変更を、前記受信された情報に組み込むようにさらに適合された、請求項２７に記載のネットワーク装置。
【請求項３８】
マスタ・ネットワーク装置が使用不能であることが検出されたときは、前記マスタ・ネットワーク装置の役割を果たすようにさらに適合された、請求項３１に記載のネットワーク装置。
【請求項３９】
前記マスタ・ネットワーク装置の役割を果たすことは、同じマスタ・ネットワーク装置にバックアップとして割り当てられている、前記１つのネットワーク装置よりもバックアップ・レベルの低い他のあらゆるバックアップ・ネットワーク装置が使用不能であることが検出されることを条件とする、請求項３８に記載のネットワーク装置。
【請求項４０】
前記マスタ・ネットワーク装置の役割を果たすようになった後に、前記マスタ・ネットワーク装置から受信された情報に対して変更があった場合は、その変更を追跡するようにさらに適合された、請求項３８に記載のネットワーク装置。
【請求項４１】
前記マスタ・ネットワーク装置の前記受信された情報に対する変更が発生したときに、
前記マスタ・ネットワーク装置に割り当てられている他のバックアップ・ネットワーク装置がある場合は、その他のバックアップ・ネットワーク装置を識別し、
前記マスタ・ネットワーク装置に割り当てられている前記他のバックアップ・ネットワーク装置に、前記変更を通信するようにさらに適合された、
請求項４０に記載のネットワーク装置。
【請求項４２】
前記マスタ・ネットワーク装置が使用可能であることが検出されたときは、
前記マスタ・ネットワーク装置の役割を前記マスタ・ネットワーク装置に譲り、
前記マスタ・ネットワーク装置から受信された情報に対する変更があれば、その変更を前記マスタ・ネットワーク装置に通信するようにさらに適合された、
請求項４０に記載のネットワーク装置。
【請求項４３】
前記１つのネットワーク装置が使用不能期間の後、使用可能になったときは、
前記バックアップ・ネットワーク装置の１つから、前記維持している情報に対する変更を受信し、
前記変更を前記維持している情報に組み込むようにさらに適合された、
請求項２７に記載のネットワーク装置。
【請求項４４】
前記選択は、
前記１つのネットワーク装置とは異なるマスタ・ネットワーク装置に割り当てられている、バックアップ・ネットワーク装置を識別することと、
前記マスタ・ネットワーク装置から、識別された前記バックアップ・ネットワーク装置の割当てを解除する通信を送信することと、
前記バックアップ・ネットワーク装置を、前記１つのネットワーク装置のバックアップ・ネットワーク装置として主張することとを含む、
請求項２８に記載のネットワーク装置。
【請求項４５】
前記識別は、前記バックアップ・ネットワーク装置の信頼性に基づく、請求項４４に記載のネットワーク装置。
【請求項４６】
前記識別と、前記送信と、前記主張とをＮ回繰り返すようにさらに適合された、請求項４４に記載のネットワーク装置。
【請求項４７】
前記ネットワーク装置は、呼を開始し受けることができる端末セットであり、使用不能状態は、着呼を受けることができない状態を含む、請求項２７に記載のネットワーク装置。
【請求項４８】
所期の宛先ネットワーク装置が使用可能であるかどうかを判定し、
前記判定に基づいて呼を開始するようにさらに適合された、
請求項４７に記載のネットワーク装置。
【請求項４９】
前記判定で前記所期の宛先ネットワーク装置が使用不能であると判定された場合は、前記呼を開始することは、
前記所期の宛先ネットワーク装置のバックアップ・ネットワーク装置を識別することと、
識別された前記バックアップ・ネットワーク装置に対する呼を開始することとを含む、
請求項４８に記載のネットワーク装置。
【請求項５０】
識別された前記バックアップ・ネットワーク装置に対する前記呼を開始することは、識別された前記バックアップ・ネットワーク装置が使用可能であると判定されることを条件とする、請求項４９に記載のネットワーク装置。
【請求項５１】
識別されたバックアップ・ネットワーク装置が使用可能であると分かるまで、あるいは前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定されるまで、前記識別と、前記開始とを繰り返すようにさらに適合された、請求項５０に記載のネットワーク装置。
【請求項５２】
前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定された場合は、前記１つのネットワーク装置において前記呼を受けるようにさらに適合された、請求項５１に記載のネットワーク装置。
【請求項５３】
複数のネットワーク装置のうちの１つのネットワーク装置での実行を対象とするマシン実行可能なコードを含むマシン可読媒体であって、
前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択し、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択される、マシン実行可能なコードと、
前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信し、通信された前記情報は、前記１つのネットワーク装置が使用不能なときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用される、マシン実行可能なコードと、
マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信し、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用される、マシン実行可能なコードとを備える
マシン可読媒体。
【請求項５４】
前記少なくとも１つのバックアップ・ネットワーク装置は、Ｎ個のバックアップ装置を備え、前記少なくとも１つのマスタ・ネットワーク装置は、Ｎ個のマスタ装置を備え、Ｎは、１以上の整数である、請求項５３に記載のマシン可読媒体。
【請求項５５】
前記選択は、前記１つのネットワーク装置の信頼性と、前記Ｎ個のバックアップ装置のそれぞれの信頼性とに基づく、請求項５４に記載のマシン可読媒体。
【請求項５６】
前記複数のネットワーク装置は、ネットワークによって相互接続され、ネットワーク装置の前記信頼性は、前記ネットワークの外部の装置との接続をそのネットワーク装置が確立できる蓋然性を含む、請求項５５に記載のマシン可読媒体。
【請求項５７】
前記選択は、
前記複数のネットワーク装置を、見込まれるバックアップのプール内の各ネットワーク装置が同じ信頼性を有し、Ｍを１以上の整数とする、見込まれるバックアップのＭ個のプールにグループ化することと、
見込まれるバックアップの現在のプールとして、最も信頼性の高い見込まれるバックアップのプールを選出することと、
現在のバックアップ・レベルを第１のバックアップ・レベルにセットすることであって、前記バックアップ・レベルは、バックアップ・ネットワーク装置が割り当てられている特定のネットワーク装置が使用不能な場合、ならびに前記特定のネットワーク装置にバックアップ・ネットワーク装置として割り当てられている、より低いバックアップ・レベルの他のネットワーク装置がすべて使用不能な場合に、前記他のバックアップ・ネットワーク装置に関連する前記特定のネットワーク装置の役割を、前記バックアップ・ネットワーク装置が果たすことになる相対順序を示すことと、
どのネットワーク装置も前記現在のバックアップ・レベルの２つ以上のバックアップ・ネットワーク装置の割当て先とならないように、割当て先のネットワーク装置の信頼性の昇順に、
（ａ）前記見込まれるバックアップの現在のプール内のあらゆるネットワーク装置が、バックアップ・ネットワーク装置としてＮ回割り当てられるまで、あるいは、
（ｂ）前記複数のネットワーク装置のそれぞれが、前記現在のバックアップ・レベルのバックアップ・ネットワーク装置の割当て先となるまで、前記見込まれるバックアップの現在のプールからの前記現在のバックアップ・レベルのネットワーク装置を、前記複数のネットワーク装置に割り当てることとを含む、
請求項５５に記載のマシン可読媒体。
【請求項５８】
前記（ａ）が発生したときは、
前記見込まれるバックアップの現在のプールとして、信頼性の降順に、見込まれるバックアップの別のプールを選出し、
前記割当てを繰り返すためのマシン実行可能なコードをさらに備える、
請求項５７に記載のマシン可読媒体。
【請求項５９】
前記複数のネットワーク装置のそれぞれが、Ｎ個のバックアップ・ネットワーク装置の割当て先となるまで、前記選出と、前記繰返しとを繰り返すためのマシン実行可能なコードをさらに備える、
請求項５８に記載のマシン可読媒体。
【請求項６０】
前記（ｂ）が発生したときは、
前記現在のバックアップ・レベルがＮ未満である場合は、前記現在のバックアップ・レベルを次のバックアップ・レベルに増分し、
前記割当てを繰り返すためのマシン実行可能なコードをさらに備える、
請求項５７に記載のマシン可読媒体。
【請求項６１】
前記複数のネットワーク装置のそれぞれが、Ｎ個のバックアップ・ネットワーク装置の割当て先となるまで、前記増分と、前記繰返しとを繰り返すためのマシン実行可能なコードをさらに備える、
請求項６０に記載のマシン可読媒体。
【請求項６２】
前記１つのネットワーク装置の維持している前記情報に対する変更が検出されたときは、前記変更を、前記Ｎ個のバックアップ・ネットワーク装置のそれぞれに通信するためのマシン実行可能なコードをさらに備える、請求項５３に記載のマシン可読媒体。
【請求項６３】
マスタ・ネットワーク装置から受信された情報に対する変更の指示を、前記マスタ・ネットワーク装置から受信したときは、前記変更を、前記受信された情報に組み込むためのマシン実行可能なコードをさらに備える、請求項５３に記載のマシン可読媒体。
【請求項６４】
マスタ・ネットワーク装置が使用不能であることが検出されたときに、前記マスタ・ネットワーク装置の役割を果たすためのマシン実行可能なコードをさらに備える、請求項５７に記載のマシン可読媒体。
【請求項６５】
前記マスタ・ネットワーク装置の役割を果たすことは、同じマスタ・ネットワーク装置にバックアップとして割り当てられている、前記１つのネットワーク装置よりもバックアップ・レベルの低い他のあらゆるバックアップ・ネットワーク装置が使用不能であることが検出されることを条件とする、請求項６４に記載のマシン可読媒体。
【請求項６６】
前記マスタ・ネットワーク装置の役割を果たすようになった後に、前記マスタ・ネットワーク装置から受信された情報に対して変更があった場合は、その変更を追跡するためのマシン実行可能なコードをさらに備える、請求項６４に記載のマシン可読媒体。
【請求項６７】
前記マスタ・ネットワーク装置の前記受信された情報に対する変更が発生したときに、
前記マスタ・ネットワーク装置に割り当てられている他のバックアップ・ネットワーク装置がある場合は、その他のバックアップ・ネットワーク装置を識別し、
前記マスタ・ネットワーク装置に割り当てられている前記他のバックアップ・ネットワーク装置に、前記変更を通信するためのマシン実行可能なコードをさらに備える、
請求項６６に記載のマシン可読媒体。
【請求項６８】
前記マスタ・ネットワーク装置が使用可能であることが検出されたときは、
前記マスタ・ネットワーク装置の役割を前記マスタ・ネットワーク装置に譲り、
前記マスタ・ネットワーク装置から受信された情報に対する変更があれば、その変更を前記マスタ・ネットワーク装置に通信するためのマシン実行可能なコードをさらに備える、
請求項６６に記載のマシン可読媒体。
【請求項６９】
前記１つのネットワーク装置が使用不能期間の後、使用可能になったときは、
前記バックアップ・ネットワーク装置の１つから、前記維持している情報に対する変更を受信し、
前記変更を前記維持している情報に組み込むためのマシン実行可能なコードをさらに備える、
請求項５３に記載のマシン可読媒体。
【請求項７０】
前記選択は、
前記１つのネットワーク装置とは異なるマスタ・ネットワーク装置に割り当てられている、バックアップ・ネットワーク装置を識別することと、
前記マスタ・ネットワーク装置から、識別された前記バックアップ・ネットワーク装置の割当てを解除する通信を送信することと、
前記バックアップ・ネットワーク装置を、前記１つのネットワーク装置のバックアップ・ネットワーク装置として主張することとを含む、
請求項５４に記載のマシン可読媒体。
【請求項７１】
前記識別は、前記バックアップ・ネットワーク装置の信頼性に基づく、請求項７０に記載のマシン可読媒体。
【請求項７２】
前記識別と、前記送信と、前記主張とをＮ回繰り返すためのマシン実行可能なコードをさらに備える、請求項７０に記載のマシン可読媒体。
【請求項７３】
前記ネットワーク装置は、呼を開始し受けることができる端末セットであり、使用不能状態は、着呼を受けることができない状態を含む、請求項５３に記載のマシン可読媒体。
【請求項７４】
所期の宛先ネットワーク装置が使用可能であるかどうかを判定し、
前記判定に基づいて呼を開始するためのマシン実行可能なコードをさらに備える、
請求項７３に記載のマシン可読媒体。
【請求項７５】
前記判定で前記所期の宛先ネットワーク装置が使用不能であると判定された場合は、前記呼を開始することは、
前記所期の宛先ネットワーク装置のバックアップ・ネットワーク装置を識別することと、
識別された前記バックアップ・ネットワーク装置に対する呼を開始することとを含む、
請求項７４に記載のマシン可読媒体。
【請求項７６】
識別された前記バックアップ・ネットワーク装置に対する前記呼を開始することは、識別された前記バックアップ・ネットワーク装置が使用可能であると判定されることを条件とする、請求項７５に記載のマシン可読媒体。
【請求項７７】
識別されたバックアップ・ネットワーク装置が使用可能であると分かるまで、あるいは前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定されるまで、前記識別と、前記開始とを繰り返すためのマシン実行可能なコードをさらに備える、請求項７６に記載のマシン可読媒体。
【請求項７８】
前記所期の宛先ネットワーク装置が使用可能なバックアップ・ネットワーク装置を有していないと判定された場合は、前記１つのネットワーク装置において前記呼を受けるためのマシン実行可能なコードをさらに備える、請求項７７に記載のマシン可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、参照によりその内容が本明細書に組み込まれている、２００３年１１月２１日に出願された優先権仮出願第６０／５２３７０３号の利益を主張する。
【０００２】
本発明は、たとえば分散型ピア・ツー・ピア通信ネットワーク内でのピアのバックアップなど、ネットワーク装置のバックアップに関する。
【背景技術】
【０００３】
多くの知られている回線交換（ｃｉｒｃｕｉｔ−ｓｗｉｔｃｈｅｄ）またはパケット交換電話ソリューションでは、集中型の装置（たとえば、スイッチまたは構内交換機（ＰＢＸ））が、呼の終了、呼の処理、交換、および／または呼の対応機能を提供する。大規模なシステムでは、中央装置が、コンピュータに電話セットを接続するライン・カードと呼ばれる回路基板上でいくつかの機能を制御する、強力なコンピュータであることもある。小規模なシステム（たとえば、端末セットが１０個以下のシステム）では、中央の知能（ｉｎｔｅｌｌｉｇｅｎｃｅ）が実際に、中央の処理装置を保持するように特別に設計された「黄金の」電話セット内に所在していることもある。
【０００４】
中央装置のとる形態に関わらず、いくつかの端末セット（たとえば、有線または無線電話セット）は通常、中央装置に接続される。中央装置と比較すると、端末セットは通常「ダム（ｄｕｍｂ）」デバイスである。すなわち、端末セットは単に、フック・スイッチ情報およびキー・プレス（たとえば、デュアル・トーン多周波数すなわちＤＴＭＦトーン）を中央装置に送信し、ダイヤル・トーン、呼出音、音声信号など、中央装置からの信号を音に（あるいは、場合によっては画像またはビデオに）変換することしかできない。端末セットは通常、他のどんな端末セットの存在にも気付かず、別の端末セットとそれ自体を相互接続する固有の能力を有していない。
【０００５】
集中型電話システムでは、ネットワーク内での電話セットの管理および発見は通常、中央装置によって実施される。たとえば、従来の回線交換型の時分割多重（ＴＤＭ）電話システムでは、各端末セットが、たとえば中央の呼処理装置上のポートに接続されることがある。典型的には、各端末セットは、電源投入時に発生する初期化シーケンスの一部として、それ自体の使用可能性を中央装置に告知する。中央装置は、新しい端末セットが接続されたときのかかる告知の有無について各ポートを監視し、したがって新たに追加された端末セットを「発見」することができる。
【０００６】
集中型のボイス・オーバ・インターネット・プロトコル（ＩＰ）すなわちＶｏＩＰ電話システムでは、これと非常に似てはいるがやや複雑化した手続きが利用されるものの、端末セットは依然として、ネットワークを介してそれ自体の使用可能性を中央の呼処理装置に告知する。当技術分野で知られているように、ＶｏＩＰは、ＩＰに基づくデータ・ネットワークを介して呼を送出する。通信は、パケット・データの形をとっており、したがって、回線交換ネットワークの場合のような固定式の接続は存在しない。通信するのは、テキスト、音声、グラフィック、あるいはビデオであってもよい。ＩＰ装置は、相互運用可能なように、Ｈ．３２３やセッション開始プロトコル（ＳＩＰ）のような標準に準拠していることがある。Ｈ．３２３標準には一般に、端末、ネットワーク装置、およびサービスの間でのマルチメディア通信がどのように発生するかが記述されている。ＳＩＰ標準は、インターネットを介するマルチメディア・セッションをセット・アップし、変更し、解体するための技術要件をカバーする。本明細書で使用する「呼」という用語は、２つのエンド・ポイント間でのマルチメディア通信を指し、また、音声電話を含む。
【０００７】
中央装置が回線交換型であるのかそれともパケット交換型であるのかに関わらず、新しい端末セットを発見する過程の中で、中央装置は通常、ネットワーク・アドレスの形の加入者電話番号（Ｄｉｒｅｃｔｏｒｙ  Ｎｕｍｂｅｒ：ＤＮ）の割当ておよび管理を自動的に行うことになる。ＤＮは、たとえばＰＢＸの内線であってもよい。ＤＮは、個々のセットに割り当てられると、中央装置の維持しているＤＮのリストに加えられる。呼出し元の端末セットからＤＮが転送されたときに、集中型の装置が呼び出すべき物理的な端末セットの識別を判定できることが、この集中型のリストに基づいているだけであることが多い。
【特許文献１】優先権仮出願第６０／５２３７０３号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
集中型システムでは通常、各端末セットを対象とする呼の取扱いオプション（ｃａｌｌ  ｔｒｅａｔｍｅｎｔ  ｏｐｔｉｏｎｓ）も、中央に格納され、関連する端末セットが中央装置から切断されている場合でさえ、依然として使用可能なままである。「呼の取扱いオプション」という用語は、着呼をどのように処理すべきかを、たとえば音声メールに転送する前に鳴動が何回発生すべきか、または呼を別の内線に自動的に転送すべきかどうかを決定する設定を指す。呼の取扱いオプションが使用可能なままである故に、切断状態となった端末セット宛ての着呼であるにも関わらず、その端末セットが接続されていたときと同じ様式で着呼が処理されることもある。
【０００９】
より高い処理能力に伴うコストおよびメモリが減少し続けるに従い、ネットワークに接続されるあらゆる電話セットに呼処理エンジンを含めることが、実現可能になってきている。かかるシステムでは、中央装置を排除することが望ましいかもしれない。かかる非集中型（ｄｅｃｅｎｔｒａｌｉｚｅｄ）システムは、分散型電話システムと呼ばれることもある。
【００１０】
分散型電話システムでは、中央装置が存在しないので、端末セットを対象とする呼の取扱いオプションを中央装置に格納することは、不可能である。呼の取扱いオプションは、それを適用する個々の端末セットに格納することもできる。しかし、かかる端末セットが切断状態となり、あるいはその他の原因で非アクティブ状態となった場合は、その端末セットを対象とする呼の取扱いオプションにアクセス不能となることもある。端末セットが使用不能になったときでさえ、その端末セットを対象とする呼の取扱いオプションが依然として使用可能なままであることが、望ましいはずである。
【００１１】
より一般的にいえば、１つのネットワーク装置が使用不能になったときにも、その使用不能状態の間に、その使用不能なネットワーク装置の役割を別のネットワーク装置が果たすことを可能とし得るように、そのネットワーク装置に特有のデータが依然として使用可能なままであることが、望ましいはずである。
【課題を解決するための手段】
【００１２】
１つのネットワーク装置が、他の少なくとも１つのネットワーク装置をそれ自体のバックアップとして選択し、それ自体が使用不能なときに、そのネットワーク装置の役割を１つ（または複数）のバックアップ・ネットワーク装置が果たす際に使用される情報を通信する。このネットワーク装置はまた、これをそれ自体のバックアップ装置として選択した、少なくとも１つのネットワーク装置から、その１つ（または複数）の選択元の装置が使用不能なときに、その１つ（または複数）の選択元の装置の役割を果たす際に使用する情報を受信する。各ネットワーク装置は、それがバックアップとして有するのと同じ数の装置のバックアップとして働くことができる。バックアップ装置の選択は、装置の信頼性に基づくものであってよい。一実施形態では、各ネットワーク装置は、１次および２次バックアップを有する。１次バックアップは、ネットワーク装置が使用不能になったときに、ネットワーク装置の役割を果たし、２次バックアップは、ネットワーク装置とその１次バックアップがどちらも使用不能であるときに、ネットワーク装置の役割を果たす。
【００１３】
本発明の一態様によれば、複数のネットワーク装置のうちの１つのネットワーク装置において、前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択する工程であって、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択される工程と、前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信する工程であって、通信された前記情報は、前記１つのネットワーク装置が使用不能であるときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用される工程と、マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信する工程であって、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用される工程とを含む方法が、提供される。
【００１４】
本発明の他の態様によれば、複数のネットワーク装置のうちの１つのネットワーク装置であって、前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択し、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択され、前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信し、通信された前記情報は、前記１つのネットワーク装置が使用不能なときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用され、マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信し、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用されるように適合されたネットワーク装置が、提供される。
【００１５】
本発明の他の態様によれば、複数のネットワーク装置のうちの１つのネットワーク装置での実行を対象とするマシン実行可能なコードを含むマシン可読媒体であって、前記１つのネットワーク装置のバックアップとして働く、前記複数のネットワーク装置のうちの他の少なくとも１つのネットワーク装置を選択し、前記選択により、少なくとも１つのバックアップ・ネットワーク装置が選択される、マシン実行可能なコードと、前記１つのネットワーク装置の維持している情報を、前記各バックアップ・ネットワーク装置に通信し、通信された前記情報は、前記１つのネットワーク装置が使用不能なときに、前記１つのネットワーク装置の役割を前記バックアップ・ネットワーク装置が果たす際に使用される、マシン実行可能なコードと、マスタ・ネットワーク装置となるために前記１つのネットワーク装置をそれ自体のバックアップとして選択した、前記１つのネットワーク装置とは異なる少なくとも１つのネットワーク装置からの情報を受信し、受信された前記情報は、前記マスタ・ネットワーク装置が使用不能なときに、前記マスタ・ネットワーク装置の役割を前記１つのネットワーク装置が果たす際に使用される、マシン実行可能なコードとを備えるマシン可読媒体が、提供される。
【００１６】
本発明の特定の諸実施形態に関する以下の説明を添付の図面と併せて考察すれば、本発明のその他の諸態様および特徴が当業者には明らかとなるであろう。
【００１７】
ここで、本発明の好ましい諸実施形態を、添付の図面を参照して説明する。
【発明を実施するための最良の形態】
【００１８】
概要として、複数の端末セットを含む分散型電話システム内の端末セットが、たとえばピアの発見を実施したことから、システム内の他の端末セットを認識しているものと推定される。この認識は、システム内の各端末セットの信頼性の指示（ｉｎｄｉｃａｔｉｏｎ）を含む。このコンテキストにおいて「信頼性」とは、分散型電話システムの外部の接続を端末セットが確実な形で確立できる能力を指す。たとえば、ブリッジ接続（たとえば、イントラネット）によって結ばれた２つのサブ・ネットワークを含む電話システムにおいて、第１のサブ・ネットワークが、たとえば公衆交換電話網（ＰＳＴＮ）への外部接続を有し、第２のサブ・ネットワークが、その外部接続を有していない場合は、第２のサブ・ネットワーク上の端末セットにおけるＰＳＴＮとの接続を確立する能力は、ブリッジ接続の動作が継続することに依存する。この例では、第２のサブ・ネットワーク上の端末セットは、ブリッジ接続の動作状態に関わらずＰＳＴＮへの接続を確立できる第１のサブ・ネットワーク上の端末セットよりも信頼性が低いとされる。
【００１９】
この情報を使用して、各端末セットが、ピア・バックアップの選択を行う。ピア・バックアップの選択の目的は、現在の端末セットが１次バックアップ端末セットおよび２次バックアップ端末セットを選択することにある。バックアップ端末セット（または単に「バックアップ」）は、現在の端末セットが使用不能になった（たとえば、切断状態になり、電力を消失し、あるいはその他の原因で着呼を受けることができない状態になった）場合に、現在の端末セットの役割（場合によっては、たとえば現在のセットの呼の処理オプションおよび音声メールの挨拶をエミュレートするような機能を含む）を果たすことができる端末セットである。より具体的には、１次バックアップ端末セットは、現在の端末セットが使用不能なときに、現在の端末セットの役割を果たすことができ、２次バックアップ端末セットは、現在の端末セットと１次バックアップがどちらも使用不能になった場合に、現在の端末セットの役割を果たすことができる。また、１次バックアップは、「第１レベルの」バックアップと呼ぶこともあり、２次バックアップは、「第２レベルの」バックアップと呼ぶこともある。あるいは一般に、バックアップを「スレーブ」と呼ぶこともある。スレーブが割り当てられた端末セットを、「割当て先（ａｓｓｉｇｎｅｅ）」または「マスタ」端末セットと呼ぶこともある。
【００２０】
現在の端末セットが他の端末セットのうちのどれをそれ自体のバックアップとして選択すべきかを決定する上で、以下の通り、現在の端末セットの信頼性ならびに見込まれる（ｐｒｏｓｐｅｃｔｉｖｅ）バックアップの信頼性の両方が考慮に入れられる。
【００２１】
このシステム内の端末セットはすべて、Ｍを１以上の整数とする、見込まれるバックアップのＭ個のプールにグループ化される。Ｍ個のプールを作成する基礎となるのは、端末セットの信頼性であり、各端末セットは、同様の信頼性を有する見込まれるバックアップのプールに入れられる。最初に、見込まれるバックアップの「現在の」プールとして、最も信頼性の高い端末セットを有するプールが選出される。すべての端末セットがまず１次（すなわち第１レベルの）バックアップを受け取り、その後で２次バックアップがあればそれが割り当てられるということを反映するために、「現在のバックアップ・レベル」が、「第１レベル」にセットされる。
【００２２】
その後、現在のプールからの端末セットが、１次バックアップとして、割当て先の端末セットの信頼性の昇順に、システム内のすべての端末セットに割り当てられる（すなわち、最も信頼性の低い端末セットが最初にバックアップを受け取る）。バックアップは、端末セットが２つ以上の１次バックアップを受け取らないように割り当てられる。
【００２３】
割当ては、（ａ）見込まれるバックアップの現在のプール内のあらゆる端末セットが割当てを２回受ける（プール内の各端末セットがスレーブとして割り当てられたマスタの数が２になる）まで、または（ｂ）システム内のあらゆる端末セットが１次バックアップを受け取るまで続く。
【００２４】
（ａ）が発生したときは、見込まれるバックアップの次のプールが信頼性の降順に選出され（すなわち、見込まれるバックアップの、次に信頼性の高いプールが現在のプールになる）、上述したように割当てが繰り返される。
【００２５】
（ｂ）が発生したときは、１次バックアップの割当てが完了する。その後、「現在のバックアップ・レベル」が、第１レベル（１次）から第２レベル（２次）に変更され、２次バックアップの割当てが、１次バックアップと同じ様式で進められる。
【００２６】
すべての２次バックアップが割り当てられると、バックアップの選択は完了する。この段階で、現在の端末セットは、１次および２次バックアップとしてどの端末セットがシステム内の各端末セットに割り当てられたかを認識することになる。この情報は、（ＰＢＸの内線に類似する）加入者電話番号や（たとえば、ＶｏＩＰ電話をかけるのに使用される）ＩＰアドレスなど、各端末セットに関する他の情報を含む経路表の形で格納されてもよい。しかし、マスタ／スレーブ関係を強固にするために、以下の通り各マスタ端末セットとそれに割り当てられたスレーブとの間の通信が、依然として必要とされる。
【００２７】
現在の端末セットは、その経路表を検査することにより、それ自体の１次および２次バックアップとしてどの２つの端末セットが割り当てられたかを特定することができる。この情報を使用して、現在の端末セットが、特定された端末セットのそれぞれに対して、それ自体のスレーブとなるよう正式に要求する要求メッセージを送信する。
【００２８】
現在の端末セットのスレーブとなることへのその同意が各端末から与えられたと仮定すると、現在の端末セットが、それ自体のローカル・データベースのコピーをスレーブ端末セットに送信し、スレーブが、そのコピーをそれ自体のローカルに格納する。かかるデータベースのコピーは、「シャドウ（ｓｈａｄｏｗ）」データベースと呼ばれる。シャドウ・データベースは、マスタ端末セットが使用不能になったときに、スレーブがマスタ端末セットの役割を果たす（その動作をエミュレートする）のを可能にするために必要な情報を含んでいる。この情報は、たとえば呼の処理オプションまたは音声メールの挨拶を含んでいてもよい。
【００２９】
同時に、現在の端末セットは、他の２つの端末セットからそれらのスレーブとして働くよう求められる要求を受信することになる。現在の端末セットはこれに同意すると、「シャドウ」データベースの形で現在の端末セットのローカルに格納するための、要求元セットのデータベースのコピーを受信する。
【００３０】
システムの動作中は、マスタのデータベース内の情報が変更され得る可能性がある。たとえば、マスタ端末セットのユーザは、たとえば端末セットを最初に鳴動させるのではなく、着呼が音声メールへと直接転送されるように端末セットの構成を更新することもある。この状況では、マスタは、マスタのデータベースとスレーブのシャドウ・データベースとの一貫性を維持するために、それ自体のデータベースに更新があった後は、変更された情報を各スレーブに通信することになる。
【００３１】
マスタ端末セットが使用不能な場合、１次端末セットがそのマスタの役割を果たすことになる。たとえば、呼出し元の端末セットは、使用不能な端末セットに接続できない場合は、その使用不能なセットの１次バックアップとしてどの端末セットが働いているかを特定するために、それ自体のローカルで維持している経路表を利用する。次いで、呼出し元の端末セットは、その呼が当初使用不能なマスタに宛てられたものであることを１次バックアップが認識するような様式で、特定した１次バックアップに接続しようと試みる。それがアクティブであると仮定すると、１次バックアップは、マスタが使用不能であることに呼出し側が気付くことすらできないように、マスタがその呼を受け取った場合と同じ様式で（たとえば、同じ呼の処理オプションおよび音声メールの挨拶を用いて）呼を受け取る。
【００３２】
１次バックアップが使用不能である場合も、同様のやり方で、２次バックアップに接続しようとする試みがなされる。
【００３３】
１次および２次端末セットの両方が使用不能である場合は、呼出し側の端末セットは、一般的なやり方で（すなわち、使用不能なマスタのデータベースのコピーの利益なしに）呼を受けることができる。
【００３４】
スレーブ端末セットがそのマスタをエミュレートしている間は、スレーブ端末セットにおいて加えられたマスタの構成に対するどんな変更も、そのマスタを対象とするスレーブのシャドウ・データベースに変更が及ぶことになる。これらの変更は、スレーブによって追跡され、他のスレーブが現在のスレーブのシャドウ・データベースとそれ自体のシャドウ・データベースとの一貫性を維持することができるように、同じマスタに仕える他のスレーブに報告される。また、追跡された変更は、マスタが再びアクティブになったときに、その使用不能状態の間に（そのマスタのバックアップとしての立場の）スレーブに加えられたどの構成変更の利益も享受することができるように、マスタに送信される。
【００３５】
１次および２次バックアップが既に割り当てられている分散型電話システムに端末セットが追加された場合、その新しい端末セットは、既存のマスタ端末セットに対して、そのバックアップの１つを引き渡すよう求める要求を送信することができる。たとえば、新しい端末セットは、既存のマスタ端末セットの１次バックアップと２次バックアップがどちらも最も信頼性の高いものであると判定した場合は、そのマスタに対して、その２次バックアップを新しい端末セットがそれ自体の１次バックアップとして使用するためにそれを引き渡すよう求めることができる。この場合では、新しい端末セットは、既存のマスタに先取り（ｐｒｅｅｍｐｔｉｏｎ）要求を送信する。マスタからバックアップが引き渡されると、新しい端末セットは、先取りしたバックアップ端末セットをそれ自体の１次バックアップとして主張し、それとの間での必要な情報交換を実施する。次いで、引渡し元のマスタは、新しい端末セットをそれ自体の２次バックアップとして割当て、それとの間での必要な情報交換を実施することができる。これが、新しい端末セットの２次バックアップを獲得するために繰り返される。次いで、引渡し元の端末セットのそれぞれは、新しい端末セットをそれ自体のバックアップとして割り当てることができる。
【００３６】
システムの動作中は、各端末セットは周期的に、それ自体の現在の１次および２次バックアップの識別を他のすべての端末セットに通知する（ＰＥＥＲ＿ＡＳＳＥＲＴという「ハートビート」メッセージが使用されるが、これについては以下でより詳細に説明する）。端末セットのバックアップの識別に変更があった場合は、他の端末セットは、上記のメッセージを介してその変更に気付き、それに従ってそれぞれの経路表を更新する。
【００３７】
図１を参照すると、ネットワーク・ベースの分散型ピア・ツー・ピア呼処理を利用し、本発明の一実施形態によるピア・バックアップを実施する、分散型電話システム１０（または「電話システム１０」）が示されている。電話システム１０は、全体のネットワーク３０を形成するための、イントラネット１４を備えるブリッジ接続によって相互接続された、２つのローカル・エリア・ネットワーク（ＬＡＮ）１６および１８を含む。諸代替実施形態では、異なる形態のブリッジ接続（たとえば、公衆インターネットを介して２つのオフィスを接続する仮想私設ネットワーク（ＶＰＮ）トンネル）を利用することもできる。ＬＡＮ１６および１８は、単にネットワーク１６および１８と、あるいは全体のネットワーク３０の存在を暗に示すために、サブ・ネットワーク１６および１８と呼ばれることもある。第１のサブ・ネットワーク１６は、スイッチ１２によって相互接続された２つの端末セット１００−３および１００−４を含む。第２のサブ・ネットワーク１８は、スイッチ２０によって相互接続された７つの端末セット１００−１、１００−２、および１００−５〜１００−９を含む。スイッチ１２および２０は、ネットワーク・ハブに置き換えることもできる。
【００３８】
サブ・ネットワーク１８は、サブ・ネットワーク１８に外部接続性をもたらすシン・トランク・インターフェイス（Ｔｈｉｎ  Ｔｒｕｎｋ  Ｉｎｔｅｒｆａｃｅ：ＴＴＩ）４０も含む。ＴＴＩ  ４０は、たとえば基本的なアナログまたはデジタルＴ１／Ｅ１インターフェイスであっても、他の任意のＰＳＴＮインターフェイスであってもよく、ローカル・セントラル・オフィスまたはＰＳＴＮ相互動作インターフェイスを提供し、いくつかの外部の電話「回線（ｌｉｎｅ）」１、２、３、４と結合されている。回線１、２、３、４は、ローカル・セントラル・オフィスまたはＰＳＴＮ（図示せず）から提供される機構を表す対線（ｗｉｒｅ  ｐａｉｒｓ）である。本発明のいくつかの実施形態では、複数のＴＴＩが必要とされ得るような多くの外部回線が存在する。たとえば、ＰＳＴＮに８つの回線が必要とされる場合は、システム１０に第２のＴＴＩを追加することができる。
【００３９】
図１におけるネットワーク３０の構成が与えられたとすると、いくつかの端末セットにおけるＰＳＴＮとの接続を確立できる（あるいはより一般的には、全体のネットワーク３０の外部の接続を確立できる）能力は、他の端末セットにおけるＰＳＴＮとの接続を確立できる能力よりも、干渉または障害の影響を受けやすいことがあるのは、明らかなはずである。たとえば、サブ・ネットワーク１８上にＴＴＩ  ４０が存在する故に、サブ・ネットワーク１８に直接接続されている端末セット、すなわち端末セット１００−１、１００−２、および１００−５〜１００−９は、比較的信頼性の高いＰＳＴＮへの接続性を享受することができる。一方、サブ・ネットワーク１２上にはＴＴＩが存在しない故に、サブ・ネットワーク１２に直接接続されている端末セット、すなわち端末セット１００−３および１００−４は、より信頼性の低いＰＳＴＮへの接続性を有するかもしれない。すなわち、端末セット１００−３および１００−４は、イントラネット１４およびサブ・ネットワーク１８を介してＰＳＴＮにアクセスできるかもしれないが、それらのＰＳＴＮ接続性は、中間にあるイントラネット１４における障害の可能性の故に、より信頼性が低いと考えられる。（サブ）ネットワークが外部接続性を維持することのできる蓋然性は、クラス番号によって表される。本明細書で使用されるより低いクラス番号は、より信頼性の高い外部接続性を示す。したがって、サブ・ネットワーク１８は、クラス１の（すなわち、より信頼性の高い）ネットワークと見なすことができ、サブ・ネットワーク１２は、クラス２の（すなわち、より信頼性の低い）ネットワークと見なされる。したがって、サブ・ネットワーク１８上のすべての端末セットは、サブ・ネットワーク１２上のどの端末セットよりも信頼性が高いと見なされる。
【００４０】
図１には、９つの端末セットしか示されていない。一般には、Ｔ≧２とする、合計Ｔ個の端末セットを存在させることができる。本発明のいくつかの実施形態では、Ｔは大きな数、たとえば千単位である。
【００４１】
図１のシステム１０は、従来の集中型電話システムとは異なり、分散型の呼処理を特徴としている。この分散型の呼処理は、たとえば分散型の音声メールを含めたいくつかの機能を特徴とすることもある。
【００４２】
図２を参照すると、図１の電話システム１０における例示的な端末セット１００−Ｘ（Ｘ＝１〜９）の部分的な回路ブロック図が、示されている。中央処理装置（ＣＰＵ）５３０、メモリ管理ユニット（ＭＭＵ）５４５、およびランダム・アクセス・メモリ（ＲＡＭ）５３５が、計算装置の基礎を提供する。この計算装置は、オーディオ信号の符号化および復号用のデジタル信号処理装置（ＤＳＰ）５２０に接続されている。ＤＳＰ  ５２０は、オーディオ・インターフェイス５１０に接続されている。計算装置は、ＬＡＮおよびパーソナル・コンピュータ（ＰＣ）への接続を可能にする３ポート・スイッチ５２５にも接続されている。計算装置は、フラッシュ不揮発性メモリ５４０、赤外線（ＩＲ）インターフェイス５５０、キーパッドおよびボタン・インターフェイス５５５、液晶ディスプレイ（ＬＣＤ）コントローラ５６０、端末セット１００の標準化された拡張を可能にするパーソナル・コンピュータ・メモリ・カード国際協会（ＰＣＭＣＩＡ）インターフェイス５６５などの周辺機器のホストにも接続されている。ここでは特定のアーキテクチャが示されているが、より一般的には、以下で説明する方法を実装するのに十分な処理およびメモリ容量が使用可能であると仮定すれば、どんなパケット・ベースの（たとえば、インターネット・プロトコル（ＩＰ））電話でも使用することができる。たとえば、Ｍｉｔｅｌ社、Ｎｏｒｔｅｌ  Ｎｅｔｗｏｒｋｓ社、Ａｖａｙａ社、Ｓｉｅｍｅｎｓ社、ＮＥＣ社、Ｐｉｎｇｔｅｌ社、３ＣＯＭ社などによって製造される既製のＩＰ電話（たとえば、Ｎｏｒｔｅｌ  ｉ２００４、Ｓｉｅｍｅｎｓ  ｏｐｔｉＰｏｉｎｔ  ４１０、またはＡｖａｙａ  ４６１０）を使用することもできる。
【００４３】
図３を参照すると、例示的な端末セット１００−４上で動作するソフトウェアの機能ブロック図が示されている。これと同じソフトウェアが図１の各端末セット１００−Ｘ上で動作していることが、理解されるであろう。このソフトウェアは通常、図２のＲＡＭ５３５内に格納され、ＣＰＵ５３０上で走り、磁気または光ディスク、テープ、チップ、あるいは別の形態の１次または２次ストレージとし得る、マシン可読媒体３２（図１）からロードすることができる。より一般的には、このソフトウェアは、汎用または専用の処理装置、ファームウェア、ハードウェア、特定用途向け集積回路（ＡＳＩＣ）、書替え可能ゲート・アレイ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ）、汎用または専用ロジックによって実行される、メモリ内に格納されたマシン実行可能なコードの任意の適当な組合せとして実装することができる。
【００４４】
システム・ディスパッチャ１２０が、プロトコル・スタック６０、呼処理モジュール７０、音声メール・モジュール８０、ダイヤル規則モジュール９０、ピア発見モジュール１１０、ディスプレイ・ハンドラ１３０、オーディオ・ハンドラ１４０、入力ハンドラ１５０、およびピア・バックアップ・モジュール１６０を含む様々な機能要素間の通信およびスケジューリングを行う。
【００４５】
プロトコル・スタック６０は、端末セットがメッセージを送信し受信するのを可能にする、コンピュータ・ネットワーキング・プロトコル（またはプロトコル・セット）のソフトウェア実装である。プロトコル・スタックは、当業者にはよく理解されている。
【００４６】
呼処理モジュール７０は、呼のセット・アップおよび解体、ならびに音声チャネルのセット・アップを行うために、プロトコル・スタック６０と相互作用する。呼が受信されたがユーザがそれに応答できない場合は、その呼を音声メールに転送し、あるいはモジュール７０の動作によって処理することができる。モジュール７０によって処理される呼は、現在の端末セットに宛てられた呼であることも、その端末セットが使用不能である場合には現在の端末セットがそのバックアップとして働く、別の端末セットに宛てられた呼であることもある。いくつかのセットにおける呼処理モジュール７０が、集中型の装置を必要としない分散型の形式で、集合的にＰＢＸと同様の呼処理機能を提供するように働く。呼処理モジュール７０は、様々な呼スレッド（ｃａｌｌ  ｔｈｒｅａｄ）を管理する責任を負う呼処理ディスパッチャ（ＣＰディスパッチャ）７１も有する。呼処理モジュール７０は、以下でより詳細に説明する。
【００４７】
音声メール・モジュール８０は、呼が受信されたがユーザがそれに応答できないときに、音声メール・サービスを提供する。
【００４８】
ダイヤル規則モジュール９０は、電話をどのようにかけるかを制御する呼処理モジュール７０に適用する、１組のダイヤル規則を含んでいる。
【００４９】
ピア発見モジュール１１０は、端末セット１００−Ｘが最初にネットワークに接続されたときのピアの発見を容易にする。モジュール１１０には、いくつかの責任がある。第１に、モジュール１１０は、端末セットのネットワークへの最初の接続時に、現在の端末セット１００−Ｘに一意のＤＮを自動的に割り当てることを容易にする。第２に、モジュール１１０は、ネットワーク３０からの端末セットの切断が生じ、あるいは端末セットの電力の消失が生じたときにも、端末セット１００−Ｘに割り当てられたＤＮが保存されることを保証する（これらのどちらでも、端末セットは「非アクティブ」となる）。ＤＮを保存する動機は、（たとえば、端末セットとネットワークの間の接続障害、単純な電力の消失、または圏外への無線端末セットの移動を原因とする）ネットワーク３０からの端末セットの一時的な切断の結果として、非アクティブ状態の端末セットのＤＮが再び割り当てられるのを防ぐためであるかもしれない。この再割当ては、どの端末セットが呼び出されたのかについて呼出し側に混乱を招く可能性がある。第３に、ネットワーク３０内のその他のすべての端末セットでの動作に関連する、端末セット１００−Ｘでのモジュール１１０の動作により、各端末セットが、ネットワーク３０に接続されている他のあらゆる端末セットのＤＮに気付くことになり、その結果、各端末セットは他の端末セットに電話をかけることができる。ピア発見モジュール１１０の行う動作に関する簡単な概要を以下に示す。
【００５０】
「購入時のままの（ｆａｃｔｏｒｙ  ｆｒｅｓｈ）」（すなわち、未構成の）状態の端末セットのネットワークへの初期接続時には、端末セットは、ネットワーク接続通知を用いて、それ自体のネットワークへの接続をネットワーク上のその他の端末セット（それ自体の「ピア」）に通知する。ネットワーク接続通知は、端末セットに関連する一意の識別子を、たとえば媒体アクセス制御（ＭＡＣ）アドレスなどを含む。当技術分野で知られているように、ＭＡＣアドレスは、ネットワーク装置用の一意の識別子として働く、一意のハードウェア・アドレスまたはハードウェア番号である。ネットワーク接続通知は、「Ｉ＿ＡＭ＿ＨＥＲＥ」メッセージの形をとることができ、このメッセージは、（本発明の一実施形態のような場合では、少なくともその他のピアから各受信メッセージについての肯定応答が送信されない場合には）それが受信される可能性を高めるために複数回にわたって送信される。
【００５１】
また、新たに接続された端末セットは、他の端末セットからの存在通知（ｅｘｉｓｔｅｎｃｅ  ｎｏｔｉｆｉｃａｔｉｏｎ）を受信する。存在通知は、現在ネットワーク上に所在し（すなわち、アクティブであり、ネットワークに接続されている）、あるいは以前ネットワーク上に所在した（すなわち、以前はアクティブな状態にあって接続もされていたが、今は切断状態となり、非アクティブである）端末セットの存在に関する指示である。この実施形態では、存在通知は、「Ｉ＿ＡＭ＿ＨＥＲＥ」メッセージ（先に説明した）、「ＰＥＥＲ＿ＡＳＳＥＲＴ」メッセージ（以下で説明する）、または「ＩＮＡＣＴＩＶＥ＿ＰＥＥＲ＿ＡＳＳＥＲＴ」メッセージ（以下で説明する）のいずれかとすることができる。各存在通知は、メッセージがそれに関して送信される端末セットの一意の識別子を含む。さらに、後者の２つのタイプのメッセージ（「ＰＥＥＲ＿ＡＳＳＥＲＴ」および「ＩＮＡＣＴＩＶＥ＿ＰＥＥＲ＿ＡＳＳＥＲＴ」メッセージ）は、既に主張されているＤＮの指示、ならびに送信元の端末セットの１次バックアップおよび２次バックアップの識別を提供し、あるＤＮを既に少なくとも１つの端末セットが主張しているネットワークに新たに接続された端末セットが参加するときにだけ、受信される。
【００５２】
存在メッセージからは、ネットワーク上のすべての端末セットのリスト（経路表と呼ばれる）が作成される。リスト内の端末セットは、それらの一意のネットワーク装置識別子によってソートされる。ＤＮを既に主張しているどの端末セットについても、その主張しているＤＮが、ソート済みのリスト内で示されることになる。新たに接続された端末セットは、リスト内の順序位置を有することになる。
【００５３】
新たに接続された端末セットは、見込まれるＤＮを選択するために、ベースＤＮにリスト内でのそれ自体の順序位置に関連するオフセットを追加することができる。たとえば、ＤＮがＰＢＸの内線であるシステムにおいて、新しい端末セットが９つの端末セットのリスト内の４番目にあると仮定すると、見込まれるＤＮを２０４と（端末セットの順序位置に等しいオフセット、すなわちベースＤＮの２００に４を足したもの）決定することができる。端末セットに関連する一意の順序位置に基づいて見込まれるＤＮの選択を行うことにより、様々な端末セットが一意の見込まれるＤＮを選択することが容易になる。これは、以前に割り当てられたＤＮを有する既存の端末セットを有していないネットワークに、購入時のままの複数の端末セットが同時に参加するというシナリオを仮定している。この原理（ｒａｔｉｏｎａｌｅ）は、様々な端末セットが当初同じ見込まれるＤＮを選択することにより、衝突解決処理に時間を費やすことになり得るのを防止しようと試みることである。
【００５４】
次いで、新たに接続された端末セットは、それ自体の見込まれるＤＮを選択すると、それを他の各端末セットに通知する。これは、「ＤＮプローブ」と呼ばれる。新たに接続された端末セットは、（他の端末セットのうちの１つによる、そのＤＮに対する既存の主張に基づく何らかの異議（ｏｂｊｅｃｔｉｏｎ）がある場合でも）その見込まれるＤＮを主張することに他の端末セットが反対するのでなければ、その見込まれるＤＮをそれ自体のＤＮとして主張する。新たに接続された端末セットは、異議があればそれを示すのに十分な時間をその他の端末セットに与えるために、それ自体の見込まれるＤＮを主張する前に、所定の時間間隔だけ経過させてもよい。見込まれるＤＮの主張が成功したものと仮定すると、新たに接続された端末セットは、そのＤＮに対するそれ自体の主張を他の各端末セットに通知する。また、新たに接続されたセットは、端末セットが電力を消失したときにも、割当て済みのＤＮを呼び出すことができるように、その主張したＤＮを不揮発性メモリ内に格納する。経路表も格納することができる。
【００５５】
確立されているネットワークに新たに接続された端末セットが参加する場合は、そのネットワーク上の他の端末セットは、既にそれら自体のＤＮの選択を済ませている。この場合では、新たに接続された端末セットの選出した見込まれるＤＮが、既に既存の端末セットのうちの１つに割り当てられている可能性もある。たとえば、ソート済みの端末セットのリスト内での新たに接続された端末セットの順序位置が、リストの末尾以外である（たとえば、新しい端末セットの一意の識別子によりそれがソート済みのリストの中間付近に配置されている）場合は、新たに接続された端末セットの順序位置に関連するオフセットがベースＤＮに追加された結果として得られる見込まれるＤＮが、既存の端末セットのうちの１つのＤＮであることもある。
【００５６】
この可能性の点から、新たに接続された電話機は、それ自体の見込まれるＤＮを他のいずれかの端末セットに通知しようと試みる前に、まず、それ自体の経路表を参照して、その見込まれるＤＮが既にネットワーク内の他のいずれかの端末セットによって主張されているかどうかを判定する。見込まれるＤＮが既に別のセットによって主張されている場合は、新たに接続された端末セットは、その選出をいずれかのその他の端末セットに通知する前に、たとえばリスト内で見受けられる最大のＤＮに１などのオフセットを追加することによって、別の見込まれるＤＮを選択することができる。これにより、そうしない場合には新たに接続された端末セットがそれ自体の見込まれるＤＮを他の各端末セットに通知して、その他の端末セットのうちの既にそのＤＮを主張している１つの端末セットから異議を受信するだけに終わる可能性のある、ネットワーク上の不必要な通信オーバーヘッドを回避することができる。
【００５７】
新たに接続された端末セットは、ＤＮの主張に成功すると、そのＤＮに対するそれ自体の主張を、周期的にネットワーク上のその他の端末セットに通知する。この実施形態では、それぞれの周期的な通知は、「ＰＥＥＲ＿ＡＳＳＥＲＴ」メッセージの形をとり、これは、新たに接続された端末セットの継続的なネットワーク・プレゼンスおよびそのＤＮに対する継続的な主張を示す、「ハートビート」として働く。ＰＥＥＲ＿ＡＳＳＥＲＴメッセージは、現在の端末セットの１次および２次バックアップにおける識別の指示も含んでいる（その結果、現在の端末セットのバックアップの識別に変更があった場合に、他の端末セットがその変更に気付き、それに従ってそれぞれの経路表を更新することになる）。この通知は、ネットワーク上のその他の端末セットによって監視される。この実施形態では、周期的な通知は、（たとえば、０秒と２秒の間の）ランダムな時間間隔で発生する。端末セットからの通知を受信することなく所定の量の時間が経過した場合は、その端末セットは、非アクティブ状態になったものと推定される。周期的な通知は、そのＤＮを後に追加される端末セットがそれ自体のＤＮとして主張しようと試みるのを防止する働きもする。たとえば、別の端末セットがそのＤＮをそれ自体の見込まれるＤＮとして選択しており、他の端末セットからの何らかの異議を待っている場合に、この通知は、その端末セットによるそのＤＮの主張に対する異議として働くこともある。急送異議（Ｅｘｐｒｅｓｓ  ｏｂｊｅｃｔｉｏｎ）（たとえば、ＤＮ＿ＣＯＮＦＬＩＣＴメッセージ）を送信することもできる。
【００５８】
ＤＮを主張した端末セットは、ネットワークから切断されまたは電力を消失した場合は、そのＤＮに対するそれ自体の主張をネットワーク上のその他の端末セットに周期的に通知することができない可能性が高い。この場合には、（たとえば、その端末セットからの最近のＰＥＥＲ＿ＡＳＳＥＲＴメッセージが何ら存在しないことから）切断された端末セットの使用不能状態に気付いたネットワーク内の別の端末セットが介入し、切断された端末セットは非アクティブ状態にあるが、それ自体のＤＮは既に主張されていることを、ネットワーク上のその他の端末セットに周期的に通知することを開始する。介入してきた端末セットは、便宜上「代理（ｓｕｒｒｏｇａｔｅ）」と呼ぶが、それ自体のＤＮに対するその主張をその他の端末セットに周期的に通知することに加えて、（以下で説明する「ＩＮＡＣＴＩＶＥ＿ＰＥＥＲ＿ＡＳＳＥＲＴ」メッセージの形をとる）これらの周期的な通知を送信する責任を負う。どの端末セットを非アクティブ状態の端末セットの代理にするべきかを決定するアルゴリズムを、適用することができる。非アクティブ状態の端末セットに代わって送信される代理による周期的な通知は、切断された端末セットのＤＮを後に追加された端末セットがそれ自体のＤＮとして主張しようと試みるのを防止することができる。
【００５９】
切断された端末セットは、後にネットワークに再接続された場合は、（それ自体の不揮発性メモリから呼び出すことのできる）それ自体のＤＮをその他の端末セットに通知することを自ら再開することができる。代理の端末セットは、再接続を検出したときは、再接続された端末セットがその責任を再び果たすようになっているので、再接続された端末セットのＤＮをその他の端末セットに通知するのを中止することができる。
【００６０】
再び図３を参照すると、ディスプレイ・ハンドラ１３０は、情報をフォーマットしユーザに表示する責任を負う。
【００６１】
オーディオ・ハンドラ１４０は、呼出音、話中音、通話中着信音などのオーディオ音を再生するように、あるいはシステム・ディスパッチャ１２０からのオーディオ・メッセージを受信したときに、ネットワークからハンドセットのスピーカ（またはスピーカ・フォン）への音声チャネルに接続するように適合されている。
【００６２】
入力ハンドラ１５０は、キー・プレス、フック・スイッチ、ボリューム・キー、ハンズ・フリー、ミュート・ボタンなどの機能を監視し、システム・ディスパッチャ１２０にそれが取るべき適切な措置について知らせる責任を負う。
【００６３】
ピア・バックアップ・モジュール１６０は一般に、他の端末セットを現在の端末セットのバックアップ端末セットとして選択し、その使用をサポートする責任を負う。モジュール１６０は、現在の端末セットを他の端末セットのバックアップ端末セットとして使用することをサポートする責任も負う。モジュール１６０の動作は、以下でより詳細に説明する。
【００６４】
図４は、図３の呼処理モジュール７０ならびにプロトコル・スタック６０の機能ブロック図である。入力側の（ｉｎｃｏｍｉｎｇ）ネットワーク・メッセージ・チャネル５０が示されており、これは、電話機がそこに接続されるネットワーク３０を介してメッセージを受信し、それらをプロトコル・スタック６０に渡すのに適した任意のメカニズムである。同様に、出力側の（ｏｕｔｇｏｉｎｇ）メッセージ・チャネルが５２で示されており、これは、生成されたメッセージを、ネットワーク３０を介して送信するための通路を提供する。図４の実施形態では、端末セット１００−Ｘによってサポートされる機能の必要を満たす、４つの呼スレッド７２、７３、７４、７５が存在する。各呼スレッドはそれぞれ、呼を処理することができる。たとえば、１つの呼スレッドを用いて端末への音声電話を処理することができ、同時に、別の呼スレッドを使用して音声メール・メッセージを録音することができる。諸代替実施形態は、呼スレッドの数が異なることもあることを理解されたい。一般には、１つを主回線用とし、もう１つを音声メール用とする、少なくとも２つの呼スレッドが存在するはずである。図４の実施形態では、４つの呼スレッド７２、７３、７４、７５のうちの３つを使用し、第４の呼スレッドを音声メール用のスペアとして働かせて、３者間会議を処理することができる。第３の呼スレッドは、バックアップとして特定の端末が指定されている別の端末によって受信された音声メール・メッセージを録音する際に必要とされることもある。
【００６５】
入力側のメッセージは、チャネル５０を介してプロトコル・スタック６０に届いたときは、受信（ＲＸ）スタック６５の待ち行列に入れられ、最終的にＣＰディスパッチャ７１へと送信される。ＣＰディスパッチャ７１は、その呼の宛先のスレッドを判定し、呼スレッド７２、７３、７４、または７５のうちの該当する１つにそのメッセージを転送する。このネットワーク・メッセージに応答して、その該当する呼スレッドは、パッケージ化され、送信（ＴＸ）スタック５５を介してその宛先へと送信されるべき応答を、プロトコル・スタック６０に送信することによって応答する。ネットワークへと折り返し送信されるメッセージのタイプは、呼スレッドの状態に依存する。たとえば、メッセージがセッション開始プロトコル（ＳＩＰ）に基づく新しい呼についてのＩＮＶＩＴＥメッセージである場合は、応答は、呼の応答があったときに返される「１８０」ＲＩＮＧＩＮＧメッセージや「２００」ＯＫメッセージなどの適切な肯定応答である。
【００６６】
図５は、例示的な端末セット１００−Ｘによって維持される例示的な経路表２００を示す。定常状態では、図１の９つの各端末セットは、図５に示されるのと同一の経路表２００を有することになる。経路表２００は、ピアの発見とピア・バックアップの選択がどちらも完了した後に作成される。ピアの発見が完了することにより、ネットワーク３０上の各端末セットを対象とするエントリ（すなわち、行）が存在することになり、各端末セットが一意のＤＮの主張を済ませたことになる。ピア・バックアップの選択（以下でより詳細に説明する）が完了することにより、各ピアに、１次バックアップ端末セットおよび２次バックアップ端末セットが割り当てられたことになる。
【００６７】
経路表２００内にエントリを有する各端末セットまたは他のネットワーク装置については、次の情報が、すなわち、ＤＮ（列２１０）、ＭＡＣアドレス（列２２０）、ＩＰアドレス（列２３０）、装置タイプ（列２５０）、第１のバックアップ（列２６０）、第１のバックアップのタイプ（列２６５）、第２のバックアップ（列２７０）、第２のバックアップのタイプ（列２７５）、端末セットの状態（列２９６）、およびネットワーク・クラス（列２９９）が維持される。ピア・バックアップとの関連性の低いその他の情報（図示せず）も維持することができる。
【００６８】
ＤＮ（列２１０）は、端末セットのＰＢＸの内線に類似するものである。ＭＡＣアドレス（列２２０）は、端末セットを一意に識別するハードウェア・アドレスである。図５の例示的な経路表２００では、各ＭＡＣアドレスは、最後の２つの文字を除けば同じである。ＩＰアドレス（列２３０）は、端末セットのＩＰアドレスであり、このアドレスは、たとえばＶｏＩＰのメッセージングに使用される。装置タイプ（列２５０）は、ネットワーク装置のタイプの指示である。この例では、経路表２００内の最初の９つのエントリは、ＶｏＩＰ対応（ＶｏＩＰ−ｃａｐａｂｌｅ）端末セットである。最後のエントリは、ＴＴＩ  ４０である。他の様々なタイプのネットワーク装置（たとえば、ゲートウェイ）が、経路表２００に含まれていてもよい。第１および第２のバックアップ（列２６０および２７０）は、その行で表される端末セットにバックアップとして割り当てられた２つの端末セットを識別する。各バックアップは、ＭＡＣアドレスによって識別される（理解を助けるために、列２６０および２７０の括弧内にＤＮを示してある）。第１および第２のバックアップのタイプは、列２６５および２７５のそれぞれに示されている。「Ｐｒｉ」は、１次バックアップを示し、「Ｓｅｃ」は、２次バックアップを示す。最後に、クラス（列２９９）は、その行で表される端末セットがそこに接続されるネットワークの（上記で説明した）ネットワーク・クラスを示し、これは、その行で表される端末セットの信頼性を示す。
【００６９】
ピア・バックアップの選択
端末セット１００−Ｘが当初購入時のままの状態でネットワーク３０に接続したときに、ピア・バックアップ・モジュール１６０が、ピア・バックアップの選択を行う。ピア・バックアップの選択の目的は、現在の端末セットが使用不能になった場合に、現在の端末セットの役割を果たすことになる、１次バックアップ端末セットおよび２次バックアップ端末セットを選択することにある。ピア・バックアップの選択の結果として、呼出し元の端末セットが（マスタが使用不能である場合には）１次バックアップに、また（マスタと１次バックアップがどちらも使用不能である場合には）２次バックアップに、それ自体の呼をリダイレクトするのを可能にするのに十分なバックアップ情報（列２６０、２６５、２７０、および２７５内）が、ローカルの経路表２００（図５）ならびに他の端末セットにおける経路表２００に取り込まれる（ｐｏｐｕｌａｔｉｏｎ）ことになる。
【００７０】
図６は、仮想的な３つの端末セットＡ、Ｂ、およびＣの間でのピア・バックアップの選択の結果を示す、概念的なブロック図である。図６では、各端末セットは、２つのマスタ「ポート」および２つのスレーブ「ポート」を有する１つのボックスとして示されている。第１の端末セット上のマスタ・ポートが第２の端末セット上のスレーブ・ポートと相互接続されている場合は、すなわち、第２の端末セットが第１の端末セットにスレーブ（すなわち、バックアップ）として割り当てられていることを示している。たとえば、端末セットＡと端末セットＢの間の相互接続７３１は、（図６では１次または２次バックアップとしてのＢの状態が示されていないが）ＢがＡのバックアップであることを示している。したがって、相互接続７３１、７３２、７３３、および７３４は集合的に、端末セットＢおよびＣがＡのバックアップとして割り当てられていること、端末セットＡがＢのバックアップとして割り当てられていること、ならびに端末セットＡがＣのバックアップとしても割り当てられていることを示している。このことは、他のそれぞれの端末セットのバックアップとして端末セットが働くことができることを実際に示している。
【００７１】
図６の各ポートおよび相互接続は、物理的なポートまたは相互接続に対応していないことが理解されるであろう。概念上の相互接続７３１、７３２、７３３、および７３４は、単なる例示のためにすぎず、実際には、各セットの経路表２００（図５）におけるセットＡ、Ｂ、およびＣのＭＡＣアドレスを、バックアップの列２６０および／または２７０において適切に識別するような他の手段によって実施される。
【００７２】
図７は、本発明の一実施形態による、バックアップ端末セットを選択する動作を示す。例示的な１つの例として、図１の端末セット１００−１〜１００−９を対象とするバックアップの選択を以下で説明する。表１は、バックアップの選択が実施される端末セット１００−１〜１００−９のそれぞれのネットワーク・クラスを示す。
【００７３】
【表１】
2007516668.tif 000003
【００７４】
表１に示されるように、端末セット１００−１、１００−２、および１００−５〜１００−９は、クラス１の（サブ）ネットワーク１８に接続され、端末セット１００−３および１００−４は、クラス２の（サブ）ネットワーク１６に接続されている（図１）。
【００７５】
図７を参照すると、見込まれるバックアップ（すなわち、端末セット１００−１〜１００−９のすべて）が最初に、バックアップ端末セットとしての選択のために順序付けられる（１８１０）。この順序付けは、以下の表２に示されている。表２を参照すると、この実施形態では、見込まれるバックアップは、（１）ネットワーク・クラス（クラスの信頼性の降順）によって、また（２）バックアップ・タイプ（バックアップの優先順位の降順、すなわち１次の後に２次）によって順序付けられている。この実施形態における有効なバックアップ・スキームでは、各見込まれるバックアップが１次バックアップとしても２次バックアップとしても働くことになる故に、各見込まれるバックアップは、順序付けのために、１度は１次バックアップとして、１度は２次バックアップとして、２度リストに入れられる。ネットワーク・クラスとバックアップ・タイプとの一意の各組合せが、「グループ」を構成する。この実施形態では、２つのネットワーク・クラスが存在し、また、各端末セットが１次バックアップとしても２次バックアップとしても働くので、４つのグループが存在する。これらの４つのグループは、表２のグループ１〜４として識別される。
【００７６】
【表２】
2007516668.tif 000004
【００７７】
言い換えれば、端末セットは、見込まれるバックアップの、各「プール」が特定の信頼性（すなわち、ネットワーク・クラス）の端末セットを含む、Ｍ個のプールに入れられる。この場合、Ｍ＝２であることから、２つの信頼性レベル（すなわち、クラス１とクラス２）が存在するので、２つのプールが、すなわち第１のプール（セット１００−３および１００−４）と第２のプール（セット１００−１、１００−２、および１００−５〜１００−９）が作成される。第１および第２のプールは、表２のグループ１および２に対応する。グループ３および４は、グループ１および２の単なる複製にすぎず、見込まれる２次バックアップと見込まれる１次バックアップのそれぞれの立場で、同じ端末セットを表している。
【００７８】
表２に示されるように、順序位置１〜９（グループ１および２）の端末セットは、それぞれの立場を見込まれる１次（Ｐ）バックアップ端末セットとしてリストに入れられた、システム内のすべての端末セットを含む。順序位置１０〜１８（グループ３および４）の端末セットは、それぞれの立場を見込まれる２次（Ｓ）バックアップ端末セットとして（同じ順序で）リストに入れられている、順序位置１〜９の同じ１組の端末セットである。
【００７９】
グループ１、２、３、および４の各グループ内で、各端末セットは、それぞれのＭＡＣアドレス（図示せず）に従って順序付けされている。たとえば、表２の順序位置６および７では、ＤＮ２０７を有する端末セットは、ＤＮ２０６を有する端末セットよりも低いＭＡＣアドレスを有し、したがって、ＤＮ２０６を有する端末セットよりも先に選択されるように順序付けされる。こうしたグループ内での順序付けの基礎は、この実施形態の動作に必須のものではなく、諸代替実施形態によって異なることもある。
【００８０】
次に、最も信頼性の高いネットワーク・クラスにおける１組の端末セットが（ここでは、クラス１のネットワーク上の端末セット、すなわち端末セット１００−１、１００−２、および１００−５〜１００−９）、１次バックアップとして割り当てられることになる第１のプールの端末セットとして選出される（１８２０）。この選出は、信頼性の高いバックアップに対する初期選好を反映している。
【００８１】
その後、順序付けされたその１組の端末セット（表２）の索引が、第１の端末セットの順序番号にセットされ、この索引は、バックアップを受け取る第１の端末セットを、言い換えれば、第１の割当て先を表す（１８３０）。１８３０で識別される端末セットは、最も信頼性の低いネットワーク・クラスの端末セットとなり、より具体的には、最も信頼性の低いネットワーク・クラスにおけるすべての端末セットのうちの最も低いＭＡＣアドレスを有する端末セットとなる。最も信頼性の低いネットワーク・クラスが最初に選出されるということは、最も信頼性の低いネットワーク上の端末セットが最初にバックアップを受け取るというバックアップの割当てストラテジを反映している。「最も低いＭＡＣ番号」の判定基準（ｃｒｉｔｅｒｉｏｎ）は、単に２次的な順序付けスキームにすぎず、より重要性の低いものである。１８２０で識別された第１の受取り先（ｒｅｃｉｐｉｅｎｔ）に割り当てられることになる第１のバックアップは、最も信頼性の高いネットワーク・クラスからのものであることが理解されるであろう。この手法の原理は、最も信頼性の低いネットワーク上の端末セットが、最も信頼性の高いネットワーク・クラスの端末セットをそれぞれのバックアップとして受け取るべきである、ということである。
【００８２】
１８４０で、バックアップとして割り当てられる第１の端末セット（すなわち、端末セット１００−１）は、１８３０における索引の設定によって識別された、表２の現在の順序位置にある端末セット（すなわち、端末セット１００−３）に、１次（または第１レベルの）バックアップとして割り当てられる。したがって、この最初の繰返しでは、ネットワーク・クラス１におけるすべての端末セットのうちの最も低いＭＡＣアドレスを有する端末セット（端末セット１００−１）が、最も信頼性の低いネットワーク・クラスからの、最も低いＭＡＣアドレスを有する端末セット（端末セット１００−３）を対象とする１次バックアップとして割り当てられる。
【００８３】
次に、割り当てるための他のバックアップが存在するかどうかが評価される（すなわち、１次バックアップとしても２次バックアップとしても依然として割り当てられていない端末セットがあるかどうかに関する問合せが行われる）（１８５０）。割り当てるためのバックアップが残っていない場合（すなわち、すべてのバックアップが１次バックアップとしても２次バックアップとしても割り当てられた場合）は、ピアの選択が終了する。一方、１次バックアップとしても２次バックアップとしても割り当てられていない何らかの端末セットが（いずれかのプール内に）残っている場合は、見込まれるバックアップの現在のネットワーク・クラス（すなわち、現在のプール）内に、依然として２つの端末セットにバックアップとして割り当てられていない何らかの端末セットが残っているかどうかが評価される（１８６０）。
【００８４】
１８６０での評価が肯定的になされた場合は、次のバックアップの受取り先（すなわち、次の割当て先）の表２内の順序位置を示す索引が増分され（１８６５）、次のバックアップの割当てのために、ステップ１８４０に戻る。
【００８５】
一方、１８６０での評価が否定的になされた（すなわち、現在のネットワーク・クラス／現在のプールにおけるすべての端末セットが、２つの端末セットにバックアップとして割り当てられている）場合は、より信頼性の低いネットワーク・クラスを有する何らかの端末セットが存在するかどうか（すなわち、より信頼性の低い何らかの見込まれるバックアップのプールが存在するかどうか）が、さらに評価される（１８７０）。後者の評価が肯定的になされた場合は、１８４０に戻る前に新しいネットワーク・クラスについての処理を繰り返すために、１８８０で、ネットワーク・クラスが増分される（すなわち、次に信頼性の高いクラス番号にセットされる）。一方、１８７０での評価が否定的になされた場合は、各端末セットがそれぞれの２つのバックアップを受け取っていることとなり、選択が終了する。
【００８６】
分かりやすくするために、１８７０の「Ｙｅｓ」分岐は通常、あるグループの「購入時のままの」セットを対象とするバックアップの選択が完了したときに辿られることになる。一方、１８５０の「Ｎｏ」分岐は、新しい端末セットが端末セットの既存のグループに加わったときに辿ることができる。
【００８７】
バックアップの割当てが終了すると、バックアップ端末セットの割当ては、表３に示される通りとなる。
【００８８】
【表３】
2007516668.tif 000005
【００８９】
表３では、１番目の列が、バックアップ端末セットを識別し、２番目の列が、バックアップ・セットのネットワーク・クラスを指定し、３番目の列が、列１で識別されたセットがバックアップとして働く第１の端末セットを識別し（括弧内にはバックアップのタイプが識別されている）、４番目の列が、列１で識別されたセットがバックアップとして働く第２の端末セットを識別する（括弧内にはやはりバックアップのタイプが識別されている）。
【００９０】
表３のバックアップの割当て情報は、システム内の端末セットのそれぞれの経路表２００（図５）に、より詳細には、経路表２００の列２６０、２６５、２７０、および２７５に取り込まれる。バックアップの割当て情報は、各装置から周期的に送信されるＰＥＥＲ＿ＡＳＳＥＲＴメッセージを介して伝播される。結果的には、各端末セットにおける経路表２００は、図５に示されるような体裁となる。
【００９１】
表３に示されるように、バックアップ端末セットは、１つの端末セットにとっての１次バックアップとして働き、別の端末セットにとっての２次バックアップとして働くことができるので、２つの異なる端末セットの１次バックアップとして働くことも、２つの異なる端末セットの２次バックアップとして働くこともできる。たとえば、表３の最初の行を参照すると、端末セット１００−１は、端末セット１００−３の１次バックアップ端末セットであり、端末セット１００−８の１次バックアップ端末セットでもあることを理解することができる。表３の７番目の行を参照すると、端末セット１００−９は、端末セット１００−６の１次バックアップとして、また、端末セット１００−５の２次バックアップとして働いている。最後に、表３の最後の行に示されるように、端末セット１００−４は、端末セット１００−６の２次バックアップ端末セットとして、また、端末セット１００−９の２次バックアップ端末セットとしても働いている。ただし、バックアップが同じマスタにとっての１次バックアップと２次バックアップの両方として働くことはないことに留意されたい。
【００９２】
図７に示されるバックアップの選択は、より信頼性の低い（クラス２の）ネットワーク内の端末セットがより信頼性の高い（クラス１の）ネットワーク内のバックアップ端末セットを有することを可能にし、その結果、発呼者がＰＳＴＮから、たとえばイントラネット１４の障害が原因でより信頼性の低いネットワークにアクセスできなくなった場合にも、より信頼性の低いネットワーク（すなわち、サブ・ネットワーク１６）の端末セットが、より信頼性の高いネットワーク（すなわち、サブ・ネットワーク１８）上のバックアップの機能を有することができる。
【００９３】
いくつかの実施形態では、バックアップを必要とする端末セットはすべて、同じネットワーク・クラスを有することになる。かかる場合では、端末セットを、たとえばＭＡＣアドレスだけを使用して順序付けすることもできる。さらに、本発明の諸実施形態は、（たとえば、表２のように）ＭＡＣアドレスを識別子として使用して端末セットを順序付けることに限定されるものではない。たとえば、ＩＰアドレス、ＤＮ、シリアル番号など、他の識別子を使用することもできる。
【００９４】
図８は、図３のピア・バックアップ・モジュール１６０の構造をより詳細に示す機能ブロック図である。各端末セット１００−Ｘにおけるピア・バックアップ・モジュール１６０は、同じである。例示的な１つの例として、図６の仮想的な端末セットＡの観点から、ピア・バックアップ・モジュール１６０の動作を説明する。
【００９５】
バックアップ・マネージャ８１０は、どの端末セットが現在の端末セットＡの１次および２次バックアップとなるかを決定し、現在のセットＡがそれらのバックアップのマスタとなるために必要な措置を取る責任を負う。バックアップ・マネージャ８１０は、それ自体の対象を支援する、第１のマスタ・バックアップ・モジュール８３０および第２のマスタ・バックアップ・モジュール８４０の機能を管理し調整する。
【００９６】
ジャーナル・マネージャ８８０は、マスタ・データベース８５５（現在の端末セットＡの設定に関連するデータを含む）と、端末セットＡのスレーブのそれぞれ（すなわち、端末セットＢおよびＣであり、図示されてはいないが、それぞれのピア・バックアップ・モジュール１６０のインスタンスを有している）によって維持される「シャドウ」データベースとを同期化する責任を負う。シャドウ・データベースは、マスタ端末セットが使用不能になった場合にスレーブがそれをエミュレートするために維持している、マスタ端末セットのデータベースのコピーである。ジャーナル・マネージャ８８０は、現在の端末セットＡがスレーブとして働く各マスタ端末セットのデータベースのコピー（すなわち、端末セットＢおよびＣのマスタ・データベースのコピー）である、現在の端末セットＡによって維持される１対のシャドウ・データベース８１５と８２８とを同期化する責任も負う。ブロック８５４、８１４、および８２４は、それによってデータベース８５５、８１５、および８２８がそれぞれアクセスされるデータベース・モジュールである。
【００９７】
図８の残りのブロックは、マスタ端末セットとしての端末セットＡの役割、あるいは端末セットＢおよびＣのスレーブとしてのその役割に関するものである。次にこれらについて説明する。
マスタ端末セットとしての端末セットＡに関連するブロック
【００９８】
マスタ・バックアップ・モジュール８３０は、端末セットＡを対象とする第１のスレーブ（たとえば、端末セットＢ）を確立し、またはそのスレーブを取り除くための、現在の端末セットＡにおける別の端末セットとのマスタ側の相互作用を支配するスレッドである。モジュール８３０の動作を、以下でより詳細に説明する。マスタ・バックアップ・モジュール８４０は、それが端末セットＡを対象とする第２のスレーブ（たとえば、端末セットＣ）を確立し、またはそのスレーブを取り除くためのマスタ側の相互作用を支配する点を除けば、モジュール８３０に類似するものである。
【００９９】
ローカル・ジャーナル・モジュール８５０は、ローカル・ジャーナル８５１へのアクセスを提供する。ローカル・ジャーナル８５１は、マスタ・データベース８５５に最近発生した１組の変更（すなわち、現在の端末セットＡの構成に対する最近の変更）を表す。かかる変更は、スレーブ端末セットＢおよびＣに報告する目的で追跡される。
【０１００】
オブザーバ８９０は、ローカル・ジャーナル８５１の変更の有無を監視し、ジャーナル・マネージャ８８０がスレーブ端末セットＢおよびＣに対する変更の伝播を調整できるように、変更が検出されたことをジャーナル・マネージャ８８０に示す責任を負う。ジャーナル・マネージャ８８０は、たとえば報告すべき変更があるかどうかをオブザーバ・モジュール８９０に周期的に確認することができ、報告すべき変更がある場合は、ネットワーク３０に送信されるメッセージ（図１）を用いて、その変更をバックアップ端末セットＢおよびＣに報告する。
【０１０１】
スレーブ端末セットとしての端末セットＡに関連するブロック
スレーブ・モジュール８１１は、端末セットＡを、その他の端末セット（たとえば、セットＢ）を対象とする（１次と２次のいずれかの）スレーブとして確立し、またはスレーブとして取り除くための、現在の端末セットＡにおける別の端末セットとのスレーブ側の相互作用を支配するスレッドである。スレーブ・モジュール８１１の動作を、以下でより詳細に説明する。２次スレーブ・モジュール８２１は、それが端末セットＡを、別の端末セット（たとえば、端末セットＣ）を対象とする（１次と２次のいずれかの）スレーブとして確立し、またはスレーブとして取り除くためのスレーブ側の相互作用を支配する点を除けば、モジュール８１１に類似するものである。
【０１０２】
シャドウ・データベース８１５および８２８は、Ａがスレーブとして働く各マスタ端末セットのデータベースのコピー（すなわち、端末セットＢおよびＣのマスタ・データベースのコピー）である。第１のデータベース８１５は、端末セットＢが使用不能になった場合に端末セットＡがそれをエミュレートするのを可能にするために使用される（この例では、端末セットＡを端末セットＢの１次スレーブと仮定する）。バックアップのデータベース８１５内に格納される情報の例としては、たとえば、端末セットＢのユーザ・オプションおよび短縮ダイヤル設定を挙げることができる。第２のデータベース８２８は、データベース８１５に類似するものであるが、必要に応じて、端末セットＣ（この例では、端末セットＡをそれ自体の２次バックアップとして選択したものと推定される）をエミュレートするために使用される。
【０１０３】
端末セットＡが（使用不能な）マスタ端末セットＢの役割を果たしている（すなわち、バックアップとして「アクティブ化」されている）場合は、オブザーバ・モジュール８６０が、モジュール８１６を介して、使用不能なマスタのシャドウ・データベース８１５に対する変更を表すローカル・ジャーナル８２５の変更の有無を監視し、変更が検出されたことをジャーナル・マネージャ８８０に示す責任を負う。変更が検出された場合は、ジャーナル・マネージャ８８０は、同じ使用不能なマスタを対象に存在し得る他の任意のスレーブに対する変更の伝播を調整する。他のスレーブの識別は、たとえば、ローカルの経路表２００（図５）を検査することによって取得することができる。ジャーナル・マネージャ８８０は、マスタ端末セットＢが再び使用可能になった後の、マスタ端末セットＢに対する変更の伝播も調整する。
【０１０４】
図８では、マスタと２つのスレーブのそれぞれに対して１つのデータベースおよび１つのジャーナルしか示されていない。しかし、本発明のいくつかの実施形態では、マスタとスレーブのそれぞれに対して複数のデータベースおよびジャーナルが存在することを理解されたい。
【０１０５】
モジュール８２１、８２４、８２６、８２８、８３８、および８７０は（それぞれ）、端末セットＡがバックアップとして働いている他のマスタ端末セット（すなわち、端末セットＣ）にそれらが関連している点を除けば、モジュール８１１、８１４、８１６、８１５、８２５、および８６０に類似するものである。
【０１０６】
ジャーナル・マネージャ８８０は、報告すべき変更があるかどうかをオブザーバ・モジュール８６０、８７０に周期的に確認し、報告すべき変更がある場合は、その変更を該当するマスタ端末セットＢまたはＣに報告する。
【０１０７】
ＤＮ２１０を有する新しい端末セット１００−１０が、システム１０のサブ・ネットワーク１６（図１）に接続された場合は、その新しい端末セットに１次および２次バックアップ端末セットが提供されることが好ましいはずである。しかし、端末セット１００−１〜１００−９が定常状態のコンディションにあると仮定すると、新しい端末セットのバックアップとして働かせるのに使用可能な端末セットが存在しないことになる。特に、新しい端末セットのバックアップとして働かせるのに使用可能な、（それらの最高の信頼性の故にバックアップとして好ましい）より信頼性の高いサブ・ネットワーク１８内の端末セットが存在しないことになる。
【０１０８】
この場合では、新しい端末セット１００−１０は、（ピアの発見動作を通じてそれ自体がネットワークに接続されたときに構築する）経路表２００の列２７０を検査して、現在２次バックアップとして働いている何らかの端末セットがネットワーク・クラス１内にある（すなわち、最も信頼できる）かどうかを判定することができる。それ自体の経路表２００が図５の例示的な経路表２００に示される情報を反映していると仮定すると、この検査により、たとえば端末セット１００−８および１００−９が上記のカテゴリに入っていることを明らかにすることができる。
【０１０９】
この場合では、新しい端末セットは、現時点で端末セット１００−８および１００−９をそれ自体のバックアップとして有しているマスタ端末セットのそれぞれに対して（たとえば、端末セット１００−２および１００−５のそれぞれに対して）、それぞれの２次バックアップを引き渡すよう求める先取りメッセージを送信することができる。その後、新しい端末セット１００−１０は、端末セット１００−８に対して、端末セット１００−１０の１次バックアップになるよう求めるメッセージを送信することができる。同様に、新しい端末セット１００−１０は、端末セット１００−９に対して、端末セット１００−１０の２次バックアップになるよう求めるメッセージを送信することができる。
【０１１０】
その後、この先取りの結果としてそれぞれの２次バックアップを失った各端末セット１００−２および１００−５は、新しい端末１００−１０に対して、それぞれの２次バックアップとなるよう求めるメッセージを送信することができる。
【０１１１】
図９は、図８のマスタ・バックアップ・モジュール８３０をより詳細に示す。マスタ・バックアップ・モジュール８３０は、マスタ端末セットにおける、単一のバックアップ端末セットを割当て、割当てを解除し、先取りを行うための動作を支配する状態マシンを構成することが、理解されるであろう。したがって、各端末セットが１次および２次バックアップを有するこの実施形態では、第２のバックアップ端末セットの割当て、割当ての解除、および先取りを行うための、マスタ・バックアップ・モジュールの第２のインスタンス（すなわち、図８のモジュール８４０）も存在することになる。図９に示される状態マシンは、状態間の流れ図の諸ステップに類するステップを組み込んでおり、したがって図９は、流れ図および／または状態マシンの形であると見なし得ることが、理解されるであろう。この状態マシンを、マスタ端末セットとしての立場の端末セットＡによる動作に関連して説明する。
【０１１２】
まず、端末セットＡが、どのようなバックアップも割り当てられていないアイドル状態９２０に入る。バックアップ・マネージャ８１０から、バックアップを追加するよう求める命令があると（これは、ブート・アップ、ネットワーク３０への新しい端末セットの追加、ネットワーク３０からの既存の端末セットの除去、または既存の端末セットの使用可能状態への復帰に続いて、バックアップ・マネージャ８１０がそのスレーブの関係を検査した後に発生することがある）、見込まれる端末セットに対して、端末セットＡのバックアップの役割を果たすよう要求する作成要求（Ｃｒｅａｔｅ  Ｒｅｑｕｅｓｔ）メッセージが送信される（９３４）。次いで、端末セットＡは、「作成」状態９４０に関連する見込まれるバックアップ端末セットからの、端末セットＡのバックアップの役割を果たすことへのその意思を反映する肯定的な作成応答（Ｃｒｅａｔｉｎｇ  Ｒｅｓｐｏｎｓｅ）メッセージを待つ。バックアップ端末セットからの肯定的な作成応答メッセージが受信されると、そのバックアップ端末セットは、ローカル・ジャーナル・モジュール８５０が維持しているローカル・ジャーナルにオブザーバとして追加される（９４４）。すなわち、作成応答メッセージは、ブロック８１０に到達し、処理のためにブロック８３０または８４０へと（その特定のスレーブとの関係を管理しているいずれかのブロックへと）経路指定される。スレーブ端末は、マスタ・データベース（８５５）のオブザーバ（８９０）となり、ローカル・ジャーナル・モジュール（８５０）によって維持される。このことは、こうすることでローカル・データベースへの変更にスレーブが気付くようになることを意味する。次いで、端末セットＡは、こうしてバックアップが割り当てられたアクティブ状態９５０に入る。
【０１１３】
バックアップ端末セットとして使用可能な端末セットが存在しない場合は、別の端末セットにそのバックアップの１つを手放させる動作をトリガするための先取りイベントが、バックアップ・マネージャ８１０によって開始される。この場合では、現在の端末セット（セットＡ）は、（上述したような、最も信頼性の高い２次バックアップを有するものとして識別され得る）別のマスタ端末セットに対して、そのバックアップの１つが引き渡されるようにするための先取り（Ｐｒｅ−ｅｍｐｔ）メッセージを送信する（９２４）。次いで、端末セットＡは、その他のマスタ端末セットからの、バックアップ端末セットが手放されたことを示す肯定的な先取り応答（Ｐｒｅ−ｅｍｐｔ  Ｒｅｓｐｏｎｓｅ）を待つ（９３０）。
【０１１４】
その後、端末セットＡは、上述したような９３４から始まる動作を続けることにより、アクティブ状態９５０に移行すると、この時点で、引き渡されたバックアップが現在の端末セットに割り当てられた状態になる。
【０１１５】
状態９５０で、たとえばマスタ端末セットがネットワークから取り除かれる故に、バックアップ・マネージャ８１０が、そのマスタ端末セットからの割当て済みバックアップ端末セットの割当て解除を開始した場合は、そのバックアップ端末セットは、ローカル・ジャーナル・モジュール８５０が維持しているジャーナルのオブザーバとして取り除かれる（９５６）。このシナリオでは、バックアップ・マネージャ８１０は、ローカル端末セットがネットワークから取り除かれようとしていることをバックアップ・マスタ８３０に知らせるはずである。次いで、バックアップ・マスタ８３０は、削除要求（Ｄｅｌｅｔｅ  Ｒｅｑｕｅｓｔ）をスレーブに送信するはずである。削除応答（Ｄｅｌｅｔｅ  Ｒｅｓｐｏｎｓｅ）が受信されると、マスタ・データベース８５５のオブザーバ・エントリ８９０が、取り除かれ、もはやローカル・ジャーナル・モジュール８５０によって監視されることはなくなるはずである。次いで、マスタ端末セットＡは、そのバックアップに対して、それがもはや端末セットＡのバックアップとして必要とされなくなった旨を命令するためのバックアップ削除要求（ｂａｃｋｕｐ  ｄｅｌｅｔｅ  ｒｅｑｕｅｓｔ）を送信する（９５８）。次いで、端末セットＡは、アイドル状態９２０に戻る前に、バックアップ端末セットがそれ自体の経路表２００から、端末セットＡをマスタとするすべての参照を取り除いたことを示す肯定的な削除応答を待つ（９７０）。
【０１１６】
その代わりに、状態９５０から、端末セットＡにそのバックアップの１つを手放すよう要求する、別の端末セットからの先取り要求が受信された場合は、バックアップ・マネージャ８１０は、それ自体のバックアップＢをローカル・ジャーナル・モジュール８５０が維持しているジャーナルのオブザーバとして取り除くための削除要求イベントを開始する（９５２）。バックアップ・マネージャ８１０は、先取り要求を処理のためにバックアップ・マスタ８３０へと経路指定するはずである。すなわち、マスタ・バックアップ・モジュール８３０は次いで、スレーブへの削除要求を開始するはずである。削除応答が受信されると、マスタ・データベース８５５のオブザーバ・エントリ８９０が、取り除かれ、もはやローカル・ジャーナル・モジュール８５０によって監視されることはなくなるはずである。次いで、端末セットＡは、バックアップＢに対して、それが先取りされることを示すバックアップ削除要求を送信する（９５４）。次いで、端末セットＡは、バックアップ端末セットＢがセットＡをマスタ端末セットとするすべての参照を取り除いたことを示す肯定的な削除応答を待つ（状態９６０）。バックアップＢからの肯定的な削除応答が受信されると、端末セットＡは、先取りイベントを開始した端末セットに肯定的な先取り応答を送信する（ステップ９６４）。次いで、端末セットＡは、アイドル状態９２０に戻る。
【０１１７】
図１０は、図８のスレーブ・モジュール８１１をより詳細に示す。スレーブ・モジュール８１１は、端末セットＡにおける、第１のマスタへのそのバックアップとしての割当ておよび割当ての解除を有効化するためのスレーブ側の動作を支配する状態マシンを構成することが、理解されるであろう。端末セットＡをバックアップとして第２のマスタに割当て、その割当てを解除するための、スレーブ・モジュールの第２のインスタンス（すなわち、図８のモジュール８２１）も存在する。図１０のモジュール８１１は、状態マシンの状態間の流れ図の諸ステップに類するステップを組み込んでおり、したがって図１０は、流れ図および／または状態マシンの形であると見なし得ることが、理解されるであろう。端末セットＢにバックアップとして割り当てられ、その割当てが解除される端末セットＡの観点から、図１０を説明する。
【０１１８】
モジュール８１１は当初、端末セットＡがバックアップとして依然として割り当てられていないことを表す、アイドル状態１０２０にある。端末セットＢは、「端末セットＡをそれ自体のバックアップとする」ことを望む場合は、端末セットＡに作成要求メッセージを送信する。端末セットＡにおいて作成要求メッセージが受信されると、端末セットＡのバックアップ・マネージャ８１０が、セットＢが使用不能なときに端末セットＡがその役割を果たす際に使用する情報を、見込まれるマスタ端末セットＢから受信するために、シャドウ・データベース８１５を作成するプロセスを開始する（１０２２）。バックアップ・マネージャ８１０は、使用不能なマスタのシャドウ・データベース８１５に対する変更があればそれを追跡する際に使用される、バックアップのデータベース８１５用のジャーナル８２５を作成するプロセスも開始する（１０２４）。次いで、端末セットＡは、その要求が実施されたことを示す作成応答ＯＫ（Ｃｒｅａｔｅ  Ｒｅｓｐｏｎｓｅ  ＯＫ）メッセージを用いて端末セットＢに応答し（１０２６）、マスタ端末セットＢのバックアップとして割り当てられたアクティブ状態１０３０に入る。
【０１１９】
マスタ端末セットＢは、後で端末セットＡをそれ自体のバックアップとして取り除くことを望んだ場合は、端末セットＡに削除要求を送信する。端末セットＢからの削除要求が受信されると、端末セットＡのバックアップ・マネージャ８１０が、それぞれ１０２２および１０２４で作成されたバックアップのデータベース８１５およびジャーナル８２５の除去を開始する（１０３４）。次いで、端末セットＡは、マスタ端末セットＢに対して、その削除要求が成功したことを示す削除ＯＫ応答（Ｄｅｌｅｔｅ  ＯＫ  ｒｅｓｐｏｎｓｅ）を送信した後、バックアップとしての割当てが解除されているアイドル状態１０２０に戻る（１０３８）。
【０１２０】
図１１は、バックアップとして割り当てられた端末セットのジャーナル・マネージャ８８０の動作を支配する、状態マシン／流れ図を示す。端末セットＢとＣのぞれぞれのバックアップとして働くものと仮定された端末セットＡの観点から、図１１を説明する。
【０１２１】
まず、端末セットＡのジャーナル・マネージャ８８０が、ジャーナル変更状態の待ち状態１１２０に入る。それ自体のバックアップＢまたはＣのいずれか１つからの更新が受信されると（すなわち、たとえばユーザの指定した端末セット構成への変更に基づく、マスタ端末セットＢまたはＣのいずれかのマスタのデータに対する変更の指示が受信されると）、シャドウ・データベース８１５、８２８（図８）のうちの該当する１つが更新される。次いで、ジャーナル・マネージャ８８０は、肯定応答（ＡＣＫ）メッセージを用いて、その更新を送信したマスタ端末セットに応答し（１１２４）、ジャーナル変更状態の待ち状態１１２０に戻る。
【０１２２】
ローカル・ジャーナル・モジュール８５０からのマスタ・データベース８５５が変更された旨の（その変更をスレーブに伝播すべきであるといった）指示を、ジャーナル・マネージャ８８０が（オブザーバ８９０を介して）受信した場合は、タイマが始動され（１１２６）、ジャーナル・マネージャ８８０は、アクティブ状態１１３０に入る。タイマは、送信すべき何らかのデータがあるかどうかを検査するために、すなわち、ジャーナル・マネージャ８８０がオブザーバ８９０を周期的にポーリングするために使用される（タイマの満了は、図１４の動作１４５２に対応する）。一代替実施形態は、ポーリングの代わりに非同期通知を利用することもできることが、理解されるであろう。アクティブ状態１１３０においてタイマが満了すると、ジャーナル・マネージャ８８０は、バックアップ端末セットＢおよびＣに送信すべき変更が存在するかどうかをオブザーバ・モジュール８９０に確認する（１１３６）。送信すべき変更がある場合は、その変更が端末セットＢとＣの両方に送信される（１１３８）。次いで、タイマがリセットされ、始動され（１１４０）、マスタ端末は、アクティブ状態１１３０に戻る。
【０１２３】
１１３６で、バックアップ端末セットＢおよびＣに送信すべき変更が存在しない場合は、ジャーナル・マネージャ８８０は、ジャーナル変更状態の待ち状態１１２０に戻る。ジャーナル・マネージャ８８０が、状態１１３０から、１１３８で送信した変更に応答するいずれかのバックアップ端末セットからの肯定応答メッセージを受信した場合は、その変更を報告すべき変更のリストから取り除くことができ、ジャーナル・マネージャ８８０は、アクティブ状態１１３０に戻る。
【０１２４】
アクティブ状態１１３０の間に、端末セットＢまたはＣのいずれかからの変更の指示が受信された場合は、シャドウ・データベース８１５、８２８のうちの該当する１つが更新され（１１３２）、次いで、ジャーナル・マネージャ８８０は、肯定応答メッセージを用いて、端末セットＢおよびＣのそれぞれ１つに応答する。次いで、バックアップ端末セットのジャーナル・マネージャは、アクティブ状態１１３０に戻る。
【０１２５】
図１２は、マスタ端末セットとバックアップ端末セットの間での、マスタへのバックアップ端末セットの割当ておよびマスタからのその割当ての解除を行うための信号を示すシーケンス図である。端末セットＡがマスタ端末セットであり、端末セットＢがバックアップ端末セットであると仮定して、図１２を説明する。図１２を説明する際は、マスタ端末セットＡおよびバックアップ端末セットＢにおいて動作するモジュール８３０および８１１をそれぞれ示す、図９および１０を参照する。
【０１２６】
端末セットＢにそのバックアップ端末セットが割り当てられるようにするために、端末セットＡは、端末セットＢにバックアップ作成要求（Ｃｒｅａｔｅ  Ｂａｃｋｕｐ  Ｒｅｑｕｅｓｔ）１２１０を送信する（図９の９３４）。このメッセージは、端末セットＢに端末セットＡのバックアップとなるよう命令し、さらに、これにより端末セットＢにおいて、端末セットＡを対象とするデータベース８１５、ジャーナル８２５、およびオブザーバ８６０が作成されることになる。それがバックアップとして働くことができると仮定すると、端末セットＢは、肯定的なバックアップ作成応答（Ｃｒｅａｔｅ  Ｂａｃｋｕｐ  Ｒｅｓｐｏｎｓｅ）１２２０を用いて応答する（図１０の１０２６）。肯定的なバックアップ作成応答１２２０が受信されると、端末セットＡは、端末セットＢを端末セットＡのローカル・ジャーナル・モジュール８５０が維持しているローカル・ジャーナル８５１に、オブザーバ８９０として追加する（図９の９４４）。この段階で、端末セットＢは、端末セットＡのバックアップとなる。したがって、端末セットＡは、アクティブ状態９５０（図９）にあり、端末セットＢは、アクティブ状態１０３０（図１０）にある。
【０１２７】
再び図１２を参照すると、後のある時点で端末セットＢがもはや端末セットＡのバックアップとして必要でなくなった場合は、端末セットＡは、端末セットＢにバックアップ削除要求１２３０を送信する（図９の９５８）。バックアップ削除要求１２３０が受信されると、端末セットＢは、端末セットＡに関連するすべてのデータベースおよびジャーナルを削除し（図１０の１０３４）、これが成功したものと仮定すると、肯定的なバックアップ削除応答（Ｄｅｌｅｔｅ  Ｂａｃｋｕｐ  Ｒｅｓｐｏｎｓｅ）１２４０を用いて応答する（図１０の１０３８）。この段階で、端末セットＢは、もはや端末セットＡのバックアップではなく、したがって、端末セットＡがアイドル状態９２０（図９）となり、端末セットＢがアイドル状態１０２０（図１０）となる。
【０１２８】
図１３は、あるマスタ端末セットが、別のマスタ端末セットにおけるバックアップ端末セットの割当てを先取りするシーケンス図である。例示的な１つの例として、図１３では、当初、端末セットＡが端末セットＣをバックアップ端末セットとして有しているものと仮定され、端末セットＢがそれ自体のバックアップ端末セットとして端末セットＣを獲得する措置を取ることが仮定されている。図１３を説明する際は、端末セットＡにおけるモジュール８３０（および／または８４０）の動作を示す図９と、端末セットＢおよびＣにおけるモジュール８１１（および／または８２１）の動作を示す図１０とをそれぞれ参照する。
【０１２９】
まず、端末セットＣが端末セットＡのバックアップとして割り当てられるように、図１２に関して上述した様式で、バックアップ作成要求メッセージ１３１０およびバックアップ作成応答メッセージ１３２０が、端末セットＡとＣの間で交換されたものと仮定する。
【０１３０】
端末セットＢは、後のある時点で端末セットＣをそれ自体のバックアップとして獲得することを望んだ場合は、端末セットＡに先取り要求１３３０を送信する（図９の９２４）。先取り要求１３３０が受信されると、端末セットＡは、上述したようなバックアップ削除要求メッセージ１３４０およびバックアップ削除応答メッセージ１３５０を端末セットＣとの間で交換することにより、それ自体のバックアップ端末セットとしての端末セットＣの割当てが解除されるようにする（図９の９５４および図１０の１０３８）。肯定的なバックアップ削除応答１３５０が受信されると、端末セットＡは、端末セットＢに対して、端末セットＣが現在バックアップとして使用可能であることを示す肯定的な先取り応答１３６０を送信する（図９の９６４）。次いで、端末セットＢは、端末セットＣが端末セットＢのバックアップとなるようにするために、上述したようなバックアップ作成要求メッセージ１３７０およびバックアップ作成応答メッセージ１３８０を端末セットＣとの間で交換する。
【０１３１】
図１４は、端末セットＢのマスタ端末セットとしての役割の端末セットＡによる、アプリケーションが初期化されたときのメッセージングのシーケンス図である。図１４では、バックアップ端末セットが音声メール・モジュール８０の一部を形成する音声メール・アプリケーションをバックアップすることが望まれる例示的な１つの例の、端末セットＡの辿るプロセスが示されている。ただし、本発明は、音声メール・アプリケーションのバックアップに限定されるものではない。本発明は、たとえば着呼をどのように処理すべきかを支配する「呼制御」アプリケーションを対象とする、ユーザ選好および短縮ダイヤルをバックアップするために使用することもできる。
【０１３２】
音声メール・モジュール８０内のアプリケーションが初期化されたときは、音声メール・モジュール８０は、信号１４１０で示されるデータベースを作成する（諸代替実施形態では、２つ以上のデータベースを作成してもよく、たとえば、複数のデータベースを使用して、音声メール・データを優先順位別に、たとえば優先順位の高いメッセージと通常の優先順位のメッセージとに分けるなどして分離することもできる）。別の端末セット（端末セットＢ）上でデータベースをバックアップすることが望まれているので、アプリケーションは、端末セットＡにおけるピア・バックアップ・モジュール１６０のバックアップ・マネージャ８１０に対して、データベースＩＤを含むバックアップＤＢメッセージ１４１２を送信する。バックアップＤＢメッセージ１４１２が受信されると、バックアップ・マネージャ８１０は、ローカル・ジャーナル・モジュール８５０に対して、音声メール・アプリケーション用のローカル・ジャーナルを作成するための信号１４１４を送信する。このジャーナルは、データベースに最近発生した１組の変更を表す。次に、ローカル・ジャーナル・モジュール８５０は、ローカル・ジャーナル・モジュール８５０をオブザーバとして追加するためのメッセージ１４１６をデータベースに送信し、オブザーバをそのリストに追加する（１４１８）。オブザーバの目的は、データベース内の変更を追跡することにある。バックアップ・マネージャ８１０は、マスタ・バックアップ・モジュール８３０に対して、データベースおよびジャーナルを作成し、端末セットＢ上のジャーナルにオブザーバを割り当てるよう要求する、バックアップ作成メッセージ１４２０を送信する。図１４では、分かりやすくするために、バックアップ作成メッセージ１４２０を介して行われる要求が、マスタ・バックアップ・モジュール８３０だけに送信されるように示してあるが、データベースおよびジャーナルを作成し、端末セットＣ上のジャーナルにオブザーバを割り当てることに関連のあるマスタ・バックアップ・モジュール８４０についても、同様の要求が行われることを理解されたい。
【０１３３】
マスタ・バックアップ・モジュール８３０は、端末セットＢに対して、バックアップ端末セット（端末セットＢ）においてアプリケーション用のデータベースおよびジャーナルを作成し、端末セットＢのジャーナルに端末セットＢのオブサーバを割り当てるよう命令する、要求１４２４を送信する。端末セットＢは、Ｂがバックアップとなることに同意し、該当するジャーナル・エントリを作成したことを示す、肯定的なバックアップ作成応答１４３０を用いて応答する。次いで、マスタ・バックアップ・モジュール８３０は、バックアップ・マネージャ８１０に対して、端末セットＢをバックアップ端末セットとして登録するよう要求するバックアップ登録（ｒｅｇｉｓｔｅｒ  ｂａｃｋｕｐ）メッセージ１４３２を送信する。次いで、バックアップ・マネージャ８１０は、端末セットＢをローカル・ジャーナル・モジュール８５０にオブザーバとして追加するよう要求する、信号１４３４を送信する。次いで、ローカル・ジャーナル・モジュール８５０は、オブザーバ・モジュール８９０に対して、端末セットＢに（端末セットＡの）オブザーバを作成するためのオブザーバ作成（ｃｒｅａｔｅ  ｏｂｓｅｒｖｅｒ）メッセージ１４３６を送信する。ローカル・ジャーナル・モジュール８５０は、音声メール・モジュール８０に対して、音声メール・モジュール８０のデータベースからレコードを検索するための信号１４３８を送信する。次いで、ローカル・ジャーナル・モジュール８５０は、オブザーバ・モジュール８９０に対して、ローカル・ジャーナル・モジュール８５０が維持しているローカル・ジャーナルにおいてそのアプリケーションについて検索されたレコード（すなわち、所与のバックアップに送信される必要のある、データベースに対する１組の修正）を表すエントリを変更リストに追加するよう命令する、信号１４４０を送信する。
【０１３４】
ジャーナル・マネージャ８８０は後のある時点で（たとえば、装置が使用不能期間の後、使用可能な状態に復帰したときに）、オブザーバ・モジュール８９０に対して、アプリケーション用の変更リストをオブザーバ・モジュール８９０から検索するための変更リスト取得（ｇｅｔ  ｃｈａｎｇｅ  ｌｉｓｔ）メッセージ１４４２を送信する。次いで、ジャーナル・マネージャ８８０は、端末セットＢに対して、アプリケーション用のデータベースをそれぞれ更新するよう命令する更新要求（ｕｐｄａｔｅ  ｒｅｑｕｅｓｔ）メッセージ１４４４を送信する。
【０１３５】
図１４に示されるように、音声メール・アプリケーションが（たとえば、発呼者が音声メール・メッセージを残した後に）新しいデータを生成すると、そのデータは、信号１４４６を介して音声メール・モジュール８０のデータベースに追加され、または修正される。また、新しいデータが生成されると、音声メール・モジュール８０のデータベースからローカル・ジャーナル・モジュール８５０に対して、音声メール・モジュール８０内のデータベースからの新しいデータを含むＤＢ変更更新（ＤＢ  ｃｈａｎｇｅ  ｕｐｄａｔｅｓ）１４４８の信号が送られることになる。これに応答して、ローカル・ジャーナル・モジュール８５０は、その新しいデータをアプリケーション用のローカル・ジャーナルに追加し、オブザーバ・モジュール８９０に対して、アプリケーション用の変更リストを更新するよう命令するメッセージ１４５０を送信する。ジャーナル・マネージャ８８０は後のある時点で、オブザーバ・モジュール８９０に対して、オブザーバ・モジュール８９０からアプリケーション用の変更リストを検索するための変更リスト取得メッセージ１４５２を送信する。次いで、ジャーナル・マネージャ８８０は、端末セットＢに対して、アプリケーション用の対応するデータベースを更新するよう命令する更新要求メッセージ１４５４を送信する。
【０１３６】
図１５は、別の端末セットのバックアップになるときのバックアップ端末セットのメッセージングを示すシーケンス図である。この例では、端末セットＡのバックアップの役割を果たすときの端末セットＢにおける動作を説明する。
【０１３７】
まず、端末セットＢが、マスタ端末セットＡから、端末セットＢにセットＡのバックアップとして働くよう求める要求を構成する、バックアップ作成要求（Ｂａｃｋｕｐ  Ｃｒｅａｔｅ  Ｒｅｑｕｅｓｔ）１５１０を受信する。端末セットＢのバックアップ・マネージャ８１０が、データベース・モジュール８１４に対して、マスタ上で走っているアプリケーションからの、たとえば音声メール・アプリケーションからのデータ用のデータベースを（スレーブ端末セットＢにおいても）作成するための、バックアップ・データベース（すなわち、シャドウ・データベース）作成（ｃｒｅａｔｅ  ａ  ｂａｃｋｕｐ  ｄａｔａｂａｓｅ）メッセージ１５２０を送信する。バックアップ・マネージャ８１０はその後、（端末セットＢ内のすべての）ジャーナル・モジュール８１６に対して、端末セットＢ上で走っているアプリケーション用のバックアップ・ジャーナル８２５を作成するようバックアップのジャーナル・モジュール８１６に命令する、バックアップ・ジャーナル作成（ｃｒｅａｔｅ  ｂａｃｋｕｐ  ｊｏｕｒｎａｌ）メッセージ１５２２を送信する。端末セットＢのバックアップ・マネージャ８１０は、ジャーナル・モジュール８１６に対して、後者のモジュールにマスタ端末セットＡをバックアップのデータベースにオブザーバとして追加するよう命令する、メッセージ１５２４も送信する。さらに、端末セットＡのその他のバックアップ端末セット（すなわち、第２のスレーブ）が、バックアップのデータベースにオブザーバとして追加される。
【０１３８】
次いで、バックアップのジャーナル・モジュール８１６は、オブザーバ・モジュール８６０に対して、後者のモジュールにマスタ端末セットにおいて走っているアプリケーション用のオブザーバをバックアップ端末セットにおいて作成するよう命令する、作成（ｃｒｅａｔｅ）信号１５３０を送信する。次いで、端末セットＢのバックアップ・マネージャ８１０は、マスタ端末セットＡに対して、端末セットＢが現在端末セットＡのバックアップとして割り当てられていることを示す、バックアップ作成応答ＯＫ（ｂａｃｋｕｐ  ｃｒｅａｔｅ  ｒｅｓｐｏｎｓｅ  ＯＫ）メッセージ１５４０を開始する。このメッセージは、マスタ端末セットＡ上で走っているアプリケーション用のデータベース、バックアップ・ジャーナル、およびオブザーバが作成されたことを確認する。
【０１３９】
マスタ端末セットＡは後のある時点で、バックアップ端末セットＢに対して、端末セットＢのジャーナル・マネージャ８８０から受信したジャーナル更新要求（ｊｏｕｒｎａｌ  ｕｐｄａｔｅ  ｒｅｑｕｅｓｔ）１５５０を送信する。端末セットＢのジャーナル・マネージャ８８０は、端末セットＢにおけるバックアップのデータベース・モジュール８１４に対して、端末セットＢ上のアプリケーション用に作成されたバックアップのデータベース８１５への取込みを行う、更新（ｕｐｄａｔｅ）メッセージ１５５４を送信する。
【０１４０】
図１６は、バックアップのマスタ端末セットが使用不能であるときの、バックアップ端末セットのシーケンス図である。この例では、バックアップ端末セットを端末セットＡと仮定し、マスタ端末セットを端末セットＢと仮定する（図６）。
【０１４１】
マスタ端末セットＢが呼を受信するのに使用不能であるときは、スレーブ端末セットＡのジャーナル・マネージャ８８０が、（たとえば、すべてのピアに関する「アップ／ダウン」状態を監視する、ピア・ツー・ピア・サブシステムまたはモジュールから）ジャーナル・マネージャ８８０がＢのデータベースにおけるＡのコピーへのローカル変更に関する更新をマスタ端末セットＢに送信しない旨を示す、メッセージ１６１０を受信する。マスタ端末セットＢに宛てられた呼が、１次バックアップ（端末セットＡ）に転送される。たとえば、呼を開始した端末セットのピア・ツー・ピア・サブシステムは、それ自体の「呼制御」アプリケーションに対して、端末セットＢがダウンしているときはそれを対象とする呼を端末セットＡに渡すよう命令することができる。スレーブ端末セットＡのアプリケーションがマスタ端末セットＢのアプリケーションの代わりに走っている間に、そのアプリケーションに関連するデータベースに対する変更が生じたときは、スレーブ端末セットＡで走っているアプリケーションが、バックアップのデータベース・モジュール８１４に対して、その変更を記録するよう要求するレコード追加（ａｄｄ  ｒｅｃｏｒｄ）メッセージ１６２０を送信する。バックアップのデータベース・モジュール８１４は、データベース８１５の変更を実施し、（メッセージ１６３０を介して）そのデータベースに関連するジャーナルの変更の記録をバックアップのジャーナル・モジュール８１６に通知する。次いで、バックアップのジャーナル・モジュールは、オブザーバ・モジュール８６０に変更リストへの追加（ａｄｄ  ｔｏ  ｃｈａｎｇｅ  ｌｉｓｔ）メッセージ１６４０を送信する。
【０１４２】
図１７は、それ自体のマスタ端末セットが使用不能期間の後に使用可能になったときの、バックアップ端末セットのシーケンス図である。図１７に関する以下の説明では、端末セットＡがマスタ端末セットであり、端末セットＢがバックアップ端末セットであると仮定している。
【０１４３】
端末セットＡが使用不能状態にあった後、呼を受けるのに使用可能になったときは、（たとえば、セットＢのピアの状態を監視する、セットＢのローカルのピア・ツー・ピア・サブシステムまたはモジュールからの）ピア・アップ（ｐｅｅｒ  ｕｐ）メッセージ１７１０が、バックアップ端末セットＢのジャーナル・マネージャ８８０によって受信される。端末セットＢのジャーナル・マネージャ８８０は、端末セットＢのジャーナル・オブザーバ・モジュール８６０に対して、端末セットＡが使用不能であった間に（端末セットＢのシャドウ・データベース内の）端末セットＡの情報に加えられた変更に関連する変更リストを検索するための、変更リスト取得メッセージ１７２０を送信する。ジャーナル・オブザーバ・モジュール８６０は、メッセージ１７２５において、その変更リストを端末セットＢのジャーナル・マネージャ８８０に転送する。次いで、ジャーナル・マネージャ８８０は、ジャーナル更新要求１７３０を開始し、これをマスタ端末セットＡに送信する。
【０１４４】
図１８は、バックアップが割り当てられた後に、図１の電話システム１０内の宛先端末セットへの呼を開始する動作の流れ図である。
【０１４５】
呼の発信元、たとえばネットワーク３０に接続された電話端末セットのうちの１つが、たとえば発信元の端末セットのユーザからの所望の宛先セットに関するＤＮのエントリに応答して、ネットワーク３０上の別の電話端末に接続しようと試みる（６００）。たとえば、宛先電話セットがネットワークから切断され、ポートを消失した故に、または宛先セットの呼処理スレッド７２、７３、７４、および７５（図４）がすべて使用されている故に、宛先端末セットが使用不能である場合は（６０５）、発信元の電話セットにより、そのローカルの経路表２００の列２６０から第１のバックアップが識別される。
【０１４６】
次いで、発信元の端末セットは、列２２０または２３０のうちの１つの対応する宛先アドレスを使用して、１次バックアップ端末セットを呼び出そうと試みる（６１０）。この呼が失敗した場合（すなわち、１次バックアップも使用不能である場合）は、経路表２００の列２７０から、その使用不能なマスタ用の２次バックアップ番号に関する情報が検索される。次いで、表２００から検索された２次バックアップ・セットの宛先アドレスを使用して、そのセットに対する呼出しが試みられる（６２０）。
【０１４７】
呼出しが試みられている対象の端末セットは、受信元であるその端末セットが呼を受けるのに使用可能である場合にしか、応答すべき呼を知らせるのに鳴動することができないことに留意されたい。他のどのような場合でも、単に呼処理スレッドと、呼に応答する端末の音声メール・モジュールとを協働させることにより、関連する端末セットを鳴動させることなく、呼を処理することができる。
【０１４８】
いくつかの実施形態では、端末に特有でない一般的な呼処理機能が提供される。一般的な呼処理としては、たとえば、個人化された挨拶の代わりに一般的な音声メールの挨拶（たとえば、「ただ今電話に出ることができません。メッセージを残して下さい。」）を再生することを挙げることができる。
【０１４９】
呼の宛先である端末セット、またはその端末セットのバックアップとしてアクティブ化されている端末セットのいずれかが呼を受信したときは、その端末セットは、所望の宛先電話セットに対する呼出しが無事完了したことが発信元に示されるような様式で、その呼を受ける。これにはたとえば、所望の電話セットを対象とする個人化された音声メールの挨拶を再生すること、および音声メールまたは呼の転送を処理する何らかのユーザ・オプションが必要なこともある。
【０１５０】
一方、この一般的な呼処理機能を用いると、端末がバックアップとして指定されていない端末セットの代わりに呼を受けることが可能になる。一般的な処理機能は、図１８に示されている。
【０１５１】
図１８に示されるように、この実施形態では、一般的な呼処理は、すべてのバックアップが（すなわち、１次も２次も）使用不能なときに発生する。６２０で２次バックアップ（すなわち、「第２レベルのバックアップ」）に対して試みられた呼出しが失敗した場合は、６３０で、発信元の端末セットは任意選択で、宛先端末セットの代わりにその呼に応答することができる（６３０および６４０）。これは、発信元の端末が宛先端末に特有などんな呼処理機能も有していない故に、必然的に一般的な様式で行われることになるはずである。一般的な呼出しが完了した結果生じるデータベースのどんな変更も、通常の呼出しの完了と同じように扱われ、すなわち、ジャーナル・マネージャ８８０（図８）によって該当する１つ（または複数）のセットへと伝播される。
【０１５２】
一般的な呼処理が使用可能でない諸実施形態では、すべてのバックアップ端末が使用不能である場合は、一般的な呼応答が実施される代わりに、発呼者に対して話中音が再生される（６６０）。ステップ６００、６１０、６２０における試みのいずれかが成功した場合は、関連するセットによって呼が受けられ処理される（６５０）。
【０１５３】
当業者には理解されるように、上述した実施形態には、本発明の趣旨から逸脱することなく変更を加えることができる。たとえば、本明細書に記載の実施形態の大部分では端末セットであるピアについて言及しているが、ここに記載の方法は、他の形態のネットワーク装置など、端末セット以外のピアにも等しく適用可能であることが理解されるであろう。また、ネットワーク装置は、ＬＡＮだけではなく任意の形態のネットワークによって相互接続されてもよい。さらに、ピアの発見についての記載では、加入者電話番号の選択、プローブ、アサートについて言及しているが、本明細書に記載の方法は、加入者電話番号以外のネットワーク・アドレスにも等しく適用可能であることが理解されるであろう。
【０１５４】
バックアップ・レベルの数（すなわち、マスタ毎のバックアップの数）は、本明細書に記載の実施形態における２つのバックアップ・レベルとは異なるものであってもよいことが理解されるであろう。一般に、Ｎを１以上の整数とする、最大Ｎ個のバックアップ・レベルが存在してもよい。
【０１５５】
さらに、上述した実施形態における端末セットは、各端末セットがＮ回バックアップとして働き、それ自体がＮ個のバックアップを有するという意味では「対称的」なものであるが、このことが必ずしもすべての実施形態に当てはまる必要はない。
【０１５６】
また、図５に示される経路表２００は、維持され得る情報のタイプに関する非常に特有な例であることにも留意されたい。諸代替実施形態では、それぞれの経路表に異なる情報が含まれていてもよい。たとえば、バックアップ端末セットは、ＭＡＣアドレス以外の何らかの様式で識別されてもよい。
【０１５７】
確認のために、本発明は、他の端末セットのバックアップ機能を提供する端末セットに限定されるものではないことに留意されたい。本発明のいくつかの実施形態では、ＴＴＩなど他のネットワーク装置が、バックアップ機能を提供し、あるいは他のネットワーク装置からのバックアップ機能の利益を享受してもよい。
【０１５８】
さらに、上記で使用される「信頼性」という用語は、分散型電話システムの外部の接続（たとえば、ＰＳＴＮからの呼の受信）を端末セットが確実な形で確立できる能力を指すが、他のタイプのネットワーク装置については他の意味を有することもあることが、理解されるべきである。一般に、「信頼性」という用語は、ネットワーク装置が所望の対象に到達し、または所望のタスクを完了させることができる蓋然性を指し、この蓋然性は、ネットワーク装置に応じて異なることもある。
【０１５９】
最後に、本明細書に記載の諸実施形態におけるネットワーク装置は、ピア・ツー・ピア・ネットワーク内のピアであるが、そうすることが必ずしも必要とされるわけではないことが理解されるであろう。本明細書に記載のバックアップ手法は、「ピア・ツー・ピア」ネットワークとして必ずしも分類可能でないネットワーク上の、「ピア」として必ずしも分類可能でないネットワーク装置をバックアップするために使用されてもよい。
【０１６０】
上記の教示に照らせば、本発明の数々の変更形態および変形形態が可能である。たとえば、本発明の諸実施形態は、電話端末セットである上記の端末に限定されるものではなく、本発明のいくつかの実施形態では、端末セットは、任意のネットワーク通信装置である。したがって、本明細書に具体的に記載されている形以外でも、添付の特許請求の範囲内で本発明を実施できることが理解されるであろう。
【図面の簡単な説明】
【０１６１】
【図１】本発明の一実施形態によるピア・バックアップを利用する電話システムの図である。
【図２】図１に示される各端末セットの部分的な回路ブロック図である。
【図３】図１の各端末セット上で動作するソフトウェアの機能ブロック図である。
【図４】図３のピア・ツー・ピア呼処理モジュールの機能ブロック図である。
【図５】図１の例示的な端末セットの経路表である。
【図６】本発明の一実施形態による、マスタ／スレーブ関係をもつ３つの端末セットのブロック図である。
【図７】本発明の一実施形態による、バックアップ端末セットを選択する方法の流れ図である。
【図８】図３の端末セットの一部として動作するピア・バックアップのためのソフトウェアの機能ブロック図である。
【図９】バックアップの割当て、割当ての解除、および先取りの際のマスタ端末セットの動作を支配する、状態マシン／流れ図である。
【図１０】それ自体のバックアップとしての割当ておよび割当ての解除を有効化する際の端末セットの動作を支配する、状態マシン／流れ図である。
【図１１】他の２つの端末セットのバックアップ端末セットとして割り当てられた端末セットにおけるジャーナル・マネージャ・コンポーネントの動作を支配する、状態マシン／流れ図である。
【図１２】マスタ端末セットとバックアップ端末セットの間での、バックアップ端末セットの割当ておよび割当ての解除を行うための信号を示すシーケンス図である。
【図１３】本発明の別の実施形態による、あるマスタ端末セットが別のマスタ端末セットよりも先にバックアップ端末セットを先取りするシーケンス図である。
【図１４】マスタ端末セットとして働く端末セットによる、アプリケーションが初期化されたときのメッセージングのシーケンス図である。
【図１５】別の端末セットの第１のバックアップ端末セットとして働く端末セットによる、アプリケーションが初期化されたときのメッセージングのシーケンス図である。
【図１６】マスタ端末セットが使用不能であるときの、ある端末セットがそのマスタ端末セットのバックアップ端末セットとして働くシーケンス図である。
【図１７】マスタ端末セットが使用不能になったときの、ある端末セットがそのマスタ端末セットのバックアップ端末セットとして働くシーケンス図である。
【図１８】図１の電話システム内の宛先端末セットへの呼を開始する方法の流れ図である。
【図１】
2007516668.tif 000006
【図２】
2007516668.tif 000007
【図３】
2007516668.tif 000008
【図４】
2007516668.tif 000009
【図５】
2007516668.tif 000010
【図６】
2007516668.tif 000011
【図７】
2007516668.tif 000012
【図８】
2007516668.tif 000013
【図９】
2007516668.tif 000014
【図１０】
2007516668.tif 000015
【図１１】
2007516668.tif 000016
【図１２】
2007516668.tif 000017
【図１３】
2007516668.tif 000018
【図１４】
2007516668.tif 000019
【図１５】
2007516668.tif 000020
【図１６】
2007516668.tif 000021
【図１７】
2007516668.tif 000022
【図１８】
2007516668.tif 000023
【国際調査報告】
2007516668.tif 000024
2007516668.tif 000025