JP5136585B2 - 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム - Google Patents

情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
JP5136585B2
JP5136585B2 JP2010078052A JP2010078052A JP5136585B2 JP 5136585 B2 JP5136585 B2 JP 5136585B2 JP 2010078052 A JP2010078052 A JP 2010078052A JP 2010078052 A JP2010078052 A JP 2010078052A JP 5136585 B2 JP5136585 B2 JP 5136585B2
Authority
JP
Japan
Prior art keywords
information
node
group
network
node device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010078052A
Other languages
English (en)
Other versions
JP2011211543A (ja
Inventor
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010078052A priority Critical patent/JP5136585B2/ja
Priority to US13/074,493 priority patent/US8819295B2/en
Publication of JP2011211543A publication Critical patent/JP2011211543A/ja
Application granted granted Critical
Publication of JP5136585B2 publication Critical patent/JP5136585B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
近年、ピアツーピア方式の通信システムが注目されている。このピアツーピア方式の通信システムに関し、特許文献1には、効率的に通信を行うことを目的の1つとする方法が開示されている。具体的には、各ノード装置(ピア)が、他のノード装置とのネットワーク上の距離に基づいて、複数のノード装置をグループ分けする。そして、或るノード装置が情報を発信したり中継したりする場合、各グループの代表のノード装置に情報を送信する。
国際公開第2004/030273号パンフレット
ピアツーピア方式の通信システムにおいては、物理的なネットワーク上に、論理的なネットワークであるオーバーレイネットワークが構築される。そして、物理的なネットワークは、例えば、LAN(Local Area Network)やアクセスネットワーク等の複数のネットワークが相互接続することにより構成されている場合がある。しかしながら、特許文献1に記載の方法によるグループ分けには、このような事情は考慮されていない。そのため、例えば、同一のネットワーク内で通信ができるにもかかわらず、ネットワーク間をまたいで通信が行われる場合がある。そうすると、ノード装置から送信された情報がネットワーク間を接続する通信回線を大量に通過する可能性が高くなる。よって、通信回線の通信路の帯域幅が小さいと、ネットワーク間で情報の送受信が十分に行えなくなる場合がある。
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、ネットワーク上で同一の範囲に接続するノード装置からなるグループ内での通信を可能とする情報通信システム、ノード装置、情報通信方法、及び情報通信プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムであって、オーバーレイネットワークに参加する第1のノード装置から、前記第1のノード装置がオーバーレイネットワークに参加するための情報の要求を示す要求メッセージ受信する第1受信手段と、前記要求メッセージを送信してきた前記第1のノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、前記取得手段により取得された囲情報に基づいて、前記要求メッセージを送信してきた前記第1のノード装置が所属するグループの識別情報を生成する生成手段と、前記生成手段により生成された別情報を、前記要求メッセージを送信してきた前記第1のノード装置に送信する第2送信手段と、を備える第2のノード装置を備え前記第1のノード装置は、前記要求メッセージを前記第2のノード装置に送信する第1送信手段と、前記第2のノード装置から送信された別情報を受信する第2受信手段と、前記第2受信手段により受信された別情報に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加手段と、備えることを特徴とする。
この発明によれば、ノード装置は、所属するグループに対応するオーバーレイネットワークを介して、ネットワーク上で同一の範囲に接続する他のノード装置と通信することができる。
請求項2に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムであって、オーバーレイネットワークに参加する第1のノード装置は、接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、前記取得手段により取得された囲情報に基づいて、前記第1のノード装置が所属するグループの識別情報を生成する生成手段と、前記生成手段により生成された別情報に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のノード装置間で情報通信が行われるオーバーレイネットワークに参加する参加手段と、を備えることを特徴とする。
この発明によれば、ノード装置は、所属するグループに対応するオーバーレイネットワークを介して、ネットワーク上で同一の範囲に接続する他のノード装置と通信することができる。
請求項3に記載の発明は、グループの情報を管理する第3のノード装置は、グループに所属する前記ノード装置のアドレス情報を、前記グループの識別情報に対応付けて記憶する第1記憶手段と、前記第1のノード装置から送信された別情報を受信する第3受信手段と、前記第3受信手段により受信された識別情報に対応付けて前記第1記憶手段に記憶されている第4のノード装置のアドレス情報を、前記第3受信手段により受信された別情報を送信してきた前記第1のノード装置に送信する第4送信手段と、を備え、前記第1のノード装置は、前記生成手段により生成された別情報を前記第3のノード装置へ送信する第3送信手段と、前記第3のノード装置から送信されたドレス情報を受信する第4受信手段と、を備え、前記参加手段は、前記第4受信手段により受信されたドレス情報と、前記生成手段により生成された別情報と、に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加することを特徴とする。
この発明によれば、ノード装置は、同一のグループに所属するノード装置のアドレス情報を取得することができる。よって、ノード装置は、取得されたアドレス情報を用いて同一のグループに所属するノード装置と通信することにより、オーバーレイネットワークに参加することができる。
請求項4に記載の発明は、前記ノード装置は、オーバーレイネットワークにおける情報通信先の前記ノード装置のアドレス情報を記憶する第2記憶手段を備え、前記第1のノード装置の前記参加手段は、前記生成手段により生成された別情報と、第1のノード装置のドレス情報と、を含む参加メッセージを、前記第4受信手段により受信されたドレス情報が示す前記第4のノード装置に送信する第5送信手段と、前記第4のノード装置から送信された応答メッセージを受信する第6受信手段と、前記第6受信手段により受信された答メッセージに含まれる前記アドレス情報を、前記生成手段により生成された別情報に対応付けて前記第2記憶手段に記憶させる第1制御手段と、を備え、前記第4のノード装置は、前記第1のノード装置から送信された加メッセージを受信する第5受信手段と、前記第5受信手段により受信された加メッセージに含まれる前記識別情報に対応付けて前記第2記憶手段に記憶されている第5のノード装置のアドレス情報を含む前記応答メッセージを、前記第5受信手段により受信された参加メッセージを送信してきた前記第1のノード装置に送信する第6送信手段と、前記第5受信手段により受信された加メッセージに含まれる前記アドレス情報を、当該参加メッセージに含まれる前記識別情報に対応付けて前記第2記憶手段に記憶させる第2制御手段と、を更に備えすることを特徴とする。
この発明によれば、同一のグループに所属する複数のノード装置間で、当該グループに所属するノード装置のアドレス情報が交換される。そして、交換されたアドレス情報が、グループ内において情報の送信先を示す情報として、それぞれのノード装置により記憶される。このようにして、ネットワーク上で同一の範囲に接続する複数のノード装置間で情報通信を行うことができるオーバーレイネットワークを生成することができる。
請求項5に記載の発明は、前記第1のノード装置の前記第3送信手段は、前記生成手段により生成された別情報と、前記第1のノード装置の前記アドレス情報と、を前記第3のノード装置へ送信し、前記第3のノード装置の前記第3受信手段は、前記第1のノード装置から送信された別情報とドレス情報とを受信し、前記第3のノード装置の前記第1記憶手段は、前記第3受信手段により受信されたドレス情報を、前記第3受信手段により受信された別情報に対応付けて記憶し、前記第3のノード装置の前記第4送信手段は、前記第3受信手段により受信された別情報に対応付けて前記第1記憶手段に記憶されているドレス情報のうち、当該識別情報とともに受信されたドレス情報と異なるドレス情報を送信することを特徴とする。
この発明によれば、オーバーレイネットワークに参加しようとするノード装置は、現在オーバーレイネットワークに参加しているノード装置のアドレス情報を第3のノード装置から取得することができる。よって、オーバーレイネットワークを介して安定した通信を行うことができる。
請求項6に記載の発明は、前記第1のノード装置の前記参加手段は、前記参加メッセージを、前記第2記憶手段により記憶されたドレス情報が示す前記ノード装置へ周期的に送信することを特徴とする。
ノード装置がオーバーレイネットワークに参加した時点では、そのオーバーレイネットワークに現在参加している他のノード装置が存在しない場合がある。また、そのオーバーレイネットワークに現在参加している他のノード装置の数が少なかったりする場合がある。この発明によれば、このような場合であっても、ノード装置が参加メッセージを再度送信するまでに新たなノード装置がオーバーレイネットワークに参加していれば、参加したノード装置のアドレス情報を取得することができる。よって、十分な数のアドレス情報を用いて、オーバーレイネットワークを介した通信を安定して行うことができる。
請求項7に記載の発明は、前記第3のノード装置は、前記第1記憶手段により記憶されたドレス情報に対応付けられる前記識別情報が示すグループの情報を管理する前記ノード装置であり、前記第1のノード装置の前記第3送信手段は、前記生成手段により生成された別情報を、当該識別情報が示すグループの情報を管理する前記第3のノード装置に送信することを特徴とする。
この発明によれば、複数のグループの情報を管理する負担を、複数のノード装置に分散させることができる。
請求項8に記載の発明は、前記取得手段は、ネットワーク間で送受信される情報を中継する通信機器が、前記第1のノード装置により送信された情報を中継するときに当該情報に設定する当該通信機器のアドレス情報を、前記範囲情報として取得することを特徴とする。
この発明によれば、ネットワーク間を接続する通信回線を通過する情報の量及び通信機器により中継される情報の量がオーバーレイネットワークを介した通信によって多くなることを防止することができる。また、通信機器によるアドレス情報の書き換えによりネットワーク間のピアツーピア方式による通信が困難であっても、ネットワーク内で通信することができる。
請求項9に記載の発明は、前記取得手段は、前記第1のノード装置が属するドメインを示すドメイン情報を、前記範囲情報として取得することを特徴とする。
この発明によれば、同一のドメインに属するノード装置により構成されるネットワークの範囲を、ノード装置が接続するネットワークの範囲とする。そのため、ドメインの単位でノード装置をグループ化して、オーバーレイネットワークを生成することができる。
請求項10に記載の発明は、接続先のネットワークの範囲が複数存在する場合、前記取得手段は、前記範囲情報を複数取得し、前記生成手段は、前記取得手段により取得された複数の囲情報それぞれに対応する前記識別情報を生成し、前記第1のノード装置の前記参加手段は、前記生成手段により生成された複数の別情報それぞれに対応するオーバーレイネットワークに参加し、前記第1のノード装置は、情報通信を行うオーバーレイネットワークを、所定の条件に基づいて切り換える切替手段を更に備えることを特徴とする。
この発明によれば、条件に適したオーバーレイネットワークを介して通信を行うことにより、より効率的な通信を行うことができる。
請求項11に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおいて、前記複数のノード装置に含まれるノード装置であって、オーバーレイネットワークに参加する前記ノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、前記取得手段により取得された囲情報に基づいて、前記オーバーレイネットワークに参加するノード装置が所属するグループの識別情報を生成する生成手段と、を備えることを特徴とする。
請求項12に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムおける情報処理方法において、オーバーレイネットワークに参加する第1のノード装置から、前記第1のノード装置がオーバーレイネットワークに参加するための情報の要求を示す要求メッセージを、第2のノード装置が受信する第1受信工程と、前記第2のノード装置が、前記要求メッセージを送信してきた前記第1のノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得工程と、前記第2のノード装置が、前記取得工程において取得された囲情報に基づいて、前記要求メッセージを送信してきた前記第1のノード装置が所属するグループの識別情報を生成する生成工程と、前記第2のノード装置が、前記生成工程において生成された別情報を、前記要求メッセージを送信してきた前記第1のノード装置に送信する第2送信工程と、前記第1のノード装置が、前記要求メッセージを前記第2のノード装置に送信する第1送信工程と、前記第1のノード装置が、前記第2のノード装置から送信された別情報を受信する第2受信工程と、前記第1のノード装置が、前記第2受信工程において受信された別情報に基づいて、前記取得工程において取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加工程と、を含むことを特徴とする。
請求項13に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおける情報処理方法であって、オーバーレイネットワークに参加する第1のノード装置が、接続先のネットワークの範囲を示す範囲情報を取得する取得工程と、前記第1のノード装置が、前記取得工程において取得された囲情報に基づいて、前記第1のノード装置が所属するグループの識別情報を生成する生成工程と、前記第1のノード装置が、前記生成工程において生成された別情報に基づいて、前記取得工程において取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加工程と、を含むことを特徴とする。
請求項14に記載の発明は、ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおいて、前記複数のノード装置に含まれるノード装置に含まれるコンピュータに、オーバーレイネットワークに参加する前記ノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得ステップと、前記取得ステップにおいて取得された囲情報に基づいて、前記オーバーレイネットワークに参加するノード装置が所属するグループの識別情報を生成する生成ステップと、を実行させることを特徴とする。
本発明によれば、ノード装置は、所属するグループに対応するオーバーレイネットワークを介して、ネットワーク上で同一の範囲に接続する他のノード装置と通信することができる。
一実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。 一実施形態におけるコンテンツ分散システムSにおいて、ノードNnがグループP2Pネットワークに参加する場合の動作概要の一例を示す図である。 センターサーバSAの概要構成例を示す図である。 ノードNnの概要構成例を示す図である。 一実施形態におけるノードNnの制御部21のルーティングテーブル監視処理における処理例を示すフローチャートである。 一実施形態におけるノードNnの制御部21のP2Pグループ参加処理における処理例を示すフローチャートである。 (a)は、一実施形態におけるノードNnの制御部21の参加要求メッセージ受信処理における処理例を示すフローチャートであり、(b)は、一実施形態におけるノードNnの制御部21のコンタクトノード要求メッセージ受信処理における処理例を示すフローチャートである。 (a)は、一実施形態におけるノードNnの制御部21のグループ情報通知メッセージ受信処理における処理例を示すフローチャートであり、(b)は、一実施形態におけるノードNnの制御部21のノード情報通知メッセージ受信処理における処理例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
[1.コンテンツ分散保存システムの概要構成]
始めに、図1を参照して、本実施形態におけるコンテンツ分散保存システムの概要構成について説明する。図1は、本実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
図1に示すように、コンテンツ分散保存システムSは、複数のノード装置Nnがネットワーク5を介して接続されることで構成される。ネットワーク5は、現実世界の通信ネットワークである。例えば、ネットワーク5は、インターネット等である。このネットワーク5は、複数の物理的なネットワークにより構成されている。物理的なネットワークとしては、例えば、ISPネットワークm(m=1,2,3の何れか)、及びWAN(Wide Area Network)4等がある。各ISPネットワークは、例えば、ISP(Internet Service Provider)がインターネット接続サービス等を提供するために構築したアクセスネットワークである。各ISPネットワークmは、例えば、電話回線や光ファイバー等により構成されている。各ISPネットワークmは、ISPネットワークmとネットワーク5との間で送受信される情報を中継するルータRTmを含む。各ルータRTmは、例えば、LSN(Large Scale NAT(Network Address Translator))機能を有するルータである。なお、ルータRTmは、本発明の通信機器の一例である。各ISPネットワークmは、ISPネットワークm内で情報を中継するためのルータを1または複数有しても良い。
各ノード装置Nn(n=1,2,3・・・の何れか)は、ネットワーク5を構成するISPネットワークm、WAN4等に接続されている。以下、ノード装置を、「ノード」という。各ノードNnには、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態におけるコンテンツ分散保存システムSは、これらのノードNnのうち、何れか複数のノードNnの接続により形成されるピアツーピア方式のネットワークシステムとなっている。
なお、ISPネットワークmが、複数のアクセスネットワークを含んでいても良い。以下、ISPネットワークmに含まれる各アクセスネットワークを、「LSNネットワーク」という。LSNネットワークは、LSNネットワークとISPネットワークmとの間で送受信される情報を中継するLSN機能を有するルータを含む。また、LANが、NAT機能を有するルータを介して、WAN4、ISPネットワークm、またはLSNネットワークに接続されても良い。
[2.グループP2Pネットワークの概要]
コンテンツ分散システムSにおいては、ノードNnが接続するネットワークの範囲に応じて、各ノードが複数のグループに所属する。そして、コンテンツ分散システムSは、グループ内のノードNn間で情報通信するためのピアツーピア方式の通信ネットワークとして、グループP2Pネットワークを複数生成する。グループP2Pネットワークは、物理的なネットワーク上に生成される論理的なオーバーレイネットワークである。ノードNnが接続するネットワークの範囲とは、ノードNnが、ネットワーク5上において、どの範囲に接続するかを示す。各ノードNnは、所属しているグループに対応するグループP2Pネットワークに参加する。そして、グループP2Pネットワークは、同一のグループに所属するノードNnのうち、何れか複数のノードNnの参加により生成される。ここで、グループP2Pネットワークへの参加とは、ノードNnがグループP2Pネットワークに接続されて、グループP2Pネットワークからコンテンツデータを取得可能な状態になることをいう。各グループには、それぞれ固有の識別情報であるグループIDが割り当てられる。また、グループIDは、グループP2Pネットワークを識別するための情報でもある。そして、グループIDは、ノードNnが、グループP2Pネットワークに参加し、グループP2Pネットワークに参加する他のノードNnと情報通信するための情報である。なお、グループIDは、本発明の識別情報の一例である。ネットワークの範囲及びグループIDの詳細については後述する。
各グループP2Pネットワークは、特定のアルゴリズム、例えば、DHT(Distributed Hash Table)を利用したアルゴリズムにより実現される。そして、コンテンツ配信システムSに接続されている各ノードには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。
また、各ノードNnは、夫々、DHT(Distributed Hash Table)を用いたルーティングテーブルを保持している。このルーティングテーブルは、グループP2Pネットワークにおける各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。IPアドレスは、本発明のアドレス情報の一例である。ルーティングテーブルは、ノードNnが所属するグループ毎に作成される。そのため、各ノードNnにおいて、グループ情報一覧が作成される。グループ情報一覧は、複数のグループ情報が登録されるリスト形式のデータ構造である。各グループ情報は、ルーティングテーブルとグループIDとを含む。このようにして、グループ毎のルーティングテーブルが、グループIDと対応付けて保持される。グループP2Pネットワークに接続している1台のノードNnは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードNnに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノードNn間でレプリカが利用可能になっている。各コンテンツのオリジナルは、WAN4に接続されているセンターサーバSAに保存されている。以下、コンテンツのレプリカが保存されるノードNnは、「コンテンツ保持ノード」という。以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理(記憶)しているノードNn等により記憶される。以下、コンテンツの所在を管理(記憶)しているノードNnを、「コンテンツルートノード」という。インデックス情報は、レプリカを保存したノードNnのノード情報と、コンテンツのコンテンツIDと等の組を含む。インデックス情報は、ノードNnが所属するグループ毎に必要となる。そのため、各ノードNnにおいて、グループ毎のインデックス情報が、それぞれグループIDと対応付けて記憶される。このようなコンテンツルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、コンテンツIDと上位桁がより多く一致するノードIDである。
そして、或るノードNnのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードNnは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードNnを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID、ユーザノードのノード情報、コンテンツを取得するグループP2Pネットワークに対応するグループのグループID等を含む検索要求メッセージである。検索要求メッセージは、コンテンツ保持ノードを検索するためのメッセージでもる。上述の検索要求メッセージが、ユーザノードが記憶するDHTのルーティングテーブルに従って、他のノードNnに対して送出される。つまり、ユーザノードは、検索要求メッセージを、コンテンツルートノードに向けて送出する。このときに用いられるルーティングテーブルは、検索要求メッセージに含まれるグループIDに対応するルーティングテーブルである。検索要求メッセージを受信したノードNnが検索要求メッセージを転送するとき、ノードNnは、検索要求メッセージに含まれるグループIDに対応するルーティングテーブルを用いる。これにより、検索要求メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にコンテンツルートノードに到達することになる。
上記検索要求メッセージを受信したコンテンツルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。このときに用いられるインデックス情報は、検索要求メッセージに含まれるグループIDに対応するインデックス情報である。そして、コンテンツルートノードは、取得したインデックス情報を含む検索応答メッセージを、検索要求メッセージの送信元であるユーザノードに対して返信する。インデックス情報を取得したユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツIDが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを、コンテンツキャッシュエリアから取得する。そして、コンテンツ保持ノードは、取得したコンテンツを含むコンテンツ要求応答メッセージをユーザノードに送信する。このようにして、ユーザノードは、コンテンツをダウンロード(取得)することが可能になる。
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをコンテンツルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID、コンテンツを保存したノードNnのノード情報、及びノードNnが所属するグループのグループID等を含む。パブリッシュメッセージは、コンテンツルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索要求メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってコンテンツルートノードに到達することになる。そして、コンテンツルートノードは、パブリッシュメッセージを受信する。コンテンツルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を、パブリッシュメッセージに含まれるグループIDに対応するインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのコンテンツを保持するコンテンツ保持ノードとなる。なお、ノードNnが複数のグループに所属する場合、ノードNnは、各グループに対応するパブリッシュメッセージを送信する。
[3.ネットワークの範囲及びグループID]
次に、ノードNnが接続するネットワークの範囲及びグループIDについて説明する。上述したように、ノードNnが接続するネットワークの範囲は、ノードNnが、ネットワーク5上において、どの範囲に接続するかを示す。各ノードNnは、WAN4を介して、ネットワーク5に接続することができる。そこで、ネットワーク5は、コンテンツ分散保存システムSにおいて、ノードNnが接続する最も広いネットワークの範囲となる。このネットワーク5に対応するグループP2Pネットワークが、図1に示すグローバルP2Pネットワーク6である。グローバルP2Pネットワーク6は、全てのノードNnが参加可能なグループP2Pネットワークである。
そして、ネットワーク5を最上位のネットワークの範囲として、ネットワークの範囲が上位階層から下位階層にかけて階層的に分割される。例えば、第2階層においては、ネットワーク5が複数のネットワークの範囲に分割される。また、第3階層においては、第2階層の各ネットワークの範囲が、それぞれ複数のネットワークの範囲に分割される。また、ネットワークの範囲に対応して、複数のノードNnが階層的にグループ分けされ、グループP2Pネットワークも階層的に形成される。なお、説明の便宜上、WAN4は、最上位の階層に位置するものとする。
第2階層以下に位置するネットワークの範囲の定め方としては、NATを行うルータを介さなくても通信を行うことができる範囲を、ネットワークの範囲と定める方法がある。言い換えれば、NATを行うルータを介さなくても通信を行うことができるノードNnにより、グループが構成される。ISPネットワークmの内部では、ルータRTmを介さなくても通信を行うことができるノードNnが存在する。ルータRTmを介さないことにより、ISPネットワークmとWAN4とを接続する通信回線を通過する情報の量、及び、ルータRTmが中継する情報の量が多くなることが防止される。また、NATを行うルータを介してのピアツーピア方式の通信は、特別な仕組みを用いないと難しい場合がある。そのような場合であっても、ISPネットワークmの内部でピアツーピア方式の通信を行うことができる。そこで、各ISPネットワークmを、それぞれ第2階層に位置するネットワークの範囲とする。
また、ISPネットワークmに接続する複数のノードNnによってグループが構成される。そして、このグループ内の複数のノードNnにより、ISPネットワークmに対応するグループP2Pネットワークが形成される。例えば、図1に示すように、グループP2Pネットワーク7は、ISPネットワーク1に接続するノードNnのうち、グループP2Pネットワーク7に参加している複数のノードNnにより形成されている。また、グループP2Pネットワーク8は、ISPネットワーク3に接続するノードNnのうち、グループP2Pネットワーク8に参加している複数のノードNnにより形成されている。同一のISPネットワークmに接続するノードNn同士が、ISPネットワークmに対応するグループP2Pネットワークにより通信を行うことで、異なるISPネットワークm間で送受信される情報を減らすことができる。これにより、異なるISPネットワークm間の通信による回線の負荷やルータRTmの負荷を減らすことができる。
ISPネットワークmが、1または複数のLSNネットワークを含んでいる場合がある。この場合、LSNネットワークの内部では、LSNネットワークに接続するノードNnは、LSNネットワークのルータを介さなくても通信を行うことができる。そこで、各LSNネットワークを、それぞれ第3階層に位置するネットワークの範囲としても良い。この場合、或るLSNネットワークに接続するノードNnは、そのLSNネットワークに対応するグループP2Pネットワークと、そのLSNネットワークの上位階層に位置するISPネットワークmに対応するグループP2Pネットワークと、グローバルP2Pネットワーク6とに参加することになる。また、LANが、WAN4、ISPネットワークmまたはLSNネットワークに接続されているとする。この場合、LANを、接続されているネットワークの下位階層に位置するネットワークの範囲としても良い。
グローバルP2Pネットワーク6に参加するためのグループIDは、ノードNnが接続するネットワークの範囲に対応させる必要がある。そして、グループIDを生成するために、ネットワークの範囲を示す情報を取得することが必要となる。このネットワークの範囲を示す情報を、「ネットワーク範囲情報」という。なお、ネットワーク範囲情報は、本発明の範囲情報の一例である。ネットワーク範囲情報としては、例えば、ISPネットワーク、LSNネットワーク、LAN等を識別するための情報が用いられる。具体的には、各ネットワークには、そのネットワークの外部のネットワークとの間で送受信される情報を中継するNAT機能を有するルータが接続されている。そして、各ルータには、接続するネットワークの外部のネットワークでの通信に用いられるIPアドレスが割り当てられている。このIPアドレスがネットワーク範囲情報として用いられる。
ルータのIPアドレスを取得する方法としては、ノードNnが、接続先のネットワークのルータを介するように情報を送信する方法がある。つまり、ノードNnが、接続先のネットワークの外部に情報を送信する。これにより、送信された情報のパケットヘッダの送信元IPアドレスは、ルータRTmのIPアドレスに書き換えられる。すなわち、ノードNnのローカルIPアドレスがグローバルIPアドレスに書き換えられる。例えば、ISPネットワークmに接続するノードNnからWAN4へ送信された情報は、ルータRTmによって中継される。このとき、パケットヘッダの送信元IPアドレスは、ルータRTmによって、ノードNnのIPアドレスからルータRTmのWAN4側のIPアドレスに書き換えられる。そこで、このようにして送信された情報を、他のノードNnが受信することにより、受信された情報のパケットヘッダから、ルータのIPアドレスを取得することができる。また、例えば、各ノードNnが、ノードNn自身のグローバルIPアドレスを予め記憶しておいても良い。
第2階層以下に位置するネットワークの範囲の定め方としては、ノードNnが属するドメインを示すドメイン名に基づいて定める方法がある。各ISPには、それぞれ固有のドメイン名が割り当てられている。ドメイン名は、複数のレベルのドメイン名により構成されている。トップレベルドメイン名は、国名コードに基づく国ドメイン名が割り当てられる場合がある。国ドメイン名としては、例えば、日本を示す「.jp」等がある。国ドメイン名は、ISPがISPネットワークmを設置している国を示している。従って、国ドメイン名は、ノードNnが属する国レベルのドメインを示す。そして、国ドメイン名は、ノードNnが接続するネットワークの範囲として、ノードNnが接続するネットワークが設置されている国を示す。そこで、ノードNnが接続するネットワークが設置されている国として、国ドメイン名が示す国を、例えば、第2階層に位置するネットワークの範囲とする。
この場合において、ネットワーク範囲情報は国ドメイン名となる。ドメイン名は、例えば、DNS(Domain Name System)により、ノードNnのグローバルIPアドレスから変換して取得することができる。また、ISPに割り当てられたドメイン名自体は、ISPにより構築されたISPネットワークに対応する。そこで、ノードNnが接続するISPネットワークとして、ドメイン名が示すISPネットワークを、例えば、第3階層に位置するネットワークの範囲とする。この場合において、ネットワーク範囲情報はISPに割り当てられたドメイン名となる。なお、ドメイン名及び国ドメイン名は、本発明のドメイン情報の一例である。
また、ネットワークの範囲の定め方として、上記2つの方法を組み合わせても良い。例えば、第2階層に位置するネットワークの範囲を、国ドメイン名から得られる国とする。また、第3階層に位置するネットワークの範囲を、ルータRTmのIPアドレスから得られるISPネットワークmとする。
また、ネットワークの範囲の定め方として、各ノードNnのネットワーク範囲情報を管理するサーバから取得しても良い。
[4.グループP2Pネットワークの生成、参加]
次に、コンテンツ分散システムSにおけるグループP2Pネットワークの生成及び参加の動作概要を説明する。なお、以下に説明する例は、第2階層のネットワークの範囲として、ISPネットワークmを適用した場合の例である。
図2は、本実施形態におけるコンテンツ分散システムSにおいて、ノードNnがグループP2Pネットワークに参加する場合の動作概要の一例を示す図である。例えば、ISPネットワーク1に接続するノードN1が、これからグループP2Pネットワークに参加するものとする。なお、この時点では、ISPネットワーク1に対応するグループP2Pネットワークは生成されていない。
グループP2Pネットワークへの参加は、これから参加するノードNnが、既に参加しているノードNnに対して参加要求メッセージを送信することにより行われる。ここで、これからグループP2Pネットワークへ参加するノードNnを、「参加要求ノード」という。また、参加要求メッセージの送信先のノードNnを、「コンタクトノード」という。なお、コンタクトノードは、本発明の第1の情報処理装置の一例である。参加要求ノードとしてのノードN1は、先ず、グループ情報一覧を作成する。そして、ノードN1は、ノード情報が1つも登録されていない空(から)のルーティングテーブルと、最上位のグループのグループIDとを含むグループ情報を、最上位のグループに対応するグループ情報として、グループ情報一覧に追加する。(図2(1))。最上位のグループは、ネットワークの範囲としてネットワーク5に対応するグループである。最上位のグループには、全てのノードNnが所属する。そして、最上位のグループのグループIDは、予め設定されている。
次いで、ノードN1は、最上位グループのコンタクトノード、例えば、ノードN4に対して参加要求メッセージを送信する(図2(2))。最上位グループのコンタクトノードは、例えば、ネットワーク5に常時接続しているノードNnである。ノードN1は、参加要求メッセージに、ノードN1のノード情報と、最上位グループのグループIDを含ませる。なお、参加要求メッセージは、本発明の参加メッセージの一例である。
ノードN4は、受信した参加要求メッセージに含まれるグループIDに対応するルーティングテーブルに、参加要求メッセージに含まれるノード情報を登録する(図2(3))。また、ノードN4は、グループIDに対応するルーティングテーブルから、ノードN1以外のノードNnのノード情報を所定数取得する。そして、ノードN4は、取得したノード情報と、最上位グループのグループIDとを含むノード情報通知メッセージをノードN1に送信する(図2(4))。
ノードN1は、受信した参加要求メッセージに含まれる最上位グループのグループIDに対応するルーティングテーブルに、参加要求メッセージに含まれるノード情報を登録する(図2(5))。これにより、ノードN1によるグローバルP2Pネットワーク6への参加が完了する。ノードN1は、ルーティングテーブルにノード情報が登録されているノードNnへメッセージを送信することができる。
一方、ノードN4が受信した参加要求メッセージのパケットヘッダの送信元IPアドレスには、ノードN1のグローバルIPアドレス、すなわち、ルータRT1のIPアドレスが設定されている。そこで、ノードN4は、ノードN1のグローバルIPアドレスを取得する。そして、ノードN4は、取得したグローバルIPアドレスに基づいて、ISPネットワーク1に対応するグループのグループIDを生成する(図2(6))。次いで、ノードN4は、生成したグループIDを含むグループ情報通知メッセージをノードN1に送信する(図2(7))。
ノードN1は、受信したグループ情報通知メッセージに含まれるグループIDと、空のルーティングテーブルとを含むグループ情報を、第2階層に対応するグループ情報としてグループ情報一覧に追加する(図2(8))。次いで、ノードN1は、受信したグループ情報通知メッセージに含まれるグループIDと、ノードN1のノード情報とを含むコンタクトノード要求メッセージを、グループルートノードに向けて送信する(図2(9))。コンタクトノード要求メッセージは、グループIDが示すグループのコンタクトノードのノード情報を要求するメッセージである。グループルートノードは、グループIDが示すグループに所属するノードNnの情報を管理するノードである。具体的に、グループルートノードは、グループIDとノード情報とを対応付けて登録するためのグループノード情報管理テーブルを保持している。グループルートノードは、コンテンツルートノードと同様に、グループIDと最も近いノードIDを有するノードNnであるように定められる。グループIDと最も近いノードIDとは、例えば、グループIDと上位桁がより多く一致するノードIDである。ノードN1から送信されたコンタクトノード要求メッセージは、DHTルーティングによって、グループルートノード、例えば、ノードN11に到達する。
ノードN11は、受信したコンタクトノード要求メッセージに含まれるグループIDとノード情報とを対応付けてグループノード情報管理テーブルに登録する(図2(10))。なお、この時点で、グループノード情報管理テーブルには、ノードN1のノード情報以外のノード情報は登録されていない。従って、ノードN11は、ノードN1に対してコンタクトノードのノード情報を通知しない。なお、グループルートノードは、本発明の第2の情報処理装置の一例である。
その後、ISPネットワーク1に接続するノードN2が、グループP2Pネットワークに接続するものとする。この場合も、図2(1)〜図2(10)と同様の処理が、ノードN2について行われる。このとき、ノードN11のグループノード情報管理テーブルには、ノードN1のノード情報が登録されている。そこで、ノードN2からコンタクトノード要求メッセージを受信したノードN11は、グループノード情報管理テーブルに登録されているノードN1のノード情報とグループIDとを含むノード情報通知メッセージをノードN2に送信する(図2(11))。
ノードN2は、受信したノード情報通知メッセージに含まれるノード情報に基づいて、ノードN1に参加要求メッセージを送信する。この場合、ノードN2は、ノードN2のノード情報と、受信したノード情報通知メッセージに含まれるグループIDとを含む参加要求メッセージを送信する(図2(12))。その後、図2(3)〜図2(5)と同様の処理が、ノードN1及びN2において行われる。そして、ISPネットワーク1に接続する2つ以上のノードNnのルーティングテーブルに、ISPネットワーク1に接続する他のノードNnのノード情報がそれぞれ少なくとも1つ以上登録される。これにより、ISPネットワーク1に対応するグループP2Pネットワークが生成される。
複数のグループP2Pネットワークに参加したノードNnは、所定の条件に基づいて、コンテンツを取得するグループP2Pネットワークを切り換えることができる。例えば、ノードNnが、接続するISPネットワーク内からコンテンツを取得する必要がある場合には、コンテンツの取得先を、接続するISPネットワークに対応するグループP2Pネットワークに切り換える。また、例えば、ノードNnが、接続するISPネットワーク外からコンテンツを取得する必要がある場合には、コンテンツの取得先を、グローバルP2Pネットワーク6に切り換える。また、ノードNnは、コンテンツを取得するグループP2Pネットワークを、ユーザの操作に基づいて切り換えても良い。
また、ルーティングテーブル及びインデックス情報は、各ノードNnにおいて、グループ毎に対応付けて記憶される。そのため、ノードNnは、検索要求メッセージ、またはパブリッシュメッセージを送信する場合、通信を行うグループP2PネットワークのグループIDに対応するルーティングテーブルから、送信先のノードNnのノード情報を取得する。そして、ノードNnは、検索要求メッセージまたはパブリッシュメッセージ上記メッセージを送信するときに、通信を行うグループP2PネットワークのグループIDをメッセージに含める。検索要求メッセージまたはパブリッシュメッセージを受信したノードNnは、受信したメッセージに含まれるグループIDに対応するルーティングテーブルを用いて、メッセージを転送する。また、検索要求メッセージを受信したコンテンツルートノードは、検索要求メッセージに含まれるグループIDに対応するインデックス情報を、ユーザノードに送信する。また、パブリッシュメッセージを受信したコンテンツルートノードは、パブリッシュメッセージに含まれるグループIDに対応付けてコンテンツ保持ノードのインデックス情報を登録する。
[5.各装置の構成及び機能]
次に、図3及び図4を参照して、各装置の構成及び機能について説明する。図3は、センターサーバSAの概要構成例を示す図である。また、図4は、ノードNnの概要構成例を示す図である。
[5.1 センターサーバSAの構成]
センターサーバSAは、図3に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11を備えている。また、センターサーバSAは、各種データ及び各種プログラム等を記憶保存するためのHD等から構成された記憶部12を備えている。更に、センターサーバSAは、ネットワーク8等を通じてノードNnとの間の情報の通信制御を行うための通信部13を備えている。また更に、センターサーバSAは、各種情報を表示するCRT,液晶ディスプレイ等の表示部14を備えている。更にまた、センターサーバSAは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部11に対して与える入力部15(例えば、キーボード、マウス等)を備えている。そして、制御部11、記憶部12、通信部13、表示部14、及び入力部15はバス16を介して相互に接続されている。
記憶部12には、各ノードNnのノードID、IPアドレス及びポート番号等が記憶されている。制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、センターサーバSA全体を統括制御する。
[5.2 ノードNnの構成]
各ノードNnは、図4に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部21を備えている。また、各ノードNnは、各種データ及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部22と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ23とを備えている。更に、各ノードNnは、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコードするデコーダ部24を備えている。また更に、各ノードNnは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部25と、この映像処理部25から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部26と、を備えている。更にまた、各ノードNnは、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部27と、この音声処理部27から出力されたオーディオ信号を音波として出力するスピーカ28と、を備えている。また更に、各ノードNnは、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部29を備えている。更にまた、各ノードNnは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部21に対して与える入力部30(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)を備えている。そして、制御部21、記憶部22、バッファメモリ23、デコーダ部24、通信部29、及び入力部30はバス31を介して相互に接続されている。
記憶部22は、第1記憶手段及び第2記憶手段の一例を構成する。この記憶部22には、ノードNn自身のノード情報、センターサーバSAのIPアドレス及びポート番号が記憶されている。また、記憶部22には、最上位のグループのグループID、最上位のグループのコンタクトノードのIPアドレス及びポート番号が記憶されている。また、記憶部22には、グループ情報一覧が記憶される。また、記憶部22には、インデックス情報がグループIDに対応付けて記憶される。また、記憶部22には、参加要求メッセージを送信するか否かの判定に用いられる規定数が設定される。ルーティングテーブルに登録されているノード情報の数が規定数以下であると、このルーティングテーブルに対応するグループP2Pネットワークへ参加するための参加要求メッセージが送信される。また、記憶部22には、グループ階層数及びネットワーク範囲情報指定テーブルが記憶される。グループ階層数は、最上位階層から第何階層までグループP2Pネットワークを生成するかを示す情報である。例えば、グループ階層数に3が設定されている場合、最上位階層から第3階層までの3階層分のグループP2Pネットワークが生成される。ネットワーク範囲情報指定テーブルは、ネットワーク範囲情報としてどの情報を用いるかを示す。具体的に、ネットワーク範囲情報指定テーブルには、ネットワーク範囲情報として用いられる情報の種別を示す情報種別が、階層毎に設定されている。例えば、第2階層に位置するネットワークの範囲を国とし、第3階層に位置するネットワークの範囲をISPネットワークmとする。この場合、第2階層に対応して、国ドメイン名を示す情報種別が設定される。また、第3階層に対応して、ノードNnのグローバルIPアドレスを示す情報種別が設定される。なお、全てのノードNnに対して、同一内容のグループ階層数及びネットワーク範囲情報指定テーブルが設定される。また、記憶部22には、ノードNnがコンタクトノードとしてグループIDを生成するためのハッシュ関数が記憶されている。
また、記憶部22には、ダウンロードされたコンテンツが、コンテンツIDに対応付けて記憶されている。更に、記憶部22には、オペレーティングシステム、P2Pソフトウェア(本発明の情報処理プログラムを含む)等の各種プログラムが記憶されている。P2Pソフトウェアは、各グループP2Pネットワークに参加し、それぞれのグループP2Pネットワークにおいて、他のノードNnとの情報通信を行うためのソフトウェアである。なお、P2Pソフトウェアは、例えば、センターサーバSA等からダウンロードされるようにしても良い。また、P2Pソフトウェアは、例えば、記録媒体に記録されて当該記録媒体からドライブを介して読み込まれるようにしても良い。
制御部21は、CPUが記憶部22等に記憶されたプログラムを読み出して実行することにより、取得手段、生成手段、参加手段、第1記憶手段、第1受信手段、第2送信手段、第1送信手段、第2受信手段、第3送信手段、第4受信手段、第2記憶手段、第3受信手段、第4送信手段、第5送信手段、第5受信手段、第6送信手段、第6受信手段、及び切替手段として機能する。
[6.コンテンツ分散保存システムの動作]
次に、図5乃至図8を参照して、本実施形態におけるコンテンツ分散保存システムSの動作について説明する。
図5は、本実施形態におけるノードNnの制御部21のルーティングテーブル監視処理における処理例を示すフローチャートである。
ルーティングテーブル監視処理は、ノードNnが所属する複数のグループのグループP2Pネットワークへ参加するための参加要求メッセージをそれぞれ定期的に送信するための処理である。参加要求メッセージが定期的に送信されることにより、ルーティングテーブルに登録されているノード情報の数が、規定数よりも多くなるように保たれる。
ルーティングテーブル監視処理は、例えばノードNnの電源がONとされた場合に開始される。先ず、制御部21は、グループ情報一覧を新規に作成して、記憶部22に記憶させる。そして、制御部21は、グループ情報一覧に、最上位のグループのグループ情報を追加する(ステップS1)。具体的に、制御部21は、空のルーティングテーブルと、最上位のグループのグループIDとを含むグループ情報を追加する。次いで、制御部21は、グループ情報一覧に登録されているグループ情報数Nに1を設定する(ステップS2)。
次いで、制御部21は、ユーザから電源OFFの要求がされたか否かを判定する(ステップS3)。このとき、制御部21は、ユーザから電源OFFの要求がされなかった場合には(ステップS3:NO)、最上位のグループのグループ情報のルーティングテーブルが空であるか否かを判定する(ステップS4)。このとき、制御部21は、最上位のグループのグループ情報のルーティングテーブルが空である場合には(ステップS4:YES)、ノード情報の登録を行う(ステップS5)。具体的に、制御部21は、最上位のグループのグループ情報のルーティングテーブルに、最上位のグループのコンタクトノードのノード情報を登録する。制御部21は、ステップS4において、最上位のグループのグループ情報のルーティングテーブルが空ではない場合(ステップS4:NO)、または、ステップS5の処理を終えた場合には、インデックスXに1を設定する(ステップS6)。
次いで、制御部21は、インデックスXがグループ情報数N以下であるか否かを判定する(ステップS7)。このとき、制御部21は、インデックスXがグループ情報数N以下である場合には(ステップS7:YES)、後述するP2Pグループ参加処理を実行する(ステップS8)。この場合、制御部21は、グループ情報一覧から階層番号としてX番目に対応するグループ情報を指定する。P2Pグループ参加処理においては、X番目の階層のグループのグループP2Pネットワークへ参加する処理が行われる。次いで、制御部21は、Xに1を加算して(ステップS9)、ステップS7に移行する。
ステップS7において、制御部21は、インデックスXがグループ情報数Nよりも大きい場合には(ステップS7:NO)、一定時間待機して(ステップS10)、ステップS3に移行する。ステップS3において、制御部21は、ユーザから電源OFFの要求がされた場合には(ステップS3:YES)、ルーティングテーブル監視処理を終了させる。
後述するP2Pグループ参加処理及びグループ情報通知メッセージ受信処理により、第2階層以下に対応するグループ情報が、グループ情報一覧に順次追加される。これにより、グループ情報数Nが増加する。そのため、制御部21は、グループ情報一覧に登録されているグループ情報それぞれに対応するP2Pグループ参加処理を実行すると、一定時間待機する。
図6は、本実施形態におけるノードNnの制御部21のP2Pグループ参加処理における処理例を示すフローチャートである。
先ず、制御部21は、指定されたグループ情報のルーティングテーブルが空であるか否かを判定する(ステップS21)。このとき、制御部21は、指定されたグループ情報のルーティングテーブルが空ではない場合には(ステップ21:NO)、指定されたグループ情報のルーティングテーブルに登録されているノード情報の数が規定数以下であるか否かを判定する(ステップS22)。このとき、制御部21は、指定されたグループ情報のルーティングテーブルに登録されているノード情報の数が規定数よりも多い場合には(ステップS22:NO)、P2Pグループ参加処理を終了させる。
一方、制御部21は、指定されたグループ情報のルーティングテーブルに登録されているノード情報の数が規定数以下である場合には(ステップS22:YES)、参加手段、第1送信手段及び第5送信手段として、参加要求メッセージを送信する(ステップS23)。具体的に、制御部21は、指定されたグループ情報のルーティングテーブルにノード情報が登録されているノードNnのうち、任意のノードNnに参加要求メッセージを送信する。このとき、制御部21は、ノードNnのノード情報と、指定されたグループ情報のグループIDと、指定されたグループ情報に対応するグループの階層を示す階層番号とを参加要求メッセージに含める。例えば、指定されたグループ情報が最上位のグループのグループ情報である場合、階層番号として1が設定される。また、例えば、指定されたグループ情報が第2階層のグループのグループ情報である場合、階層番号として2が設定される。次いで、制御部21は、参加要求メッセージの送信が成功したか否かを判定する(ステップS24)。例えば、参加要求メッセージの送信先のノードNnが、グループP2Pネットワークから離脱している場合には、参加要求メッセージの送信が失敗する。このとき、制御部21は、参加要求メッセージの送信が成功した場合には(ステップS24:YES)、P2Pグループ参加処理を終了させる。一方、制御部21は、参加要求メッセージの送信が失敗した場合には(ステップS24:NO)、指定されたグループ情報のルーティングテーブルから、参加要求メッセージの送信先のノードNnのノード情報を削除する(ステップS25)。制御部21は、ステップS25の処理を終えると、ステップS21に移行する。
ステップS21において、制御部21は、指定されたグループ情報のルーティングテーブルが空である場合には(ステップS21:YES)、指定されたグループ情報が最上位のグループのグループ情報であるか否かを判定する(ステップS26)。例えば、制御部21は、指定されたグループ情報のグループIDと、記憶部22に記憶されている最上位のグループのグループIDとが一致するか否かを判定する。このとき、制御部21は、指定されたグループ情報が最上位のグループのグループ情報である場合には(ステップS26:YES)、P2Pグループ参加処理を終了させる。
一方、制御部21は、指定されたグループ情報が最上位のグループのグループ情報ではない場合には(ステップS26:NO)、第3送信手段として、コンタクトノード要求メッセージを送信する(ステップS27)。具体的に、制御部21は、グループ情報一覧において、指定されたグループ情報よりも1つ上位の位置に登録されているグループ情報を取得する。そして、制御部21は、取得したグループ情報のルーティングテーブルにノード情報が登録されているノードNnのうち、任意のノードNnにコンタクトノード要求メッセージを送信する。つまり、制御部21は、P2Pグループ参加処理の対象となっているグループより1つ上位のグループのグループP2Pネットワークに参加しているノードNnにコンタクトノード要求メッセージを送信する。以下、P2Pグループ参加処理の対象となっているグループより1つ上位のグループを「上位グループ」という。また、このとき、制御部21は、ノードNn自身のノード情報、第1グループID及び第2グループIDを、コンタクトノード要求メッセージに含める。第1グループIDは、指定されたグループ情報のグループIDである。送信されたコンタクトノード要求メッセージは、DHTルーティングによって、第1グループIDと最も近いノードIDを有するノードNn、すなわち、グループルートノードに到達する。第2グループIDは、上位グループのグループIDである。コンタクトノード要求メッセージを受信したノードNnは、コンタクトノード要求メッセージに含まれる第2グループIDに対応するグループ情報のルーティングテーブルを用いて、コンタクトノード要求メッセージを転送する。制御部21は、ステップS27の処理を終えると、P2Pグループ参加処理を終了させる。
図7(a)は、本実施形態におけるノードNnの制御部21の参加要求メッセージ受信処理における処理例を示すフローチャートである。
参加要求メッセージ受信処理は、コンタクトノードの制御部21が、第1受信手段及び第5受信手段として参加要求メッセージを受信したときに開始される。先ず、制御部21は、受信した参加要求メッセージに含まれるグループIDに対応するグループ情報のルーティングテーブルに、参加要求メッセージに含まれるノード情報を登録する(ステップS41)。次いで、制御部21は、受信した参加要求メッセージに含まれるグループIDに対応するグループ情報のルーティングテーブルから、任意のノード情報を所定数取得する(ステップS42)。なお、ステップS41において登録されたノード情報は、ステップS42においての取得対象から除外される。また、ルーティングテーブルに登録されているノード情報の数が所定数に満たない場合には、登録されているノード情報が全て取得される。次いで、制御部21は、第6送信手段として、取得したノード情報を含むノード情報通知メッセージを、参加要求メッセージの送信元のノードNnに送信する(ステップS43)。このとき、制御部21は、受信した参加要求メッセージに含まれているグループIDを、ノード情報通知メッセージに設定する。
次いで、制御部21は、受信した参加要求メッセージに含まれる階層番号がグループ階層数の値よりも小さいか否かを判定する(ステップS44)。このとき、制御部21は、参加要求メッセージに含まれる階層番号がグループ階層数の値よりも小さい場合には(ステップS44:YES)、グループIDの生成を行う。参加要求メッセージに含まれる階層番号は、参加要求メッセージに含まれるグループIDが示すグループの階層を示す。すなわち、階層番号は、参加要求ノードが今参加しようとしているグループP2Pネットワークに対応するグループの階層を示す。階層番号がグループ階層数の値よりも小さい場合には、参加要求ノードが、更に下位階層のグループのグループP2Pネットワークに参加すべきであることを示す。そこで、制御部21は、参加要求ノードが今参加しようとしているグループP2Pネットワークに対応するグループの階層より1つ下位の階層のグループのグループIDを生成する。
先ず、制御部21は、取得手段として、ネットワーク範囲情報を取得する(ステップS45)。具体的に、制御部21は、参加要求メッセージに含まれる階層番号に1を加算する。次いで、制御部21は、ネットワーク範囲情報指定テーブルから、階層番号に対応する情報種別を取得する。そして、制御部21は、取得した情報種別に応じて、ネットワーク範囲情報を取得する。例えば、情報種別がノードNnのグローバルIPアドレスを示す場合、制御部21は、受信した参加要求メッセージのパケットヘッダの送信元IPアドレスから、グローバルIPアドレスを取得する。また、例えば、情報種別が国ドメイン名を示す場合、制御部21は、ノードNnのグローバルIPアドレスを、ドメイン名に変換する。そして、制御部21は、ドメイン名から国ドメイン名を取得する。
次いで、制御部21は、生成手段として、取得したネットワーク範囲情報をハッシュ化して、グループIDを生成する(ステップS46)。次いで、制御部21は、第2送信手段として、生成したグループIDを含むグループ情報通知メッセージを、参加要求メッセージの送信元の参加要求ノードに送信する(ステップS47)。
制御部21は、ステップS44において、参加要求メッセージに含まれる階層番号がグループ階層数の値以下である場合(ステップS44:NO)、または、ステップS47の処理を終えた場合には、参加要求メッセージ受信処理を終了させる。
図7(b)は、本実施形態におけるノードNnの制御部21のコンタクトノード要求メッセージ受信処理における処理例を示すフローチャートである。
コンタクトノード要求メッセージ受信処理は、グループルートノードの制御部21が、第3受信手段として、コンタクトノード要求メッセージを受信したときに開始される。先ず、制御部21は、受信したコンタクトノード要求メッセージに含まれるグループIDとノード情報とを対応付けて、グループノード情報管理テーブルに登録する(ステップS61)。なお、グループノード情報管理テーブルのサイズは有限であるため、グループノード情報管理テーブルに登録することができるノード情報及びグループIDの数は限られている。そこで、制御部21は、グループノード情報管理テーブルにノード情報及びグループIDを登録する空きがない場合、登録された時期が最も古い破棄する。そして、制御部21は、空いた部分に新しいノード情報及びグループIDを登録する。
次いで、制御部21は、受信したコンタクトノード要求メッセージに含まれるグループIDに対応するノード情報がグループノード情報管理テーブルに登録されているか否かを判定する(ステップS62)。なお、ステップS61において登録されたノード情報は、グループノード情報管理テーブルに登録されているか否かの判定の対象とはならない。このとき、制御部21は、コンタクトノード要求メッセージに含まれるグループIDに対応するノード情報がグループノード情報管理テーブルに登録されている場合には(ステップS62:YES)、グループノード情報管理テーブルから、コンタクトノード要求メッセージに含まれるグループIDに対応するノード情報を所定数取得する(ステップS63)。なお、登録されているノード情報の数が所定数に満たない場合には、登録されているノード情報が全て取得される。次いで、制御部21は、第4送信手段として、取得したノード情報を含むノード情報通知メッセージを、コンテンツノード要求メッセージの送信元のノードNnに送信する(ステップS64)。このとき、制御部21は、受信したコンタクトノード要求メッセージに含まれている第1グループIDを、ノード情報通知メッセージに設定する。
制御部21は、ステップS62において、コンタクトノード要求メッセージに含まれるグループIDに対応するノード情報がグループノード情報管理テーブルに登録されていない場合(ステップS62:NO)、または、ステップS64の処理を終えた場合には、コンタクトノード要求メッセージ受信処理を終了させる。
なお、グループルートノード以外のノードNnがコンタクトノード要求メッセージを受信した場合も、グループノード情報管理テーブルへの情報の登録を行っても良い。具体的には、ノードNnは、受信したコンタクトノード要求メッセージに含まれるグループIDとノード情報とを対応付けて、グループノード情報管理テーブルに登録する。そして、ノードNnは、ルーティングテーブルを用いて、コンタクトノード要求メッセージを転送する。これにより、グループルートノードがグループP2Pネットワークから離脱した後も、参加要求ノードは、新たなグループルートノードからノード情報を取得することができる。
図8(a)は、本実施形態におけるノードNnの制御部21のグループ情報通知メッセージ受信処理における処理例を示すフローチャートである。
グループ情報通知メッセージ受信処理は、参加要求ノードの制御部21が、第2受信手段としてグループ情報通知メッセージを受信したときに開始される。先ず、制御部21は、受信したグループ情報通知メッセージに含まれるグループIDに対応するグループ情報が、グループ情報一覧に登録されているか否かを判定する(ステップS81)。このとき、制御部21は、グループ情報通知メッセージに含まれるグループIDに対応するグループ情報が登録されていない場合には(ステップS81:NO)、グループ情報数Nに1を加算する(ステップS82)。次いで、制御部21は、グループ情報一覧に、グループ情報を追加する(ステップS83)。具体的に、制御部21は、グループ情報一覧において、グループ情報数Nの値が示す階層に対応する位置に、グループ情報を追加する。このとき、制御部21は、空のルーティングテーブルと、グループ情報通知メッセージに含まれるグループIDとを含むグループ情報を追加する。
制御部21は、ステップS81において、グループ情報通知メッセージに含まれるグループIDに対応するグループ情報が登録されている場合(ステップS81:YES)、または、ステップS83の処理を終えた場合には、P2Pグループ参加処理を実行する(ステップS84)。このとき、制御部21は、グループ情報通知メッセージに含まれるグループIDに対応するグループ情報を指定する。制御部21は、ステップS84の処理を終えると、グループ情報通知メッセージ受信処理を終了させる。
図8(b)は、本実施形態におけるノードNnの制御部21のノード情報通知メッセージ受信処理における処理例を示すフローチャートである。
ノード情報通知メッセージ受信処理は、参加要求ノードの制御部21が、参加手段、第4受信手段及び第6受信手段として、ノード情報通知メッセージを受信したときに開始される。先ず、制御部21は、受信したノード情報通知メッセージに含まれるグループIDに対応するグループ情報が、グループ情報一覧に登録されているか否かを判定する(ステップS101)。このとき、制御部21は、ノード情報通知メッセージに含まれるグループIDに対応するグループ情報が登録されている場合には(ステップS101:YES)、参加手段として、ノード情報通知メッセージに含まれるグループIDに対応するグループ情報のルーティングテーブルに、ノード情報通知メッセージに含まれるノード情報を登録する(ステップS102)。次いで、制御部21は、P2Pグループ参加処理を実行する(ステップS103)。このとき、制御部21は、ノード情報通知メッセージに含まれるグループIDに対応するグループ情報を指定する。
制御部21は、ステップS101において、ノード情報通知メッセージに含まれるグループIDに対応するグループ情報が登録されていない場合(ステップS101:NO)、または、ステップS103の処理を終えた場合には、ノード情報通知メッセージ受信処理を終了させる。
以上説明したように、本実施形態によれば、コンタクトノードが、取得されたネットワーク範囲情報に基づいて、グループIDを生成する。参加要求ノードが、生成されたグループIDに基づいて、グループP2Pネットワークに参加する。従って、ノードNnは、所属するグループに対応するグループP2Pネットワークを介して、ネットワーク上で同一の範囲に接続する他のノードNnと通信することができる。
また、参加要求ノードが、生成されたグループIDを含むコンタクトノード要求メッセージをグループルートノードへ送信する。グループルートノードが、コンタクトノード要求メッセージに含まれるグループIDに対応付けてグループノード情報管理テーブルに登録されているノード情報を含むノード情報通知メッセージを、参加要求ノードに送信する。参加要求ノードが、ノード情報通知メッセージに含まれるノード情報と生成されたグループIDとに基づいて、グループP2Pネットワークに参加する。従って、ノードNnは、取得されたノード情報を用いて同一のグループに所属するノードNnと通信することにより、グループP2Pネットワークに参加することができる。
参加要求ノードが、コンタクトノードから送信されたノード情報通知メッセージに含まれるノード情報を、生成されたグループIDに対応するルーティングテーブルに登録する。従って、同一のグループに所属する複数のノードNn間で、このグループに所属するノードNnのノード情報が交換される。そして、交換されたノード情報が、グループ内において情報の送信先を示す情報として、それぞれのノードNnにより記憶される。このようにして、グループP2Pネットワークを生成することができる。
グループルートノードが、コンタクトノード要求メッセージに含まれるグループIDに対応付けてグループノード情報管理テーブルに登録されているノード情報のうち、参加要求ノードのノード情報と異なるノード情報を、参加要求ノードに送信する。従って、参加要求ノードは、現在グループP2Pネットワークに参加しているノードNnのノード情報をグループルートノードから取得することができる。よって、グループP2Pネットワークを介して安定した通信を行うことができる。
また、ノードNnが、各グループP2Pネットワーク毎に、参加要求メッセージを周期的に送信する。従って、十分な数のノード情報を用いて、グループP2Pネットワークを介した通信を安定して行うことができる。また、ノードNnが、グループルートノードとしてグループノード情報を管理するので、複数のグループのグループノード情報を管理する負担を、複数のノードNnに分散させることができる。
また、コンタクトノードが、参加要求ノードのグローバルIPアドレスであるルータRTmのIPアドレスを、ネットワーク範囲情報として取得することを特徴とする。従って、ネットワーク間を接続する通信回線を通過する情報の量及びルータRTmにより中継される情報の量がグループP2Pネットワークを介した通信によって多くなることを防止することができる。また、ルータRTmによるIPアドレスの書き換えによりネットワーク間のピアツーピア方式による通信が困難であっても、ネットワーク内で通信することができる。
また、コンタクトノードが、参加要求ノードが属するドメインを示すドメイン名を、ネットワーク範囲情報として取得する。従って、同一のドメインに属するノードNnにより構成されるネットワークの範囲を、ノードNnが接続するネットワークの範囲とする。そのため、ドメインの単位でノードNnをグループ化して、グループP2Pネットワークを生成することができる。また、ノードNnが、複数のグループP2Pネットワークに参加した場合、コンテンツを取得するためのグループP2Pネットワークを、所定の条件に基づいて切り換える。従って、条件に適したグループP2Pネットワークを介して通信を行うことにより、より効率的な通信を行うことができる。
なお、上記実施形態においては、参加要求ノードから参加要求メッセージを受信したコンタクトノードがグループIDを生成していた。しかしながら、参加要求ノードがグループIDを生成しても良い。例えば、参加要求メッセージを受信したコンタクトノードが、ネットワーク範囲情報を取得する。次いで、コンタクトノードが、取得したネットワーク範囲情報を参加要求ノードに送信する。次いで、参加要求ノードが、受信したネットワーク範囲情報に基づいて、グループIDを生成する。
また、ネットワーク範囲情報が予めノードNnにより記憶されていても良い。例えば、記憶部22には、ノードNn自身が接続するネットワークの範囲を示すネットワーク範囲情報が、階層毎に記憶される。ノードNnは、グローバルP2Pネットワーク6に参加した後、第2階層に対応するネットワーク範囲情報を、記憶部22から取得する。次いで、ノードNnは、取得したネットワーク範囲情報に基づいて、グループIDを生成する。そして、ノードNnは、生成したグループIDに基づいて、第2階層のグループのグループP2Pネットワークに参加する。ノードNnは、第3階層以下についても、同様の処理を行う。
また、上記実施形態においては、参加要求ノードから参加要求メッセージを受信したコンタクトノードが、ノード情報通知メッセージを参加要求ノードに送信していた。しかしながら、コンタクトノード以外のノードNnが、ノード情報通知メッセージを送信しても良い。例えば、コンタクトノードは、参加要求メッセージに含まれるグループIDに対応するルーティングテーブルにノード情報が登録されているノードNnを所定数選択する。次いで、コンタクトノードは、選択した各ノードNnに参加要求メッセージを転送する。そして、参加要求メッセージの転送を受けたノードNnが、ノード情報通知メッセージを参加要求ノードに送信する。
また、上記実施形態においては、参加要求ノードから参加要求メッセージを受信したコンタクトノードが、グループ情報通知メッセージを参加要求ノードに送信していた。しかしながら、グループルートノードが、グループ情報通知メッセージを送信しても良い。例えば、コンタクトノードは、グループ情報通知要求メッセージを、グループルートノードに向けて送信する。グループ情報通知要求メッセージには、参加要求メッセージに含まれるノード情報と、生成したグループIDとが設定される。送信されたグループ情報通知要求メッセージは、DHTルーティングによりグループルートノードに到達する。グループルートノードは、受信したグループ情報通知要求メッセージに含まれるノード情報とグループIDとを対応付けて、グループノード情報管理テーブルに登録する。また、グループルートノードは、グループ情報通知要求メッセージに含まれるグループIDに対応するノード情報を、グループノード情報管理テーブルから取得する。そして、グループルートノードは、取得したノード情報を含むグループ情報通知メッセージを、参加要求ノードに送信する。このとき、グループルートノードは、受信したグループ情報通知要求メッセージに含まれるグループIDを、グループ情報通知メッセージに設定する。参加要求ノードは、グループ情報通知メッセージを受信することにより、グループIDとコンタクトノードのノード情報とを取得することができる。よって、参加要求ノードは、コンタクトノード要求メッセージを送信する必要がない。
また、コンタクトノードは、生成したグループIDに対応するノード情報がグループノード情報管理テーブルに登録されている場合には、このノード情報をグループ情報通知メッセージに含めても良い。この場合、参加要求ノードは、コンタクトノード要求メッセージを送信する必要がない。
また、上記実施形態においては、オーバーレイネットワークに、DHTを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ハイブリッド型のピアツーピアシステムの場合、本発明の情報処理装置として、センターサーバSAを適用することができる。例えば、センターサーバSAは、全てのグループのノード情報を管理する。
1、2、3 ISPネットワーク
4 WAN
5 ネットワーク
6 グローバルP2Pネットワーク
7、8 グループP2Pネットワーク
Nn ノード
SA センターサーバ
RTm ルータ
S コンテンツ分散保存システム

Claims (14)

  1. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムであって、
    オーバーレイネットワークに参加する第1のノード装置から、前記第1のノード装置がオーバーレイネットワークに参加するための情報の要求を示す要求メッセージ受信する第1受信手段と、
    前記要求メッセージを送信してきた前記第1のノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、
    前記取得手段により取得された囲情報に基づいて、前記要求メッセージを送信してきた前記第1のノード装置が所属するグループの識別情報を生成する生成手段と、
    前記生成手段により生成された別情報を、前記要求メッセージを送信してきた前記第1のノード装置に送信する第2送信手段と、を備える第2のノード装置を備え
    前記第1のノード装置は、
    前記要求メッセージを前記第2のノード装置に送信する第1送信手段と、
    前記第2のノード装置から送信された別情報を受信する第2受信手段と、
    前記第2受信手段により受信された別情報に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加手段と、
    備えることを特徴とする情報通信システム。
  2. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムであって、
    オーバーレイネットワークに参加する第1のノード装置は、
    接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、
    前記取得手段により取得された囲情報に基づいて、前記第1のノード装置が所属するグループの識別情報を生成する生成手段と、
    前記生成手段により生成された別情報に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加手段と、
    を備えることを特徴とする情報通信システム。
  3. グループの情報を管理する第3のノード装置は、
    グループに所属する前記ノード装置のアドレス情報を、前記グループの識別情報に対応付けて記憶する第1記憶手段と、
    前記第1のノード装置から送信された別情報を受信する第3受信手段と、
    前記第3受信手段により受信された識別情報に対応付けて前記第1記憶手段に記憶されている第4のノード装置のアドレス情報を、前記第3受信手段により受信された識別情報を送信してきた前記第1のノード装置に送信する第4送信手段と、
    を備え、
    前記第1のノード装置は、
    前記生成手段により生成された別情報を前記第3のノード装置へ送信する第3送信手段と、
    前記第3のノード装置から送信されたドレス情報を受信する第4受信手段と、
    を備え、
    前記参加手段は、前記第4受信手段により受信されたドレス情報と、前記生成手段により生成された別情報と、に基づいて、前記取得手段により取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加することを特徴とする請求項1または請求項2に記載の情報通信システム。
  4. 前記ノード装置は、
    オーバーレイネットワークにおける情報通信先の前記ノード装置のアドレス情報を記憶する第2記憶手段を備え、
    前記第1のノード装置の前記参加手段は、
    前記生成手段により生成された別情報と、第1のノード装置のドレス情報と、を含む参加メッセージを、前記第4受信手段により受信されたドレス情報が示す前記第4のノード装置に送信する第5送信手段と、
    前記第4のノード装置から送信された応答メッセージを受信する第6受信手段と、
    前記第6受信手段により受信された答メッセージに含まれる前記アドレス情報を、前記生成手段により生成された別情報に対応付けて前記第2記憶手段に記憶させる第1制御手段と、を備え、
    前記第4のノード装置は、
    前記第1のノード装置から送信された加メッセージを受信する第5受信手段と、
    前記第5受信手段により受信された加メッセージに含まれる前記識別情報に対応付けて前記第2記憶手段に記憶されている第5のノード装置のアドレス情報を含む前記応答メッセージを、前記第5受信手段により受信された参加メッセージを送信してきた前記第1のノード装置に送信する第6送信手段と、
    前記第5受信手段により受信された加メッセージに含まれる前記アドレス情報を、当該参加メッセージに含まれる前記識別情報に対応付けて前記第2記憶手段に記憶させる第2制御手段と、
    を更に備えすることを特徴とする請求項3に記載の情報通信システム。
  5. 前記第1のノード装置の前記第3送信手段は、前記生成手段により生成された別情報と、前記第1のノード装置の前記アドレス情報と、を前記第3のノード装置へ送信し、
    前記第3のノード装置の前記第3受信手段は、前記第1のノード装置から送信された別情報とドレス情報とを受信し、
    前記第3のノード装置の前記第1記憶手段は、前記第3受信手段により受信されたドレス情報を、前記第3受信手段により受信された別情報に対応付けて記憶し、
    前記第3のノード装置の前記第4送信手段は、前記第3受信手段により受信された別情報に対応付けて前記第1記憶手段に記憶されているドレス情報のうち、当該識別情報とともに受信されたドレス情報と異なるドレス情報を送信することを特徴とする請求項4に記載の情報通信システム。
  6. 前記第1のノード装置の前記参加手段は、前記参加メッセージを、前記第2記憶手段により記憶されたドレス情報が示す前記ノード装置へ周期的に送信することを特徴とする請求項4または請求項5に記載の情報通信システム。
  7. 前記第3のノード装置は、前記第1記憶手段により記憶されたドレス情報に対応付けられる前記識別情報が示すグループの情報を管理する前記ノード装置であり、
    前記第1のノード装置の前記第3送信手段は、前記生成手段により生成された別情報を、当該識別情報が示すグループの情報を管理する前記第3のノード装置に送信することを特徴とする請求項3乃至6の何れか1項に記載の情報通信システム。
  8. 前記取得手段は、ネットワーク間で送受信される情報を中継する通信機器が、前記第1のノード装置により送信された情報を中継するときに当該情報に設定する当該通信機器のアドレス情報を、前記範囲情報として取得することを特徴とする請求項1乃至7の何れか1項に記載の情報通信システム。
  9. 前記取得手段は、前記第1のノード装置が属するドメインを示すドメイン情報を、前記範囲情報として取得することを特徴とする請求項1乃至8の何れか1項に記載の情報通信システム。
  10. 接続先のネットワークの範囲が複数存在する場合、
    前記取得手段は、前記範囲情報を複数取得し、
    前記生成手段は、前記取得手段により取得された複数の囲情報それぞれに対応する前記識別情報を生成し、
    前記第1のノード装置の前記参加手段は、前記生成手段により生成された複数の別情報それぞれに対応するオーバーレイネットワークに参加し、
    前記第1のノード装置は、
    情報通信を行うオーバーレイネットワークを、所定の条件に基づいて切り換える切替手段を更に備えることを特徴とする請求項1乃至9の何れか1項に記載の情報通信システム。
  11. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおいて、前記複数のノード装置に含まれるノード装置であって、
    オーバーレイネットワークに参加する前記ノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得手段と、
    前記取得手段により取得された囲情報に基づいて、前記オーバーレイネットワークに参加するノード装置が所属するグループの識別情報を生成する生成手段と、
    を備えることを特徴とするノード装置
  12. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムおける情報処理方法において、
    オーバーレイネットワークに参加する第1のノード装置から、前記第1のノード装置がオーバーレイネットワークに参加するための情報の要求を示す要求メッセージを、第2のノード装置が受信する第1受信工程と、
    前記第2のノード装置が、前記要求メッセージを送信してきた前記第1のノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得工程と、
    前記第2のノード装置が、前記取得工程において取得された囲情報に基づいて、前記要求メッセージを送信してきた前記第1のノード装置が所属するグループの識別情報を生成する生成工程と、
    前記第2のノード装置が、前記生成工程において生成された別情報を、前記要求メッセージを送信してきた前記第1のノード装置に送信する第2送信工程と、
    前記第1のノード装置が、前記要求メッセージを前記第2のノード装置に送信する第1送信工程と、
    前記第1のノード装置が、前記第2のノード装置から送信された別情報を受信する第2受信工程と、
    前記第1のノード装置が、前記第2受信工程において受信された別情報に基づいて、前記取得工程において取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加工程と、
    を含むことを特徴とする情報処理方法。
  13. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおける情報処理方法であって、
    オーバーレイネットワークに参加する第1のノード装置が、接続先のネットワークの範囲を示す範囲情報を取得する取得工程と、
    前記第1のノード装置が、前記取得工程において取得された囲情報に基づいて、前記第1のノード装置が所属するグループの識別情報を生成する生成工程と、
    前記第1のノード装置が、前記生成工程において生成された別情報に基づいて、前記取得工程において取得された囲情報が示すネットワークの範囲に接続する複数のード装置間で情報通信が行われるオーバーレイネットワークに参加する参加工程と、
    を含むことを特徴とする情報処理方法。
  14. ネットワークに接続する複数のノード装置間で情報通信を行うためのオーバーレイネットワークを生成する情報通信システムにおいて、前記複数のノード装置に含まれるノード装置に含まれるコンピュータに、
    オーバーレイネットワークに参加する前記ノード装置の接続先のネットワークの範囲を示す範囲情報を取得する取得ステップと、
    前記取得ステップにおいて取得された囲情報に基づいて、前記オーバーレイネットワークに参加するノード装置が所属するグループの識別情報を生成する生成ステップと、
    を実行させることを特徴とする情報処理プログラム。
JP2010078052A 2010-03-30 2010-03-30 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム Expired - Fee Related JP5136585B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010078052A JP5136585B2 (ja) 2010-03-30 2010-03-30 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
US13/074,493 US8819295B2 (en) 2010-03-30 2011-03-29 Information communication system, first information processing device, method for processing information, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010078052A JP5136585B2 (ja) 2010-03-30 2010-03-30 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2011211543A JP2011211543A (ja) 2011-10-20
JP5136585B2 true JP5136585B2 (ja) 2013-02-06

Family

ID=44710956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010078052A Expired - Fee Related JP5136585B2 (ja) 2010-03-30 2010-03-30 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム

Country Status (2)

Country Link
US (1) US8819295B2 (ja)
JP (1) JP5136585B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725681B1 (en) * 2011-04-23 2014-05-13 Infoblox Inc. Synthesized identifiers for system information database
CN103051464A (zh) * 2011-10-14 2013-04-17 腾讯科技(深圳)有限公司 维护通讯录的方法及群组通讯录管理平台
US8849977B2 (en) * 2012-03-09 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and a control node in an overlay network
JP6272575B1 (ja) * 2017-01-11 2018-01-31 甲賀電子株式会社 データ通信方法
WO2018131176A1 (ja) * 2017-01-11 2018-07-19 甲賀電子株式会社 データ通信方法
JP2019091257A (ja) * 2017-11-15 2019-06-13 富士通株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3836858B2 (ja) 2002-09-27 2006-10-25 富士通株式会社 データ配信方法、システム、伝送方法及びプログラム
WO2006075424A1 (ja) 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4418897B2 (ja) 2005-01-14 2010-02-24 ブラザー工業株式会社 情報配信システム、情報更新プログラム、及び情報更新方法等
US7849303B2 (en) * 2005-02-22 2010-12-07 Microsoft Corporation Peer-to-peer network information storage
US7224938B2 (en) * 2005-03-11 2007-05-29 Freescale Semiconductor Inc. Method of communicating with a network device
JP5014608B2 (ja) * 2005-09-30 2012-08-29 富士通株式会社 グループ通信方法、利用装置および管理装置
JP4539603B2 (ja) * 2006-04-13 2010-09-08 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP5172443B2 (ja) * 2007-11-05 2013-03-27 株式会社エヌ・ティ・ティ・ドコモ 管理装置、通信端末、グループ通信システム、グループ管理方法、通信端末の制御方法
US8199673B2 (en) * 2008-06-17 2012-06-12 Qualcomm Incorporated Methods and apparatus for discovery of peer to peer overlaying networks
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
US9301238B2 (en) * 2009-03-06 2016-03-29 Qualcomm Incorporated Methods and apparatus for automated local network formation using alternate connected interfaces
US8549126B2 (en) * 2010-04-09 2013-10-01 Sony Computer Entertainment Inc. Application level broadcast in peer overlay network

Also Published As

Publication number Publication date
US8819295B2 (en) 2014-08-26
US20110246674A1 (en) 2011-10-06
JP2011211543A (ja) 2011-10-20

Similar Documents

Publication Publication Date Title
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP5136585B2 (ja) 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
WO2007060862A1 (ja) 情報配信システム、情報配信方法、ノード装置、及び記録媒体
WO2006085519A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
JP2008234445A (ja) コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
JP4692414B2 (ja) 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP2006101277A (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
US20100293295A1 (en) LIMITED BROADCAST, PEERING AMONG DHTs, BROADCAST PUT OF LIMITED CONTENT ONLY
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP5136581B2 (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
WO2010135254A1 (en) Limiting storage messages in peer to peer network
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP2008236536A (ja) 通信システム、ノード装置、ノード処理プログラム、及びサーバ機能制御方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2009070172A (ja) コンテンツ分散保存システム、提供元サーバ装置登録方法、ノード装置、及びノード処理プログラム
JP4770804B2 (ja) オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム
JP5359728B2 (ja) カラオケシステム、カラオケ装置、ノード装置、カラオケプログラム、ノードプログラム、及びカラオケデータ送信方法
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム
JP2012227581A (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP2009230573A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2012078903A (ja) ノード装置、ノード装置用プログラムおよび情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees