(57)【要約】  論理仲介サイクル内に配置された複数の論理ノードを含む仲介構成を備えるコンピュータ・ネットワーク内でメッセージ・フローを仲介するための方法が提供される。この方法は、仲介ノード間で仲介タスクを移管し、システム不変量を維持しながら、変更要求に応答して仲介構成の論理トポロジーを再構成し、単一ノードの代わりに全体的サブネットワークを追加することによって仲介構成の構造を改良するためのアルゴリズムを提供する。この方法は、障害検出および回復にも対処する。
2007502553.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークにおいてメッセージ・フローを仲介するための方法であって、前記コンピュータ・ネットワークは、仲介ネットワークを備え、仲介ネットワークは、
前記仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ）モジュールであって、各ＭＲモジュールが前記着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ）モジュールとを含み、
前記方法において、前記仲介ネットワークへの着信メッセージは、仲介サイクルに沿って伝播され、仲介サイクルは、
ＬＰＰモジュールが、前記少なくとも１つの仲介者ルータ（ＭＲ）モジュールのそれぞれのモジュールを着信メッセージのアドレスに指定するステップと、
前記アドレス指定されたＭＲモジュールで、着信メッセージの内容を分析し、前記メッセージを前記分析された内容に応じて所定の仲介者モジュールにルーティングするステップと、
前記所定の仲介者モジュールで、前記分析されたメッセージに前記仲介タスクを適用し、仲介メッセージを前記ＴＰモジュールのそれぞれのモジュールに送信するステップと、
前記仲介メッセージを受信した前記ＴＰモジュールで、前記仲介メッセージを少なくとも１つの前記ＬＰＰモジュールに転送するステップとを備える方法。
【請求項２】
前記仲介ネットワークへの前記着信メッセージは、
情報ソースとして機能するプロセスから生じる新情報と、
前記仲介ネットワーク内のノードの状態についての問い合わせであって、応答を必要とする問い合わせと、
関係する新情報が前記仲介ネットワークによって受信されたときは常に継続的な応答を必要とする関心表明とを含むメッセージ・タイプ群のうちの１つに属する、請求項１に記載の方法。
【請求項３】
制御メッセージを着信メッセージとして前記仲介サイクルに沿って送信することによって、前記仲介ネットワークの内部動作の変更を引き起こすことをさらに備える、請求項１に記載の方法。
【請求項４】
内部動作における前記変更は、提供仲介者モジュールと受取仲介者モジュールの間の仲介タスクの移管であり、
前記制御メッセージは、仲介者移管メッセージであり、前記仲介者移管メッセージの内容は、所定のコンテンツ・タグを有するコンテンツの前記提供仲介者モジュールから前記受取仲介者モジュールへの再割り当てを記述し、前記提供仲介者モジュールは、前記コンテンツを処理するものとして現在登録されており、
前記仲介者移管メッセージの取り扱いは、
所定のＬＰＰモジュールから、前記仲介者移管メッセージをそれぞれの関連ＭＲモジュールに送信することと、
前記関連ＭＲモジュールで、前記コンテンツ・タグを読み取り、前記メッセージを前記提供仲介者モジュールに転送することと、
前記仲介者移管メッセージの受信時に、前記提供仲介者モジュールが、仲介者ノードの状態を変更することと、前記仲介者移管メッセージの内容を含むＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージを前記受取仲介者モジュールに送信することと、ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを関連ＴＰモジュールに送信することと、その後、前記コンテンツ・タグを含むメッセージを前記受取仲介者モジュールに転送するために状態を変更することとを備える、請求項３に記載の方法。
【請求項５】
前記ＴＰモジュールが前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを少なくとも１つのＬＰＰモジュールに転送することと、
前記受取仲介者モジュールが再割り当てコンテンツに対応するペイロードを有するＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを生成し、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを関連するすべてのＴＰモジュールにブロードキャストすることと、
前記ＬＰＰモジュールが前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージの受信と前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージの受信の間のすべての着信メッセージをバッファリングすることとをさらに備える、請求項４に記載の方法。
【請求項６】
その後、前記ＬＰＰモジュールが前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを前記関連ＭＲモジュールに転送することと、
ＭＲモジュールがＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを受信したときは常に、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージのペイロードに一致する将来のコンテンツが前記提供仲介者モジュールではなく前記受取仲介者モジュールに送信されるように、前記ＭＲモジュール用のルーティング・テーブルを更新し、前記ルーティング・テーブルが更新されたことを前記提供仲介者モジュールに通知し、その後、前記提供仲介者モジュールは、今は前記受取仲介者モジュールが前記再割り当てコンテンツの仲介者モジュールであることをすべてのＭＲモジュールが通知されたならば、メッセージを転送することを止めることをさらに備える、請求項５に記載の方法。
【請求項７】
内部動作の前記変更は、前記仲介ネットワークの論理トポロジーの再構成であり、前記制御メッセージは、１つまたは複数の再構成メッセージである、請求項３に記載の方法。
【請求項８】
前記論理トポロジーの前記再構成は、前記再構成の前に前記仲介ネットワークを通過したメッセージが、前記再構成の後に前記仲介ネットワークを通過したメッセージより先に配送されることを保証する臨時バリアの生成を備える、請求項７に記載の方法。
【請求項９】
前記臨時バリアを生成するステップは、前記１つまたは複数の再構成メッセージを前記仲介サイクルで循環させることと、前記サイクル内の各モジュールが前記再構成を十分に通知されることを保証することとを備える、請求項８に記載の方法。
【請求項１０】
前記仲介構成の前記論理トポロジーの前記再構成は、追加のローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードの挿入であり、前記１つまたは複数の再構成メッセージは、前記追加ＬＰＰノードを一意に識別するｎｅｗ＿ＬＰＰメッセージを含み、前記挿入は、
前記追加ＬＰＰノードの所定の追加ＬＰＰモジュールで、前記ｎｅｗ＿ＬＰＰメッセージを生成し、前記ｎｅｗ＿ＬＰＰメッセージをＭＲノードの対応するＭＲモジュールに送信することと、
前記対応するＭＲモジュールで、前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記ＭＲノード用の参照カウントを更新し、前記ｎｅｗ＿ＬＰＰメッセージを前記構成内のすべての仲介者モジュールに伝播させることと、
各仲介者モジュールで、前記ｎｅｗ＿ＬＰＰメッセージを受信し、関連するクレジット・バランスを有する各ＴＰノードのそれぞれの対応するＴＰモジュールに前記ｎｅｗ＿ＬＰＰメッセージを送信することと、
前記対応するＴＰモジュールの各々で、前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿ＬＰＰメッセージを前記追加ＬＰＰモジュールに送信することと、
前記追加ＬＰＰモジュールで、前記拡張ｎｅｗ＿ＬＰＰメッセージを受信し、それによって前記ｎｅｗ＿ＬＰＰメッセージの循環を完了することと、
前記追加ＬＰＰモジュールで、前記クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証されることとを備える、請求項９に記載の方法。
【請求項１１】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の仲介者ルータ（ＭＲ）ノードのさらなる挿入を備え、前記１つまたは複数の再構成メッセージは、前記追加ＭＲノードを一意に識別するｎｅｗ＿ＭＲメッセージをさらに含み、前記さらなる挿入は、
前記追加ＬＰＰが、対応するクレジット・バランスを有するＭＲノードの対応するＭＲモジュールにｎｅｗ＿ＭＲメッセージを送信することと、
前記対応するＭＲモジュールが、前記追加ＭＲノードのアドレス情報、前記追加ＬＰＰノードのアドレス、ルーティング情報、および前記対応するクレジット・バランスの分数値を含むｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを送信することによって前記ｎｅｗ＿ＭＲメッセージに応答することと、
次に前記対応するＭＲモジュールが、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを任意の仲介者モジュールに転送することと、
前記任意の仲介者モジュールが、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを前記追加ＬＰＰモジュールに受け渡すことと、
次に前記追加ＬＰＰモジュールが、ルーティング・マップを前記追加ＭＲモジュールに受け渡すことと、
前記追加ＭＲモジュールで、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの内容を使用して、新しいクレジット・バランスおよびルーティング・マップを初期化することとを含む、請求項１０に記載の方法。
【請求項１２】
前記再構成が、前記追加ＬＰＰモジュールがアドレス指定するＭＲモジュールを前記追加ＭＲモジュールに変更することをさらに備え、前記追加ＭＲモジュールは、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの受信時に、ＭＲ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加ＬＰＰモジュールに送信し、前記追加ＬＰＰモジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＭＲモジュールに送信する、請求項１１に記載の方法。
【請求項１３】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の仲介者（Ｍ）ノードの挿入であることができ、前記１つまたは複数の再構成メッセージは、前記追加仲介者ノードを一意に識別するｎｅｗ＿Ｍメッセージを含み、前記挿入は、
所定の追加仲介者モジュールが、前記ｎｅｗ＿Ｍメッセージを生成し、ＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿Ｍメッセージを送信することと、
前記対応するＴＰモジュールで、前記ｎｅｗ＿Ｍメッセージを受信し、前記ＴＰノード用の参照カウントを更新し、前記ｎｅｗ＿Ｍメッセージを前記構成内のすべてのＬＰＰモジュールに伝播させることと、
各ＬＰＰモジュールで、前記ｎｅｗ＿Ｍメッセージを受信し、関連するクレジット・バランスを各ＭＲノードが有するＭＲノードのそれぞれの対応するＭＲモジュールに前記ｎｅｗ＿Ｍメッセージを送信することと、
前記対応するＭＲモジュールの各々で、前記ｎｅｗ＿Ｍメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿Ｍメッセージを前記追加仲介者モジュールに送信することと、
前記追加仲介者モジュールで、前記拡張ｎｅｗ＿Ｍメッセージを受信し、それによって前記ｎｅｗ＿Ｍメッセージの循環を完了することと、
前記追加仲介者モジュールで、前記クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証されることとを備える、請求項９に記載の方法。
【請求項１４】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の送信プロキシ（ＴＰ）ノードのさらなる挿入を備え、前記１つまたは複数の再構成メッセージは、前記追加ＴＰノードを一意に識別するｎｅｗ＿ＴＰメッセージをさらに含み、前記さらなる挿入は、
前記追加仲介者モジュールが、前記ｎｅｗ＿ＴＰメッセージを受信することと、
前記追加仲介者モジュールが、前記追加仲介者ノードのアドレスを前記ｎｅｗ＿ＴＰメッセージに追加し、対応するクレジット・バランスを有するＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿ＴＰメッセージを転送することと、
前記対応するＴＰモジュールが、前記追加ＴＰノードのアドレス情報、前記追加仲介者ノードのアドレス、ＬＰＰのリスト、および前記対応するクレジット・バランスの分数値を含む拡張ｎｅｗ＿ＴＰメッセージを生成することによって前記ｎｅｗ＿ＴＰメッセージに応答することと、
次に前記対応するＴＰモジュールが、前記ｎｅｗ＿ＴＰメッセージを任意のＬＰＰモジュールに転送することと、
次に前記任意のＬＰＰモジュールが、新しいルーティング・マップ・メッセージを前記追加ＴＰモジュールに受け渡すことと、
次に前記追加ＴＰモジュールが、ルーティング・マップを前記追加ＭＲモジュールに受け渡すことと、
前記追加ＴＰモジュールが、前記新しいルーティング・マップ・メッセージの内容を使用して、新しい対応するクレジット・バランスおよびＬＰＰモジュールのリストを初期化することとを含む、請求項１３に記載の方法。
【請求項１５】
前記再構成は、前記追加仲介者モジュールがアドレス指定する前記ＴＰモジュールを前記追加ＴＰモジュールに変更することをさらに備え、前記追加ＴＰモジュールは、前記新しいルーティング・マップ・メッセージの受信時に、ＴＰ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加仲介者モジュールに送信し、前記追加仲介者モジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＴＰモジュールに送信する、請求項１４に記載の方法。
【請求項１６】
前記コンピュータ・ネットワークは、前記仲介ネットワーク内の各ノードと通信する障害検出ノードをさらに備え、前記方法は、
前記障害検出ノードで、障害検出モジュールを提供することと、
前記仲介ネットワークの各ノードで、障害報告モジュールを提供することとをさらに備え、
ノード間の着信または発信通信リンクが障害を起こした場合は常に、前記障害報告モジュールの各々が、前記障害通信リンクに関する情報を前記障害検出モジュールに報告し、
前記障害検出モジュールは、前記障害リンクが障害ノードを暗示するかどうかを決定する、請求項３に記載の方法。
【請求項１７】
前記障害検出モジュールが、前記障害リンクは障害ノードを暗示すると決定した場合、
前記障害ノードと同じタイプの新規ノードを生成することと、
前記障害ノードの内部状態および直接の近隣トポロジーに関する情報を前記新規ノードに登録することと、
前記新規ノードを前記障害ノードより優先的に使用するように前記ネットワークを再構成することとをさらに備える、請求項１６に記載の方法。
【請求項１８】
前記所定の仲介者モジュールによって受信されるすべての着信メッセージのメッセージ・ログを生成することをさらに備える、請求項１に記載の方法。
【請求項１９】
前記所定の仲介者モジュールで前記分析されたメッセージに適用される前記仲介タスクは、前記メッセージ・ログを生成することを含む、請求項１８に記載の方法。
【請求項２０】
前記コンピュータ・ネットワークは、外部アプリケーションをさらに備え、前記方法は、
前記外部アプリケーションで前記メッセージ・ログを生成することをさらに備える、請求項１８に記載の方法。
【請求項２１】
内部動作の前記変更は、前記仲介構成の前記論理トポロジーの構造改良であり、前記制御メッセージは、１つまたは複数の改良メッセージである、請求項３に記載の方法。
【請求項２２】
構造改良のステップ内でサブネットワークが単一のノードの代わりに挿入される、請求項２１に記載の方法。
【請求項２３】
コンピュータ・ネットワークにおいてメッセージ・フローを仲介するための仲介ネットワークであって、前記仲介ネットワークは、
前記仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ）モジュールであって、各ＭＲモジュールが着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ）モジュールとを備え、
前記仲介ネットワークが、ＬＰＰモジュールがＭＲモジュールをアドレス指定し、次にＭＲモジュールがＭモジュールをアドレス指定し、次にＭモジュールがＴＰモジュールをアドレス指定し、そして次にＴＰモジュールがＬＰＰモジュールをアドレス指定する単方向仲介サイクルに沿ってメッセージを結合する仲介ネットワーク。
【請求項２４】
前記仲介ネットワークへの前記着信メッセージは、
情報ソースとして機能するプロセスから生じる新情報と、
前記仲介ネットワーク内のノードの状態についての問い合わせであって、応答を必要とする問い合わせと、
関係する新情報が前記仲介ネットワークによって受信されたときは常に継続的な応答を必要とする関心表明とを含むメッセージ・タイプ群のうちの１つに属する、請求項２３に記載の仲介ネットワーク。
【請求項２５】
制御メッセージを着信メッセージとして前記仲介サイクルに沿って送信することによって、前記仲介ネットワークの内部動作の変更を引き起こす制御メカニズムをさらに備える、請求項２３に記載の仲介ネットワーク。
【請求項２６】
内部動作の前記変更を引き起こす前記制御メカニズムは、提供仲介者ノードと受取仲介者ノードの間で仲介要件を再分配する移管メカニズムであり、
前記制御メッセージは、仲介者移管メッセージであり、前記仲介者移管メッセージの内容は、所定のコンテンツ・タグを有するコンテンツの前記提供仲介者ノードから前記受取仲介者ノードへの再割り当てを記述し、前記提供仲介者ノードは、前記コンテンツを処理するものとして現在登録されており、
前記仲介者移管メッセージは、
前記仲介者移管メッセージを所定のＬＰＰモジュールからそれぞれの関連ＭＲモジュールに送信し、
前記コンテンツ・タグを前記関連ＭＲモジュールで読み取り、前記メッセージを前記提供仲介者モジュールに転送し、
前記仲介者移管メッセージの受信時に、前記提供仲介者ノードが、仲介者ノードの状態を変更し、前記仲介者移管メッセージの内容を含むＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージを前記受取仲介者モジュールに送信し、ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを関連ＴＰモジュールに送信し、その後、前記コンテンツ・タグを含むメッセージを前記受取仲介者モジュールに転送するために状態を変更することによって取り扱われる、請求項２５に記載の仲介ネットワーク。
【請求項２７】
前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを少なくとも１つのＬＰＰモジュールに転送する前記ＴＰモジュールと、
再割り当てコンテンツに対応するペイロードを有するＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを生成し、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを関連するすべてのＴＰモジュールにブロードキャストする前記受取仲介者モジュールと、
前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージの受信と前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージの受信の間のすべての着信メッセージをバッファリングする前記ＬＰＰモジュールとをさらに備える、請求項２６に記載の仲介ネットワーク。
【請求項２８】
その後、前記ＬＰＰモジュールが前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを前記関連ＭＲモジュールに転送し、
ＭＲモジュールがＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを受信したときは常に、前記ＭＲモジュールが、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージのペイロードに一致する将来のコンテンツが前記提供仲介者モジュールではなく前記受取仲介者モジュールに送信されるように、前記ＭＲモジュール用のルーティング・テーブルを更新し、前記ルーティング・テーブルが更新されたことを前記提供仲介者モジュールに通知し、その後、前記提供仲介者モジュールが、今は前記受取仲介者モジュールが前記再割り当てコンテンツの仲介者モジュールであることをすべてのＭＲモジュールが通知されたならば、メッセージを転送することを止める、請求項２７に記載の仲介ネットワーク。
【請求項２９】
内部動作の前記変更を引き起こす前記制御メカニズムが、再構成メカニズムであり、前記制御メッセージは、１つまたは複数の再構成メッセージである、請求項２５に記載の仲介ネットワーク。
【請求項３０】
前記再構成メカニズムが、前記再構成の前に前記仲介ネットワークを通過したメッセージが、前記再構成の後に前記仲介ネットワークを通過したメッセージより先に配送されることを保証する臨時バリアを生成する、請求項２９に記載の仲介ネットワーク。
【請求項３１】
前記臨時バリアの生成は、前記１つまたは複数の再構成メッセージを前記仲介サイクルで循環させることと、前記サイクル内の各モジュールが前記再構成を十分に通知されることを保証することとを備える、請求項３０に記載の仲介ネットワーク。
【請求項３２】
前記再構成メカニズムが、追加のローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを前記仲介ネットワークの前記論理トポロジーに挿入し、前記１つまたは複数の再構成メッセージは、前記追加ＬＰＰノードを一意に識別するｎｅｗ＿ＬＰＰメッセージを含み、前記再構成メカニズムは、
前記追加ＬＰＰノードを一意に識別するｎｅｗ＿ＬＰＰメッセージを生成し、前記ｎｅｗ＿ＬＰＰメッセージをＭＲノードの対応するＭＲモジュールに送信する手段であって、所定の追加ＬＰＰモジュールで提供される手段と、
前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記ＭＲノード用の参照カウントを更新し、前記ｎｅｗ＿ＬＰＰメッセージを前記仲介ネットワーク内のすべての仲介者モジュールに伝播させる手段であって、前記対応するＭＲモジュールで提供される手段と、
前記ｎｅｗ＿ＬＰＰメッセージを受信し、関連するクレジット・バランスを有する各ＴＰノードのそれぞれの対応するＴＰモジュールに前記ｎｅｗ＿ＬＰＰメッセージを送信する手段であって、各仲介者モジュールで提供される手段と、
前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿ＬＰＰメッセージを前記追加ＬＰＰモジュールに送信する手段であって、前記対応するＴＰモジュールの各々で提供される手段と、
前記拡張ｎｅｗ＿ＬＰＰメッセージを受信し、それによって前記ｎｅｗ＿ＬＰＰメッセージの循環を完了する手段であって、前記追加ＬＰＰモジュールで提供される手段と、
前記クレジット・バランスを合計する、前記追加ＬＰＰモジュールで提供される手段であって、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証される手段とを備える、請求項３１に記載の仲介ネットワーク。
【請求項３３】
前記再構成メカニズムが、追加の仲介者ルータ（ＭＲ）ノードを挿入するためのＭＲ挿入メカニズムを備え、前記１つまたは複数の再構成メッセージは、前記追加ＭＲノードを一意に識別するｎｅｗ＿ＭＲメッセージをさらに含み、前記ＭＲ挿入メカニズムは、
対応するクレジット・バランスを有するＭＲノードの対応するＭＲモジュールにｎｅｗ＿ＭＲメッセージを送信する手段であって、前記追加ＬＰＰで提供される手段と、
前記ｎｅｗ＿ＭＲメッセージを受信し、ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを送信し、前記対応するＭＲモジュールで提供される手段であって、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージが、前記追加ＭＲノードのアドレス情報、前記追加ＬＰＰノードのアドレス、ルーティング情報、および前記対応するクレジット・バランスの分数値を含む手段と、
前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを任意の仲介者モジュールに転送する手段であって、前記対応するＭＲモジュールで提供される手段と、
前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを前記追加ＬＰＰモジュールに受け渡す手段であって、前記任意の仲介者モジュールで提供される手段と、
ルーティング・マップを前記追加ＭＲモジュールに受け渡すさらなる手段であって、前記追加ＬＰＰモジュールで提供されるさらなる手段と、
前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの内容を使用して、新しいクレジット・バランスおよびルーティング・マップを初期化する初期化手段であって、前記追加ＭＲモジュールで提供される手段とを含む、請求項３２に記載の仲介ネットワーク。
【請求項３４】
前記再構成メカニズムが、前記追加ＬＰＰモジュールがアドレス指定する前記ＭＲモジュールを前記追加ＭＲモジュールに変更する手段をさらに備え、前記追加ＭＲモジュールは、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの受信時に、ＭＲ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加ＬＰＰモジュールに送信し、前記追加ＬＰＰモジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＭＲモジュールに送信する、請求項３３に記載の仲介ネットワーク。
【請求項３５】
前記再構成メカニズムが、追加の仲介者（Ｍ）ノードを前記仲介ネットワークの前記論理トポロジーに挿入し、前記１つまたは複数の再構成メッセージは、前記追加Ｍノードを一意に識別するｎｅｗ＿Ｍメッセージを含み、前記再構成メカニズムは、
前記ｎｅｗ＿Ｍメッセージを生成し、ＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿Ｍメッセージを送信する手段であって、所定の追加仲介者モジュールで提供される手段と、
前記ｎｅｗ＿Ｍメッセージを受信し、前記ＴＰノード用の参照カウントを更新し、前記ｎｅｗ＿Ｍメッセージを前記構成内のすべてのＬＰＰモジュールに伝播させる手段であって、前記対応するＴＰモジュールで提供される手段と、
前記ｎｅｗ＿Ｍメッセージを受信し、関連するクレジット・バランスを各ＭＲノードが有するＭＲノードのそれぞれの対応するＭＲモジュールに前記ｎｅｗ＿Ｍメッセージを送信する手段であって、各ＬＰＰモジュールで提供される手段と、
前記ｎｅｗ＿Ｍメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿Ｍメッセージを前記追加仲介者モジュールに送信する手段であって、前記対応するＭＲモジュールの各々で提供される手段と、
前記拡張ｎｅｗ＿Ｍメッセージを受信し、それによって前記ｎｅｗ＿Ｍメッセージの循環を完了する手段であって、前記追加Ｍモジュールで提供される手段と、
前記クレジット・バランスを合計し、前記追加仲介者モジュールで提供される手段であって、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証される手段とを備える、請求項３１に記載の仲介ネットワーク。
【請求項３６】
前記再構成メカニズムが、追加の送信プロキシ（ＴＰ）ノードを挿入するためのＴＰ挿入メカニズムをさらに備え、前記１つまたは複数の再構成メッセージは、前記追加ＴＰノードを一意に識別するｎｅｗ＿ＴＰメッセージをさらに含み、前記ＴＰ挿入メカニズムは、
前記追加ＴＰのアドレスを含むｎｅｗ＿ＴＰメッセージを受信する手段であって、前記追加仲介者モジュールで提供される手段と、
前記追加仲介者ノードのアドレスを前記ｎｅｗ＿ＴＰメッセージに追加し、対応するクレジット・バランスを有するＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿ＴＰメッセージを転送する手段であって、前記追加仲介者モジュールで提供される手段と、
前記ｎｅｗ＿ＴＰメッセージを受信し、前記追加ＴＰノードのアドレス情報、前記追加仲介者ノードのアドレス、ＬＰＰのリスト、および前記対応するクレジット・バランスの分数値を含む拡張ｎｅｗ＿ＴＰメッセージを生成する手段であって、前記対応するＴＰモジュールで提供される手段と、
前記ｎｅｗ＿ＴＰメッセージを任意のＬＰＰモジュールに転送する手段であって、前記対応するＴＰモジュールで提供される手段と、
新しいルーティング・マップ・メッセージにそのアドレスが存在する追加ＴＰモジュールに前記新しいルーティング・マップ・メッセージを受け渡す手段であって、前記対応するＴＰモジュールで提供される手段と、
ルーティング・マップを前記追加ＭＲモジュールに受け渡すさらなる手段であって、前記追加ＴＰモジュールで提供されるさらなる手段と、
前記新しいルーティング・マップ・メッセージの内容を使用して、クレジット・バランスおよびＬＰＰモジュールのリストを初期化する手段であって、前記追加ＴＰモジュールで提供される手段とを含む、請求項３５に記載の仲介ネットワーク。
【請求項３７】
前記再構成メカニズムが、前記追加仲介者モジュールがアドレス指定する前記ＴＰモジュールを前記追加ＴＰモジュールに変更する手段をさらに備え、前記追加ＴＰモジュールは、前記新しいルーティング・マップ・メッセージの受信時に、ＴＰ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加仲介者モジュールに送信し、前記追加仲介者モジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＴＰモジュールに送信する、請求項３６に記載の仲介ネットワーク。
【請求項３８】
前記コンピュータ・ネットワークは、前記仲介ネットワーク内の各ノードと通信する障害検出ノードをさらに備え、前記障害検出ノードは、障害検出モジュールを含み、前記仲介ネットワークの各ノードは、障害報告モジュールを含み、
ノード間の着信または発信通信リンクが障害を起こした場合は常に、前記障害報告モジュールの各々が、前記障害通信リンクに関する情報を前記障害検出モジュールに報告し、
前記障害検出モジュールは、前記障害リンクが障害ノードを暗示するかどうかを決定する、請求項２３に記載の仲介ネットワーク。
【請求項３９】
障害処理モジュールをさらに備え、前記障害検出モジュールが、前記障害リンクは障害ノードを暗示すると決定したときは常に、前記障害処理モジュールが、前記障害ノードと同じタイプの新規ノードを生成し、前記障害ノードの内部状態および直接の近隣トポロジーに関する情報を前記新規ノードに登録し、前記新規ノードを前記障害ノードより優先的に使用するようにネットワークを再構成する、請求項３８に記載の仲介ネットワーク。
【請求項４０】
前記所定の仲介者モジュールによって受信されるすべての着信メッセージのメッセージ・ログを生成する手段をさらに備える、請求項２３に記載の仲介ネットワーク。
【請求項４１】
前記所定の仲介者モジュールで前記分析されたメッセージに適用される前記仲介タスクは、前記メッセージ・ログを生成することを含む、請求項４０に記載の仲介ネットワーク。
【請求項４２】
前記コンピュータ・ネットワークは、前記メッセージ・ログを生成する外部アプリケーションをさらに備え、前記仲介ネットワークは、
前記外部アプリケーションで生成された前記メッセージ・ログを受信する手段をさらに含む、請求項４０に記載の仲介ネットワーク。
【請求項４３】
内部動作の前記変更は、前記仲介ネットワークの前記論理トポロジーの構造改良であり、前記制御メッセージは、１つまたは複数の改良メッセージである、請求項２３に記載の仲介ネットワーク。
【請求項４４】
構造改良のステップ内でサブネットワークが単一のノードの代わりに挿入される、請求項４３に記載の仲介ネットワーク。
【請求項４５】
コンピュータ・ネットワークにおいてメッセージ・フローを仲介するためのコンピュータ・プログラム製品が提供され、前記コンピュータ・プログラム製品は、仲介ネットワークを提供するための実行可能命令を含み、仲介ネットワークは、
前記仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ）モジュールであって、各ＭＲモジュールが着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ）モジュールとを備え、
前記命令が実行された場合、前記仲介ネットワークへの着信メッセージは、仲介サイクルに沿って伝播され、仲介サイクルは、
ＬＰＰモジュールが、前記少なくとも１つの仲介者ルータ（ＭＲ）モジュールのそれぞれのモジュールを着信メッセージのアドレスに指定するステップと、
前記アドレス指定されたＭＲモジュールで、着信メッセージの内容を分析し、前記メッセージを前記分析された内容に応じて所定の仲介者モジュールにルーティングするステップと、
前記所定の仲介者モジュールで、前記分析されたメッセージに前記仲介タスクを適用し、仲介メッセージを前記ＴＰモジュールのそれぞれのモジュールに送信するステップと、
前記仲介メッセージを受信した前記ＴＰモジュールで、前記仲介メッセージを少なくとも１つの前記ＬＰＰモジュールに転送するステップとを備えるコンピュータ・プログラム製品。
【請求項４６】
前記仲介ネットワークへの前記着信メッセージは、
情報ソースとして機能するプロセスから生じる新情報と、
前記仲介ネットワーク内のノードの状態についての問い合わせであって、応答を必要とする問い合わせと、
関係する新情報が前記仲介ネットワークによって受信されたときは常に継続的な応答を必要とする関心表明とを含むメッセージ・タイプ群のうちの１つに属する、請求項４５に記載のコンピュータ・プログラム製品。
【請求項４７】
制御メッセージを着信メッセージとして前記仲介サイクルに沿って送信することによって、前記仲介ネットワークの内部動作の変更を引き起こすことをさらに備える、請求項４５に記載のコンピュータ・プログラム製品。
【請求項４８】
内部動作における前記変更は、提供仲介者モジュールと受取仲介者モジュールの間の仲介タスクの移管であり、
前記制御メッセージは、仲介者移管メッセージであり、前記仲介者移管メッセージの内容は、所定のコンテンツ・タグを有するコンテンツの前記提供仲介者モジュールから前記受取仲介者モジュールへの再割り当てを記述し、前記提供仲介者モジュールは、前記コンテンツを処理するものとして現在登録されており、
前記仲介者移管メッセージの取り扱いは、
所定のＬＰＰモジュールから、前記仲介者移管メッセージをそれぞれの関連ＭＲモジュールに送信することと、
前記関連ＭＲモジュールで、前記コンテンツ・タグを読み取り、前記メッセージを前記提供仲介者モジュールに転送することと、
前記仲介者移管メッセージの受信時に、前記提供仲介者モジュールが、仲介者ノードの状態を変更することと、前記仲介者移管メッセージの内容を含むＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージを前記受取仲介者モジュールに送信することと、ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを関連ＴＰモジュールに送信することと、その後、前記コンテンツ・タグを含むメッセージを前記受取仲介者モジュールに転送するために状態を変更することとを備える、請求項４７に記載のコンピュータ・プログラム製品。
【請求項４９】
前記ＴＰモジュールが前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを少なくとも１つのＬＰＰモジュールに転送することと、
前記受取仲介者モジュールが再割り当てコンテンツに対応するペイロードを有するＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを生成し、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを関連するすべてのＴＰモジュールにブロードキャストすることと、
前記ＬＰＰモジュールが前記ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージの受信と前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージの受信の間のすべての着信メッセージをバッファリングすることとをさらに備える、請求項４８に記載のコンピュータ・プログラム製品。
【請求項５０】
その後、前記ＬＰＰモジュールが前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを前記関連ＭＲモジュールに転送することと、
ＭＲモジュールがＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥを受信したときは常に、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージの前記ペイロードに一致する将来のコンテンツが前記提供仲介者モジュールではなく前記受取仲介者モジュールに送信されるように、前記ＭＲモジュール用のルーティング・テーブルを更新し、前記ルーティング・テーブルが更新されたことを前記提供仲介者モジュールに通知し、その後、前記提供仲介者モジュールは、今は前記受取仲介者モジュールが前記再割り当てコンテンツの前記仲介者モジュールであることをすべてのＭＲモジュールが通知されたならば、メッセージを転送することを止めることをさらに備える、請求項４９に記載のコンピュータ・プログラム製品。
【請求項５１】
内部動作の前記変更は、前記仲介ネットワークの論理トポロジーの再構成であり、前記制御メッセージは、１つまたは複数の再構成メッセージである、請求項４７に記載のコンピュータ・プログラム製品。
【請求項５２】
前記論理トポロジーの前記再構成は、前記再構成の前に前記仲介ネットワークを通過したメッセージが、前記再構成の後に前記仲介ネットワークを通過したメッセージより先に配送されることを保証する臨時バリアの生成を備える、請求項５１に記載のコンピュータ・プログラム製品。
【請求項５３】
前記臨時バリアを生成する前記ステップは、前記１つまたは複数の再構成メッセージを前記仲介サイクルで循環させることと、前記サイクル内の各モジュールが前記再構成を十分に通知されることを保証することとを備える、請求項５２に記載のコンピュータ・プログラム製品。
【請求項５４】
前記仲介構成の前記論理トポロジーの前記再構成は、追加のローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードの挿入であり、前記１つまたは複数の再構成メッセージは、前記追加ＬＰＰノードを一意に識別するｎｅｗ＿ＬＰＰメッセージを含み、前記挿入は、
前記追加ＬＰＰノードの所定の追加ＬＰＰモジュールで、前記ｎｅｗ＿ＬＰＰメッセージを生成し、前記ｎｅｗ＿ＬＰＰメッセージをＭＲノードの対応するＭＲモジュールに送信することと、
前記対応するＭＲモジュールで、前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記ＭＲノード用の参照カウントを更新し、前記ｎｅｗ＿ＬＰＰメッセージを前記構成内のすべての仲介者モジュールに伝播させることと、
各仲介者モジュールで、前記ｎｅｗ＿ＬＰＰメッセージを受信し、関連するクレジット・バランスを有する各ＴＰノードのそれぞれの対応するＴＰモジュールに前記ｎｅｗ＿ＬＰＰメッセージを送信することと、
前記対応するＴＰモジュールの各々で、前記ｎｅｗ＿ＬＰＰメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿ＬＰＰメッセージを前記追加ＬＰＰモジュールに送信することと、
前記追加ＬＰＰモジュールで、前記拡張ｎｅｗ＿ＬＰＰメッセージを受信し、それによって前記ｎｅｗ＿ＬＰＰメッセージの循環を完了することと、
前記追加ＬＰＰモジュールで、前記クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証されることとを備える、請求項５３に記載のコンピュータ・プログラム製品。
【請求項５５】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の仲介者ルータ（ＭＲ）ノードのさらなる挿入を備え、前記１つまたは複数の再構成メッセージは、前記追加ＭＲノードを一意に識別するｎｅｗ＿ＭＲメッセージをさらに含み、前記さらなる挿入は、
前記追加ＬＰＰが、対応するクレジット・バランスを有するＭＲノードの対応するＭＲモジュールにｎｅｗ＿ＭＲメッセージを送信することと、
前記対応するＭＲモジュールが、前記追加ＭＲノードのアドレス情報、前記追加ＬＰＰノードのアドレス、ルーティング情報、および前記対応するクレジット・バランスの分数値を含むｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを送信することによって前記ｎｅｗ＿ＭＲメッセージに応答することと、
次に前記対応するＭＲモジュールが、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを任意の仲介者モジュールに転送することと、
前記任意の仲介者モジュールが、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを前記追加ＬＰＰモジュールに受け渡すことと、
次に前記追加ＬＰＰモジュールが、前記ルーティング・マップを追加ＭＲモジュールに受け渡すことと、
前記追加ＭＲモジュールで、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの内容を使用して、新しいクレジット・バランスおよびルーティング・マップを初期化することとを含む、請求項５４に記載のコンピュータ・プログラム製品。
【請求項５６】
前記再構成が、前記追加ＬＰＰモジュールがアドレス指定する前記ＭＲモジュールを前記追加ＭＲモジュールに変更することをさらに備え、前記追加ＭＲモジュールは、前記ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの受信時に、ＭＲ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加ＬＰＰモジュールに送信し、前記追加ＬＰＰモジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＭＲモジュールに送信する、請求項５５に記載のコンピュータ・プログラム製品。
【請求項５７】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の仲介者（Ｍ）ノードの挿入であることができ、前記１つまたは複数の再構成メッセージは、前記追加仲介者ノードを一意に識別するｎｅｗ＿Ｍメッセージを含み、前記挿入は、
所定の追加仲介者モジュールが、前記ｎｅｗ＿Ｍメッセージを生成し、ＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿Ｍメッセージを送信することと、
前記対応するＴＰモジュールで、前記ｎｅｗ＿Ｍメッセージを受信し、前記ＴＰノード用の参照カウントを更新し、前記ｎｅｗ＿Ｍメッセージを前記構成内のすべてのＬＰＰモジュールに伝播させることと、
各ＬＰＰモジュールで、前記ｎｅｗ＿Ｍメッセージを受信し、関連するクレジット・バランスを各ＭＲノードが有するＭＲノードのそれぞれの対応するＭＲモジュールに前記ｎｅｗ＿Ｍメッセージを送信することと、
前記対応するＭＲモジュールの各々で、前記ｎｅｗ＿Ｍメッセージを受信し、前記それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿Ｍメッセージを前記追加仲介者モジュールに送信することと、
前記追加仲介者モジュールで、前記拡張ｎｅｗ＿Ｍメッセージを受信し、それによって前記ｎｅｗ＿Ｍメッセージの循環を完了することと、
前記追加仲介者モジュールで、前記クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に前記再構成の十分な通知が保証されることとを備える、請求項５３に記載のコンピュータ・プログラム製品。
【請求項５８】
前記仲介構成の前記論理トポロジーの前記再構成は、追加の送信プロキシ（ＴＰ）ノードのさらなる挿入を備え、前記１つまたは複数の再構成メッセージは、前記追加ＴＰノードを一意に識別するｎｅｗ＿ＴＰメッセージをさらに含み、前記さらなる挿入は、
前記追加仲介者モジュールが、前記ｎｅｗ＿ＴＰメッセージを受信することと、
前記追加仲介者モジュールが、前記追加仲介者ノードのアドレスを前記ｎｅｗ＿ＴＰメッセージに追加し、対応するクレジット・バランスを有するＴＰノードの対応するＴＰモジュールに前記ｎｅｗ＿ＴＰメッセージを転送することと、
前記対応するＴＰモジュールが、前記追加ＴＰノードのアドレス情報、前記追加仲介者ノードのアドレス、ＬＰＰのリスト、および前記対応するクレジット・バランスの分数値を含む拡張ｎｅｗ＿ＴＰメッセージを生成することによって前記ｎｅｗ＿ＴＰメッセージに応答することと、
次に前記対応するＴＰモジュールが、前記ｎｅｗ＿ＴＰメッセージを任意のＬＰＰモジュールに転送することと、
次に前記任意のＬＰＰモジュールが、新しいルーティング・マップ・メッセージを前記追加ＴＰモジュールに受け渡すことと、
次に前記追加ＴＰモジュールが、ルーティング・マップを前記追加ＭＲモジュールに受け渡すことと、
前記追加ＴＰモジュールが、前記新しいルーティング・マップ・メッセージの内容を使用して、新しい対応するクレジット・バランスおよびＬＰＰモジュールのリストを初期化することとを含む、請求項５７に記載のコンピュータ・プログラム製品。
【請求項５９】
前記再構成は、前記追加仲介者モジュールがアドレス指定する前記ＴＰモジュールを前記追加ＴＰモジュールに変更することをさらに備え、前記追加ＴＰモジュールは、前記新しいルーティング・マップ・メッセージの受信時に、ＴＰ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを前記追加仲介者モジュールに送信し、前記追加仲介者モジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ前記追加および初期ＴＰモジュールに送信する、請求項５８に記載のコンピュータ・プログラム製品。
【請求項６０】
前記コンピュータ・ネットワークは、前記仲介ネットワーク内の各ノードと通信する障害検出ノードをさらに備え、前記コンピュータ・プログラム製品は、
前記障害検出ノードで、障害検出モジュールを提供することと、
前記仲介ネットワークの各ノードで、障害報告モジュールを提供することとをさらに備え、
ノード間の着信または発信通信リンクが障害を起こした場合は常に、前記障害報告モジュールの各々が、前記障害通信リンクに関する情報を前記障害検出モジュールに報告し、
前記障害検出モジュールは、前記障害リンクが障害ノードを暗示するかどうかを決定する、請求項４７に記載のコンピュータ・プログラム製品。
【請求項６１】
前記障害検出モジュールが、前記障害リンクは障害ノードを暗示すると決定した場合、
前記障害ノードと同じタイプの新規ノードを生成することと、
前記障害ノードの内部状態および直接の近隣トポロジーに関する情報を前記新規ノードに登録することと、
前記新規ノードを前記障害ノードより優先的に使用するように前記ネットワークを再構成することとをさらに備える、請求項６０に記載のコンピュータ・プログラム製品。
【請求項６２】
前記所定の仲介者モジュールによって受信されるすべての着信メッセージのメッセージ・ログを生成することをさらに備える、請求項４５に記載のコンピュータ・プログラム製品。
【請求項６３】
前記所定の仲介者モジュールで前記分析されたメッセージに適用される前記仲介タスクは、前記メッセージ・ログを生成することを含む、請求項６２に記載のコンピュータ・プログラム製品。
【請求項６４】
前記コンピュータ・ネットワークは、外部アプリケーションをさらに備え、前記コンピュータ・プログラム製品は、
前記外部アプリケーションで前記メッセージ・ログを生成することをさらに備える、請求項６２に記載のコンピュータ・プログラム製品。
【請求項６５】
内部動作の前記変更は、前記仲介構成の前記論理トポロジーの構造改良であり、前記制御メッセージは、１つまたは複数の改良メッセージである、請求項４７に記載のコンピュータ・プログラム製品。
【請求項６６】
構造改良のステップ内でサブネットワークが単一のノードの代わりに挿入される、請求項６５に記載のコンピュータ・プログラム製品。
【請求項６７】
前記仲介ネットワークの論理および物理構造についての情報を保存するためのデータストアを提供するための命令を備える、請求項４５に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仲介情報フロー・システム（ｍｅｄｉａｔｅｄ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｌｏｗ  ｓｙｓｔｅｍ）に関する。特に、本発明は、散在ピア・ツー・ピア通信とそのような散在メッセージの全体に対するある程度の情報収集制御との両方に対して要件を有する自己管理分散仲介システム（ｓｅｌｆ−ｍａｎａｇｅｄ  ｄｉｓｔｒｉｂｕｔｅｄ  ｍｅｄｉａｔｉｏｎ  ｓｙｓｔｅｍ）に関する。
【背景技術】
【０００２】
ピア・ツー・ピア（Ｐ２Ｐ）通信システムは、計算エンティティ（ピア）が、互いの間にソフトウェア接続（仮想チャネル）を確立することを可能にする。したがって、Ｐ２Ｐシステムは、中央管理制御に対する明示的な必要なしに、ピアが通信し、または計算タスクおよびリソースを共有することを可能にする。Ｐ２Ｐは、１つまたは複数のサーバを備える汎用ネットワーク内で動作することができ、ピアは、ネットワーク上の少なくとも１つのサービスに情報を提供（公表）し、かつ／または別のピアによって公表された情報を受け取るために、そのネットワーク上のサービスに登録（申し込み）することができる。
【０００３】
中央管理制御の提供から利益を得るメッセージ通信システムも知られている。そうしたシステムでは、すべてのメッセージは、メッセージに対して何らかの計算（仲介）が実行される中央拠点を介して、公表者から申込者へ送信される。新しいメッセージ（例えば要約）が入力メッセージから生成され、適切な申込者に送信される。
【０００４】
従来技術の中央管理仲介システムでは、すべてのメッセージ・トラフィックは、仲介サービスが存在する中央ネットワーク・ポイント（拠点）を介して送信される。論理要素に関して見られた場合、そのようなシステムは、そこで仲介タスクが実行される制御の中央ポイントを備えるスター型構成モデルとして構成される。このモデルは、図１Ａに示され、情報の各ソース（公表者）およびシンク（申込者）は、中央仲介ハブに接続する通信ラインを有する。多くの場合、ソースとシンクは、異なるモードで動作する同じエンティティを表し、構成的に区別し得ないかもしれない。
【０００５】
そのような構成に関連する問題がよく知られている。それらは、仲介ポイントで帯域の不足に悩まされる傾向にある。高度に接続された物理ネットワーク上に論理スター型が載せられることができたとしても、すべての情報が中央ポイントを通る基本フローは、このポイントとネットワークの間で利用可能な帯域に基づいて、それに特有のスループット・ボトルネックを引き起こす（図１Ｂを参照）。ネットワーク技術の進歩によって帯域の利用可能度は向上し続けるだろうが、帯域の増加は、固有の財政的コストを伴い、あるシナリオでは、システム全体のスループットに対する現実の限界の原因となることができる。この限界は、ユーザの最大数、または各ユーザが情報を送信および受信することができる速度に対する制約として明瞭に示される。
【０００６】
確かに、Ｐ２Ｐ構成でも中央管理仲介構成でも完全には満足がいかない多くのシステムの例が存在する。しばしば、何らかの論理プロセスがメッセージング・システム内でブロードキャストされたメッセージの全体に対して動作することが必要とされる。どちらの構成も完全には適さないシステムのクラスの例は、潜在的買い手と売り手が互いに広告を出し、取引上の要件の一致を保証する仲介が必要とされる取引システム、情報が広められる前に中央オーソリティ（ｃｅｎｔｒａｌ  ａｕｔｈｏｒｉｔｙ）が編集制御として機能する仲介ニュースまたは出版システム、積極的には制御されないが、情報フローの順序づけられたログが中央リポジトリで維持されることを必要とするシステム、進行中の会話に参加するユーザに最近のコンテキストが提示されることを可能にする会話サービス、暗号鍵の配送（いわゆる鍵配送問題）、分散ネットワーク上でデータ（状態）およびサービスの所在を見出すためのシステム、およびモバイル・ユーザの居所を見つけ、通信するためのシステムを含む。
【０００７】
全体的に通信が考察された場合、上述のすべての例は共通して、ピア・ツー・ピア通信と情報フローのある程度の中央管理仲介との両方に対して要件を有する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、上述の問題を除去すること、または少なくとも軽減することである。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、コンピュータ・ネットワークにおいてメッセージ・フローを仲介するための方法が提供され、コンピュータ・ネットワークは、仲介ネットワークを備え、仲介ネットワークは、
仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ：ｌｏｃａｌ  ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ：ｍｅｄｉａｔｏｒ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ：ｍｅｄｉａｔｏｒ  ｒｏｕｔｅｒ）モジュールであって、各ＭＲモジュールが、着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ：ｔｒａｎｓｍｉｓｓｉｏｎ  ｐｒｏｘｙ）モジュールとを含み、
前記方法において、仲介ネットワークへの着信メッセージは、仲介サイクル（ｍｅｄｉａｔｉｏｎ  ｃｙｃｌｅ）に沿って伝播され、仲介サイクルは、
ＬＰＰモジュールが、前記少なくとも１つの仲介者ルータ（ＭＲ）モジュールのそれぞれのモジュールを着信メッセージのアドレスに指定するステップと、
前記アドレス指定されたＭＲモジュールで、着信メッセージの内容を分析し、前記メッセージを前記分析された内容に応じて所定の仲介者モジュールにルーティングするステップと、
前記所定の仲介者モジュールで、前記分析されたメッセージに仲介タスクを適用し、仲介メッセージを前記ＴＰモジュールのそれぞれのモジュールに送信するステップと、
前記仲介メッセージを受信した前記ＴＰモジュールで、前記仲介メッセージを少なくとも１つの前記ＬＰＰモジュールに転送するステップとを備える。
【００１０】
この文書を通じて、物理ノードという用語は、物理マシンだけを指す。「ノード」および「論理ノード」という用語は、状態属性を有する拠点を指すために交換可能に使用される。仲介ネットワークの論理トポロジーに関して、モジュールは、関連論理ノードの機能を提供する。
【００１１】
したがって、分散仲介は、Ｐ２Ｐ構成と中央管理仲介のハイブリッドを形成する。スター型構成の論理中央ハブは、ソースおよびシンクから成る外部ネットワークへの複数のコネクションを有する、仲介者ノードから成る中央（しかし分散）仲介ネットワークによって置き換えられる。このアプローチは、スター型の（中央仲介）構成の帯域制約に対処する。システムの仲介要件は、それが搬送するメッセージの集合に対して課される何らかの分類に基づいて、分散仲介ネットワークのノード間に分配される。すべての着信メッセージの集合は、メッセージ内容に基づいて複数の重複のない部分集合に分類される。この分類の概念は、システム動作の外から観察可能な挙動には影響を及ぼさず、システムの全体的スループットにのみ影響を及ぼす。
【００１２】
分散仲介ネットワークの物理構成は、中央仲介ネットワークとは大きく異なり、前者の場合、同量の情報フローを吸収する多くのネットワーク接続が存在し、その結果、各物理ノードでの帯域要件は、比例的に低いものとなる。論理的な絵図は、複数の仲介者ノードが単一のネットワーク内に配置された形に描かれることができるが、実際には、物理ノードのサイトは、物理的に、また地理的にさえも複数のマシン間に散在させられることができることは理解されよう。これは、この構成が世界中のサイトに配備され、論理および物理構成の間に何も緊密な関係がありそうにない場合に、特に起こる可能性が高い。
【００１３】
明らかに、このアプローチの利点は、ネットワーク接続されたマシンの物理編成から生じる。各仲介者モジュールは、自立的に機能することができ、他のどのモジュールとも無関係にそのアクションを実行することができる。言い換えると、モジュールは、他のどのモジュールにもグローバルな依存性をもたず、直接の隣接者（ｉｍｍｅｄｉａｔｅ  ｎｅｉｇｈｂｏｕｒ）より向こうのネットワークに関する詳細な知識を何も必要としない。高度に接続されたネットワーク基盤を与えられた場合、与えられたスループットを達成するための最大必須帯域は、任意の低い値まで低下される。仲介負荷が仲介サービスによって利用されるマシン間に均一に配分されることができる場合、これは、ネットワーク上の仲介者ノードの数を増やすことによって達成されることができる。ネットワーク内の任意の１つのポイントにおける最大必須帯域は、ネットワーク負荷とまだ比例するが、配備された仲介者ノードの数に逆比例もする。当然、全仲介要件を複数のプラットホームに分配することを組織することによって引き起こされるどのような追加のネットワーク負荷も、この構成の利益を打ち消すことがないように十分低くなければならない。
【００１４】
仲介ネットワークによって処理される着信メッセージは、情報ソースとして機能するプロセスから生じる新情報と、仲介ネットワーク内のノードの状態についての問い合わせであって、応答を必要とする問い合わせと、関係する新情報が仲介ネットワークによって受信されたときは常に継続的な応答を必要とする関心表明（ｅｘｐｒｅｓｓｉｏｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）とを含む、メッセージ・タイプ群のうちの１つに属すことができる。
【００１５】
制御メッセージを着信メッセージとして仲介サイクルに沿って送信することによって、本発明の方法は、仲介ネットワークの内部動作の変更を引き起こすことができる。
【００１６】
クライアント・メッセージを搬送することに加えて、分散仲介ネットワークは、制御または管理メッセージの配布も容易にする。管理メッセージは、ネットワーク内の各サイクルの連続するノードへの命令の伝搬にだけ関わり、特に内部動作の変更をもたらすという点で異なる。それらは、クライアント・メッセージとインタリーブされることができる。
【００１７】
内部動作の変更に対処することによって、本発明は、動的負荷バランシングが固定トポロジー・ネットワーク内で生じることと、論理トポロジーの任意の変更に関連する仲介プロセス移行（ｍｅｄｉａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｍｉｇｒａｔｉｏｎ）の両方を、どちらの場合にも不安定性を導入することなく可能にしようと試みる。
【００１８】
内部動作における変更は、提供仲介者モジュールと受取仲介者モジュールの間の仲介タスクの移管（ｈａｎｄｏｖｅｒ：ハンドオーバー）であることができ、
制御メッセージは、仲介者移管メッセージであり、仲介者移管メッセージの内容は、所定のコンテンツ・タグを有するコンテンツの提供仲介者モジュールから受取仲介者モジュールへの再割り当てを記述し、提供仲介者モジュールは、前記コンテンツを処理するものとして現在登録されており、
仲介者移管メッセージの取り扱い（ｄｉｒｅｃｔｉｏｎ）は、
所定のＬＰＰモジュールから、仲介者移管メッセージをそれぞれの関連ＭＲモジュールに送信することと、
関連ＭＲモジュールで、前記コンテンツ・タグを読み取り、メッセージを提供仲介者モジュールに転送することと、
仲介者移管メッセージの受信時に、提供仲介者が、仲介者ノードの状態を変更することと、仲介者移管メッセージの内容を含むＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージを受取仲介者モジュールに送信することと、ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを関連ＴＰモジュールに送信することと、その後、コンテンツ・タグを含むメッセージを受取仲介者モジュールに転送するために状態を変更することとを備える。
【００１９】
分類に関してユーザの要求は時間とともに変化するので、移管操作は、システム全体でのネットワークおよび計算負荷を平衡させるために、仲介タスクが実行されるノードが物理的に移動されることを可能にする機能を提供する。
【００２０】
移管は好ましくは、
ＴＰモジュールがＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを少なくとも１つのＬＰＰモジュールに転送することと、
受取仲介者モジュールが再割り当てコンテンツに対応するペイロードを有するＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを生成し、前記ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを関連するすべてのＴＰモジュールにブロードキャストすることと、
ＬＰＰモジュールがＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージの受信とＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージの受信の間のすべての着信メッセージをバッファリングすることとをさらに備える。
【００２１】
有利には、本発明の方法は、
その後、ＬＰＰモジュールがＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージを関連ＭＲモジュールに転送することと、
ＭＲモジュールがＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥを受信したときは常に、ＮＥＷ＿ＭＥＤＩＡＴＯＲ＿ＡＣＴＩＶＥメッセージのペイロードに一致する将来のコンテンツが提供仲介者モジュールではなく受取仲介者モジュールに送信されるように、前記ＭＲモジュール用のルーティング・テーブルを更新し、ルーティング・テーブルが更新されたことを提供仲介者モジュールに通知し、その後、提供仲介者モジュールは、今は受取仲介者モジュールが再割り当てコンテンツの仲介者モジュールであることをすべてのＭＲモジュールが通知されたならば、メッセージを転送することを止めることをさらに備える。
【００２２】
移管操作は、論理トポロジーの任意の変更にもかかわらず、動的な仲介プロセス移行を可能にしない。
【００２３】
内部動作の変更は、仲介ネットワークの論理トポロジーの再構成であることもでき、制御メッセージは、１つまたは複数の再構成メッセージである。
【００２４】
論理トポロジーの再構成は好ましくは、再構成の前に仲介ネットワークを通過したメッセージが、再構成の後に仲介ネットワークを通過したメッセージより先に配送されることを保証する臨時バリア（ｃａｓｕａｌ  ｂａｒｒｉｅｒ）の生成を備える。どの場合も、臨時バリアを生成するステップは、前記１つまたは複数の再構成メッセージを仲介サイクルで循環させることと、サイクル内の各モジュールが再構成を十分に通知されることを保証することとを備える。
【００２５】
有利には、仲介構成の論理トポロジーの再構成は、追加のローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードの挿入であり、前記１つまたは複数の再構成メッセージは、追加ＬＰＰノードを一意に識別するｎｅｗ＿ＬＰＰメッセージを含み、前記挿入は、
追加ＬＰＰノードの所定の追加ＬＰＰモジュールで、ｎｅｗ＿ＬＰＰメッセージを生成し、ｎｅｗ＿ＬＰＰメッセージをＭＲノードの対応するＭＲモジュールに送信することと、
対応するＭＲモジュールで、ｎｅｗ＿ＬＰＰメッセージを受信し、ＭＲノード用の参照カウント（ｒｅｆｅｒｅｎｃｅ  ｃｏｕｎｔ）を更新し、ｎｅｗ＿ＬＰＰメッセージを構成内のすべての仲介者モジュールに伝播させることと、
各仲介者モジュールで、ｎｅｗ＿ＬＰＰメッセージを受信し、関連するクレジット・バランス（ｃｒｅｄｉｔ  ｂａｌａｎｃｅ）を各ＴＰノードが有するＴＰノードのそれぞれの対応するＴＰモジュールにｎｅｗ＿ＬＰＰメッセージを送信することと、
対応するＴＰモジュールの各々で、ｎｅｗ＿ＬＰＰメッセージを受信し、それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿ＬＰＰメッセージを追加ＬＰＰモジュールに送信することと、
追加ＬＰＰモジュールで、拡張ｎｅｗ＿ＬＰＰメッセージを受信し、それによってｎｅｗ＿ＬＰＰメッセージの循環を完了することと、
追加ＬＰＰモジュールで、クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に再構成の十分な通知が保証されることとを備える。
【００２６】
仲介構成の論理トポロジーの再構成は、追加の仲介者ルータ（ＭＲ）ノードのさらなる挿入を備えることができ、前記１つまたは複数の再構成メッセージは、追加ＭＲノードを一意に識別するｎｅｗ＿ＭＲメッセージをさらに含み、前記さらなる挿入は、
追加ＬＰＰが、対応するクレジット・バランスを有するＭＲノードの対応するＭＲモジュールにｎｅｗ＿ＭＲメッセージを送信することと、
対応するＭＲモジュールが、追加ＭＲノードのアドレス情報、追加ＬＰＰノードのアドレス、ルーティング情報、および対応するクレジット・バランスの分数値（ｆｒａｃｔｉｏｎ）を含むｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを送信することによってｎｅｗ＿ＭＲメッセージに応答することと、
次に対応するＭＲモジュールが、ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを任意の仲介者モジュールに転送することと、
任意の仲介者モジュールが、ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージを追加ＬＰＰモジュールに受け渡すことと、
次に追加ＬＰＰモジュールが、ルーティング・マップを追加ＭＲモジュールに受け渡すことと、
追加ＭＲモジュールで、ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの内容を使用して、新しいクレジット・バランスおよびルーティング・マップを初期化することとを含む。
【００２７】
前記再構成が、追加ＬＰＰモジュールがアドレス指定するＭＲモジュールを追加ＭＲモジュールに変更することをさらに備えることが好ましく、追加ＭＲモジュールは、ｎｅｗ＿ＭＲ＿ｒｏｕｔｅ＿ｔａｂｌｅメッセージの受信時に、ＭＲ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを追加ＬＰＰモジュールに送信し、追加ＬＰＰモジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ追加および初期ＭＲモジュールに送信する。
【００２８】
代替として、仲介構成の論理トポロジーの再構成は、追加の仲介者（Ｍ）ノードの挿入であることができ、前記１つまたは複数の再構成メッセージは、追加仲介者ノードを一意に識別するｎｅｗ＿Ｍメッセージを含み、前記挿入は、
所定の追加仲介者モジュールが、ｎｅｗ＿Ｍメッセージを生成し、ＴＰノードの対応するＴＰモジュールにｎｅｗ＿Ｍメッセージを送信することと、
対応するＴＰモジュールで、ｎｅｗ＿Ｍメッセージを受信し、ＴＰノード用の参照カウントを更新し、ｎｅｗ＿Ｍメッセージを構成内のすべてのＬＰＰモジュールに伝播させることと、
各ＬＰＰモジュールで、ｎｅｗ＿Ｍメッセージを受信し、関連するクレジット・バランスを各ＭＲノードが有するＭＲノードのそれぞれの対応するＭＲモジュールにｎｅｗ＿Ｍメッセージを送信することと、
対応するＭＲモジュールの各々で、ｎｅｗ＿Ｍメッセージを受信し、それぞれの関連するクレジット・バランスを含むそれぞれの拡張ｎｅｗ＿Ｍメッセージを追加仲介者モジュールに送信することと、
追加仲介者モジュールで、拡張ｎｅｗ＿Ｍメッセージを受信し、それによってｎｅｗ＿Ｍメッセージの循環を完了することと、
追加仲介者モジュールで、クレジット・バランスを合計し、クレジット合計が所定の完了値に達した場合に再構成の十分な通知が保証されることとを備える。
【００２９】
後者の場合、仲介構成の論理トポロジーの再構成は、追加の送信プロキシ（ＴＰ）ノードのさらなる挿入を備えることができ、前記１つまたは複数の再構成メッセージは、追加ＴＰノードを一意に識別するｎｅｗ＿ＴＰメッセージをさらに含み、前記さらなる挿入は、
追加仲介者モジュールが、ｎｅｗ＿ＴＰメッセージを受信することと、
追加仲介者モジュールが、追加仲介者ノードのアドレスをｎｅｗ＿ＴＰメッセージに追加し、対応するクレジット・バランスを有するＴＰノードの対応するＴＰモジュールにｎｅｗ＿ＴＰメッセージを転送することと、
対応するＴＰモジュールが、追加ＴＰノードのアドレス情報、追加仲介者ノードのアドレス、ＬＰＰのリスト、および対応するクレジット・バランスの分数値を含む拡張ｎｅｗ＿ＴＰメッセージを生成することによってｎｅｗ＿ＴＰメッセージに応答することと、
次に対応するＴＰモジュールが、ｎｅｗ＿ＴＰメッセージを任意のＬＰＰモジュールに転送することと、
次に任意のＬＰＰモジュールが、新しいルーティング・マップを追加ＴＰモジュールに受け渡すことと、
次に追加ＴＰモジュールが、ルーティング・マップを追加ＭＲモジュールに受け渡すことと、
追加ＴＰモジュールが、新しいルーティング・マップ・メッセージの内容を使用して、新しい対応するクレジット・バランスおよびＬＰＰモジュールのリストを初期化することとを含む。
【００３０】
好ましくは、前記再構成は、追加仲介者モジュールがアドレス指定するＴＰモジュールを追加ＴＰモジュールに変更することをさらに備え、追加ＴＰモジュールは、新しいルーティング・マップ・メッセージの受信時に、ＴＰ＿ｉｎｉｔｉａｌｉｓｅｄ（）メッセージを追加仲介者モジュールに送信し、追加仲介者モジュールは、ｉｎｃ＿ｒｅｆ＿ｃｏｕｎｔ（）およびｄｅｃ＿ｒｅｆ＿ｃｏｕｎｔ（）メッセージをそれぞれ追加および初期ＴＰモジュールに送信する。
【００３１】
コンピュータ・ネットワークは便利には、仲介ネットワーク内の各ノードと通信する障害検出ノードをさらに備えることができ、本発明の方法は、
障害検出ノードで、障害検出モジュールを提供することと、
仲介ネットワークの各ノードで、障害報告モジュールを提供することとをさらに備え、
ノード間の着信または発信通信リンクが障害を起こした場合は常に、前記障害報告モジュールの各々が、障害通信リンクに関する情報を前記障害検出モジュールに報告し、
前記障害検出モジュールは、前記障害リンクが障害ノードを暗示するかどうかを決定する。
【００３２】
障害検出モジュールが、前記障害リンクは障害ノードを暗示すると決定した場合、本発明の方法は、障害ノードと同じタイプの新しいノードを生成することと、障害ノードの内部状態および直接の近隣トポロジーに関する情報を新しいノードに登録することと、新しいノードを障害ノードより優先的に使用するようにネットワークを再構成することとをさらに備える。
【００３３】
本発明の方法は有利には、前記所定の仲介者モジュールによって受信されるすべての着信メッセージのメッセージ・ログを生成することをさらに備える。
【００３４】
前記所定の仲介者モジュールで前記分析されたメッセージに適用される仲介タスクは、メッセージ・ログを生成することを含むことができる。代替として、コンピュータ・ネットワークは、外部アプリケーションをさらに備え、本発明の方法は、前記外部アプリケーションでメッセージ・ログを生成することをさらに備えることができる。
【００３５】
便利には、内部動作の変更は、変更要求に応答した、仲介構成の論理トポロジーの構造改良の形をとることができる。有利には、構造改良のステップ内でサブネットワークが単一のノードの代わりに挿入される。
【００３６】
本発明のさらなる一態様によれば、コンピュータ・ネットワークにおいてメッセージ・フローを仲介するための仲介ネットワークが提供され、仲介ネットワークは、
仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ）モジュールであって、各ＭＲモジュールが着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ）モジュールとを備え、
仲介ネットワークは、ＬＰＰモジュールがＭＲモジュールをアドレス指定し、次にＭＲモジュールがＭモジュールをアドレス指定し、次にＭモジュールがＴＰモジュールをアドレス指定し、そして次にＴＰモジュールがＬＰＰモジュールをアドレス指定する単方向仲介サイクルに沿ってメッセージを結合する。
【００３７】
本発明の別の態様によれば、コンピュータ・ネットワークにおいてメッセージ・フローを仲介するためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、仲介ネットワークを提供するための実行可能命令を含み、仲介ネットワークは、
仲介ネットワークとクライアント・プログラムの間でインタフェースをとるための少なくとも１つのローカル・ポイント・オブ・プレゼンス（ＬＰＰ）モジュールと、
仲介タスクをホストするための少なくとも１つの仲介者（Ｍ）モジュールと、
着信メッセージの内容を分析するための少なくとも１つの仲介者ルータ（ＭＲ）モジュールであって、各ＭＲモジュールが着信メッセージを前記内容に応じて所定のＭモジュールにルーティングする少なくとも１つの仲介者ルータ（ＭＲ）モジュールと、
メッセージを前記ＬＰＰモジュールの少なくとも１つに転送するための少なくとも１つの送信プロキシ（ＴＰ）モジュールとを備え、
命令が実行された場合、仲介ネットワークへの着信メッセージは、仲介サイクルに沿って伝播され、仲介サイクルは、ＬＰＰモジュールが、前記少なくとも１つの仲介者ルータ（ＭＲ）モジュールのそれぞれのモジュールを着信メッセージのアドレスに指定するステップと、
前記アドレス指定されたＭＲモジュールで、着信メッセージの内容を分析し、前記メッセージを前記分析された内容に応じて所定の仲介者モジュールにルーティングするステップと、
前記所定の仲介者モジュールで、前記分析されたメッセージに仲介タスクを適用し、仲介メッセージを前記ＴＰモジュールのそれぞれのモジュールに送信するステップと、
前記仲介メッセージを受信した前記ＴＰモジュールで、前記仲介メッセージを少なくとも１つの前記ＬＰＰモジュールに転送するステップとを備える。
【００３８】
本発明の実施例がこれから添付の図面を参照して詳細に説明される。
【発明を実施するための最良の形態】
【００３９】
本発明に背景を提供するＰ２Ｐおよび集中仲介メッセージング・モデルが最初に説明される。この説明を通して、ソースという用語は、ネットワーク・サービスに送信される新しいメッセージを生成するクライアントを指し、シンクという用語は、ネットワーク・サービスからメッセージを受信するクライアントを指す。ネットワーク・サービスの各クライアントは、ソース、シンク、またはその両方であることができる。代替的な用語では、情報のソースは、公表者と呼ばれ、情報のシンクは、申込者と呼ばれる。
【００４０】
ピア・ツー・ピアの内容ベース・ルーティング（content-based routing）では、ネットワークは、適切なソースとシンクの間の仮想チャネルの確立に基づいて、ソースからシンクへの効率的なメッセージ送信が可能になるように構成される。効率は一般に、完全に接続されたグラフから不要な辺（ノードを接続する通信ライン）を検出し、除去することによって達成され、その後、結果の最適化グラフは、利用可能なネットワーク基盤に適合される。Ｐ２Ｐ仮想チャネルを確立するには、１つのピアからの関心表明と、その他のピアによるその関心の受け入れを必要とする。
【００４１】
他方、集中仲介モデルでは、すべてのメッセージは、中央仲介ノード（図１Ａおよび１Ｂを参照）を介して送信される。仲介ネットワークの用語（ｐａｒｉａｎｃｅ）では、仲介サービスは、すべての着信メッセージに適用されるいくつかの計算に対して用いられる一般用語であり、仲介構成のどれか特定のインスタンスの仲介要件は、そこで提供されるすべての仲介サービスの照合（ｃｏｌｌａｔｉｏｎ）を指し、仲介オーソリティは、そのような仲介サービスを提供する１人または複数の人であり、仲介ネットワークは、仲介オーソリティの管理下にある物理的な計算エンティティ（マシン）のネットワークであり、仲介サーバは、１つまたは複数の仲介サービスをホストする物理マシンである。
【００４２】
汎用仲介情報フロー・システムの簡略化モデルでは、仲介オーソリティに送信されるメッセージは、以下のタイプ、すなわち、情報ソースとして動作するプロセスから生じる新情報、仲介オーソリティによって保持される状態についての問い合わせ、および関係する新情報が仲介オーソリティによって受信されるときはいつでも継続応答を必要とする基本的に持続的な問い合わせである関心表明のうちの１つに属することができる。
【００４３】
完全仲介モデルであっても、関心表明は、特にこのネットワーク・サービスのシンクへの配送においてまだ重要であることができ、各仮想チャネルでの帯域要件を低下させることができることは述べるに値する。
【００４４】
上記の定義に照らして、仲介情報フロー・システムは、情報を含み、仲介オーソリティにおよびから送信されるメッセージから成るシステムである。このオーソリティによって取られるアクションは、受信メッセージの時間順のロギング、ある時点までに受信されたメッセージの全体に対する計算、およびメッセージ内容に基づく何らかの処理をおそらく実行した後での着信メッセージのその他のクライアントへの配布を含むことができる。
【００４５】
本発明は、内容ベースの非集中化Ｐ２Ｐモデルと単純な集中仲介ネットワーク・モデルとのハイブリッドを提示する。単一の中央仲介者を提供するのではなく、様々な仲介サービスが、複数の別個の機能構成要素を備える仲介ネットワーク全体に分散される。ハイブリッド・モデルでは、関心表明は、ソース・ノードと仲介者ノードの間で仮想チャネルをオープンするために使用され、関心表明は、仲介者ノードとシンク・ノードの間で仮想チャネルをオープンするために使用される。したがって、シンク・ノードによって受信されるメッセージは、仲介されるサービスとともに登録される関心表明によって管理される。ソースおよびシンク・ノード間の待ち時間は、２以上の論理ホップが伴われるので、単純な内容ベース・ルーティングにおけるよりも必然的に長い。コンテキストがそれを許すならば、各論理ホップの待ち時間は、より静的な情報が利用可能になるほど、連続的に短縮されることができる。単純な仲介モデルと比較して、仲介タスクは、複数ノードに分配されるので（図２Ａを参照）、より複雑になる。しかし、集中仲介モデルに固有の中央ボトルネック（ｃｅｎｔｒａｌ  ｂｏｔｔｌｅｎｅｃｋ）は取り除かれ、その結果得られる構成はスケーラブルである。
【００４６】
すべての着信メッセージの集合は、メッセージ内容によって複数の重複しない部分集合（カテゴリ）に分割（分類）される。仲介要件の全体は、複数の仲介タスクとして実施され、各タスクは、受信メッセージの個々のカテゴリに対して動作する異なるプロセスで別々にサービスされる。各メッセージは、そのメッセージが特定のカテゴリのメンバーであるかどうかを示す内容、いわゆる決定論的述語（ｄｅｔｅｒｍｉｎｉｓｔｉｃ  ｐｒｅｄｉｃａｔｅ）を含む。この決定論的述語は、メッセージの「文」の「動詞」部分であると考えられることができる。したがって、着信メッセージは、それらの内容である決定論的述語に基づいて分類可能である。その場合、カテゴリは、関連する決定論的述語に基づくすべての可能なメッセージの部分集合と見なされることができる。確かに、与えられた決定論的述語の存在は、対応するカテゴリを特徴づける。
【００４７】
情報がさらに配布される前に仲介オーソリティが編集制御として動作する仲介ニュースまたは出版サービスでは、決定論的述語の例は、
・文書の一意識別子の同一性
例．ｄｏｃ  ｉｄ＝１２４６５１２３３１４００
例．ｎｅｗｓＭＬ  ｉｔｅｍｉｄ＝“２３８５６３”
・何らかの日付／時刻表現
例．ｎｅｗｓＭＬ  ｎｅｗｓｉｔｅｍ．ｄａｔｅ＜２８  Ｊｕｌｙ  ２００３  ａｎｄ  ｎｅｗｓｉｔｅｍ．ｄａｔｅ＞１０  Ｊａｎｕａｒｙ  ２００１
・文書の国コードの同一性
例．ｃｏｕｎｔｒｙ＿ｃｏｄｅ＝ＵＫ  ｏｒ  ｃｏｕｎｔｒｙ＿ｃｏｄｅ＝“ＵＫ”ｏｒ  ｃｏｕｎｔｒｙ＿ｃｏｄｅ＝“ＵＳ”
｛ｎｅｗｓＭＬ  ｃｏｕｎｔｒｙ  ｃｏｄｅを使用｝
・何についての記事かに関する何らかのトピック・コード
例．Ｔｏｐｉｃ＝“ｈｕｍａｎ  ｒｉｇｈｔｓ”｛ｎｅｗｓＭＬ  ｔｏｐｉｃ  ｃｏｄｅを使用｝
・ｎｅｗｓＭＬ記事の属性値に基づく何らかの述語
例．＜ｄａｔｅｌｉｎｅ＞＝＝“ＬＯＮＤＯＮ”
を含む。
【００４８】
中央オーソリティが買い手と売り手の要件を一致させるために動作する売買取引サービスでは、決定論的述語の例は、
・Ａｒｔｉｃｌｅ＝“ｐｉａｎｏ”ａｎｄ  ｌｏｃａｔｉｏｎ＝“ＮＥ  Ｓｃｏｔｌａｎｄ”ａｎｄ  ｐｒｉｃｅ＜３  ｐｏｕｎｄｓ
・Ｓｔｏｃｋ＝“ＩＢＭ”
・Ｃａｔｅｇｏｒｙ＝“Ｈｏｍｅ＞Ａｌｌ  Ｃａｔｅｇｏｒｉｅｓ＞Ｓｐｏｒｔｓ”ａｎｄ  ｉｔｅｍ＝“ｗｉｎｄｓｕｒｆｅｒ”
を含む。
【００４９】
進行中の会話に参加するユーザに最近のコンテキストを提示することができる会話サービスでは、決定論的述語は、
・Ｔｏｐｉｃ＝“ｓａｉｌｉｎｇ”ａｎｄ  ｃａｔｅｇｏｒｙ＝“Ｔｏｐｐｅｒ”
・Ｔｏｐｉｃ＝“Ｍａｉｌ  ｓｅｒｖｅｒｓ”ａｎｄ  ｃａｔｅｇｏｒｙ＝“ｓｅｎｄＭａｉｌ”ａｎｄ  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ＝“Ｕｎｉｘ”
であり、ニュースグループから取られた例では、
・Ｔｏｐｉｃ＝ａｌｔ．ｍｏｎｅｙ．ｃｕｒｒｅｎｃｙ．ｕｓ−ｄｏｌｌａｒｓ
であることができる。
【００５０】
暗号鍵を配送する（いわゆる鍵配送問題の）場合、決定論的述語は、鍵の値に基づいて、例えば、
Ｋｅｙ  ｖａｌｕｅ＞２３３５２３４５  ａｎｄ  ｋｅｙｖａｌｕｅ＜６６６７６７６７９７９０７９
であることができる。
【００５１】
分散ネットワーク上でデータ（状態）およびサービスの所在を見つける場合、決定論的述語は、
例．ＧＵＩＤ＝１２５６４５６５４６４５
のようにグローバルに一意な識別子に基づくことができ、または
例．Ｓｅｒｖｉｃｅ＝“ｐｒｉｎｔｅｒ（ｔｙｐｅ＝“ｌａｓｅｒｊｅｔ”；ｐｒｉｃｅ＝“４ｐ／ｐａｇｅ”；ｓｉｚｅ＝Ａ０）”
のように探しているサービスの記述子に基づくことができる。
【００５２】
最後に、モバイル・ユーザの居所を見つけ、通信する場合、決定論的述語の例は、
・Ｎａｍｅ＝“Ｂｏｎ  Ｍｏｎｋｅｙｈｏｕｓｅ”
・ｐｈｏｎｅ  ｎｕｍｂｅｒ＝“０１７７６  ３２４６３２７４３２７”
・ｅ−ｍａｉｌ  ａｄｄｒｅｓｓ＝ａｓａｕ＠ｇｈｓｇｈｄｓｇ．ｎｅｔ
含む。
【００５３】
すべてのカテゴリの集合（したがって一度分類されたすべてのメッセージの集合）は、分類と呼ばれる。したがって、分類は、すべてのメッセージの集合の分割を表し、単一のメッセージは、２以上のカテゴリに属すことはできない。この分類の概念は、システム動作の外から観察可能な挙動には影響を及ぼさず、システムの全体的スループットにのみ影響を及ぼす。
【００５４】
システムの分類は、システム内を受け渡されていく情報の何らかの特性に基づくので、送信されるメッセージのタイプ（新情報、関心表明、または問い合わせ）から独立している。重大なことは、分類は、自動化プロセスによって生じることができる。そのような着信メッセージは、分類内のそのカテゴリについての情報、または分類内のそのカテゴリに関係する問い合わせから成ることができる。
【００５５】
情報システムの分類は、仲介オーソリティによって実行され、これはシステムの動作中に起こることができる。決定論的述語は、カテゴリに入れるために任意のメッセージを検査することができるように生成されなければならない。このように識別される各カテゴリについて、別個のプロセスが、その仲介サービスを処理するために仲介ネットワーク内で作成される。最後に、分類は、論理システムのセマンティクスをどんな形にせよ変更するためではなく、その性能を向上させるためだけに使用され、システムのクライアントは、それが存在することに気づかないことは述べるに値する。
【００５６】
各カテゴリ用の仲介タスクは、仲介ネットワーク内の特定のマシン（コンピュータ）でホストされる。システムが活動中のとき、メッセージはクライアントによって仲介ネットワークに送信される。ネットワークに受信されたメッセージは、すべてのカテゴリ述語の集合によるメッセージ内容の分析に基づいて、適切な仲介サービスに転送される。この転送プロセスは、分類についての知識と、各仲介タスクがホストされ、仲介ネットワーク内を受け渡されていくべき物理ロケーションとについての知識を必要とする。
【００５７】
図３は、「静的（ｑｕｉｅｓｃｅｎｔ）」または「安定状態（ｓｔｅａｄｙ  ｓｔａｔｅ）」にある、すなわち論理トポロジーの変化を考えに入れない状態にある（ハイブリッド）分散仲介モデルの機能構成要素を例示する最小のトポロジーを示す。この図は、データがどのようにシステム内の様々な構成要素ノード間を流れるかを示す。
【００５８】
限定されない規模の分散仲介モデルに必要なすべての構成要素ノードは、この最小のトポロジーに示され、ソース、シンク、ローカル・ポイント・オブ・プレゼンス、仲介者ルータ、仲介者、および送信プロキシを含む。以降の説明を通して、これらの項目および以下に列挙されるその他は、以下に説明されるように定義される。
【００５９】
ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）：ローカル・ポイント・オブ・プレゼンスは、クライアント（ソースおよびシンク）と分散仲介モデルの残りの部分との間の仲介者として動作する。ローカル・ポイント・オブ・プレゼンスは、仲介サービス用のプロキシを特定の地理的領域に提供するネットワーク・ノードである。したがって、各ソースまたはシンクは、単一のローカル・ポイント・オブ・プレゼンスとだけ通信し、そして、仲介構成内の他のいかなるノードとも通信しない。任意の数のＬＰＰがシステム内に存在することができ、各々はそれぞれの数のクライアントにサービスする。
【００６０】
仲介者（Ｍ）：仲介者は、仲介者モジュールを組み込んだネットワーク・ノードであり、それは仲介要件にサービスを提供する。各仲介者は、関連するダウンストリーム配送を備え、それは関連メッセージをＬＰＰに、したがって最終的にシンクに受け渡すのに使用される。各仲介者モジュールは、１つまたは複数の仲介タスクを実施し、各タスクは、着信メッセージの単一のカテゴリに対して機能する。仲介者モジュールは、受信したすべての着信メッセージのログを記録し、これらのメッセージを関連するダウンストリーム送信ネットワークに転送するように構成されることができる。その場合、仲介タスクは、そのように生成されたメッセージ・ログに対する問い合わせにサービスを提供することを含むことができる。
【００６１】
仲介者ルータ（ＭＲ）：仲介者ルータは、仲介者ルータ・モジュールを組み込んだネットワーク・ノードであり、それは着信メッセージの内容を分析し、そのメッセージがどのカテゴリに属するかを決定し、それらを適切な仲介者にルーティングする。各仲介者ルータは、アップストリーム・ネットワークの最前部に存在し、複数のＬＰＰからメッセージを受信する。仲介者ルータも、例えば、それがサービスする地理的領域内でローカル・サービスを可能にするため、着信メッセージのログを記録することができる。
【００６２】
送信プロキシ（ＴＰ）：送信プロキシは、送信プロキシモジュールを組み込んだネットワーク・ノードであり、それは１つまたは複数の仲介者ノードによって出力されたメッセージを分析し、登録された関心表明から、発信メッセージがどのシンク宛てに送信されるかを決定し、そして各仲介者に関連するダウンストリーム・ネットワークにメッセージを転送する。
【００６３】
アップストリーム・ネットワーク（ソースから仲介者ルータまで）は、仲介されているように見えるが、内容ベースではない。いわゆるクロスストリーム（ｃｒｏｓｓ−ｓｔｒｅａｍ）内の仲介者ルータと仲介者の間のルーティングは、内容ベースである。ダウンストリーム・ネットワークも、内容ベースのルーティングを必要とし、確かに、仲介者ルータとＬＰＰの間のメッセージ・ルーティングは、正当な権利をもってハイブリッド内容ベース配送機構と見なされることができる。このハイブリッドの一部としてのメッセージ空間の分割は、非スケーラブルな中央ボトルネックを招くことなく、公表／申し込みモデルにミッドストリーム仲介サービスの導入を可能にする。
【００６４】
「静的」または「安定状態」システムの場合、分散仲介ネットワークに関する以下の言明は常に真実である。これらの言明は、分散仲介構成の「グローバル不変量（ｇｌｏｂａｌ  ｉｎｖａｒｉａｎｔ）」と考えられることができる。
【００６５】
・どのノードもすべて、サイクルＬＰＰ→ＭＲ→Ｍ→ＴＰ→ＬＰＰの一部である。
・どのＬＰＰもすべて、単一のＭＲのアドレスを指定する。
・どのＭＲもすべて、任意のＭのアドレスを指定することができる。
・どのＭもすべて、単一のＴＰのアドレスを指定する。
・どのＴＰもすべて、任意のＬＰＰのアドレスを指定することができる。
【００６６】
上で使用されたシンボル「→」は、単方向コネクション（有向辺）を表す。
【００６７】
表１（図６）は、仲介変更アルゴリズムの「正しさ」のための従属関係、すなわち各ノードによって維持されることが必要とされるすべての区域外知識を表にしている。
【００６８】
上記の「グローバル不変量」の検査から、図３に示されたネットワークがなぜ最小分散仲介トポロジーであると考えられるかは明らかであり、最小分散仲介トポロジーは、正確に４つのノードから成り、各タイプ（ＬＰＰ、ＭＲ、Ｍ、およびＴＰ）のノードは、それらの間に配置された単方向コネクションによる単純な循環ＬＰＰ→ＭＲ→Ｍ→ＴＰ→ＬＰＰの中に構成される。
【００６９】
より現実的かつ複雑な分散仲介ネットワークが図４に示される。ここでは、各タイプの２つのノードが、以降「キュービック」ネットワークとして知られる構成で存在する。キュービック・ネットワークは、一般的な分散仲介ネットワークのさらなる属性を例示する。
【００７０】
循環ネットワークでのように、接続されたノード間のメッセージ・フローは単方向である。キュービック・ネットワークのあらゆるノードは、少なくとも１つの循環ＬＰＰ→ＭＲ→Ｍ→ＴＰ→ＬＰＰの構成要素である。キュービック・ネットワークは、「ファン・イン／ファン・アウト」トポロジーを示し、どのＬＰＰも各メッセージを正確に１つのＭＲに送信するが、どのＭＲも複数（図４では２つ）のＬＰＰによってアドレス指定され（ファン・イン）、どのＭＲもメッセージを任意の仲介者に送信することができ（ファン・アウト）、どの仲介者も任意の与えられたメッセージを正確に１つのＴＰに送信するが、各ＴＰは複数の仲介者によってアドレス指定され（ファン・イン）、そして最後に、どのＴＰもメッセージを任意のＬＰＰに送信することができる（ファン・アウト）。
【００７１】
最小循環およびキュービック・ネットワークなどの分散仲介ネットワークは、別の重要な属性も示し、すなわちネットワーク内のあらゆるノードからあらゆるノードへの有向パスが存在する。グラフ理論の用語で、あらゆるノードは、その他のあらゆるノードの推移閉包（ｔｒａｎｓｉｔｉｖｅ  ｃｌｏｓｕｒｅ）である。この属性は、循環ネットワークでは自明的に成り立つが、より複雑な分散仲介ネットワークでもグローバル不変量属性の結果として成り立つ。有向パスは、常に有向循環グラフと考えられることができる。したがって、一般化された分散仲介ネットワーク内の任意の２つのノードのＡおよびＢについて、Ｂを含むＡからＡへの循環が存在する。キュービック（単一レベル）ネットワークでは、そのような循環の最大パス長が、４ではなく８であることは述べるに値する。
【００７２】
やはり、各ノードは、グローバルな従属関係、または直接の隣接ノード以外のネットワークの詳細な知識をもたない。各ノードは、それが直接的にアドレス指定するノードの識別情報だけを保存する。ノードは、ネットワーク内の各ノードをアドレス指定するノード全体に関する情報も保存し、これはノード自体における参照カウントとして、またはノードを直接にアドレス指定するすべてのノードにおけるクレジット・バランス値として保存されることができる。どちらにせよ、アドレス指定するノードの識別情報は保存される必要がない。確かに、ノードは、システム全体の残りの部分についてのさらなる情報は何も保存する必要がない。
【００７３】
本発明の分散仲介ネットワークのさらに重要な属性は、各ノード内で挙動が決定論的であり、順序づけられていることであり、すなわち、メッセージＡの後に到着したメッセージＢは発信もメッセージＡの後であることを保証することが可能である。同様に、メッセージは、ノード間の直接リンク上で追い越しをすることができず、したがって、Ｎ２がＮ１によって直接にアドレス指定されるような任意の２つのノードＮ１およびＮ２に関して、そのような場合にメッセージＡがＮ１によってＮ２に送信され、その後でメッセージＢがＮ１からＮ２に送信されるならば、その場合、Ｎ２はメッセージＢを受信する前にメッセージＡを受信する。
【００７４】
臨時バリア(Causal Barrier)
汎用分散仲介ネットワークの各ノードは、それがメッセージを直接送信する他のノードの存在についてだけ詳細な知識を有する。ノードがメッセージをそこから受信するノードについての情報は、そのようなノードの全体だけを表す形に保存される。先に述べられたように、この情報は、ノード自体に参照カウントとして、またはノードを直接にアドレス指定するすべてのノードにクレジット・バランス値として保存されることができる。
【００７５】
ある場合には、順序づけられた決定論的な挙動を維持しながら、ネットワーク内で変更を達成するために、ある程度のグローバルな制御が必要とされる。これは、ネットワーク内の各ノードをアドレス指定するノードの全体についての情報が役に立つところである。分散仲介ネットワークは、変更が行われる時にシステム内を通過するどのようなメッセージに関しても、一組の首尾一貫した変更が明白かつ原子的に行われることができるようにするためのさらなる属性を必要とし、その属性は、臨時バリア・アルゴリズムと呼ばれる。
【００７６】
アドレス指定元（ａｄｄｒｅｓｓｅｒ）情報が参照カウントとして保存される場合、臨時バリア・アルゴリズムは、受信アルゴリズムの全体である。与えられたメッセージの１つのコピーが、目標ノードにおいて、目標ノードを直接アドレス指定するノードから期待される場合、これが確かに以下のようになされるように定めることが可能であり、すなわち、目標ノードはそれを直接アドレス指定するノードの数に対応する参照カウントを維持し、メッセージが送信されるときは常に、送信ノードの一意の識別情報を含むように情報が追加され、同じメッセージのコピーがすべての送信ノードによって送信されたたどうかを受信者が検出する必要があるならば、その場合は送信ノード識別子情報が対応するメッセージＩＤと関連づけてローカルに保持され、受信されたそのような特有なメッセージの数が参照カウントに等しいならば、その場合はノードを直接アドレス指定するすべてのノードからメッセージが受信されたことが分かる。
【００７７】
参照カウントを含まないノードの場合、異なる臨時バリア・アルゴリズムが使用されることができる。このアルゴリズムは、受信ノードを直接アドレス指定する各ノードのクレジット・バランス・フィールドの存在に依存する。メッセージが送信されるときは常に、送信ノードの一意の識別情報とクレジット・バランス・フィールド値とを含むように情報が追加される。同じメッセージのコピーがすべてのノードによって送信されたたどうかを受信者が検出する必要があるならば、その場合は送信ノード識別子情報ＩＤがメッセージＩＤと関連づけてローカルに保持される。さらに、クレジット・バランス累算器が維持され、クレジット・バランス累算器は、そのようなメッセージに含まれるすべてのクレジット・バランス値の合計を格納するように設定される。クレジット・バランス累算器が所定の合計値、例えば１．０に等しくなった場合、すべての送信ノードからメッセージが受信されたことが分かる。
【００７８】
したがって、参照カウントおよびクレジット・バランス技法は共に、臨時バリア・アルゴリズムが、すべてのメッセージが適切なモジュールによって受信されたことを確認し、それによって仲介ネットワークの内部トポロジーの特定の変更のための臨時バリア・アルゴリズムの終了を定めることができることを保証する。そのような「記帳技法」の適用は、仲介者モジュールが、それらに情報を送信するＭＲモジュールの数についての静的知識を必要とせずに、仲介変更が完了した時を検出することを可能にする。
【００７９】
物理マシンへの均一配分仲介負荷は、一般に負荷条件の変化に対して反応がよくない。反応をよくするには、情報空間の分割（分類に基づく仲介負荷の配分）は、負荷平衡的でなければならない。言い換えると、物理ネットワークのどの単一ポイントにおける帯域要件も、全体としてのネットワーク負荷と比例したままでなければならない。メッセージの論理的集中点（ｌｏｇｉｃａｌ  ｆｏｃｕｓ）は時間とともに変化するので、これは、それ自体が情報フローの最近の履歴に基づく予測モデルに基づく動的調整を必要とする。単に２以上のプラットホームへの仲介サービスの分割を組織しなければならないことによって引き起こされる追加のネットワーク負荷も、任意の負荷バランシング・モデルで考慮されなければならない。
【００８０】
システムの仲介要件は、そのシステムに課された分類に基づいて、分散仲介ネットワークのノード間に分散される。しかし、すべてのロケーションおよびすべての述語についての完全な知識がすべてのネットワーク・ノード（マシン）で必要なわけではないことが述べられた。正しい動作のための唯一の要件は、あらゆるメッセージが、そのメッセージが属するカテゴリにとって適切な仲介タスクをホストする仲介者に最終的に到達することである。
【００８１】
したがって、仲介サービスは、システムが活動中も、仲介ネットワーク内で動的に移動されることができる。これは次に、システム・クライアント間の関心パターン（ｐａｔｔｅｒｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）の動的な移り変わりに従った、仲介ネットワーク内でのシステム負荷の調整を可能にする。そのような関心パターンは、クライアントによってなされた関心表明として、クライアントについての事前定義された知識に基づいて、またはシステム内の変化する使用パターンに基づいて評価されることができる。
【００８２】
負荷バランシング−移管(Load-balancing-Handover)
本発明の分散仲介構造は、ノードＬＰＰ、ＭＲ、Ｍ、およびＴＰの任意のトポロジーに基づく。このノードのトポロジーは、「安定状態」に関して上で説明された属性を有する。前記のトポロジーは、既存の機能構成要素の間での動的負荷バランシングにとってきわめて適している。
【００８３】
特定のカテゴリが重い負荷の下にあると考えられるときは常に、関連仲介タスクのホスティングは、ネットワーク内の空き容量をもつマシンに移動されることができる。仲介タスクの移管も、現在ネットワーク内にあるまたは将来受信されるメッセージが、新規仲介者ノードに振り分けられることを保証するために、仲介ネットワークの動的な調整を必要とする。これは、新しい論理ネットワーク・トポロジーの方々への特別なメッセージの伝搬、すなわち適切なマシンを介する「臨時リップリング（ｃａｓｕａｌ  ｒｉｐｐｌｉｎｇ）」によって達成されることができる。それによって、仲介変更は、メッセージ入出力に関して稼働中システムの観察可能な挙動に影響を及ぼすことなく、稼働中システム内で起こることができる。
【００８４】
仲介変更は、グローバル不変属性によって最終的に可能であり、それによって、着信メッセージは、それが生じたＬＰＰに関係なく、同じ仲介者にルーティングされる。仲介変更は、システムの正しさまたは性能に悪影響を与えることなく、稼働中システム内で１つの一貫した状態から別の状態に移り変わるという問題を提起する。分散仲介ネットワークの２つの主な機能、すなわちメッセージ伝搬および問い合わせが、特にスタートアップ・クエリが、考察されなければならない。
【００８５】
問い合わせに回答するには、任意の特定の時間にどの分類が適用されているかを知る必要がある。これは、任意の与えられた時間に任意の与えられたカテゴリのメッセージをどの仲介者がホストするかの発見を可能にする。しかし、どのクラスの問い合わせに対してもこれを決定論的に行うことは、ある程度のグローバル同期を必要とする。グローバル同期に代わるものとして、分散仲介モデルは、特定のクラスの問い合わせが、完全なグローバル情報または同期なしに回答されることを可能にするように構成される。
【００８６】
システムが最初の一貫した状態ＰＳ１にある時刻から新しい一貫した状態ＰＳ２への状態の進行を考える。時刻ｔ０で、新しい状態ＰＳ２に変化するプロセスが開始する。この後の未知の時刻ｔ１に、システムが新しい一貫した状態ＰＳ２に変化していることが知られる。実際の変化が起こった時刻ｔｂは未知であるが、ｔ０とｔ１による範囲内にある。
【００８７】
時刻ｔ０とｔ１の間は、システムを不安定であると定め、仲介タスクの現在の動作任務（ｏｐｅｒａｔｉｖｅ  ａｐｐｏｉｎｔｍｅｎｔ）がグローバルに知られていないことを意味する。しかし、各時点で正しく情報フローを処理するのに十分なローカル知識が利用可能なので、システム機能の各々は影響を受けない。
【００８８】
仲介タスクの任務によって明示される基礎をなす分割（分類）が実行中システムにおいて変更されることを可能にするための適切なアルゴリズムが、今から説明される。アルゴリズムが、仲介者ノードの追加または削除、以下でより詳細に説明される機能を処理可能であることに留意されるべきである。
【００８９】
明瞭にするため、各メッセージが有限なシンボルの集合から得られるコンテンツを搬送する簡略化モデルを使用する。分割（分類）は、コンテンツ・タグから有限なクラス（カテゴリ）の集合へのマッピングによって特徴づけられる。クラスは、それらの関連仲介者に基づいて命名される。分割の変更は、コンテンツ・タグの異なる仲介者への再割り当てを指定することによって特徴づけられる。
【００９０】
また説明を簡潔にするため、変更は２つの仲介者だけを含み、１つの変更は別の変更が開始する前に完了すると仮定する。これらの仮定はどちらも絶対的な要件でないが、モデルを簡潔にするために設けられ、それにもかかわらず、簡潔化モデルは一般的で、任意の変更がシステムになされることを可能にする。
【００９１】
プロセスは、ＰＲＥＤ＿ＣＨＡＮＧＥメッセージが、何らかの（起動者）ＬＰＰによってその仲介者ルータに送信されることで開始する（図５Ａを参照）。ＰＲＥＤ＿ＣＨＡＮＧＥメッセージの内容は、コンテンツ・タグの異なる受取仲介者Ｒへの再割り当てを記述する。ＭＲは、このコンテンツ・タグを読み取り、現在そのコンテンツを処理している仲介者Ｓにメッセージを転送する。
【００９２】
（図５Ｂに示されるように）ＰＲＥＤ＿ＣＨＡＮＧＥメッセージの受信時に、仲介者は、
その状態をＳＴＡＢＬＥからＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲに変更する。
【００９３】
ＰＲＥＤ＿ＣＨＡＮＧＥメッセージの内容を含むＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージを移管受取仲介者Ｒに送信する。
【００９４】
コンテンツ・タグを含むメッセージをこの変更に関する移管受取仲介者Ｒに転送するためにその内部状態を変更する。
【００９５】
この時点から先、仲介変更を受けるトピックに関して、任意の仲介者ルータによって仲介者Ｓに送信される任意のメッセージは、仲介者Ｒに転送される。ＴＰを介してすべての仲介者のＬＰＰに送信されるＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージの目的は、ダウンストリーム・ネットワークを送信されるメッセージの臨時の配送を保証することである。
【００９６】
ＬＰＰは、ＭＥＤＩＡＴＯＲ＿ＣＨＡＮＧＥＤメッセージを受信した場合、ＢＵＦＦＥＲＩＮＧ状態にそれ自体を置く。この状態にある時、ＬＰＰは、対応する内容のためのＮＥＷ＿ＭＥＤＩＡＴＯＲメッセージを受信するまで、すべてのＤＯＷＮＳＴＲＥＡＭ＿ＤＡＴＡメッセージをバッファリングする。これは、仲介者Ｒに転送されるメッセージの臨時の順序づけ（ｃａｓｕａｌ  ｏｒｄｅｒｉｎｇ）を保証し、仲介者Ｓによって仲介されたより古いメッセージが、順序を違えてＬＰＰによって処理されることを防止するのに十分である。
【００９７】
図５に示されるように、ＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージの受信時に、仲介者は、仲介者ノードでその状態をＳＴＡＢＬＥからＲラベルによって示されるＨＡＮＤＯＶＥＲ＿ＲＥＣＥＩＶＥＲに変更する。この状態では、仲介者は、その内容がＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージの内容に一致する転送メッセージを期待する。ＭＥＤＩＡＴＯＲ＿ＨＡＮＤＯＶＥＲメッセージが受信された時点から、仲介者はその内容を仲介するが、システムのその他の部分はこれを知らないかもしれない。構成に仲介変更を通知するために、新規仲介者は、そのＴＰのすべてにＮＥＷ＿ＭＥＤＩＡＴＯＲメッセージを送信する。これは仲介変更のブロードキャストであり、図５Ｃに示されるように、ＴＰによってすべてのＬＰＰに、そしてすべてのＬＰＰによってすべてのＭＲに転送される。
【００９８】
図５Ｄに示されるように、ＭＲは、ＮＥＷ＿ＭＥＤＩＡＴＯＲメッセージを受信した場合、ＮＥＷ＿ＭＥＤＩＡＴＯＲメッセージのペイロードに一致する将来のコンテンツが、仲介者Ｓではなく仲介者Ｒに送信されるように、そのルーティング・テーブルを更新する。この時点で、内容ベースのルーティングにおける変更が達成される。しかし、仲介者Ｒが今はそのコンテンツの仲介者であることをすべてのＭＲが知った後で、仲介者Ｓがメッセージの転送を止めることができるように、仲介者Ｓはこのイベントを通知されなければならない。同様に、仲介者Ｒは、安定動作に復帰し、転送メッセージを期待するのを止めることができるように、これらのイベントを通知される必要がある。結果として、そのルーティング・テーブルを変更した後、ＭＲは、ルーティング・テーブルを更新する前にそこから抽出しておいた、そのコンテンツの旧仲介者（Ｓ）にＰＥ＿ＰＳ＿ＣＨＡＮＧＥＤメッセージを送信する。図５Ｅに示されるように、ＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲ状態にある仲介者は、すべてのＰＥ＿ＰＳ＿ＣＨＡＮＧＥＤメッセージを新規受取仲介者に転送する。
【００９９】
移管アルゴリズムは、参照カウント技法を用いて臨時の順序づけを維持して、メッセージが仲介ネットワーク内を正しく伝播することを確実にするために、臨時バリア方法を使用することができる。ＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲおよびＨＡＮＤＯＶＥＲ＿ＲＥＣＥＩＶＥＲ状態にある仲介者は、ＭＲから受信されたＰＥ＿ＰＳ＿ＣＨＡＮＧＥＤメッセージを数え、それは仲介者が、システム内のすべてのＭＲが仲介者変更情報を受信した時を決定することを可能にする。仲介者は、図５Ｆに示されるように、最後のＰＥ＿ＰＳ＿ＣＨＡＮＧＥＤメッセージを受信したとき、それらの状態をそれぞれＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲおよびＨＡＮＤＯＶＥＲ＿ＲＥＣＥＩＶＥＲからＳＴＡＢＬＥに変更する。
【０１００】
上の説明に見られることができるように、仲介者の挙動は、以下の３つ状態の１つにあることができる有限状態マシンによって特徴づけられる。
【０１０１】
ＳＴＡＢＬＥ−仲介者の通常の実行中状態であり、述語集合内で現在は変更が生じておらず、その結果、仲介者はデータ空間内で多かれ少なかれ同等クラスを処理する。
【０１０２】
ＨＡＮＤＯＶＥＲ＿ＲＥＣＥＩＶＥＲ−仲介者は不安定状態にあり、その同等クラスのサイズは、別の仲介者（ＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲ）からのメッセージ空間の一部（デルタ）の再割り当てのために増加しているところである。この状態にある間、仲介者は、それまでデルタを担当していた仲介者からの転送メッセージを受信することができ、転送メッセージを、それらが仲介者に直接送信されたものであるかのように、その送信プロキシに受け渡す。仲介者は、その新しい役割を知った任意の述語評価者（ｐｒｅｄｉｃａｔｅ  ｅｖａｌｕａｔｏｒ）からデルタ内のデータ・メッセージを直接受信することもでき、そのようなメッセージはどれも、同じソースからの転送メッセージが（ＰＥ＿ＰＳ＿ＣＨＡＮＧＥＤメッセージを介して）もう来ることがないと分かるまでバッファリングされなければならない。
【０１０３】
ＨＡＮＤＯＶＥＲ＿ＳＥＮＤＥＲ−仲介者は不安定状態にあり、デルタをその以前の同等クラスから別の仲介者に受け渡す。デルタ内の任意の受信メッセージは、対応するＨＡＮＤＯＶＥＲ＿ＲＥＣＥＩＶＥＲに転送されなければならない。
【０１０４】
仲介ネットワークがそこを流れるトラフィックを仲介するのに必要な容量を有するならば、移管アルゴリズムは非常によく機能する。しかし、長く存続する仲介システムは、その耐用期間にわたって著しい変更をこうむることがあり得る。例えば、変更は、申し込みおよび公表トラフィック両方の量、クライアントの数および地理的分散、ならびに／または要求が発信される場所について生じることができる。さらに、メッセージの内容はクライアント要求の変化に従って時間とともに変化するので、必要とされる仲介タスクの相対的な比率は著しく変化することがあり得、既存の分割をアンバランスに、またはその他の点で不適切にする。
【０１０５】
変化に対応するために、分散仲介システムは適応的であることが必要である。与えられた地理的領域内で変化するトラフィック量を処理するために、システム内の適切なポイントに任意のタイプのノードを追加または削除することによって、物理的資源を再配備することが必要になるかもしれない。クライアント・メッセージの内容は時間とともに変化するので、仲介タスクを利用可能な仲介者に配分するように設定された、メッセージに適用される分割は、仲介負荷を平衡させ、仲介者の効率的利用を保証するために調整を必要とすることがあり得る。
【０１０６】
特定のミッションク・リティカルなアプリケーションでは、そのような適応は、配送されるサービスを中断することなく達成されなければならない。
【０１０７】
上述のグローバル不変量および上で概説された依存性が維持されるならば、追加の機能は、先に定められたメカニズムに干渉しない。その後、仲介サービスは、移管アルゴリズムに従って既存の仲介者の間で動的に再割り当てされることができる。
【０１０８】
分散仲介ネットワークの論理トポロジーの変更は、仲介されるサービスを不安定にすることがあり得、ホストされるサービスを終了することがある。
【０１０９】
したがって、実際的な分散仲介ネットワークは、負荷バランシングおよび安定性問題に同時に対処しなければならない。ある重要な追加によって、上で説明されたハイブリッド分散仲介モデルは、実際的な物理システムにおいてより効果的に実施されることができる。これらの重要な追加は、ネットワーク基盤において動的プロセス移行と適切なルーティングとを組み合わせ、それによって、容認できないほど高いオーバヘッドおよびサービスの望まれない終了を招くことなく、効果的な実施が達成されることを可能にする。ハイブリッド分散仲介モデルは、メッセージ待ち時間に影響を及ぼすことなく、構成の拡大縮小も可能にしなければならない。
【０１１０】
同様に、分散仲介システムは、部分的障害をこうむるネットワーク基盤で実施される可能性もある。その結果、分散仲介システムは、可能ならば、障害を検出し、回復措置をとるためのメカニズムをもつべきである。
【０１１１】
可能ならば、上記の要件は共に、自動的に、すなわち人間の発明（ｈｕｍａｎ  ｉｎｖｅｎｔｉｏｎ）を必要とせずに提供されるべきである。
【０１１２】
ハイブリッド分散仲介モデルは確かに、先に説明された負荷バランシング機能を超えて拡張されることができる。以下の追加機能のクラスは、既存の静的な分散仲介ネットワークに対して実施されることができる。
【０１１３】
論理再構成と呼ばれる第１のクラスの機能では、個々のノードおよびノードの組み合わせの（ｉ）追加、（ｉｉ）交換、および（ｉｉｉ）削除のためのメカニズムが提供される。これらのメカニズムは、既存の分散仲介ネットワークの任意の再構成を可能にし、そのような再構成は、外から観察可能な稼働中システムの挙動に影響を及ぼすことなく、稼働中システム内で起こる。再構成メカニズムは、仲介者間での仲介タスクの単純な移管を超えた、ネットワークの論理トポロジーに対する任意の変更を可能にするコンピュータ実施方法である。結果は、柔軟で変化する物理基盤上での論理ノードの動的な配備および／または再配備によって達成される。したがって、物理コンピューティング装置の任意のネットワーク上での論理構成の任意の配備は、ホストされるサービスが終了される必要なく可能である。
【０１１４】
既存の分散仲介ネットワーク上で実施されることができる第２のクラスの機能は、障害処理の機能である。分散仲介ネットワークの挙動が、個々のノード障害のために一時的にその要件を満たすことができない場合、障害前に元のネットワークがしていたように残りのノードがもう一度挙動し始めるように、残りのノードの再構成を可能にするメカニズムは定められることができる。障害処理メカニズムは、ネットワーク構成内での物理的ノード障害の動的な発見を可能にする。その場合、障害処理メカニズムは、障害中であることが知られているノードを含まない物理ノードの異なる集合上に障害ノードの論理機能を再配備することによって応答することができる。これは、障害ソースを検出するためにさらなるメカニズムを提供し、残りのネットワークを再構成するために上で確認された再構成メカニズムを再利用することによって達成されることができる。このクラスの機能は、観察可能な挙動に影響を及ぼすことなく、特にホストされるサービスを終了する必要を回避して、稼働中システム内で実施されることもできる。
【０１１５】
構造改良と呼ばれる第３のクラスの機能では、さらなる分散仲介ネットワークを含むその他の任意のネットワークによる、分散仲介ネットワーク内での個々のノードまたは複数のノードの再配置を可能にするためのメカニズムが存在する。この構造改良自体は、分散仲介ネットワーク内でグローバル不変量およびそのノードのために必要とされる属性を維持し、やはり稼働中システム内で動作する。構造改良は、単一の論理ノードがノードのサブネットワーク全体または任意のサイズの他のタイプのノードによって置き換えられる方法で、汎用構成構造の配備を改良する。配備はノードごとの事柄である必要はない。
【０１１６】
すべての場合において、稼働中ネットワークの調整は、仲介者移管の説明において例示されたタイプおよび挙動の全体と本質的に同様に、新しいメッセージ・タイプの追加および解釈によって影響される。
【０１１７】
３つの各主要クラスの機能は、以降でより詳細に説明される。
【０１１８】
再構成：ノードの追加
この節は、新規ノードの追加に関する重要な機構について述べる。各場合において、単一の新規ノードまたは１対の新規ノードのネットワークへの追加を考察する。新規論理ノードの追加は、新規物理ノード（マシン）の追加と一致することができる。これは、複数のノードの追加に、または完全な分散仲介ネットワークの追加にすら、同じ原則が等しく適用可能であるので、一般性の喪失を意味しない。各場合において、２つの局面が考察されなければならず、第１は、新規ノードがその将来の環境で動作するように正しく構成されることであり（パートＡ）、第２は、新規ノードが導入されるネットワークが適切に構成されることである（パートＢ）。
【０１１９】
以下のノードのいずれかが追加されることができ、
・単一ＬＰＰ
・単一Ｍ
・ＬＰＰ→ＭＲペア
・Ｍ→ＴＰペア
システム不変量および依存性は維持される。ＬＰＰは一意的に単一のＭＲをアドレス指定するので、新規ＭＲを追加するには、新規ＬＰＰを追加しなければならない。仲介者は一意的に単一のＴＰをアドレス指定するので、ＴＰでも同様である。交換と組み合わせて、これは任意の合法的トポロジーが構成されることを可能にするのに十分である。追加ＬＰＰを追加する場合、我々はクライアント・インタフェースにおいて追加容量を提供する。新規仲介者を追加する場合、我々は追加仲介容量を追加する。ＭＲの追加は、メッセージング・システムへの入力容量を増やし、ＴＰの追加は、システムの出力容量を増やす。
【０１２０】
アルゴリズムの多くが、ネットワークを介する（新しい）ノード・アドレスの送信を必要とすることが認められよう。例えば、ＬＰＰがシステムに追加される場合、ｎｅｗ＿ｌｐｐ＿ａｄｄｒと呼ばれる新しいフィールドを有するＮＥＷ＿ＬＰＰメッセージが送信される。新しいノード・アドレスは、様々な方法で符号化されることができ、例えば、（ＩＰアドレス、ポート・アドレス）ペアが使用されることができる。これは実装依存であって、この文書ではこれ以上取り扱われない。
【０１２１】
与えられた新しいノード・メッセージの誘因は、とりわけ、管理インタフェースを用いる人間のオペレータ、負荷レベルを監視する半自動制御ネットワーク、または自律的仲介ネットワーク制御システムであることができる。
【０１２２】
ＬＰＰ追加
パートＡ−新規ノード構成
ＬＰＰは、そのアドレス指定先（ａｄｄｒｅｓｓｅｅ）（標準的なモデルではそのＭＲ）のアドレスを知る必要があるだけである。これはＬＰＰの初期化に対する構成パラメータである。ＭＲによって保持される参照カウントを更新するため、新規ＬＰＰは、ＭＲにＮＥＷ＿ＬＰＰメッセージを送信しなければならない。このメッセージの受信時に、ＭＲのＬＰＰ参照カウントが更新される。このメッセージは、ネットワークを構成するのに必要とされるサイクルを開始するのにも使用される。
【０１２３】
パートＢ−ネットワーク構成
新規ＬＰＰを追加するため、各ダウンストリーム・ネットワークが更新されなければならない。これは、各ダウンストリーム・ネットワークが個々に更新されることを必要とする。これは、ダウンストリーム・ネットワークへの送信のため各仲介者にメッセージを伝播することによって達成されることができる。
【０１２４】
ＬＰＰ追加用のメッセージ・フォーマットは以下の通りである。
【０１２５】
ＮＥＷ＿ＬＰＰ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ：Ｌａｒｇｅ  ｉｎｔ，／／この操作のＩＤを収める
ｎｅｗ＿ｌｐｐ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／新規ＬＰＰのアドレス
ｃｒｅｄｉｔ＿ｂａｌ）／／ＴＰによる返却クレジット
変更を導入するために任意のＬＰＰを使用し、選択されたＬＰＰを開始ＬＰＰ（ｏｒｉｇｉｎａｔｉｎｇ  ＬＰＰ）と呼ぶ。
【０１２６】
プロセスは以下の通りであり、Ｎｅｗ＿ＬＰＰ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ，ｎｅｗ＿ｌｐｐ＿ａｄｄｒ）メッセージが開始ＬＰＰに送信される。このメッセージが送信された後、新規ＬＰＰは、任意の時間にメッセージを受信し始めることができる。開始ＬＰＰは、そのＭＲにこのメッセージを送信し、ＭＲは、あらゆる仲介者にメッセージを転送する。仲介者は、それらのアドレス指定先（標準的なモデルではＴＰ）にメッセージを転送する。プロセスのこの点で、新規ＬＰＰの知識がグローバルに知られる。アルゴリズムの終了を保証するため、ＴＰは、それらのクレジット・バランスと共にＮＥＷ＿ＬＰＰメッセージを開始ＬＰＰに送信する。新規ＬＰＰはクレジット・バランスを合計し、これが所定の値、例えば１．０に到達した場合、プロセスが完了したことが新規ＬＰＰによって知られる。このプロセスは図８Ａから図８Ｅに示される。
【０１２７】
仲介者追加
仲介者変更アルゴリズムは、分散仲介モデルのコンポーネントであり、既存の仲介者がそれらの仲介負荷を変化させることを可能にするのに役立つ。しかし、このメカニズムは、新規ノードまたはネットワークの構成をサポートするために単純に拡張されることはできない。その結果、別個の仲介者追加アルゴリズムが、新規仲介者の追加をサポートするために必要とされる。
【０１２８】
パートＡ−新規ノード構成
仲介者は、そのアドレス指定先（標準的なモデルではそのＴＰ）のアドレスを知る必要があるだけである。これは仲介者の初期化に対する構成パラメータである。ＴＰによって保持される参照カウントを更新するため、新規仲介者は、ＴＰにＮｅｗ＿Ｍｅｄｉａｔｏｒメッセージ（以下で説明される）を送信する。このメッセージの受信時に、ＴＰの仲介者参照カウントが更新される。このメッセージは、新規仲介者の存在をＭＲに広告するサイクルを開始するのにも使用される。
【０１２９】
パートＢ−ネットワーク構成
仲介者を追加するため、各アドレス指定ＭＲは、新規仲介者の知識を用いて更新されなければならない。サイクルが新規仲介者で開始すること以外は、プロセスはＬＰＰ追加と同様である。
【０１３０】
仲介者追加用のメッセージ・フォーマットは以下の通りである。
【０１３１】
ＮＥＷ＿Ｍｅｄｉａｔｏｒ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ：Ｌａｒｇｅ  ｉｎｔ，／／この操作のＩＤを収める
ｎｅｗ＿Ｍ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／新規Ｍのアドレス
ｃｒｅｄｉｔ＿ｂａｌ）／／ＴＰによる返却クレジット
プロセスは以下の通りであり、Ｎｅｗ＿Ｍｅｄｉａｔｏｒ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ，ｎｅｗ＿Ｍ＿ａｄｄｒ）メッセージが伝搬のためにＴＰに送信される。仲介変更が起こるまで、新規仲介者は、仲介メッセージを受信し始めない。しかし、このメッセージが送信された後、新規仲介者は、任意の時間にメンテナンス・メッセージを受信することができる。ＴＰは、あらゆるＬＰＰにメッセージを転送する。ＬＰＰは、それらのアドレス指定先（ＭＲ）にメッセージを転送する。このメッセージの受信時に、ＭＲは新規仲介者の知識を有する。アルゴリズムの終了を保証するため、ＭＲは、それらのクレジット・バランスと共にＮＥＷ＿Ｍｅｄｉａｔｏｒメッセージを新規仲介者に送信する。新規仲介者はクレジット・バランスを合計し、これが所定の値、例えば１．０に到達した場合、プロセスが完了したことが新規仲介者によって知られる。このプロセスは図９Ａから図９Ｄに示される。
【０１３２】
仲介者ルータ追加
上で述べられたように、グローバル不変量を維持するため、各仲介者ルータは、ＬＰＰによってアドレス指定されなければならない。ＭＲは、それをアドレス指定するＬＰＰなしで存在することができない。したがって、新規ＭＲは、関連ＬＰＰを伴わずに生成されることはできない。しかし、この制約は、単一の物理コンピュータ・ノードによるホスティングから、または単一のプログラムによるホスティングからさえ、両者の機能を割り引くものではない。
【０１３３】
したがって、新規ＭＲの追加の最初のステップは、クライアントをもたない新規ＬＰＰを生成し、初期化することである。これは図１０に示される状況をもたらす。この状況が達成されると、新規ＭＲを生成するに新規ＬＰＰが使用される。
【０１３４】
パートＡ−新規ノード構成
動作するために、ＭＲは最新のルーティング・マップを必要とする。安定期間中、ルーティング・マップは、システム内のすべてのＭＲで同じである。したがって、新規ＭＲは、システム内の任意の確立されたＭＲから、ルーティング・マップを取得することができる。ＭＲはまた、別のＭＲからだけ獲得することができるクレジット・バランスも必要とする。
【０１３５】
プロセスを開始するため、ＮＥＷ＿ＭＲ（ｎｅｗ＿ｍｒ＿ａｄｄｒ）メッセージが新規に生成されたＬＰＰに送信される。メッセージのフォーマットは以下の通りである。
【０１３６】
ＮＥＷ＿ＭＲ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ：Ｌａｒｇｅ  ｉｎｔ，／／この操作のＩＤを収める
ｎｅｗ＿ｍｒ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／新規ＭＲのアドレス
ｌｐｐ＿ａｄｄｒ：ａｄｄｒｅｓｓ）／／ＬＰＰのアドレス
ＮＥＷ＿ＭＲ＿ＲＯＵＴＥ＿ＴＡＢＬＥ（
ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ：Ｌａｒｇｅ  ｉｎｔ，／／この操作のＩＤを収める
ｎｅｗ＿ｍｒ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／新規ＭＲのアドレス
ｌｐｐ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／ＬＰＰのアドレス
ｒｔ：ｒｏｕｔｅ＿ｔａｂｌｅ，／／新規ルート・テーブル
ｃｒｅｄｉｔ＿ｂａｌ）／／ＴＰによる返却クレジット
ＬＰＰは、それ自体のアドレスを追加し、ＮＥＷ＿ＭＲ（ｎｅｗ＿ｍｒ＿ａｄｄｒ，ｌｐｐ＿ａｄｄｒ）を送出する。このメッセージがＭＲによって受信されると、ＭＲは、ＮＥＷ＿ＭＲ＿ＲＯＵＴＥ＿ＴＡＢＬＥメッセージを送信し、新規ＭＲのアドレス、新規ＬＰＰのアドレス、ルーティング情報、およびそのクレジット・バランスの比率を添付する。このメッセージは、任意の仲介者に転送され、ＮＥＷ＿ＭＲ＿ＲＯＵＴＥ＿ＴＡＢＬＥメッセージ内にそのアドレスが存在するＬＰＰにダウンストリーム・ネットワーク上で受け渡される。その後、ＬＰＰは、新規に生成されたＭＲにルーティング・マップを受け渡す。ＭＲは、そのクレジット・バランスおよびそのルーティング・マップを初期化するためにこの情報を使用する。
【０１３７】
パートＢ−ネットワーク構成
新規ＭＲを利用するため、新規ＬＰＰは、そのＭＲを新規に生成されたＭＲに変更する必要がある。このプロセスは、ＮＥＷ＿ＭＲ＿ＲＯＵＴＥ＿ＴＡＢＬＥメッセージが新規ＭＲによって受信された直後に開始される。このメッセージの受信時に、新規ＭＲは、ＭＲ＿ＩＮＩＴＩＡＬＩＳＥＤ（）メッセージを新規ＬＰＰに送信する。新規ＬＰＰは、それに続いて、ＩＮＣ＿ＲＥＦ＿ＣＯＵＮＴ（）およびＤＥＣ＿ＲＥＦ＿ＣＯＵＮＴ（）メッセージを、それぞれ新規および旧ＭＲに送信する。このプロセスは図１１Ａから図１１Ｅに示される。
【０１３８】
送信プロキシ追加
グローバル不変量を維持するため、ＴＰは、仲介者によってアドレス指定されなければならない。ＴＰは、それをアドレス指定する仲介者なしで存在することができない。したがって、ＴＰは、関連仲介者を伴わずに生成されることはできない。これが、単一の物理コンピュータ・ノードによるホスティングから、または単一のプログラムによるホスティングからさえ、両者の機能を割り引くものではないことに留意されたい。これはＴＰの生成に対して対称なケースである。
【０１３９】
したがって、新規送信プロキシの追加の最初のステップは、どのようなデータも仲介しない新規仲介者を生成し、初期化することである。図１２はこの最初のステップを示す。
【０１４０】
パートＡ−新規ノード構成
動作するために、新規ＴＰは、システム内のすべてのＬＰＰの知識を必要とする。これは、システム内のその他の任意の構成済ＴＰから獲得されることができる。ＴＰはまた、別のＴＰからだけ獲得することができるクレジット・バランスも必要とする。
【０１４１】
プロセスを開始するため、ＮＥＷ＿ＴＰ（ｎｅｗ＿ｔｐ＿ａｄｄｒ）メッセージが新規に生成された仲介者に送信される。このメッセージのフォーマットは以下の通りである。
【０１４２】
ＮＥＷ＿ＴＰ（ｔｒａｎｓａｃｔｉｏｎ＿ｎｏ：Ｌａｒｇｅ  ｉｎｔ，／／この操作のＩＤを収める
ｎｅｗ＿ｔｐ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／新規ＴＰのアドレス
ｍｅｄｉａｔｏｒ＿ａｄｄｒ：ａｄｄｒｅｓｓ，／／仲介者のアドレス
ＬＰＰＳ：ｌｉｓｔ［ＬＰＰ］，／／既知ＬＰＰのリスト
ｃｒｅｄｉｔ＿ｂａｌ）／／ＴＰによる返却クレジット
仲介者は、それ自体のアドレスを追加し、ＮＥＷ＿ＴＰ（ｎｅｗ＿ｔｐ＿ａｄｄｒ，ｍｅｄｉａｔｏｒ  ａｄｄｒ）を送出する。このメッセージがＴＰによって受信されると、ＴＰは、新規ＴＰのアドレス、新規仲介者のアドレス、既知ＬＰＰのリスト、およびそのクレジット・バランスの比率を格納したメッセージを転送する。このメッセージは、任意のＬＰＰに転送される。その後、ＬＰＰは、新規に生成されたＴＰにルーティング・マップを受け渡す。ＴＰは、そのクレジット・バランスおよびその既知ＬＰＰのリストを初期化するためにこの情報を使用する。
【０１４３】
パートＢ−ネットワーク構成
新規ＴＰを利用するため、新規仲介者は、そのＴＰを新規に生成されたＴＰに変更する必要がある。このプロセスは、新規ＴＰがＴＰ＿ＩＮＩＴＩＡＬＩＳＥＤ（）メッセージを新規仲介者送信することによって開始される。このメッセージの受信時に、新規仲介者は、ＩＮＣ＿ＲＥＦ＿ＣＯＵＮＴ（）メッセージを新規ＴＰに、ＤＥＣ＿ＲＥＦ＿ＣＯＵＮＴ（）メッセージを旧ＴＰに送信する。送信プロキシ追加プロセスの両パートに含まれるステップは、図１３Ａから図１３Ｅに示される。
【０１４４】
再構成：ノード交換
交換によって、１つのノードから出て行く弧（ｏｕｔｇｏｉｎｇ  ａｒｃ）の到達先が別のノードに変更されるトポロジーの変更を指す。したがって、ＴＰおよびＭＲは共に不変のアドレス指定先集合を有するので、交換はＬＰＰおよび仲介者から出て行く弧にだけ適用可能である。
【０１４５】
交換対象は、ＭＲまたはＴＰである。これらのノードの挙動は、何がそれらのアドレス指定元であるかに関して独立している。したがって、一貫性のあるシステムを維持する交換の唯一の要件は、参照カウントが参照対象マシン間で正しく調整されることである。
【０１４６】
交換は、アドレス指定元マシン（ＬＰＰおよび仲介者）に関して原子的に生じ、したがって、データは、交換操作中も流れ続けることができる。交換操作中、参照カウントは一時的に誤っていることもあり得るが、これはアルゴリズムに関して無害である。
【０１４７】
交換が行われるＬＰＰは、パラメータとしてそれ自体のアドレスと新規ＭＲのアドレスとを有するＳＷＩＴＣＨ＿ＭＲメッセージをその現在のＭＲに送信する。このメッセージの受信時に、ＭＲはその参照カウントをチェックする。参照カウントが所定の閾値、例えば１に到達した場合、ＭＲは、ＳＷＩＴＣＨ＿ＭＲ＿ＦＡＩＬメッセージで応答する。それ以外の場合、ＭＲは、デクリメントされたその参照カウントを有するＳＷＩＴＣＨ＿ＭＲ＿ＯＫメッセージで応答する。このメッセージの受信時に、ＬＰＰは、そのＭＲを新規ＭＲに交換し、それにＳＷＩＴＣＨ＿ＮＥＷ＿ＭＲメッセージを送信する。このメッセージの受信時に、新規ＭＲは、その参照カウントをインクリメントする。
【０１４８】
ＳＷＩＴＣＨ＿ＭＥＤＩＡＴＯＲアルゴリズムも同様であり、交換が行われる仲介者は、パラメータとしてそれ自体のアドレスと新規ＴＰのアドレスとを有するＳＷＩＴＣＨ＿ＴＰメッセージをその現在のＴＰに送信する。このメッセージの受信時に、ＴＰはその参照カウントをチェックする。参照カウントが所定の閾値、例えば１に到達した場合、ＴＰは、ＳＷＩＴＣＨ＿ＴＰ＿ＦＡＩＬメッセージで応答する。それ以外の場合、ＴＰは、デクリメントされたその参照カウントを有するＳＷＩＴＣＨ＿ＴＰ＿ＯＫメッセージで応答する。このメッセージの受信時に、仲介者は、そのＴＰを新規ＴＰにそれにＳＷＩＴＣＨ＿ＮＥＷ＿ＴＰメッセージを送信する。このメッセージの受信時に、新規ＴＰは、その参照カウントインクリメントする。
【０１４９】
再構成：ノード削除
２つの前提条件により、ノードが削除される場合も、グローバル不変量は維持されることができる。第１に、ＬＰＰおよび仲介者は、ネットワーク内で機能的な関連をもたない限り、すなわち、ＬＰＰの場合は機能クライアントがなく、仲介者の場合はその仲介者における仲介タスクがない限り、個々のノードとして削除されることができる。第２に、削除されるノードは、それらのアドレス指定先の唯一のアドレス指定元であってはならない。
【０１５０】
その場合、除去の要件は、単にトポロジー不変量だけに関し、除去タスクは、そのノードの存在を登録から外すために、各先行者（ｐｒｅｃｕｒｓｏｒ）の更新を必要とする。
【０１５１】
ＭＲおよびＴＰは、それらが孤立して生成され得ないのと同じ理由で、孤立して削除されることはできず、したがって、唯一の先行者とペアで削除されなければならない。機能的な理由のため、先行マシンがそれらの存在に依存している場合、それらは削除されることはできない。その結果、ＭＲは、（ａ）それをアドレス指定する単一のＬＰＰをもち、（ｂ）そのＬＰＰがクライアントをもたない場合にだけ、削除されることができる。その時点で、ＬＰＰとＭＲは、ペアとして削除されることができる。このペアの削除は、ＬＰＰ単独の削除と正確に同じ要件を有する。
【０１５２】
同様に、ＴＰは、（ａ）それをアドレス指定する単一の仲介者をもち、（ｂ）その仲介者がそれに関連する仲介タスクをもたない場合にだけ、削除されることができる。その時点で、仲介者とＴＰは、ペアとして削除されることができる。このペアの削除は、仲介者単独の削除と正確に同じ要件を有する。
【０１５３】
すべての場合で、ノードの削除は、クレジット・バランスまたは参照カウントの調整を必要とする。
【０１５４】
障害回復
この節は、仲介ルーティング基盤内で障害を処理するためのアルゴリズムについて述べる。障害を検出し、任意のノード・タイプを再配置および回復し、接続を再確立するためにメカニズムが提供される。
【０１５５】
説明を簡単にするため、以下の仮定が設けられる。
【０１５６】
・障害モデルは「重複を認めない」。すなわち、２つの障害は同時に発生せず、各障害は別の障害が発生する前に回復される。
【０１５７】
・各ノードは異なる物理マシンでホストされる。
【０１５８】
・障害原因が再確立され得るマシン間の接続断である場合、任意の２つのマシンは接続を確立することができる。
【０１５９】
さらに、分散仲介ネットワークの一部ではない単一の障害検出ノードが提供されると仮定される。実際には、この障害検出ノードは、別の分散仲介ネットワークとして実施されることができる。図１４に示されるように、各ノードは、障害検出ノードに接続し、システム内の障害を報告することができる。
【０１６０】
各ノードは、着信または発信通信リンクの障害を検出し、その障害を障害検出ノードに報告することができる。
【０１６１】
エラー検出メッセージは以下の形式を有する。
【０１６２】
ＥＲＲＯＲ（送信ノード・タイプ、ｆｒｏｍ＿ａｄｄｒｅｓｓ、ｔｏ＿ａｄｄｒｅｓｓ）
着信リンクまたは参照元マシンの障害の場合、ｆｒｏｍアドレスは分からない。発信リンクまたは参照先マシンの障害の場合、両方のアドレスが供給されることができる。リンク障害が発生した場合、送信者および受信者だけが障害を報告する。さらに、送信者のｔｏアドレスが受信者のｆｒｏｍアドレスと一致する場合、それはノード障害よりもむしろリンク障害を決定的に示す。この場合、障害検出ノードは、送信者にリンクを再確立するよう命令することができる。ノードが障害を起こした場合、そのノードへのリンクおよびそのノードからのリンクはすべて障害を起こし、その結果、障害処理ノードに報告される。障害処理ノードに送信される情報は、障害マトリックス（図７）に示されるように、障害ノードのタイプおよび正体を決定するのに使用されることができる。その結果、障害処理ノードは、エラーのクラスおよびそれが発生した場所を検出および識別することができる。
【０１６３】
我々の単純化した仮定は、ノードは共同ホスト（ｃｏ−ｈｏｓｔ）されず、したがって、単一の物理マシン障害は単一の論理障害の原因になることができるだけであるというものである。この仮定はかなり弱めることができ、それでも単一論理ノードのために列挙された障害パターンなど特徴的な障害パターンの検出を可能にすることを発明者らは強調する。特に、接続されたノードのペアだけが共同ホストされると仮定するならば、障害は検出されることができる。障害処理プロセスは図１５Ａから図１５Ｅに示される。
【０１６４】
回復戦略
任意の単一ノード障害の場合、基本的な戦略は、そのノード・タイプの新しいインスタンスを生成し（またはホット・スペアを使用し）、それを使用するようにネットワークを再構成することである。これは、ノードの内部状態を知ることまたは再生成すること、および同様に直接の隣接トポロジーを知ることまたは生成することを必要とする。これらのタスクの第２のもの（直接の隣接トポロジー）は、障害の場合に障害処理ノードに送信されるエラー・メッセージの全体によって把握される。
【０１６５】
トポロジー再生成は、障害ノードに送信するノードと障害ノードから受信するノードの両方で実行される。前者の場合、ノードがｆｒｏｍおよびｔｏフィールドの両方が指定されたエラー・メッセージを送信するときは常に、障害検出ノードは、置換ノードの識別情報によって応答する。この返却ノードＩＤは、障害ノードに関連するノードの内部状態のエントリを上書きするのに使用され、その時点で、このノードは、通常動作を継続することができる。
【０１６６】
障害ノードからの受信者の場合、障害ノードの内部状態の一部は、障害を報告するアップストリーム・ノードの識別情報を常に含む。ＬＰＰおよびＭの場合、これは、障害ノードのすぐに下流のノードによって送信されたエラー・メッセージからその識別情報が検出されることができる単一のノードである。この状態は、置換ノードの生成で使用されることができる。
【０１６７】
原則として、障害ＭＲおよびそれぞれのＴＰの周囲のトポロジーは、受信されたエラー・メッセージの全体から等しくよく再生成されることができるが、同様の議論が、別の箇所で説明されたような、単純な参照カウントよりも優先されるクレジット回復アルゴリズムの使用についても存在し、この目的ため、出て行く辺（ｏｕｔｇｏｉｎｇ  ｅｄｇｅ）の全体は、ネットワーク内のすべてのＭＲおよびそれぞれのＴＰについて同じであり、したがって、この状態のコピーは、過剰なネットワーク・トラフィックを回避するため、別の箇所で説明された再構成メカニズムの場合のように、適切なタイプの稼働中ノードから獲得されることができることを発明者らは強調する。
【０１６８】
セマンティック内容も、トポロジーに加えて再生成されなければならない。言い換えると、すべてのノード・タイプは、なんとかして再生成されなければならないさらなる内部の状態情報を保有する。このさらなる内部状態情報は、以下のフィールド、すなわち、参照カウント、関心リスト、クレジット・バランス、および仲介状態に入る。
【０１６９】
参照カウントは、受信されるエラー・メッセージの全体から確かめられるが、これはローカル情報であって、したがって、許容しがたいコストを示すべきではないことに留意されたい。さらに、この情報は、仲介変更のためも含めて、現在稼働中のシステムのためには必要とされず、したがって、続行のためには適切に存在することは必要とされず、別の障害または制御された再構成の前でだけ必要とされる。
【０１７０】
ＬＰＰは、それらのクライアントがどの仲介トピックに関心があるかを示すリストを保有し、ＴＰは、それらがサービスする仲介トピックにどのＬＰＰが関心をもつかを示すリストを保有する。したがって、関心リストの知識の全体は、すべてのＬＰＰの集合とすべてのＴＰの集合について同じである。ＴＰが障害を起こした場合、そのノードの関心リストは、それによってアドレス指定されるＬＰＰに含まれる知識によって、原則として再生成されることができる。ＬＰＰが障害を起こした場合、そのノードの関心リストは、それをアドレス指定するＴＰに含まれる知識によって、原則として再生成されることができる。どちらの場合も、稼働中動作は、すべてのメッセージが新規ＴＰからすべてのＬＰＰに送信されることを保証することによって、ネットワーク・トポロジーが再生成されると直ちに再開することができることは述べるに値し、ＴＰの関心リストの存在は、純粋に最適化目的のためであり、ＬＰＰの関心リストの存在は、純粋に障害時にこれらが再生成されることを可能にするためである。
【０１７１】
クレジット・バランスは、仲介およびトポロジー変更アルゴリズムの終了を検出する目的で、ＭＲおよびＴＰによって維持され、稼働中システムの動作は、これらの活動がない場合は、トポロジー回復時直ちに、再開することができることが、直ちに認められることができる。クレジット・バランスを回復するため、仲介構成それ自体内のそのような各ノードのクレジット・バランス状態を維持することが可能である。クレジット・バランスが割り当てられるときは常に、２つの影響されるノードの新しいクレジット・バランスを獲得する情報が仲介ネットワークに送信され、何らかの仲介者によって保存される。この情報は、ネットワークへの通常の問い合わせメッセージおよび新規ノードのクレジット・バランスを使用して回復されることができる。
【０１７２】
先の説明において、分散仲介モデルは、メッセージ・ログを維持するよう仲介者に要求したが、これはシステムの文字通りの解釈よりも、例示的であるように意図されたものに過ぎず、ログは原則として任意の仲介タスクをサポートする完全に汎用的なモデルである。実際には、これが任意の仲介タスクにとっての最適表現である可能性は低い。したがって、仲介者が（外部）アプリケーションＡＰＩへのゲートウェイとして機能する可能性もある。この場合、仲介者ノード自体はさらなる状態を保有せず、したがって、ネットワーク・トポロジーの再生成は十分である。
【０１７３】
しかし、最も一般的なケースでは、仲介者があらゆるメッセージのログをとる場合、ＭＲもあらゆるメッセージのログをとることが等しく可能であり、それによって、ＭＲによってログがとられるメッセージの全体は仲介者によってログがとられるメッセージの全体に等しいという強力なシステム不変量が得られることは述べるに値する。したがって、どちらのカテゴリにおける障害の場合にも、関心リスト用に使用される回復戦略と同様の回復戦略を実行することが可能である。このアプローチは図１６に示される。
【０１７４】
構造改良
「参照モデル」のキュービック構成は、コンポーネント・ノート（ｃｏｍｐｏｎｅｎｔ  ｎｏｔｅ）が構成され得る１つの方法を表すに過ぎない。構成の強度は、コンポーネント・ノード内の２つの純粋な概念に基づく。第１に、すべてのノード・ツー・ノードの情報フローは単方向であり、各ノードは送信者からメッセージを受信し、その情報をさらなるノードの集合内に中継する。後者の場合、集合は、システム構成に対する変更を法として（ｍｏｄｕｌｏ  ｃｈａｎｇｅｓ  ｔｏ  ｔｈｅ  ｓｙｓｔｅｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）一定である。
【０１７５】
第２に、各ノードは、別の箇所で説明されたようなそれを参照するノードの全体についての知識以外、システムのグローバルな構成に対する依存性をもたない。各ノードで必要とされる唯一のその他の構成情報は、それが情報を中継することができる他のノードの集合である。仲介者ルータおよび送信プロキシは各々、それが接続された受信ノードのどれが特定のメッセージを受信するかを決定する機能を含む。したがって、ノードは、それから２「ホップ」以上離れた他のいかなるノードの知識も必要としない。
【０１７６】
これらの制約が与えられる場合、各ノードはそれに情報を送信するノードのタイプから独立しているので、多くの可能な構成が可能である。ＬＰＰ→ＭＲ→Ｍ→ＴＰ→ＬＰＰの範例は、有用かつ実際的な範例ではあるが、ノード・タイプの１つの可能な構成に過ぎない。異なる必要性に異なる構成（ａｒｃｈｉｔｅｃｔｕｒｅ）を与えるその他の構成（ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【０１７７】
明白な要件は、各サブネットワークは、すべてのグローバル不変量に従わなければならず、さもなければ構成定義内の単一ノードの挙動をシミュレーションしなければならないことである。そのような場合、それが技術的条件で有利なときは常に、ノードまたはノードの組み合わせは任意に置き換えられることができる。
【０１７８】
図１７は、キュービック・ネットワークがＬＰＰノードの代わりに別のキュービック・ネットワークを組み込んで改良された構造改良の一例を示す。
【０１７９】
物理的場所が情報フロー・システムの要件に対する論理的な差を生じる多くの例が存在する。
【０１８０】
電子情報が商品の物理的な購入を引き起こすのに使用される状況を考えると、その場合、場所は厳密な定義要因であることなしに重要である。商品の性質に応じて、例えば、希少性、コスト、または物理的サイズに基づいて、ユーザは契約を結ぶために異なる努力を払う覚悟があるであろう。すべての場合で、対象がより近いほどより良いが、地理上の上限はアプリオリに決定されることはできない。
【０１８１】
物理的な商品は伴われないが、情報価値がその出所からの距離につれて低下する例も存在し、例えば、地方ニュース記事および国内市場取引は、大部分の情報フローが地理的場所内にある事例であるが、ある事例では、やはりグローバルなフローが望まれる。
【０１８２】
上記のシナリオに基づいて、複数の有用な誘導的な構成例が確認されることができ、場所または「地方市場」を表す１つまたは複数のノードが、全体的分散ネットワークの完全なローカル・インスタンス（ｌｏｃａｌ  ｉｎｓｔａｎｃｅ）で置き換えられる。全体的なシステム構成からのノード挙動の慎重な分離は、システムの技術的および論理的要件に応じてこれを達成する複数の方法を与える。
【０１８３】
実施例
本発明による分散仲介ネットワークの実施例および拡張が、以下のシナリオでさらに説明される。
【０１８４】
シナリオ１：クライアントは２以上のネットワークに申し込むことができ、すなわち、２つのネットワークは、ローカルおよびグローバルに共存することができ、各々はクライアントの地理的領域内にＬＰＰを備える。ここでは、情報システムは論理的に接続されない、すなわち、コピーを介する以外は、同じメッセージがローカルおよびグローバル・システムの両方で処理されることはできないと仮定される。
【０１８５】
シナリオ２：ＬＰＰが２つのネットワークの一部であることができ、着信メッセージを両方のアップストリーム・ネットワークに送信し、２つのダウンストリーム・ネットワークからダウンストリーム・メッセージの関心を登録する。これはかなり面白くなくもあるが、ＬＰＰがこれを行うことを妨げる設計基準がＬＰＰ内に存在しないことは述べるに値する。やはりこのシナリオも、論理的に接続されない情報システムを仮定する。
【０１８６】
シナリオ３：接続されたＭＲ。単一の論理ネットワークだけが存在し、何らかの情報がグローバルに流れることができる。アップストリーム・ローカル・ネットワークの述語集合は、特定のメッセージが内容に基づいてグローバル・ネットワーク内のさらなるＭＲに転送されるように変更される。ルーティング規則の違いは、ローカル・ネットワーク内のＭＲが、よりグローバルな関心にその内容が関することが示された情報を、グローバル・ネットワーク（または少なくともそのローカル・ネットワークの上位階層であるネットワーク）上に押し出すことを可能にする。これは排他的であることもでき、またはローカル仲介者転送と併用することもできる。同様に、ローカル・ネットワーク内のＴＰは、グローバル・ネットワーク内のＴＰの関心を表明するために変更される。関心表明は内容に基づくので、由来するネットワーク（ｄｅｒｉｖｉｎｇ  ｎｅｔｗｏｒｋ）の識別情報を内容の一部としてモデル化し、ローカル・ネットワークに由来しないすべてのデータに対する関心を表明することができ、それはダウンストリーム・ネットワークから重複メッセージがＬＰＰに出現することを防止する。このモデルは基本ノード定義に対する変更を含まず、さらに、単一の論理ビュー（ｌｏｇｉｃａｌ  ｖｉｅｗ）がクライアントおよびＬＰＰの両方に与えられる。関心表明は、メッセージ内容の内でモデル化されるので、構成を変更することなく、グローバルまたはローカルで独立してカスタマイズされることができる。
【０１８７】
図１８は、「グローバル」（ＵＫ）ネットワークと２つのローカル（市場）ネットワーク（ファイフおよびグラスゴー）とを備えるネットワークの階層を示す。特定のメッセージをＵＫネットワーク内のさらなるＭＲに転送するファイフおよびグラスゴー・ネットワークのＭＲが示される。
【０１８８】
ローカルおよびグローバル・ネットワークの厳格な階層を維持するよりはむしろ、接続されたＭＲは、ピアとして見なされることができる。これは、ＭＲがメッセージをそれが結合された他の任意のＭＲに押し出し、反対にメッセージをこれらの他の任意のＭＲから受信することをルーティング規則が可能にするバス・トポロジーをもたらす。「ＴＰバス」として同様に結合されたＴＰは、ネットワークの個々の部分が、ネットワークの他の部分に関心表明を広めることができるよう保証する。ネットワークの個々の部分は、それらの特徴的な単方向性およびグローバル構成からの独立性をまだ保持する。図１９は例示的なＴＰ／ＭＲバス・トポロジーを示す。
【０１８９】
シナリオ４：
グローバル・ネットワークに属するＭＲは、ローカル・ネットワークのＬＰＰまたはクライアントとして機能することができ、通常の方法で特定のトピックのデータに対する関心を表明する。これは、グローバル・ネットワークが、その構成にどんな形であれ影響を与えることなく、ローカル・ネットワークからデータを受信することを可能にするが、ローカル・ネットワークに戻るフローが必要とされない場合にだけ使用されることができる。これは、例えば、クライアントがグローバル情報を受信するためにより多く支払う覚悟があるシステムに適する。
【０１９０】
金融市場では、従来のピア・ツー・ピア構成ではなく仲介ルーティングの使用が、広域ネットワーク内に分散された注文帳から保存データが回復されることを可能にする。分散仲介ネットワーク構成は、国内市場の維持およびｖｉｒｔ−ｘなどの汎ヨーロッパ電子交換によって例えば取り組まれる国境を越える資産取引などの問題に対処するために、再帰的に適用されることができる。
【０１９１】
同様に、先物市場で観察されるような地理的に分散された不安定な取引活動の影響は、挙動のこれらの変動パターンが、昼間（ｄｉｕｍａｌ）のパターンによって引き起こされたか、または１つの金融センタから別のセンタへの急速な取引の移行および逆移行を通して引き起こされたかに関係なく、仲介ルーティング構成の適用によって吸収されることができる。
【０１９２】
グローバル制約の回避
分散仲介ネットワークの各ノードは、何らかの時点で、それを参照するノードの全体についての何らかの知識を必要とする。これらのノードの識別情報は決して必要とされず、仲介または構成変更操作中にノードの挙動に影響を及ぼす特定の終了および構成特性を検出するための情報だけが必要とされる。特に、すべての参照ノードが特定のタイプのメッセージを送信した時を検出するために機能する分散操作のクラスが存在する。
【０１９３】
場合によっては、特定のＭＲおよびＴＰにおいて、比較的少ないノードが各ノードを参照し、さらにこれらのノードが比較的ローカルにある可能性が高いことが期待される。こうした場合、簡単な参照カウントが、過剰なオーバヘッドを招くことなく維持されることができる。
【０１９４】
別の場合では、特定のＭおよびＬＰＰにおいて、多数の参照ノードが存在することがあり得、それらはさらに地理的に分散し、そのため、参照カウントを維持するコストが高くなることがあり得る。
【０１９５】
重要なことに、新規ノードは、システム内のあらゆる受信ノードと連絡しなければならない。
【０１９６】
そのような場合、クレジット回復方式の変形が、以下のように使用されることができる。特定の別のノード（受信者ノード）を参照するすべてのノードを表す特定のノードの集合について、各々はそれが有するクレジットの量を反映する状態を保有し、最初の合計クレジットは１．０で、各ノード間に分配される。その集合内のすべてのノードが受信者ノードに送信したかどうかを受信者ノードが検出する必要がある場合、そのような各ノードのクレジット値がメッセージの一部として送信されるように構成される。
【０１９７】
受信者ノードは、そのような受信値を累算器に記録する必要があり、累算器の値が１．０に達したとき、その場合は、すべての参照ノードがメッセージを送信したことが知られる。例えば、新規参照ノードの追加または削除を通して、ネットワークのトポロジーが変化したとき、その場合は、クレジット・バランスは、１．０のグローバル合計が維持されることを保証するようにしかるべく調整されなければならない。
【０１９８】
これは、追加の場合には既存ノードとクレジットを分割することによって、または削除の場合には別のノードとクレジットを併合することによって達成されることができる。そのような調整は共に、ローカル・レベルで生じることができ、さらに、多くのそのような局所化された変更は並列に生じることができ、したがって、グローバル参照ではあり得るような、ネットワーク全域での活動の混乱の可能性を回避する。
【０１９９】
実施
本発明の分散仲介ネットワークは、コンピュータ実施のソフトウェアまたはハードウェアとして実施されることができる。ソフトウェアの場合、実施物は揮発性および／または不揮発性メモリ手段に保存されることができる。コンピュータ・プログラム製品、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはインターネット・サーバから取り出されるデータ構造は、本発明によるネットワークのソフトウェア表現を組み込むことができる。
【０２００】
動作において、コンピュータ・プログラムは、分散仲介ネットワークの特定機能用のコンポーネントが動作することができるノードに保存されることができる。代替として、コンピュータ・プログラムは、分散仲介ネットワークの特定機能用のコンポーネントが動作することができるノードから参照されることができる中央リポジトリに保存されることができる。分散仲介ネットワークを設定する第１のステップは、ソフトウェアをインストールし、基本ネットワークを構成することである。インストールの検証のため、事前定義されたキュービック構成が提供されることができる。この構成は１つの物理ノード上で動作し、分散仲介ネットワークの正しい動作を確認するためにスクリプトが提供される。初期検証が満足に実行されると、システム管理者は、例えばチャットまたは価格提供など、プログラマによって記述された特定のアプリケーション用の仲介プログラムを、仲介者（Ｍ）および仲介者ルータ（ＭＲ）ノードに配備する。特定のアプリケーション・ロジックが分散仲介ネットワークで動作するようになると、ユーザはＬＰＰを介して分散仲介ネットワークに接続することができる。追加の論理ノードは、分散仲介ネットワークのユーザを混乱させることなく、システムに追加されることができる。
【０２０１】
先に述べられたように、物理ノードは、実ハードウェア・プロセッサであり、オペレーティング・システムを含む。その結果、物理ノードは、１つまたは複数の論理ノード、例えば、ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）、仲介者（Ｍ）、仲介者ルータ（ＭＲ）、または送信プロキシ（ＴＰ）を含むことができる。
【０２０２】
人間のオペレータがインタフェースをとる管理インタフェースは、上で説明された述語および制約による論理トポロジーのこれらの変更を実行するための機能を提供する。管理インタフェースは、分散仲介ネットワークの動作を監視するための表示および通知機能も提供することができる。
【図面の簡単な説明】
【０２０３】
【図１Ａ】スター方論理構成を有する従来技術の仲介情報フロー・システムを示すノード図である。
【図１Ｂ】図１Ａのシステムの物理構成を示す概略ノード図である。
【図２Ａ】中央ネットワーク論理構成を有する従来技術の仲介情報フロー・システムを示すノード図である。
【図２Ｂ】図２Ａのシステムの物理構成を示す概略ノード図である。
【図３】あらゆる有効な分散仲介ネットワーク・ノードがその一部である基本サイクル（ＬＰＰ→ＭＲ→Ｍ→ＴＰ→ＬＰＰ）を示す最小ノード図である。
【図４】本発明による「キュービック」分散仲介モデルを示すノード図である。
【図５Ａ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図５Ｂ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図５Ｃ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図５Ｄ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図５Ｅ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図５Ｆ】仲介タスクを送信仲介者モジュールＳから受信仲介者モジュールＲに移管するステップを示す図である。
【図６】本発明の分散仲介ネットワークにおける依存性の表（表１）を示す図である。
【図７】本発明の一実施形態障害処理メカニズムにおける依存性の表（表２）を示す図である。
【図８Ａ】既存の仲介構成に新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを追加するステップを示す図である。
【図８Ｂ】既存の仲介構成に新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを追加するステップを示す図である。
【図８Ｃ】既存の仲介構成に新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを追加するステップを示す図である。
【図８Ｄ】既存の仲介構成に新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを追加するステップを示す図である。
【図８Ｅ】既存の仲介構成に新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードを追加するステップを示す図である。
【図９Ａ】既存の仲介構成に新規仲介者（Ｍ）ノードを追加するステップを示す図である。
【図９Ｂ】既存の仲介構成に新規仲介者（Ｍ）ノードを追加するステップを示す図である。
【図９Ｃ】既存の仲介構成に新規仲介者（Ｍ）ノードを追加するステップを示す図である。
【図９Ｄ】既存の仲介構成に新規仲介者（Ｍ）ノードを追加するステップを示す図である。
【図１０】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する最初のステップである、新規ローカル・ポイント・オブ・プレゼンス（ＬＰＰ）ノードの追加を示す図である。
【図１１Ａ】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する以降のステップを示す図である。
【図１１Ｂ】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する以降のステップを示す図である。
【図１１Ｃ】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する以降のステップを示す図である。
【図１１Ｄ】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する以降のステップを示す図である。
【図１１Ｅ】既存の仲介構成に新規仲介者ルータ（ＭＲ）ノードを追加する以降のステップを示す図である。
【図１２】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する最初のステップである、新規仲介者（Ｍ）ノードの追加を示す図である。
【図１３Ａ】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する以降のステップを示す図である。
【図１３Ｂ】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する以降のステップを示す図である。
【図１３Ｃ】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する以降のステップを示す図である。
【図１３Ｄ】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する以降のステップを示す図である。
【図１３Ｅ】既存の仲介構成に新規送信プロキシ（ＴＰ）ノードを追加する以降のステップを示す図である。
【図１４】本発明の仲介構成から障害処理（ＦＨ）モジュールへの障害報告を示す図である。
【図１５Ａ】障害処理モジュールがどのようにして障害ＬＰＰノードから新規ＬＰＰノードへの仲介メッセージの再ルーティングを開始するかを示す図である。
【図１５Ｂ】障害処理モジュールがどのようにして障害ＬＰＰノードから新規ＬＰＰノードへの仲介メッセージの再ルーティングを開始するかを示す図である。
【図１５Ｃ】障害処理モジュールがどのようにして障害ＬＰＰノードから新規ＬＰＰノードへの仲介メッセージの再ルーティングを開始するかを示す図である。
【図１５Ｄ】障害処理モジュールがどのようにして障害ＬＰＰノードから新規ＬＰＰノードへの仲介メッセージの再ルーティングを開始するかを示す図である。
【図１５Ｅ】障害処理モジュールがどのようにして障害ＬＰＰノードから新規ＬＰＰノードへの仲介メッセージの再ルーティングを開始するかを示す図である。
【図１６】新規「システム不変量」を生成するために２以上のノードでメッセージのロギングを行う障害処理に対するアプローチを示す図である。
【図１７】ＬＰＰノードの代わりに別のキュービック・サブネットワークを組み込むキュービック・ネットワークの構造改良を示す図である。
【図１８】接続ＭＲを備えるネットワーク階層を示す図である。
【図１９】例示的なＴＰ／ＭＲバス・トポロジーを示す図である。
【図１Ａ】
2007502553.tif 000003
【図１Ｂ】
2007502553.tif 000004
【図２Ａ】
2007502553.tif 000005
【図２Ｂ】
2007502553.tif 000006
【図３】
2007502553.tif 000007
【図４】
2007502553.tif 000008
【図５Ａ】
2007502553.tif 000009
【図５Ｂ】
2007502553.tif 000010
【図５Ｃ】
2007502553.tif 000011
【図５Ｄ】
2007502553.tif 000012
【図５Ｅ】
2007502553.tif 000013
【図５Ｆ】
2007502553.tif 000014
【図６】
2007502553.tif 000015
【図７】
2007502553.tif 000016
【図８Ａ】
2007502553.tif 000017
【図８Ｂ】
2007502553.tif 000018
【図８Ｃ】
2007502553.tif 000019
【図８Ｄ】
2007502553.tif 000020
【図８Ｅ】
2007502553.tif 000021
【図９Ａ】
2007502553.tif 000022
【図９Ｂ】
2007502553.tif 000023
【図９Ｃ】
2007502553.tif 000024
【図９Ｄ】
2007502553.tif 000025
【図１０】
2007502553.tif 000026
【図１１Ａ】
2007502553.tif 000027
【図１１Ｂ】
2007502553.tif 000028
【図１１Ｃ】
2007502553.tif 000029
【図１１Ｄ】
2007502553.tif 000030
【図１１Ｅ】
2007502553.tif 000031
【図１２】
2007502553.tif 000032
【図１３Ａ】
2007502553.tif 000033
【図１３Ｂ】
2007502553.tif 000034
【図１３Ｃ】
2007502553.tif 000035
【図１３Ｄ】
2007502553.tif 000036
【図１３Ｅ】
2007502553.tif 000037
【図１４】
2007502553.tif 000038
【図１５Ａ】
2007502553.tif 000039
【図１５Ｂ】
2007502553.tif 000040
【図１５Ｃ】
2007502553.tif 000041
【図１５Ｄ】
2007502553.tif 000042
【図１５Ｅ】
2007502553.tif 000043
【図１６】
2007502553.tif 000044
【図１７】
2007502553.tif 000045
【図１８】
2007502553.tif 000046
【図１９】
2007502553.tif 000047
【国際調査報告】
2007502553.tif 000048
2007502553.tif 000049
2007502553.tif 000050
2007502553.tif 000051
2007502553.tif 000052