説明

ネットワークシステム、コンピュータプログラム、及び、通信確立方法

【課題】各ピア間における通信を速やかに確立することができるネットワークシステムを提供する。
【解決手段】本発明のネットワークシステムは、互いにピアツーピア通信を行う複数のピアによって構成されている。複数のピアには、ランデブーピアが複数含まれている。複数のピアの内、一のピアは、ピアIDと複数のピアそれぞれに付与された部署情報とを対応付けたIDリスト、及び複数のランデブーピアそれぞれに付与された部署情報とランデブーピアのIPアドレスとを対応付けた中継ピアリストを記憶した記憶部3と、前記IDリスト、及び前記中継ピアリストを参照することで、宛先のピアに付与された部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを選択する選択部2と、選択部2が選択したIPアドレスに基づいて、宛先のピアに対する接続要求をランデブーピアに送信する通信制御部1とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上の複数のピアが互いにピアツーピア通信を行うネットワークシステム、コンピュータプログラム、及び、通信確立方法に関するものである。
【背景技術】
【0002】
コンピュータ等を用いたネットワークシステムにおいては、従来から、クライアントサーバ型が多く採用されてきたが、近年、各端末等(ピア)が対等な関係でネットワーク通信を行うピアツーピア型のネットワークシステムが多く採用されている。
このようなピアツーピア型のネットワークシステムの構築技術として、例えば、JXTAといった通信プロトコルを挙げることができる(例えば、非特許文献1参照)。
図7は、上記JXTAを採用したネットワークシステムにおけるネットワーク通信の態様を説明するための図である。
【0003】
図7に示すネットワークシステムは、複数のピアグループ(図例では2つ)により構成されている。各ピアグループG10,G20は、それぞれ、複数のピアを含んでいる。各ピアは、それぞれ固有のIDが割り当てられている。
また、各ピアグループG10,G20それぞれを構成する複数のピアの内の一つは、同じグループ内の他のピアのIDやIPアドレス等の宛先情報を含んだピアに関する情報等を記憶することで、当該ピアグループを形成する中継ピアとしての機能を有している。これら中継ピア(以下、ランデブーピアともいう)P100,P200は、他のグループのピアから送信される接続要求等の情報を受信し自己のグループに含まれるピアに中継する。
【0004】
ここで、ピアグループG10に属するピアP110が、ピアグループG20に属するピアP210との間で通信を確立する場合について説明する。ピアP110が、ピアグループG20のピアP210との間で通信を行おうとする場合、まず、通信の宛先であるピアP210のIDや通信に必要な接続情報等の情報を含む接続要求をランデブーピアP200に送信する。ピアP110は、予め、各ピアグループそれぞれのランデブーピアの宛先情報に関する情報を記憶している。ピアP110は、その中から、自己の属するグループ以外のランデブーピアP200を選択し、前記接続要求を送信する。
【0005】
各ランデブーピアは、他のグループからの接続要求を受信すると、自己のグループ内に当該接続要求の宛先となるピアの有無を、当該ランデブーピアが記憶している自己のピアグループに属するピアに関する情報を参照して検索する。自己のグループ内に前記接続要求の宛先のピアが有れば、そのピアに当該接続要求を送信する。自己のグループ内に前記接続要求の宛先のピアが無ければ、当該ランデブーピアは、他のピアグループのランデブーピアに前記接続要求を転送する。
図の場合、ピアグループ2には、ピアP210が含まれているので、ランデブーピアP200は、ピアP210に関する情報を発見し、前記接続要求をピアP210に送信する。
【0006】
前記接続要求を受信したピアP210は、当該接続要求に含まれるピアP110に関する情報に基づいて、ピアP110に対して、自己の接続情報等を含んだ接続応答を送信する。
接続応答を受信したピアP110は、当該接続応答に含まれるピアP210の接続情報に基づいて、ピアP210との間で通信を確立することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】JXTA(TM) Community Project、https://jxta.dev.java.net/
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記図7にて示したように、ピアP110により送信される接続要求が、当該接続要求の宛先であるピアP210を含んだピアグループG20のランデブーピアP200に直接送信されれば、ピアP110と、ピアP210との間の通信の確立は速やかに行われる。
しかし、例えば、図8のように、ピアグループが多数存在する場合(図例では4つ)、ピアP110は、無作為にランデブーピアを選択し前記接続要求を送信するので、当該接続要求がピアP210を含んだピアグループ2のランデブーピアP200に到達するまでに、他のグループG30,G40に属するランデブーピアP300,P400を経由する場合がある。
すなわち、従来のピアツーピア型のネットワークシステムでは、一のピアが、通信を確立しようとしている宛先のピアが属するグループのランデブーピアを事前に特定することなく接続要求を送信するので、当該接続要求が多数のランデブーピアを経由した後に通信の宛先のピアに到達することとなり、各ピア間における通信を速やかに確立できないおそれがあった。
【0009】
本発明はこのような事情に鑑みてなされたものであり、ピアツーピア型のネットワークシステムにおいて、通信の宛先のピアが属するピアグループの中継ピアを効率よく特定し、各ピア間における通信を速やかに確立することができるネットワークシステム、コンピュータプログラム、及び、通信接続方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
(1)本発明は、互いにピアツーピア通信を行う複数のピアによって構成されたネットワークシステムであって、前記複数のピアそれぞれには予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報が付与されており、前記複数のピアには、前記属性情報に基づく関連性を有するピア同士でピアグループを形成するとともに、自己が形成するピアグループ以外の一のピアが送信する接続要求を受信し、当該ピアグループに属する前記接続要求の宛先である他のピアに、前記通信要求を中継する中継ピアが複数含まれており、前記一のピアは、前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された前記属性情報とを対応付けたIDリスト、及び、前記複数の中継ピアそれぞれに付与された前記属性情報と、前記複数の中継ピアの宛先情報とを対応付けた中継ピアリストを記憶した記憶部と、前記IDリストを参照することで前記他のピアのIDに付与された前記属性情報を取得するとともに、前記中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択部と、前記選択部が選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する通信制御部と、を備えていることを特徴としている。
【0011】
上記構成のネットワークシステムによれば、中継ピアが属性情報に基づく関連性を有するピア同士でピアグループを形成するとともに、IDリスト及び中継ピアリストを参照することで、他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択部を備えているので、他のピアが属するピアグループの中継ピアを効率よく特定することができる。この結果、一のピアが送信する接続要求が多数の中継ピアを経由して他のピアに到達するのを抑制でき、一のピアと他のピアとの通信を速やかに確立することができる。
【0012】
(2)(3)また、上記ネットワークシステムにおいて、前記複数の属性情報が、階層構造を構成する複数の要素であり、前記選択部は、予め定められた、前記複数の要素相互間の階層関係に関する基準によって、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択することが好ましく、さらに、前記複数の要素が、会社組織を構成する複数の部署であることが好ましい。
この場合、選択部は、予め定められた階層関係に関する基準によって、中継ピアの宛先情報を選択することができるので、的確な選択を行うことができる。
【0013】
(4)また、前記中継ピアは、前記属性情報に基づく関連性を有するピアに関するピア情報を記憶することで、前記ピアグループを形成するものであり、前記選択部は、前記中継ピアリストを参照することで、自己の属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択し、前記通信制御部は、自己の属性情報と関連性を有する属性情報が付与された中継ピアに自己のピア情報を記憶させるために、前記選択部が選択した宛先情報に基づいて自己のピア情報を当該中継ピアに送信するものであってもよい。
この場合、中継ピアは、自己が形成するピアグループに属するピアを、確実に、自己の属性情報と関連性を有する属性情報が付与されたものとすることができる。この結果、選択部は、接続要求を送信すべき中継ピアをより的確に選択することができる。
【0014】
(5)また、本発明は、ネットワーク上の複数のピアが互いにピアツーピア通信を行うネットワークシステムにおいて、一のピアに実行させるためのコンピュータプログラムであって、前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された、予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報と、を対応付けたIDリストを参照することで、当該一のピアが接続要求を送信する宛先である他のピアのIDに付与された前記属性情報を取得するとともに、前記属性情報に基づく関連性を有するピアグループを形成する、前記複数のピアの内の複数の中継ピアそれぞれに対して付与された前記属性情報と、前記複数の中継ピアの宛先情報と、を対応付けた中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択ステップと、前記選択ステップにて選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する送信ステップと、を備えていることを特徴としている。
【0015】
上記構成のコンピュータプログラムによれば、IDリスト及び中継ピアリストを参照することで、他のピアに対する接続要求を送信すべき中継ピアの宛先情報を選択する選択ステップを備えているので、他のピアが属するピアグループの中継ピアを効率よく特定することができ、一のピアと他のピアとの通信を速やかに確立することができる。
【0016】
(6)また、本発明は、互いに通信可能な複数の端末コンピュータを有するネットワークシステムにおける、一のピアが他のピアに対して接続要求を送信することで、通信を確立する通信確立方法であって、前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された、予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報と、を対応付けたIDリストを参照することで、当該一のピアが接続要求を送信する宛先である他のピアのIDに付与された前記属性情報を取得するとともに、前記属性情報に基づく関連性を有するピアグループを形成する、前記複数のピアの内の複数の中継ピアそれぞれに対して付与された前記属性情報と、前記複数の中継ピアの宛先情報と、を対応付けた中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択ステップと、前記選択ステップにて選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する送信ステップと、を備えていることを特徴としている。
【0017】
上記構成の通信確立方法によれば、IDリスト及び中継ピアリストを参照することで、他のピアに対する接続要求を送信すべき中継ピアの宛先情報を選択する選択ステップを備えているので、他のピアが属するピアグループの中継ピアを効率よく特定することができ、一のピアと他のピアとの通信を速やかに確立することができる。
【発明の効果】
【0018】
以上のように、本発明のネットワークシステム、コンピュータプログラム、及び通信確立方法によれば、通信の宛先のピアが属するピアグループの中継ピアを効率よく特定でき、各ピア間における通信を速やかに確立することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の第一の実施形態に係るネットワークシステムに用いられる端末コンピュータの構成を示す図である。
【図2】各端末コンピュータにより構成されるネットワークシステムの構造を示す図である。
【図3】当該ネットワークシステムが適用されている企業の組織の一例を示す図である。
【図4】エージェントが有する、本発明に係る通信確立機能を説明するための機能ブロック図である。
【図5】(a)は、IDリストの内容の一例を示す図、図5(b)は、部署階層テーブルの一例を示す図、図5(c)は、ランデブーピアリストの内容の一例を示す図である。
【図6】選択部が行う、宛先ピアの部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを選択する際の手順(基準)を示すフローチャートである。
【図7】従来のネットワークシステムにおけるネットワーク通信の態様を説明するための図である。
【図8】従来のネットワークシステムにおけるネットワーク通信の他の態様を説明するための図である。
【発明を実施するための形態】
【0020】
〔第一の実施形態〕
〔システムの全体構成〕
次に、本発明の好ましい実施形態について添付図面を参照しながら説明する。
図1は、本発明の第一の実施形態に係るネットワークシステムに用いられる端末コンピュータの構成を示す図である。図1において、本実施形態のネットワークシステムは、複数の端末コンピュータP11,P12,P13,P21,P22,P23,P31,P32,P33を有しており、これらは互いにLAN等によって接続されている。なお、各端末コンピュータは、ネットワークへの接続が切断されたり、電源がオフされたりすることで、ネットワークシステムから離脱する場合がある。
【0021】
各端末コンピュータは、OSが搭載されたコンピュータによって構成されている。以下の説明では、端末コンピュータP11について説明するが、他の端末コンピュータも同様の構成である。
端末コンピュータP11には、各種アプリケーションプログラム(以下、単に「アプリケーション」ともいう)111の動作基盤となるエージェントコンピュータプログラム(以下、単に「エージェント」ともいう)112がインストールされている。このエージェント112は、通常、端末コンピュータP11に常駐している。
【0022】
エージェント112は、他の端末コンピュータのエージェントと通信を行いつつ協調して動作するように構成されている。特に端末コンピュータ間の通信プロトコルについては、ピアツーピア通信によるネットワークシステムを構築するためのJXTAが採用されている。エージェント112は、JXTAを実現するための機能、端末コンピュータP11に搭載された一又は複数のアプリケーション111が動作するために必要な機能を提供するフレームワークであり、端末コンピュータP11を本ネットワーク内におけるピアとして機能させる。
各端末コンピュータは、上記構成によって、エージェント同士が協調することで、各端末コンピュータ間でピアツーピア通信を行うことにより、ネットワークシステムを構成している。
【0023】
図2は、各端末コンピュータにより構成されるネットワークシステムの構造を示す図である。本実施形態のネットワークシステムにおいて、各端末コンピュータ(以下、ピアともいう)には、それぞれ、ピアツーピアネットワーク上で一意に各ピアを特定するための固有のIDであるピアIDが付与されている。このピアIDは、例えば、当該端末コンピュータのユーザの名前等を含んだ文字列により構成することができる。
【0024】
また、本実施形態のネットワークシステムにおいては、図2に示すように、複数のピアを含んでなるピアグループが3つ形成されている。
ピアグループG1は、ピアP11,P12,P13を含んでおり、この内、ピアP11は、ランデブーピアとして機能する。
上記ランデブーピアとは、他のピアのピアIDや、他のピアとの間でピアツーピア通信を行うのに必要な接続情報等、当該他のピアに関する情報であるピア情報を記憶し登録することで、他のピア同士でピアグループを形成する機能を有するピアである。
また、ランデブーピアは、自己が形成するピアグループやそれ以外の一のピアが送信する接続要求(後に詳述する)を受信し、自己が記憶登録している前記ピア情報を用いて、当該ピアグループに属するピアに前記接続要求を中継する機能も有している。
本実施形態では、ピアP11(以下、ランデブーピアP11ともいう)は、通常の(非ランデブー)ピアP12,P13のピアIDやIPアドレス等、当該ピアP12,P13に関する情報であるピア情報を記憶登録することで、ピアグループG1を形成している。また、他のピアグループについても同様であり、ピアP21が、ランデブーピアとして、ピア22,P23に関するピア情報を記憶登録することで、ピアグループG2を形成しており、ランデブーピアP31が、ランデブーピアとして、ピアP32,ピアP33に関するピア情報を記憶登録することで、ピアグループG3を形成している。
【0025】
本実施形態において、ランデブーピアを含む各ピアには、それぞれ、予め定められた複数の属性情報の内の一の属性情報が付与されている。具体的には、各ピアには、それぞれ、会社の会社組織を構成する部署を示す複数の部署情報の内の一の部署情報が付与されており、各ピアを使用するユーザが会社内で属している部署に対応する部署情報が付与されている。
図3は、当該ネットワークシステムが適用されている企業の組織の一例を示す図である。図3中、企業「A株式会社」の組織は、「B事業本部」、「C事業部」、「技術部」、「営業部」・・・といった複数の部署を構成要素として階層構造を構成している。
本実施形態では、ランデブーピアP11には「技術部」が、ランデブーピアP21には「B事業本部」が、ランデブーピアP31には「営業部」が、それぞれ部署情報として付与されている。また、ピアP12には「C事業部」が、ピアP13には「技術課」が、ピアP22,P23には「B事業本部」が、ピアP32には「営業課」が、ピアP33には「営業技術課」が、それぞれ部署情報として付与されている。なお、この例では、部署情報に部署名を用いているが、これに限られるものではなく、部署を一意に特定する数字列のような他の識別子であってもよい。
【0026】
ランデブーピア以外の各ピアは、当該ネットワークシステムにエントリーする際に、自己に付与されている部署情報と、ランデブーピアに付与されている部署情報との間の階層関係に関して予め定められた基準(後に詳述する)によって、ランデブーピアを選択し、その選択したランデブーピアに対して自己のピアID及び接続情報等を含んだピア情報を送信する。このピア情報を受信したランデブーピアは、当該ピア情報を記憶登録することで、このピア情報の送信元のピアを当該ランデブーピアが形成するピアグループに登録する。
【0027】
各ピアは、ネットワークを構成するピアに付与されているピアIDや部署情報に基づいて、ネットワーク内の通信を行おうとしている宛先のピアが属しているピアグループのランデブーピアを検索し、そのランデブーピアに対して接続要求を送信する。ランデブーピアは、この接続要求を、自己のピアグループに属する宛先のピアに中継する。これによって、宛先のピアに接続要求が到達し、当該接続要求の送信元のピアと宛先のピアとの間でピアツーピア通信を確立することができる。
【0028】
〔エージェントの構成〕
図4は、エージェントが有する、本発明に係る通信確立機能を説明するための機能ブロック図である。なお、図4に示す機能は、エージェントが各端末において実行されることで発揮される機能である。
図4においては、ピアP12にインストールされたエージェント122(図1参照)を示しているが、ランデブーピアを含む、他のピアにおけるエージェントも同様の構成である。
【0029】
図4に示すように、エージェント122は、機能部として、通信制御部1と、選択部2と、記憶部3と、登録処理部4と、中継処理部5とを備えている。
通信制御部1は、ピアP12のアプリケーション121と、自己以外の通信対象となる宛先のピア(のアプリケーション)との間のネットワーク通信における制御や、エージェント122(の上記各機能部)と他のエージェントとの間で行われる通信についての制御を行う機能を有している。
より具体的には、通信制御部1は、宛先のピアに対して通信の確立を要求するための接続要求を、例えば自己の属するランデブーピア以外のランデブーピアに宛てて送信する機能を有している。この接続要求は、宛先のピアが、自己の属するピアグループ以外の他のピアグループに含まれる場合に、選択部2が選択したランデブーピアを介して宛先のピアに送信する情報であり、宛先のピアのピアIDや、ピア情報(送信元となるピアP12のピアID、ピアP12の接続情報等)が含まれている。
さらに、通信制御部1は、他のピアグループのピアから自己に宛てて送信される接続要求を受信すると、当該接続要求に含まれる送信元のピア情報を用いて、自己のピアID、及び接続情報を含む接続応答を送信元のピアに宛てて送信する機能も有している。
【0030】
また、通信制御部1は、外部からの設定、又は他のピアとの関係において、自己が、ランデブーピアとして機能すべきか否かを決定する機能も有している。
通信制御部1は、自己がランデブーピアとして機能する場合、他のピアがピアグループへの登録を求めて送信するピア情報を受信し、受信したピア情報を記憶部3に記憶させる。
また、通信制御部1は、自己がネットワークにエントリーする際、選択部2に自己のピア情報をいずれのランデブーピアに記憶登録すればよいかを選択させ、選択されたランデブーピアに自己のピア情報を記憶登録させるべく、当該ピア情報を送信する機能も有している。
【0031】
記憶部3は、自己のピアID、自己の接続情報等のピア情報の他、ネットワークシステム内の各ピアのピアIDと、付与されている部署情報とを対応付けたIDリスト、部署間の階層関係を示す部署階層テーブル、及び、三つのランデブーピアP11,P21,P31それぞれに付与された部署情報と、これらランデブーピアのIPアドレスとを対応付けたランデブーピアリストを記憶している。
図5(a)は、IDリストの内容の一例を示す図、図5(b)は、部署階層テーブルの一例を示す図、図5(c)は、ランデブーピアリストの内容の一例を示す図である。
【0032】
図5(a)に示すように、IDリストには、本実施形態のネットワークシステムを構成しているピアのピアIDが格納されている欄と、ピアIDに係るピアに付与されている部署情報が格納されている欄とが設けられており、各ピアIDと、その部署情報とが対応づけて格納されている。
また、IDリストには、対応するピアIDに係るピアの接続情報を格納する欄も有している。この欄には、自己が属しているピアグループに含まれる各ピアのピアIDに対応する接続情報が格納される。図5(a)においては、ピアP12が属しているピアグループG2に含まれるピアP13、及びランデブーピアP11の接続情報が格納されている。
上記接続情報は、ピアP12がランデブーピアとして機能する場合には、グループへの登録を求めて他のピアが送信するピア情報を取得し、当該ピアP12が形成するグループに属するピアのピア情報としてIDリストに格納し記憶登録する。ピアP12がランデブーピアではない場合には、当該ピアP12がネットワークにエントリーした際に、ランデブーピアから、当該グループに属する各ピアのピア情報を受け取り、記憶登録する。
【0033】
図5(b)に示すように、部署階層テーブルには、図3に示したような企業組織の階層構造が記述される。この例では、部署階層テーブルは、部署情報ごとに、当該部署情報の示す直上位にある部署の部署情報を格納する。階層構造を示すことができれば、他のデータ構造であってもよい。部署情報には、部署名やその他、部署を識別する情報を用いることができる。部署名をキーに部署階層テーブルを検索することで、当該部署の直上位にある部署の名称が抽出でき、上位の部署名をキーに部署階層テーブルを検索することで、当該部署の直下位にある部署の名称が抽出できる。検索を繰り返せば、最上位の部署、又は最下位の部署を抽出することもできる。
図5(c)に示すように、ランデブーピアリストには、各ランデブーピアに付与された部署情報が格納されている欄と、各ランデブーピアのIPアドレスが格納されている欄とが設けられており、各ランデブーピアに付与された部署情報と、各ランデブーピアのIPアドレスとが対応付けて格納されている。
【0034】
これらリストやテーブルは、例えば、各ピアの記憶部に事前に記憶されている。なお、ランデブーピアは、各ピアの状況によってランデブーピアとして機能するピアが変わる場合もあり、その場合には、新たにランデブーピアとなったピアが、ランデブーピアリストを更新し、自己の属するピアグループ内のピア、及び他のランデブーピアにその更新したランデブーピアリストを通知することで、ネットワーク内の各ピアが記憶するランデブーピアリストが更新される。
また、ランデブーピアリストは、ピア12が、ネットワークにエントリーする際に、他のピアからランデブーピアリストの提供を受けることで記憶部3に格納される場合もある。
【0035】
図4に戻って、選択部2は、ネットワークシステム内の一のピアとの間で通信を行おうとしているアプリケーション121からの指示を受けて、接続要求を送信すべきランデブーピアの選択を行う。
具体的には、アプリケーション121が通信を行おうとしている通信対象となる宛先のピアのピアIDを特定し、その宛先のピア(以下、宛先ピアともいう)との間で通信を確立する旨の指示を選択部2に与えると、当該選択部2は、記憶部3に記憶されたIDリストを参照することで、宛先ピアが自己の属するピアグループに含まれているか否かを確認する。宛先ピアが自己の属するピアグループに含まれる場合、図5(a)の例におけるIDリストにはその接続情報が格納されているので、選択部2は、当該接続情報を通信制御部1に与える。これにより、通信制御部1は、宛先ピアとの間で通信を確立し、アプリケーション121の要求に基づいた通信を開始する。
【0036】
一方、宛先ピアが、自己の属するピアグループに含まれていない場合、選択部2は、記憶部3に記憶されたIDリストを参照することで、前記宛先ピアのピアIDに付与された部署情報を取得する。さらに、選択部2は、記憶部3に記憶されたランデブーピアリストを参照し、前記宛先ピアに付与された部署情報と関連性を有する部署情報が付与されたランデブーピアのIPアドレスを選択する。
ここで、選択部2は、図3に示す階層構造を構成する各部署と部署情報とを対応付け、予め定められた各部署情報相互間の階層関係に関する基準によって、前記宛先ピアに付与された部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを、ランデブーピアリストに格納されているものの中から選択する。
【0037】
図6は、選択部2が行う、宛先ピアの部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを選択する際の手順(基準)を示すフローチャートである。
選択部2は、まず、前記宛先ピアに付与された部署情報と同一の部署情報がランデブーピアリストに有るか否かを検索する(ステップS1)。宛先ピアの部署情報と同一の部署情報が有る場合、選択部2は、その同一の部署情報に対応付けられたIPアドレスを選択する(ステップS2)。
【0038】
宛先ピアの部署情報と同一の部署情報が無い場合、選択部2は、部署階層テーブルを参照し、宛先ピアに付与された部署情報よりも下位の階層の部署情報がランデブーピアリストに有るか否かを検索する(ステップS3)。
宛先ピアの部署情報よりも下位の階層の部署情報が有れば、選択部2は、さらに、それらが複数であるか否かを判断する(ステップS4)。
ステップS4にて複数ではない(単一である)と判断された場合、その部署情報に対応付けられたIPアドレスを選択し(ステップS5)、終了する。
一方、ステップS4にて複数であると判断された場合、選択部2は、所定の条件、例えば、宛先ピアの部署情報に最も近い階層の部署情報に対応付けられたIPアドレスを選択し(ステップS6)、終了する。
【0039】
ステップS3において、宛先ピアの部署情報よりも下位の階層の部署情報がないと判断された場合、選択部2は、残余の部署情報(宛先ピアの部署情報よりも上位の階層の部署情報)が複数であるか否かを判断する(ステップS7)。
ステップS7にて複数ではない(単一である)と判断された場合、その部署情報に対応付けられたIPアドレスを選択し(ステップS8)、終了する。
一方、ステップS7にて複数であると判断された場合、選択部2は、所定の条件、例えば、宛先ピアの部署情報に最も近い階層の部署情報に対応付けられたIPアドレスのいずれかを選択し(ステップS9)、終了する。
【0040】
選択部2は、上記の選択基準に基づいて、宛先ピアの部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを、ランデブーピアリストに格納されているものの中から選択する。
【0041】
図4に戻って、選択部2は、上記のようにして選択したランデブーピアのIPアドレスを通信制御部1に与える。ランデブーピアのIPアドレスを受け取った通信制御部1は、このIPアドレスに宛てて、上述の接続要求を送信する。
【0042】
中継処理部4は、自己がランデブーピアとして機能する場合において、他のピアグループのピアから送信される接続要求を受け付けて、自己のピアグループのピアに当該接続要求を中継する処理を行う。
自己がランデブーピアとして機能する場合、通信制御部1は、この接続要求を中継処理部4に与える。
中継処理部5は、接続要求に含まれる送信元のピア情報を参照し、宛先ピアのピアIDを特定する。中継処理部4は、特定した宛先ピアのピアIDが自己のピアグループに含まれているか否かを記憶部3のIDリストを参照検索することで判断する。
特定した宛先ピアのピアIDが自己のピアグループに含まれている場合、中継処理部4は、宛先ピアのピアIDに対応する接続情報を用い、当該宛先ピアに宛てて前記接続要求を送信する。
当該接続要求が自己に宛てた接続要求である場合には、自己のピアID、及び自己の接続情報を含む接続応答を送信元のピアに宛てて送信する。
一方、特定した宛先ピアのピアIDが自己のピアグループに含まれていない場合、中継処理部4は、前記接続要求を他のランデブーピアに送信する。
【0043】
〔ネットワークへのエントリーの具体例〕
次に、ピアがネットワークにエントリーする際の具体例について説明する。ここでは、例えば、ピアP12が、ネットワークにエントリーする場合について説明する。
まず、ピアP12がネットワークにエントリーすることを決定すると、エージェントの通信制御部1は、選択部2に自己のピア情報を記憶登録させるべきランデブーピアを選択部2に選択させる。選択部2は、自己の部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを、ランデブーピアリストを参照することで選択する。この際、選択部2は、図6にて示した選択基準に基づいて選択を行う。
【0044】
ここで、ピアP12には、部署情報として、「C事業部」が付与されている。これに対して、ランデブーピアリストには、図5(c)に示すように、「B事業本部」、「技術部」、及び「営業部」の三つの部署情報が付与されているランデブーピアのIPアドレスが格納されている。この場合、「C事業部」と同一の階層の部署情報はなく、「C事業部」よりも下位の階層の部署情報である、「技術部」、及び「営業部」がある。選択部2は、これら、「技術部」、及び「営業部」の内のいずれかを選択することになるが、これらは互いに同一の階層である。この場合、選択部2は、予め定められた所定の条件でいずれかを選択する。前記所定の条件としては、例えば、以前接続していた側を優先的に選択させることもできるし、ピアP12のユーザに対して選択を行わせるための要求を行うこともできる。また、ピアP12にIPアドレスが割り当てられている場合において、当該ピアP12と同じサブネットに属するランデブーピアが有る場合には、それを優先して選択させることもできる。
ここでは、選択部2は、部署情報として「技術部」が付与されたランデブーピア(P11)のIPアドレスを選択したものとする。
【0045】
上記のように選択部2がランデブーピアリストから、部署情報として「技術部」が付与されたランデブーピアのIPアドレスを選択すると、通信制御部1は、このランデブーピアP11に自己のピア情報を記憶登録させるべく、自己のピア情報を送信する選択されたIPアドレスに宛てて送信する。
【0046】
ピアP12のピア情報を受信したランデブーピアP11は、その受信したピア情報を自己の記憶部3に記憶登録する。これによって、ピアP12は、ランデブーピアP11が形成するピアグループG1に属することとなる。
さらに、ランデブーピアP11は、ピアP12を含むピアグループG1に属している各ピアに対して、ピアグループG1に属している、ピアP12を含めた各ピアに関するピア情報を送信する。
ピアグループG1に属している各ピアは、ランデブーピアP11からの各ピアに関するピア情報を受信すると、そのピア情報をそれぞれ自己の記憶部3に記憶する。これによって、ピアグループG1に属している各ピアはピアP12のピア情報を有することとなり、同一グループ内においては、ピアP12を含むピア同士間でピアツーピア通信を行うことができる。
以上のようにして、ピアP12は、本ネットワークシステムにエントリーすることができる。
【0047】
ここで、ピアP12が自己のピア情報を登録すべきランデブーピアを選択する際、選択部2は、図6に示した選択基準に基づいて、自己の部署情報と関連性を有する部署情報が付与されたランデブーピアを選択する。また、他のピアも同様にしてランデブーピアを選択する。従って、ピアグループは、部署情報が上記選択基準に基づく関連性を有するピアによって形成される。このため、自己が接続要求を送信するためにランデブーピアを選択する場合において、選択部2は、上記同様、図6の選択基準に基づいて宛先ピアの部署情報と関連性を有する部署情報が付与されたランデブーピアを選択するので、宛先ピアが属しているピアグループのランデブーピアを特定することができる。
【0048】
〔通信を確立する際の具体例〕
次に、上記ネットワークシステムにおけるピア同士間で通信を確立する際の具体例について説明する。
例えば、ピアグループG1に属する一のピアとしてのピアP12が、ピアグループG3に属する他のピアとしてのピアP32との間で通信を確立する態様について説明する。
【0049】
まずピアP12は、自己のアプリケーション121が宛先ピアとしてピアP32との間で通信を行うことを決定すると、ピアP32が自己の属するピアグループG1に属しているか否かについて、自己の記憶部3のIDリストを、エージェント122の選択部2に参照させて判断させる。
ピアP12の選択部2は、ピアP32に付与されたピアIDに基づいて検索する。本実施形態の場合、ピアP32は、ピアグループG3に属しているので、ピアP12の記憶部3に格納されているIDリストには、ピアP32の接続情報は格納されていない。従って、ピアP12の選択部2は、ピアP32がピアグループG1に含まれていないと判断する。
【0050】
次いで、ピアP12の選択部2は、IDリストを参照することで、ピアP32のピアIDに付与された部署情報を取得する。そして、選択部2は、記憶部3に記憶されたランデブーピアリストを参照し、その取得したピアP32の部署情報と関連性を有する部署情報が付与されたランデブーピアのIPアドレスを選択する。このとき、選択部2は、図6に示す選択基準に基づいて、ピアP32の部署情報との間で関連性を有する部署情報(が付与されたランデブーピアのIPアドレス)を選択する。
【0051】
ここで、部署情報として「営業課」が付与されているピアP32の選択部2は、本ネットワークシステムにエントリーする際、図6に示す選択基準に基づいて、自己のピア情報を登録すべきランデブーピアとして選択すると、「営業課」よりも下位の部署情報が付与されたランデブーピアはないので、直上の関係にある部署情報「営業部」が付与されたランデブーピアP31を選択する。これにより、ピアP32は、ピアグループG3に属することとなる(図3参照)。
【0052】
一方、ピアP12の選択部2においても、IDリストを参照することでピアP32に付与されている部署情報が「営業課」であることを認識すると、ピアP32が自己のピア情報を登録すべきランデブーピアを選択するのと同様の手順によって、「営業課」との間で関連性を有する部署情報について選択が行われる。
このため、ピアP12の選択部2は、部署情報として「営業部」に対応付けられたランデブーピアP31のIPアドレスを選択する。これによって、ピアP12の選択部2は、ピアP32が属するピアグループG3のランデブーピアP31の宛先情報であるIPアドレスを選択することができる。
【0053】
次いで、ピアP12は、ピアP32に対して通信の確立を要求するための接続要求を選択したランデブーピアP31のIPアドレスに宛てて送信する。この接続要求には、宛先ピアであるピアP32のピアID、及びピアP12のピア情報(ピアP12のピアID、ピアP12の接続情報等)が含まれている。
【0054】
ピアP12からの接続要求を受信したランデブーピアP31は、当該接続要求に含まれる宛先を示すピアP32のピアIDを特定する。そして、ランデブーピアP31は、特定したピアP32のピアIDが自己のピアグループG3に含まれているか否かを記憶部3のIDリストを参照し、検索することで判断する。
【0055】
本実施形態の場合、ピアP32はピアグループG3に属しているので、ランデブーピアP31は、IDリストを参照検索し、自己のグループに含まれるピアIDの中から、ピアP32のピアIDを発見し、ピアP32が自己のグループに含まれていると判断する。
【0056】
ピアP32が自己のグループに含まれていると判断したランデブーピアP31は、IDリストに記憶登録されているピアP32の接続情報を用いて、ピアP32に宛てて前記接続要求を送信する。
【0057】
ピアP12による接続要求をランデブーピアP31から受信したピアP32は、当該接続要求に含まれる送信元であるピアP12のピア情報を用いて、自己(ピアP32)のピアID、及び自己(ピアP32)の接続情報を含む接続応答を送信元のピアに宛てて送信する。
【0058】
ピアP32からの接続応答を受信したピアP12は、当該接続応答に含まれるピアP32の接続情報を取得することができ、この接続情報を用いてピアP32に対してピアツーピア通信が可能となる。
【0059】
上記構成のネットワークシステムによれば、ランデブーピアP11、P21、P31それぞれが、部署情報に基づく関連性を有するピア同士でピアグループを形成するとともに、IDリスト及びランデブーピアリストを参照することで、宛先ピアに付与された部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを選択する選択部2を備えているので、宛先ピアが属するピアグループのランデブーピアを効率よく特定することができる。この結果、一のピアが送信する接続要求が多数のランデブーピアを経由して宛先ピアに到達するのを抑制でき、一のピアと宛先ピアとの通信を速やかに確立することができる。
【0060】
また、上記実施形態において、各ピアに付与される部署情報が、階層構造を構成しており、選択部2は、予め定められた部署情報相互間の階層関係に関する選択基準によって、宛先ピアに付与された部署情報と関連性を有する属性情報が付与されたランデブーピアのIPアドレスを選択するので、選択部2は、その予め定められた階層関係に関する選択基準によって、ランデブーピアのIPアドレスを選択することができるので、的確な選択を行うことができる。
【0061】
また、本実施形態において、各ランデブーピアは、部署情報に基づく関連性を有するピアに関するピア情報を記憶することで、ピアグループを形成するものであり、選択部2は、ランデブーピアリストを参照することで、自己の部署情報と関連性を有する部署情報が付与されたランデブーピアのIPアドレスを選択し、通信制御部1は、自己の部署情報と関連性を有する部署情報が付与されたランデブーピアに自己のピア情報を記憶させるために、選択部2が選択したIPアドレスに基づいて自己のピア情報を当該ランデブーピアに送信するので、各ランデブーピアは、自己が形成するピアグループに属するピアを、確実に、自己の部署情報と関連性を有する属性情報が付与されたものとすることができる。この結果、選択部2は、接続要求を送信すべきランデブーピアをより的確に選択することができる。
【0062】
なお、上記実施形態では、ピアIDと部署情報とを関連づけたIDリストによって、宛先ピアを検索し選択するように構成したが、例えば、ピアIDに代えて(又は加えて)、各ピアが保有している情報等(例えば業務に用いるデータ等)の内容を示す文字列からなる内容情報と部署情報とを関連づけるとともに、接続要求には、宛先ピアのピアIDに代えて(又は加えて)、当該接続要求の送信元のピアのユーザが必要としている情報を示す内容情報を含めることもできる。
この場合、各ピアグループにおいては、上記内容情報によって、それぞれがどのような情報を保有しているかを認識することができるとともに、接続要求の送信元のピアは、ユーザが必要としている情報を示す内容情報に基づいて、必要としている情報を保有しているネットワークシステム内のピアとの間で通信を確立することができる。
【0063】
また、上記実施形態では、各ピアのピアIDに、会社の会社組織を構成する部署を示す複数の部署情報を階層構造を構成する要素として関連づけたが、例えば、ネットワークシステムが設置されるビルの各階ごとを階層構造と捉えることで、当該ビルの階数を階層構造を構成する要素として各ピアのピアIDを関連づけることもできる。
【0064】
なお、上述の実施の形態では、一のピアが、当該ピアと異なるグループに属する他のピアと通信を行う場合に、他のピアと同じグループに属するランデブーピアに接続要求を送信することとした。しかしながら、その例に限られるものではない。例えば、一のピアが、当該ピアと同じグループに属するランデブーピアに接続要求を送信するようにしてもよい。この場合、そのランデブーピアは、送信先がグループ外であるならば、上述の規則に従い送信先のグループを特定し、そのグループのランデブーピアに接続要求を送信する。他のグループのランデブーピアから接続要求を受信したランデブーピアは、当該ランデブーピアと同じグループに属する送信先のピアに、送信元のピアの情報を送信する。送信先のピアは、受信した送信元のピアの情報を用いて、自己への接続情報を送信元のピアに送信する。このようにしてピア間で通信(確立)を行うことも可能である。
【0065】
この場合、送信元側のランデブーピアが送信先側のランデブーピアと通信を行うので、送信元のピアにおけるIDリストには接続情報が不要となる。一方、送信元側のランデブーピアにおけるIDリストには部署情報が不要となる。送信元のピアは、自己の属するグループのランデブーピアの接続情報を知っていれば、通信することが可能となり、ピアの機能を簡略化することができる。また企業の組織変更が部分的に行われた場合でも、設定変更等を該当する部分だけにおさえられる。さらに、エントリーのあったピアをランデブーピアが受信したとき、上述のように、エントリーのあったピアの情報を同じグループのピアに送信する必要もない。
【0066】
本発明に関して、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0067】
1 通信制御部
2 選択部
3 記憶部
G1,G2,G3 ピアグループ
P11,P21,P31 ランデブーピア
P12,P13,P22,P23,P32,P33 ピア

