(57)【要約】【課題】  情報を分散管理するネットワークシステムでは、ある端末が他の端末の有するコンテンツを取得しようとした時に、双方の端末が通信状態の良いエリアに存在していなければ、コンテンツ取得に失敗する可能性が高い。【解決手段】  あるコミュニティに属するコンテンツを管理する端末が、各コンテンツオーナ端末の通信状況を調べ、通信状況の悪化を検出した場合、コンテンツの移動先端末を決定し、該コンテンツオーナに対して、コンテンツの移動を要求する。【選択図】図４
2006050467.tif 000002
【特許請求の範囲】
【請求項１】
複数の移動端末が無線通信網を用いて接続され、前記複数の移動端末にてコンテンツを分散管理するネットワークシステムであって、
当該システムを管理する移動端末と、コンテンツを保持する移動端末と、その他の移動端末と、からなり、
それぞれの前記移動端末は、他の前記移動端末との間で前記無線通信網を用いる通信手段を有し、
前記管理する移動端末は、
前記コンテンツを保持する移動端末とその他の前記移動端末との通信状況を検査する手段と、
前記検査により、前記コンテンツを保持する移動端末の通信状況が悪いと判断した場合に、前記コンテンツの移動先端末を決定する手段と、
前記コンテンツを保持する移動端末に対して、前記移動先端末へ前記コンテンツの移動を要求する手段と、
前記コンテンツが前記移動先端末へ移動されたら、前記コンテンツリストを更新する手段と、を備える
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項２】
請求項１に記載の情報を分散管理するネットワークシステムであって、
前記その他の移動端末は、前記コンテンツを要求する場合に、前記管理する移動端末へ、前記コンテンツのアドレスを示すコンテンツリストを要求して取得する手段と、
取得した前記コンテンツリストに基づき選択したコンテンツを、当該選択したコンテンツを保持する移動端末へ要求する手段と、を備え、
前記管理する移動端末は、要求された前記コンテンツリストを前記その他の移動端末へ送信する手段を備える、
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項３】
請求項２に記載の情報を分散管理するネットワークシステムであって、
前記管理する移動端末は、前記コンテンツリストを要求された場合に、前記通信状態を検査する手段を起動する手段を備える
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項４】
請求項１に記載の情報を分散管理するネットワークシステムにおいて、
前記管理する移動端末は、
前記無線通信網のルーティングテーブルの更新時に、前記通信状況を検査する手段を起動する手段を有する
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項５】
請求項１に記載の情報を分散管理するネットワークシステムであって、
前記管理する移動端末の前記通信状況を検査する手段は、
コンテンツ取得を要求した前記移動端末とコンテンツを保持する前記移動端末との間の、前記無線通信網内の転送ホップ数を取得する手段と、
コンテンツを保持する前記移動端末へ検査パケットを送信し、当該検査パケットへの応答時間とを計測する手段とを有する
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項６】
請求項１に記載の情報を分散管理するネットワークシステムであって、
前記コンテンツの移動を要求する手段は、
該コンテンツへのアクセス頻度を取得する手段と、
前記アクセス頻度に基づき当該コンテンツを移動ではなくコピーを生成させるかどうかを決定する手段と、
前記コンテンツのコピー生成と、該コンテンツの前記移動先端末への送信とを指示する手段と、を有する
ことを特徴とする情報を分散管理するネットワークシステム。
【請求項７】
請求項１に記載の情報を分散管理するネットワークシステムであって、
前記コンテンツを保持する移動端末が、前記無線通信網から離脱する場合に、前記管理する移動端末に対して、保持するコンテンツの移動要求を通知する手段とを有することを特徴とする情報を分散管理するネットワークシステム。
【請求項８】
複数の移動端末が無線通信網を用いて接続され、前記複数の移動端末にてコンテンツを分散管理するネットワークシステムに用いる、前記コンテンツを管理する移動端末であって、
他の前記移動端末との間で前記無線通信網を用いる通信手段を有し、
前記コンテンツを保持する移動端末とその他の前記移動端末との通信状況を検査する手段と、
前記検査により、前記コンテンツを保持する移動端末の通信状況が悪いと判断した場合に、前記コンテンツの移動先端末を決定する手段と、
前記コンテンツを保持する移動端末に対して、前記移動先端末へ前記コンテンツの移動を要求する手段と、を備える
ことを特徴とするコンテンツを管理する移動端末。
【請求項９】
請求項８に記載のコンテンツを管理する移動端末であって、
その他の移動端末から、前記コンテンツのリストを要求されたら、前記その他の移動端末へ送信する手段を備える
ことを特徴とするコンテンツを管理する移動端末。
【請求項１０】
請求項８に記載のコンテンツを管理する移動端末であって、
前記コンテンツリストを要求された場合に、前記通信状態を検査する手段を起動する手段を備える
ことを特徴とするコンテンツを管理する移動端末。
【請求項１１】
請求項８に記載のコンテンツを管理する移動端末は、
前記無線通信網のルーティングテーブルの更新時に、前記通信状況を検査する手段を起動する手段を有する
ことを特徴とするコンテンツを管理する移動端末。
【請求項１２】
請求項８に記載のコンテンツを管理する移動端末であって、
前記通信状況を検査する手段は、
コンテンツ取得を要求した移動端末とコンテンツを保持する移動端末との間の、前記無線通信網内の転送ホップ数を取得する手段と、
コンテンツを保持する前記移動端末へ検査パケットを送信し、当該検査パケットへの応答時間とを計測する手段とを有する
ことを特徴とするコンテンツを管理する移動端末。
【請求項１３】
請求項９に記載のコンテンツを管理する移動端末であって、
前記コンテンツの移動を要求する手段は、
該コンテンツへのアクセス頻度を取得する手段と、
前記アクセス頻度に基づき当該コンテンツを移動ではなくコピーを生成させるかどうかを決定する手段と、
前記コンテンツを保持する端末に、前記コンテンツのコピー生成と該コンテンツの前記移動先端末への送信とを指示する手段と、を有する
ことを特徴とするコンテンツを管理する移動端末。
【請求項１４】
請求項８に記載のコンテンツを管理する移動端末であって、
前記コンテンツを保持する移動端末が前記無線通信網から離脱する場合に、前記コンテンツを保持する移動端末から保持するコンテンツの移動要求を受信する手段を有する
ことを特徴とするコンテンツを管理する移動端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を分散管理するコミュニケーションシステムに関し、さらに詳しくは、コミュニケーションシステムに属する端末が移動しても、データをアクセスしやすい環境を提供する技術に関する。
【背景技術】
【０００２】
ネットワーク通信分野では、サーバを経由しないで個人の端末同士が直接ファイルを交換したり、全世界規模に分散した多数のコンピュータを連携させて複雑な科学技術計算を行ったりすることを可能にするピアツーピア(Peer-to-Peer:以下、P2Pという)型ネットワーク技術が実用化されつつある。一般家庭においてもADSLやFTTH等によるブロードバンド化が進み、大量のマルチメディアデータの授受が可能となった現在、P2P型ネットワークは、サーバコンピュータへのトラフィック集中がボトルネックとなることがないため、きわめて多数の端末が、移動したり、ネットワークに参加・離脱したりする流動性の高いユビキタスコミュニケーション環境における通信手段として効果的である。
【０００３】
P2P型ネットワークで接続する端末間で、情報の共有を行い、コミュニケーションを図るシステムとして、IDタグを利用したシステムが検討されている（例えば、非特許文献１参照）。IDタグは、人間が生活や仕事を行う実世界と、情報通信手段などを通じて知覚・認識される仮想的な世界とを結びつけるための技術の一つであり、規格の標準化が進められている。IDタグ自体は、実世界に存在するオブジェクトに何らかの識別子を対応付けるために使用される。
【０００４】
上記文献が開示するシステムでは、IDタグをトリガとし、タグから読み込んだIDが同じ端末同士が自由にコミュニティを形成し、情報（たとえばコンテンツ）の共有を行う。各コンテンツは作成した端末が保持することにより、情報分散環境を構築する。
【０００５】
【非特許文献１】石崎 健史、他３名、“IDタグとP2Pネットワークを用いた分散情報共有技術の開発”、［online］、2004年7月17日検索、情報処理振興事業協会2002年度成果報告集、インターネット<URL ： http://www.ipa.go.jp/SPC/report/02fy-pro/report/1497/paper.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
非特許文献１の場合、各コンテンツのオリジナルはその作成端末が保持する。他の端末がコンテンツを一旦取得した場合には、そのコンテンツを取得した端末内に保持するが、他の端末からのコンテンツ取得要求を受け付けた場合に、コンテンツ送信を行うのは、あくまでも作成した端末である。宅内で常時接続しているような移動しない端末でネットワークが構成されている場合には、一つの端末へのアクセス集中を避けるためにも、コンテンツはその作成端末が保持することによるコンテンツ分散は有効である。
【０００７】
しかし、アドホックネットワークのように、ネットワークに頻繁に端末が出入りし、また、各端末が移動することによりルーティングが頻繁に更新されるネットワーク環境においては、情報（たとえばコンテンツ）を保持する端末を固定することは必ずしも有効ではない。例えば、ある端末が他の端末の有するコンテンツを取得しようとした時に、双方の端末が通信状態の良いエリアにいなければ、コンテンツ取得に失敗する可能性が高い。
【課題を解決するための手段】
【０００８】
本発明は、情報を分散管理するネットワークシステムにおいて、情報作成者の端末の通信状態を考慮して、情報をの保存する情報管理サービスを提供する。
【０００９】
本発明のコンテンツを分散管理するネットワークシステムは、その一態様によれば、複数の移動端末が無線通信網を用いて接続され、複数の移動端末にてコンテンツを分散管理するネットワークシステムであって、たとえば、当該システムを管理する移動端末と、コンテンツを保持する移動端末と、その他の移動端末と、からなるものである。
【００１０】
さらに、管理する移動端末は、コンテンツを保持する移動端末とその他の移動端末との通信状況を検査する手段と、検査によりコンテンツを保持する移動端末の通信状況が悪いと判断した場合に、コンテンツの移動先端末を決定する手段と、コンテンツを保持する移動端末に対して、移動先端末へコンテンツの移動を要求する手段と、コンテンツが移動先端末へ移動されたら、コンテンツリストを更新する手段と、を備えることを特徴とする。
【００１１】
さらに、その他の移動端末は、コンテンツを要求する場合に、管理する移動端末へ、コンテンツのアドレスを示すコンテンツリストを要求して取得する手段と、取得したコンテンツリストに基づき選択したコンテンツを、当該選択したコンテンツを保持する移動端末へ要求する手段と、を備え、管理する移動端末は、要求されたコンテンツリストをその他の移動端末へ送信する手段を備えてもよい。
【００１２】
さらに、管理する移動端末は、コンテンツリストを要求された場合、または、無線通信網のルーティングテーブルの更新時に、通信状況を検査する手段を起動してもよい。
【００１３】
さらに、通信状況を検査する手段は、コンテンツ取得を要求した移動端末とコンテンツを保持する移動端末との間の、無線通信網内の転送ホップ数を取得する手段と、コンテンツを保持する移動端末へ検査パケットを送信し、当該検査パケットへの応答時間とを計測する手段とを備えてもよい。
【００１４】
さらに、コンテンツの移動を要求する手段は、該コンテンツへのアクセス頻度を取得する手段と、アクセス頻度に基づき当該コンテンツを移動ではなくコピーを生成させるかどうかを決定する手段と、コンテンツのコピー生成と、該コンテンツの移動先端末への送信とを指示する手段と、を備えてもよい。
【００１５】
さらに、コンテンツを保持する移動端末が、無線通信網から離脱する場合に、管理する移動端末に対して、保持するコンテンツの移動要求を通知する手段とを備えてもよい。
【発明の効果】
【００１６】
本発明によれば、コンテンツを分散して管理するネットワークシステムにおいて、コンテンツオーナ端末の通信状態に応じて、コンテンツを移動させることにより、他の端末がコンテンツを取得できないという状況を減らすことができる。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態について、図１〜図２３を参照して説明する。
【００１８】
図1に、本発明の実施形態に関わる情報を分散管理するネットワークシステムの構成例を示す。
【００１９】
図1において、パケット網（パケットネットワークともいう）１と、パケット網１に複数の移動端末２−１〜２−９及び中継端末３−１〜３−３が接続する。パケット網１は、無線、有線どちらでも構わないが、各中継端末３は無線通信処理部を有する。移動端末２は無線通信処理部を有し、移動しながら他の移動端末２あるいは中継端末３と接続することができる。パケット網１が、移動端末２と中継端末３が他のアクセスポイントを経由しないで相互に接続し通信を行うアドホックネットワークである場合、各移動端末２および各中継端末３は、パケットデータのルーティング機能をも有する。以下、パケット網１がアドホックネットワークである場合の構成、処理を示す。各移動端末２および中継端末３の接続トポロジは、移動端末２の移動に伴い更新される。
【００２０】
図２に、移動端末２および中継端末３の内部構成を示す。
【００２１】
移動端末２には、コミュニティプログラム１６が格納されているメモリ１０と、メモリ１０のプログラムに基づく処理を行うCPU１１と、蓄積装置１２と、カメラ、マイク、IDタグリーダ等の入力装置１３と、記録媒体への出力やスピーカ、ディスプレイ等の出力装置１４と、パケット網１で通信を行うためにパケット網インタフェース１５により構成され、各モジュールはバスなどの内部通信線により接続される。
【００２２】
入力装置１３は、データやイベント等全ての入力をパケット網１を介して行う場合には、必ずしも必要ではない。さらに入力装置１３は、ユーザインタフェースからの設定情報等の入力に際し、例えば、ある文字が入力された場合、過去に入力したことのあるキーワードを表示して入力の手間を省くという様な入力支援機能を含んでもよい。
【００２３】
メモリ１０に展開されるコミュニティプログラム１６は、アドホックネットワークのルーティングテーブルを管理し、パケットデータのルーティング処理を行うアドホックルーティング処理部１７と、該コミュニティプログラムを動作させている他の移動端末２の接続状況を管理する接続端末管理処理部１８と、自端末あるいは他の移動端末２がオーナであるコンテンツの転送や取得を行うコンテンツ転送・取得処理部１９と、自端末あるいは他の移動端末２がオーナであるコンテンツの管理を行うコンテンツ管理処理部２０と、他の移動端末２や中継端末３との通信状況をモニタする通信管理処理部２１と、自端末が参加しているコミュニティの管理を行うコミュニティ管理処理部２２と、IDタグの読み込み処理を行うIDタグリーダインタフェース２３と、ユーザインタフェース２４と、をCPU１１の処理により実現するプログラムから構成する。本実施例では、コミュニティ参加・発生のトリガとして、IDタグリーダインタフェース２３を用いるが、他の処理部でも構わない。
【００２４】
以下、本発明の実施形態として、各移動端末のユーザが宝探しゲームを行う場合について説明する。
【００２５】
まず、図３において、宝探しゲームの概要を説明する。
【００２６】
あるアミューズメントパークにおいて、移動端末２および中継端末３によりパケットネットワーク１が構築されているものとする。移動端末２および中継端末３ではコミュニティプログラム１６を動作させる。パーク内に複数のIDタグを貼っておき、ユーザがIDタグリーダを装着した移動端末２を持ってIDタグを探し、発見したらIDタグに付与されているIDを移動端末２に読み込む。
【００２７】
IDタグには複数の種類、例えば、「チームID」「宝ID」「アトラクションID」等、宝探しゲームを行う際に必要な種類がある。各IDタグに登録されている値をきっかけとして、情報（コンテンツ）を移動端末２及び中継端末３でやり取りすることにより、宝探しゲームを行う。
【００２８】
読み込んだIDタグが「宝ID」だった場合、同じ「チームID」を読み込んだ（すなわち同じチームに属する）全ての移動端末２に対し、該「宝ID」の情報を通知する。
【００２９】
読み込んだIDタグが「アトラクションID」だった場合、アトラクションのコミュニティにおいて、コンテンツの一種であるヒント情報をもらう。
【００３０】
各移動端末は、もらったヒントを元に「宝ID」を探したり、同じ「チームID」を持つ他のチームメンバにチームコミュニティを用いて、ヒント情報があることを通知したり、質問と応答をコンテンツの一種としてやり取りしたりすることにより宝IDを探す。
【００３１】
図４に、移動端末２および中継端末３の振舞いの例を示す。
【００３２】
なお、中継端末３は、コミュニティプログラム１６を動作させてはいるが、ユーザが持ち歩いて使用するものではない。
【００３３】
また、各移動端末２と、中継端末３と、各端末が保持する情報とは、本実施形態のネットワークシステム内において一義的に定まるアドレスを備えるものとする。
【００３４】
移動端末２−１が「アトラクションID」を読み込み、読み込んだIDタグに割り当てられている値（ID）が１であるとすると、移動端末２−１はID：１を持つIDタグのオーナを、以下のステップにより探索する。
【００３５】
コミュニティプログラム１６は、その起動時に、該コミュニティプログラム１６を動作させている他の端末の識別子を取得して、参加端末リストを生成する。IDタグのオーナ発見のためには該参加端末リストを元に発見要求を発行する。
【００３６】
ID：１のIDタグオーナ発見要求を受信した各移動端末２は、自端末がオーナかどうかを調べ、オーナである場合には該IDタグに属するコミュニティ（たとえば公式な情報コミュニティ、口コミ情報コミュニティなど）のリストを応答する（ここでは、移動端末２−５がID：1のオーナ）。
【００３７】
ID：１のIDタグオーナからコミュニティリストを取得した移動端末２−１は、参加したいコミュニティ（たとえばコミュニティ１）を選択し、該コミュニティ１のオーナ（ここでは、移動端末２−４）に対してコンテンツリスト取得要求を発行する。
【００３８】
コミュニティ１のオーナである移動端末２−４は、自端末が管理するコミュニティ１のコンテンツリストを元に、通信管理処理部による各コンテンツのオーナの通信状況のモニタ結果を検索し、ネットワーク１に接続有無、閾値に対するホップ数、検査応答時間、該コンテンツへのアクセス頻度等から、コンテンツの移動の是非を決定する。コンテンツを移動するのではなく、コピーして、１コンテンツへのアクセスを分散させてもよい。
【００３９】
コンテンツオーナの１つである移動端末２−９の通信状況が悪いと判断した場合、コミュニティ１オーナである移動端末２−４は、コンテンツオーナ２−９に対し、コンテンツの移動要求を発行する。この際、移動先の端末（ここでは、中継端末３−１）を通知する。コンテンツ移動要求を受けた移動端末２−９は、指定された移動先中継端末３−１へ該当コンテンツを移動する。
【００４０】
移動コンテンツを受けた中継端末３−１は、自端末で管理するコンテンツ管理情報を更新し、コミュニティ１のオーナである移動端末２−４へ、コンテンツ格納アドレスを含んだコンテンツ移動完了通知を発行する。
【００４１】
コンテンツ移動完了通知を受けた移動端末２−４は、該コミュニティ1のコンテンツ管理リストを更新し、最新のリストをコンテンツリスト要求元の移動端末２−１へ応答する。
【００４２】
コンテンツリストを取得した移動端末２−１は、該リストを元に新しいコンテンツオーナ（ここでは、中継端末３−１）へ直接、コンテンツ取得要求を発行し、コンテンツを取得する。
【００４３】
図５に、移動端末２及び中継端末３でやり取りされるコマンドの流れを示す。
【００４４】
図５において、移動端末２−１が新規にコミュニティプログラム１６を起動すると（ステップ３０）、参加端末発見要求コマンド「Join_REQ」をブロードキャストする（ステップ３１）。該コマンドはブロードキャストではなく、アドホックルーティングテーブルにある端末全てあるいは複数の端末に対して個別に発行しても構わない。
【００４５】
「Join_REQ」を直接または他の移動端末を介して受信した他の移動端末２−５、２−４、２−９、中継端末３−１は、それぞれ自分が保持している参加端末リストを含む「Join_ACK」コマンドを応答する（ステップ３２）。移動端末２−１は、直接または他の移動端末を介して他の移動端末から取得した複数の参加端末リストを併せて最新の参加端末リストを生成する（ステップ３３）。
【００４６】
移動端末２−１が、あるIDタグを読み込んだ際（ステップ３４）、該IDタグのオーナを問い合わせる「Discovery」コマンドを、上記参加端末リストを元に発行する（ステップ３５）。「Discovery」コマンドの発行先は、上記参加端末リストの上位ｎ個に対して行う。発行先端末数ｎは事前に定めておくか、通信状況に応じて適宜変動させても構わない。
【００４７】
該IDタグのオーナである移動端末２−５が、「Discovery」コマンドを受信すると、コミュニティリストを含んだ「Discovery_ACK」コマンドを応答する（ステップ３６）。移動端末２−１は、コミュニティリストを表示し、ユーザからの操作を待つ（ステップ３７）。
【００４８】
ユーザが該コミュニティリストからコミュニティ１を選択した場合（ステップ３８）、移動端末２−１は、コミュニティ１に属するコンテンツリスト取得要求「CLIST_REQ」コマンドを、コミュニティリストに記録されているコミュニティ１のオーナ移動端末２−４に対して発行する（ステップ３９）。
【００４９】
該「CLIST_REQ」コマンドを受信した移動端末２−４は、コミュニティ１に属する各コンテンツのオーナの通信状況を取得して、コンテンツの移動の有無を決定する（ステップ４０）。例えば、移動端末２−９がオーナであるコンテンツを中継端末３−１へ移動することを決定した場合、移動端末２−９に対して、コンテンツ移動要求「CMOVE_REQ」コマンドを発行する（ステップ４１）。
【００５０】
「CMOVE_REQ」コマンドを受信した移動端末２−９は、該当コンテンツを指定された移動先中継端末３−１へ「CMOVE」コマンドで移動させる（ステップ４２）。
【００５１】
「CMOVE」コマンドを受信した中継端末３−１は、該コマンドに含まれるコンテンツを格納し、コンテンツ管理情報を更新する（ステップ４３）。中継端末３−１は、コミュニティ１のオーナである移動端末２−４へ、コンテンツ移動完了コマンド「CMOVE_ACK」を発行する（ステップ４４）。
【００５２】
移動端末２−４は、コンテンツリストを「CMOVE_ACK」コマンドに含まれるコンテンツの新アドレスを用いて更新し（ステップ４５）、「CLIST_ACK」コマンドに含め、「CLIST_REQ」コマンド発行元の移動端末２−１へ発行する（ステップ４６）。
【００５３】
移動端末２−１は「CLIST_ACK」コマンドに含まれるコンテンツリストを表示する（ステップ４７）。移動端末２−１のユーザがコンテンツリストからコンテンツ１を選択して表示イベントを発行した場合（ステップ４８）、コンテンツリストからコンテンツ１のオーナである中継端末３−１（複数ある場合は、リストから通信状況のよい端末を選択）のアドレスを取得し（ステップ４９）、コンテンツ取得要求「CGET_REQ」コマンドを発行する（ステップ５０）。
【００５４】
「CGET_REQ」コマンドを受信した中継端末３−１は、該当コンテンツを含む「CGET_ACK」コマンドを応答する（ステップ５１）。
【００５５】
上記ステップ４０〜４４において、コンテンツを移動するか否か、すなわち、コンテンツリストを更新するか否かを、コンテンツリスト要求の受信を契機として行っているが、コミュニティオーナ端末２−４が、コンテンツリスト要求の受信とは独立して、繰り返し（例えば定期的に）実施してもよい。
【００５６】
図６〜図１７に、移動端末２および中継端末３の処理の流れを示す。ただし、中継端末３はユーザからのイベントは受け付けないため、IDタグの読み込みやコミュニティ、コンテンツの選択処理等は行わない。
【００５７】
図１８にIDタグに属するコミュニティ、コンテンツリストを、図１９に参加端末通信モニタテーブルを、図２０〜２２に移動端末２と中継端末３がやり取りする各コマンドのフォーマットを、図２３に移動端末２のユーザインタフェース例を示す。
【００５８】
図６において、各移動端末２および中継端末３は、コミュニティプログラム１６起動時に、アドホックルーティングテーブルの読み込み、各リスト利用メモリ確保等の初期設定を行う（ステップ６０）。ユーザの操作により、各移動端末２がIDタグリーダによりあるIDタグを読み込んだ場合（ステップ６１でyes）、該IDタグに付随するコミュニティ情報の取得等のコミュニティ参加処理を行う（ステップ６２）。
【００５９】
他の移動端末２から参加端末発見要求コマンド「Join_REQ」を受信した場合（ステップ６３でyes）、自端末内に保持している参加端末リストを含む応答コマンド「Join_ACK」を返信する（ステップ６４）。
【００６０】
「Join_ACK」を受信したら、該コマンドに含まれる参加端末リストを用い、他の端末から同様に「Join_ACK」を受信したら、各コマンドに含まれる参加端末リストのマージを行い、最新の参加端末リストを生成する（ステップ６５）。
【００６１】
他の移動端末２からあるIDタグのオーナ発見要求コマンド「Discovery」を受信したら（ステップ６６でyes）、自端末が該IDタグのオーナかどうかを検索・応答を行うDiscovery着信処理を行う（ステップ６７）。
【００６２】
ユーザの操作により、いずれかの移動端末２がコミュニティプログラム１６の終了要求イベントを発行した場合（ステップ６８でyes）、自移動端末が保持する各リストの保存、コミュニティからの離脱を示す「Leave」コマンドの送信、通信インタフェースの切断処理等の終了設定を行う（ステップ６９）。
【００６３】
上記ステップ６１、６３、６６全てでnoならば図7のAに進む。
【００６４】
図７において、各移動端末２あるいは中継端末３は、他移動端末２からの「CLIST_REQ」コマンドを受信した場合（ステップ７０でyes）、自端末が保持する該当コンテンツのリスト送信処理を行う（ステップ７１）。
【００６５】
「CGET_REQ」コマンドを受信した場合（ステップ７２でyes）、自端末が保持する該当コンテンツの送信処理を行う（ステップ７３）。
【００６６】
「CMOVE_REQ」コマンドを受信した場合（ステップ７４でyes）、該当コンテンツを指定移動端末２へ送信するコンテンツ移動処理を行う（ステップ７５）。
【００６７】
「CMOVE」コマンドを受信した場合（ステップ７６でyes）、該コマンドに含まれるコンテンツを自端末内に保持する移動コンテンツ管理処理を行う（ステップ７７）。
【００６８】
ユーザから新規コンテンツ生成イベントを受けた場合（ステップ７８でyes）、コンテンツ生成処理を行う（ステップ７９）。
【００６９】
アドホックネットワークのルーティングテーブルの更新があった場合（ステップ８０でyes）、他端末の通信状況を検査する通信モニタ処理を行う（ステップ８１）。
【００７０】
図７の各処理を終えた場合と、ステップ７０，７２、７４，７６，７８，８０全てでnoの場合は、図６のBへ戻る。
【００７１】
図８は、図６、ステップ６２のコミュニティ参加処理の流れを示す。
【００７２】
ステップ６１において読み込んだIDタグの値が自端末内にあるかどうかを検索し、既に一度読み込んだIDである場合（ステップ９０でyes）、該IDタグに付随するコミュニティリストの情報を表示する（ステップ９１）。
【００７３】
この際、最新の情報を取得するため、「Discovery」コマンドをIDタグのオーナに送信しても良いし、IDタグのオーナから新規コミュニティが生成された際に該IDタグにアクセスした各移動端末２へ最新リストを通知しても良い。
【００７４】
ユーザが、表示されたコミュニティリストからあるコミュニティを選択する操作をした場合（ステップ９２でyes）、コミュニティリストから該コミュニティのオーナのアドレスを取得してコンテンツリストの取得要求コマンド「CLIST_REQ」を発行する（ステップ９３）。
【００７５】
該コミュニティオーナから「CLIST_ACK」コマンドを受信し、コンテンツリストを取得したら、ユーザからの該コンテンツリストにあるコンテンツ取得イベントを待ち、コンテンツ取得処理を行う（ステップ９４）。
【００７６】
ステップ９１でコミュニティリストを表示後、ユーザからコミュニティ終了イベントを受けた場合（ステップ９５でyes）、コミュニティリスト表示画面をクローズしてコミュニティ参加処理を終了する。
【００７７】
ステップ６１にて読み込んだIDタグに関する情報が自端末に存在しない場合（ステップ９０でno）、該IDタグのオーナ発見要求コマンド「Discovery」の発行先を参加端末リストから取得し（ステップ９６）、「Discovery」コマンドを発行する（ステップ９７）。
【００７８】
「Discovery_ACK」コマンドを受信した場合（ステップ９８でyes）、該「Discovery_ACK」コマンドに含まれるコミュニティリストを表示する（ステップ９１）。「Discovery」コマンド発行先の各移動端末２から応答がない場合（ステップ９８でno）、新規コミュニティの作成処理を行う（ステップ９９）。
【００７９】
図９は、図８、ステップ９４のコンテンツ取得処理の流れを示す。
【００８０】
表示されているコンテンツリストから、あるコンテンツが選択され、表示要求イベントがあった場合（ステップ１００でyes）、該コンテンツのアドレス情報をコンテンツリストから取得する（ステップ１０１）。
【００８１】
アドレス情報が複数ある場合（ステップ１０２でyes）、通信状況リストより通信状態の良い移動端末２あるいは中継端末３を選択し（ステップ１０３）、コンテンツ取得要求コマンド「CGET_REQ」を発行する（ステップ１０４）。
【００８２】
相手端末２あるいは中継端末３から「CGET_ACK」コマンドを受信した場合（ステップ１０５でyes）、該コマンドに含まれるコンテンツを表示する（ステップ１０６）。
【００８３】
ユーザから表示されているコンテンツに対する応答あるいは新規コンテンツの生成イベントがあった場合（ステップ１０７でyes）、ステップ７９のコンテンツ生成処理を行う。
【００８４】
「CGET_REQ」コマンドに対する応答がなくタイムアウトした場合（ステップ１０８でyes）、該コンテンツを有する他の移動端末２への「CGET_REQ」コマンド発行処理を行う。
【００８５】
該コンテンツを有する他の移動端末２がない場合（ステップ１０２でno）、ユーザに対してコンテンツ取得できない旨を表示し、ユーザからのイベントを待つ（ステップ１０９）。
【００８６】
ステップ１００、１０７でnoの場合、または、ステップ１０９の後，図８のステップ９４の処理を終了する。
【００８７】
図１０に、図６、ステップ６７のDiscovery着信処理の流れを示す
図１０において、受信した「Discovery」コマンドに含まれるIDタグの値から自端末がオーナであるIDタグ管理リストを検索する（ステップ１２０）。
【００８８】
該当IDタグの情報が存在する場合（ステップ１２１でyes）、該IDタグのコミュニティリストを含む「Discovery_ACK」コマンドを生成し、要求元の移動端末２へ返送し、要求元の情報（識別子およびアドレス）をIDタグ管理リストへ追加する（ステップ１２２）。
【００８９】
自端末が該IDタグのオーナではないが（ステップ１２１でno）、参加端末リストから転送先移動端末２がある場合には（ステップ１２３でyes）、受信した「Discovery」コマンドを転送する（ステップ１２４）。転送先移動端末２がない場合にはそのまま終了する（ステップ１２３でno）。
【００９０】
図１１に、図８、ステップ９９の新規コミュニティ作成処理の流れを示す。
【００９１】
図１１において、移動端末２は、新規IDタグオーナ登録画面を表示する（ステップ１３０）。
【００９２】
ユーザがIDタグ名称を入力した場合（ステップ１３１でyes）、新規コミュニティ登録画面を表示する（ステップ１３２）。
【００９３】
ユーザがコミュニティ情報を入力した場合（ステップ１３３でyes）、新規コミュニティ画面を表示し（ステップ１３４）、ユーザのイベントを待つ。
【００９４】
ユーザが新規コンテンツ生成イベントを要求した場合（ステップ１３５でyes）、ステップ７９のコンテンツ生成処理を行う（ステップ１３６）。
【００９５】
ユーザがコミュニティ情報表示の終了イベントを通知した場合（ステップ１３５でno、ステップ１３６でyes）、新規コミュニティ生成処理を終了する。
【００９６】
ステップ１３２の新規コミュニティ登録画面表示において、ユーザが終了イベントを通知した場合（ステップ１３３でno、ステップ１３７でyes）、新規コミュニティ生成処理を終了する。
【００９７】
ステップ１３１の新規IDタグオーナ登録画面表示において、ユーザがIDタグのオーナにならずに該処理を終了するイベントを通知した場合（ステップ１３１でno、ステップ１３８でyes）、本処理を終了する。
【００９８】
図１２に、図７、ステップ７９のコンテンツ生成処理の流れを示す。
【００９９】
移動端末２は、ユーザから入力したコンテンツの送信要求があった場合（ステップ１４０でyes）、該入力コンテンツを取得し（ステップ１４１）、該コンテンツが属するコミュニティのオーナのアドレス情報をコミュニティリストより取得し（ステップ１４２）、該コミュニティオーナへ、入力コンテンツのタイトルおよびコンテンツの格納場所情報を含む「CPUT_REQ」を送信する（ステップ１４３）。
【０１００】
該コミュニティオーナより「CPUT_ACK」コマンドを受信した場合（ステップ１４４でyes）、自端末がオーナであるコンテンツの管理リストに新コンテンツ情報を追加して更新する（ステップ１４５）。
【０１０１】
コミュニティオーナからの応答がない場合（ステップ１４４でno）、ユーザへ作成コンテンツの登録不可を通知し（ステップ１４６）、ユーザからのイベントを待つ。ユーザから再送要求があった場合（ステップ１４７でyes）、ステップ１４３以降の処理を繰り返す。再送要求がない場合（ステップ１４７でno）やユーザからコンテンツ生成処理の終了イベントを受けた場合（ステップ１４８でyes）は、本処理を終了する。
【０１０２】
図１３に、図７、ステップ７１のコンテンツリスト送信処理の流れを示す。
【０１０３】
移動端末２は「CLIST_REQ」コマンドより送信端末のアドレス情報を取得する（ステップ１５０）。続いて、該コマンドに含まれる要求コンテンツリストを自端末内に格納しているコンテンツ管理リストより取得する（ステップ１５１）。
【０１０４】
コンテンツリストから各コンテンツオーナの通信状況を検査してコンテンツの移動可否を決定するため、検査ループのカウンタiを初期化する（ステップ１５２）。ループカウンタiがコンテンツ数未満である場合（ステップ１５３でyes）、コンテンツリストのi番目のコンテンツオーナの通信状況を通信状況リストより取得する（ステップ１５４）。
【０１０５】
取得したリストを用いてしコンテンツの移動要否を判定する。例えば、コンテンツ要求端末からコンテンツオーナまでのホップ数があらかじめ定めておく閾値以上であったり、コンテンツオーナからの検査応答時間が長かったり、該コンテンツへのアクセス頻度が高い場合等、コンテンツの移動やコピーを行うべきと判定した場合（ステップ１５５でyes）、通信状況管理テーブルから移動あるいはコピー先の移動端末２や中継端末３を決定する（ステップ１５６）。移動もコピーをしないと判定した場合はステップ１６０へ進む。
【０１０６】
コンテンツオーナに対して、移動先の端末のアドレスを含んだ「CMOVE_REQ」を発行し（ステップ１５７）、移動先の端末からの「CMOVE_ACK」コマンド受信を待つ（ステップ１５８）。「CMOVE_ACK」コマンドを受信したら、コンテンツリストを更新し（ステップ１５９）、検査ループカウンタをインクリメントする（ステップ１６０）。
【０１０７】
検査ループカウンタ値がコンテンツ数に達した場合（ステップ１５３でno）、更新処理が終了したコンテンツリストを含む「CLIST_ACK」コマンドを、「CLIST_REQ」コマンド送信端末に返信する（ステップ１６１）。
【０１０８】
図１４に、図７，ステップ７３のコンテンツ送信処理の流れを示す。
【０１０９】
移動端末２あるいは中継端末３は、「CGET_REQ」コマンドに含まれるコンテンツアドレス情報より、自端末に保持する該当コンテンツを取得する（ステップ１７０）。「CGET_REQ」コマンド送信者のアドレス情報を取得し（ステップ１７１）、該アドレスに対して、要求コンテンツを含む「CGET_ACK」コマンドを送信する（ステップ１７２）。
【０１１０】
図１５に、図７，ステップ７５のコンテンツ移動処理の流れを示す。
【０１１１】
移動端末２あるいは中継端末３は、「CMOVE_REQ」コマンドに含まれるコンテンツアドレス情報より、自端末に保持する該当コンテンツを取得する（ステップ１８０）。さらに、「CMOVE_REQ」コマンドに含まれる移動先のアドレス情報を取得し（ステップ１８１）、該アドレスに対して、要求コンテンツを含む「CMOVE」コマンドを送信する（ステップ１８２）。
【０１１２】
図１６に、図７，ステップ７７の移動コンテンツ管理処理の流れを示す。
【０１１３】
移動端末２あるいは中継端末３は、受信した「CMOVE」コマンドに含まれるコンテンツ及びコミュニティオーナのアドレスを取得する（ステップ１９０）。自端末が保持するコンテンツ管理リストへ受信コンテンツを追加格納し（ステップ１９１）、コミュニティオーナに対してコンテンツの格納場所情報を含む「CMOVE_ACK」コマンドを発行する（ステップ１９２）。
【０１１４】
図１７に、図７，ステップ８１の通信モニタ処理の流れを示す。
【０１１５】
移動端末２あるいは中継端末３は、参加端末リストを取得する（ステップ２００）。アドホックネットワークのルーティングテーブルに基づき、参加端末リストに登録している各端末へのホップ数を更新する（ステップ２０１）。
【０１１６】
次に、ルーティングに変更があった端末に対して「Test」パケットを発行して応答時間を計測する（ステップ２０２）。ホップ数や「Test」パケットの応答時間に基づき算出した値が閾値以上であった場合（ステップ２０３）、参加端末リストの順序を入替え、通信状態の良い端末を参加端末リストの上位に位置させる（ステップ２０４）。
【０１１７】
更に、通信状態の良くない端末が、自端末がオーナであるコミュニティのコンテンツオーナになっている場合（ステップ２０５でyes）、該当コンテンツの移動要求コマンド「CMOVE_REQ」を発行する（ステップ２０６）。該コマンドには、コンテンツ移動先の端末のアドレス情報を含む。該当コンテンツの移動先端末より「CMOVE_ACK」コマンドを受信した場合（ステップ２０７でyes）、該当コンテンツの属するコンテンツリストを更新する（ステップ２０８）。
【０１１８】
図１８に、移動端末２および中継端末３が保持する各種テーブルの例を示す。
【０１１９】
２１０はIDタグのコミュニティリスト、２１３はコミュニティの情報を示すテーブル、２１８はコンテンツリストである。２１１はIDタグの値を、２１２はIDタグに付随するコミュニティの識別子と該コミュニティの情報テーブルのアドレスを示す。２１４はIDタグの識別子（２１１と同じ）、２１５は該コミュニティに付随するコンテンツ数を、２１６はコミュニティの最新更新日を、２１７はコンテンツリストの先頭アドレスを示す。２１９はコンテンツの格納されているアドレスを、２２０は該コンテンツへのアクセス頻度を、２２１は該コンテンツのコピー数を、２２２〜２２４は該コンテンツがコピーされている場合のコピー先アドレスを示し、コピー数分列挙する。
【０１２０】
図１９に、参加端末リストの例を示す。
【０１２１】
２３０は参加端末のIDを、２３１は参加端末のアドレスを、２３２は該端末までのホップ数を、２３３は該端末との「Test」パケットの応答時間を示す。
【０１２２】
図２０〜図２２に、各種コマンドのフォーマットの例を示す。コマンドには、「Join_REQ」「Join_ACK」「Leave」「Test」「Test_ACK」「Discovery」「Discovery_ACK」「CPUT_REQ」「CPUT_ACK」「CGET_REQ」「CGET_ACK」「CLIST_REQ」「CLIST_ACK」「CMOVE_REQ」「CMOVE_ACK」「CMOVE」等がある。
【０１２３】
以下、各コマンドを構成する要素別に説明する。
【０１２４】
図２０〜図２２において、各コマンドに共通の、２４０、２４１はぞれぞれ、IP/TCP/UDPなどの通信ヘッダ、コマンド種別を示す。
【０１２５】
「CMOVE_REQ」を除く各コマンドが含む２４２はコマンド送信元の移動端末２あるいは中継端末３の識別子を示す。
【０１２６】
「Join_REQ」「Join_ACK」「Leave」「Test」「Test_ACK」を除くコマンドが含む２４３はIDタグに割り当てられた値を示す。
【０１２７】
「Join_ACK」コマンドが含む２４４、２４５、、はそれぞれ参加端末の識別子とアドレス情報との組を示す。
【０１２８】
「Discovery_ACK」コマンドが含む２４６、２４７、、は、２４３が示すタグIDに付随するコミュニティリスト情報を示し、各リスト情報は、２４８のコミュニティ識別子と２４９のコミュニティ情報リストの先頭のアドレスとを組みとして含む。
【０１２９】
コミュニティ識別子２４８は、図２１、図２２に示す各コマンドにも含まれる。  図２１、図２２に示す各コマンドにおいて、２５０はコンテンツ識別子を示す。
【０１３０】
「CMOVE_REQ」コマンドに含まれる２５１はコンテンツ移動先の端末のアドレス情報を示す。
【０１３１】
「CMOVE_ACK」「CPUT_REQ」「CLIST_ACK」コマンドに含まれる２５２はコンテンツを格納しているエリアのアドレス情報を示す。
【０１３２】
「CLIST_ACK」コマンドに含まれる２５３、、はコンテンツリストの各コンテンツの情報で、２５０のコンテンツ識別子、２５２のコンテンツ格納場所のアドレス、２５４の該コンテンツのコピー数、２５５、２５６、、、のコピー先アドレスとから成る。
【０１３３】
図２２に示す「CGET_ACK」「CMOVE」コマンドにおいて、２６０はコンテンツ情報を示す。
【０１３４】
図２３に、ユーザインタフェースの例として、本実施形態によるシステムをアミューズメントパークでの「宝探しゲーム」に適用した際の画面例を示す。
【０１３５】
図２３において、２７０は「宝探しゲーム」のトップ画面を、２７３は同じIDタグを読み込んだ端末間とのコミュニケーションを取る際に利用する「コミュニケーション」ボタンで、このボタンの押下操作をするとコミュニティリストが表示される。
【０１３６】
２７４は宝探しゲームのヒントを提供するために、宝IDが貼ってある場所付近を撮影したリアルタイム静止画像のコミュニティに飛ぶためのボタン、２７５は見つけた宝IDの一覧を表示画面に飛ぶためのボタン、２７６は発見したIDタグを読み込む際に押下するボタンである。
【０１３７】
２７１は新規コンテンツを作成する際に表示するコンテンツ生成画面の例である。２７７は生成するコンテンツのタイトルを、２７８はコンテンツ作成者の識別子を、２７９は質問の定型文を表示するためのボタンを、２８０は「教える」メッセージ作成の補助用定型文を表示するためのボタンを、２８１は作成するコンテンツを、２８２は作成したコンテンツ２８１の情報をコミュニティオーナへ通知するためのボタンを、２８３は作成したコンテンツ２８１やタイトル２７７等を消去するためのボタンを、２８４は前画面に戻るためのボタンを示す。
【０１３８】
２７２はボタン２７５を押下した際に表示する宝取得状況表示画面であり、２８５はこれまでに取得した宝情報を表示するエリアを、２８６は２７０のトップ画面に戻るためのボタンを、２８７はコミュニケーション表示画面に戻るためのボタンを示す。
【０１３９】
２８８は「宝」を示すカード型のIDタグの一例であり、各移動端末はIDタグ２８８から予め設定されたIDを取得する。
【図面の簡単な説明】
【０１４０】
【図１】実施形態に係るを分散管理するネットワークシステムの全体構成図である。
【図２】移動端末および中継端末の内部構成図の一例である。
【図３】実施形態に係るを分散管理するネットワークシステムをアミューズメントパーク等に適用した場合の利用イメージである。
【図４】本システムの全体の流れの一例である。
【図５】ユーザイベントをトリガとした場合の全体の流れの一例である。
【図６】移動端末および中継端末の処理シーケンスの一例である。
【図７】移動端末および中継端末の処理シーケンスの一例である。
【図８】コミュニティ参加処理のシーケンスの一例である。
【図９】コンテンツ取得処理のシーケンスの一例である。
【図１０】Discovery処理のシーケンスの一例である。
【図１１】新規コミュニティ作成処理のシーケンスの一例である。
【図１２】コンテンツ生成処理のシーケンスの一例である。
【図１３】コンテンツリスト送信処理のシーケンスの一例である。
【図１４】コンテンツ送信処理のシーケンスの一例である。
【図１５】コンテンツ移動処理のシーケンスの一例である。
【図１６】移動コンテンツ管理処理のシーケンスの一例である。
【図１７】通信モニタ処理のシーケンスの一例である。
【図１８】本システムで用いるIDタグのコミュニティリスト、コミュニティ情報テーブル、コンテンツリストの一例である。
【図１９】本システムで用いる参加端末の通信モニタリストの一例である。
【図２０】本システムで用いるコマンドのフォーマットの一例である。
【図２１】本システムで用いるコマンドのフォーマットの一例である。
【図２２】本システムで用いるコマンドのフォーマットの一例である。
【図２３】本システムで用いるユーザインタフェースの一例である。
【符号の説明】
【０１４１】
１：パケット網、２：移動端末、３：中継端末、１７：アドホックルーティング処理部、１８：接続端末管理処理部、１９：コンテンツ転送・取得処理部、２０：コンテンツ管理処理部、２１：通信管理処理部、２２：コミュニティ管理処理部、２３：IDタグリーダインタフェース２３。
【図１】
2006050467.tif 000003
【図２】
2006050467.tif 000004
【図３】
2006050467.tif 000005
【図４】
2006050467.tif 000006
【図５】
2006050467.tif 000007
【図６】
2006050467.tif 000008
【図７】
2006050467.tif 000009
【図８】
2006050467.tif 000010
【図９】
2006050467.tif 000011
【図１０】
2006050467.tif 000012
【図１１】
2006050467.tif 000013
【図１２】
2006050467.tif 000014
【図１３】
2006050467.tif 000015
【図１４】
2006050467.tif 000016
【図１５】
2006050467.tif 000017
【図１６】
2006050467.tif 000018
【図１７】
2006050467.tif 000019
【図１８】
2006050467.tif 000020
【図１９】
2006050467.tif 000021
【図２０】
2006050467.tif 000022
【図２１】
2006050467.tif 000023
【図２２】
2006050467.tif 000024
【図２３】
2006050467.tif 000025