(57)【要約】【課題】装置同士で時刻の同期を行うことなく、情報の送信順序と到着順序との間の不一致を是正することができる情報処理装置を提供すること。【解決手段】情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させる通信制御部と、ピアツーピア通信によって自装置と接続される第１情報処理装置から、第１情報処理装置内で計時される第１時刻を含む第１情報を取得する取得部と、第１情報処理装置を識別する情報と、第１時刻と自装置内で計時される自装置時刻との間の時刻差とが対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、取得部により取得された第１情報に対して、時刻差に基づいて第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する生成部と、を備える情報処理装置である。【選択図】図３
2015100044.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させる通信制御部と、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得する取得部と、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、
前記取得部により取得された前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する生成部と、
を備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記通信制御部は、前記取得部により前記第１情報を取得した場合、前記生成部により生成された前記第２情報を、前記ネットワークに接続された他の情報処理装置に送信するように制御する、
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記時刻差管理部は、自装置と前記第１情報処理装置との間において通信事象が発生したタイミングで、前記第１時刻と前記自装置時刻とをそれぞれ取得し、取得した前記第１時刻と前記自装置時刻とに基づいて前記時刻差を算出して前記時刻差情報記憶部に記憶させる、
情報処理装置。
【請求項４】
請求項１から３のうちいずれか一項に記載の情報処理装置であって、
前記第２情報に基づいて処理を行う処理部と、
前記処理部により行われた前記第２情報に基づいた処理の履歴を表す履歴情報を履歴情報記憶部に記憶させる履歴管理部と、
を備える情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記処理部は、前記処理の順と前記自装置時刻の時系列順との不一致が前記履歴情報に生じた場合、前記履歴情報に基づいて前記処理の順と前記自装置時刻の時系列順とが一致するように、前記処理をやり直す、
情報処理装置。
【請求項６】
請求項４又は５に記載の情報処理装置であって、
前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部を備え、
前記第１情報は、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報をさらに含み、
前記処理は、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる、
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記通信制御部は、前記ネットワークに含まれていないピアツーピア通信で構成される他のネットワークに属する第２情報処理装置に、自装置がピアツーピア通信で接続される場合、前記管理情報記憶部に記憶される前記管理情報の一部又は全部を、前記第２情報処理装置に送信する、
情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記取得部は、前記管理情報を取得し、
前記処理部は、前記取得部が、前記第２情報処理装置から前記管理情報の一部又は全部を取得した場合、前記取得部により取得された管理情報と、前記管理情報記憶部により記憶された管理情報とに基づいて、前記管理情報記憶部により記憶された管理情報の更新を行う、
情報処理装置。
【請求項９】
第１情報処理装置と、第２情報処理装置とを具備する情報処理システムであって、
前記第１情報処理装置は、
前記第１情報処理装置内で計時される第１時刻を含む第１情報を、前記第２情報処理装置に送信するように通信部を制御する通信制御部、
を備え、
前記第２情報処理装置は、
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させるように通信部を制御する通信制御部と、
前記第１情報処理装置から、前記第１時刻を含む第１情報を取得する取得部と、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とが対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、
前記時刻差に基づいて、前記取得部により取得された前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成する生成部と、
を備える、
情報処理システム。
【請求項１０】
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続し、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得し、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶し、
前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する、
情報処理方法。
【請求項１１】
コンピュータに、
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させ、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得させ、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて記憶部に記憶させ、
前記時刻差に基づいて、前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成させる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
ある端末で発生したイベント情報を他の端末で受信する場合、ＴＣＰ（Transmission  Control  Protocol）／ＩＰ（Internet  Protocol）のパケットに付与されたシーケンス番号により送信元での送信順序と、受信先での受信順序の整合性（到着順序性と称する）が保証される。一方、複数の端末で発生したイベント情報をある端末で受信する場合、通信遅延が生じるため、異なる送信元で送信された送信順序と受信先での受信順序が保証されない。
【０００３】
これに対して、ネットワークに接続された情報処理装置同士の時刻を同期し、発生イベントに発生時刻を付加して送信することで、受信したイベントを発生時刻順に並び替えることができる技術が知られている。また、ネットワークに接続された情報処理装置同士の時刻を同期する方法として、ＮＴＰ（Network  Time  Protocol）が知られている（非特許文献１参照）。ＮＴＰでは、原子時計やＧＰＳ（Global  Positioning  System）等から直接時刻を取得したＮＴＰサーバーに対して、情報処理装置がクライアントとして時刻の問い合わせを行うことで、そのネットワークに接続された情報処理装置同士の時刻を同期する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Network  Time  Protocol  Version  4:  Protocol  and  Algorithms  Specification,  IETF,  ISSN:  2070-1721,  http://tools.ietf.org/html/rfc5905/
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＮＴＰのようなサーバーに問い合わせを行うことで時刻の同期を行う方式では、サーバーにアクセスできない状況が発生した場合、ネットワークに接続された情報処理装置同士の時刻を同期することができなくなる。そのため、各種情報の到着順序性を保証することができなくなってしまうことにより、ネットワークに接続された情報処理装置同士で、互いの接続状態を正しく認識することができなくなる場合がある。
【０００６】
そこで本発明は、上記従来方式の問題に鑑みてなされたものであり、装置同士で時刻の同期を行うことなく、情報の送信順序と到着順序との間の不一致を是正することができる情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラムを提供する。
【課題を解決するための手段】
【０００７】
（１）本発明の一態様は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させる通信制御部と、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得する取得部と、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、前記取得部により取得された前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する生成部と、を備える情報処理装置である。
【０００８】
（２）また、本発明の他の態様は、（１）に記載の情報処理装置であって、前記通信制御部は、前記取得部により前記第１情報を取得した場合、前記生成部により生成された前記第２情報を、前記ネットワークに接続された他の情報処理装置に送信するように制御する、情報処理装置である。
【０００９】
（３）また、本発明の他の態様は、（１）又は（２）に記載の情報処理装置であって、前記時刻差管理部は、自装置と前記第１情報処理装置との間において通信事象が発生したタイミングで、前記第１時刻と前記自装置時刻とをそれぞれ取得し、取得した前記第１時刻と前記自装置時刻とに基づいて前記時刻差を算出して前記時刻差情報記憶部に記憶させる、を備える情報処理装置である。
【００１０】
（４）また、本発明の他の態様は、（１）から（３）のうちいずれか一項に記載の情報処理装置であって、前記第２情報に基づいて処理を行う処理部と、前記処理部により行われた前記第２情報に基づいた処理の履歴を表す履歴情報を履歴情報記憶部に記憶させる履歴管理部と、を備える情報処理装置である。
【００１１】
（５）また、本発明の他の態様は、（４）に記載の情報処理装置であって、前記処理部は、前記処理の順と前記自装置時刻の時系列順との不一致が前記履歴情報に生じた場合、前記履歴情報に基づいて前記処理の順と前記自装置時刻の時系列順とが一致するように、前記処理をやり直す、情報処理装置である。
【００１２】
（６）また、本発明の他の態様は、（４）又は（５）に記載の情報処理装置であって、前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部を備え、前記第１情報は、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報をさらに含み、前記処理は、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる、情報処理装置である。
【００１３】
（７）また、本発明の他の態様は、（６）に記載の情報処理装置であって、前記通信制御部は、前記ネットワークに含まれていないピアツーピア通信で構成される他のネットワークに属する第２情報処理装置に、自装置がピアツーピア通信で接続される場合、前記管理情報記憶部に記憶される前記管理情報の一部又は全部を、前記第２情報処理装置に送信する、情報処理装置である。
【００１４】
（８）また、本発明の他の態様は、（７）に記載の情報処理装置であって、前記取得部は、前記管理情報を取得し、前記処理部は、前記取得部が、前記第２情報処理装置から前記管理情報の一部又は全部を取得した場合、前記取得部により取得された管理情報と、前記管理情報記憶部により記憶された管理情報とに基づいて、前記管理情報記憶部により記憶された管理情報の更新を行う、情報処理装置である。
【００１５】
（９）また、本発明の他の態様は、第１情報処理装置と、第２情報処理装置とを具備する情報処理システムであって、前記第１情報処理装置は、前記第１情報処理装置内で計時される第１時刻を含む第１情報を、前記第２情報処理装置に送信するように通信部を制御する通信制御部、を備え、前記第２情報処理装置は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させるように通信部を制御する通信制御部と、前記第１情報処理装置から、前記第１時刻を含む第１情報を取得する取得部と、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とが対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、前記時刻差に基づいて、前記取得部により取得された前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成する生成部と、を備える情報処理システムである。
【００１６】
（１０）また、本発明の他の態様は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続し、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得し、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶し、前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する、情報処理方法である。
【００１７】
（１１）また、本発明の他の態様は、コンピュータに、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させ、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記第１情報処理装置内で計時される第１時刻を含む第１情報を取得させ、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて記憶部に記憶させ、前記時刻差に基づいて、前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成させる、情報処理プログラムである。
【発明の効果】
【００１８】
本発明の一態様によれば、装置同士で時刻の同期を行うことなく、情報の送信順序と到着順序との間の不一致を是正することができる情報処理装置、情報処理システム、情報処理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】４つの情報処理装置１０が、ピアツーピア通信によって接続された状態の一例を示す図である。
【図２】情報処理装置１０のハードウェア構成の一例を示す図である。
【図３】情報処理装置１０の機能構成の一例を示す図である。
【図４】情報処理装置１０−Ａの時刻差情報記憶部１２−１Ａにより記憶される時刻差情報の一例である。
【図５】図１に示した状況における情報処理装置１０−Ａの管理情報記憶部１２−２Ａにより記憶される管理情報の一例である。
【図６】図１に示した状況における情報処理装置１０−Ａの履歴情報記憶部１２−３Ａにより記憶される履歴情報の一例である。
【図７】情報処理装置１０が、ネットワークＮにおける情報処理装置１０のソフトウェア機能部１６が行う処理の流れの一例を説明するためのシーケンス図である。
【図８】第２の実施形態に係る情報処理システム２の利用状況の一例を示す図である。
【発明を実施するための形態】
【００２０】
＜概要＞
まず、以下に示す実施形態に係る情報処理システム１の概要を説明し、その後により詳細な実施形態を説明する。図１は、４つの情報処理装置１０が、ピアツーピア通信によって接続された状態の一例を示す図である。情報処理装置１０−Ｃは、情報処理装置１０−Ｃ内で計時される第１時刻を含む第１情報を、情報処理装置１０−Ａに送信する。
【００２１】
一方、情報処理装置１０−Ａは、情報処理装置１０−Ｃを識別する情報と、第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて記憶する。また、情報処理装置１０−Ａは、情報処理装置１０−Ｃから、第１時刻を含む第１情報を取得する。そして、情報処理装置１０−Ａは、第１時刻と自装置時刻との時刻差に基づいて、情報処理装置１０−Ｃから取得された第１情報について、第１時刻を自装置時刻に変換した情報を、第２情報として生成する。このため、情報処理装置１０−Ａは、装置同士で時刻の同期を行うことなく、各種情報の送信順序と到着順序との間の不一致を是正することができる。
【００２２】
また、情報処理装置１０−Ａは、第２情報に基づいて処理を行い、その処理の履歴を表す履歴情報を履歴情報記憶部に記憶させる。そして、情報処理装置１０−Ａは、履歴情報に、処理の順と、自装置時刻の時系列順との不一致が生じた場合、処理の順と、自装置時刻の時系列順とが一致するように、前述した処理をやり直す。このため、情報処理装置１０−Ａは、到着順序性が保障されないようなアドホックなネットワークであっても、到着順序に狂いが生じることによる不具合を抑制することができる。
【００２３】
より具体的には、情報処理装置１０−Ａは、例えば、情報処理装置１０−Ｂを介して、又は、情報処理装置１０−Ｃから直接、情報処理装置１０−Ｃが情報処理装置１０−Ｄと接続されたことを示す通信状態情報を取得する。このとき、通信状態情報について、情報処理装置１０−Ｃから送信した送信順序と、情報処理装置１０−Ａが受信する受信順序が異なる場合がある。情報処理装置１０−Ａは、ピアツーピア通信の通信状態が「接続」から「切断」へ変化し、そして再び「接続」に変化した場合、それぞれの接続状態を示す通信状態情報を、情報処理装置１０−Ｂと、情報処理装置１０−Ｃとからそれぞれ受信する。
【００２４】
この時、アドホックなネットワークでは、情報処理装置１０−Ａが、情報処理装置１０−Ｃと情報処理装置１０−Ｄとの通信状態が「接続」であると判断しているとき、情報処理装置１０−Ｂから「接続」を示す通信状態情報を受信し、次いで情報処理装置１０−Ｃから「切断」を示す通信状態情報を受信する状況が生じる場合がある。このような場合、従来の情報処理装置では、後から受信した「切断」を示す通信状態情報を、ピアツーピア通信Ｃ１の最新の通信状態（つまり、切断されている状況）であると判断してしまう。そのため、従来の情報処理装置は、ピアツーピア通信の最終的な状態を正確に管理できない場合がある。
【００２５】
一方、以下の実施形態における情報処理システム１の場合、情報処理装置１０−Ａは、通信状態情報の送信順序が受信順序とは異なる場合でも、通信状態情報の送信順序と到着順序との間の不一致を是正することができる。例えば、情報処理装置１０−Ａは、第１時刻と自装置内で計時される自装置時刻との間の時刻差と、通信状態情報に対応付けられた時刻とに基づいて、情報処理装置１０−Ｃから取得された第１情報について、第１時刻を自装置時刻に変換した情報を、第２情報として生成する。このため、情報処理装置１０−Ａは、装置同士で時刻の同期を行うことなく、通信状態情報の送信順序と到着順序との間の不一致を是正することができる。
【００２６】
＜第１の実施形態＞
以下、本発明の第１の実施形態について、図面を参照して説明する。図１に示すように、情報処理システム１は、例えば、情報処理装置１０−Ａと、情報処理装置１０−Ｂと、情報処理装置１０−Ｃと、情報処理装置１０−Ｄとを具備する。以下の説明では、個々の情報処理装置を区別する必要がなければ、情報処理装置１０と総称する。なお、情報処理システム１は、少なくとも２台以上の情報処理装置１０によって構成される。
【００２７】
情報処理装置１０は、例えば、携帯電話端末や多機能携帯電話端末（スマートフォン）、タブレット型ＰＣ（Personal  Computer）、ノートＰＣ、通信機能付きの電子書籍リーダー等である。情報処理装置１０は、情報処理装置間でブルートゥース（登録商標）や赤外線通信、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）等の通信規格に基づいてピアツーピア通信を行う。ここで、ピアツーピア通信とは、サーバーを介さず、情報処理装置同士が直接接続することで、通信管理上の主従関係がない通信を行う通信形式である。また、情報処理装置１０は、情報処理装置間がＵＳＢ（Universal  Serial  Bus）ケーブル等によって有線接続されることで、ＵＳＢ等の通信規格に基づいてピアツーピア通信を行うものとしてもよい。
【００２８】
図１に示したように、情報処理システム１では、複数の情報処理装置１０がそれぞれピアツーピア通信により接続されることで、互いに通信を行うことができるアドホックなネットワークＮが構築される。図１では、情報処理装置１０−Ａ、Ｂ、Ｃがそれぞれ相互に通信可能に接続されており、さらに、情報処理装置１０−Ｄと情報処理装置１０−Ｃとが相互に通信可能に接続されている状況が示されている。情報処理装置１０は、ネットワークＮにおいて、各種情報を取得すると、取得した各種情報を、自装置に接続された他の情報処理装置１０であって、取得した情報の送信元ではない情報処理装置１０に転送（例えば、フラッディングアルゴリズムを用いて転送）する。
【００２９】
次に、図２を参照することで、情報処理装置１０のハードウェア構成について説明する。図２は、情報処理装置１０のハードウェア構成の一例を示す図である。情報処理装置１０は、例えば、ＣＰＵ（Central  Processing  Unit）１１と、記憶部１２と、入力受付部１３と、表示部１４と、通信部１５とを備え、通信部１５を介して他の情報処理装置とピアツーピア通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。ＣＰＵ１１は、記憶部１２に格納された各種プログラムを実行する。
【００３０】
記憶部１２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含み、情報処理装置１０が処理する各種情報や画像、プログラム等を格納する。なお、記憶部１２は、情報処理装置１０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００３１】
入力受付部１３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部１３は、後述する表示部１４と一体化されたタッチパネルとして構成されてもよい。表示部１４は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。通信部１５は、例えば、ブルートゥースやＷｉ−Ｆｉ  Ｄｉｒｅｃｔ等の規格に基づいて無線通信を行う。なお、通信部１５は、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成され、有線通信を行うものとしてもよい。
【００３２】
次に、図３を参照することで、情報処理装置１０の機能構成について説明する。図３は、情報処理装置１０の機能構成の一例を示す図である。情報処理装置１０は、例えば、記憶部１２と、入力受付部１３と、表示部１４と、通信部１５と、ソフトウェア機能部１６とを備える。ソフトウェア機能部１６は、例えば、アプリケーション１７と、ネットワーク管理機能部１８と、ディスカバリ機能部１９と、メッセージ送受信機能部２０とを備える。これらの機能部のうち一部又は全部は、例えば、ＣＰＵ１１が、記憶部１２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００３３】
アプリケーション１７は、情報処理装置１０において実行される各種アプリケーションプログラムである。アプリケーション１７は、例えば、不特定多数の人の集合や待ち合わせを補助するアプリケーションプログラムである。アプリケーション１７は、所定の集合場所に集まった人が所有する情報処理装置１０によって構成されるネットワークＮに、後から集合した人が所有する情報処理装置１０が新たに接続された場合、その後から集合した人が所有する情報処理装置１０が新たに接続されたことを、ネットワークＮを構成する情報処理装置１０のすべてに送信する。これによって、情報処理装置１０のユーザは、アプリケーション１７を介して、直接人と人とが会うことなく、後から集合する人が到着したことを把握することができる。また、アプリケーション１７は、ユーザに対して、ネットワークＮを構成する情報処理装置１０同士による意味情報の送受信及びその表示を行う。
【００３４】
なお、アプリケーション１７は、これに限られず、ネットワークＮを構成する情報処理装置１０の数が一定数となったときに、ネットワークＮを構成するすべての情報処理装置１０に割引券や広告画像等を配布するアプリケーションプログラムであってもよいし、緊急災害時においてサーバーを介した通信が不可能な状況下で、救助を求める人が近隣に居ないかどうかを確認するためのアプリケーションプログラム等であってもよい。
【００３５】
アプリケーション１７は、後述するネットワーク管理機能部１８と、ディスカバリ機能部１９と、メッセージ送受信機能部２０とに対して、入力受付部１３により受け付けられたユーザからの入力に基づいて、各種の要求を出力し、所定の動作を行うように制御する。
【００３６】
ネットワーク管理機能部１８は、例えば、送信制御部１８１と、取得部１８２と、生成部１８３と、履歴管理部１８５と、処理部１８４と、時刻差管理部１８６とを備える。ネットワーク管理機能部１８は、自装置と他の情報処理装置Ｘとの間の接続状態を管理する。より具体的には、ネットワーク管理機能部１８は、アプリケーション１７からの要求に応じて、自装置と情報処理装置Ｘとの間の接続状態を、「接続」と「切断」とのいずれかに変化させる。
【００３７】
送信制御部１８１は、自装置と情報処理装置Ｘとの間の接続状態が変化した場合、自装置と情報処理装置Ｘとの識別情報の対と、自装置と情報処理装置Ｘとの間の接続状態を示す情報とを対応付けて、通信状態情報として自装置に接続された他の情報処理装置Ｙに送信（例えば、フラッディングアルゴリズムを用いて送信）するように、通信部１５を制御する。以下では、送信制御部１８１が、各種情報を送信するように通信部１５を制御することを、「送信制御部１８１が送信する」と説明する。ここで、通信状態情報には、接続状態が変化したタイミングを示す時刻であって、自装置内で計時された時刻が含まれている。なお、接続状態が変化したタイミングについては後述する。
【００３８】
情報処理装置１０が情報処理装置Ｘから通信状態情報を受信したとき、受信した通信状態情報に含まれる時刻には、後述する生成部１８３により時刻変換処理が行われる。以下では、時刻変換処理が行われる前の通信状態情報に含まれる時刻を第１時刻Ｔ１、時刻変換処理が行われる後の通信状態情報に含まれる時刻を第２時刻Ｔ２と称して説明する。また、以下では、第１時刻Ｔ１に対応付けられた通信状態情報を、通信状態情報Ｄ１と称し、第２時刻Ｔ２に対応付けられた通信状態情報を、通信状態情報Ｄ２と称する。
【００３９】
時刻変換処理とは、後述する生成部１８３によって行われる処理であり、通信状態情報Ｄ１に含まれる第１時刻Ｔ１を、第１時刻Ｔ１に対して所定の演算を行った後の第２時刻Ｔ２に変換する処理である。自装置が情報処理装置Ｘから受信した通信状態情報Ｄ１に含まれる第１時刻Ｔ１は、通信状態情報Ｄ１が示すピアツーピア通信の接続状態が変化したタイミングを示す時刻を、情報処理装置Ｘで計時された場合の時刻に変換された時刻（情報処理装置Ｘで時刻変換処理が行われた後の時刻）である。時刻変換処理後の通信状態情報Ｄ２に含まれる第２時刻Ｔ２は、通信状態情報Ｄ１が示すピアツーピア通信の接続状態が変化したタイミングを示す時刻を、自装置で計時された場合の時刻に変換された時刻である。
【００４０】
送信制御部１８１は、情報処理装置Ｘから通信終了を示す情報を受信することなく接続が切断された場合、キープアライブパケットに対する応答がないことによって、情報処理装置Ｘとの接続が切断されたことを判断する。キープアライブパケットとは、所定の時間が経過するごとに、送信制御部１８１によって情報処理装置Ｘに、ピアツーピア通信による接続が保持されているか否かを確認するために送信されるパケットである。所定の時間とは、３０秒程度である。送信制御部１８１は、キープアライブパケットに対する応答に基づいて、情報処理装置Ｘとの接続が切断されたと判断した場合、情報処理装置１０と情報処理装置Ｘとの間の接続が切断されたことを示す情報を、自装置と情報処理装置Ｘとの識別情報の対と対応付けて、通信状態情報Ｄ１として自装置に接続された他の情報処理装置Ｙに送信する。この時、接続状態が変化したタイミングは、キープアライブパケットに対する応答に基づいて、自装置と情報処理装置Ｘとの接続が切断されたと判断したタイミングである。また、接続状態が変化したタイミングは、自装置が情報処理装置Ｘから通信終了を示す情報を受信した場合、通信終了を示す情報が送信されたタイミングである。なお、第１時刻は、接続状態が変化したタイミングや、通信終了を示す情報が送信されたタイミングに代えて、他の何らかのタイミングであってもよい。
【００４１】
また、送信制御部１８１は、後述する生成部１８３が通信状態情報Ｄ１に対して時刻変換処理を行った後、時刻変換処理後の通信状態情報Ｄ２を、自装置に接続された他の情報処理装置に送信する。なお、時刻変換処理とは、後述する生成部１８３によって行われる処理であり、通信状態情報Ｄ１に含まれる第１時刻Ｔ１を、第１時刻Ｔ１に対して所定の演算を行った後の第２時刻Ｔ２に変換する処理である。時刻変換処理についての詳細は後述する。なお、送信制御部１８１は、通信制御部の一例である。
【００４２】
取得部１８２は、他の情報処理装置Ｘから、通信状態情報Ｄ１を取得する。生成部１８３は、時刻変換処理を行う。ここで、時刻変換処理について説明する。生成部１８３は、取得部１８２により情報処理装置Ｘから通信状態情報Ｄ１が取得されると、後述する時刻差情報記憶部１２−１から、情報処理装置Ｘで計時される時刻Ｔ３と、時刻Ｔ３が示すタイミングを自装置で計時した場合の時刻Ｔ４との間の時刻差ＤＴを読み込む。生成部１８３は、取得部１８２により取得された通信状態情報Ｄ１に含まれる第１時刻Ｔ１を、読み込んだ時刻差ＤＴに基づいて、自装置で計時された場合の通信状態情報Ｄ１が送信されたタイミングを示す第２時刻Ｔ２に変換し、変換された第２時刻Ｔ２を含む通信状態情報Ｄ２を生成する。
【００４３】
従って、通信状態情報Ｄ２は、通信状態情報Ｄ１に含まれる識別情報の対及び接続状態を示す情報と、第２時刻Ｔ２とを含む。例えば、通信状態情報Ｄ１に含まれていた第１時刻Ｔ１が１：００：００であり、自装置と情報処理装置Ｘとの間の時刻差ＤＴが７秒遅れである場合、生成部１８３は、自装置にとっての時刻差ＤＴは＋７秒であるため、通信状態情報Ｄ１に含まれていた第１時刻Ｔ１を１：００：０７に変換した第２時刻Ｔ２を含む通信状態情報Ｄ２を生成する。なお、第２時刻Ｔ２は、自装置時刻の一例である。第２時刻Ｔ２は、言い換えると、通信状態情報を送受信する２つの情報処理装置１０において、通信状態情報Ｄ１が送信されたタイミングを示す時刻であって、受信側の情報処理装置１０内で計時された時刻である。
【００４４】
処理部１８４は、自装置と他の情報処理装置Ｘとの間の接続状態が変化された場合、自装置と情報処理装置Ｘとの識別情報の対と、接続状態を示す情報とに基づいて、後述する管理情報記憶部１２−２に記憶される管理情報を更新する（管理情報が存在しない場合、管理情報を生成する）。また、処理部１８４は、生成部１８３により生成された通信状態情報Ｄ２に基づいた処理を行う。ここで、通信状態情報Ｄ２に基づいた処理とは、通信状態情報Ｄ２に基づいて、管理情報記憶部１２−２に記憶される管理情報を更新する処理である。管理情報の更新についての詳細は後述する。なお、処理部１８４による処理は、これに限られず、生成部１８３により時刻変換処理が行われた各種情報に基づいた何らかの処理を行うものとしてもよい。また、処理部１８４は、後述する履歴管理部１８５からの要求に応じて、履歴情報に基づいた処理のやり直しを行う。履歴情報に基づいた処理のやり直しについての詳細は後述する。
【００４５】
履歴管理部１８５は、生成部１８３により生成された通信状態情報Ｄ２に基づいて処理部１８４が行った処理の履歴を表す履歴情報を、後述する履歴情報記憶部１２−３に記憶することで、履歴情報の更新を行う（履歴情報が存在しない場合、履歴情報を生成する）。履歴情報の更新についての詳細も後述する。また、履歴管理部１８５は、履歴情報において、処理が行われた順と、各履歴情報に含まれる時刻の順とが一致しているか否かを判定する。履歴管理部１８５は、これらの順が一致していないと判定した場合、履歴情報を時系列順に並べ替え、並べ替えが行われた履歴情報が示す処理を時系列順に、処理部１８４にやり直しさせる。
【００４６】
なお、やり直しとは、例えば、並べ替えが行われる前の履歴情報のうち、並び替えに係る履歴情報が示す処理を、時系列の逆順で１つずつ処理を取り消していき、その後、並べ替え後の履歴情報であって並び替えに係る履歴情報を時系列順に再処理を行うものであるが、これに限られるわけではない。やり直しは、これに代えて、並び替えに係る履歴情報すべてを時系列と関係なく取り消した後、並べ替え後の履歴情報であって並び替えに係る履歴情報を時系列順に再処理を行うものであってもよい。また、履歴管理部１８５は、並べ替えが行われた履歴情報のうち、時刻が最も古いものから所定の時刻だけ遡った範囲に含まれる履歴情報に対して、処理部１８４に処理をやり直しさせるものとしてもよい。
【００４７】
時刻差管理部１８６は、自装置に他の情報処理装置Ｘが接続された場合、情報処理装置ＸにＮＴＰ（Network  Time  Protocol）パケットを送信する。そして、時刻差管理部１８６は、そのＮＴＰパケットへの応答を受信することで、自装置内で計時される時刻Ｔ３と、接続先である情報処理装置Ｘ内で計時される時刻Ｔ４との間の時刻差ＤＴを算出する。例えば、時刻差管理部１８６は、自装置内で計時される現在ＰＴの時刻Ｔ３が「１：００：００」であり、情報処理装置Ｘ内で計時される現在ＰＴの時刻Ｔ４が「１：００：０７」であった場合、自装置に対する情報処理装置Ｘの時刻差ＤＴを「＋７」と算出する。情報処理装置１０は、算出した時刻差ＤＴを、情報処理装置Ｘを識別する情報と対応付けて、時刻差情報として時刻差管理部１８６に記憶する。
【００４８】
ディスカバリ機能部１９は、例えば、自装置が他の情報処理装置Ｘと接続可能であることを示す情報を、ハローメッセージとして所定の時間が経過するごとに情報処理装置Ｘにブロードキャストする。所定の時間とは、例えば、２秒程度である。また、ディスカバリ機能部１９は、情報処理装置Ｘからブロードキャストされたハローメッセージを、通信部１５を介して受信することにより、自装置と接続可能な他の情報処理装置Ｘを検出する。ディスカバリ機能部１９は、検出した情報処理装置Ｘを示す情報を、アプリケーション１７に出力する。
【００４９】
メッセージ送受信機能部２０は、アプリケーション１７からの要求に従い、他の情報処理装置Ｘとの間で、通信部１５を介して意味情報を送受信する。ここで、意味情報とは、例えば、ユーザから入力受付部１３により入力された文章や、ユーザにより選択された定型文等である。
【００５０】
記憶部１２は、時刻差情報記憶部１２−１と、管理情報記憶部１２−２と、履歴情報記憶部１２−３とを備え、ＣＰＵ１１が実行する図示しない各種プログラムとを格納する。時刻差情報記憶部１２−１には、時刻差管理部１８６によって時刻差情報が記憶される。ここで、図４を参照することで、時刻差情報記憶部１２−１により記憶される時刻差情報について説明する。図４は、情報処理装置１０−Ａの時刻差情報記憶部１２−１Ａにより記憶される時刻差情報の一例である。図４に示したように、時刻差情報記憶部１２−１Ａには、時刻差情報として、情報処理装置１０−Ａに接続された情報処理装置１０−Ｂを識別する情報と、情報処理装置１０−Ａと情報処理装置１０−Ｂとの間の時刻差とが対応付けられて記憶されている。同様に、時刻差情報記憶部１２−１Ａには、時刻差情報として、情報処理装置１０−Ａに接続された情報処理装置１０−Ｃを識別する情報と、情報処理装置１０−Ａと情報処理装置１０−Ｃとの間の時刻差とが対応付けられて記憶されている。
【００５１】
管理情報記憶部１２−２には、処理部１８４によって管理情報が記憶される。ここで、図５を参照することで、情報処理装置１０−Ａの管理情報記憶部１２−２Ａにより記憶される管理情報について説明する。図５は、図１に示した状況における情報処理装置１０−Ａの管理情報記憶部１２−２Ａにより記憶される管理情報の一例である。図５に示したように、管理情報は、例えば、ピアツーピア通信を構成する情報処理装置１０それぞれの識別情報の対（図５では、「識別情報１」と「識別情報２」）と、接続状態を示す数値とが対応付けられている。接続状態を示す数値とは、識別情報の対が示すピアツーピア通信の接続状態が「接続」又は「切断」であることを示す数値である。なお、管理情報は、接続状態を示す数値に代えて、接続状態を示す文字列等、数値以外の何らかの情報であってもよい。接続状態を示す数値は、例えば、接続状態が「接続」ならば「＋１」、接続状態が「切断」ならば「０」である。情報処理装置１０は、この管理情報によって、ネットワークＮにおける各ピアツーピア通信の接続状態を管理する。
【００５２】
ここで、処理部１８４による通信状態情報Ｄ２に基づいた管理情報の更新のための処理について説明する。処理部１８４は、生成部１８３により生成された通信状態情報Ｄ２に含まれる接続状態を示す情報に基づいて、接続状態を示す情報を、接続状態を示す数値に変換する。処理部１８４は、前述した通り、接続状態が「接続」ならば「＋１」、接続状態が「切断」ならば「０」となるようにこの変換を行う。そして、処理部１８４は、通信状態情報Ｄ２に含まれる識別情報の対と、変換された接続状態を示す数値とを、管理情報として管理情報記憶部１２−２に記憶する。
【００５３】
履歴情報記憶部１２−３には、処理部１８４により行われた処理の履歴を表す履歴情報が、履歴管理部１８５によって記憶される。ここで、図６を参照することで、情報処理装置１０−Ａの履歴情報記憶部１２−３Ａにより記憶される履歴情報について説明する。図６は、図１に示した状況における情報処理装置１０−Ａの履歴情報記憶部１２−３Ａにより記憶される履歴情報の一例である。図６に示したように、履歴情報は、処理部１８４が管理情報を更新した際に用いた通信状態情報Ｄ２に含まれる識別情報の対と、識別情報の対が示すピアツーピア通信の接続状態を示す情報と、第２時刻Ｔ２とが対応付けられている。
【００５４】
以下、図７を参照することにより、情報処理装置１０のソフトウェア機能部１６が行う処理の流れを説明する。図７は、情報処理装置１０が、ネットワークＮにおける情報処理装置１０のソフトウェア機能部１６が行う処理の流れの一例を説明するためのシーケンス図である。以下では、情報処理システム１が当初、図１に示した状況であるものとして説明する。また、以下では、そのような状況下で、情報処理システム１の各情報処理装置１０が記憶している履歴情報において、処理が行われた順と、各履歴情報に含まれる時刻の順とが、一致しているものとして説明する。
【００５５】
なお、図７において、情報処理装置１０−Ａ〜Ｄのそれぞれについて、「Ａ」が「アプリケーション」、「Ｄ」が「ディスカバリ機能部」、「Ｎ」が「ネットワーク管理機能部」、「Ｍ」が「メッセージ送受信機能部」を表すものとする。また、図７において、ネットワーク管理機能部１８が備える各機能部が行う動作を、ネットワーク管理機能部１８が行うものとして説明する。
【００５６】
まず、アプリケーション１７Ｄは、ユーザからの入力に基づいて、ネットワーク管理機能部１８Ｄに対して、情報処理装置１０−Ｃとの接続の切断を要求する（ステップＳ１００）。次に、ネットワーク管理機能部１８Ｄは、アプリケーション１７Ｄから情報処理装置１０−Ｃとの接続の切断の要求を取得すると、管理情報記憶部１２−２Ｄに記憶された管理情報であって、情報処理装置１０−Ｃと情報処理装置１０−Ｄとに関する管理情報の接続状態を示す数値を、「切断」を表す「０」に更新する（ステップＳ１１０）。次に、ネットワーク管理機能部１８Ｄは、ネットワーク管理機能部１８Ｃに対して、情報処理装置１０−Ｄが情報処理装置１０−Ｃから切断することを示す情報を送信し（ステップＳ１２０）、その後、情報処理装置１０−Ｃとの接続を切断する。
【００５７】
次に、ネットワーク管理機能部１８Ｃは、情報処理装置１０−Ｄから、情報処理装置１０−Ｄが情報処理装置１０−Ｃから切断することを示す情報を取得すると、アプリケーション１７Ｃに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとの接続が切断されたことを示す情報を出力する（ステップＳ１３０）。次に、ネットワーク管理機能部１８Ｃの送信制御部１８１は、ネットワーク管理機能部１８Ｂに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとの接続が切断されたことを示す通信状態情報Ｄ１−１を送信する（ステップＳ１４０）。次に、ネットワーク管理機能部１８Ｂは、アプリケーション１７Ｂに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとの接続が切断されたことを示す情報を出力する（ステップＳ１５０）。
【００５８】
ステップＳ１５０からしばらく時間が経過した後、アプリケーション１７Ｃは、ユーザからの入力に基づいて、ネットワーク管理機能部１８Ｃに対して、情報処理装置１０−Ｄとの接続を要求する（ステップＳ１６０）。次に、ネットワーク管理機能部１８Ｃは、ネットワーク管理機能部１８Ｄに対して、情報処理装置１０−Ｃとの接続を要求する（ステップＳ１７０）。そして、ネットワーク管理機能部１８Ｃとネットワーク管理機能部１８Ｄとは、互いの時刻差ＤＴをそれぞれ算出して記憶する。
【００５９】
次に、ネットワーク管理機能部１８Ｄは、アプリケーション１７Ｄに対して、情報処理装置１０−Ｃから接続の要求を取得したことを示す情報を出力する（ステップＳ１８０）。次に、アプリケーション１７Ｄは、取得した情報処理装置１０−Ｃからの接続の要求を示す情報を、表示部１４Ｄに表示する。そして、アプリケーション１７Ｄは、ユーザから入力される接続許可に基づいて、ネットワーク管理機能部１８Ｄに情報処理装置１０−Ｃとの接続を許可することを示す情報を出力する（ステップＳ１９０）。
【００６０】
次に、ネットワーク管理機能部１８Ｄは、ネットワーク管理機能部１８Ｃに対して、情報処理装置１０−Ｃと接続することを示す情報を送信し（ステップＳ２００）、その後、情報処理装置１０−Ｄを情報処理装置１０−Ｃに接続する。次に、ネットワーク管理機能部１８Ｃは、情報処理装置１０−Ｃと情報処理装置１０−Ｄとの接続状態を示す数値が「＋１」であることを示す管理情報を、管理情報記憶部１２−２Ｃに記憶させる（ステップＳ２１０）。次に、ネットワーク管理機能部１８Ｃは、アプリケーション１７Ｃに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとが接続されたことを示す情報を出力する（ステップＳ２２０）。
【００６１】
次に、ネットワーク管理機能部１８Ｂは、ネットワーク管理機能部１８Ａに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとが接続されたことを示す通信状態情報Ｄ１−２を送信する（ステップＳ２３０）。そして、ネットワーク管理機能部１８Ａは、取得した通信状態情報Ｄ１−２に基づいて、生成部１８３Ａが通信状態情報Ｄ２−２を生成し、処理部１８４Ａが通信状態情報Ｄ２−２に基づいて管理情報を更新し、履歴管理部１８５Ａが履歴情報を更新する。ここで、ステップＳ１００以降で通信状態情報を初めて取得するため、処理部１８４Ａによって更新された履歴情報において、処理部１８４Ａにより行われた処理の順と、各履歴情報に含まれる第２時刻Ｔ２の時系列の順とは一致する。
【００６２】
次に、ネットワーク管理機能部１８Ｃは、ネットワーク管理機能部１８Ａに対して、情報処理装置１０−Ｃと情報処理装置１０−Ｄとが切断されたことを示す通信状態情報Ｄ１−３を送信する（ステップＳ２４０）。そして、ネットワーク管理機能部１８Ａは、取得した通信状態情報Ｄ１−３に基づいて、生成部１８３Ａが通信状態情報Ｄ２−３を生成し、処理部１８４Ａが通信状態情報Ｄ２−３に基づいて管理情報を更新し、履歴管理部１８５Ａが履歴情報を更新する。ここで、ステップＳ２４０でネットワーク管理機能部１８Ａが取得した通信状態情報Ｄ１−３は、ステップＳ１２０でネットワーク管理機能部１８Ｄにより送信された情報がネットワーク管理機能部１８Ｃから通信状態情報Ｄ１−３として送信されて到着したものであり、ステップＳ２００にネットワーク管理機能部１８Ｄにより送信され、ステップＳ２３０でネットワーク管理機能部１８Ａが取得した通信状態情報Ｄ１−２よりも第１時刻Ｔ１が古い。そのため、処理部１８４Ａによって更新された履歴情報において、処理部１８４Ａにより行われた処理の順と、各履歴情報に含まれる第２時刻Ｔ２の順とは一致しない。
【００６３】
ネットワーク管理機能部１８Ａは、履歴情報記憶部１２−３Ａに記憶された各履歴情報に含まれる第２時刻Ｔ２に基づいて、時系列の順になるように履歴情報の並べ替えを行い、並べ替えが行われた履歴情報が示す処理を、処理部１８４にやり直しさせる。このようにして、情報処理装置１０のネットワーク管理機能部１８は、ネットワークＮにおけるピアツーピア通信間の接続状態を管理することができる。
【００６４】
以上説明したように、第１の実施形態に係る情報処理システム１の情報処理装置１０は、ピアツーピア通信によって自装置と接続される他の情報処理装置Ｘから、情報処理装置Ｘ内で計時される第１時刻を含む通信状態情報Ｄ１を取得し、情報処理装置Ｘを識別する情報と、情報処理装置Ｘ内で計時される時刻と自装置内で計時される時刻との間の時刻差とを対応付けて時刻差情報記憶部１２−１に記憶させ、取得された通信状態情報Ｄ１に対して、時刻差情報記憶部１２−１に記憶された時刻差に基づいて通信状態情報Ｄ１に含まれる第１時刻を、自装置で計時される第２時刻に変換する変換を行うことで、通信状態情報Ｄ２を生成するため、装置同士で時刻の同期を行うことなく、情報の送信順序と到着順序との間の不一致を是正することができる。
【００６５】
また、情報処理装置１０は、処理部１８４により行われた時刻変換処理後の通信状態情報に基づいた処理の履歴を表す履歴情報を履歴情報記憶部１２−３に記憶させ、処理部１８４により行われた処理の順と第２時刻の時系列順との不一致が履歴情報に生じた場合、履歴情報に基づいて処理の順と第２時刻の時系列順とが一致するように、処理部１８４による処理をやり直すため、到着順序保障の無いアドホックなネットワークＮにおいて、情報処理装置間の接続状態を正しく管理することができる。
【００６６】
＜第２の実施形態＞
以下、本発明の第２の実施形態について、図面を参照して説明する。なお、第２の実施形態では、第１の実施形態と同様な構成部には、同じ符号を付して説明を省略する。第２の実施形態では、情報処理装置１０が他の情報処理装置Ｘと接続した場合、情報処理装置１０から情報処理装置Ｘへ管理情報を送信し、他の情報処理装置Ｘから管理情報Ｘ−１を受信する。そして、情報処理装置１０は、受信した管理情報Ｘ−１と、自装置の管理情報とを参照して比較し、自装置の管理情報に存在しない識別情報の対が示す情報処理装置間の接続状態を、通信状態情報として自装置に接続されたすべての他の情報処理装置に転送する。
【００６７】
図８は、第２の実施形態に係る情報処理システム２の利用状況の一例を示す図である。図８に示したように、情報処理システム２では、３台の情報処理装置１０がそれぞれピアツーピア通信によって接続されることで、互いに通信を行うことができるアドホックなネットワークＮ１と、同様に構成されたネットワークＮ２とが、情報処理装置１０−Ｃと情報処理装置１０−Ｄとが接続されることで、１つのネットワークＮを構成している。
【００６８】
図８に示したように、ネットワークＮ１は、情報処理装置１０−Ａ〜Ｃによって構成され、ネットワークＮ２は、情報処理装置１０−Ｄ〜Ｆによって構成される。情報処理装置１０−Ｃが、情報処理装置１０−Ｄに接続される際、情報処理装置１０−Ｃのネットワーク管理機能部１８Ｃは、自装置の記憶部１２Ｃにより記憶される管理情報を参照し、情報処理装置１０−Ｄが自装置の接続しているネットワークＮ１に含まれているか否かを判定する。そして、ネットワーク管理機能部１８Ｃは、情報処理装置１０−ＤがネットワークＮ１に含まれていないと判定した場合、管理情報記憶部１２−２Ｃにより記憶された管理情報を、情報処理装置１０−Ｄに送信するように、送信制御部１８１Ｃへ要求する。送信制御部１８１Ｃは、ネットワーク管理機能部１８Ｃからの要求に応じて、管理情報を、情報処理装置１０−Ｄに送信する。
【００６９】
一方、情報処理装置１０−Ｄのネットワーク管理機能部１８Ｄは、情報処理装置１０−Ｃと同様に、自装置の記憶部１２Ｄにより記憶される管理情報を参照し、情報処理装置１０−Ｃが自装置の接続しているネットワークＮ２に含まれているか否かを判定する。そして、ネットワーク管理機能部１８Ｄは、情報処理装置１０−ＣがネットワークＮ２に含まれていないと判定した場合、管理情報記憶部１２−２Ｄにより記憶された管理情報を、情報処理装置１０−Ｃに送信するように、送信制御部１８１Ｄへ要求する。送信制御部１８１Ｄは、ネットワーク管理機能部１８Ｄからの要求に応じて、管理情報を、情報処理装置１０−Ｃに送信する。
【００７０】
情報処理装置１０−Ｃの処理部１８４Ｃは、情報処理装置１０−Ｄから管理情報を取得すると、取得した管理情報と自装置に記憶された管理情報とを参照して比較する。そして、処理部１８４Ｃは、取得した管理情報であって、自装置に記憶された管理情報に含まれていない識別情報の対に対応付けられた管理情報を、自装置に記憶された管理情報に追加する。また、送信制御部１８１Ｃは、自装置に記憶された管理情報に追加した個々の情報を、通信状態情報Ｄ１−Ｃとして、情報処理装置１０−Ｃに接続された他の情報処理装置（図８では、情報処理装置１０−Ａ及び情報処理装置１０−Ｂ）に転送する。
【００７１】
一方、情報処理装置１０−Ｄの処理部１８４Ｄは、情報処理装置１０−Ｃから管理情報を取得すると、取得した管理情報と自装置に記憶された管理情報とを参照して比較する。そして、処理部１８４Ｄは、取得した管理情報であって、自装置に記憶された管理情報に含まれていない識別情報の対に対応付けられた情報を、自装置に記憶された管理情報に追加する。また、送信制御部１８１Ｄは、自装置に記憶された管理情報に追加した個々の情報を、通信状態情報Ｄ１−Ｄとして、情報処理装置１０−Ｄに接続された他の情報処理装置（図８では、情報処理装置１０−Ｅ及び情報処理装置１０−Ｆ）に転送する。
【００７２】
以上説明したように、第２の実施形態に係る情報処理システム２の情報処理装置１０は、ネットワークＮ１に含まれていないピアツーピア通信で構成される他のネットワークＮ２に属する情報処理装置Ｘに、自装置がピアツーピア通信で接続される場合、管理情報記憶部１２−２に記憶される管理情報の一部又は全部を、情報処理装置Ｘに送信するように通信部１５を制御するため、第１の実施形態と同様の効果が得られるのに加えて、異なるネットワークにそれぞれ属する情報処理装置同士が接続された場合、ネットワーク全体を構成するすべての情報処理装置による接続状態を示す情報の転送によって生じるネットワークへの負荷を低減することができる。
【００７３】
また、情報処理装置１０は、情報処理装置Ｘから、管理情報の一部又は全部を取得した場合、取得部１８２により取得された管理情報と、管理情報記憶部１２−２により記憶された管理情報とに基づいて、管理情報記憶部１２−２により記憶された管理情報の更新を行うため、より早くネットワーク全体の正確な情報処理装置間の接続状態を把握することができる。
【００７４】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【符号の説明】
【００７５】
１、２  情報処理システム、１０、１０−Ａ〜Ｆ  情報処理装置、１１  ＣＰＵ、１２、１２Ｃ、１２Ｄ  記憶部、１２−１、１２−Ａ  時刻差情報記憶部、１２−２、１２−Ａ、１２−Ｃ、１２−Ｄ  管理情報記憶部、１２−３、１２−３Ａ  履歴情報記憶部、１３  入力受付部、１４、１４Ｄ  表示部、１５  通信部、１６  ソフトウェア機能部、１７、１７Ｂ〜Ｄアプリケーション、１８、１８Ａ〜Ｄ  ネットワーク管理機能部、１９  ディスカバリ機能部、２０  メッセージ送受信機能部、１８１、１８１Ｃ、１８１Ｄ  送信制御部、１８２  取得部、１８３  生成部、１８４、１８４Ａ、１８４Ｃ、１８４Ｄ  処理部、１８５、１８５Ａ  履歴管理部、１８６  時刻差管理部
【図１】
2015100044.tif 000003
【図２】
2015100044.tif 000004
【図３】
2015100044.tif 000005
【図４】
2015100044.tif 000006
【図５】
2015100044.tif 000007
【図６】
2015100044.tif 000008
【図７】
2015100044.tif 000009
【図８】
2015100044.tif 000010
【手続補正書】
【提出日】平成27年1月16日(2015.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させる通信制御部と、
前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部と、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得する取得部と、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、
前記取得部により取得された前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する生成部と、
前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う処理部と、
を備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記通信制御部は、前記取得部により前記第１情報を取得した場合、前記生成部により生成された前記第２情報を、前記ネットワークに接続された他の情報処理装置に送信するように制御する、
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記時刻差管理部は、自装置と前記第１情報処理装置との間において通信事象が発生したタイミングで、前記第１時刻と前記自装置時刻とをそれぞれ取得し、取得した前記第１時刻と前記自装置時刻とに基づいて前記時刻差を算出して前記時刻差情報記憶部に記憶させる、
情報処理装置。
【請求項４】
請求項１から３のうちいずれか一項に記載の情報処理装置であって、
前記処理部により行われた前記第２情報に基づいた処理の履歴を表す履歴情報を履歴情報記憶部に記憶させる履歴管理部と、
を備える情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記処理部は、前記処理の順と前記自装置時刻の時系列順との不一致が前記履歴情報に生じた場合、前記履歴情報に基づいて前記処理の順と前記自装置時刻の時系列順とが一致するように、前記処理をやり直す、
情報処理装置。
【請求項６】
請求項１から５のうちいずれか一項に記載の情報処理装置であって、
前記通信制御部は、前記ネットワークに含まれていないピアツーピア通信で構成される他のネットワークに属する第２情報処理装置に、自装置がピアツーピア通信で接続される場合、前記管理情報記憶部に記憶される前記管理情報の一部又は全部を、前記第２情報処理装置に送信する、
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記取得部は、前記管理情報を取得し、
前記処理部は、前記取得部が、前記第２情報処理装置から前記管理情報の一部又は全部を取得した場合、前記取得部により取得された管理情報と、前記管理情報記憶部により記憶された管理情報とに基づいて、前記管理情報記憶部により記憶された管理情報の更新を行う、
情報処理装置。
【請求項８】
第１情報処理装置と、第２情報処理装置とを具備する情報処理システムであって、
前記第１情報処理装置は、
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を、前記第２情報処理装置に送信するように通信部を制御する通信制御部、
を備え、
前記第２情報処理装置は、
前記ネットワークへ自装置を接続させるように通信部を制御する通信制御部と、
前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部と、
前記第１情報処理装置から、前記第１情報を取得する取得部と、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とが対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、
前記時刻差に基づいて、前記取得部により取得された前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成する生成部と、
前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う処理部と、
を備える、
情報処理システム。
【請求項９】
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続し、
前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を管理情報記憶部に記憶し、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得し、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶し、
前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成し、
前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う、
情報処理方法。
【請求項１０】
コンピュータに、
情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させ、
前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を管理情報記憶部に記憶させ、
ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得させ、
前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて記憶部に記憶させ、
前記時刻差に基づいて、前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成させる、
前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行わせる、
情報処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
（１）本発明の一態様は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させる通信制御部と、前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部と、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得する取得部と、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、前記取得部により取得された前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成する生成部と、前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う処理部と、を備える情報処理装置である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
（４）また、本発明の他の態様は、（１）から（３）のうちいずれか一項に記載の情報処理装置であって、前記処理部により行われた前記第２情報に基づいた処理の履歴を表す履歴情報を履歴情報記憶部に記憶させる履歴管理部と、を備える情報処理装置である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
（６）また、本発明の他の態様は、（１）から（５）のうちいずれか一項に記載の情報処理装置であって、前記通信制御部は、前記ネットワークに含まれていないピアツーピア通信で構成される他のネットワークに属する第２情報処理装置に、自装置がピアツーピア通信で接続される場合、前記管理情報記憶部に記憶される前記管理情報の一部又は全部を、前記第２情報処理装置に送信する、情報処理装置である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
（７）また、本発明の他の態様は、（６）に記載の情報処理装置であって、前記取得部は、前記管理情報を取得し、前記処理部は、前記取得部が、前記第２情報処理装置から前記管理情報の一部又は全部を取得した場合、前記取得部により取得された管理情報と、前記管理情報記憶部により記憶された管理情報とに基づいて、前記管理情報記憶部により記憶された管理情報の更新を行う、情報処理装置である。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
（８）また、本発明の他の態様は、第１情報処理装置と、第２情報処理装置とを具備する情報処理システムであって、前記第１情報処理装置は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を、前記第２情報処理装置に送信するように通信部を制御する通信制御部、を備え、前記第２情報処理装置は、前記ネットワークへ自装置を接続させるように通信部を制御する通信制御部と、前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を記憶する管理情報記憶部と、前記第１情報処理装置から、前記第１情報を取得する取得部と、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とが対応付けて時刻差情報記憶部に記憶させる時刻差管理部と、前記時刻差に基づいて、前記取得部により取得された前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成する生成部と、前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う処理部と、を備える、情報処理システムである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
（９）また、本発明の他の態様は、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続し、前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を管理情報記憶部に記憶し、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得し、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて時刻差情報記憶部に記憶し、前記第１情報に対して、前記時刻差に基づいて前記第１時刻を自装置時刻に変換する変換を行うことで、第２情報を生成し、前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行う、情報処理方法である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
（１０）また、本発明の他の態様は、コンピュータに、情報処理装置同士がピアツーピア通信を行うことで構成されるネットワークへ自装置を接続させ、前記ネットワークにおけるピアツーピア通信の通信状態を管理する管理情報を管理情報記憶部に記憶させ、ピアツーピア通信によって自装置と接続される第１情報処理装置から、前記ネットワークにおけるピアツーピア通信を示す情報とピアツーピア通信の通信状態を示す情報とが対応付けられた状態情報と、前記第１情報処理装置内で計時される第１時刻とを含む第１情報を取得させ、前記第１情報処理装置を識別する情報と、前記第１時刻と自装置内で計時される自装置時刻との間の時刻差とを対応付けて記憶部に記憶させ、前記時刻差に基づいて、前記第１情報について、前記第１時刻を自装置時刻に変換した情報を、第２情報として生成させる、前記第２情報に基づいて、前記ネットワークにおけるピアツーピア通信を示す情報と、ピアツーピア通信の通信状態を示す情報とを、前記管理情報として前記管理情報記憶部に記憶させる処理を行わせる、情報処理プログラムである。