【特許請求の範囲】
【請求項1】
互いにピアツーピア通信を行う複数のピアによって構成されたネットワークシステムであって、
前記複数のピアそれぞれには予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報が付与されており、
前記複数のピアには、
前記属性情報に基づく関連性を有するピア同士でピアグループを形成するとともに、自己が形成するピアグループ以外の一のピアが送信する接続要求を受信し、当該ピアグループに属する前記接続要求の宛先である他のピアに、前記通信要求を中継する中継ピアが複数含まれており、
前記一のピアは、
前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された前記属性情報とを対応付けたIDリスト、及び、前記複数の中継ピアそれぞれに付与された前記属性情報と、前記複数の中継ピアの宛先情報とを対応付けた中継ピアリストを記憶した記憶部と、
前記IDリストを参照することで前記他のピアのIDに付与された前記属性情報を取得するとともに、前記中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択部と、
前記選択部が選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する通信制御部と、を備えていることを特徴とするネットワークシステム。
【請求項2】
前記複数の属性情報が、階層構造を構成する複数の要素であり、
前記選択部は、予め定められた、前記複数の要素相互間の階層関係に関する基準によって、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する請求項1に記載のネットワークシステム。
【請求項3】
前記複数の要素が、会社組織を構成する複数の部署である請求項2に記載のネットワークシステム。
【請求項4】
前記中継ピアは、前記属性情報に基づく関連性を有するピアに関するピア情報を記憶することで、前記ピアグループを形成するものであり、
前記選択部は、前記中継ピアリストを参照することで、自己の属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択し、
前記通信制御部は、自己の属性情報と関連性を有する属性情報が付与された中継ピアに自己のピア情報を記憶させるために、前記選択部が選択した宛先情報に基づいて自己のピア情報を当該中継ピアに送信する請求項1に記載のネットワークシステム。
【請求項5】
ネットワーク上の複数のピアが互いにピアツーピア通信を行うネットワークシステムにおいて、一のピアに実行させるためのコンピュータプログラムであって、
前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された、予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報と、を対応付けたIDリストを参照することで、当該一のピアが接続要求を送信する宛先である他のピアのIDに付与された前記属性情報を取得するとともに、
前記属性情報に基づく関連性を有するピアグループを形成する、前記複数のピアの内の複数の中継ピアそれぞれに対して付与された前記属性情報と、前記複数の中継ピアの宛先情報と、を対応付けた中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択ステップと、
前記選択ステップにて選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する送信ステップと、を備えていることを特徴とするコンピュータプログラム。
【請求項6】
互いに通信可能な複数の端末コンピュータを有するネットワークシステムにおける、一のピアが他のピアに対して接続要求を送信することで、通信を確立する通信確立方法であって、
前記複数のピアを特定するためのIDと、当該複数のピアそれぞれに付与された、予め定められた規則に基づいて設定された複数の属性情報の内の一の属性情報と、を対応付けたIDリストを参照することで、当該一のピアが接続要求を送信する宛先である他のピアのIDに付与された前記属性情報を取得するとともに、
前記属性情報に基づく関連性を有するピアグループを形成する、前記複数のピアの内の複数の中継ピアそれぞれに対して付与された前記属性情報と、前記複数の中継ピアの宛先情報と、を対応付けた中継ピアリストを参照することで、前記他のピアに付与された属性情報と関連性を有する属性情報が付与された中継ピアの宛先情報を選択する選択ステップと、
前記選択ステップにて選択した宛先情報に基づいて、前記他のピアに対する前記接続要求を前記宛先情報に対応する中継ピアに送信する送信ステップと、を備えていることを特徴とする通信確立方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−55282(P2011−55282A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−202821(P2009−202821)
【出願日】平成21年9月2日(2009.9.2)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】