(57)【特許請求の範囲】
【請求項１】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶される通信システムであって、
前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶され、
前記複数の情報処理装置に含まれる第１情報処理装置は、
送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成手段と、
前記第１生成手段により生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信手段と、
を備え、
前記第２情報処理装置は、
前記第１情報処理装置から送信された前記第２識別情報と前記蓄積情報とを受信する受信手段と、
前記受信手段により受信された前記第２識別情報に対応付けて、前記受信手段により受信された前記蓄積情報を記憶する記憶手段と、
を備えることを特徴とする通信システム。
【請求項２】
前記複数の情報処理装置に含まれる第３情報処理装置は、
取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す前記位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて前記第２識別情報を生成する第２生成手段と、
前記第２生成手段により生成された前記第２識別情報と、前記複数の装置識別情報との関係に基づいて定められる前記第２情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得手段と、
を備えることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第２生成手段は、互いに異なる複数の前記位置情報のそれぞれを前記第１識別情報に付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、複数の前記第２識別情報を生成し、
前記取得手段は、前記第２生成手段により生成された前記第２識別情報ごとに前記蓄積情報を取得し、
前記第３情報処理装置は、
前記取得手段により取得された複数の前記蓄積情報を合成する合成手段を更に備えることを特徴とする請求項２に記載の通信システム。
【請求項４】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置であって、
送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成手段と、
前記第１生成手段により生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項５】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置であって、
取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す互いに異なる複数の位置情報のそれぞれを付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を複数生成する第２生成手段と、
前記第２生成手段により生成された前記第２識別情報ごとに、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる前記情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置に含まれるコンピュータに、
送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成ステップと、
前記第１生成ステップにより生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信ステップと、
を実行させることを特徴とするプログラム。
【請求項７】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置に含まれるコンピュータに、
取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す互いに異なる複数の位置情報のそれぞれを付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を複数生成する第２生成ステップと、
前記第２生成ステップにより生成された前記第２識別情報ごとに、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる前記情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得ステップと、
を実行させることを特徴とするプログラム。
【請求項８】
ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムの情報処理方法であって、
前記複数の情報処理装置に含まれる第１情報処理装置が、送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成ステップと、
前記第１情報処理装置が、前記第１生成ステップにより生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信ステップと、
前記第２情報処理装置が、前記第１情報処理装置から送信された前記第２識別情報と前記蓄積情報とを受信する受信ステップと、
前記第２情報処理装置が、前記受信ステップにより受信された前記第２識別情報に対応付けて、前記受信ステップにより受信された前記蓄積情報を記憶手段に記憶させる記憶ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーバーレイネットワークを利用する通信システムの技術分野に関する。
【背景技術】
【０００２】
オーバーレイネットワークを用いた通信システムにおいて、ピアツーピア方式の通信システムが知られている。このピアツーピア方式の通信システムにおいては、オーバーレイネットワークを構成する複数の情報処理装置が、複数の情報を分散して記憶する。具体的には、内容が異なる情報ごとに、固有の識別情報が付与される。付与された識別情報に対応して、例えば、情報の記憶を担当する情報処理装置が定められる。或いは、付与された識別情報に対応して、例えば、情報の所在の管理を担当する情報処理装置が定められる。情報の所在とは、情報を記憶する情報処理装置のことをいう。識別情報に対応して、情報の記憶、或いは情報の所在の管理を担当する情報処理装置が定められるので、情報の要求に対する処理負担や、情報の所在を管理するための処理負担が、複数の情報処理装置に分散される。
【０００３】
また、特許文献１には、オーバーレイネットワークにおいて、特定のノード装置に要求が集中した場合でも、特定のノード装置に過大な処理負担が課されることを防止する技術が開示されている。この技術では、或るコンテンツＩＤを識別情報として付与されたコンテンツデータを管理するルートノードが、レプリカリストを記憶する。レプリカリストは、或るコンテンツＩＤとこのコンテンツＩＤが付与されたコンテンツを保存するノード装置のノードＩＤとの組を含む。ルートノードは、レプリカリストを要求するクエリを送信してきたノード装置ごとに、ログを集計する。そして、ルートノードは、集計したログに基づいて、レプリカリストの複製を他のノード装置に記憶させる。或るノード装置から送信されたクエリは、ピアツーピア方式におけるルーティング制御に従ってルートノードに到達する。そのため、クエリは、１以上のノード装置を経由する場合がある。クエリが経由する何れかのノード装置が、要求されたレプリカリストを記憶している場合には、そのノード装置がレプリカリストを送信する。従って、クエリに対する処理負荷が複数のノード装置に分散される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６０４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術は、情報ごとに固有の識別情報が付加されている場合に対応する技術である。これに対し、オーバーレイネットワークを構成する情報処理装置の数と比較して少ない数の識別情報に対して、多数の情報が蓄積して記憶される場合がある。この情報を、「蓄積情報」という。蓄積情報の例として、マッチングサービスにおけるマッチング条件が挙げられる。マッチング条件は、例えば、或るユーザが特定の条件に該当するかを示す情報である。マッチング条件は、ユーザを示す情報を含む。マッチング条件は、例えば、或る条件に該当するユーザが現在存在するかを確認するために用いられる。この場合、如何なるユーザのマッチング条件であるかに関係なく、マッチング条件に合致したユーザ情報を取得すること自体が重要である。そのため、ユーザごとにマッチング条件を管理しなくてもよい。このように、個々の蓄積情報を識別して管理を行う必要がない場合、用途が同一である複数の蓄積情報に対して１つ識別情報を付与し、この識別情報で複数の蓄積情報を管理することが考えられる。具体的に、蓄積情報の用途の識別情報に応じて定められる情報処理装置が、その識別情報に対応付けて、複数の蓄積情報を記憶する。従って、この情報処理装置は、他の情報処理装置から蓄積情報が送信されてくるごとに、同一の識別情報に対応付けて蓄積情報を蓄積して記憶する。しかしながら、この場合、蓄積情報の記憶の要求や送信の要求が、特定の情報処理装置に集中してしまう。
【０００６】
本発明は、以上の点に鑑みてなされたものである。本発明は、互いに同一の識別情報により識別される複数の蓄積情報がオーバーレイネットワークに蓄積して記憶される場合であっても、蓄積情報に関する要求に対する処理負荷が特定の情報処理装置に集中することを防止することができる通信システム、情報処理装置、プログラム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶される通信システムであって、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶され、前記複数の情報処理装置に含まれる第１情報処理装置は、送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成手段と、前記第１生成手段により生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信手段と、を備え、前記第２情報処理装置は、前記第１情報処理装置から送信された前記第２識別情報と前記蓄積情報とを受信する受信手段と、前記受信手段により受信された前記第２識別情報に対応付けて、前記受信手段により受信された前記蓄積情報を記憶する記憶手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、前記複数の情報処理装置に含まれる第３情報処理装置は、取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す前記位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて前記第２識別情報を生成する第２生成手段と、前記第２生成手段により生成された前記第２識別情報と、前記複数の装置識別情報との関係に基づいて定められる前記第２情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得手段と、を備えることを特徴とする。
【０００９】
請求項３に記載の発明は、前記第２生成手段は、互いに異なる複数の前記位置情報のそれぞれを前記第１識別情報に付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、複数の前記第２識別情報を生成し、前記取得手段は、前記第２生成手段により生成された前記第２識別情報ごとに前記蓄積情報を取得し、前記第３情報処理装置は、前記取得手段により取得された複数の前記蓄積情報を合成する合成手段を更に備えることを特徴とする。
【００１０】
請求項４に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置であって、送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成手段と、前記第１生成手段により生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信手段と、を備えることを特徴とする。
【００１１】
請求項５に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置であって、取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す互いに異なる複数の位置情報のそれぞれを付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を複数生成する第２生成手段と、前記第２生成手段により生成された前記第２識別情報ごとに、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる前記情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得手段と、を備えることを特徴とする。
【００１２】
請求項６に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置に含まれるコンピュータに、送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成ステップと、前記第１生成ステップにより生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信ステップと、を実行させることを特徴とする。
【００１３】
請求項７に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムにおける前記情報処理装置に含まれるコンピュータに、取得対象の前記蓄積情報の前記第１識別情報に、前記蓄積情報を取得する時間的な位置または空間的な位置の少なくとも何れか一方を示す互いに異なる複数の位置情報のそれぞれを付加し、互いに異なる前記位置情報が付加された複数の前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を複数生成する第２生成ステップと、前記第２生成ステップにより生成された前記第２識別情報ごとに、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる前記情報処理装置から、前記第２識別情報に対応する前記蓄積情報を取得する取得ステップと、を実行させることを特徴とする。
【００１４】
請求項８に記載の発明は、ネットワークに接続する複数の情報処理装置により構成されるオーバーレイネットワークから取得可能な情報が少なくとも何れかの前記情報処理装置に記憶され、前記オーバーレイネットワークには、互いに同一の第１識別情報により識別される複数の蓄積情報が蓄積して記憶される通信システムの情報処理方法であって、前記複数の情報処理装置に含まれる第１情報処理装置が、送信対象の前記蓄積情報の前記第１識別情報に、送信対象の前記蓄積情報が示す内容に関連する時間的な位置または空間的な位置の少なくとも何れか一方を示す位置情報を付加し、前記位置情報が付加された前記第１識別情報に基づいて、前記複数の蓄積情報のうち、前記位置情報が示す位置に関連する内容を示す蓄積情報を識別する第２識別情報を生成する第１生成ステップと、前記第１情報処理装置が、前記第１生成ステップにより生成された前記第２識別情報と前記蓄積情報とを、前記複数の情報処理装置のうち前記第２識別情報と、前記複数の情報処理装置それぞれを識別する複数の装置識別情報との関係に基づいて定められる第２情報処理装置へ送信する送信ステップと、前記第２情報処理装置が、前記第１情報処理装置から送信された前記第２識別情報と前記蓄積情報とを受信する受信ステップと、前記第２情報処理装置が、前記受信ステップにより受信された前記第２識別情報に対応付けて、前記受信ステップにより受信された前記蓄積情報を記憶手段に記憶させる記憶ステップと、を含むことを特徴とする。
【発明の効果】
【００１５】
請求項１、４、６または８に記載の発明によれば、時間的にまたは空間的に、蓄積情報が示す内容に関連する位置が異なれば、生成される第２識別情報も異なる。従って、蓄積情報が示す内容に関連する位置が異なれば、蓄積情報を記憶する第２情報処理装置も異なる。そのため、蓄積情報の記憶の要求が複数の第２情報処理装置に分散するので、処理負荷が特定の情報処理装置に集中することを防止することができる。
【００１６】
請求項２、５または７に記載の発明によれば、蓄積情報を取得する位置を状況に応じて決定することで、生成される第２識別情報を異ならせることができる。そのため、蓄積情報の取得先が複数の第２情報処理装置に分散するので、処理負荷が特定の情報処理装置に集中することを防止することができる。
【００１７】
請求項３に記載の発明によれば、互いに異なる複数の位置を決定することで、複数の第２情報処理装置に分散して記憶された複数の蓄積情報を取得することができる。そして、取得された複数の蓄積情報が合成されるので、情報としての整合性をとることができる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態の通信システムの概要構成例を示す図である。
【図２】（Ａ）乃至（Ｃ）は、オーバーレイネットワークＯＮに対する状態情報の記憶及び取得の処理概要の一例を示す図である。
【図３】ノードの概要構成例を示すブロック図である。
【図４】（Ａ）乃至（Ｃ）は、一実施形態のノードの制御部１１の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【００２０】
［１．通信システムの構成及び動作概要］
始めに、図１を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図１は、本実施形態の通信システムの概要構成例を示す図である。図１に示すように、本実施形態の通信システムＳは、複数のノード装置Ｎｎ（ｎ＝１，２，３・・・ｋ）等により構成されている。ノード装置Ｎｎを、以下、「ノード」という。また、ノードはネットワークＮＷに接続されている。ノードは、本発明における情報処理装置の一例である。ネットワークＮＷは、インターネット等からなる。
【００２１】
また、図１に示すように、通信システムＳには、複数の拠点Ｐｎごとに拠点ネットワークＮＬｎが構築されている。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、またはその他の施設等が挙げられる。拠点ネットワークＮＬｎは、例えば、ＬＡＮ（Local Area Network）等のプライベートネットワークである。
【００２２】
また、各拠点ネットワークＮＬｎには、ノードと複数の拠点端末Ｔｎ−ｉ（ｉ＝１，２，３・・・ｊ）とが接続されている。拠点端末Ｔｎ−ｉは、拠点Ｐｎにいるユーザにより利用される端末装置である。拠点端末Ｔｎ−ｉとしては、例えば、ＩＰ電話機、パーソナルコンピュータ、セットトップボックス等が挙げられる。拠点Ｐｎがカラオケ店舗である場合、拠点端末Ｔｎ−ｉは、例えば、カラオケの楽曲を演奏するカラオケ装置である。各拠点端末Ｔｎ−ｉは、通信システムＳにより提供される或るサービスにおいて、他の拠点端末Ｔｍ−ｉ（ｍは、ｎとは異なる番号）と通信する機能を有する。複数の拠点端末Ｔｎ−ｉが互いに通信するサービスとしては、例えば、電話、チャット、複数のプレイヤーが参加するオンラインゲーム等が挙げられる。また、例えば拠点Ｐｎがカラオケ店舗の場合、複数のカラオケルームにいるユーザ同士で１つの楽曲をデュエット等で歌うことができるサービス等が挙げられる。この場合、複数の拠点端末Ｔｎ−ｉ間の通信で送受信される情報は、例えば、ユーザの歌唱の音声データや、歌唱しているユーザを撮影して得られる動画データ等である。各拠点端末Ｔｎ−ｉには、それぞれ固有のＳＩＰ＿ＵＲＩ（Session Initiation Protocol Uniform Resource Identifier）が付与されている。ＳＩＰ＿ＵＲＩは、ＳＩＰにおいて拠点端末Ｔｎ−ｉを識別する情報である。ノードは、複数の拠点端末Ｔｎ−ｉが互いに通信するための呼制御を行うＳＩＰサーバとしての機能を有する。また、ノードは、ネットワークＮＷと拠点ネットワークＮＬｎとの間の通信を中継する機能を有する。
【００２３】
また、図１に示すように、通信システムＳには、ネットワークＮＷを介して互いに通信可能な複数のノードの参加によりオーバーレイネットワークＯＮが構成されている。オーバーレイネットワークＯＮは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。ここで、オーバーレイネットワークＯＮに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいてオーバーレイネットワークＯＮを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。また、オーバーレイネットワークＯＮに参加している各ノードには、ノードＩＤが付与されている。このノードＩＤは、ノードを、オーバーレイネットワークＯＮに参加している複数のノードの中から識別する固有の識別情報である。また、ノードＩＤは、例えば、ノードに割り当てられたＩＰアドレスや製造番号等を共通のハッシュ関数によりハッシュ化することにより得られる情報である。
【００２４】
通信システムＳにおいては、ユーザに提供されるサービス等に必要な情報が複数のノードに分散して記憶される。各情報には、それぞれキー情報が付与されている。キー情報は、複数のノードに分散して記憶される情報を、オーバーレイネットワークＯＮに記憶される複数の情報の中から識別する固有の識別情報である。キー情報は、オーバーレイネットワークＯＮから情報を取得するために必要な情報である。また、キー情報の形式は、ノードＩＤの形式と同じである。なお、キー情報は、本発明における第２識別情報の一例である。
【００２５】
複数のノードに分散して記憶される情報として、管理ノード情報が挙げられる。管理ノード情報は、或る拠点端末Ｔｎ−ｉの通信を管理するノードに関する情報である。このノードを、「管理ノード」という。或る拠点端末Ｔｎ−ｉの管理ノードは、拠点端末Ｔｎ−ｉからのメッセージを他のノードに転送したり、拠点端末Ｔｎ−ｉに対するメッセージを拠点端末Ｔｎ−ｉへ転送する。管理ノードは、拠点端末Ｔｎ−ｉと同じ拠点ネットワークＮＬｎに接続されているノードと定められる。すなわちこの管理ノードは、ノードＮｎである。管理ノード情報は、拠点端末Ｔｎ−ｉごとに対応して存在する。つまり、或る拠点端末Ｔｎ−ｉに対応する管理ノード情報は、何れかのノードにより記憶される。管理ノード情報は、管理ノードのノードＩＤ、ＩＰアドレス及びポート番号等を含む。管理ノード情報のキー情報は、例えば、拠点端末Ｔｎ−ｉのＳＩＰ＿ＵＲＩである。キー情報としてのＳＩＰ＿ＵＲＩは、例えば、拠点端末Ｔｎ−ｉのＩＰアドレス等を、ノードＩＤを生成するときと共通のハッシュ関数によりハッシュ化することにより得られる情報である。管理ノード情報は、キー情報であるＳＩＰ＿ＵＲＩと対応付けてオーバーレイネットワークＯＮに記憶される。具体的に、オーバーレイネットワークＯＮを構成するノードが、管理ノード情報をＳＩＰ＿ＵＲＩと対応付けて記憶する。これにより、或る拠点端末Ｔｎ−ｉと同じ拠点ネットワークＮＬｎに接続されている管理ノードは、他の拠点端末Ｔｍ−ｉと同じ拠点ネットワークＮＬｎに接続されている管理ノードを特定することができる。管理ノード情報がオーバーレイネットワークＯＮに記憶されることにより、拠点端末Ｔｎ−ｉは、他の拠点端末Ｔｍ−ｉと通信することができる。
【００２６】
以下に、管理ノード情報を例として、オーバーレイネットワークＯＮに対する情報の記憶及び取得の処理の概要について説明する。ノードが、ノードと同じ拠点ネットワークＮＬｎに接続されている或る拠点端末Ｔｎ−ｉの管理ノード情報をオーバーレイネットワークＯＮに記憶させるとする。この場合、ノードは、登録要求を送信する。登録要求は、情報の登録の要求を示すメッセージである。オーバーレイネットワークＯＮに情報を記憶させることを、情報の登録ともいう。登録要求は、登録対象の情報と、登録対象の情報のキー情報とを含む。登録要求を送信するノードを、「登録ノード」という。登録対象の情報が管理ノード情報の場合、登録要求は、例えば、管理ノード情報と、管理ノード情報が登録される拠点端末Ｔｎ−ｉのＳＩＰ＿ＵＲＩを含む。また、管理ノード情報を登録する場合、登録要求は、ＳＩＰにおけるＲＥＧＩＳＴＥＲに対応する。なお、登録ノードは、本発明における第１情報処理装置の一例である。
【００２７】
登録ノードは、ＤＨＴのルーティングテーブルに従って、登録要求を他のノードへ送信する。これにより、登録ノードは、登録要求をルートノードへ向けて送信する。ルートノードは、オーバーレイネットワークＯＮを構成する複数のノードのうち、キー情報に基づいて定められるノードである。例えば、ルートノードは、キー情報と最も近いノードＩＤを有するノードであるように定められる。キー情報と最も近いノードＩＤとは、具体的に、キー情報と上位桁が最も多く一致するノードＩＤである。登録ノードから送信された登録要求は、ＤＨＴのルーティングよって最終的にルートノードに到着する。なお、ＤＨＴのルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。登録要求を受信したルートノードは、登録要求に含まれるキー情報と登録対象の情報とを対応付けて記憶する。これにより、登録対象の情報がオーバーレイネットワークＯＮに記憶される。ルートノードが登録対象の情報として管理ノード情報を記憶する場合、ルートノードは、ＳＩＰにおけるロケーションサーバに相当する。なお、ルートノードは、本発明における第２情報処理装置の一例である。
【００２８】
ノードが、オーバーレイネットワークＯＮから或る情報を取得する場合、ノードは、送信要求を送信する。送信要求は、情報の送信の要求を示すメッセージである。送信要求は、取得対象の情報のキー情報を含む。送信要求を送信するノードを、「要求ノード」という。要求ノードは、ＤＨＴのルーティングテーブルに従って、送信要求を他のノードへ送信する。これにより、要求ノードは、送信要求をルートノードへ向けて送信する。送信要求を受信したルートノードは、送信要求に含まれるキー情報に対応する情報を、要求ノードへ送信する。要求ノードは、ルートノードからこのキー情報に対応する情報を受信する。これにより、要求ノードは、送信要求に含まれるキー情報に対応する取得対象の情報をオーバーレイネットワークＯＮから取得する。なお、要求ノードは、本発明における第３情報処理装置の一例である。
【００２９】
拠点端末Ｔｎ−ｉが他の拠点端末Ｔｍ−ｉと通信するとき、拠点端末Ｔｎ−ｉは、通信先の拠点端末Ｔｍ−ｉのＳＩＰ＿ＵＲＩを含む接続要求を管理ノードへ送信する。このような接続要求としては、例えば、ＳＩＰにおけるＩＮＶＩＴＥがある。拠点端末Ｔｎ−ｉから接続要求を受信した管理ノードは、要求ノードとなる。要求ノードは、接続要求からＳＩＰ＿ＵＲＩを取得する。そして、要求ノードは、取得したＳＩＰ＿ＵＲＩを含む送信要求をルートノードに向けて送信することにより、ルートノードから管理ノード情報を取得する。要求ノードは、管理ノード情報に含まれるＩＰアドレス及びポート番号等に基づいて、拠点端末Ｔｎ−ｉから受信した接続要求を、通信先の拠点端末Ｔｍ−ｉの管理ノードへ転送する。接続要求は、転送先の管理ノードにより、通信先の拠点端末Ｔｍ−ｉへ転送される。その後、拠点端末Ｔｎ−ｉ同士で通信接続が行われる。
【００３０】
オーバーレイネットワークＯＮに記憶される情報が、例えば、管理ノード情報である場合、拠点端末Ｔｎ−ｉごとにキー情報が異なる。キー情報ごとにルートノードが定められるので、複数の管理ノード情報は複数のノードに分散して記憶される。
【００３１】
［２．状態情報の分散記憶］
オーバーレイネットワークＯＮを構成するノードにより記憶される他の情報として、状態情報がある。状態情報は、複数の拠点端末Ｔｎ−ｉ間で通信するためのサービスにおいて、通信可能なユーザまたは通信可能な拠点端末Ｔｎ−ｉを確認するために用いられる情報である。また、状態情報は、或るユーザが他のユーザと通信可能な状態であるかを示す情報である。具体的に、状態情報は、ＳＩＰ＿ＵＲＩとユーザ状態とを含む。ユーザ状態は、ユーザの状態を示す。ユーザ状態には、ＴＲＵＥまたはＦＡＬＳＥが設定される。ＴＲＵＥは、ＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザとの通信が可能であることを示す。ＦＡＬＳＥは、ＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザとの通信が不可能であることを示す。また、状態情報は、或るユーザが通信相手を募集しているかを示す募集情報であってもよい。この場合、ＴＲＵＥは、ＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザが通信相手を募集していることを示す。ＦＡＬＳＥは、ＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザが通信相手を募集していないことを示す。なお、状態情報は、本発明における蓄積情報の一例である。
【００３２】
拠点端末Ｔｎ−ｉは、管理ノードを介して、オーバーレイネットワークＯＮから状態情報を取得し、現在通信可能なユーザのＳＩＰ＿ＵＲＩを取得する。取得されたＳＩＰ＿ＵＲＩの数は、現在通信可能なユーザの数である。（後述する「うち」に呼応させています）そして、拠点ネットワークＮＬｎは、取得したＳＩＰ＿ＵＲＩのうち、例えばユーザにより選択されたＳＩＰ＿ＵＲＩを用いて、上述したように通信接続を行う。この場合、如何なるユーザのＳＩＰ＿ＵＲＩを取得するか否かということよりも、通信可能なユーザのＳＩＰ＿ＵＲＩを取得すること自体が重要である。従って、オーバーレイネットワークＯＮに状態情報を記憶させる場合、ＳＩＰ＿ＵＲＩを状態情報のキー情報とする必要はない。そこで、如何なる情報をキー情報とするかが問題となる。各状態情報は、ＳＩＰ＿ＵＲＩが他の状態情報とは異なっていても、用途または状態情報が用いられるサービスは同じである。この場合の用途は、通信可能なユーザまたは通信可能な拠点端末Ｔｎ−ｉを確認することである。この用途に対して固有の識別情報が割り当てられる。例えば、識別情報として、キーワードが割り当てられる。キーワードは、本発明における第１識別情報の一例である。この場合、全ての状態情報が１つのキーワードによって識別される。なお、通信システムＳにおいて複数のサービスが提供されるようになっていてもよい。そして、サービスごとに第１識別情報が割り当てられてもよい。また、第１識別情報は、キーワードに限られるものではない。
【００３３】
状態情報のキーワードを状態情報のキー情報とした場合、または、状態情報のキーワードのみに基づいてキー情報を生成したと仮定する。この場合、ＳＩＰ＿ＵＲＩが異なる複数の状態情報が１つのキー情報に対応し、この複数の状態情報が、オーバーレイネットワークＯＮに蓄積して記憶される必要がある。この１つのキー情報に複数の状態情報が対応する点が、例えば、管理ノード情報とは異なる。登録情報が管理ノード情報の場合、ルートノードは、或るキー情報に対して、１つの管理ノード情報を記憶する。例えば、登録要求を受信したルートノードは、登録要求に含まれるキー情報に対応付けて既に管理ノード情報を記憶している場合には、記憶している管理ノード情報を削除する。そして、ルートノードは、登録要求に含まれる管理ノード情報をキー情報に対応付けて記憶する。登録情報が管理ノード情報の場合、最新の情報が正しい情報であると考えられるからである。一方、登録情報が状態情報の場合、ルートノードが状態情報を新しく記憶する場合、既に記憶している状態情報を削除することは妥当ではない場合がある。すなわち状態情報によって、通信可能であるか否かの状態が示されるユーザが異なる。そのため、既に記憶している状態情報と新しい状態情報との何れも必要な状態情報であるからである。従って、ルートノードは、複数の状態情報を蓄積して記憶する。キーワードをキー情報とした場合、１つのルートノードが全ての状態情報を記憶することになる。拠点端末Ｔｎ−ｉが増加すると、記憶される状態情報も増加する。すると、状態情報の登録要求及び送信要求が、１つのルートノードに集中する。従って、登録要求及び送信要求に対するルートノードの処理負荷が増大する。
【００３４】
状態情報に関する処理負荷が特定のノードに集中することを防止するため、状態情報のキー情報が、以下に説明する方法で生成される。具体的に、登録ノードが状態情報を含む登録要求を送信する場合、登録ノードは、送信対象の状態情報のキーワードに、送信対象の状態情報が示す内容に関連する時間的な位置を示す情報を付加する。そして、登録ノードは、時間的な位置を示す情報が付加されたキーワードに基づいて、キー情報を生成する。状態情報が示す内容とは、或るユーザが通信可能になったこと、または、或るユーザが通信可能ではなくなったことである。また、時間的な位置とは、例えば、或るユーザが通信可能になった日時、または、或るユーザが通信可能ではなくなった日時である。通信可能になった日時や通信可能ではなくなった日時は、状態情報が示す内容が生じた時間的な位置である。通信可能になった日時や通信可能ではなくなった日時は、ユーザごとに様々である。そのため、同一のキーワードであっても、日時が異なる場合には、異なるキー情報が生成される。キー情報が異なれば、状態情報を記憶するルートノードも異なる。そのため、状態情報に関する処理負荷が特定のノードに集中することを防止することができる。
【００３５】
以下に具体例を説明する。図２（Ａ）乃至図２（Ｃ）は、オーバーレイネットワークＯＮに対する状態情報の記憶及び取得の処理概要の一例を示す図である。例えば、拠点端末Ｔ６−１が、ユーザの操作等に基づいて、ノードＮ６へ状態情報を送信する（図２（Ａ）（１））。状態情報は、拠点端末Ｔ６−１のＳＩＰ＿ＵＲＩであるＵＲＩ６−１を含む。また、状態情報は、ＴＲＵＥを含む。状態情報を受信したノードＮ６は、現在日時を示す日時情報を取得する。日時情報は、本発明における位置情報の一例である。例えば、ノードＮ６は、「201202081200」を取得する。「201202081200」は、2012年02月08日12時00分を示す。次いで、ノードＮ６は、状態情報のキーワードに「201202081200」を付加する。そして、ノードＮ６は、日時情報が付加されたキーワードを、ノードＩＤを生成するときと共通のハッシュ関数によりハッシュ化する。これにより、ノードＮ６は、キー情報Ｋ１を生成する（図２（Ａ）（２））。そして、ノードＮ６は、状態情報とキー情報Ｋ１とを含む登録要求をルートノードに向けて送信する（図２（Ａ）（３））。キー情報Ｋ１に基づいて定められるルートノードが、ノードＮ７であるとする。この場合、ノードＮ７は、ノードＮ６から送信された登録要求に含まれる状態情報を、登録要求に含まれるキー情報Ｋ１に対応付けて記憶する（図２（Ａ）（４））。
【００３６】
その１分後、例えば、拠点端末Ｔ５−１が、ノードＮ５へ状態情報を送信する（図２（Ａ）（５））。状態情報は、拠点端末Ｔ５−１のＳＩＰ＿ＵＲＩであるＵＲＩ５−１を含む。また、状態情報は、ＴＲＵＥを含む。状態情報を受信したノードＮ５は、現在日時として、「201202081201」を取得する。次いで、ノードＮ５は、状態情報のキーワードと「201202081201」とに基づいて、キー情報Ｋ２を生成する（図２（Ａ）（６））。そして、ノードＮ５は、状態情報とキー情報Ｋ２とを含む登録要求をルートノードに向けて送信する（図２（Ａ）（７））。キー情報Ｋ２に基づいてルートノードであるノードＮ３は、状態情報をキー情報Ｋ２に対応付けて記憶する（図２（Ａ）（８））。
【００３７】
その１分後、例えば、拠点端末Ｔ６−１が、ユーザの操作等に基づいて、ノードＮ６へ状態情報を送信する（図２（Ｂ）（１））。状態情報は、ＵＲＩ５−１を含む。また、今回の状態情報は、ＦＡＬＳＥを含む。状態情報を受信したノードＮ６は、状態情報と「201202081202」とに基づいて、キー情報Ｋ３を生成する（図２（Ｂ）（２））。そして、ノードＮ６は、状態情報とキー情報Ｋ３とを含む登録要求をルートノードに向けて送信する（図２（Ｂ）（３））。キー情報Ｋ３に基づいて定められるルートノードであるノードＮ４は、状態情報をキー情報Ｋ３に対応付けて記憶する（図２（Ｂ）（４））。
【００３８】
ここで、例えば、拠点端末Ｔ１−１が、ユーザの操作等に基づいて、通信可能なユーザのＳＩＰ＿ＵＲＩを取得しようとする。この場合、拠点端末Ｔ１−１は、ノードＮ１へ、ＵＲＩ要求を送信する（図２（Ｂ）（５））。ＵＲＩ要求は、ＳＩＰ＿ＵＲＩの要求を示すメッセージである。ＵＲＩ要求を受信したノードＮ１は、状態情報を取得する日時を示す複数の日時情報を生成する（図２（Ｂ）（６））。具体的に、ノードＮ１は、例えば、現在日時から、１分ごとに遡って、Ｎ個の日時情報を生成する。Ｎは、例えば、予め設定されている。Ｎが、例えば、３である場合、ノードＮ１は、「201202081202」、「201202081201」及び「201202081200」を生成する。なお、Ｎは、１または２であってもよいし、４以上であってもよい。
【００３９】
次いで、ノードＮ１は、生成した日時情報ごとに、状態情報を取得する。具体的に、ノードＮ１は、取得対象の状態情報のキーワードと「201202081200」とに基づいてキー情報Ｋ１を生成し（図２（Ｂ）（７））、キー情報Ｋ１を含む送信要求をルートノードに向けて送信する。ノードＮ７は、キー情報Ｋ１に対応する状態情報をノードＮ１へ送信する。これにより、ノードＮ１は、ノードＮ７から状態情報を取得する（図２（Ｂ）（８））。なお、ノードＮ７がキー情報Ｋ１に対応付けて複数の状態情報を記憶している場合、ノードＮ７は、キー情報Ｋ１に対応する全ての状態情報を送信する。また、ノードＮ１は、キーワードと「2012020812001」とに基づいてキー情報Ｋ２を生成し（図２（Ｂ）（９））、キー情報Ｋ２を含む送信要求をルートノードに向けて送信する。これにより、ノードＮ１は、ノードＮ３から状態情報を取得する（図２（Ｂ）（１０））。また、ノードＮ１は、キーワードと「201202081202」とに基づいてキー情報Ｋ３を生成し（図２（Ｂ）（１１））、キー情報Ｋ３を含む送信要求をルートノードに向けて送信する。これにより、ノードＮ１は、ノードＮ４から状態情報を取得する（図２（Ｂ）（１２））。
【００４０】
ノードは、日時情報により、取得対象とする状態情報が示す内容に関連する日時を指定することができる。また、ノードが現在日時を示す日時情報に基づいてキー情報を生成することにより、キー情報が生成される日時によって、生成されるキー情報が異なる。キー情報が異なれば、状態情報の取得先となるルートノードも異なる。そのため、状態情報の取得の要求に対する処理が特定のノードに集中することを防止することができる。
【００４１】
状態情報を取得したノードＮ１は、取得した複数の状態情報を合成する（図２（Ｃ）（１））。具体的に、ノードＮ１は、ユーザ状態がＴＲＵＥに設定されている状態情報に含まれるＳＩＰ＿ＵＲＩをＵＲＩリストに登録する。一方、ノードＮ１は、ユーザ状態がＦＡＬＳＥに設定されている状態情報に含まれるＳＩＰ＿ＵＲＩはＵＲＩリストに登録しない。ＵＲＩリストは、通信可能なユーザのＳＩＰ＿ＵＲＩの一覧である。ノードＮ１が複数のルートノードから状態情報を取得した場合、内容が互いに矛盾する複数の状態情報が取得される場合がある。具体的に、ＳＩＰ＿ＵＲＩが同一である複数の状態情報に含まれるユーザ情報が互いに異なる場合がある。その理由は、同一の拠点端末Ｔｎ−ｉから互いに異なる日時に送信された複数の状態情報が、互いに異なるノードに記憶されるからである。この場合、ノードＮ１は、複数の状態情報のうち、状態情報を取得するためにキー情報の生成に用いた日時情報が最新である方のユーザ状態が、現在における真の状態を示すものとして処理を行う。ノードＮ１は、ＵＲＩ６−１を含む状態情報を２つ取得しているとともに、ＵＲＩ５−１を含む状態情報を１つ取得している。ＵＲＩ６−１を含む２つの状態情報は、ユーザ情報が互いに異なる。ユーザ情報としてＴＲＵＥを含む状態情報のキー情報Ｋ１は、「201202081200」に基づいて生成された。一方、ユーザ情報としてＦＡＬＳＥを含む状態情報のキー情報Ｋ３は、「201202081202」に基づいて生成された。従って、ＵＲＩ６−１が示すユーザは、現在通信可能ではない。そのため、ノードＮ１は、ＵＲＩ６−１をＵＲＩリストに含めない。一方、ノードＮ１は、ＵＲＩ５−１をＵＲＩリストに含める。そして、ノードＮ１は、ＵＲＩ５−１のみを含むＵＲＩリストを拠点端末Ｔ１−１へ送信する（図２（Ｃ）（２））。拠点端末Ｔ１−１は、ＵＲＩリストに基づいて、例えば、拠点端末Ｔ５−１と通信接続する。
【００４２】
ノードは、互いに異なる複数の日時情報をそれぞれキーワードに付加し、日時情報が付加された複数のキーワードに基づいて複数のキー情報を生成することで、複数のノードに分散して記憶された複数の状態情報を取得することができる。また、ノードは、複数のノードから取得された複数の状態情報を合成することで、状態情報の整合性をとることができる。
【００４３】
なお、日時情報は、例えば、日付のみ、または、時刻のみを示す情報であってもよい。また、要求ノードが複数のキー情報を生成するときの日時情報の時間間隔は、１分以外であってもよい。
【００４４】
また、拠点端末Ｔｎ−ｉは、拠点端末Ｔｎ−ｉを利用するユーザが通信可能な状態である間、ユーザ状態としてＴＲＵＥを含む状態情報を、定期的に送信してもよい。拠点端末Ｔｎ−ｉが、ＴＲＵＥを含む状態情報を、ユーザが通信可能な状態になったときにのみ送信したと仮定する。この場合、通信可能な状態になってから長時間経過したユーザのＳＩＰ＿ＵＲＩが、拠点端末Ｔｎ−ｉが取得するＵＲＩリストに含まれなくなるためである。
【００４５】
［３．ノードの構成］
次に、図３を参照して、ノードの構成及び機能について説明する。図３は、ノードの概要構成例を示すブロック図である。ノードは、図３に示すように、制御部１１、記憶部１２、通信部１３ａ及び通信部１３ｂ等を備えて構成される。制御部１１、記憶部１２、通信部１３ａ及び通信部１３ｂはバス１４を介して相互に接続されている。
【００４６】
記憶部１２は、本発明における記憶手段の一例である。記憶部１２は、例えばハードディスクドライブ等から構成される。記憶部１２には、オペレーティングシステム、Ｐ２Ｐプログラム、ＳＩＰサーバプログラム等が記憶されている。Ｐ２Ｐプログラムは、ルーティングテーブルを用いて他のノードと通信を行うためのプログラムである。なお、Ｐ２Ｐプログラム等は、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、Ｐ２Ｐプログラム等は、例えば、ＤＶＤ等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００４７】
また、記憶部１２には、オーバーレイネットワークＯＮで使用されるＤＨＴを用いたルーティングテーブル等が記憶されている。また、記憶部１２には、状態情報を識別するキーワードが記憶されている。また、記憶部１２には、設定値であるＮが記憶されている。また、記憶部１２には、管理ノード情報や状態情報等の情報が、キー情報に対応付けて記憶されている。
【００４８】
通信部１３ａは、ネットワークＮＷを通じて、他のノード等との間の通信制御を行う。通信部１３ｂは、拠点ネットワークＮＬｎを通じて拠点端末Ｔｎ−ｉとの間の通信制御を行う。
【００４９】
制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。また、制御部１１は、時計機能及びタイマ機能を備える。そして、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、本発明における第１生成手段、送信手段、受信手段、第２生成手段及び取得手段として機能する。
【００５０】
［４．通信システムの動作］
次に、図４を参照して、本実施形態の通信システムＳの動作について説明する。図４（Ａ）乃至図４（Ｃ）は、本実施形態のノードの制御部１１の処理例を示すフローチャートである。制御部１１は、記憶部１２に記憶されたＰ２Ｐプログラム等のプログラムを読み出し実行することにより、図４（Ａ）乃至図４（Ｃ）のそれぞれの処理を実行する。
【００５１】
図４（Ａ）に示す処理は、登録ノードが拠点端末Ｔｎ−ｉから状態情報を受信したときに開始される。図４（Ａ）に示すように、制御部１１は、時計機能から、現在日時を示す日時情報を取得する（ステップＳ１１）。次いで、制御部１１は、取得した日時情報と状態情報のキーワードとに基づいて、キー情報を生成する（ステップＳ１２）。具体的なキー情報の生成方法については、上述した２項の状態情報の分散記憶において、既に説明されている。次いで、制御部１１は、生成したキー情報と拠点端末Ｔｎ−ｉから受信した状態情報とを含む登録要求を、ルートノードへ向けて送信する（ステップＳ１３）。制御部１１は、この処理を終えると、図４（Ａ）に示す処理を終了させる。
【００５２】
図４（Ｂ）に示す処理は、ルートノードが他のノードから登録要求を受信したときに開始される。図４（Ｂ）に示すように、制御部１１は、受信した登録要求からキー情報及び状態情報を取得する。そして、制御部１１は、状態情報をキー情報に対応付けて記憶部１２に記憶させる（ステップＳ２１）。このとき、制御部１１は、記憶部１２に既に記憶されている状態情報があっても、既に記憶されている状態情報を削除しない。従って、制御部１１は、状態情報を記憶部１２に追加して記憶させる。制御部１１は、この処理を終えると、図４（Ｂ）に示す処理を終了させる。
【００５３】
図４（Ｃ）に示す処理は、要求ノードが拠点端末Ｔｎ−ｉからＵＲＩ要求を受信したときに開始される。図４（Ｃ）に示すように、制御部１１は、ＵＲＩリストを初期化する（ステップＳ３１）。次いで、制御部１１は、時計機能から、現在日時を示す日時情報を取得する（ステップＳ３２）。次いで、制御部１１は、取得した日時情報に基づいて、現在日時から１分ごとに遡ってＮ−１個の日時情報を生成する（ステップＳ３３）。次いで、制御部１１は、インデックスｉｘに１を設定する（ステップＳ３４）。インデックスｉｘは、日時情報を特定するための情報である。インデックスｉｘで特定される日時情報を、日時情報ｉｘという。インデックスｉｘが小さいほど、日時情報ｉｘは古い日時を示す。日時情報１は、生成された日時情報のうち最も古い日時を示す日時情報である。日時情報Ｎは、現在日時を示す日時情報である。
【００５４】
次いで、制御部１１は、日時情報ｉｘと状態情報のキーワードとに基づいて、キー情報を生成する（ステップＳ３５）。次いで、制御部１１は、生成したキー情報を含む送信要求を、ルートノードへ向けて送信する（ステップＳ３６）。次いで、制御部１１は、ルートノードから状態情報を受信することができたか否かを判定する（ステップＳ３７）。例えば、制御部１１は、送信要求を送信してから所定時間が経過してもルートノードから状態情報が送信されてこなかった場合には、状態情報を受信することができなかったと判定する。また、ルートノードが、受信した送信要求に含まれるキー情報に対応する状態情報を記憶していない場合がある。この場合、ルートノードは、状態情報が記憶されていないことを示す応答を要求ノードへ送信してもよい。要求ノードの制御部１１は、この応答を受信した場合、状態情報を受信することができなかったと判定する。制御部１１は、状態情報を受信することができなかったと判定した場合には（ステップＳ３７：ＮＯ）、ステップＳ４１に進む。一方、制御部１１は、状態情報を受信することができたと判定した場合には（ステップＳ３７：ＹＥＳ）、ステップＳ３８に進む。
【００５５】
ステップＳ３８において、制御部１１は、受信した１つ以上の状態情報のうち、ユーザ状態にＴＲＵＥが設定されている状態情報に含まれるＳＩＰ＿ＵＲＩを、ＵＲＩリストに追加する（ステップＳ３８）。次いで、制御部１１は、受信した状態情報の中に、ユーザ状態にＦＡＬＳＥが設定されている状態情報がある場合、この状態情報に含まれるＳＩＰ＿ＵＲＩをＵＲＩリストから検索する。そして、制御部１１は、ＵＲＩリストからＳＩＰ＿ＵＲＩを検索することができた場合には、検索されたＳＩＰ＿ＵＲＩをＵＲＩリストから削除する（ステップＳ３９）。次いで、制御部１１は、インデックスｉｘに１を加算する（ステップＳ４０）。
【００５６】
次いで、制御部１１は、インデックスｉｘがＮより大きいか否かを判定する（ステップＳ４１）。このとき、制御部１１は、インデックスｉｘがＮ以下であると判定した場合には（ステップＳ４１：ＮＯ）、ステップＳ３５に進む。制御部１１は、ステップＳ３８及びＳ３９の処理を繰り返すことにより、複数のルートノードから取得した状態情報を合成する。一方、制御部１１は、インデックスｉｘがＮより大きいと判定した場合には（ステップＳ４１：ＹＥＳ）、ステップＳ４２に移行する。ステップＳ４２において、制御部１１は、ＵＲＬリストを拠点端末Ｔｎ−ｉへ送信する。
【００５７】
以上説明したように、本実施形態によれば、要求ノードが、状態情報のキーワードに日時情報を付加し、日時情報が付加された状態情報に基づいてキー情報を生成し、キー情報と状態情報とをルートノードへ送信する。そして、ルートノードが、キー情報と状態情報とを受信し、キー情報に対応付けて状態情報を記憶部１２に記憶される。従って、状態情報の記憶の処理負荷が特定のノードに集中することを防止することができる。
【００５８】
なお、上記実施形態においては、時間的な位置を示す位置情報が、通信可能になった日時や通信可能ではなくなった日時に適用されていた。しかしながら、位置情報が、例えば、通信可能になったユーザの年齢や通信可能ではなくなったユーザの年齢に適用されてもよい。例えば、拠点端末Ｔｎ−ｉは、状態情報を送信するとき、状態情報と、拠点端末Ｔｎ−ｉを利用するユーザの年齢とを登録ノードへ送信する。登録ノードは、状態情報のキーワードに、受信した年齢を付加してキー情報を生成する。そして、登録ノードは、キー情報と状態情報とを含む登録要求を送信する。拠点端末Ｔｎ−ｉは、ＵＲＩ要求を送信するとき、例えば、拠点端末Ｔｎ−ｉを利用するユーザの年齢を含むＵＲＩ要求を、要求ノードへ送信してもよい。また、拠点端末Ｔｎ−ｉは、例えば、ユーザにより入力された１または複数の年齢を含むＵＲＩ要求を送信してもよい。要求ノードは、状態情報のキーワードにＵＲＩ要求に含まれる年齢を付加してキー情報を生成する。そして、要求ノードは、キー情報を含む送信要求を送信する。ＵＲＩ要求に複数の年齢が含まれている場合、要求ノードは、年齢ごとに、キー情報の生成と送信要求の送信とを行う。
【００５９】
また、上記実施形態においては、本発明の位置情報が、時間的な位置を示す情報に適用されていた。しかしながら、本発明の位置情報が、空間的な位置を示す情報に適用されてもよい。空間的な位置を示す情報としては、例えば、ノードまたは拠点端末Ｔｎ−ｉが位置する都道府県を識別する情報等が挙げられる。都道府県を識別する情報としては、都道府県名や、都道府県に割り当てられたコード番号等がある。この場合、都道府県ごとにルートノードが異なる。登録ノードは、登録ノードが位置する都道府県を識別する情報を取得する。登録ノードは、状態情報のキーワードに都道府県を識別する情報を付加して、キー情報を生成する。そして、登録ノードは、キー情報と状態情報とを含む登録要求を送信する。
【００６０】
要求ノードは、拠点端末Ｔｎ−ｉを利用するユーザが通信したい他のユーザがいる都道府県を識別する情報を取得する。例えば、要求ノードは、要求ノードが位置する都道府県を識別する情報を取得してもよい。また、要求ノードは、都道府県を識別する情報を複数取得してもよい。例えば、要求ノードは、要求ノードが位置する都道府県を識別する情報と、要求ノードが位置する都道府県に隣接する都道府県を識別する情報とを取得してもよい。要求ノードは、状態情報のキーワードに、都道府県を識別する情報を付加して、キー情報を生成する。そして、要求ノードは、キー情報を含む送信要求を送信する。
【００６１】
また、本発明の位置情報が、時空間な位置と空間的な位置とを含む時空間的な位置を示す情報に適用されてもよい。
【００６２】
また、上記実施形態において、要求ノードが状態情報を合成するときに内容が互いに矛盾する複数の状態情報がある場合、要求ノードは、日時情報が新しい方の状態情報を、真の状態情報としていた。しかしながら、日時情報が古い方の状態情報を真の状態情報としてよい場合がある。例えば、通信システムＳにおいて利用可能な特定のサービスを利用したユーザの中から、プレゼントが与えられるユーザを決定するために用いることに、状態情報を利用する場合が挙げられる。例えば、所定期間に特定のサービスを利用したユーザの中から先着でプレゼントが付与されるとする。ここで、状態情報に含まれるユーザ状態がＴＲＵＥに設定されている場合、状態情報に含まれるＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザは特定のサービスを利用しているとする。この場合、所定期間内において、特定のサービスを利用した日時が早い順に所定人数のユーザにプレゼントが付与されることになる。要求ノードは、例えば、所定期間の開始日時を示す日時情報を生成して、キー情報を生成する。次いで、要求ノードは、生成したキー情報を含む送信要求を送信することにより、状態情報を取得する。次いで、要求ノードは、取得した状態情報のうち、ユーザ状態がＴＲＵＥに設定されている状態情報を抽出する。抽出した状態情報が所定人数分ない場合、要求ノードは、所定期間の開始日時の１分後の日時情報を生成して、キー情報を生成する。そして、キー情報を含む送信要求を送信することにより状態情報を取得する。要求ノードは、取得した状態情報のうち、ユーザ状態がＴＲＵＥに設定されている状態情報を抽出する。そして、要求ノードは、これまでに抽出した状態情報と、今回抽出した状態情報との合計が所定人数分ない場合、所定期間の開始日時の２分後の日時情報を生成する。こうして、要求ノードは、所定人数分の状態情報を抽出することができるまで、日時情報を変更しながら状態情報の取得を繰り返す。そして、要求ノードは、所定人数分の状態情報が抽出された場合には、抽出された状態情報に含まれるＳＩＰ＿ＵＲＩが示す拠点端末Ｔｎ−ｉを利用するユーザを、プレゼントの当選者とする。
【００６３】
また、ユーザが利用する端末装置が、本発明における情報処理装置の構成を有していてもよい。そして、複数の端末装置によりオーバーレイネットワークＯＮが構成されてもよい。
【符号の説明】
【００６４】
１１  制御部
１２  記憶部
１３ａ，１３ｂ  通信部
Ｎｎ  ノード
ＮＷ  ネットワーク
ＯＮ  オーバーレイネットワーク
Ｓ  通信システム
【図１】
0005754405.tif 000002
【図２】
0005754405.tif 000003
【図３】
0005754405.tif 000004
【図４】
0005754405.tif 000005