(57)【要約】  本発明は、他の通信要素Ｅ１を含む通信ネットワークＮＴＥＬとの少なくとも１つのインターフェースと、他の通信要素から発信される要求Ｒｅｑを処理するためのピアツーピアネットワークＮｐ２ｐとを含む通信要素Ｅ２に関し、前記ピアツーピアネットワークは、一組の処理装置の間に分散されて、円形に組織されるノードＮ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５からなる。通信要素は、ピアツーピアネットワークの中に新たなノードを挿入するための加入手段を含む管理デバイスに関連付けられている。さらに、通信要素は、前述の要求を処理するために使用されるコンテキスト情報がノードに格納されるように設計されており、要素は、加入手段が、同じ処理装置上で展開される一対の隣接するノードを決定し、その対の２つのノードの間に新たなノードを挿入するように設計されることを特徴とする。
2011524679.tif 000002
【特許請求の範囲】
【請求項１】
一組の処理デバイス（Ｍ１、Ｍ２、Ｍ３）の間に分散されて、かつ各ノードが固有の後続ノードを有するように円をなして配置される一組のノード（Ｎ１、Ｎ２、Ｎ３、Ｎ４）を含むピアツーピアネットワークのための管理デバイスであって、
前記ピアツーピアネットワーク内に新たなノードを挿入するための加入手段を含む管理デバイスにおいて、
前記加入手段がまた、同じ処理デバイス上に展開される一対の隣接するノードを決定し、前記対の２つのノードの間に前記新たなノードを挿入するように意図されることを特徴とする、管理デバイス。
【請求項２】
前記加入手段が、前記ノードとは異なるデバイスによって実装される加入コンポーネントである、請求項１に記載の管理デバイス。
【請求項３】
前記加入手段が、前記ノードのすべて、またはいくつかによって実装される加入コンポーネントである、請求項２に記載の管理デバイス。
【請求項４】
他の通信要素（Ｅ１）を含む通信ネットワーク（ＮＴＥＬ）との少なくとも１つのインターフェースと、
前記他の通信要素からの要求（Ｒｅｑ）を処理するためのピアツーピアネットワーク（Ｎｐ２ｐ）であって、一組の処理デバイスの間に分散されて、かつ各ノードが固有の後続ノードを有するように円をなして配置されたノード（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）からなり、前記ピアツーピアネットワーク内に新たなノードを挿入するための加入手段を含む管理デバイスに関連付けられているピアツーピアネットワークと
を含む通信要素（Ｅ２）であって、
前記リクエストを処理するのに使用されるコンテキスト情報が前記ノードに格納されるのを確実にするように意図される通信要素において、
前記加入手段がまた、同じ処理デバイス上に展開される一対の隣接するノードを決定し、前記対の２つのノードの間に前記新たなノードを挿入するように意図されることを特徴とする、通信要素（Ｅ２）。
【請求項５】
前記コンテキスト情報が後続ノードにおいて複製される、請求項４に記載の通信要素。
【請求項６】
前記加入手段が、前記ノードとは異なるデバイスによって実装される加入コンポーネントである、請求項４または５のいずれか一項に記載の通信要素。
【請求項７】
前記加入手段が、前記ノードのすべて、またはいくつかによって実装される加入コンポーネントである、請求項４または５のいずれか一項に記載の通信要素。
【請求項８】
通信ネットワークとの前記インターフェースが、ＳＩＰプロトコルに準拠したシグナリングメッセージを送信するのに好適である、請求項４から７のいずれか一項に記載の通信要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一組の処理デバイス上でのピアツーピアネットワークの展開に関する。より詳細には、本発明は、電気通信アプリケーションのためのこれらのピアツーピアネットワークの使用に関する。
【背景技術】
【０００２】
特定の電気通信アプリケーションを、とりわけ一組の処理ノード上に分散することが知られている。この方法では、各ノードは、アプリケーションに宛てられた要求の一部のみを処理し、それらの要求を処理するのに必要とされるリソースに基づいて、ノードの数を、必要であれば動的に、調整する（ｄｉｍｅｎｓｉｏｎ）ことが可能である。そのようなアーキテクチャはまた、アプリケーションが、ノード間の本来の冗長性を通して、容易にフォールトトレラントにされることが可能であることを意味する。
【０００３】
しかしながら、特定のアプリケーションについては、このノードの組内で、コンテキスト情報の位置の問題が依然存在する。シグナリング要素などの特定のアプリケーションは、２つのメッセージの間で、送信されるコンテキストの格納を要求することがある。このコンテキストは、次に続くメッセージを適切に処理するのに使用されてよい。これは、ＳＩＰ、またはＳＩＰセッションの状態に基づいて要求を処理しなければならない「プロキシＳＩＰ」シグナリング要素についての場合である（ＳＩＰは「セッション開始プロトコル」を表す）。
【０００４】
このタイプのアプリケーションについては、第１に、このコンテキスト情報を格納すること、第２に、適切な時点において前記情報の位置を特定できることがまた必要である。
【０００５】
１つの考え得るアプローチは、ノードのそれぞれがアクセスできる集中型データベースであって、それが管理するセッションのためのコンテキスト情報を格納し、取り出すことができる集中型データベースを有することを含む。
【０００６】
しかしながら、この集中型データベースがハードディスク、または同等のハードウエアサポート上に実装される場合には、情報アクセス時間が限定的となって、電気通信アプリケーションなどの非常に短い応答時間を必要とするアプリケーションには、このソリューションが不適切となる。
【０００７】
データベースをメモリに実装することにより、このアクセス時間の問題は解消するが、アクセスの負荷を分散させるために冗長性を組み入れ、フォールトトレランスの制約を満たす必要性が、システムを複雑にする。それは実際には、処理ノードの組から分離したベースのネットワークを構成することを含む。そのようなアプローチは知的なレベルで非常に満足がいくようには思われないという事実を別にしても、それはコンフィギュレーションの問題もまた引き起こし、管理するのに柔軟でも容易でもない。
【０００８】
分散ハッシュ表の使用によるピアツーピアネットワークが、アプリケーションの開発者のために、および前記アプリケーションと通信する必要があるアプリケーションの外部のデバイスに対して、自動式かつトランスペアレントなやり方において、これらの問題を解決するのに使用される。
【０００９】
図１は、図形式において、Ｎ個のノード、Ｘ１、Ｘ２、Ｘ３、Ｘ４・・・ＸＮを含むピアツーピアネットワークを示す。
【００１０】
格納されるべきコンテキスト情報は、このノードの組の上に分散されるキーに関連付けられる。一般に、この分散はハッシング関数によって実行され、ハッシング関数は、これらのノードの間で十分な負荷分散を得ながら、ノードのスペースに対するキーのスペースを予測するのに使用される。
【００１１】
コンテキスト情報は、キーから見出すことができる。同じハッシング関数のアプリケーションが、このキーに関連付けられたノードを決定し、次いでこのノードに格納されてキーに関連付けられた情報を取り出すのに使用される。
【００１２】
システムをフォールトトレラントにするために、一般に、キーとコンテキスト情報との間の各関連は、第２のノードに複製されるように意図される。この方法では、第１のノードがもはや機能しない場合に、この第２のノードからコンテキスト情報が取り出されることができる。
【００１３】
どのノードがコンテキスト情報のコピーを格納しなければならないかを決定するのに通常使用される簡単なアルゴリズムは、後続要素、すなわち、ピアツーピアネットワークの次の順序のノードを選択することを含む。そのような選択の利点は、ノードが故障した場合に、コンテキスト情報のコピーが即座に位置特定されることである。これは、それにより、要求に誤って応答するリスクを冒すことなく、故障に続く不確実な期間、この期間を正しく管理するのに余分な手順を必要とすることを回避する。
【００１４】
したがって、要求されたキーに適用されるハッシュ関数がノードＸ２を指定し、このノードが動作不良の後で、もはやアクセス可能ではない、またはもはや情報を含んでいない場合、システムは、要求されたコンテキスト情報のコピーがノードＸ３に配置されることを自動的に決定する。
【００１５】
ピアツーピアネットワークのこれらの実装は、論文、「Ｃｈｏｒｄ：Ａ  Ｓｃａｌａｂｌｅ  Ｐｅｅｒ−ｔｏ−ｐｅｅｒ  Ｌｏｏｋｕｐ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎｓ」Ｉａｎ  Ｓｔｏｉｃａ、  Ｒｏｂｅｒｔ  Ｍｏｒｒｉｓ、Ｄａｖｉｄ  Ｋａｒｇｅｒ、  Ｍ．  Ｆｒａｎｓ  Ｋａａｓｈｏｅｋ、およびＨａｒｉ  Ｂａｌａｋｒｉｓｈｎａｎ、ＡＣＭ  ＳＩＧＣＯＭＭ  ２００１、  Ｓａｎ  Ｄｉｅｇｏ、  ＣＡ、２００１年８月、１４９−１６０頁にさらに詳しく説明されている。
【００１６】
しかしながら、実際には、フォールトトレランスの技術的な問題が存続する。ピアツーピアネットワークは、実際には、処理デバイスネットワーク上に展開される。これらのデバイスはますます高性能であることから、同じデバイス上にいくつかのノードを展開することが有利である。図１の例では、ノードＸ２およびＸ３はデバイスＭ２上に配置され、ノードＸ１およびＸＮはデバイスＭ１上に配置され、ノードＸ４はデバイスＭ３上に配置される。
【００１７】
結果として、処理デバイスが動作不良を起こした場合に、存在するノードに影響が及ぼされ、もはや機能しなくなることがある。したがって、処理デバイスＭ２が壊れた場合、２つのノードＸ２およびＸ３はもはや機能しない。
【００１８】
さらに、後続ノード上で情報のコピーの位置を特定することを含む従来のアルゴリズムに従って、ノードＸ２に格納された情報は、ノードＸ３上に複製される。結果として、現況技術のフォールトトレランスメカニズムにもかかわらず、ノードに関連付けられたコンテキスト情報はもはや利用可能ではない。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】「Ｃｈｏｒｄ：Ａ  Ｓｃａｌａｂｌｅ  Ｐｅｅｒ−ｔｏ−ｐｅｅｒ  Ｌｏｏｋｕｐ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎｓ」Ｉａｎ  Ｓｔｏｉｃａ、  Ｒｏｂｅｒｔ  Ｍｏｒｒｉｓ、Ｄａｖｉｄ  Ｋａｒｇｅｒ、  Ｍ．  Ｆｒａｎｓ  Ｋａａｓｈｏｅｋ、およびＨａｒｉ  Ｂａｌａｋｒｉｓｈｎａｎ、ＡＣＭ  ＳＩＧＣＯＭＭ  ２００１、  Ｓａｎ  Ｄｉｅｇｏ、  ＣＡ、２００１年８月、１４９−１６０頁
【発明の概要】
【発明が解決しようとする課題】
【００２０】
現況技術は、十分なフォールトトレランスを提供するのに好適ではない。本発明のねらいは、ピアツーピアネットワークの管理を改善することによって、この不十分さを克服することである。
【課題を解決するための手段】
【００２１】
これを行うために、本発明の第１の目的は、一組の処理デバイスの間に分散されて、かつ各ノードが固有の後続ノードを有するように円をなして配置される一組のノードを含むピアツーピアネットワーク管理デバイスを提供することである。管理デバイスは、ピアツーピアネットワーク内に新たなノードを挿入するための加入手段（すなわち加入コンポーネント）を含む。管理デバイスは、加入手段がまた、同じ処理デバイス上に展開される一対の隣接するノードを決定し、そのように決定された対の２つのノードの間にこの新たなノードを挿入するように意図されることを特徴とする。
【００２２】
加入手段は、たとえば、前記ノードとは異なるデバイスによって実装される加入コンポーネント、またはピアツーピアネットワークのすべての、もしくはいくつかのノードによって実装される加入コンポーネントであってよい。
【００２３】
本発明はまた、通信要素を提供することを目的とし、通信要素は、他の通信要素を含む通信ネットワークとの少なくとも１つのインターフェースと、これらの他の通信要素からの要求を処理するためのピアツーピアネットワークとを含む。ピアツーピアネットワークは、一組の処理デバイスの間に分散されて、かつ各ノードが固有の後続ノードを有するように円をなして配置されるノードからなる。このピアツーピアネットワークはまた、ピアツーピアネットワーク内に新たなノードを挿入するための加入手段を含む管理デバイスに関連付けられている。
【００２４】
本発明による通信要素は、要求を処理するのに使用されるコンテキスト情報がノードに格納されるように意図されており、加入手段が、同じ処理デバイス上に展開される一対の隣接するノードを決定し、当該対の２つのノードの間に新たなノードを挿入するように意図されることを特徴とする。
【００２５】
コンテキスト情報は、後続ノードの中に複製されることができる。
【００２６】
加入手段は、たとえば、前記ノードとは異なるデバイスによって実装される加入コンポーネント、またはネットワークのすべての、もしくはいくつかのノードによって実装される加入コンポーネントであってよい。
【００２７】
通信ネットワークとのインターフェースは、ＳＩＰプロトコルに準拠したシグナリングメッセージを送信するのに好適であることができる。
【００２８】
本発明は、添付の図面を参照して、以下の説明の中でより明らかになるであろう。
【図面の簡単な説明】
【００２９】
【図１】先に解説した、現況技術に準拠したピアツーピアネットワークを図形式において示す図である。
【図２】本発明に従った、一組の処理デバイス上に展開されるピアツーピアネットワークを図形式において示す図である。
【図３ａ】ピアツーピアネットワークに格納された情報の分散を示す図である。
【図３ｂ】ピアツーピアネットワークに格納された情報の分散を示す図である。
【図４】本発明に従った、通信要素を示す図である。
【発明を実施するための形態】
【００３０】
最初に、ピアツーピアネットワークおよび管理デバイスが説明され、次いで通信要素内でのそれらのアプリケーションが説明される。
【００３１】
図２は、３つの処理デバイスＭ１、Ｍ２、Ｍ３からなるネットワーク上に展開されるピアツーピアネットワークを示す。ピアツーピアネットワークは、各ノードが固有の後続ノード（および固有の先行ノード）を有するように、円をなして配置される一組のノードＮ１、Ｎ２、Ｎ３、およびＮ４からなる。
【００３２】
具体的には、このピアツーピアネットワークに、加入手段を含む管理デバイスが結び付けられる。これらの加入手段は、ピアツーピアネットワーク内に新たなノードを挿入することに関与する。ノードがいつでも追加される、または取り除かれることができ、ネットワークが自己編成するように設計されなければならないという意味において、アップグレード性は、ピアツーピアネットワークの欠かせない特性である。
【００３３】
一定の時間において、ネットワークがノードＮ１、Ｎ２、Ｎ３から成り立っていると仮定すると、新たなノードＮ４の加入は、既に構成されているネットワーク内での、入ってくるノードの位置の決定、ならびにノードの組における新たなキーの分散の決定を含む。この分散は、具体的には、処理およびストレージリソースに関して、新たなノードの貢献から引き出すことによって、負荷を分散するのに使用される。
【００３４】
図３ａおよび３ｂは、新たなキーの分散の決定をより明らかに図示する。
【００３５】
各横線は、キーのスペースを表す。ネットワークにあるノードは、これらの線上に配置される。これらのノードのそれぞれは、それが格納するキーに対応するキーのサブセットに関連付けられている。
【００３６】
図３ａは、ネットワークがノードＮ１、Ｎ２、およびＮ３から構成されている第１の状況に対応する。ノードのそれぞれは、キーの全組のうちの３分の１に相当するサブセットを格納する。このサブセットは、図３ａ上では、１つ前のノードまで、または線の始まりまでの、ノードの左側に位置する横線の部分に相当する。
【００３７】
ノードＮ４がピアツーピアネットワークに追加されることになるとき、加入手段は、ノード４がネットワーク内で取らなければならない位置、およびキーの分散を決定する。
【００３８】
処理デバイスＭ１、Ｍ２、Ｍ３、Ｍ４上のノード展開の位置は、加入手段によってトリガされてよいが、この位置の決定は、従来、管理システムの他のモジュールの責任である。たとえば、この位置は、加入手段がその位置を制御する手段を持たずに、基礎的なオペレーティングシステムによって決定されるように意図されることがある。
【００３９】
加入手段は、ピアツーピアネットワークのノードとは異なるデバイスによって実装されることができる加入コンポーネントである。加入手段はまた、これらのノードのすべて、またはいくつかによって実装されてもよい。したがって、新たに入ってくるノードは、既にネットワークのメンバーである任意のノードに、または特定の加入の役割を果たすこれらのノードのうちのいくつかにアドレス指定されることができる。
【００４０】
本発明によれば、加入コンポーネントは、同じ処理デバイス上に展開される一対の隣接するノードを決定するように意図される。２つのノードは、ピアツーピアネットワーク内で、一方がもう一方の後続要素である場合に、隣接する。たとえば、ノードから形成されるネットワークの場合に、一定の時間において、そのネットワークがノードＮ１、Ｎ２、Ｎ３からなると仮定すると、ノードＮ１およびＮ２が隣接し、ノードＮ２およびＮ３が隣接し、ノードＮ１およびＮ３が隣接する。ノードＮ２およびＮ３は、同じ処理デバイスＭ２上で展開される隣接するノードの唯一の対を形成する。
【００４１】
加入コンポーネントは次いで、この対Ｎ２、Ｎ３の２つのノードの間に新たなノードＮ４を挿入するように意図される。
【００４２】
新たなピアツーピアネットワークは、Ｎ１、Ｎ２、Ｎ４、およびＮ３の順に並べられたノードを含む円を形成する。したがって、隣接するノードＮ２、Ｎ３の対は解かれ、もはや同じ処理デバイス上に展開される隣接するノードの対はない。より一般的には、新たなノードの加入は、これらの対の数を減らすために１つのユニットによって使用される。
【００４３】
このタイプの対がない場合、加入コンポジションは現況技術に従って動作し、たとえば、ネットワークによって形成される円の最後のノードと最初のノードとの間に、新たなノードを挿入することができる。
【００４４】
図３ｂは、ノードＮ２とＮ３との間に追加されたノードＮ４を示す。ピアツーピアネットワークは、ノードＮ３にあらかじめ関連付けられたキーのサブセットが２つの部分に分割され、最も左側の部分が新たなノードＮ４に関連付けられ、最も右側の残りの部分がノードＮ３に関連付けられるように、自らを構成する。これらの２つの部分は、おおよそ同一のサイズである。
【００４５】
ノードＮ４に新たに関連付けられたキーの部分は、ノードＮ３から、この新たなノードへと移動される。これらのキーと共に、そこに関連付けられた情報も移動される。この情報は、以下で説明されるような通信要素によるアプリケーションの場合、コンテキスト情報であってよい。
【００４６】
ピアツーピアネットワークのフォールトトレランスを確実にするために、（コンテキスト）情報は、後続ノードに複製される。後続ノードは、ネットワークＮ１、Ｎ２、Ｎ４、Ｎ３の円形順序における次のノードである。
【００４７】
新たなノードがピアツーピアネットワークに挿入される方法のために、各ノードの後続要素は、このノードと同じ処理デバイス上には配置されない。
【００４８】
したがって、ここでノードＮ２の後続要素は、処理デバイスＭ３上に展開されているノードＮ４である。
【００４９】
処理デバイスＭ２が動作不良を起こした場合、デバイスＭ３上に配置されているノードＮ４は、ノードＮ２からの情報のコピーを提供することができ、デバイスＭ１上に配置されているノードＮ１は、ノードＮ３からの情報のコピーを提供することができる。
【００５０】
したがって、ノードＮ４の加入以前のネットワークの状況において、ノードＮ２およびＮ３によってもたらされた問題が解決される。
【００５１】
図４は、通信要素による、本発明に従ったピアツーピアネットワークのアプリケーションを示す。これは、ＩＭＳ（「ＩＰマルチメディアサブシステム」）アーキテクチャなどの通信アーキテクチャにおけるアプリケーションサーバであってよい。アプリケーションはまた、ＩＥＴＦのＲＦＣ３２６１によって指定されたＳＩＰプロトコル（「セッション招待プロトコル」）に準拠したプロキシなどのシグナリング要素、またはＩＭＳアーキテクチャ内のＣＳＣＦ機能（「呼セッション制御機能」）であってもよい。
【００５２】
この通信要素Ｅ２は、通信ネットワークＮＴＥＬを通じて別の要素Ｅ１から入ってくる要求Ｒｅｑを受信する手段を有する。要求Ｒｅｑは、どのノードＮ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５が要求を処理しなければならないかを、通信セッションの最初の要求ごとに決定するように意図された負荷分散モジュールＬＢによって処理される。これらのノードは、先に説明したように、ピアツーピアネットワークＮｐ２ｐを形成する。
【００５３】
要求の処理は、同じセッションに属する別の要求を処理するのに役立つ、または必要であることがある、コンテキスト情報の生成をもたらすことができる。したがってコンテキスト情報は、キーに関連付けられ、このキーに対応するノードに格納される。
【００５４】
関連付けは、セッション識別子（たとえば、発行通信要素Ｅ１のＩＰアドレス、ＳＩＰ要求の「コールＩＤ」ヘッダ、など）に適用されるハッシュ関数によってなされる。このハッシング関数の結果は、ネットワークにおけるノードの数を法として、そのノードの番号を直接与えることができる。これらのそれぞれのメカニズムは、現況技術で知られており、本特許請願において詳細には説明しない。これらの詳細のいくつかを得るために、先に言及された「Ｃｈｏｒｄ」メカニズムに関する論文が参照されてよい。
【００５５】
図４の例では、コンテキスト情報Ｃは、ノードＮ２に格納される。コンテキスト情報Ｃは、ノードＮ２の後続要素であるノードＮ３に複製される。先に見てきたように、ピアツーピアネットワークＮｐ２ｐの管理デバイスの加入モジュールが、隣接するノードＮ２およびＮ３が同じ処理デバイス上に展開されないことを確実にしている。
【００５６】
この方法では、同じセッションに属する次の要求は、ノードＮ２上にあるテキスト情報を取り戻すことによって、またこのノードが故障の場合は、後続要素のノードＮ３上にあるテキスト情報を取り戻すことによって、処理されることができる。
【００５７】
２つのノードＮ２およびＮ３は、同じ処理デバイス上にないので、これらが同時に故障する可能性は非常に低い。
【００５８】
したがって、本発明は、ピアツーピアネットワーク管理の知られているメカニズムを基本的に変化させることなく、技術的な問題を解決する。
【図１】
2011524679.tif 000003
【図２】
2011524679.tif 000004
【図３ａ】
2011524679.tif 000005
【図３ｂ】
2011524679.tif 000006
【図４】
2011524679.tif 000007
【国際調査報告】
2011524679.tif 000008
2011524679.tif 000009
2011524679.tif 000010
2011524679.tif 000011
2011524679.tif 000012
2011524679.tif 000013