(57)【要約】本願は、ピアツーピア・システムのピアによって実現される通信サービスを呼び出す方法に関し、この方法は、通信サービスをホスティングするピアを識別し、分散ディレクトリによって通信サービスを呼び出すステップを含み、分散ディレクトリは、クライアントが通信サービスを呼び出すことを可能にするエントリを担持し、この方法は、識別されたピアまたは通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピアを識別するステップをさらに含み、分散ディレクトリは、クライアントが代替通信サービスを呼び出すことを可能にするエントリを担持する。また、本願は、この方法に対応する、通信サービスを提供するコンピュータ・ソフトウェア製品および遠隔通信システムに関する。
2010530195.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピア・システムのピアによって実現される通信サービスを呼び出す方法であって、前記通信サービスをホスティングするピア（Ｐｅｅｒ＿４）を識別し、分散ディレクトリによって前記通信サービスを呼び出すステップを含み、前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記通信サービスを呼び出すことを可能にするエントリを担持するものであり、前記方法は、
前記識別されたピアまたは前記通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピア（Ｐｅｅｒ＿３）を識別するステップをさらに含み、
前記代替通信サービスは、適当なインターフェースを有し、前記通信サービスとは異なる機能性を提供し、
前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記代替通信サービスを呼び出すことを可能にするエントリを担持する、ことを特徴とする方法。
【請求項２】
前記代替サービスは、冗長ピア（Ｐｅｅｒ＿３）でホスティングされ、前記分散ディレクトリの冗長性手段によって識別されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記代替サービスは、前記クライアント（Ｐｅｅｒ＿１）について透過的に呼び出されることを特徴とする、請求項１に記載の方法。
【請求項４】
前記代替サービスは、別のピア（Ｐｅｅｒ＿５）に委譲されることを特徴とする、請求項１に記載の方法。
【請求項５】
ピアツーピア・プログラミング手段のピアによって実現される複数の通信サービスを提供するコンピュータ・ソフトウェア製品であって、前記ピアツーピア・プログラミング手段は、通信サービスをホスティングするピア（Ｐｅｅｒ＿４）を識別する分散ディレクトリを含み、前記ピアツーピア・プログラミング手段は、前記通信サービスを呼び出す通信手段を含み、前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記通信サービスを呼び出すことを可能にするエントリを担持するものであり、さらに、
前記ピアツーピア・プログラミング手段は、前記ピアまたは前記通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピア（Ｐｅｅｒ＿３）を識別する識別手段を含み、
前記代替通信サービスは、適当なインターフェースを有し、前記通信サービスとは異なる機能性を提供し、
前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記代替通信サービスを呼び出すことを可能にするエントリを担持する、ことを特徴とするコンピュータ・ソフトウェア製品。
【請求項６】
前記代替サービスは、冗長ピア（Ｐｅｅｒ＿３）でホスティングされ、前記分散ディレクトリの冗長性手段によって識別されることを特徴とする、請求項５に記載のコンピュータ・ソフトウェア製品。
【請求項７】
前記ピアツーピア・プログラミング手段は、前記代替サービスを前記クライアント（Ｐｅｅｒ＿１）について透過的に呼び出すように適合されることを特徴とする、請求項５に記載のコンピュータ・ソフトウェア製品。
【請求項８】
前記代替サービスは、別のピア（Ｐｅｅｒ＿５）に委譲されることを特徴とする、請求項５に記載の方法。
【請求項９】
ピアツーピア・プログラミング手段のピアによって実現される複数の通信サービスを提供する遠隔通信システムであって、前記ピアツーピア・プログラミング手段は、通信サービスをホスティングするピア（Ｐｅｅｒ＿４）を識別する分散ディレクトリを含み、前記ピアツーピア・プログラミング手段は、前記通信サービスを呼び出す通信手段を含み、前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記通信サービスを呼び出すことを可能にするエントリを担持するものであり、さらに、
前記ピアツーピア・プログラミング手段は、前記ピアまたは前記通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピア（Ｐｅｅｒ＿３）を識別する識別手段を含み、
前記代替通信サービスは、適当なインターフェースを有し、前記通信サービスとは異なる機能性を提供し、
前記分散ディレクトリは、クライアント（Ｐｅｅｒ＿１）が前記代替通信サービスを呼び出すことを可能にするエントリを担持する、ことを特徴とする遠隔通信システム。
【請求項１０】
前記代替サービスは、冗長ピア（Ｐｅｅｒ＿３）でホスティングされ、前記分散ディレクトリの冗長性手段によって識別されることを特徴とする、請求項９に記載の遠隔通信システム。
【請求項１１】
前記ピアツーピア・プログラミング手段は、前記代替サービスを前記クライアント（Ｐｅｅｒ＿１）について透過的に呼び出すように適合されることを特徴とする、請求項９に記載の遠隔通信システム。
【請求項１２】
前記代替サービスは、別のピア（Ｐｅｅｒ＿５）に委譲されることを特徴とする、請求項９に記載の遠隔通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ピアツーピア・システムのピアによって実現される通信サービスを呼び出す方法、ソフトウェア製品、およびそのための遠隔通信システムに関する。
【背景技術】
【０００２】
インターネット・サービス・プロバイダ、ネットワーク・サービス・プロバイダ、さらには遠隔通信サービス・プロバイダなどの通信事業者のための、音声会議もしくはマルチメディア会議、インスタント・メッセージング、プッシュツートーク、または任意の種類の情報共有などインターネットおよびオーバーレイ・ネットワークを介した最低運営支出の会話サービスおよびコラボレーション／コミュニティ・サービスが、非常に求められている。
【０００３】
この目標は、付加価値サービスを提供し、見つけ、開始する能力を必要とするピアツーピア・ネットワークなどの最小集中インフラストラクチャによって到達される。背後にハイ・エンド・サーバを有するＴｅｌｅＶｏｔｉｎｇなどの大規模に使用されるサービスまたは長いオンライン時間を必要とする音声メールボックスなどの頻繁に使用されるサービスについて、それらをそのような低コスト・ネットワークで展開することは、それらを展開し、統合するために今までに定義されたオートマティズムおよび機構がないので不可能である。
【０００４】
この領域では、国際出願ＷＯ  ２００５／００９０１９に、複数の同一エンドユーザと、それを介して１つまたは複数のエンドユーザが通信のために接続可能である通信構造とを含むピアツーピー（ｐｅｅｒ−ｔｏ−ｐｅｅ）電話システムが開示されている。このシステムは、通信構造が、前記１つまたは複数のエンドユーザを接続するためのその中の通信ルート・スイッチングに関して実質的に分散されることにおいて特徴づけられる。
【０００５】
ＷＯ  ２００７／０５７６３３  Ａ１では、仮想ネットワークが説明され、ここで、各ノードは、要求されたサービスを提供できない場合に、一致するサービスを提供できる別のノードを見つけるためにリストまたはメッセージ・ストアを検索する。
【０００６】
ＥＰ  １７６０９８９  Ａ１では、ピアツーピア・プラットフォームが説明され、ここで、ピアツーピア・プラットフォームの少なくとも１つのピアは、シャドウ・サーバを所有し、このシャドウ・サーバに、他のピアから受信したサービスを格納する。
【０００７】
ピアツーピア（Ｐ２Ｐ）コンピューティングは、複数の興味深い分散コンピューティング・テクノロジを陰からスポットライトのあたる場所に押し出すのに十分なマインドシェア（ｍｉｎｄｓｈａｒｅ）を有する典型例（ｐａｒａｄｉｇｍ）になる見込みがある。
【０００８】
Ｐ２Ｐコンピューティングの使用は、ＷＯ  ２００５／００９０１９に記載のように通信クライアントを分散させることに限定されない。Ｐ２Ｐは、複数の見込みのあるテクノロジを舞台裏から注目の的にするのに十分に大きいマインドシェアを有する典型例のように見え始めつつある。ピアツーピア・コンピューティングは、突然にその現在の形になったのではなかった。そうではなく、ピアツーピア・コンピューティングは、複数の異なる親の子である。第１の最も重要なＰ２Ｐコンピューティングは、使用可能なテクノロジと交差するソフトウェア・エンジニアリングにおける分散する傾向の当然の結果である。エンジニアリングの展望からは、最近１０年にわたるこの傾向は、エンタープライズ・アプリケーション統合などの力によって駆り立てられたものであるが、明らかに、モノリシック・システムから離れ、分散システムに向かってきた。この傾向は、集中アプリケーションを管理することの容易さによって多少は抑制されたが、インターネットの増大およびそれに続くビジネス・ツー・ビジネス・トランザクションの重要性の高まりが、フルスケール分散コンピューティングをビジネス必需品にした。この傾向と交差するのが、強力なネットワーク化されたコンピュータおよび安価な帯域幅の可用性の高まりである。効果的になるために、Ｐ２Ｐコンピューティングは、多数の相互接続されたピアの可用性を必要とする。
【０００９】
Ｐ２Ｐコンピューティングは、分散コンピューティングのサブセットである。その名「ピアツーピア」は、ピアの間の平等主義の関係を暗示し、より重要なことには、ピアの間の直接インタラクションを暗示する。Ｐ２Ｐアプリケーションは、互いに通信する、それぞれがＰ２Ｐネットワーク内で特定の役割を実行する複数のピアからなる。通常、ピアの個数は、多く、異なる役割の個数は、少ない。この２つの要因は、何故にほとんどのＰ２Ｐアプリケーションが機能において大規模並列化の特徴があるのかを説明する。最もよい例が、多数の本質的に同一のピアからなるＧｎｕｔｅｌｌａネットワークである。Ｐ２Ｐアプリケーションでは、興味深い問題が、ピアの間のインタラクションにあり、より少ない度合でピア自体にある。
【００１０】
Ｐ２Ｐコンピューティングによって解決されるべき問題は、かなりの度合まで、分散コンピューティングで直面する問題すなわち、独立ノードのアクティビティの調整および監視ならびにノードの間の堅牢で信頼できる通信の保証とオーバーラップする。
【００１１】
Ｐ２Ｐ技法の概要は、ｈｔｔｐ：／／ｗｗｗ．ｗｅｂｏｐｅｄｉａ．ｃｏｍ／ＤｉｄＹｏｕＫｎｏｗ／Ｉｎｔｅｒｎｅｔ／２００５／ｐｅｅｒ＿ｔｏ＿ｐｅｅｒ．ａｓｐまたはｈｔｔｐ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｐｅｅｒ−ｔｏ−ｐｅｅｒによって与えられる。リソース解決の中心問題は、たとえば、米国特許第７１３６９２７号で扱われている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】国際出願ＷＯ  ２００５／００９０１９
【特許文献２】ＷＯ  ２００７／０５７６３３  Ａ１
【特許文献３】ＥＰ  １７６０９８９  Ａ１
【特許文献４】米国特許第７１３６９２７号
【非特許文献】
【００１３】
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｗｅｂｏｐｅｄｉａ．ｃｏｍ／ＤｉｄＹｏｕＫｎｏｗ／Ｉｎｔｅｒｎｅｔ／２００５／ｐｅｅｒ＿ｔｏ＿ｐｅｅｒ．ａｓｐ
【非特許文献２】ｈｔｔｐ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｐｅｅｒ−ｔｏ−ｐｅｅｒ
【非特許文献３】ｈｔｔｐ：／／ｄｅ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｖｅｒｍｉｔｔｌｕｎｇｓｔｅｃｈｎｉｓｃｈｅ＿Ｌｅｉｓｔｕｎｇｓｍｅｒｋｍａｌｅ
【発明の概要】
【発明が解決しようとする課題】
【００１４】
解決されなければならない技術的問題は、より少ないインフラストラクチャ専用ハードウェア・コンポーネントを有する最初に述べた非常に信頼できる遠隔通信インフラストラクチャをピアツーピア技法によって実現することである。
【課題を解決するための手段】
【００１５】
この問題は、ピアツーピア・システムのピアによって実現される通信サービスを呼び出す方法によって解決される。この方法は、通信サービスをホスティングするピアを識別し、分散ディレクトリによって通信サービスを呼び出すステップを含み、分散ディレクトリは、クライアントが通信サービスを呼び出すことを可能にするエントリを担持する。この方法は、識別されたピアまたは通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピアを識別するさらなるステップを含み、分散ディレクトリは、クライアントが代替通信サービスを呼び出すことを可能にするエントリをも担持する。
【００１６】
この問題は、なかんずく、ピアツーピア・プログラミング手段のピアによって実現される通信サービスを提供するコンピュータ・ソフトウェア製品によって解決され、ここで、ピアツーピア・プログラミング手段は、通信サービスをホスティングするピアを識別する分散ディレクトリを含み、ピアツーピア・プログラミング手段は、通信サービスを呼び出す通信手段を含み、分散ディレクトリは、クライアントが通信サービスを呼び出すことを可能にするエントリを担持し、ピアツーピア・プログラミング手段は、ピアまたは通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピアを識別する識別手段を含み、分散ディレクトリは、クライアントが代替通信サービスを呼び出すことを可能にするエントリを担持する。
【００１７】
また、この問題は、ピアツーピア・プログラミング手段のピアによって実現される通信サービスを提供する遠隔通信システムによって解決され、ここで、ピアツーピア・プログラミング手段は、通信サービスをホスティングするピアを識別する分散ディレクトリを含み、ピアツーピア・プログラミング手段は、通信サービスを呼び出す通信手段を含み、分散ディレクトリは、クライアントが通信サービスを呼び出すことを可能にするエントリを担持し、ピアツーピア・プログラミング手段は、ピアまたは通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピアを識別する識別手段を含み、分散ディレクトリは、クライアントが代替通信サービスを呼び出すことを可能にするエントリを担持する。
【００１８】
また、この解決策の主要な部分が、ピアツーピア・プログラミング手段のピアによって実現される通信サービスを提供する遠隔通信サービス・システムであって、ピアツーピア・プログラミング手段は、通信サービスをホスティングするピアを識別する分散ディレクトリを含み、ピアツーピア・プログラミング手段は、通信サービスを呼び出す通信手段を含み、分散ディレクトリは、クライアントが通信サービスを呼び出すことを可能にするエントリを担持し、ピアツーピア・プログラミング手段は、ピアまたは通信サービスが使用不能である場合に代替通信サービスをホスティングする代替ピアを識別する識別手段を含み、分散ディレクトリは、クライアントが代替通信サービスを呼び出すことを可能にするエントリを担持する、遠隔通信サービス・システムであることにも留意されたい。
【００１９】
言い換えると、主要なアイデアは、代替サービスを選択するためにピアツーピア・プラットフォームの分散辞書を再利用することである。これは、分散ハッシング技法が、サービスの突き止めおよび選択ならびにサービス割振りのフォールバックとしてのビルド・イン冗長性機構の再利用に使用されることを意味する。これは、エントリすなわちリソース識別子だけが増補されるので、基礎になるデータ構造の深い変更なしで行うことができるはずである。通常、そのようなデータ構造は、サービスに関する冗長性リソースを維持する。この基本原理は、破壊され、冗長性ピアの代わりに、代替サービスを提供する代替ピアが識別される。これは、ルーティング・プロトコルとサービス呼出しとの間の混乱である。
【００２０】
この手法は、複数の利益を有する。主な特徴は、ピアツーピア・ネットワークによる単純で信頼できるサービス提供である。サービス・ピアは、区別されたサービス・フォールバック・チェーンに関してピアツーピア・ネットワークを機能強化する。
【００２１】
そのようなピアツーピア・サービスを実施するために、制御構造は、追加のネットワーク・リソースを必要としない。ピア・ノードおよびピアツーピア・ネットワークのアルゴリズムを、バックアップ、冗長性、および信頼性などのトピックのためにたやすく再利用することができる。これは、サービス・プロバイダがサービス・インフラストラクチャに関する運営支出および資本支出を減らすことを可能にする。
【００２２】
技術的には、ネットワーク・リソースは、分散ディレクトリを介してより効率的に使用される。
【００２３】
管理的には、サービス・プロバイダは、ピアツーピア・ネットワーク内でサービスをたやすく導入し、提供することができる。サービス・ピアは、特殊なサービス、たとえばｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌシステムでの音声メールボックスを有することを望むユーザのためにピアツーピア・ネットワークを機能強化する。サービス・プロバイダは、追加のネットワーク・リソースを必要としない。少なくとも、サービス・プロバイダは、ピアツーピア・ルーティング・トポロジの適切なロケーションで専用リソースを追加することを可能にされ、その結果、それらの専用リソースを代替サービスとして呼び出すことが可能になる。サービス・プロバイダは、それでも、バックアップ、冗長性、および信頼性などのトピックのためにピア・ノードならびにピアツーピア・ネットワークの機構およびアルゴリズムを再利用することができる。
【００２４】
本発明を、コード・トポロジを使用する例によって説明するが、本発明を、任意のディレクトリ機構を使用して実現することができる。
【図面の簡単な説明】
【００２５】
【図１】追加代替サービスを伴う（追加直接キープアライブと共に）本発明による遠隔通信システムを示す図である。
【図２】本発明による追加代替サービスにアクセスする方法を示す図である。
【図３】追加直接キープアライブ・リンクを伴う本発明による遠隔通信方法を示す図である。
【図４】本発明による遠隔通信サービスの統合を示す図である。
【図５】本発明による遠隔通信システムの統合の後の本発明による遠隔通信システムを示す図である。
【図６】本発明による遠隔通信システムでのサービス・シナリオのコンテキストを示す図である。
【図７】本発明による遠隔通信システムでのプロキシによる転送シナリオを示す図である。
【図８】本発明による遠隔通信システムでのバックツーバック・ユーザ・エージェント（Ｂ２ＢＵＡ）による転送シナリオを示す図である。
【図９】本発明による遠隔通信システムでのバックツーバック・ユーザ・エージェント（Ｂ２ＢＵＡ）による転送シナリオを示す図である。
【図１０】本発明による遠隔通信システムでの一時的に移動されたシグナリングによる転送シナリオを示す図である。
【図１１】本発明による遠隔通信システムでの一時的に移動されたシグナリングによる転送シナリオを示す図である。
【図１２】本発明による遠隔通信システムでの一時的に移動されたシグナリングによる転送シナリオを示す図である。
【図１３】本発明による遠隔通信システムでの一時的に移動されたシグナリングによる転送シナリオを示す図である。
【発明を実施するための形態】
【００２６】
現在のオートマティズムおよび機構は、ピアがサービスを有し、使用することを望む時に呼び出される中央インスタンスに基づく。サービス指向アーキテクチャに関する技術的現状は、第１にｕｎｉｖｅｒｓａｌ−ｄｅｓｃｒｉｐｔｉｏｎ−ｄｉｓｃｏｖｅｒｙ−ａｎｄ−ｉｎｔｅｇｒａｔｉｏｎ（ＵＤＤＩ）などの中央サービス・ディレクトリをルックアップし、第２にサービス・プロバイダのサーバでサービスを呼び出すことである。
【００２７】
ピアツーピア・ネットワークの辞書のようなサービス・ホスティングを除いて、分散機構はない。現在の遠隔通信ネットワークには、通常、サービスを提供し、見つけ、呼び出すために中央ルックアップ・インスタンスおよび中央サービス・インスタンスがある。中央インスタンスは、冗長性、信頼性、その他などのトピックに関するふさわしいメンテナンス概念を必要とする。
【００２８】
そのようなトピックを除去するためには、これらのインスタンスを構造化されたピアツーピア・ネットワーク内で分散させることが有利である。したがって、サービスおよびサービス・チェーンを提供し、見つけ、呼び出すための機構およびオートマティズムを導入することが必要である。したがって、サービス・プロバイダは、自分でホスティングされる中央サービス・インスタンスを探す必要がない。サービスは、ピアツーピア・ネットワーク内で自動的に統合され、固有の冗長性および信頼性の概念および機構が、使用され得る。
【００２９】
いわゆる付加価値サービスの展開は、ピアツーピア・ネットワークの使用を機能強化し、サービス・プロバイダにとって非常に重要である。たとえば、ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ電話ネットワーク内では、音声メールボックスまたは他の補足サービスを有することが必須である。ｈｔｔｐ：／／ｄｅ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｖｅｒｍｉｔｔｌｕｎｇｓｔｅｃｈｎｉｓｃｈｅ＿Ｌｅｉｓｔｕｎｇｓｍｅｒｋｍａｌｅを参照されたい。
【００３０】
いわゆるサービス・ピアすなわちサービスをホスティングするピアは、そのような付加価値サービスをピアツーピア・ネットワークに導入する。サービス・ピアとは、そこでサービスが提供され、実行されるインスタンスである。サービスは、たとえば、ユーザがオフラインである場合に音声メールボックスを用いてユーザの代理をすること、またはユーザのどのインスタンスを呼び出さなければならず、したがって呼をどこにルーティングしなければならないのかを判断することである。
【００３１】
このサービス・ピアは、そこでユーザのバックアップも、好ましくはバックアップ・ピアまたは冗長性ピアとして動作するピアツーピア・トポロジ内、たとえばコード・リング内の位置を得る。図示の例は、コード・アルゴリズムを使用し、ここで、冗長性ピアすなわち、サービス・ピアとしても知られる、代替サービスをホスティングするのに適するピアは、それのためにサービスが実行されなければならないノードの前に配置される。
【００３２】
他の構造化されたピアツーピア・ネットワークでは、サービス・ピアは、他のどこかに配置されてもよいが、好ましくは、通常はノードのバックアップが配置される位置に配置される。リング内のこれらの位置は、冗長性情報の責任を負い、したがって、ノードまたはユーザがクラッシュするか見えなくなる場合に自動的に責任を負う。
【００３３】
追加代替サービスは、要求されたサービス呼出しの代わりにユーザ情報およびサービス情報を交換することができる。サービス・ピアは、サービスを開始しなければならない時にそれ自体を検出する。呼出し側すなわちクライアントまたはクライアント役割のピアは、専用サービスを呼び出すことを意図する。このサービスは、またはより正確にはそのサービスの記述は、このサービスをホスティングするピアをルックアップし、識別するのに使用される。識別されたピアが見えなくなる場合には、別のいわゆる冗長性ピアが、通常、このサービスを提供するために識別され、あるいは、サービス呼出しが、単純に拒否される。そのような状況では、識別されたピアが無効になった時に、本発明に従って、別の代替サービスが提供される。ピアツーピア・システムは、ある時間限度以内に応答がないことを単純に検出することによって、ピアが見えなくなったことを認識することができる。次に、冗長性ピアが、フォールバック・ピアを識別するためにルックアップされる。秘訣は、今や、冗長性ピアであってもよいこのフォールバック・ピアが、要求されたサービスを提供するのではなく、サービス代替物を提供することである。これは、適当なインターフェースを有するが異なる機能性を提供するサービスである。この機能性は、例外状況をキャッチする例外ハンドラのように働く。サービス設計は、例外状況が適当なサービス代替物を提供するようになっている。
【００３４】
そのようなピアツーピア・サービス・システムの興味深い特徴は、サービスまたはピアが、代替サービス自体を指定できる、すなわち、ランタイムに代替サービスまたは代替ピアを判定できることである。ここで、ピアは、サービス・フォールバック・チェーンを定義する立場にある。
【００３５】
この技法を、コード・アルゴリズムによって前もって示す。ここで、ピアは、ショートカットを有するオリエンテッド・リング（ｏｒｉｅｎｔｅｄ  ｒｉｎｇ）として配置され、ここで、冗長性ピアおよびフォールバック・ピアも、そのリングに関して隣接ピアである。
【００３６】
オーダード・リング（ｏｒｄｅｒｅｄ  ｒｉｎｇ）内の後継者ｐｉｎｇが障害を発生する場合には、サービス・ピアは、ピアがダウンしているか見えなくなっていることを検出し、サービス・ピアは、選択されたサービスを開始しなければならない。
【００３７】
図１に示されたシナリオを仮定されたい。円のリングによって示されたピアツーピア・システムがあり、この円は、ピアである。ピアは、次の４つのピアを含む。
−クライアント役割の、アリスと呼ばれるピアＰｅｅｒ＿１。
−分散ハッシュ・テーブルの関連する部分を担持する、ＤＨＴ＿Ｐｅｅｒと呼ばれるピアＰｅｅｒ＿２。
−サービスをホスティングするピアＰｅｅｒ＿３。
−ボブと呼ばれる、クライアント・アリスによって呼び出されるサービスをホスティングするピアＰｅｅｒ＿４。
サービスをホスティングするピアＰｅｅｒ＿３は、ピア・ボブの隣接物であり、クライアントによって呼び出されるサービスをホスティングする。分散ハッシュ・テーブルの部分は、リソース・ロケーション情報すなわち、「ボブはＰｅｅｒ＿４にあり、ボブのサービスはＰｅｅｒ＿３にある」を担持する。
【００３８】
図２に、サービス呼出しがどのように働くのかを示す。クライアント役割のピア・アリスが、要求されたサービスをホスティングするピア・ボブに到達することを意図すると仮定する。要求されたサービスをホスティングするピア・ボブは、×によって図示されているように、このピアツーピア・システムから見えなくなった。クライアント役割のピア・アリスは、要求されたサービスの存在に関して絶対的に知らない。ピアツーピア・システムは、要求されたサービスを突き止めるための情報を担持する分散辞書を提供する。これは、第１ステップで、クライアント役割のピア・アリスが、要求されたサービス・ボブに関する辞書内のルックアップ１を引き起こすことを意味する。クライアント・アリスによって呼び出されるサービスをホスティングするピアＰｅｅｒ＿４。前もって、代替サービスをホスティングするピアＰｅｅｒ＿３が、少なくとも冗長性ピアによって暗黙のうちに、識別される。
【００３９】
サービス・ボブが、招待（ｉｎｖｉｔｅ）されるか要求される時に、ピアツーピア・システムは、このサービスをホスティングするピアＰｅｅｒ＿４が使用不能であることを知るようになる。しかし、捕まえるための道具すなわち代替サービスをホスティングするピアＰｅｅｒ＿３がある。この代替サービスは、最初に要求されたサービスを呼び出すことの代わりに自動的に呼び出される。
【００４０】
図３に、代替サービスをホスティングするピアＰｅｅｒ＿３がピアツーピア・システムにどのように統合されるのかを示す。サービス・ボブをホスティングするピアＰｅｅｒ＿４は、新たに導入されるピアＰｅｅｒ＿３でホスティングされるフォールバック追加サービスによって機能強化されなければならない。サービス・ボブをホスティングするピアＰｅｅｒ＿４は、直接キープアライブ・リンクを確立する。これは、基礎になるピアツーピア・トポロジとは独立のリンクである。この独立リンクは、新たに導入されるピアＰｅｅｒ＿３をピアツーピア・トポロジ内の正しい位置に統合するのに使用される。前もって、ピアツーピア・ディレクトリ、ここでは分散ハッシュ・テーブルが、サービス・ボブをホスティングするピアＰｅｅｒ＿４のエントリを単純にパッチすることによって、サービス・ボブの代替サービスのエントリ表示によって更新される。これが、このピアＰｅｅｒ＿４によって、単純にそれ自体の位置をルックアップすることとエントリをパッチすることとによって、実際に可能であることに留意されたい。
【００４１】
図４に、ピアツーピア・トポロジへの統合の次のステップを示す。代替サービスをホスティングするピアＰｅｅｒ＿３は、たとえば直接キープアライブｐｉｎｇがクラッシュするや否や、またはサービス・ボブが使用不能になるや否や、サービス・ボブのフォールバック・サービスになるために、サービス・ボブをホスティングするピアＰｅｅｒ＿４の前に参加する。したがって、図２に示されたシナリオに到達するが、ここで、アリスの要求の自動ルーティングは、ピアツーピア・システムによって、代替サービスをホスティングするピアＰｅｅｒ＿３に本質的にルーティングされる。
【００４２】
図５に、異なるピアＰｅｅｒ＿４およびＰｅｅｒ＿５にボブ・サービスの複数のインスタンスがあるときであっても、Ｐｅｅｒ＿４およびＰｅｅｒ＿５のそれぞれがそれ自体のディレクトリ・エントリを有することを示す。したがって、サービス・ボブは、異なる代替サービスを有することができる。図示の例では、前の図に示し、説明したように、ピアＰｅｅｒ＿４でホスティングされるサービス・ボブだけが、代替サービスを有する。ピアＰｅｅｒ＿５でホスティングされるサービス・ボブの第２のインスタンスは、代替サービスを有しない。というのは、この代替サービスを、この図に示された分散ハッシング・テーブルの一部で推論することができるからである。
【００４３】
図６に、活動中の図５に示された構成を示す。クライアント・アリスは、ピアＰｅｅｒ＿４でホスティングされるサービス・ボブを呼び出すことを意図する。Ｐｅｅｒ＿４は見えなくなるが、Ｐｅｅｒ＿３でホスティングされる、使用可能な代替サービスがあり、システムは、冗長性機構または辞書内の明示的エントリを使用してこの代替サービスを捕まえる。この代替サービスは、図示されているように、ピアＰｅｅｒ＿５でホスティングされるサービス・ボブを参照することさえできる。これは、例外キャッチ・サービスを使用して、呼出しを委譲しまたは転送し、あるいはサービス呼出しを翻訳し変換することができることを意味する。
【００４４】
ピアがエンドユーザ出現すなわち通信クライアントに対応する遠隔通信システムについて、代替サービスは、たとえば、ボブの別の選択されたインスタンスに呼を転送することができる。ボブおよびアリスは、そのようなシナリオでは、ユーザのプレゼンスを表している。
【００４５】
したがって、もはやピアＰｅｅｒ＿４でホスティングされない通信クライアントを有するユーザ・ボブは、ボブのプレゼンスを判定し、それに対応して呼を転送するスクリプトを含む代替サービスによって、Ｐｅｅｒ＿４への着呼を転送することができる。
【００４６】
もう１つのアプリケーション・シナリオでは、代替サービスは、たとえば、アンサー・マシン（ａｎｓｗｅｒ  ｍａｃｈｉｎｅ）実施態様によって呼を記録し、インスタンス・メッセージによってボブに知らせることができる。したがって、ユーザ・アリスは、代替サービスによって実施される音声メールボックスにボブ宛のメッセージを残すことができ、ボブは、着信音声メッセージに関するインスタント・メッセージを得る。
【００４７】
前述のシナリオでは、ＩＮＶＩＴＥ（招待）は、サービス・ピアに到達することができないが、このシステムは、ボブの音声メールボックスを開始する代替サービスによってこれを相殺する。後継者ｐｉｎｇは、ピアツーピア・システムによる固有使用済み機構であり、これを、サービスを開始するのに使用することができる。他のすべてのピアツーピア・アルゴリズムでは、そのような「キープアライブ」リンクを再利用することができる。
【００４８】
ピアツーピア環境の外部でサービスを実現することすら可能である。サービス・ピアがピアツーピア・ネットワークの一部ではない場合には、サービス・ピアとピアとの間のすべてのピアツーピア・アルゴリズムとは独立の追加キープアライブ・リンクを導入しなければならない。その場合に、サービス・ピアは、常にキープアライブ・リンクをチェックし、障害を発生する場合には、サービス・ピアは、リングのうちでクラッシュしたピアが配置されていた部分に参加し、その後、サービスを開始することができる。
【００４９】
これによって、サービス・ピア・インスタンスは、第１の場合のようにネットワーク・リンク内に常に存在する必要がない。サービス・インスタンスは、サービスが必要である時にのみ必要である。サービスは、たとえば、ユーザがオフラインである場合に音声メールボックスを用いてユーザの代理をするため、またはユーザのどのインスタンスを呼び出さなければならず、したがってどこに呼をルーティングしなければならないのかを判断するためである。言い換えると、ピアは、サービス・ピアを有し、サービス・ピアは、サービス、たとえばピアが現在オフラインである場合に音声メール・サービスを提供する。各ピアは、そのサービス・ピア・ブリッジにサービス・ピア・ロケーションを格納する。サービス・ピア・ブリッジ・ピアは、必ず、１つまたは複数のサービス・ロケーション・エントリを含む。
【００５０】
セッション・イニシエーション・プロトコル遠隔通信アプリケーションのコンテキストでのサービス・ピア・ブリッジ・ピアは、少なくとも３つの異なる形すなわち、プロキシ、Ｂ２ＢＵＡ、またはリダイレクト・モジュールでブリッジングを実行することができる。
【００５１】
図７に、委譲機構を実施するインダイレクションを伴うサービス・ピア・ブリッジを好ましい実施形態として示す。この例は、サービスがプロキシによって提供され、実行される、サービス・ピア・インスタンスへの呼またはセッションをリダイレクトできるピア・ブリッジを含む。このプロキシは、代替サービスＰｅｅｒ＿３として実現される。このプロキシは、要求するピア・アリスと要求されリダイレクトされたピア・ボブとの間の直接シグナリングおよびメディア・フローを引き起こす。代替として、シグナリングを、追加サービスを提供するピアＰｅｅｒ＿３によって処理することもできる。
【００５２】
図８に示されたさらなる好ましい実施形態では、追加サービス・ピアＰｅｅｒ＿３は、Ｂ２ＢＵＡとして働き、したがって、少なくとも、ピア・アリスとピア・ボブとの間の、破線の矢印によって示されたシグナリング・フローを終端させる。図９に代替シナリオを示し、ここでは、代替サービスＰｅｅｒ＿３は、シグナリングだけを終端させ、メディア・パスは終端させない。
【００５３】
図１０に、代替サービスＰｅｅｒ＿３が、リダイレクト・モジュールを実施するシナリオを示し、このリダイレクト・モジュールは、使用され得、ステートレス／ステートフル・プロキシとして働き、呼をサービス・ピアにリダイレクトする。その後、シグナリング・パスに留まるか留まらないかのいずれかを行うことができる。このシナリオでは、代替ピアは、発呼ピア・アリスにピア・ボブのプレゼンス（１つまたは複数）について知らせる。
【００５４】
対照的に、バックツーバック・ユーザ・エージェント（Ｂ２ＢＵＡ）またはプロキシを、追加メタ・シグナリングすなわちピア・ホスティングなどに関するシグナリングなしで使用することができる。リダイレクト・モジュールは、必ず、一種のＭＯＶＥＤ  ＴＥＭＰＯＲＡＲＩＬＹメッセージを返す。
【００５５】
図１１に示されたこのメッセージは、発呼ピア・アリスがボブを実際にホスティングするピアを呼び出すことを可能にする。このインダイレクションの利益は、図１２および１３に示されているように、発呼ピアが、ボブの複数のプレゼンスの間で選択を行うことを可能にされることである。
【図１】
2010530195.tif 000003
【図２】
2010530195.tif 000004
【図３】
2010530195.tif 000005
【図４】
2010530195.tif 000006
【図５】
2010530195.tif 000007
【図６】
2010530195.tif 000008
【図７】
2010530195.tif 000009
【図８】
2010530195.tif 000010
【図９】
2010530195.tif 000011
【図１０】
2010530195.tif 000012
【図１１】
2010530195.tif 000013
【図１２】
2010530195.tif 000014
【図１３】
2010530195.tif 000015
【国際調査報告】
2010530195.tif 000016
2010530195.tif 000017
2010530195.tif 000018