仮想プライベート・ネットワーク上のピア・ツー・ピア・ネットワーク
【課題】本発明は新しいネットワーク・トポロジを提供する。さらに詳しくは、仮想プライベート・ネットワーク上にピア・ツー・ピア・ネットワークを定義する。
【解決手段】該ピア・ツー・ピア・ネットワークは、ピア・ツー・ピア・ネットワーク自体によって施行される予め定められたルールに従って通信することを許可された、仮想プライベート・ネットワーク内の1組の指定されたユーザを含む。これは、仮想プライベート・ネットワークとは関係なく、ピア・ツー・ピア・ネットワークの指定されたユーザ間の安全確実な通信をもたらす。
【解決手段】該ピア・ツー・ピア・ネットワークは、ピア・ツー・ピア・ネットワーク自体によって施行される予め定められたルールに従って通信することを許可された、仮想プライベート・ネットワーク内の1組の指定されたユーザを含む。これは、仮想プライベート・ネットワークとは関係なく、ピア・ツー・ピア・ネットワークの指定されたユーザ間の安全確実な通信をもたらす。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に通信システムおよびネットワークに関する。さらに詳しくは、本発明はピア・ツー・ピア・ネットワークおよび仮想プライベート・ネットワークに関する。
【背景技術】
【0002】
今日の世界経済において、多州および多国籍企業は普通である。そのような事業が効率的に働くには、安全確実な社内通信チャネルが極めて重要である。最近まで、統合サービスデジタル通信網(ISDN)からOC3(オプチカル・キャリア3)ファイバまでの範囲に及ぶ専用線が使用されてきた。インターネットは、仮想プライベート・ネットワーク(VPN)として知られる新しい、より安価な社内通信モダリティのためのフレームワークをもたらした。
【0003】
VPNは基本的に、公衆ネットワーク(例えばインターネット)を使用してリモート・サイトまたはユーザを一緒に接続するプライベート・ネットワークである。専用の接続を使用する専用線とは異なり、VPNは、企業のプライベート・ネットワークまたは中央サイトから従業員のリモート・サイトまでインターネットをルーティングまたはトンネリングする「仮想」接続を使用する。「トンネル」は、2つの接続間のブラインド・リレーとして働く仲介プログラムである。トンネルは、インターネット・セキュリティ・プロトコル(IPsec)、ポイント・ツー・ポイント・トンネリング・プロトコルすなわちPPTP、およびレイヤ2トンネリング・プロトコル(L2TP)をはじめ、任意の数のプロトコルによって定義されるように形成することができる。
【0004】
在宅勤務者まで拡張された暗号化VPNには、主に2つのタイプがある。すなわち、IPsec VPNおよびセキュア・ソケット層/トランスポート層セキュリティ(SSL/TLS)VPNである。IPsec VPNは、コーポレート・サーバと専用ハードウェアまたはソフトウェア・クライアントとの間を接続する。そのようなVPNはTCPまたはUDPトラフィックをサポートしており、GRE(ジェネリック・ルーティング・カプセル化)を介して他のトラフィック型をサポートするように拡張することができる。SSL VPNは、クライアントが汎用ウェブ・ブラウザを使用して企業のVPNサーバに接続することを可能にする。それらはTCPトラフィックだけをサポートするので、IPsec VPNより機能性が限定される。
【0005】
典型的なVPNセッションを行なうためのプロセスを、図1に関連して説明する。中央サイト100はファイヤウォール104、メイン・オフィスLAN 108、およびVPNサーバ112(IPsecまたはSSL VPNサーバのような)を含む。リモート・サイト116はファイヤウォール120、VPNクライアント124、およびリモート・オフィスLAN 128を含む。2つのLAN 108および128は、信頼できないネットワーク132(インターネットのような)によって相互接続される。
【0006】
VPNサーバ112はメイン・オフィスLAN 108に別個に接続されるように図示されているが、VPNサーバ112はメイン・オフィスLAN 108とファイヤウォール104との間に存在することもある。代替的に、VPNサーバ112はファイヤウォール104に組み込まれてもよい。
【0007】
トンネリングは、リモート通信装置と中央サイトとの間で安全確実な通信を行なうために、VPNクライアント124およびサーバ112によって使用される。トンネリングは、パケット全体を別のパケット内に入れ、カプセル化されたパケットを信頼できないネットワーク132で送信する。トンネリングには3つの異なるプロトコルが要求される。すなわち、信頼できないネットワークによって規定されるプロトコル(例えばIP)、カプセル化プロトコル(ジェネリック・ルーティング・カプセル化つまりGRE、IPセキュリティ・プロトコルつまりIPsec、レイヤ2転送つまりL2Fプロトコル、ポイント・ツー・ポイント・トンネリング・プロトコルつまりIPsec、レイヤ2トンネリング・プロトコルつまりL2TP、セキュア・ソケット層(SSL)、トランスポート層セキュリティTLS、レイヤ3など)、および搬送されるオリジナル・データによって規定されるパッセンジャ・プロトコル(IPX、NetBeui、IP、およびボイス・オーバIPつまりVoIPプロトコル)である。例えばIPsecでは、IPパケットは暗号化され、別のIPヘッダ内にカプセル化される。
【0008】
VPNの形成は、セキュア・メイン・オフィスLAN 108とリモート・オフィスLAN 116との間に安全確実な通信チャネルを確立するのに役立つ。現在のVPNの1つの弱点は、それらが安全確実な通信を容易化するために、VPNサーバ112に頼っていることである。したがって、帯域幅のような通信処理能力が、VPNサーバ112の能力によって決定され、かつ限定される。他方、ピア・ツー・ピア(P2P)ネットワークは主として、比較的少数のサーバにそれを集中させるというよりむしろ、ネットワークの参加者のコンピュータ能力および帯域幅に頼っている。P2Pネットワークは、ユーザがファイルならびに他の実時間および非実時間データまたは通信を共有することを希望する場合に有用である。
【0009】
現在のインターネットをベースとするP2Pネットワークの例として、Skype、Nimcat、ヤフー・インスタント・メッセンジャーなどが挙げられる。そのようなP2Pネットワークは比較的単純な直接接続ネットワークであり、発呼者および/または被呼者がネットワーク・アドレス変換(NAT)装置の背後に隠れて動作するときに、またはインターネット・ベースの非NAT仲介に依存するときに接続性について解決するために、STUN、ICE、TURNなどのような調停サーバを必要とする場合があることを無視している。そのようなP2Pネットワークは、オーバレイ・トポロジに頼らずに動作する。むしろ、ほとんどのP2Pネットワークは、通信ネットワークで相互に通信する任意の2つのエンティティのようである。さらに、P2P参加者のグループ化は現在、クライアント・ルールによって駆動されない。むしろ、P2P参加者のグループ化は従来、プレゼンスおよび他のポリシに対し中央サーバによって促進される通り、ルールに基づくグループ化またはコミュニティに基づいている。これは、P2Pネットワークのコントロールをクライアントから奪い取る。換言すると、現在のP2Pネットワークは今のところ、ネットワークの残部から完全には自律的でないが、そのようなネットワークは処理タスクを分散することができる。
【0010】
VPNをP2Pネットワークと結合することが示唆されてきた。例えば、「ELA:A Fully Distributed VPN System over Peer−to−Peer Network」と称するAoyagiらのIEEE論文には、P2Pネットワーク上の完全分散VPNシステムが提案されており、その内容全体をこの言及によって本書に援用する。P2Pネットワーク上の完全分散VPNシステムはその中で、どこでもローカル・エリア(ELA)ネットワークと呼ばれている。ELAネットワークは、サーバ無しでグループのノード間にVPN用のプライベート・オーバレイ・ネットワークを確立することを可能にする。これは、VPNサーバのユーザ無しにVPNシステムを構築することを可能にし、それによって、VPNサーバに内在する処理上の障害および単一点障害が緩和される。この特定の論文は、従来のVPNに内在する処理上の問題を分散するのに役立つが、該論文は、従来独立型または自律的ではないP2Pネットワークに関連する問題に対処していない。
【非特許文献1】Aoyagiら「ELA:A Fully Distributed VPN System over Peer−to−Peer Network」
【発明の開示】
【発明が解決しようとする課題】
【0011】
これらおよび他の必要性は、本発明の様々な実施形態および構成によって対処される。本発明は一般的に、VPN上のP2Pネットワークのオーバレイを容易にするシステム、装置、および方法に向けられる。
【課題を解決するための手段】
【0012】
本発明の一実施形態では、
第1組の通信装置用のオーバレイ・ネットワークを提供すること、および
オーバレイ・ネットワーク上に第2組の通信装置用のピア・ツー・ピア・ネットワークを定義すること、
を一般的に含む方法を提供する。
【0013】
オーバレイ・ネットワークは、既存の公衆または専用通信ネットワークの上に確立することができる。一実施形態では、オーバレイ・ネットワークは、インターネットのような公衆通信ネットワークの上に確立されたVPNオーバレイ・ネットワークを含む。
【0014】
オーバレイ・ネットワーク上のP2Pネットワークの確立は、P2Pネットワークのメンバが相互に、クライアント・ルール駆動構成の下で完全に自律的なP2P通信を享受することを可能にする。従来のP2Pネットワークはアプリケーション層のみで通信ポリシを調整してきたが、本発明の一実施形態では、開放型システム間相互接続(OSI)モデルまたは伝送制御プロトコル/インターネット・プロトコル(TCP/IP)モデルのアプリケーション層、トランスポート層、およびネットワーク層で通信を制御および調整する通信ポリシを、P2Pネットワークに対して定義することができる。P2Pネットワークの自律性は、P2Pネットワーク内に安全確実な通信を確立することのできるカスタマイズされたP2Pネットワークを形成するのに有用である。さらに、P2Pネットワークはオーバレイ・ネットワーク上に確立されるので、P2Pネットワークは必然的に、オーバレイ・ネットワークに関連する境界線およびセキュリティ・ポリシを受け継ぐ。一実施形態では、かなりの程度のインフラストラクチャ依存性(例えば最小限、オーバレイ・ネットワークのDNSおよびDHCPに対する依存性)が存在するが、アプリケーション層では、P2Pネットワークの純粋な自律性が利用可能である。
【0015】
本発明の別の態様は、オーバレイ・ネットワーク上のP2Pネットワークの形成を容易にする装置を提供することである。本発明の一実施形態では、該装置は、オーバレイ・ネットワーク上のP2Pネットワークを定義するように適応された管理コンソールを備え、ここでP2Pネットワークはオーバレイ・ネットワークに属する第1組のユーザ内に第2組のユーザを含む。
【0016】
オーバレイ・ネットワーク上にP2Pネットワークを形成することにより、これまで実現されなかったP2Pネットワークの自律性が達成可能である。したがって、セキュリティ、選択的制御、および認証(例えばオーバレイ・ネットワークの可変長および可変制御リーシュ)をP2Pネットワークに使用することが可能である。つまり、P2Pは、そのポリシを、それが頼っているインフラストラクチャとは別個に定義することができる程度に、自律的である。
【0017】
本書で使用する場合、「ユーザ」は、通信装置を利用かつ/または通信装置と対話することのできる任意の人間または物を指すのに使用される。
【0018】
これらおよび他の利点は、本書に含まれる本発明の開示から明らかになるであろう。上記の実施形態および構成は完全でも包括的でもない。理解される通り、上述した特徴、または以下で詳述する特徴の1つまたは複数を単独で、または組み合わせて利用する、本発明の他の実施形態が可能である。
【0019】
本書で使用する場合、「少なくとも1つ」、「1つまたは複数」および「および/または」は、接続的でも離接的でもある、範囲が制限されていない表現である。例えば、「A、B、およびCの少なくとも1つ」、「A、B、またはCの少なくとも1つ」、「A、B、およびCの1つまたは複数」、「A、B、またはCの1つまたは複数」、および「A、B、および/またはC」は各々、Aのみ、Bのみ、Cのみ、AおよびBの両方、AおよびC共に、BおよびC共に、またはA、B、およびC共に、を意味する。
【発明を実施するための最良の形態】
【0020】
本発明を以下で、例示的通信システムに関連して説明する。本発明は、例えばサーバおよび/またはデータベースを使用するシステムに使用するのによく適しているが、いずれかの特定の型の通信システムまたはシステム要素の構成との使用に限定されない。開示する技術は、P2Pネットワークを形成することが望ましいどんな通信用途にも使用することができることを、当業者は理解されるであろう。
【0021】
本発明の例示的システムおよび方法について、IP通信ソフトウェア、モジュール、および関連通信ハードウェアに関連しても説明する。しかし、本発明を不必要に曖昧にすることを回避するために、以下の説明は、ブロック図の形で示すことができ、周知であり、またはその他の方法で要約される周知の構造、ネットワーク構成要素、および装置については省略する。
【0022】
説明を目的として、本発明の完全な理解をもたらすために、多数の詳細を記載する。しかし、本発明は、本書に記載する特定の詳細を越える多種多様なやり方で実施することができることを理解されたい。
【0023】
さらに、本書に示す例示的実施形態は一所に配置されたシステムの様々な構成要素を示すが、システムの様々な構成要素は、通信ネットワークおよび/またはインターネットのような分散ネットワークの離れた部分に、もしくは専用の安全確実なシステム、安全確実でないシステム、ならびに/もしくは暗号化システム内に配置することができることを理解されたい。したがって、システムの構成要素は、企業サーバ、PBXのような1つまたは複数の装置に組み込むことができ、もしくはアナログおよび/またはデジタル通信ネットワークのような分散ネットワークの特定のノードに一所に配置することができることを理解されたい。以下の説明から、かつ計算効率から理解される通り、システムの構成要素は、システムの動作に影響することなく、分散ネットワーク内の任意の位置に配設することができる。例えば、様々な構成要素を放送ヘッド・エンド・サーバ、1つまたは複数のユーザの構内、またはそれらの何らかの組合せに配置することができる。同様に、システムの1つまたは複数の機能部をサーバ、ゲートウェイ、PBX、および/または関連通信装置の間で分散することができる。
【0024】
最初に図2を参照しながら、本発明の少なくとも一部の実施形態に係る通信システム200について説明する。通信システム200は一般的に、インターネットのような公衆つまり信頼できない通信ネットワーク204、オーバレイ・ネットワーク208、および回線交換ネットワーク212を含む。オーバレイ・ネットワーク208は、公衆通信ネットワーク204上で動作するプライベート・ネットワークを含んでもよい。本発明の一実施形態では、オーバレイ・ネットワーク208はVPNネットワークを含む。言うまでもなく、オーバレイ・ネットワーク208は、Mbone、Abone、または6boneオーバレイ・ネットワークのような、公衆通信ネットワーク上で動作する他の型の通信ネットワークを含んでもよい。オーバレイ・ネットワーク208はまた、当業界で公知の他の型の企業ネットワークをも含んでもよい。
【0025】
オーバレイ・ネットワーク208はトンネルを用いて、公衆通信ネットワーク204上に仮想ネットワークを形成する。VPNオーバレイ・ネットワーク208のユーザには、企業サーバへのアクセス、企業イントラネットへのアクセスなどのようなプライベート・ネットワークの利点がもたらされる一方、VPNオーバレイ・ネットワーク208を維持する企業は、公衆通信ネットワーク204の上にオーバレイ・ネットワークを管理することによってもたらされる低運用コストから利益を得る。VPNオーバレイ・ネットワーク208の異なるノードを、共通サーバに接続することができ(すなわち、ハブ・アンド・スポーク構成)、または分散的に異なるサーバに接続することができる(すなわちメッシュ構成)。適切なVPNオーバレイ・ネットワーク208の例として、IPsec VPN、SSL/TLS VPN、オープンVPN、ポイント・ツー・ポイント・トンネリング・プロトコル(PPTP)VPN、レイヤ2トンネリング・プロトコル(L2TP)VPN、P2TPバージョン3VPN、マルチプロトコル・ラベル・スイッチング(MPLS)VPN、レイヤ2転送(L2F)VPN、レイヤ3VPN、またはいずれかの他の型の公知のIPベースのVPNがあるが、それらに限定されない。
【0026】
本発明の少なくとも1つの実施形態では、オーバレイ・ネットワーク208は、その中に定義された少なくとも1つのP2Pネットワーク232を含む。さらに詳しくは、P2Pネットワーク232はオーバレイ・ネットワーク208の上に確立される。これは、アプリケーション層だけではなく、トランスポート層およびネットワーク層でも完全に自律的なP2Pネットワーク232の実現を可能にする。これは、島状のIP通信装置がP2Pと通信することを可能にする一方で、P2Pネットワーク232が各層のユーザ定義パラメータ(すなわちネットワーク、トランスポート、およびアプリケーション・レベルのユーザ・アクセス制御または企業リーシュ)を持つことを可能にする。P2Pネットワーク232はまた、オーバレイ・ネットワーク208のセキュリティ機能を受け継ぐ。オーバレイ・ネットワーク208内にP2Pネットワーク232を形成することで、異なるセキュリティ・ポリシを持つことを希望し、あるいはP2Pネットワーク232のメンバ間の高品質通信を確実にすることを希望する、ユーザおよび/または通信装置(すなわちエンティティ)の自律したコミュニティの形成が可能になる。
【0027】
例として、P2Pネットワーク232は、VPNで特定用途向けトランスポート・セレクタを適用することによって、IPsec VPNオーバレイ・ネットワーク208の上に定義することができる。特定用途向けトランスポート・セレクタは、P2Pネットワーク232の全メンバに適用されるP2Pネットワーク232用の通信ポリシを確立することができる。一実施形態では、P2Pネットワーク232用のポリシは、VPNオーバレイ・ネットワーク208に属するが、P2Pネットワーク232には属さない、他の通信装置の通信ポリシとは異なる。
【0028】
オーバレイ・ネットワーク208は、ファイヤウォール216または同様の型のセキュリティ装置を介して、公衆通信ネットワーク204に接続することができる。ファイヤウォール216は、オーバレイ・ネットワーク208内のセキュリティを維持しながら、公衆通信ネットワーク204の上にオーバレイ・ネットワーク208を確立することを助ける。ファイヤウォール216は、多数の異なる通信装置を接続するための多数の異なるNAT型をサポートし、ネットワーク外の通信装置からのオーバレイ・ネットワーク208の侵入を検知し、ウィルスの脅威が無いか検査し、オーバレイ・ネットワーク208の容易化に関連する他の機能を実行するように適応させることができる。
【0029】
公衆通信ネットワーク204およびオーバレイ・ネットワーク208は、OSIモデルまたはTCP/IPモデルのネットワーク層で動作する、インターネット・プロトコル(IP)通信のような、パケットをベースとする通信および通信プロトコルをサポートする能力によって特徴付けられる。公衆通信ネットワーク204およびオーバレイ・ネットワーク208は、ゲートウェイ220を介して、回線交換ネットワーク212のような、パケットをベースとしないネットワークと通信するように適応されてもよい。回線交換ネットワーク212は、1つのエンド・ポイントから別のエンド・ポイントへのアナログおよび/またはデジタル通信信号の送信をサポートすることができる。アナログおよび/またはデジタル信号からパケットをベースとする信号へのメッセージの変換は、ゲートウェイ220によって達成される。ゲートウェイ220はまた、パケットをベースとする信号からアナログおよび/またはデジタル信号への変換をもサポートすることができる。したがって、パケットをベースとする通信装置224は、ゲートウェイ220を介して、それぞれの通信ネットワークを通してアナログ通信装置228と通信することができてもよい。さらに、オーバレイ・ネットワーク208および/またはオーバレイ・ネットワーク208内のP2Pネットワークに属するパケットをベースとする通信装置はまた、アナログ通信装置228と通信することを可能としてもよい。
【0030】
図3Aは、本発明の少なくとも一部の実施形態に係る例示的VPNオーバレイ・ネットワーク208を示す。VPNオーバレイ・ネットワーク228は、3つの異なるP2Pネットワーク232a〜cを含むように示されている。VPNオーバレイ・ネットワーク208に3つのP2Pネットワーク232が示されているが、より多数またはより少数のP2Pネットワーク232を、VPNオーバレイ・ネットワーク208またはいずれかの他の型のオーバレイ・ネットワーク208上に確立することができることを、当業者は理解されるであろう。本発明の一実施形態では、VPNオーバレイ・ネットワーク208はVPNサーバ304または同様の型のヘッド・エンドを含む。VPNサーバ304は、様々なP2Pネットワーク232と、P2Pネットワークに割り当てられていない他の通信装置320との間に接続を提供することができる。一実施形態では、VPNオーバレイ・ネットワーク208は、ハブ・アンド・スポーク構成、つまりVPNサーバ304がSIPアプリケーションに感応する透過的トランスポートおよびルータとして働くトポロジに構成することができる。ハブ・アンド・スポーク・トポロジでは、VPNオーバレイ・ネットワーク208に属する通信装置間の通信、および/またはP2Pネットワーク232間の通信は、VPNサーバ304を通してルーティングされる。各P2Pネットワーク232は、P2Pネットワーク232に対して設定されたポリシに応じて、VPNサーバ304に対して異なる従属性を有することができる。
【0031】
代替的実施形態では、VPNオーバレイ・ネットワーク208は、メッシュ・トポロジに構成されることができ、その場合、VPNオーバレイ・ネットワーク208の各通信装置は、VPNサーバ304を使用することなく、他の通信装置と直接通信する。したがって、VPNオーバレイ・ネットワーク208がメッシュ構成である場合、異なるP2Pネットワーク232が相互に直接通信することができる。ハブ・アンド・スポークおよびメッシュ型構成では、VPNオーバレイ・ネットワーク208を管理する企業は、VPNサーバ304でIPフローのきめ細かいトラフィック・アクセス制御を選択することができる。換言すると、IPトラフィックのルーティングは、伝送されるメッセージに応じて、VPNサーバ304を通過してもよく、必ずしも通過しなくてもよい。
【0032】
本発明の実施形態では、VPNサーバ304に管理コンソール308を設けることができる。管理コンソール308は、定義されたVPNオーバレイ・ネットワーク208またはいずれかの他の型のオーバレイ・ネットワーク208に基づき、制約付きP2Pネットワーク232を定義するように適応されることができる。換言すると、管理コンソール308は、P2Pコミュニティ内でどんなエンティティが通信することができるかの境界線を定義することができる。管理コンソール308はまた、所与のP2Pネットワーク232内のエンティティのポリシを定義してもよい。これは、カスタマイズされたセキュリティ機能を形成し、かつ/またはP2Pネットワーク232のメンバ間のより信頼できる通信を確実にするのを助ける。管理コンソール308はまた、様々なP2Pネットワーク232のメンバシップを維持し、かつ施行することができる。図3で分かるように、P2Pネットワーク232は一般的に、VPNオーバレイ・ネットワーク208内の全ての通信装置より少数の装置のメンバシップを含むが、そのような制限されたメンバシップは必須ではない。管理コンソール308は、VPNオーバレイ・ネットワーク208内の通信装置のアイデンティティのみならず、それらのそれぞれのメンバシップをも維持することができる。
【0033】
一実施形態では、管理コンソール308は、P2Pネットワーク232に属する通信装置312と、P2Pネットワーク232に属さない通信装置320とを識別し、かつ区別することができる。さらに、管理コンソール308は、特定の通信装置312および/またはユーザが割り当てられているP2Pネットワーク232のレコードを維持してもよい。例えば、第1組の通信装置312、320は、VPNオーバレイ・ネットワーク208全体に属してよい。これらの通信装置の第1部分集合は、第1P2Pネットワーク232aに属してよく、これらの通信装置の他の部分集合は、第2P2Pネットワーク232bおよび第3P2Pネットワーク232cに属してもよい。本発明の少なくとも一部の実施形態では、通信装置312および/またはユーザは、多数の異なるP2Pネットワーク232に属することができるが、そのような実施形態は図3に明示的に示されていない。
【0034】
管理コンソール308は、P2Pネットワーク232内の自律的なP2P通信を容易にするために、P2Pネットワーク232のメンバシップのレコードを維持してもよい。各P2Pネットワーク232は、その能力およびポリシが、通信するために頼っているインフラストラクチャ(すなわちVPNオーバレイ・ネットワーク208)とは別個に定義される程度に自律的である。管理コンソール308はP2Pネットワーク232の様々な通信装置312と通信して、それらが相互に通信する方法に一貫性があることを確実にすることができる。
【0035】
P2Pネットワーク232の構成および相対的自律性は、P2Pネットワーク232で使用される通信装置の型によっても変化することがある。第1P2Pネットワーク232aは、第1の可能なP2Pネットワーク・トポロジの例を提供する。さらに詳しくは、第1P2Pネットワーク232aは、第1P2Pネットワーク232a内の通信装置312を接続するサーバ316または同様の専用処理および/もしくはルーティング装置を含む。サーバ316は、P2Pネットワーク232のポリシを定義しかつ施行するために管理コンソール308を装備してもよい。管理コンソール308は、メンバ通信装置312間のメッセージおよびデータのルーティングを容易にし、それによってハブ・アンド・スポーク型トポロジを形成するように適応されることができる。しかし、サーバ316を有する第1P2Pネットワーク232aでは、メッシュ・トポロジも企図することができる。サーバ316はまた、第1P2Pネットワーク232aの全ての通信装置312が対等に生まれるように、特定レベルの監督を可能にする、第1P2Pネットワーク232aの1種のスーパノードとしても働くことができる。
【0036】
さらに、第1P2Pネットワーク232aの通信装置312は、第1P2Pネットワーク232aに無い通信装置312との通信セッション中に、サーバ316を通してルーティングされるそれらの着信および発信メッセージを有してもよい。したがって、サーバ316は基本的に、VPNオーバレイ・ネットワーク208の残部およびより広い通信システム200と第1P2Pネットワーク232a全体のためのルータとして働くことができる。
【0037】
本書で使用する場合、用語「サーバ」は、PBX、企業交換機、企業サーバ、または他の型の電気通信システム交換機もしくはサーバのみならず、他の型のプロセッサをベースとする通信制御装置、例えばメディア・サーバ(すなわち電子メール・サーバ、ボイスメール・サーバ、ウェブ・サーバなど)、コンピュータ、付属物等をも含むことを理解されたい。
【0038】
管理コンソール308はまた、第1P2Pネットワーク232a内の通信装置312間の認証を中央管理してもよい。通信装置312間の認証は、通信セッションが行なわれる前に要求されてもよい。認証が中央管理されるP2Pネットワーク232では、接続を確立する前に、鍵が1つの通信装置312から別の通信装置に、または管理コンソール308に直接渡されてもよい。受け取った鍵は次いで、それがまだ管理コンソール308に提供されていなかった場合、それに提供され、そこで認証判定が行なわれる。認証判定は、いずれかの公知の型の対称または非対称プロトコルを用いて行なうことができる。認証が確認された(すなわち、両方の通信装置が同一P2Pネットワーク232に属すると判定された)場合、管理コンソール308は次いで、通信セッションが許可されることを受信側通信装置312に通知する。しかし、P2Pネットワーク232のポリシは、通信セッション中も依然として施行されてもよい。認証のステップは、各通信装置312に、それが同一P2Pネットワーク232の他の通信装置312との安全確実な通信セッションに従事していることを確信させるのに役立つ。
【0039】
代替的実施形態では、通信装置312間の分散認証を可能としてもよい。管理コンソール308は、鍵および関連通信装置312のリストを維持し、該リストを第1P2Pネットワーク232の様々な通信装置312に提供することができる。これにより、P2Pネットワーク232内の全ての通信装置312は、通信セッションを開始する前に、別の通信装置312と共に内部認証することができるようになる。管理コンソール308は適切な通信装置312にリストを周期的に提供し、または要求があり次第、リストを供給することができる。代替的に、管理コンソール308は、リストが更新されたときにいつでもリストを配布してもよい。
【0040】
第2P2Pネットワーク232bは、P2Pネットワーク232の第2のトポロジ例を提供する。第2P2Pネットワーク232bは、より大きいVPNオーバレイ・ネットワーク208へのルータとして働き、P2Pネットワーク232のポリシを調整および管理し、かつ他の処理タスクを実行する、サーバ316を持たない。むしろ、第2P2Pネットワーク232bは複数の通信装置312を含み、そのうちの少なくとも1つは、メッシュ・トポロジで相互接続された管理コンソール308を具備するが、第2P2Pネットワーク232bでハブ・アンド・スポーク・トポロジをサポートしてもよい。
【0041】
図3に示す第2P2Pネットワーク232bでは、各通信装置312は少なくとも2つの他の通信装置312に接続され、結果的にメッシュ・トポロジが形成される。メッシュ・ネットワークは、任意の通信装置312を介して通信装置312間の通信を容易にする。管理コンソール308を含む通信装置312はボス型通信装置312とみなすことができ、一部の予め定められたトラフィックはそこを通過することができるが、トラフィックの残部は第2P2Pネットワーク232bのより広いメッシュを通してルーティングされる。この特定のトポロジは、単一サーバ316の処理要求のみならず、P2Pネットワーク232全体の単一点障害の可能性をも緩和するのに役立つ。第2P2Pネットワーク232bは、管理コンソール308が、VPNオーバレイ・ネットワーク208の通信構造とは独立して、第2P2Pネットワーク232bに特定的な様々なポリシを定義することができるという点で、第1P2Pネットワーク232aと全く同様に自律的である。
【0042】
第2P2Pネットワーク312に属する通信装置312と、該ネットワークに属さない通信装置312、320との間の通信は、指定された通信装置312(すなわち管理コンソール308を含む通信装置312)を通してルーティングすることができる。したがって、指定された通信装置312は、第2P2Pネットワーク232bの他のP2Pネットワーク232、通信装置320、および通信システム200のいずれかの他の通信装置へのルータとして働く。
【0043】
第1P2Pネットワーク232aのサーバ316および第2P2Pネットワーク232bの指定された通信装置312に含まれる管理コンソール308は、自律的に、つまりVPNサーバ304の管理コンソール308からの支援無く、動作するように適応させることができる。したがって、各P2Pネットワーク232は、その対応する管理コンソール308によって局所的に管理することができる。代替的実施形態では、P2Pネットワーク232の管理責任は、VPNサーバ304の管理コンソール308とP2Pネットワーク232に対応する管理コンソール308との間で分担することができる。たとえ1つの通信装置312だけが、そこに設けられた管理コンソール308を有するように図示されていても、VPNオーバレイ・ネットワーク208の各通信装置312が管理コンソール308を備えることができ、それによってVPNサーバ304からの各通信装置312の自律性がもたらされることを当業者は理解されるであろう。
【0044】
第3P2Pネットワーク232cは、本発明の実施形態に従って使用することのできるP2Pネットワーク・トポロジの第3例を提供する。第3P2Pネットワーク232cは、ルータとして働くサーバ316を持たず、局所的管理コンソール308をも持たない。むしろ、第3P2Pネットワーク232cはメッシュ・トポロジで相互接続された複数の通信装置312を含むが、ハブ・アンド・スポーク・トポロジもサポートすることができる。第3P2Pネットワーク232cの通信装置312は基本的に同一能力を含み、同様に動作することができる。第3P2Pネットワーク232cの各通信装置312は、指定された通信装置312を通してメッセージおよびデータをルーティングする代わりに、外部通信装置と通信することができる。
【0045】
各P2Pネットワーク232は、P2Pネットワーク232内の通信のために施行される第1組のポリシ、およびP2Pネットワーク232の外の通信のために施行される第2の異なる組のポリシを持つことができる。P2Pネットワーク232の各通信装置312は、P2Pネットワーク232内で通信するときに同一ポリシに従うことを要求されるので、P2Pネットワーク232内の通信はより確実なセキュリティおよび連続性を持つことができる。これはP2Pネットワーク232内の通信の効率性および信頼性を高める。
【0046】
今、図3Bを参照しながら、ハブ・アンド・スポークP2Pネットワーク232の詳細を、本発明の少なくとも一部の実施形態に従ってさらに説明する。ハブ・アンド・スポークP2Pネットワーク232は、インターネットまたは何らかの他の分散通信ネットワークのような第1通信ネットワーク324を介して、VPNサーバ304と通信する多数の通信装置312のメンバシップを含んでもよい。VPNサーバ304は、企業ネットワークまたは他の型のイントラネットのような第2通信ネットワーク304と通信することができる。VPNサーバ304は、第2通信ネットワーク328を介して管理サーバ332、IP PBX336、および構成データベース340と通信することができる。
【0047】
VPNサーバ304は、P2Pネットワーク232におけるポリシのプロビジョニングおよび施行を可能にすることができる。ハブ・アンド・スポーク・トポロジを越えて、プロビジョニングは、VPNサーバ304との接続性を持ちかつそれを制御する権限を付与された企業のエンティティ(例えば管理サーバ332)からもたらされてもよい。VPNサーバ304は一般的に、P2Pネットワーク232に対しそのようなトポロジにおける施行点として働くことができる。ポリシ規定は、VPNサーバ304による参照のために構成データベース340に維持することができる。
【0048】
規定の施行は、IPトラフィックの解析によって、かつ規則をデータグラムおよびセッション状態で異なる深さで適用することによって、ネットワーク・レベル(例えばIPレベル)、トランスポート・レベル(例えばTCP/UDPレベル)、および/またはアプリケーション・レベル(例えばSIP、ウェブ、SOAP等)で行なわれてもよい。アクセス制御、QoS、およびルーティングの施行に関するポリシは、VPN上に確立されたP2Pハブ・アンド・スポーク・ネットワーク232でVPNサーバ304によって施行されてもよい。
【0049】
今、図3Cを参照しながら、フル・メッシュP2Pネットワーク232モデルの詳細について、本発明の少なくとも一部の実施形態に従って説明する。メッシュP2Pネットワーク232のポリシもまた、VPNサーバ304によって管理されてもよい。しかし、アクセス制御、QoS、およびルーティング・ポリシは、ひとたび制定されると分散され、自律的になってもよい。通信装置312間のP2P通信はノード間で直接的であり、任意選択的に、プロビジョニング時に管理サーバ332から企業構成毎にポリシ条件によって規制されてもよい。
【0050】
フル・メッシュP2Pネットワーク232は、全てのP2Pノードがそのピアにトラフィックをそのピアに直接流すことを可能にする。VPNサーバ304によるポリシの制御は、そのようなトポロジでは任意である。それにもかかわらず、VPNサーバ304は、第2通信ネットワーク328に接続された企業IP PBX336(コール・サーバ)またはいずれかの他のアプリケーション・サーバにP2Pネットワーク232をブリッジさせるように、任意の制御ゲートウェイを形成することができる。VPNサーバ304は、P2Pネットワーク232を規制する参加ポリシに基づいて、P2Pネットワーク232を制御することができる。管理サーバ332はP2Pネットワーク232を構成し、制御管理をVPNサーバ304に委託する。
【0051】
フル・メッシュP2Pネットワーク232は、自律的P2Pネットワーク232がそのコミュニティの外部と、例えば別のP2Pネットワーク232と通信するようになるとき、またはメイン企業(例えばIP PBX336および/またはイントラネット)ユーザ・コミュニティに動的に参加および離脱するようになるときを除き、自律的P2Pネットワークに制御を委託することができる。
【0052】
今、図4Aおよび4Bを参照しながら、管理コンソール308によって使用される2つの例示的データ構造について、本発明の少なくとも一部の実施形態に従って説明する。最初に図4Aを参照しながら、ユーザ中心データ構造404について、本発明の少なくとも一部の実施形態に従って説明する。データ構造404は、P2Pネットワーク232をオーバレイ・ネットワーク208に維持するための多数のデータ・フィールドを含む。データ構造404に設けられるデータ・フィールドの型として、ユーザ・フィールド408、通信装置フィールド412、IDフィールド416、鍵フィールド420、P2Pネットワーク・フィールド424、およびポリシ・フィールド428が挙げられるが、それらに限定されない。
【0053】
ユーザ・フィールド408は、特定のユーザまたはユーザのグループを記載または識別するデータを含む。ユーザは一般的にメンバであり、オーバレイ・ネットワーク208にアクセスすることができる。ユーザはまた、1つまたは複数の通信装置に関連付けられることもあり、それは通信装置フィールド412に記載することができる。通信装置フィールド412は、単数または複数のどの通信装置が特定のユーザに関連付けられるかを記載する。ユーザに関連付けられてもよいそのような装置の例として、例えばコンピュータまたはラップトップ、従来のアナログ電話機、パケットをベースとする電話機、VoIP電話機、セルラ電話機、パーソナル・デジタル・アシスタント(PDA)、ビデオフォン、および/または携帯電子メール検索装置が挙げられる。通信装置の記述は、通信装置の型の記述のみならず、所与の装置の識別子をも含んでもよい。特定の通信装置の識別子は、IPアドレス、内線番号、ポート・アドレス、製造番号、またはいずれかの他の型の一意または準一意の識別子を含むことができる。
【0054】
IDフィールド416は、ユーザおよび/またはユーザの関連通信装置に割り当てられた識別子または他の型の一意のIDを格納する。IDは、管理コンソール308が単一のIDによってエンティティを参照することを可能にする、管理コンソール308用の識別子として働く。図4Aから分かるように、IDはユーザに割り当てられてもよく、あるいはユーザに関連付けられた各通信装置に割り当てられてもよい。管理コンソール308はまた、通信装置の認証中、および通信装置へ/からのメッセージのルーティング中にもIDを使用することができる。
【0055】
認証中に使用されてもよい追加データは鍵である。鍵情報は、鍵フィールド420に維持される。単一ユーザおよび/または通信装置に対し、複数の鍵を鍵フィールド420に維持することができる。鍵フィールド420に維持されてもよい1つの鍵として、認証鍵がある。鍵フィールド420に維持されてもよい第2の鍵として、暗号化鍵がある。認証鍵は、所与の通信装置および/またはユーザを認証し、かつ通信装置および/またはユーザがどのP2Pネットワーク232のメンバであるかを判定するために使用される。暗号化鍵は、P2Pネットワーク232を越えて、かつ/またはP2Pネットワーク232の外部に送信するためのメッセージを暗号化するために使用される。所与のP2Pネットワーク232に対し暗号化ポリシが定義されていない場合にはユーザおよび/または通信装置への暗号化鍵の割当ては不要でもよい。
【0056】
本発明の一実施形態では、各ユーザおよび/または通信装置に一意の認証鍵が割り当てられる。認証鍵は一般的に複数の通信装置間で共有されないので、一意の認証鍵の使用は比較的安全確実なP2Pネットワークをもたらす。代替的に、管理コンソール308が、各々の個人ユーザおよび/または通信装置の名前または種類を決定してもよく、かつP2Pネットワーク232の残部に、それらが探さなければならないものはその決定された名前または種類であることを知らせてもよい。管理コンソール308はまた、P2Pネットワーク232の他の通信装置および/またはユーザに、各々の種類に対応する鍵を通知してもよく、通信装置は、鍵を精査して鍵が信頼できる名前または種類に対応するかどうかを判定することによって、他の通信装置を認証することができる。
【0057】
P2Pネットワーク・フィールド424は、所与のユーザおよび/または通信装置が割り当てられているP2Pネットワーク232があれば、それに関するデータを含むことができる。P2Pネットワークは任意の番号として、または企業の部署として表示ことができる。オーバレイ・ネットワーク208上でP2Pネットワーク232を使用することのできるエンティティの例として、企業で働きかつオーバレイ・ネットワーク208にアクセスすることのできる人間の財務部、エンジニアリング部、法務部、またはいずれかの他の論理的下位部署が挙げられる。
【0058】
P2Pネットワーク識別データを維持することに加えて、データ構造404は、所与のP2Pネットワーク232のためのポリシ・データを含むことができる。上述の通りポリシ・データは各P2Pネットワーク間で異なってもよく、ポリシ・データ・フィールド428に格納される。特定のP2Pネットワーク232に対して定義されるポリシは、OSIモデルまたはTCP/IPモデルのアプリケーション層、トランスポート層、またはネットワーク層の少なくとも1つの動作パラメータを制御することができる。これは、各P2Pネットワーク232のセキュリティを別々に維持し、かつオーバレイ・ネットワーク208内の他のP2Pネットワークから制御することを可能にする。さらに、特定のP2Pネットワーク232は、通信の特定の局面に対してより厳格なポリシを要求することができるが、他のP2Pネットワーク232は、それほど厳格なポリシを要求しなくてもよい。所与のP2Pネットワーク232に対するポリシ、ならびにしたがって割り当てられたユーザおよび/または通信装置に適用されるポリシは、ポリシ・フィールド428に概説される。本発明の一実施形態では、所与のP2Pネットワーク232に対するポリシは、P2Pネットワーク232に割り当てられた全てのエンティティに平等に適用される。ポリシ・データ・フィールド428に定義されるポリシの型として、暗号化ポリシ、セキュリティ・ポリシ、外部通信ポリシ、アプリケーション・ポリシ、ルーティング・ポリシ、通信トラフィック・ポリシ、ならびにアプリケーション層、トランスポート層、および/またはネットワーク層で通信を制御および調整するための他のポリシが挙げられるが、それらに限定されない。
【0059】
単一のユーザが多数の通信装置に関連付けられるように図示されているが、本発明の実施形態では、多数のユーザが単一の通信装置に関連付けられることも考えられる。さらに、たとえ各ユーザが特定のP2Pネットワーク232に割り当てられている状態が図示されていても、本発明の少なくとも一部の実施形態は、ユーザではなく通信装置をP2Pネットワーク232に割り当てる能力を提供する。
【0060】
今、図4Bを参照しながら、P2Pネットワーク中心データ構造432について、本発明の少なくとも一部の実施形態に従って説明する。データ構造432は、所与のP2Pネットワークに関連するデータを含む多数のデータ・フィールドを含むことができる。そのようなデータ・フィールドの例として、P2Pネットワーク識別子フィールド436、ユーザ・フィールド440、IDフィールド444、鍵フィールド448、およびポリシ・フィールド452が挙げられるが、それらに限定されない。
【0061】
P2Pネットワーク識別子フィールド436は、特定のP2Pネットワーク232について記述する情報を含む。各P2Pネットワーク232には、記述的ラベルまたは無作為に割り当てられた英数字ラベルが設けられてもよい。特定のP2Pネットワーク232に割り当てられたエンティティは、ユーザ・フィールド440で識別される。一実施形態では、各P2Pネットワーク232は少なくとも2つのエンティティのメンバシップを含む。ユーザおよび/または通信装置は、1つまたは複数のP2Pネットワーク232に割り当てられてもよい。
【0062】
各P2Pネットワーク232は、所与のP2Pネットワークに一意のIDおよび鍵を割り当てられてもよい。P2PネットワークのIDはIDフィールド444に維持することができ、鍵は鍵フィールド448に維持することができる。鍵はP2Pネットワークに一意とすることができ、したがってP2Pネットワーク内の全てのユーザの間で共有される。鍵は認証鍵および/または暗号化鍵を含むことができる。ユーザおよび/または通信装置が所与のP2Pネットワーク232に割り当てられると、関連付けられた鍵および/またはIDを、割り当てられたユーザおよび/または通信装置に送信することができる。次いで、ユーザが別のユーザに接触しようとするときに、送信側ユーザが同一P2Pネットワーク232に属していることを、受信側ユーザが検証することができ、かつ通信セッションのためのポリシを確立することができるように、鍵および/またはIDは受信側ユーザに送信される。
【0063】
P2Pネットワーク232用の通信ポリシは、ポリシ・フィールド452に維持することができる。ポリシ・フィールド452に記載されたポリシは、ユーザ中心データ構造404のポリシ・フィールド428のポリシと同様とすることができる。管理コンソール308は、P2Pネットワーク232をオーバレイ・ネットワーク208内に維持し、かつさらにそのようなP2Pネットワーク232に割り当てられたエンティティを管理するのを助けるように、一方または両方のデータ構造404、432を利用することができる。データ構造404、432は、所与のP2Pネットワーク232内の通信装置または他のネットワーク・ノードの間で共有することもできる。
【0064】
図5は、本発明の少なくとも一部の実施形態に従ってP2Pネットワーク232を形成する方法を示すフローチャートである。該方法は、VPNオーバレイ・ネットワーク208およびより詳しくはIPsec VPNネットワークのようなオーバレイ・ネットワーク208が、公衆通信ネットワーク204上に確立されたときに、開始される。次いでオーバレイ・ネットワーク208内のエンティティが識別され、メモリに維持される(ステップ504)。
【0065】
ひとたびVPNオーバレイ・ネットワーク208内のエンティティが識別されると、該方法は、これらのエンティティの部分集合を識別することによって続行される(ステップ508)。エンティティの識別された部分集合は一般的に、VPNオーバレイ・ネットワーク208に属するエンティティの集合より小さく、したがってVPNオーバレイ・ネットワーク208に割り当てられた全てのエンティティを包含するものではない。
【0066】
エンティティの部分集合の識別に続いて、該方法は、エンティティの部分集合のP2Pネットワーク232を定義することによって続行される(ステップ512)。P2Pネットワーク232は、VPNオーバレイ・ネットワーク208に関連するセキュリティ上の利点を受け取るために、VPNオーバレイ・ネットワーク208の上に確立される。次いで、エンティティの部分集合は、P2Pネットワーク232でピア・ツー・ピア方式で相互に通信することができる。
【0067】
P2Pネットワーク232がVPNオーバレイ・ネットワーク208の上に確立された後、管理コンソール308はP2Pネットワーク232のポリシを決定する(ステップ516)。ポリシは、ユーザ定義する(すなわち、P2Pネットワーク232に属する1つまたは複数のエンティティによって定義する)か、システム管理者によって定義するか、かつ/またはVPNオーバレイ・ネットワーク208によって確立された特定のベース・ポリシによって定義することができる。決定することのできるポリシの1種として、P2Pネットワーク232で通信するために使用することのできる特定のアプリケーションの定義が挙げられる。アプリケーション・ポリシによって許可または抑制される適切な通信アプリケーションの例として、電子メール、VoIP、SMSテキスト、チャット、インスタント・メッセージング(IM)、およびビデオのみならず、TCP/IPモデルのアプリケーション層で定義されるプロトコル(例えばDHCP、FTP、HTTP、POP3、SIP、SMTP、SSH、RCP、RTP、RTCP、およびDNS)が挙げられる。このステップで定義されるポリシは、トランスポート層プロトコル(例えばTCP、UDP、DCCP、SCTP、GTP等)およびネットワーク層プロトコル(例えばIPv4、IPv6、ARP、RARP、ICMP、IGMP、RSVP、IPsec等々)に対する抑制または許可をも確立することができる。P2Pネットワーク232に対して決定することのできる他のポリシとして、P2Pネットワーク232に属さないエンティティとの通信を規制するポリシが挙げられる。さらに、P2Pネットワーク232内のメッセージのみならず、P2Pネットワークの外部に送出されるメッセージのためのルーティング・ポリシも決定することができる。
【0068】
P2Pネットワーク232のためのポリシが決定されると、管理コンソール308は、P2Pネットワーク232のメンバ・エンティティに対しポリシを施行する(ステップ520)。このステップで、管理コンソール308は、同一P2Pネットワーク232内の2つのエンティティが相互に通信セッションを確立しているときにそれを決定し、エンティティが通信することを可能にするパラメータを定義する。代替的に、P2Pネットワーク232に属する各エンティティにポリシ情報を提供することができ、それらが同一P2Pネットワーク232に属する別のエンティティと通信していることをそれらが決定したときに、エンティティは自動的にポリシを施行して、P2Pネットワーク232と信頼できる一貫した通信を確立するのを助ける。
【0069】
今、図6を参照しながら、P2Pネットワーク232内のエンティティの通信を容易にする方法について、本発明の少なくとも一部の実施形態に従って説明する。該方法は、管理コンソール308がP2Pネットワーク232で使用するための鍵を決定することから開始される。P2Pネットワーク232で使用される鍵は、ネットワーク内の各エンティティに一意とすることができ、あるいは代替的に、ネットワーク自体に一意とすることができる。各エンティティに一意の鍵(例えば暗号化および認証)を利用する実施形態は、同一P2Pネットワーク232の全てのエンティティの間で鍵を共有する場合より高レベルのセキュリティを達成することができる。鍵の大きさは、公知の暗号化および認証プロトコルで使用される任意の大きさとすることができる。P2Pネットワーク232に対しより高レベルのセキュリティを希望する場合には、比較的高強度の鍵(例えば128ビットの鍵)を使用することができる。P2Pネットワーク232に対しより低レベルのセキュリティを希望する場合には、低強度の鍵を、または一般IDさえもエンティティに割り当てることができる。
【0070】
P2Pネットワーク232に対して、さらに詳しくはP2Pネットワーク232に属するエンティティに対して鍵が決定された後、鍵はネットワーク内のエンティティに割り当てられる。エンティティへの鍵の割当ては、単に、エンティティ識別子を上記のデータ構造404、432のどちらかにおける特定の鍵に関連付けることを含む。代替的に、割り当てられた鍵はエンティティに送信し、すぐにアクセスできるようにそこに維持することができる。
【0071】
鍵がP2Pネットワーク232内のエンティティに送信された場合、該方法は、エンティティがそれらの割当て鍵を受信したときに続行される(ステップ612)。使用される送信プロトコルの型は、希望するセキュリティのレベルに依存する。比較的高レベルのセキュリティをP2Pネットワーク232に希望する場合には、鍵は割り当てられたエンティティに送信する前に暗号化することができる。
【0072】
ひとたびエンティティがそれぞれの鍵を受信すると、または少なくとも鍵がそれらに割り当てられると、該方法は、1つのエンティティが別のエンティティと通信を開始したときに続行される(ステップ616)。通信は、別の通信装置によって発呼されたときに、または通信装置もしくはユーザのリストから通信装置もしくはユーザを選択することによって開始される。通信が開始されると、鍵は、受信側エンティティ(すなわち通信セッションを開始した側ではない通信装置)または管理コンソール308のいずれか、認証判定の責任を負う方の装置に送信される(ステップ620)。
【0073】
その後、鍵は適切な装置で受信される(ステップ624)。一実施形態では、鍵は認証の責任を負う装置に直接送信され、受信される。代替的実施形態では、鍵は最初に受信側通信装置に送信され、それが次に鍵を管理コンソール308に転送する。適切な装置が鍵を受信すると、鍵は受信側装置によって解析される(ステップ628)。このステップでは、解析は、送信側通信装置のアイデンティティが何であるか、どのようなユーザが送信側通信装置と関連付けられるか、かつ/またはどのようなP2Pネットワークに送信側通信装置が関連付けられるかを決定することを含んでもよい。鍵の解析は、鍵が送信のために暗号化された場合に特定の解読ステップをも含むだけでなく、単数または複数の鍵がデータ構造404、432内の既知の鍵または鍵フォーマットに照らして比較される比較ステップをも含んでもよい。
【0074】
鍵が適切に解析された後、鍵、およびしたがって送信側エンティティが受信側エンティティと同一P2Pネットワーク232に属するかどうかが決定される(ステップ632)。送信側および受信側エンティティが同一P2Pネットワーク232に属する場合には、管理コンソール308が、装置間の通信を規制する通信ポリシを決定する(ステップ636)。さらに詳しくは、管理コンソール308はP2Pネットワーク232のポリシを決定する。言うまでもなく、管理コンソール308が各通信装置に常駐する場合、各装置は、通信リンクを確立する前に、P2P通信を規制するポリシをすでに知っている。
【0075】
通信ポリシが決定されると、該方法は、それぞれのエンティティ間の通信セッションを許可することによって続行される(ステップ640)。通信セッションを許可することの一部として、セッションのための決定されたポリシが管理コンソール308によって、かつ/または通信装置自体によって施行される(ステップ644)。
【0076】
ステップ632に戻って説明するが、受信した鍵の解析から、送信側エネルギが同一P2Pネットワークに属さないことが示された場合、該方法は、P2Pネットワーク232の外部の通信が許可されるかどうかを決定することによって続行される(ステップ648)。特定のP2Pネットワーク232のエンティティがP2Pネットワーク232に属さない他のエンティティと通信できない場合、エンティティ間の通信は抑制され、通信リンクは切断される(ステップ652)。
【0077】
他方、P2Pネットワーク232の外部のエンティティとの通信が許可される場合、該方法は、P2Pネットワーク232の外部の通信を含むセッションのための通信ポリシを決定することによって続行される(ステップ656)。P2Pネットワーク232の外部の通信を規制するポリシは、P2Pネットワーク232内の通信を規制するポリシとは異なってもよい。例えば、P2Pネットワーク232内では、P2Pネットワーク232の外部より高レベルのセキュリティを達成することができる。さらに、P2Pネットワークから離れる通信の場合、ルーティング・ポリシが異なってもよい。例えば、通信装置312またはサーバ316は、P2Pネットワーク232内に留まらない、あるいはP2Pネットワーク232から生じたものでない全てメッセージの経路の通過点として指定されてもよい。これは本質的に、同一オーバレイ・ネットワーク208に属するエンティティが必ずしも同一のやり方で相互に通信しなくてもよいことを意味する。むしろ、そのような通信の性質は、それぞれのエンティティがP2Pネットワーク232に属しているならば、どのP2Pネットワーク232に属しているかによって異なる。言うまでもなく、通信セッションは依然として、オーバレイ・ネットワーク208によって定められたフレームワークおよびポリシを全体として維持する。
【0078】
ひとたびP2Pネットワーク232外部の通信セッションの許可が確立されると、該方法は、エンティティ間の通信セッションを許可することによって続行される(ステップ660)。P2Pネットワーク232外部の通信セッションを許可することの一部として、セッションのための決定されたポリシが管理コンソール308によって、かつ/または通信装置自体によって施行される(ステップ644)。さらに、指定されたルーティング装置を介して通信をルーティングさせるようにポリシから指示される場合、通信セッションは、選択されたルーティング装置を介してメッセージをルーティングすることで続行される(ステップ668)。指定ルーティング装置は通常、少なくとも一方のエンティティのP2Pネットワーク232の一部である。さらに、両方のエンティティが異なるP2Pネットワーク232に属する場合、各々が、指定ルーティング装置を介してメッセージをルーティングするように要求されてもよく、その場合、全てのメッセージは2つの予め定められたルーティング装置を介してルーティングされる。
【0079】
図7は、本発明の少なくとも一部の実施形態に従って使用される例示的パケット構造700を示す。パケット700は、ネスト状三重オーバレイとも呼ばれる3層ポリシ法のP2P VPNの場合、3層に分割することができる。パケット700は、第1層の第1部分に対応する外側IPトンネル・ヘッダ704、第1層の第2部分に対応するIPsecヘッダ708、第1層の第3部分に対応する内側IPヘッダ712、第2層に対応するTCP/UFPヘッダ716、および第3層に対応するアプリケーション特定的ヘッダ720を含むことができる。パケット700はまた、パケット・ペイロードを担持するためのペイロード部724、およびIPsecトレイラ728をも含むことができる。3つの層は独立していてもよく、多くの場合、同時にパケット700に加えることができる。内側IPヘッダ712、TCP/UDPヘッダ716、アプリケーション特定的ヘッダ720、および/またはペイロード部724は、信頼できないネットワークで送信するために暗号化されるパケットの部分を含んでもよい。パケット700の暗号化された部分は、セキュリティ・ポリシに応じてVPNサーバ304に可視または不可視とすることができる。VPNサーバ304がより大きい制御を実施し、自律性の低いP2Pネットワーク232が形成される場合、暗号化部分はハブ・アンド・スポークP2Pネットワーク232に対し可視とされてもよい。より少ない制御およびより大きい自律性がP2Pネットワーク232に与えられる場合、該部分はメッシュP2Pネットワーク232で不可視とされてもよい。
【0080】
第1層は、オーバレイ・ネットワーク208上のP2Pネットワーク232の層3ポリシに対応する。第1層は3つの異なる部分に分割されてもよい。第1層の第1部分は、フル・メッシュ構成では宛先メッシュ・ノードに、またはハブ・アンド・スポーク構成ではVPNサーバ304を介して宛先P2Pノードに、トラフィックを案内するために、外側IPトンネル・ヘッダ704を使用することができる。したがって、ハブ・アンド・スポーク構成では、パケット700は、パケットの上で宛先を記述する追加の外側IPヘッダ(図示せず)を含むことができる。いずれの構成でも、外側IPトンネル・ヘッダ704はQoS情報を担持することができる。外側IPトンネル・ヘッダ704の情報は、宛先に基づく宛先制御のため、およびルーティングの決定のためにも使用することができる。IPsecヘッダ708によって表わされる第1層の第2部分は主として、セキュリティ・ポリシ施行情報を担持するために使用することができる。内側IPヘッダ712によって表わされる第1層の第3部分は、追加施行情報のみならず、ハブ・アンド・スポーク構成に対するVPNサーバ304による制御に関するデータをも担持するために使用することができる。内側Ipヘッダ712内の情報は、最終宛先のQoSポリシをも変更させてもよい。
【0081】
第2層は、オーバレイ・ネットワーク208上のP2Pネットワーク232のための層4ポリシに対応する。第2層はTCP/UDPヘッダ716を利用して、トランスポート層でアプリケーション・プロトコルを区別するための情報を格納するTCP/UDPヘッダ716を用いて、強いアクセス制御を適用することもできる。これらのアクセス制御はVPNポリシの柔軟性によって左右される。例えば、アクセス制御ポリシは、VPNの構成がエンド・ツー・エンドであるか、それともハブをベースとするかによって、かつ暗号化が施行されるか否かによって変化する。
【0082】
第3層はアプリケーション・ポリシに対応し、アプリケーション特定的ヘッダ720を利用してアプリケーション特定的情報を格納する。例えば、アプリケーション特定的ヘッダ720は、SIP P2Pノード・ユーザが、SIPインスタント・メッセージおよび他のSIPをベースとする機能を遮断しながら、SIP呼を発信することができるか否かを決定するために使用することができる。これは、アプリケーションおよびそれによって使用されるSIPプロトコルに特定的な機能ポリシである。情報は、QoSポリシの一部としてどのコーデックを使用することができるか、およびどの帯域幅を使用することができるかを決定するために使用することもできる。それはまた、TLS暗号化信号およびSRTP暗号化メディアをペイロード部724でトランスポートすることができるかどうかをも制御することができる。アプリケーション特定的ヘッダ720はまた、特定の呼をルーティング・ポリシの1例として企業のボイスメールにリダイレクトすべきであるかどうかを決定する情報をも含むことができる。
【0083】
上述の通り、3層ネスト状オーバレイでは、P2Pネットワーク・オーバレイは、IPsec VPN構成(例えばメッシュまたはハブ・アンド・スポーク構成)によって定義されるベースIP層(すなわち第1層)に実現することができる。第1層にはさらに、TCP/UDPトランスポート層つまり第2層を重ねることができる。第2層は、ポート番号およびプロトコル(例えばTCP、UDP、またはICMP)を使用することによって、P2Pネットワークで使用される異なるプロトコル(例えばSIP、SMTP、HTTP、FTP、テルネット等)を区別する。これらの層には両方とも、アプリケーション・レベルのアウェアネスを定義する第3層を重ねることができる。第3層は、ハブ・アンド・スポーク構成ではアプリケーション層ゲートウェイまたはモジュールを介して、またはフル・メッシュ構成の場合はP2Pノードで分散アプリケーション・ポリシ構成によって、VPNサーバ304の論理を定義することができる。構成時間の関与を除き、管理サーバ332および企業インフラストラクチャの残部(例えば第2通信ネットワーク328に接続された装置)は、P2P VPNをその自律インパルスおよびトポロジに基づく制御に任す。
【0084】
上述したフローチャートを事象の特定の順序に関連して説明したが、本発明の動作に実質的に影響を及ぼすことなく、この順序を変化させることができることを理解されたい。加えて、事象の正確な順序は、例示的実施形態で記載した通りに発生する必要は無い。本書に示す例示的技術は、具体的に例証した実施形態に限定されず、他の例示的実施形態と共に利用することもでき、記載した各特徴は個別にかつ別々に請求可能である。
【0085】
本発明のシステム、方法、およびプロトコルは、記載した通信機器、プログラムされたマイクロプロセッサもしくはマイクロコントローラおよび周辺集積回路素子、ASICまたは他の集積回路、デジタル信号プロセッサ、離散素子回路のようなハードワイヤード電子もしくは論理回路、PLD、PLA、FPGA、PALのようなプログラム可能な論理デバイス、電話機のような通信装置、いずれかの匹敵する手段などに加えて、またはその代わりに、専用コンピュータ上に実現することができる。一般的に、本書で例証した方法論を実現することのできる状態機械を実現することのできる任意の装置を使用して、本発明に係る様々な通信方法、プロトコル、および技術を実現することができる。
【0086】
さらに、開示した方法は、様々なコンピュータまたはワークステーション・プラットフォームで使用することのできる移植可能なソースコードを提供する、オブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用してソフトウェアで容易に実現することができる。代替的に、開始したシステムは、標準論理回路またはVLSI設計を使用して、部分的にまたは完全にハードウェアで実現することができる。ソフトウェアまたはハードウェアのいずれを使用して本発明に係るシステムを実現するかは、システムの速度および/または効率要件、特定の機能、および利用される特定のソフトウェアもしくはハードウェア・システムまたはマイクロプロセッサもしくはマイクロコンピュータ・システムに依存する。本書で例証した通信システム、方法、およびプロトコルは、本書に提示した機能的説明から、かつコンピュータおよび通信技術の一般的な基礎知識により、該当する技術分野の通常の熟練者によって、いずれかの公知または後で開発されるシステムもしくは構造、装置、および/またはソフトウェアを用いることによって、ハードウェア、および/またはソフトウェアで容易に実現することができる。
【0087】
さらに、開示した方法は、記憶媒体に格納し、かつコントローラおよびメモリと協働してプログラムされた汎用コンピュータ上で、専用コンピュータ上、マイクロプロセッサ上などで実行することのできるソフトウェアで容易に実現することができる。これらの場合、本発明のシステムおよび方法は、パーソナル・コンピュータ上に埋め込まれたアプレット、JAVA(登録商標)またはCGIスクリプトのようなプログラムとして、サーバまたはコンピュータ・ワークステーションに常駐するリソースとして、専用通信システムまたはシステム構成要素に埋め込まれたルーチンなどとして実現することができる。システムはまた、システムおよび/または方法を、通信装置またはシステムのハードウェアおよびソフトウェア・システムのようなソフトウェアおよび/またはハードウェア・システムに、物理的に組み込むことによって実現することもできる。
【0088】
したがって、P2Pネットワークを提供するためのシステム、装置、および方法が本発明に従って提供されたことは明白である。本発明を多数の実施形態に関連して説明したが、該当する技術分野の通常の熟練者にとって、多くの代替物、変形、および変化が明白になることは明らかである。したがって、本発明の精神および範囲内の全てのそのような代替物、変形、均等物、および変化を包含するつもりである。
【図面の簡単な説明】
【0089】
【図1】先行技術の実施形態に係るVPNシステムを示すブロック図である。
【図2】本発明の実施形態に係るオーバレイ・ネットワーク上のP2Pネットワークによる通信システムを示すブロック図である。
【図3A】本発明の実施形態に係るP2Pネットワークの可能な構成を示すブロック図である。
【図3B】本発明の実施形態に係るハブ・アンド・スポークP2Pネットワークの詳細を示すブロック図である。
【図3C】本発明の実施形態に係るフル・メッシュP2Pネットワークの詳細を示すブロック図である。
【図4A】本発明の実施形態に従って使用される第1の可能なデータ構造を示す図表である。
【図4B】本発明の実施形態に従って使用される第2の可能なデータ構造を示す図表である。
【図5】本発明の実施形態に従ってP2Pネットワークを形成する方法を示す流れ図である。
【図6】本発明の実施形態に従ってP2Pネットワークでの装置の通信を容易にする方法を示す流れ図である。
【図7】本発明の実施形態に従って使用されるパケット構造を示すブロック図である。
【技術分野】
【0001】
本発明は、一般的に通信システムおよびネットワークに関する。さらに詳しくは、本発明はピア・ツー・ピア・ネットワークおよび仮想プライベート・ネットワークに関する。
【背景技術】
【0002】
今日の世界経済において、多州および多国籍企業は普通である。そのような事業が効率的に働くには、安全確実な社内通信チャネルが極めて重要である。最近まで、統合サービスデジタル通信網(ISDN)からOC3(オプチカル・キャリア3)ファイバまでの範囲に及ぶ専用線が使用されてきた。インターネットは、仮想プライベート・ネットワーク(VPN)として知られる新しい、より安価な社内通信モダリティのためのフレームワークをもたらした。
【0003】
VPNは基本的に、公衆ネットワーク(例えばインターネット)を使用してリモート・サイトまたはユーザを一緒に接続するプライベート・ネットワークである。専用の接続を使用する専用線とは異なり、VPNは、企業のプライベート・ネットワークまたは中央サイトから従業員のリモート・サイトまでインターネットをルーティングまたはトンネリングする「仮想」接続を使用する。「トンネル」は、2つの接続間のブラインド・リレーとして働く仲介プログラムである。トンネルは、インターネット・セキュリティ・プロトコル(IPsec)、ポイント・ツー・ポイント・トンネリング・プロトコルすなわちPPTP、およびレイヤ2トンネリング・プロトコル(L2TP)をはじめ、任意の数のプロトコルによって定義されるように形成することができる。
【0004】
在宅勤務者まで拡張された暗号化VPNには、主に2つのタイプがある。すなわち、IPsec VPNおよびセキュア・ソケット層/トランスポート層セキュリティ(SSL/TLS)VPNである。IPsec VPNは、コーポレート・サーバと専用ハードウェアまたはソフトウェア・クライアントとの間を接続する。そのようなVPNはTCPまたはUDPトラフィックをサポートしており、GRE(ジェネリック・ルーティング・カプセル化)を介して他のトラフィック型をサポートするように拡張することができる。SSL VPNは、クライアントが汎用ウェブ・ブラウザを使用して企業のVPNサーバに接続することを可能にする。それらはTCPトラフィックだけをサポートするので、IPsec VPNより機能性が限定される。
【0005】
典型的なVPNセッションを行なうためのプロセスを、図1に関連して説明する。中央サイト100はファイヤウォール104、メイン・オフィスLAN 108、およびVPNサーバ112(IPsecまたはSSL VPNサーバのような)を含む。リモート・サイト116はファイヤウォール120、VPNクライアント124、およびリモート・オフィスLAN 128を含む。2つのLAN 108および128は、信頼できないネットワーク132(インターネットのような)によって相互接続される。
【0006】
VPNサーバ112はメイン・オフィスLAN 108に別個に接続されるように図示されているが、VPNサーバ112はメイン・オフィスLAN 108とファイヤウォール104との間に存在することもある。代替的に、VPNサーバ112はファイヤウォール104に組み込まれてもよい。
【0007】
トンネリングは、リモート通信装置と中央サイトとの間で安全確実な通信を行なうために、VPNクライアント124およびサーバ112によって使用される。トンネリングは、パケット全体を別のパケット内に入れ、カプセル化されたパケットを信頼できないネットワーク132で送信する。トンネリングには3つの異なるプロトコルが要求される。すなわち、信頼できないネットワークによって規定されるプロトコル(例えばIP)、カプセル化プロトコル(ジェネリック・ルーティング・カプセル化つまりGRE、IPセキュリティ・プロトコルつまりIPsec、レイヤ2転送つまりL2Fプロトコル、ポイント・ツー・ポイント・トンネリング・プロトコルつまりIPsec、レイヤ2トンネリング・プロトコルつまりL2TP、セキュア・ソケット層(SSL)、トランスポート層セキュリティTLS、レイヤ3など)、および搬送されるオリジナル・データによって規定されるパッセンジャ・プロトコル(IPX、NetBeui、IP、およびボイス・オーバIPつまりVoIPプロトコル)である。例えばIPsecでは、IPパケットは暗号化され、別のIPヘッダ内にカプセル化される。
【0008】
VPNの形成は、セキュア・メイン・オフィスLAN 108とリモート・オフィスLAN 116との間に安全確実な通信チャネルを確立するのに役立つ。現在のVPNの1つの弱点は、それらが安全確実な通信を容易化するために、VPNサーバ112に頼っていることである。したがって、帯域幅のような通信処理能力が、VPNサーバ112の能力によって決定され、かつ限定される。他方、ピア・ツー・ピア(P2P)ネットワークは主として、比較的少数のサーバにそれを集中させるというよりむしろ、ネットワークの参加者のコンピュータ能力および帯域幅に頼っている。P2Pネットワークは、ユーザがファイルならびに他の実時間および非実時間データまたは通信を共有することを希望する場合に有用である。
【0009】
現在のインターネットをベースとするP2Pネットワークの例として、Skype、Nimcat、ヤフー・インスタント・メッセンジャーなどが挙げられる。そのようなP2Pネットワークは比較的単純な直接接続ネットワークであり、発呼者および/または被呼者がネットワーク・アドレス変換(NAT)装置の背後に隠れて動作するときに、またはインターネット・ベースの非NAT仲介に依存するときに接続性について解決するために、STUN、ICE、TURNなどのような調停サーバを必要とする場合があることを無視している。そのようなP2Pネットワークは、オーバレイ・トポロジに頼らずに動作する。むしろ、ほとんどのP2Pネットワークは、通信ネットワークで相互に通信する任意の2つのエンティティのようである。さらに、P2P参加者のグループ化は現在、クライアント・ルールによって駆動されない。むしろ、P2P参加者のグループ化は従来、プレゼンスおよび他のポリシに対し中央サーバによって促進される通り、ルールに基づくグループ化またはコミュニティに基づいている。これは、P2Pネットワークのコントロールをクライアントから奪い取る。換言すると、現在のP2Pネットワークは今のところ、ネットワークの残部から完全には自律的でないが、そのようなネットワークは処理タスクを分散することができる。
【0010】
VPNをP2Pネットワークと結合することが示唆されてきた。例えば、「ELA:A Fully Distributed VPN System over Peer−to−Peer Network」と称するAoyagiらのIEEE論文には、P2Pネットワーク上の完全分散VPNシステムが提案されており、その内容全体をこの言及によって本書に援用する。P2Pネットワーク上の完全分散VPNシステムはその中で、どこでもローカル・エリア(ELA)ネットワークと呼ばれている。ELAネットワークは、サーバ無しでグループのノード間にVPN用のプライベート・オーバレイ・ネットワークを確立することを可能にする。これは、VPNサーバのユーザ無しにVPNシステムを構築することを可能にし、それによって、VPNサーバに内在する処理上の障害および単一点障害が緩和される。この特定の論文は、従来のVPNに内在する処理上の問題を分散するのに役立つが、該論文は、従来独立型または自律的ではないP2Pネットワークに関連する問題に対処していない。
【非特許文献1】Aoyagiら「ELA:A Fully Distributed VPN System over Peer−to−Peer Network」
【発明の開示】
【発明が解決しようとする課題】
【0011】
これらおよび他の必要性は、本発明の様々な実施形態および構成によって対処される。本発明は一般的に、VPN上のP2Pネットワークのオーバレイを容易にするシステム、装置、および方法に向けられる。
【課題を解決するための手段】
【0012】
本発明の一実施形態では、
第1組の通信装置用のオーバレイ・ネットワークを提供すること、および
オーバレイ・ネットワーク上に第2組の通信装置用のピア・ツー・ピア・ネットワークを定義すること、
を一般的に含む方法を提供する。
【0013】
オーバレイ・ネットワークは、既存の公衆または専用通信ネットワークの上に確立することができる。一実施形態では、オーバレイ・ネットワークは、インターネットのような公衆通信ネットワークの上に確立されたVPNオーバレイ・ネットワークを含む。
【0014】
オーバレイ・ネットワーク上のP2Pネットワークの確立は、P2Pネットワークのメンバが相互に、クライアント・ルール駆動構成の下で完全に自律的なP2P通信を享受することを可能にする。従来のP2Pネットワークはアプリケーション層のみで通信ポリシを調整してきたが、本発明の一実施形態では、開放型システム間相互接続(OSI)モデルまたは伝送制御プロトコル/インターネット・プロトコル(TCP/IP)モデルのアプリケーション層、トランスポート層、およびネットワーク層で通信を制御および調整する通信ポリシを、P2Pネットワークに対して定義することができる。P2Pネットワークの自律性は、P2Pネットワーク内に安全確実な通信を確立することのできるカスタマイズされたP2Pネットワークを形成するのに有用である。さらに、P2Pネットワークはオーバレイ・ネットワーク上に確立されるので、P2Pネットワークは必然的に、オーバレイ・ネットワークに関連する境界線およびセキュリティ・ポリシを受け継ぐ。一実施形態では、かなりの程度のインフラストラクチャ依存性(例えば最小限、オーバレイ・ネットワークのDNSおよびDHCPに対する依存性)が存在するが、アプリケーション層では、P2Pネットワークの純粋な自律性が利用可能である。
【0015】
本発明の別の態様は、オーバレイ・ネットワーク上のP2Pネットワークの形成を容易にする装置を提供することである。本発明の一実施形態では、該装置は、オーバレイ・ネットワーク上のP2Pネットワークを定義するように適応された管理コンソールを備え、ここでP2Pネットワークはオーバレイ・ネットワークに属する第1組のユーザ内に第2組のユーザを含む。
【0016】
オーバレイ・ネットワーク上にP2Pネットワークを形成することにより、これまで実現されなかったP2Pネットワークの自律性が達成可能である。したがって、セキュリティ、選択的制御、および認証(例えばオーバレイ・ネットワークの可変長および可変制御リーシュ)をP2Pネットワークに使用することが可能である。つまり、P2Pは、そのポリシを、それが頼っているインフラストラクチャとは別個に定義することができる程度に、自律的である。
【0017】
本書で使用する場合、「ユーザ」は、通信装置を利用かつ/または通信装置と対話することのできる任意の人間または物を指すのに使用される。
【0018】
これらおよび他の利点は、本書に含まれる本発明の開示から明らかになるであろう。上記の実施形態および構成は完全でも包括的でもない。理解される通り、上述した特徴、または以下で詳述する特徴の1つまたは複数を単独で、または組み合わせて利用する、本発明の他の実施形態が可能である。
【0019】
本書で使用する場合、「少なくとも1つ」、「1つまたは複数」および「および/または」は、接続的でも離接的でもある、範囲が制限されていない表現である。例えば、「A、B、およびCの少なくとも1つ」、「A、B、またはCの少なくとも1つ」、「A、B、およびCの1つまたは複数」、「A、B、またはCの1つまたは複数」、および「A、B、および/またはC」は各々、Aのみ、Bのみ、Cのみ、AおよびBの両方、AおよびC共に、BおよびC共に、またはA、B、およびC共に、を意味する。
【発明を実施するための最良の形態】
【0020】
本発明を以下で、例示的通信システムに関連して説明する。本発明は、例えばサーバおよび/またはデータベースを使用するシステムに使用するのによく適しているが、いずれかの特定の型の通信システムまたはシステム要素の構成との使用に限定されない。開示する技術は、P2Pネットワークを形成することが望ましいどんな通信用途にも使用することができることを、当業者は理解されるであろう。
【0021】
本発明の例示的システムおよび方法について、IP通信ソフトウェア、モジュール、および関連通信ハードウェアに関連しても説明する。しかし、本発明を不必要に曖昧にすることを回避するために、以下の説明は、ブロック図の形で示すことができ、周知であり、またはその他の方法で要約される周知の構造、ネットワーク構成要素、および装置については省略する。
【0022】
説明を目的として、本発明の完全な理解をもたらすために、多数の詳細を記載する。しかし、本発明は、本書に記載する特定の詳細を越える多種多様なやり方で実施することができることを理解されたい。
【0023】
さらに、本書に示す例示的実施形態は一所に配置されたシステムの様々な構成要素を示すが、システムの様々な構成要素は、通信ネットワークおよび/またはインターネットのような分散ネットワークの離れた部分に、もしくは専用の安全確実なシステム、安全確実でないシステム、ならびに/もしくは暗号化システム内に配置することができることを理解されたい。したがって、システムの構成要素は、企業サーバ、PBXのような1つまたは複数の装置に組み込むことができ、もしくはアナログおよび/またはデジタル通信ネットワークのような分散ネットワークの特定のノードに一所に配置することができることを理解されたい。以下の説明から、かつ計算効率から理解される通り、システムの構成要素は、システムの動作に影響することなく、分散ネットワーク内の任意の位置に配設することができる。例えば、様々な構成要素を放送ヘッド・エンド・サーバ、1つまたは複数のユーザの構内、またはそれらの何らかの組合せに配置することができる。同様に、システムの1つまたは複数の機能部をサーバ、ゲートウェイ、PBX、および/または関連通信装置の間で分散することができる。
【0024】
最初に図2を参照しながら、本発明の少なくとも一部の実施形態に係る通信システム200について説明する。通信システム200は一般的に、インターネットのような公衆つまり信頼できない通信ネットワーク204、オーバレイ・ネットワーク208、および回線交換ネットワーク212を含む。オーバレイ・ネットワーク208は、公衆通信ネットワーク204上で動作するプライベート・ネットワークを含んでもよい。本発明の一実施形態では、オーバレイ・ネットワーク208はVPNネットワークを含む。言うまでもなく、オーバレイ・ネットワーク208は、Mbone、Abone、または6boneオーバレイ・ネットワークのような、公衆通信ネットワーク上で動作する他の型の通信ネットワークを含んでもよい。オーバレイ・ネットワーク208はまた、当業界で公知の他の型の企業ネットワークをも含んでもよい。
【0025】
オーバレイ・ネットワーク208はトンネルを用いて、公衆通信ネットワーク204上に仮想ネットワークを形成する。VPNオーバレイ・ネットワーク208のユーザには、企業サーバへのアクセス、企業イントラネットへのアクセスなどのようなプライベート・ネットワークの利点がもたらされる一方、VPNオーバレイ・ネットワーク208を維持する企業は、公衆通信ネットワーク204の上にオーバレイ・ネットワークを管理することによってもたらされる低運用コストから利益を得る。VPNオーバレイ・ネットワーク208の異なるノードを、共通サーバに接続することができ(すなわち、ハブ・アンド・スポーク構成)、または分散的に異なるサーバに接続することができる(すなわちメッシュ構成)。適切なVPNオーバレイ・ネットワーク208の例として、IPsec VPN、SSL/TLS VPN、オープンVPN、ポイント・ツー・ポイント・トンネリング・プロトコル(PPTP)VPN、レイヤ2トンネリング・プロトコル(L2TP)VPN、P2TPバージョン3VPN、マルチプロトコル・ラベル・スイッチング(MPLS)VPN、レイヤ2転送(L2F)VPN、レイヤ3VPN、またはいずれかの他の型の公知のIPベースのVPNがあるが、それらに限定されない。
【0026】
本発明の少なくとも1つの実施形態では、オーバレイ・ネットワーク208は、その中に定義された少なくとも1つのP2Pネットワーク232を含む。さらに詳しくは、P2Pネットワーク232はオーバレイ・ネットワーク208の上に確立される。これは、アプリケーション層だけではなく、トランスポート層およびネットワーク層でも完全に自律的なP2Pネットワーク232の実現を可能にする。これは、島状のIP通信装置がP2Pと通信することを可能にする一方で、P2Pネットワーク232が各層のユーザ定義パラメータ(すなわちネットワーク、トランスポート、およびアプリケーション・レベルのユーザ・アクセス制御または企業リーシュ)を持つことを可能にする。P2Pネットワーク232はまた、オーバレイ・ネットワーク208のセキュリティ機能を受け継ぐ。オーバレイ・ネットワーク208内にP2Pネットワーク232を形成することで、異なるセキュリティ・ポリシを持つことを希望し、あるいはP2Pネットワーク232のメンバ間の高品質通信を確実にすることを希望する、ユーザおよび/または通信装置(すなわちエンティティ)の自律したコミュニティの形成が可能になる。
【0027】
例として、P2Pネットワーク232は、VPNで特定用途向けトランスポート・セレクタを適用することによって、IPsec VPNオーバレイ・ネットワーク208の上に定義することができる。特定用途向けトランスポート・セレクタは、P2Pネットワーク232の全メンバに適用されるP2Pネットワーク232用の通信ポリシを確立することができる。一実施形態では、P2Pネットワーク232用のポリシは、VPNオーバレイ・ネットワーク208に属するが、P2Pネットワーク232には属さない、他の通信装置の通信ポリシとは異なる。
【0028】
オーバレイ・ネットワーク208は、ファイヤウォール216または同様の型のセキュリティ装置を介して、公衆通信ネットワーク204に接続することができる。ファイヤウォール216は、オーバレイ・ネットワーク208内のセキュリティを維持しながら、公衆通信ネットワーク204の上にオーバレイ・ネットワーク208を確立することを助ける。ファイヤウォール216は、多数の異なる通信装置を接続するための多数の異なるNAT型をサポートし、ネットワーク外の通信装置からのオーバレイ・ネットワーク208の侵入を検知し、ウィルスの脅威が無いか検査し、オーバレイ・ネットワーク208の容易化に関連する他の機能を実行するように適応させることができる。
【0029】
公衆通信ネットワーク204およびオーバレイ・ネットワーク208は、OSIモデルまたはTCP/IPモデルのネットワーク層で動作する、インターネット・プロトコル(IP)通信のような、パケットをベースとする通信および通信プロトコルをサポートする能力によって特徴付けられる。公衆通信ネットワーク204およびオーバレイ・ネットワーク208は、ゲートウェイ220を介して、回線交換ネットワーク212のような、パケットをベースとしないネットワークと通信するように適応されてもよい。回線交換ネットワーク212は、1つのエンド・ポイントから別のエンド・ポイントへのアナログおよび/またはデジタル通信信号の送信をサポートすることができる。アナログおよび/またはデジタル信号からパケットをベースとする信号へのメッセージの変換は、ゲートウェイ220によって達成される。ゲートウェイ220はまた、パケットをベースとする信号からアナログおよび/またはデジタル信号への変換をもサポートすることができる。したがって、パケットをベースとする通信装置224は、ゲートウェイ220を介して、それぞれの通信ネットワークを通してアナログ通信装置228と通信することができてもよい。さらに、オーバレイ・ネットワーク208および/またはオーバレイ・ネットワーク208内のP2Pネットワークに属するパケットをベースとする通信装置はまた、アナログ通信装置228と通信することを可能としてもよい。
【0030】
図3Aは、本発明の少なくとも一部の実施形態に係る例示的VPNオーバレイ・ネットワーク208を示す。VPNオーバレイ・ネットワーク228は、3つの異なるP2Pネットワーク232a〜cを含むように示されている。VPNオーバレイ・ネットワーク208に3つのP2Pネットワーク232が示されているが、より多数またはより少数のP2Pネットワーク232を、VPNオーバレイ・ネットワーク208またはいずれかの他の型のオーバレイ・ネットワーク208上に確立することができることを、当業者は理解されるであろう。本発明の一実施形態では、VPNオーバレイ・ネットワーク208はVPNサーバ304または同様の型のヘッド・エンドを含む。VPNサーバ304は、様々なP2Pネットワーク232と、P2Pネットワークに割り当てられていない他の通信装置320との間に接続を提供することができる。一実施形態では、VPNオーバレイ・ネットワーク208は、ハブ・アンド・スポーク構成、つまりVPNサーバ304がSIPアプリケーションに感応する透過的トランスポートおよびルータとして働くトポロジに構成することができる。ハブ・アンド・スポーク・トポロジでは、VPNオーバレイ・ネットワーク208に属する通信装置間の通信、および/またはP2Pネットワーク232間の通信は、VPNサーバ304を通してルーティングされる。各P2Pネットワーク232は、P2Pネットワーク232に対して設定されたポリシに応じて、VPNサーバ304に対して異なる従属性を有することができる。
【0031】
代替的実施形態では、VPNオーバレイ・ネットワーク208は、メッシュ・トポロジに構成されることができ、その場合、VPNオーバレイ・ネットワーク208の各通信装置は、VPNサーバ304を使用することなく、他の通信装置と直接通信する。したがって、VPNオーバレイ・ネットワーク208がメッシュ構成である場合、異なるP2Pネットワーク232が相互に直接通信することができる。ハブ・アンド・スポークおよびメッシュ型構成では、VPNオーバレイ・ネットワーク208を管理する企業は、VPNサーバ304でIPフローのきめ細かいトラフィック・アクセス制御を選択することができる。換言すると、IPトラフィックのルーティングは、伝送されるメッセージに応じて、VPNサーバ304を通過してもよく、必ずしも通過しなくてもよい。
【0032】
本発明の実施形態では、VPNサーバ304に管理コンソール308を設けることができる。管理コンソール308は、定義されたVPNオーバレイ・ネットワーク208またはいずれかの他の型のオーバレイ・ネットワーク208に基づき、制約付きP2Pネットワーク232を定義するように適応されることができる。換言すると、管理コンソール308は、P2Pコミュニティ内でどんなエンティティが通信することができるかの境界線を定義することができる。管理コンソール308はまた、所与のP2Pネットワーク232内のエンティティのポリシを定義してもよい。これは、カスタマイズされたセキュリティ機能を形成し、かつ/またはP2Pネットワーク232のメンバ間のより信頼できる通信を確実にするのを助ける。管理コンソール308はまた、様々なP2Pネットワーク232のメンバシップを維持し、かつ施行することができる。図3で分かるように、P2Pネットワーク232は一般的に、VPNオーバレイ・ネットワーク208内の全ての通信装置より少数の装置のメンバシップを含むが、そのような制限されたメンバシップは必須ではない。管理コンソール308は、VPNオーバレイ・ネットワーク208内の通信装置のアイデンティティのみならず、それらのそれぞれのメンバシップをも維持することができる。
【0033】
一実施形態では、管理コンソール308は、P2Pネットワーク232に属する通信装置312と、P2Pネットワーク232に属さない通信装置320とを識別し、かつ区別することができる。さらに、管理コンソール308は、特定の通信装置312および/またはユーザが割り当てられているP2Pネットワーク232のレコードを維持してもよい。例えば、第1組の通信装置312、320は、VPNオーバレイ・ネットワーク208全体に属してよい。これらの通信装置の第1部分集合は、第1P2Pネットワーク232aに属してよく、これらの通信装置の他の部分集合は、第2P2Pネットワーク232bおよび第3P2Pネットワーク232cに属してもよい。本発明の少なくとも一部の実施形態では、通信装置312および/またはユーザは、多数の異なるP2Pネットワーク232に属することができるが、そのような実施形態は図3に明示的に示されていない。
【0034】
管理コンソール308は、P2Pネットワーク232内の自律的なP2P通信を容易にするために、P2Pネットワーク232のメンバシップのレコードを維持してもよい。各P2Pネットワーク232は、その能力およびポリシが、通信するために頼っているインフラストラクチャ(すなわちVPNオーバレイ・ネットワーク208)とは別個に定義される程度に自律的である。管理コンソール308はP2Pネットワーク232の様々な通信装置312と通信して、それらが相互に通信する方法に一貫性があることを確実にすることができる。
【0035】
P2Pネットワーク232の構成および相対的自律性は、P2Pネットワーク232で使用される通信装置の型によっても変化することがある。第1P2Pネットワーク232aは、第1の可能なP2Pネットワーク・トポロジの例を提供する。さらに詳しくは、第1P2Pネットワーク232aは、第1P2Pネットワーク232a内の通信装置312を接続するサーバ316または同様の専用処理および/もしくはルーティング装置を含む。サーバ316は、P2Pネットワーク232のポリシを定義しかつ施行するために管理コンソール308を装備してもよい。管理コンソール308は、メンバ通信装置312間のメッセージおよびデータのルーティングを容易にし、それによってハブ・アンド・スポーク型トポロジを形成するように適応されることができる。しかし、サーバ316を有する第1P2Pネットワーク232aでは、メッシュ・トポロジも企図することができる。サーバ316はまた、第1P2Pネットワーク232aの全ての通信装置312が対等に生まれるように、特定レベルの監督を可能にする、第1P2Pネットワーク232aの1種のスーパノードとしても働くことができる。
【0036】
さらに、第1P2Pネットワーク232aの通信装置312は、第1P2Pネットワーク232aに無い通信装置312との通信セッション中に、サーバ316を通してルーティングされるそれらの着信および発信メッセージを有してもよい。したがって、サーバ316は基本的に、VPNオーバレイ・ネットワーク208の残部およびより広い通信システム200と第1P2Pネットワーク232a全体のためのルータとして働くことができる。
【0037】
本書で使用する場合、用語「サーバ」は、PBX、企業交換機、企業サーバ、または他の型の電気通信システム交換機もしくはサーバのみならず、他の型のプロセッサをベースとする通信制御装置、例えばメディア・サーバ(すなわち電子メール・サーバ、ボイスメール・サーバ、ウェブ・サーバなど)、コンピュータ、付属物等をも含むことを理解されたい。
【0038】
管理コンソール308はまた、第1P2Pネットワーク232a内の通信装置312間の認証を中央管理してもよい。通信装置312間の認証は、通信セッションが行なわれる前に要求されてもよい。認証が中央管理されるP2Pネットワーク232では、接続を確立する前に、鍵が1つの通信装置312から別の通信装置に、または管理コンソール308に直接渡されてもよい。受け取った鍵は次いで、それがまだ管理コンソール308に提供されていなかった場合、それに提供され、そこで認証判定が行なわれる。認証判定は、いずれかの公知の型の対称または非対称プロトコルを用いて行なうことができる。認証が確認された(すなわち、両方の通信装置が同一P2Pネットワーク232に属すると判定された)場合、管理コンソール308は次いで、通信セッションが許可されることを受信側通信装置312に通知する。しかし、P2Pネットワーク232のポリシは、通信セッション中も依然として施行されてもよい。認証のステップは、各通信装置312に、それが同一P2Pネットワーク232の他の通信装置312との安全確実な通信セッションに従事していることを確信させるのに役立つ。
【0039】
代替的実施形態では、通信装置312間の分散認証を可能としてもよい。管理コンソール308は、鍵および関連通信装置312のリストを維持し、該リストを第1P2Pネットワーク232の様々な通信装置312に提供することができる。これにより、P2Pネットワーク232内の全ての通信装置312は、通信セッションを開始する前に、別の通信装置312と共に内部認証することができるようになる。管理コンソール308は適切な通信装置312にリストを周期的に提供し、または要求があり次第、リストを供給することができる。代替的に、管理コンソール308は、リストが更新されたときにいつでもリストを配布してもよい。
【0040】
第2P2Pネットワーク232bは、P2Pネットワーク232の第2のトポロジ例を提供する。第2P2Pネットワーク232bは、より大きいVPNオーバレイ・ネットワーク208へのルータとして働き、P2Pネットワーク232のポリシを調整および管理し、かつ他の処理タスクを実行する、サーバ316を持たない。むしろ、第2P2Pネットワーク232bは複数の通信装置312を含み、そのうちの少なくとも1つは、メッシュ・トポロジで相互接続された管理コンソール308を具備するが、第2P2Pネットワーク232bでハブ・アンド・スポーク・トポロジをサポートしてもよい。
【0041】
図3に示す第2P2Pネットワーク232bでは、各通信装置312は少なくとも2つの他の通信装置312に接続され、結果的にメッシュ・トポロジが形成される。メッシュ・ネットワークは、任意の通信装置312を介して通信装置312間の通信を容易にする。管理コンソール308を含む通信装置312はボス型通信装置312とみなすことができ、一部の予め定められたトラフィックはそこを通過することができるが、トラフィックの残部は第2P2Pネットワーク232bのより広いメッシュを通してルーティングされる。この特定のトポロジは、単一サーバ316の処理要求のみならず、P2Pネットワーク232全体の単一点障害の可能性をも緩和するのに役立つ。第2P2Pネットワーク232bは、管理コンソール308が、VPNオーバレイ・ネットワーク208の通信構造とは独立して、第2P2Pネットワーク232bに特定的な様々なポリシを定義することができるという点で、第1P2Pネットワーク232aと全く同様に自律的である。
【0042】
第2P2Pネットワーク312に属する通信装置312と、該ネットワークに属さない通信装置312、320との間の通信は、指定された通信装置312(すなわち管理コンソール308を含む通信装置312)を通してルーティングすることができる。したがって、指定された通信装置312は、第2P2Pネットワーク232bの他のP2Pネットワーク232、通信装置320、および通信システム200のいずれかの他の通信装置へのルータとして働く。
【0043】
第1P2Pネットワーク232aのサーバ316および第2P2Pネットワーク232bの指定された通信装置312に含まれる管理コンソール308は、自律的に、つまりVPNサーバ304の管理コンソール308からの支援無く、動作するように適応させることができる。したがって、各P2Pネットワーク232は、その対応する管理コンソール308によって局所的に管理することができる。代替的実施形態では、P2Pネットワーク232の管理責任は、VPNサーバ304の管理コンソール308とP2Pネットワーク232に対応する管理コンソール308との間で分担することができる。たとえ1つの通信装置312だけが、そこに設けられた管理コンソール308を有するように図示されていても、VPNオーバレイ・ネットワーク208の各通信装置312が管理コンソール308を備えることができ、それによってVPNサーバ304からの各通信装置312の自律性がもたらされることを当業者は理解されるであろう。
【0044】
第3P2Pネットワーク232cは、本発明の実施形態に従って使用することのできるP2Pネットワーク・トポロジの第3例を提供する。第3P2Pネットワーク232cは、ルータとして働くサーバ316を持たず、局所的管理コンソール308をも持たない。むしろ、第3P2Pネットワーク232cはメッシュ・トポロジで相互接続された複数の通信装置312を含むが、ハブ・アンド・スポーク・トポロジもサポートすることができる。第3P2Pネットワーク232cの通信装置312は基本的に同一能力を含み、同様に動作することができる。第3P2Pネットワーク232cの各通信装置312は、指定された通信装置312を通してメッセージおよびデータをルーティングする代わりに、外部通信装置と通信することができる。
【0045】
各P2Pネットワーク232は、P2Pネットワーク232内の通信のために施行される第1組のポリシ、およびP2Pネットワーク232の外の通信のために施行される第2の異なる組のポリシを持つことができる。P2Pネットワーク232の各通信装置312は、P2Pネットワーク232内で通信するときに同一ポリシに従うことを要求されるので、P2Pネットワーク232内の通信はより確実なセキュリティおよび連続性を持つことができる。これはP2Pネットワーク232内の通信の効率性および信頼性を高める。
【0046】
今、図3Bを参照しながら、ハブ・アンド・スポークP2Pネットワーク232の詳細を、本発明の少なくとも一部の実施形態に従ってさらに説明する。ハブ・アンド・スポークP2Pネットワーク232は、インターネットまたは何らかの他の分散通信ネットワークのような第1通信ネットワーク324を介して、VPNサーバ304と通信する多数の通信装置312のメンバシップを含んでもよい。VPNサーバ304は、企業ネットワークまたは他の型のイントラネットのような第2通信ネットワーク304と通信することができる。VPNサーバ304は、第2通信ネットワーク328を介して管理サーバ332、IP PBX336、および構成データベース340と通信することができる。
【0047】
VPNサーバ304は、P2Pネットワーク232におけるポリシのプロビジョニングおよび施行を可能にすることができる。ハブ・アンド・スポーク・トポロジを越えて、プロビジョニングは、VPNサーバ304との接続性を持ちかつそれを制御する権限を付与された企業のエンティティ(例えば管理サーバ332)からもたらされてもよい。VPNサーバ304は一般的に、P2Pネットワーク232に対しそのようなトポロジにおける施行点として働くことができる。ポリシ規定は、VPNサーバ304による参照のために構成データベース340に維持することができる。
【0048】
規定の施行は、IPトラフィックの解析によって、かつ規則をデータグラムおよびセッション状態で異なる深さで適用することによって、ネットワーク・レベル(例えばIPレベル)、トランスポート・レベル(例えばTCP/UDPレベル)、および/またはアプリケーション・レベル(例えばSIP、ウェブ、SOAP等)で行なわれてもよい。アクセス制御、QoS、およびルーティングの施行に関するポリシは、VPN上に確立されたP2Pハブ・アンド・スポーク・ネットワーク232でVPNサーバ304によって施行されてもよい。
【0049】
今、図3Cを参照しながら、フル・メッシュP2Pネットワーク232モデルの詳細について、本発明の少なくとも一部の実施形態に従って説明する。メッシュP2Pネットワーク232のポリシもまた、VPNサーバ304によって管理されてもよい。しかし、アクセス制御、QoS、およびルーティング・ポリシは、ひとたび制定されると分散され、自律的になってもよい。通信装置312間のP2P通信はノード間で直接的であり、任意選択的に、プロビジョニング時に管理サーバ332から企業構成毎にポリシ条件によって規制されてもよい。
【0050】
フル・メッシュP2Pネットワーク232は、全てのP2Pノードがそのピアにトラフィックをそのピアに直接流すことを可能にする。VPNサーバ304によるポリシの制御は、そのようなトポロジでは任意である。それにもかかわらず、VPNサーバ304は、第2通信ネットワーク328に接続された企業IP PBX336(コール・サーバ)またはいずれかの他のアプリケーション・サーバにP2Pネットワーク232をブリッジさせるように、任意の制御ゲートウェイを形成することができる。VPNサーバ304は、P2Pネットワーク232を規制する参加ポリシに基づいて、P2Pネットワーク232を制御することができる。管理サーバ332はP2Pネットワーク232を構成し、制御管理をVPNサーバ304に委託する。
【0051】
フル・メッシュP2Pネットワーク232は、自律的P2Pネットワーク232がそのコミュニティの外部と、例えば別のP2Pネットワーク232と通信するようになるとき、またはメイン企業(例えばIP PBX336および/またはイントラネット)ユーザ・コミュニティに動的に参加および離脱するようになるときを除き、自律的P2Pネットワークに制御を委託することができる。
【0052】
今、図4Aおよび4Bを参照しながら、管理コンソール308によって使用される2つの例示的データ構造について、本発明の少なくとも一部の実施形態に従って説明する。最初に図4Aを参照しながら、ユーザ中心データ構造404について、本発明の少なくとも一部の実施形態に従って説明する。データ構造404は、P2Pネットワーク232をオーバレイ・ネットワーク208に維持するための多数のデータ・フィールドを含む。データ構造404に設けられるデータ・フィールドの型として、ユーザ・フィールド408、通信装置フィールド412、IDフィールド416、鍵フィールド420、P2Pネットワーク・フィールド424、およびポリシ・フィールド428が挙げられるが、それらに限定されない。
【0053】
ユーザ・フィールド408は、特定のユーザまたはユーザのグループを記載または識別するデータを含む。ユーザは一般的にメンバであり、オーバレイ・ネットワーク208にアクセスすることができる。ユーザはまた、1つまたは複数の通信装置に関連付けられることもあり、それは通信装置フィールド412に記載することができる。通信装置フィールド412は、単数または複数のどの通信装置が特定のユーザに関連付けられるかを記載する。ユーザに関連付けられてもよいそのような装置の例として、例えばコンピュータまたはラップトップ、従来のアナログ電話機、パケットをベースとする電話機、VoIP電話機、セルラ電話機、パーソナル・デジタル・アシスタント(PDA)、ビデオフォン、および/または携帯電子メール検索装置が挙げられる。通信装置の記述は、通信装置の型の記述のみならず、所与の装置の識別子をも含んでもよい。特定の通信装置の識別子は、IPアドレス、内線番号、ポート・アドレス、製造番号、またはいずれかの他の型の一意または準一意の識別子を含むことができる。
【0054】
IDフィールド416は、ユーザおよび/またはユーザの関連通信装置に割り当てられた識別子または他の型の一意のIDを格納する。IDは、管理コンソール308が単一のIDによってエンティティを参照することを可能にする、管理コンソール308用の識別子として働く。図4Aから分かるように、IDはユーザに割り当てられてもよく、あるいはユーザに関連付けられた各通信装置に割り当てられてもよい。管理コンソール308はまた、通信装置の認証中、および通信装置へ/からのメッセージのルーティング中にもIDを使用することができる。
【0055】
認証中に使用されてもよい追加データは鍵である。鍵情報は、鍵フィールド420に維持される。単一ユーザおよび/または通信装置に対し、複数の鍵を鍵フィールド420に維持することができる。鍵フィールド420に維持されてもよい1つの鍵として、認証鍵がある。鍵フィールド420に維持されてもよい第2の鍵として、暗号化鍵がある。認証鍵は、所与の通信装置および/またはユーザを認証し、かつ通信装置および/またはユーザがどのP2Pネットワーク232のメンバであるかを判定するために使用される。暗号化鍵は、P2Pネットワーク232を越えて、かつ/またはP2Pネットワーク232の外部に送信するためのメッセージを暗号化するために使用される。所与のP2Pネットワーク232に対し暗号化ポリシが定義されていない場合にはユーザおよび/または通信装置への暗号化鍵の割当ては不要でもよい。
【0056】
本発明の一実施形態では、各ユーザおよび/または通信装置に一意の認証鍵が割り当てられる。認証鍵は一般的に複数の通信装置間で共有されないので、一意の認証鍵の使用は比較的安全確実なP2Pネットワークをもたらす。代替的に、管理コンソール308が、各々の個人ユーザおよび/または通信装置の名前または種類を決定してもよく、かつP2Pネットワーク232の残部に、それらが探さなければならないものはその決定された名前または種類であることを知らせてもよい。管理コンソール308はまた、P2Pネットワーク232の他の通信装置および/またはユーザに、各々の種類に対応する鍵を通知してもよく、通信装置は、鍵を精査して鍵が信頼できる名前または種類に対応するかどうかを判定することによって、他の通信装置を認証することができる。
【0057】
P2Pネットワーク・フィールド424は、所与のユーザおよび/または通信装置が割り当てられているP2Pネットワーク232があれば、それに関するデータを含むことができる。P2Pネットワークは任意の番号として、または企業の部署として表示ことができる。オーバレイ・ネットワーク208上でP2Pネットワーク232を使用することのできるエンティティの例として、企業で働きかつオーバレイ・ネットワーク208にアクセスすることのできる人間の財務部、エンジニアリング部、法務部、またはいずれかの他の論理的下位部署が挙げられる。
【0058】
P2Pネットワーク識別データを維持することに加えて、データ構造404は、所与のP2Pネットワーク232のためのポリシ・データを含むことができる。上述の通りポリシ・データは各P2Pネットワーク間で異なってもよく、ポリシ・データ・フィールド428に格納される。特定のP2Pネットワーク232に対して定義されるポリシは、OSIモデルまたはTCP/IPモデルのアプリケーション層、トランスポート層、またはネットワーク層の少なくとも1つの動作パラメータを制御することができる。これは、各P2Pネットワーク232のセキュリティを別々に維持し、かつオーバレイ・ネットワーク208内の他のP2Pネットワークから制御することを可能にする。さらに、特定のP2Pネットワーク232は、通信の特定の局面に対してより厳格なポリシを要求することができるが、他のP2Pネットワーク232は、それほど厳格なポリシを要求しなくてもよい。所与のP2Pネットワーク232に対するポリシ、ならびにしたがって割り当てられたユーザおよび/または通信装置に適用されるポリシは、ポリシ・フィールド428に概説される。本発明の一実施形態では、所与のP2Pネットワーク232に対するポリシは、P2Pネットワーク232に割り当てられた全てのエンティティに平等に適用される。ポリシ・データ・フィールド428に定義されるポリシの型として、暗号化ポリシ、セキュリティ・ポリシ、外部通信ポリシ、アプリケーション・ポリシ、ルーティング・ポリシ、通信トラフィック・ポリシ、ならびにアプリケーション層、トランスポート層、および/またはネットワーク層で通信を制御および調整するための他のポリシが挙げられるが、それらに限定されない。
【0059】
単一のユーザが多数の通信装置に関連付けられるように図示されているが、本発明の実施形態では、多数のユーザが単一の通信装置に関連付けられることも考えられる。さらに、たとえ各ユーザが特定のP2Pネットワーク232に割り当てられている状態が図示されていても、本発明の少なくとも一部の実施形態は、ユーザではなく通信装置をP2Pネットワーク232に割り当てる能力を提供する。
【0060】
今、図4Bを参照しながら、P2Pネットワーク中心データ構造432について、本発明の少なくとも一部の実施形態に従って説明する。データ構造432は、所与のP2Pネットワークに関連するデータを含む多数のデータ・フィールドを含むことができる。そのようなデータ・フィールドの例として、P2Pネットワーク識別子フィールド436、ユーザ・フィールド440、IDフィールド444、鍵フィールド448、およびポリシ・フィールド452が挙げられるが、それらに限定されない。
【0061】
P2Pネットワーク識別子フィールド436は、特定のP2Pネットワーク232について記述する情報を含む。各P2Pネットワーク232には、記述的ラベルまたは無作為に割り当てられた英数字ラベルが設けられてもよい。特定のP2Pネットワーク232に割り当てられたエンティティは、ユーザ・フィールド440で識別される。一実施形態では、各P2Pネットワーク232は少なくとも2つのエンティティのメンバシップを含む。ユーザおよび/または通信装置は、1つまたは複数のP2Pネットワーク232に割り当てられてもよい。
【0062】
各P2Pネットワーク232は、所与のP2Pネットワークに一意のIDおよび鍵を割り当てられてもよい。P2PネットワークのIDはIDフィールド444に維持することができ、鍵は鍵フィールド448に維持することができる。鍵はP2Pネットワークに一意とすることができ、したがってP2Pネットワーク内の全てのユーザの間で共有される。鍵は認証鍵および/または暗号化鍵を含むことができる。ユーザおよび/または通信装置が所与のP2Pネットワーク232に割り当てられると、関連付けられた鍵および/またはIDを、割り当てられたユーザおよび/または通信装置に送信することができる。次いで、ユーザが別のユーザに接触しようとするときに、送信側ユーザが同一P2Pネットワーク232に属していることを、受信側ユーザが検証することができ、かつ通信セッションのためのポリシを確立することができるように、鍵および/またはIDは受信側ユーザに送信される。
【0063】
P2Pネットワーク232用の通信ポリシは、ポリシ・フィールド452に維持することができる。ポリシ・フィールド452に記載されたポリシは、ユーザ中心データ構造404のポリシ・フィールド428のポリシと同様とすることができる。管理コンソール308は、P2Pネットワーク232をオーバレイ・ネットワーク208内に維持し、かつさらにそのようなP2Pネットワーク232に割り当てられたエンティティを管理するのを助けるように、一方または両方のデータ構造404、432を利用することができる。データ構造404、432は、所与のP2Pネットワーク232内の通信装置または他のネットワーク・ノードの間で共有することもできる。
【0064】
図5は、本発明の少なくとも一部の実施形態に従ってP2Pネットワーク232を形成する方法を示すフローチャートである。該方法は、VPNオーバレイ・ネットワーク208およびより詳しくはIPsec VPNネットワークのようなオーバレイ・ネットワーク208が、公衆通信ネットワーク204上に確立されたときに、開始される。次いでオーバレイ・ネットワーク208内のエンティティが識別され、メモリに維持される(ステップ504)。
【0065】
ひとたびVPNオーバレイ・ネットワーク208内のエンティティが識別されると、該方法は、これらのエンティティの部分集合を識別することによって続行される(ステップ508)。エンティティの識別された部分集合は一般的に、VPNオーバレイ・ネットワーク208に属するエンティティの集合より小さく、したがってVPNオーバレイ・ネットワーク208に割り当てられた全てのエンティティを包含するものではない。
【0066】
エンティティの部分集合の識別に続いて、該方法は、エンティティの部分集合のP2Pネットワーク232を定義することによって続行される(ステップ512)。P2Pネットワーク232は、VPNオーバレイ・ネットワーク208に関連するセキュリティ上の利点を受け取るために、VPNオーバレイ・ネットワーク208の上に確立される。次いで、エンティティの部分集合は、P2Pネットワーク232でピア・ツー・ピア方式で相互に通信することができる。
【0067】
P2Pネットワーク232がVPNオーバレイ・ネットワーク208の上に確立された後、管理コンソール308はP2Pネットワーク232のポリシを決定する(ステップ516)。ポリシは、ユーザ定義する(すなわち、P2Pネットワーク232に属する1つまたは複数のエンティティによって定義する)か、システム管理者によって定義するか、かつ/またはVPNオーバレイ・ネットワーク208によって確立された特定のベース・ポリシによって定義することができる。決定することのできるポリシの1種として、P2Pネットワーク232で通信するために使用することのできる特定のアプリケーションの定義が挙げられる。アプリケーション・ポリシによって許可または抑制される適切な通信アプリケーションの例として、電子メール、VoIP、SMSテキスト、チャット、インスタント・メッセージング(IM)、およびビデオのみならず、TCP/IPモデルのアプリケーション層で定義されるプロトコル(例えばDHCP、FTP、HTTP、POP3、SIP、SMTP、SSH、RCP、RTP、RTCP、およびDNS)が挙げられる。このステップで定義されるポリシは、トランスポート層プロトコル(例えばTCP、UDP、DCCP、SCTP、GTP等)およびネットワーク層プロトコル(例えばIPv4、IPv6、ARP、RARP、ICMP、IGMP、RSVP、IPsec等々)に対する抑制または許可をも確立することができる。P2Pネットワーク232に対して決定することのできる他のポリシとして、P2Pネットワーク232に属さないエンティティとの通信を規制するポリシが挙げられる。さらに、P2Pネットワーク232内のメッセージのみならず、P2Pネットワークの外部に送出されるメッセージのためのルーティング・ポリシも決定することができる。
【0068】
P2Pネットワーク232のためのポリシが決定されると、管理コンソール308は、P2Pネットワーク232のメンバ・エンティティに対しポリシを施行する(ステップ520)。このステップで、管理コンソール308は、同一P2Pネットワーク232内の2つのエンティティが相互に通信セッションを確立しているときにそれを決定し、エンティティが通信することを可能にするパラメータを定義する。代替的に、P2Pネットワーク232に属する各エンティティにポリシ情報を提供することができ、それらが同一P2Pネットワーク232に属する別のエンティティと通信していることをそれらが決定したときに、エンティティは自動的にポリシを施行して、P2Pネットワーク232と信頼できる一貫した通信を確立するのを助ける。
【0069】
今、図6を参照しながら、P2Pネットワーク232内のエンティティの通信を容易にする方法について、本発明の少なくとも一部の実施形態に従って説明する。該方法は、管理コンソール308がP2Pネットワーク232で使用するための鍵を決定することから開始される。P2Pネットワーク232で使用される鍵は、ネットワーク内の各エンティティに一意とすることができ、あるいは代替的に、ネットワーク自体に一意とすることができる。各エンティティに一意の鍵(例えば暗号化および認証)を利用する実施形態は、同一P2Pネットワーク232の全てのエンティティの間で鍵を共有する場合より高レベルのセキュリティを達成することができる。鍵の大きさは、公知の暗号化および認証プロトコルで使用される任意の大きさとすることができる。P2Pネットワーク232に対しより高レベルのセキュリティを希望する場合には、比較的高強度の鍵(例えば128ビットの鍵)を使用することができる。P2Pネットワーク232に対しより低レベルのセキュリティを希望する場合には、低強度の鍵を、または一般IDさえもエンティティに割り当てることができる。
【0070】
P2Pネットワーク232に対して、さらに詳しくはP2Pネットワーク232に属するエンティティに対して鍵が決定された後、鍵はネットワーク内のエンティティに割り当てられる。エンティティへの鍵の割当ては、単に、エンティティ識別子を上記のデータ構造404、432のどちらかにおける特定の鍵に関連付けることを含む。代替的に、割り当てられた鍵はエンティティに送信し、すぐにアクセスできるようにそこに維持することができる。
【0071】
鍵がP2Pネットワーク232内のエンティティに送信された場合、該方法は、エンティティがそれらの割当て鍵を受信したときに続行される(ステップ612)。使用される送信プロトコルの型は、希望するセキュリティのレベルに依存する。比較的高レベルのセキュリティをP2Pネットワーク232に希望する場合には、鍵は割り当てられたエンティティに送信する前に暗号化することができる。
【0072】
ひとたびエンティティがそれぞれの鍵を受信すると、または少なくとも鍵がそれらに割り当てられると、該方法は、1つのエンティティが別のエンティティと通信を開始したときに続行される(ステップ616)。通信は、別の通信装置によって発呼されたときに、または通信装置もしくはユーザのリストから通信装置もしくはユーザを選択することによって開始される。通信が開始されると、鍵は、受信側エンティティ(すなわち通信セッションを開始した側ではない通信装置)または管理コンソール308のいずれか、認証判定の責任を負う方の装置に送信される(ステップ620)。
【0073】
その後、鍵は適切な装置で受信される(ステップ624)。一実施形態では、鍵は認証の責任を負う装置に直接送信され、受信される。代替的実施形態では、鍵は最初に受信側通信装置に送信され、それが次に鍵を管理コンソール308に転送する。適切な装置が鍵を受信すると、鍵は受信側装置によって解析される(ステップ628)。このステップでは、解析は、送信側通信装置のアイデンティティが何であるか、どのようなユーザが送信側通信装置と関連付けられるか、かつ/またはどのようなP2Pネットワークに送信側通信装置が関連付けられるかを決定することを含んでもよい。鍵の解析は、鍵が送信のために暗号化された場合に特定の解読ステップをも含むだけでなく、単数または複数の鍵がデータ構造404、432内の既知の鍵または鍵フォーマットに照らして比較される比較ステップをも含んでもよい。
【0074】
鍵が適切に解析された後、鍵、およびしたがって送信側エンティティが受信側エンティティと同一P2Pネットワーク232に属するかどうかが決定される(ステップ632)。送信側および受信側エンティティが同一P2Pネットワーク232に属する場合には、管理コンソール308が、装置間の通信を規制する通信ポリシを決定する(ステップ636)。さらに詳しくは、管理コンソール308はP2Pネットワーク232のポリシを決定する。言うまでもなく、管理コンソール308が各通信装置に常駐する場合、各装置は、通信リンクを確立する前に、P2P通信を規制するポリシをすでに知っている。
【0075】
通信ポリシが決定されると、該方法は、それぞれのエンティティ間の通信セッションを許可することによって続行される(ステップ640)。通信セッションを許可することの一部として、セッションのための決定されたポリシが管理コンソール308によって、かつ/または通信装置自体によって施行される(ステップ644)。
【0076】
ステップ632に戻って説明するが、受信した鍵の解析から、送信側エネルギが同一P2Pネットワークに属さないことが示された場合、該方法は、P2Pネットワーク232の外部の通信が許可されるかどうかを決定することによって続行される(ステップ648)。特定のP2Pネットワーク232のエンティティがP2Pネットワーク232に属さない他のエンティティと通信できない場合、エンティティ間の通信は抑制され、通信リンクは切断される(ステップ652)。
【0077】
他方、P2Pネットワーク232の外部のエンティティとの通信が許可される場合、該方法は、P2Pネットワーク232の外部の通信を含むセッションのための通信ポリシを決定することによって続行される(ステップ656)。P2Pネットワーク232の外部の通信を規制するポリシは、P2Pネットワーク232内の通信を規制するポリシとは異なってもよい。例えば、P2Pネットワーク232内では、P2Pネットワーク232の外部より高レベルのセキュリティを達成することができる。さらに、P2Pネットワークから離れる通信の場合、ルーティング・ポリシが異なってもよい。例えば、通信装置312またはサーバ316は、P2Pネットワーク232内に留まらない、あるいはP2Pネットワーク232から生じたものでない全てメッセージの経路の通過点として指定されてもよい。これは本質的に、同一オーバレイ・ネットワーク208に属するエンティティが必ずしも同一のやり方で相互に通信しなくてもよいことを意味する。むしろ、そのような通信の性質は、それぞれのエンティティがP2Pネットワーク232に属しているならば、どのP2Pネットワーク232に属しているかによって異なる。言うまでもなく、通信セッションは依然として、オーバレイ・ネットワーク208によって定められたフレームワークおよびポリシを全体として維持する。
【0078】
ひとたびP2Pネットワーク232外部の通信セッションの許可が確立されると、該方法は、エンティティ間の通信セッションを許可することによって続行される(ステップ660)。P2Pネットワーク232外部の通信セッションを許可することの一部として、セッションのための決定されたポリシが管理コンソール308によって、かつ/または通信装置自体によって施行される(ステップ644)。さらに、指定されたルーティング装置を介して通信をルーティングさせるようにポリシから指示される場合、通信セッションは、選択されたルーティング装置を介してメッセージをルーティングすることで続行される(ステップ668)。指定ルーティング装置は通常、少なくとも一方のエンティティのP2Pネットワーク232の一部である。さらに、両方のエンティティが異なるP2Pネットワーク232に属する場合、各々が、指定ルーティング装置を介してメッセージをルーティングするように要求されてもよく、その場合、全てのメッセージは2つの予め定められたルーティング装置を介してルーティングされる。
【0079】
図7は、本発明の少なくとも一部の実施形態に従って使用される例示的パケット構造700を示す。パケット700は、ネスト状三重オーバレイとも呼ばれる3層ポリシ法のP2P VPNの場合、3層に分割することができる。パケット700は、第1層の第1部分に対応する外側IPトンネル・ヘッダ704、第1層の第2部分に対応するIPsecヘッダ708、第1層の第3部分に対応する内側IPヘッダ712、第2層に対応するTCP/UFPヘッダ716、および第3層に対応するアプリケーション特定的ヘッダ720を含むことができる。パケット700はまた、パケット・ペイロードを担持するためのペイロード部724、およびIPsecトレイラ728をも含むことができる。3つの層は独立していてもよく、多くの場合、同時にパケット700に加えることができる。内側IPヘッダ712、TCP/UDPヘッダ716、アプリケーション特定的ヘッダ720、および/またはペイロード部724は、信頼できないネットワークで送信するために暗号化されるパケットの部分を含んでもよい。パケット700の暗号化された部分は、セキュリティ・ポリシに応じてVPNサーバ304に可視または不可視とすることができる。VPNサーバ304がより大きい制御を実施し、自律性の低いP2Pネットワーク232が形成される場合、暗号化部分はハブ・アンド・スポークP2Pネットワーク232に対し可視とされてもよい。より少ない制御およびより大きい自律性がP2Pネットワーク232に与えられる場合、該部分はメッシュP2Pネットワーク232で不可視とされてもよい。
【0080】
第1層は、オーバレイ・ネットワーク208上のP2Pネットワーク232の層3ポリシに対応する。第1層は3つの異なる部分に分割されてもよい。第1層の第1部分は、フル・メッシュ構成では宛先メッシュ・ノードに、またはハブ・アンド・スポーク構成ではVPNサーバ304を介して宛先P2Pノードに、トラフィックを案内するために、外側IPトンネル・ヘッダ704を使用することができる。したがって、ハブ・アンド・スポーク構成では、パケット700は、パケットの上で宛先を記述する追加の外側IPヘッダ(図示せず)を含むことができる。いずれの構成でも、外側IPトンネル・ヘッダ704はQoS情報を担持することができる。外側IPトンネル・ヘッダ704の情報は、宛先に基づく宛先制御のため、およびルーティングの決定のためにも使用することができる。IPsecヘッダ708によって表わされる第1層の第2部分は主として、セキュリティ・ポリシ施行情報を担持するために使用することができる。内側IPヘッダ712によって表わされる第1層の第3部分は、追加施行情報のみならず、ハブ・アンド・スポーク構成に対するVPNサーバ304による制御に関するデータをも担持するために使用することができる。内側Ipヘッダ712内の情報は、最終宛先のQoSポリシをも変更させてもよい。
【0081】
第2層は、オーバレイ・ネットワーク208上のP2Pネットワーク232のための層4ポリシに対応する。第2層はTCP/UDPヘッダ716を利用して、トランスポート層でアプリケーション・プロトコルを区別するための情報を格納するTCP/UDPヘッダ716を用いて、強いアクセス制御を適用することもできる。これらのアクセス制御はVPNポリシの柔軟性によって左右される。例えば、アクセス制御ポリシは、VPNの構成がエンド・ツー・エンドであるか、それともハブをベースとするかによって、かつ暗号化が施行されるか否かによって変化する。
【0082】
第3層はアプリケーション・ポリシに対応し、アプリケーション特定的ヘッダ720を利用してアプリケーション特定的情報を格納する。例えば、アプリケーション特定的ヘッダ720は、SIP P2Pノード・ユーザが、SIPインスタント・メッセージおよび他のSIPをベースとする機能を遮断しながら、SIP呼を発信することができるか否かを決定するために使用することができる。これは、アプリケーションおよびそれによって使用されるSIPプロトコルに特定的な機能ポリシである。情報は、QoSポリシの一部としてどのコーデックを使用することができるか、およびどの帯域幅を使用することができるかを決定するために使用することもできる。それはまた、TLS暗号化信号およびSRTP暗号化メディアをペイロード部724でトランスポートすることができるかどうかをも制御することができる。アプリケーション特定的ヘッダ720はまた、特定の呼をルーティング・ポリシの1例として企業のボイスメールにリダイレクトすべきであるかどうかを決定する情報をも含むことができる。
【0083】
上述の通り、3層ネスト状オーバレイでは、P2Pネットワーク・オーバレイは、IPsec VPN構成(例えばメッシュまたはハブ・アンド・スポーク構成)によって定義されるベースIP層(すなわち第1層)に実現することができる。第1層にはさらに、TCP/UDPトランスポート層つまり第2層を重ねることができる。第2層は、ポート番号およびプロトコル(例えばTCP、UDP、またはICMP)を使用することによって、P2Pネットワークで使用される異なるプロトコル(例えばSIP、SMTP、HTTP、FTP、テルネット等)を区別する。これらの層には両方とも、アプリケーション・レベルのアウェアネスを定義する第3層を重ねることができる。第3層は、ハブ・アンド・スポーク構成ではアプリケーション層ゲートウェイまたはモジュールを介して、またはフル・メッシュ構成の場合はP2Pノードで分散アプリケーション・ポリシ構成によって、VPNサーバ304の論理を定義することができる。構成時間の関与を除き、管理サーバ332および企業インフラストラクチャの残部(例えば第2通信ネットワーク328に接続された装置)は、P2P VPNをその自律インパルスおよびトポロジに基づく制御に任す。
【0084】
上述したフローチャートを事象の特定の順序に関連して説明したが、本発明の動作に実質的に影響を及ぼすことなく、この順序を変化させることができることを理解されたい。加えて、事象の正確な順序は、例示的実施形態で記載した通りに発生する必要は無い。本書に示す例示的技術は、具体的に例証した実施形態に限定されず、他の例示的実施形態と共に利用することもでき、記載した各特徴は個別にかつ別々に請求可能である。
【0085】
本発明のシステム、方法、およびプロトコルは、記載した通信機器、プログラムされたマイクロプロセッサもしくはマイクロコントローラおよび周辺集積回路素子、ASICまたは他の集積回路、デジタル信号プロセッサ、離散素子回路のようなハードワイヤード電子もしくは論理回路、PLD、PLA、FPGA、PALのようなプログラム可能な論理デバイス、電話機のような通信装置、いずれかの匹敵する手段などに加えて、またはその代わりに、専用コンピュータ上に実現することができる。一般的に、本書で例証した方法論を実現することのできる状態機械を実現することのできる任意の装置を使用して、本発明に係る様々な通信方法、プロトコル、および技術を実現することができる。
【0086】
さらに、開示した方法は、様々なコンピュータまたはワークステーション・プラットフォームで使用することのできる移植可能なソースコードを提供する、オブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用してソフトウェアで容易に実現することができる。代替的に、開始したシステムは、標準論理回路またはVLSI設計を使用して、部分的にまたは完全にハードウェアで実現することができる。ソフトウェアまたはハードウェアのいずれを使用して本発明に係るシステムを実現するかは、システムの速度および/または効率要件、特定の機能、および利用される特定のソフトウェアもしくはハードウェア・システムまたはマイクロプロセッサもしくはマイクロコンピュータ・システムに依存する。本書で例証した通信システム、方法、およびプロトコルは、本書に提示した機能的説明から、かつコンピュータおよび通信技術の一般的な基礎知識により、該当する技術分野の通常の熟練者によって、いずれかの公知または後で開発されるシステムもしくは構造、装置、および/またはソフトウェアを用いることによって、ハードウェア、および/またはソフトウェアで容易に実現することができる。
【0087】
さらに、開示した方法は、記憶媒体に格納し、かつコントローラおよびメモリと協働してプログラムされた汎用コンピュータ上で、専用コンピュータ上、マイクロプロセッサ上などで実行することのできるソフトウェアで容易に実現することができる。これらの場合、本発明のシステムおよび方法は、パーソナル・コンピュータ上に埋め込まれたアプレット、JAVA(登録商標)またはCGIスクリプトのようなプログラムとして、サーバまたはコンピュータ・ワークステーションに常駐するリソースとして、専用通信システムまたはシステム構成要素に埋め込まれたルーチンなどとして実現することができる。システムはまた、システムおよび/または方法を、通信装置またはシステムのハードウェアおよびソフトウェア・システムのようなソフトウェアおよび/またはハードウェア・システムに、物理的に組み込むことによって実現することもできる。
【0088】
したがって、P2Pネットワークを提供するためのシステム、装置、および方法が本発明に従って提供されたことは明白である。本発明を多数の実施形態に関連して説明したが、該当する技術分野の通常の熟練者にとって、多くの代替物、変形、および変化が明白になることは明らかである。したがって、本発明の精神および範囲内の全てのそのような代替物、変形、均等物、および変化を包含するつもりである。
【図面の簡単な説明】
【0089】
【図1】先行技術の実施形態に係るVPNシステムを示すブロック図である。
【図2】本発明の実施形態に係るオーバレイ・ネットワーク上のP2Pネットワークによる通信システムを示すブロック図である。
【図3A】本発明の実施形態に係るP2Pネットワークの可能な構成を示すブロック図である。
【図3B】本発明の実施形態に係るハブ・アンド・スポークP2Pネットワークの詳細を示すブロック図である。
【図3C】本発明の実施形態に係るフル・メッシュP2Pネットワークの詳細を示すブロック図である。
【図4A】本発明の実施形態に従って使用される第1の可能なデータ構造を示す図表である。
【図4B】本発明の実施形態に従って使用される第2の可能なデータ構造を示す図表である。
【図5】本発明の実施形態に従ってP2Pネットワークを形成する方法を示す流れ図である。
【図6】本発明の実施形態に従ってP2Pネットワークでの装置の通信を容易にする方法を示す流れ図である。
【図7】本発明の実施形態に従って使用されるパケット構造を示すブロック図である。
【特許請求の範囲】
【請求項1】
第1組の通信装置および第1組のユーザの少なくとも一方のための仮想プライベート・ネットワーク(VPN)オーバレイ・ネットワークを提供すること、および
前記オーバレイ・ネットワーク上に第2組の通信装置および第2組のユーザの少なくとも一方のためのピア・ツー・ピア・ネットワークを定義すること、
を含む方法。
【請求項2】
公衆通信ネットワークの上に確立されたオーバレイ・ネットワークであって、相互に通信することのできる第1組の通信装置および第1組のユーザの少なくとも一方を有する前記オーバレイ・ネットワークにおいて、
前記ピア・ツー・ピア・ネットワークが前記第1組の通信装置内の第2組の通信装置および前記第1組のユーザ内の第2組のユーザの少なくとも一方を含むピア・ツー・ピア・ネットワークを、前記オーバレイ・ネットワーク上に定義するための管理手段、
を含む装置。
【請求項3】
(a)管理手段が、ピア・ツー・ピア・ネットワークを少なくとも部分的に容易にするように適応されたサーバ上に常駐すること、および
(b)管理手段が、ピア・ツー・ピア・ネットワークに属するユーザに関連付けられた通信装置上に常駐すること、
の少なくとも一方が真である、請求項2に記載の装置。
【請求項4】
(a)前記第1組の通信装置が前記第2組の通信装置の全ての通信装置を含み、かつ前記第2組の通信装置が前記第1組の通信装置の全ての通信装置を含むものではないこと、および
(b)前記第2組のユーザの全てのユーザが前記第1組のユーザに含まれ、前記第1組のユーザの全てのユーザが前記第2組のユーザに含まれるわけではないこと、
の少なくとも一方が真である、請求項1に記載の方法、または請求項2に記載の装置。
【請求項5】
前記第2組の通信装置および第2組のユーザの少なくとも一方に対して通信ポリシが定義され、前記通信ポリシがピア・ツー・ピア・ネットワークでの通信、およびピア・ツー・ピア・ネットワークから前記第1組の通信装置および前記第1組のユーザの少なくとも一方における通信装置の残部への通信に対して施行される、請求項1に記載の方法、または請求項2に記載の装置。
【請求項6】
通信ポリシがセキュリティ・ポリシ、許可、ルーティング・ポリシ、許容アプリケーション、および暗号化ポリシの少なくとも1つを含み、前記ポリシが、TCP/IPアプリケーション層プロトコル、トランスポート層プロトコル、およびネットワーク層プロトコルの少なくとも1つに関係する抑制および許可の1つを含み、ピア・ツー・ピア・ネットワーク内の各通信装置に対し名前および種類の少なくとも1つが決定され、ピア・ツー・ピア・ネットワーク内の各通信装置に鍵が割り当てられ、ピア・ツー・ピア・ネットワークに属する受信側通信装置は送信側通信装置から鍵を受信し、受信した鍵はピア・ツー・ピア・ネットワーク内の通信装置の名前および種類の少なくとも1つとに一致することが決定され、前記通信ポリシに従って前記受信側通信装置と前記送信側通信装置との間の通信セッションが許可される、請求項5に記載の方法または装置。
【請求項7】
第2組の通信装置および第2組のユーザの前記少なくとも一方が第2組のユーザであり、識別子および鍵の少なくとも一方が決定され、識別子および鍵の前記少なくとも一方がピア・ツー・ピア・ネットワーク内の各通信装置に割り当てられ、通信における割り当てられた鍵の使用は、割り当てられた鍵を提供するユーザが第2組のユーザに属することを示し、ピア・ツー・ピア・ネットワークに属する受信側通信装置は送信側通信装置から識別子および鍵の少なくとも一方を受信し、受信した識別子および鍵の前記少なくとも一方は、割り当てられた識別子および鍵の前記少なくとも一方と一致することが決定され、前記通信ポリシに従って前記受信側通信装置と前記送信側通信装置との間の通信セッションが許可され、
前記第2組のユーザの各ユーザに割り当てられた鍵が共通鍵を含むこと、および
前記第2組のユーザの各ユーザに割り当てられた鍵が一意の鍵を含むこと、
の少なくとも一方が真である、請求項5に記載の方法または装置。
【請求項8】
ピア・ツー・ピア・ネットワークの通信装置が、ピア・ツー・ピア・ネットワーク外の通信装置との通信を確立することを希望し、前記ピア・ツー・ピア・ネットワーク内の前記通信装置が、前記ピア・ツー・ピア・ネットワーク外の前記通信装置に送信するためのメッセージを生成し、前記メッセージが、前記ピア・ツー・ピア・ネットワークに属する予め定められた通信装置を解してメッセージをルーティングすることによって、前記ピア・ツー・ピア・ネットワーク外の前記通信装置に送信される、請求項1および2のいずれか1項に記載の方法または装置。
【請求項9】
第2組の通信装置および第2組のユーザの前記少なくとも一方が第2組のユーザであり、前記第2組のユーザが、外側IPトンネル・ヘッダ、IPsecヘッダ、および内側IPヘッダ、TCP/UDPヘッダ、アプリケーション特定的ヘッダ、ならびにデータ・ペイロードを含むパケットを使用して、相互に通信する、請求項1および2のいずれか1項に記載の方法または装置。
【請求項10】
前記ピア・ツー・ピア・ネットワークがメッシュ・トポロジおよびハブ・アンド・スポーク・トポロジの少なくとも一方を含み、前記ピア・ツー・ピア・ネットワーク内の各通信装置は、予め定められたTCP/IPアプリケーション層プロトコルを使用して相互の通信を確立するように適応され、前記オーバレイ・ネットワークは、メッシュおよびハブ・アンド・スポーク・トポロジの少なくとも一方で構成されたIPsec、L2、およびL3 VPNオーバレイ・ネットワークの少なくとも1つを含む、請求項2に記載の装置。
【請求項1】
第1組の通信装置および第1組のユーザの少なくとも一方のための仮想プライベート・ネットワーク(VPN)オーバレイ・ネットワークを提供すること、および
前記オーバレイ・ネットワーク上に第2組の通信装置および第2組のユーザの少なくとも一方のためのピア・ツー・ピア・ネットワークを定義すること、
を含む方法。
【請求項2】
公衆通信ネットワークの上に確立されたオーバレイ・ネットワークであって、相互に通信することのできる第1組の通信装置および第1組のユーザの少なくとも一方を有する前記オーバレイ・ネットワークにおいて、
前記ピア・ツー・ピア・ネットワークが前記第1組の通信装置内の第2組の通信装置および前記第1組のユーザ内の第2組のユーザの少なくとも一方を含むピア・ツー・ピア・ネットワークを、前記オーバレイ・ネットワーク上に定義するための管理手段、
を含む装置。
【請求項3】
(a)管理手段が、ピア・ツー・ピア・ネットワークを少なくとも部分的に容易にするように適応されたサーバ上に常駐すること、および
(b)管理手段が、ピア・ツー・ピア・ネットワークに属するユーザに関連付けられた通信装置上に常駐すること、
の少なくとも一方が真である、請求項2に記載の装置。
【請求項4】
(a)前記第1組の通信装置が前記第2組の通信装置の全ての通信装置を含み、かつ前記第2組の通信装置が前記第1組の通信装置の全ての通信装置を含むものではないこと、および
(b)前記第2組のユーザの全てのユーザが前記第1組のユーザに含まれ、前記第1組のユーザの全てのユーザが前記第2組のユーザに含まれるわけではないこと、
の少なくとも一方が真である、請求項1に記載の方法、または請求項2に記載の装置。
【請求項5】
前記第2組の通信装置および第2組のユーザの少なくとも一方に対して通信ポリシが定義され、前記通信ポリシがピア・ツー・ピア・ネットワークでの通信、およびピア・ツー・ピア・ネットワークから前記第1組の通信装置および前記第1組のユーザの少なくとも一方における通信装置の残部への通信に対して施行される、請求項1に記載の方法、または請求項2に記載の装置。
【請求項6】
通信ポリシがセキュリティ・ポリシ、許可、ルーティング・ポリシ、許容アプリケーション、および暗号化ポリシの少なくとも1つを含み、前記ポリシが、TCP/IPアプリケーション層プロトコル、トランスポート層プロトコル、およびネットワーク層プロトコルの少なくとも1つに関係する抑制および許可の1つを含み、ピア・ツー・ピア・ネットワーク内の各通信装置に対し名前および種類の少なくとも1つが決定され、ピア・ツー・ピア・ネットワーク内の各通信装置に鍵が割り当てられ、ピア・ツー・ピア・ネットワークに属する受信側通信装置は送信側通信装置から鍵を受信し、受信した鍵はピア・ツー・ピア・ネットワーク内の通信装置の名前および種類の少なくとも1つとに一致することが決定され、前記通信ポリシに従って前記受信側通信装置と前記送信側通信装置との間の通信セッションが許可される、請求項5に記載の方法または装置。
【請求項7】
第2組の通信装置および第2組のユーザの前記少なくとも一方が第2組のユーザであり、識別子および鍵の少なくとも一方が決定され、識別子および鍵の前記少なくとも一方がピア・ツー・ピア・ネットワーク内の各通信装置に割り当てられ、通信における割り当てられた鍵の使用は、割り当てられた鍵を提供するユーザが第2組のユーザに属することを示し、ピア・ツー・ピア・ネットワークに属する受信側通信装置は送信側通信装置から識別子および鍵の少なくとも一方を受信し、受信した識別子および鍵の前記少なくとも一方は、割り当てられた識別子および鍵の前記少なくとも一方と一致することが決定され、前記通信ポリシに従って前記受信側通信装置と前記送信側通信装置との間の通信セッションが許可され、
前記第2組のユーザの各ユーザに割り当てられた鍵が共通鍵を含むこと、および
前記第2組のユーザの各ユーザに割り当てられた鍵が一意の鍵を含むこと、
の少なくとも一方が真である、請求項5に記載の方法または装置。
【請求項8】
ピア・ツー・ピア・ネットワークの通信装置が、ピア・ツー・ピア・ネットワーク外の通信装置との通信を確立することを希望し、前記ピア・ツー・ピア・ネットワーク内の前記通信装置が、前記ピア・ツー・ピア・ネットワーク外の前記通信装置に送信するためのメッセージを生成し、前記メッセージが、前記ピア・ツー・ピア・ネットワークに属する予め定められた通信装置を解してメッセージをルーティングすることによって、前記ピア・ツー・ピア・ネットワーク外の前記通信装置に送信される、請求項1および2のいずれか1項に記載の方法または装置。
【請求項9】
第2組の通信装置および第2組のユーザの前記少なくとも一方が第2組のユーザであり、前記第2組のユーザが、外側IPトンネル・ヘッダ、IPsecヘッダ、および内側IPヘッダ、TCP/UDPヘッダ、アプリケーション特定的ヘッダ、ならびにデータ・ペイロードを含むパケットを使用して、相互に通信する、請求項1および2のいずれか1項に記載の方法または装置。
【請求項10】
前記ピア・ツー・ピア・ネットワークがメッシュ・トポロジおよびハブ・アンド・スポーク・トポロジの少なくとも一方を含み、前記ピア・ツー・ピア・ネットワーク内の各通信装置は、予め定められたTCP/IPアプリケーション層プロトコルを使用して相互の通信を確立するように適応され、前記オーバレイ・ネットワークは、メッシュおよびハブ・アンド・スポーク・トポロジの少なくとも一方で構成されたIPsec、L2、およびL3 VPNオーバレイ・ネットワークの少なくとも1つを含む、請求項2に記載の装置。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図2】
【図3A】
【図3B】
【図3C】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【公開番号】特開2008−306725(P2008−306725A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2008−148684(P2008−148684)
【出願日】平成20年6月6日(2008.6.6)
【出願人】(506079711)アバイア テクノロジー エルエルシー (45)
【Fターム(参考)】
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願日】平成20年6月6日(2008.6.6)
【出願人】(506079711)アバイア テクノロジー エルエルシー (45)
【Fターム(参考)】
[ Back to top ]