(57)【特許請求の範囲】
【請求項１】
通信先と共有する第１の情報を記憶する情報記憶部と、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する制御部と、
を有する情報処理装置。
【請求項２】
通信先と共有する第１の情報を記憶する情報記憶部と、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する制御部と、
を有する情報処理装置。
【請求項３】
前記制御部は、前記通信先の最新化が遅れる遅れ時間と前記第１の頻度及び前記第２の頻度に基づいて予想される次の予想更新時間とを利用して前記遅れ時間の積分値を前記第１の情報毎に算出し、算出した前記積分値を最小化するように前記第１の情報を選択し、選択した前記第１の情報を前記貢献度が最も高いと判断して前記送信を実行する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御部は、さらに、前記通信状態と前記第１の情報の情報量を利用して前記積分値を前記第１の情報毎に算出する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、さらに、前記遅れ時間の遅れを許容する許容遅れ時間を利用して前記積分値を前記第１の情報毎に算出する、
ことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
互いに通信する複数の情報処理装置を含む情報処理システムであって、
前記情報処理装置の各々は、
通信先と共有する第１の情報を記憶する情報記憶部と、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する制御部と、
を有する情報処理システム。
【請求項７】
互いに通信する複数の情報処理装置を含む情報処理システムであって、
前記情報処理装置の各々は、
通信先と共有する第１の情報を記憶する情報記憶部と、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する制御部と、
を有する情報処理システム。
【請求項８】
通信先と共有する第１の情報を情報記憶部に記憶させ、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、
処理をコンピュータに実行させるための情報処理プログラム。
【請求項９】
通信先と共有する第１の情報を情報記憶部に記憶させ、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、
処理をコンピュータに実行させるための情報処理プログラム。
【請求項１０】
通信先と共有する第１の情報を情報記憶部に記憶させ、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、
処理をコンピュータが実行する情報処理方法。
【請求項１１】
通信先と共有する第１の情報を情報記憶部に記憶させ、
前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、
前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、
処理をコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理装置、情報処理システム、情報処理プログラム、及び情報処理方法に関する。
【背景技術】
【０００２】
複数の端末装置（以下、情報処理装置という）がアクセスポイントを介して相互に無線通信し、連携して動作する技術が知られている（例えば特許文献１参照）。特許文献１は連携した動作の一例として２台のタブレット端末がコンテンツを共有して表示することを開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８４８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、無線通信環境内では情報処理装置は自由に移動することができるため、情報処理装置間の通信状態は刻々と変化し、安定した通信状態が維持されにくい。また、無線通信環境に属する情報処理装置が増加し、リアルタイムの情報共有が活発になると、通信帯域を超える通信により通信が破綻するおそれがある。
【０００５】
そこで、１つの側面では、通信先と共有する情報の送信量を通信先との通信状態に応じて調整できる情報処理装置、情報処理システム、情報処理プログラム、及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書に開示の情報処理装置は、通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する制御部と、を有する情報処理装置である。
本明細書に開示の情報処理装置は、通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する制御部と、を有する情報処理装置である。
【０００７】
本明細書に開示の情報処理システムは、互いに通信する複数の情報処理装置を含む情報処理システムであって、前記情報処理装置の各々は、通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する制御部と、を有する情報処理システムである。
本明細書に開示の情報処理システムは、互いに通信する複数の情報処理装置を含む情報処理システムであって、前記情報処理装置の各々は、通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する制御部と、を有する情報処理システムである。
【０００８】
本明細書に開示の情報処理プログラムは、通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、処理をコンピュータに実行させるための情報処理プログラムである。
本明細書に開示の情報処理プログラムは、通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、処理をコンピュータに実行させるための情報処理プログラムである。
【０００９】
本明細書に開示の情報処理方法は、通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、処理をコンピュータが実行する情報処理方法である。
本明細書に開示の情報処理方法は、通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御し、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、処理をコンピュータが実行する情報処理方法である。
【発明の効果】
【００１０】
本明細書に開示の情報処理装置、情報処理システム、情報処理プログラム、及び情報処理方法によれば、通信先と共有する情報の送信量を通信先との通信状態に応じて調整することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は情報処理システムの一例を説明するための図である。
【図２】図２はノードのハードウェア構成の一例である。
【図３】図３はノードのブロック図の一例である。
【図４】図４は情報記憶部の一例である。
【図５】図５は更新頻度記憶部の一例である。
【図６】図６は未送信リスト記憶部の一例である。
【図７】図７は送信中リスト記憶部の一例である。
【図８】図８は共有情報の更新処理の一例を示すフローチャートである。
【図９】図９は共有情報の更新処理の他の一例を示すフローチャートである。
【図１０】図１０は通信部の処理の一例を示すフローチャートである。
【図１１】図１１は同期制御部による送信管理処理の一例を示すフローチャートである。
【図１２】図１２は同期制御部による送信制御処理の一例を示すフローチャートである。
【図１３】図１３は貢献度に応じた共有情報の送信制御の一例を説明するための図である。
【図１４】図１４は貢献度の判断に利用する積分値の算出手法の一例である。
【図１５】図１５は貢献度の判断に利用する積分値の算出手法の他の一例である。
【図１６】図１６は貢献度の判断に利用する積分値の算出手法の他の一例である。
【図１７】図１７は貢献度の判断に利用する積分値の算出手法の他の一例である。
【図１８】図１８は貢献度の判断に利用する積分値の算出手法の他の一例である。
【発明を実施するための形態】
【００１２】
以下、本件を実施するための形態について図面を参照して説明する。
【００１３】
図１は情報処理システムＳの一例を説明するための図である。情報処理システムＳはEventual Consistency（結果整合性）を実現するコンピュータシステムである。情報処理システムＳは複数のノード１００，２００，３００，４００をそれぞれ情報処理装置として含んでいる。ノード１００，２００，３００，４００は無線基地局（例えばアクセスポイント）ＡＰを含む通信ネットワークＮＷを介して互いに接続されている。図１に示すように、通信ネットワークＮＷは有線ネットワークＮＷ１及び無線ネットワークＮＷ２を含んでいる。このため、ノード１００，２００，３００，４００は互いに無線や有線を利用して通信する。尚、ノード１００，２００，３００間では無線基地局ＡＰを介さないアドホックネットワークが利用されていてもよい。
【００１４】
ここで、ノード１００，２００，３００，４００としては例えば端末装置やスマートデバイスなどがある。端末装置としては、例えば携帯型（モバイルタイプ）のPersonal Computer（ＰＣ）や据置型（デスクトップタイプ）のＰＣなどがある。スマートデバイスとしては、例えばスマートフォン、スマートウォッチ、タブレット端末、ウェアラブルコンピュータなどがある。尚、ノード１００，２００，３００，４００は端末装置やスマートデバイスに限定されず、通信機能を備えていれば、例えばスマートテレビ、電子レンジ、ヘルスケア用品といった家庭用の電気機器のほか、デジタルカメラや携帯ゲーム機などであってもよい。ノード１００，２００，３００，４００は同じ識別情報を含む情報を互いに送信し合うことによって情報を共有する。以下、当該情報を共有情報と呼ぶ。
【００１５】
次に、図２を参照して、ノード１００のハードウェア構成について説明する。尚、上述したノード２００，３００，４００については基本的にノード１００と同様のハードウェア構成であるため説明を省略する。
【００１６】
図２はノード１００のハードウェア構成の一例である。図２に示すように、ノード１００は、少なくともCentral Processing Unit（ＣＰＵ）１００Ａ、Random Access Memory（ＲＡＭ）１００Ｂ、Read Only Memory（ＲＯＭ）１００Ｃ、ネットワークＩ／Ｆ（インタフェース）１００Ｄ、及び通信回路１００Ｋを含んでいる。通信回路１００Ｋにはアンテナ１００Ｋ´が接続されている。通信回路１００Ｋに代えて通信機能を実現するＣＰＵが利用されてもよい。ノード１００は、通信回路１００Ｋ及びアンテナ１００Ｋ´を介してノード２００，３００と接続される。
【００１７】
また、ノード１００は、入力部１００Ｆ及び表示部１００Ｇも含んでいる。入力部１００Ｆとしては、例えばキーボード、ポインティングデバイス、タッチパネルなどがある。表示部１００Ｇとしては、例えば液晶ディスプレイがある。さらに、ノード１００は、必要に応じて、Hard Disk Drive（ＨＤＤ）１００Ｅ、入出力Ｉ／Ｆ１００Ｈ、ドライブ装置１００Ｉの少なくとも１つを含んでいてもよい。ＣＰＵ１００Ａ、・・・、ドライブ装置１００Ｉ及び通信回路１００Ｋは、内部バス１００Ｊによって互いに接続されている。少なくともＣＰＵ１００ＡとＲＡＭ１００Ｂとが協働することによってコンピュータが実現される。
【００１８】
入出力Ｉ／Ｆ１００Ｈには、半導体メモリ７３０が接続される。半導体メモリ７３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ１００Ｈは、半導体メモリ７３０に記憶されたプログラムやデータを読み取る。入出力Ｉ／Ｆ１００Ｈは、例えばＵＳＢポートを備えている。
【００１９】
ドライブ装置１００Ｉには、可搬型記録媒体７４０が挿入される。可搬型記録媒体７４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置１００Ｉは、可搬型記録媒体７４０に記録されたプログラムやデータを読み込む。
ネットワークＩ／Ｆ１００Ｄは、例えばLocal Area Network（ＬＡＮ）ポートを備えている。
【００２０】
上述したＲＡＭ１００Ｂには、ＨＤＤ１００Ｅに記憶されたプログラムがＣＰＵ１００Ａによって格納される。ＲＡＭ１００Ｂには、可搬型記録媒体７４０に記録されたプログラムがＣＰＵ１００Ａによって格納される。格納されたプログラムをＣＰＵ１００Ａが実行することにより、後述する各種の機能が実現され、また、後述する各種の動作が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００２１】
次に、図３乃至図７を参照して、ノード１００の機能について説明する。尚、上述したノード２００，３００，４００については基本的にノード１００と同様の機能であるため説明を省略する。
【００２２】
図３はノード１００のブロック図の一例である。図４は情報記憶部１１０の一例である。図５は更新頻度記憶部１３１の一例である。図６は未送信リスト記憶部１５１の一例である。図７は送信中リスト記憶部１５２の一例である。図３に示すように、ノード１００は情報記憶部１１０、情報処理部１２０、管理部１３０、通信部１４０、及び制御部１５０を含んでいる。
【００２３】
情報記憶部１１０は、ノード１００の通信先であるノード２００，３００，４００と共有する共有情報を記憶する。より詳しくは、図４に示すように、情報記憶部１１０は共有情報テーブルＴ１により各共有情報を管理する。各共有情報はそれぞれ少なくともキー（Ｋｅｙ）とバリュー（Ｖａｌｕｅ：値）と論理時刻（又は論理クロック）を構成要素として含んでいる。キーは共有情報を識別する識別情報である。図４に示すように、共有情報にその共有情報の説明を含めてもよいし、含めなくてもよい。図４において共有情報はキー・バリュー型で示されているが、必ずしもキー・バリュー型に限定されない。
【００２４】
論理時刻はノード１００，２００，３００，４００間の処理の順序関係を表すために使用される。例えば、ノード１００が共有情報を送信する場合、ノード１００は送信時点の論理時刻を共有情報に含めて送信し、ノード２００，３００，４００は共有情報に含まれる論理時刻に所定値（例えば値「１」）を加算した値を新たな論理時刻として算出する。したがって、論理時刻は一方向に進み、逆方向に戻らない。
【００２５】
情報記憶部１１０が記憶する共有情報は情報処理部１２０によって追加されたり書き換えられたりする。情報処理部１２０は例えばアプリケーションプログラムによって実現される。例えば情報処理部１２０はＣＰＵ１００Ａ（図２参照）の温度を検知する温度センサーから温度を表すセンシング情報を定期的に取得する。情報処理部１２０は、センシング情報の取得が１度目であると判断すると、キーを生成して取得したセンシング情報をバリューとして論理時刻とともに情報記憶部１１０に追加する。情報処理部１２０は、センシング情報の取得が２度目以降であると判断すると、そのキーを含む共有情報のバリューを取得したセンシング情報により書き換える。すなわち、情報処理部１２０は共有情報（より詳しくはバリュー）を定期的に更新する。尚、詳細は後述するが、共有情報はノード２００，３００，４００から送信された共有情報によっても更新される。
【００２６】
管理部１３０は、図３に示すように、更新頻度記憶部１３１と更新頻度管理部１３２を含んでいる。更新頻度記憶部１３１は共有情報の更新頻度に関する更新頻度情報を記憶する。より詳しくは、図５に示すように、更新頻度記憶部１３１は更新頻度情報テーブルＴ２により各更新頻度情報を管理する。各更新頻度情報はそれぞれキー、タイプ、自ノードの更新頻度、他ノードの更新頻度、許容遅れ時間を構成要素として含んでいる。キーは上述したように共有情報を識別する識別情報である。タイプはキーの型を表している。例えばタイプ「String」は文字列を表し、タイプ「Byte[]」はバイト配列を表している。本実施形態において、自ノードはノード１００を表し、他ノードはノード２００，３００，４００を表している。
【００２７】
自ノードの更新頻度は情報記憶部１１０に記憶された各共有情報（より詳しくはバリュー）が情報処理部１２０によって更新された頻度を表している。他ノードの更新頻度はノード２００，３００，４００から送信された共有情報によって情報記憶部１１０に記憶された共有情報が更新された頻度を表している。更新頻度はいずれも１秒あたりの更新回数である。
【００２８】
例えば更新頻度「０．３」は１秒間に０．３回、すなわち、３〜４秒に１回の割合でその共有情報が更新されていることを表している。すなわち、図５において、キー「ａａａ．ｂｂｂ.Ｏ」の共有情報は３〜４秒に１回の割合で情報処理部１２０によって更新されており、他ノード２００，３００，４００から送信された共有情報によって更新されていないことを表している。
【００２９】
例えば更新頻度「０．２」は１秒間に０．２回、すなわち、５秒に１回の割合でその共有情報が更新されていることを表している。すなわち、図５において、キー「ａａａ．ｂｂｂ.Ａ」の共有情報は他ノード２００，３００，４００のいずれかから送信された共有情報によって５秒に１回の割合で更新されており、情報処理部１２０によって更新されていないことを表している。
【００３０】
許容遅れ時間は通信ネットワークＮＷの運用ルールを定める静的ポリシの一種であって本実施形態では遅れ時間の許容限度を表している。遅れ時間はノード１００の通信先であるノード２００，３００，４００が記憶する共有情報の最新化が遅れる時間である。したがって、許容遅れ時間はどの程度の時間まで最新化が遅れてもよいかを判断するための時間である。許容遅れ時間は通信ネットワークＮＷの運用ルールに基づいて共有情報毎に設定することができる。
【００３１】
更新頻度管理部１３２は上述した自ノードの更新頻度と他ノードの更新頻度を管理する。より詳しくは、更新頻度管理部１３２は情報記憶部１１０に記憶された共有情報が更新されると、共有情報の更新を検出してその共有情報の更新頻度を算出する。更新頻度管理部１３２は算出した更新頻度を利用して該当する共有情報の自ノードの更新頻度又は他ノードの更新頻度を更新する。
【００３２】
通信部１４０は共有情報を送信したり、ノード２００，３００，４００から送信された共有情報を受信したりする。通信部１４０は後述する同期制御部１５４から送信された共有情報の送信を終えると、送信完了通知を発行し、同期制御部１５４に送信する。
【００３３】
制御部１５０は自ノードの更新頻度と他ノードの更新頻度と通信先との通信状態に基づいて、共有情報の通信先への送信を制御する。通信状態には安定した通信状態と不安定な通信情報が含まれる。制御部１５０は未送信リスト記憶部１５１、送信中リスト記憶部１５２、通信状態管理部１５３、及び同期制御部１５４を含んでいる。
【００３４】
未送信リスト記憶部１５１は送信開始前の共有情報を含む未送信情報を記憶する。より詳しくは、図６に示すように、未送信リスト記憶部１５１は未送信テーブルＴ３により各未送信情報を一覧にして管理する。各未送信情報はそれぞれキー、バリュー、更新時刻、更新論理時刻、情報量を構成要素として含んでいる。キー及びバリューについては既に説明しているため省略する。更新時刻はバリューが更新された実時刻でありＨＨＭＭＳＳＦＦＦ形式で登録される。更新論理時刻はバリューが更新された論理時刻である。情報量はバリューの量をビット単位で表している。情報量はバリューに基づいて同期制御部１５４によって算出される。更新時刻、更新論理時刻及び情報量は同期制御部１５４によって未送信情報に登録される。
【００３５】
送信中リスト記憶部１５２は送信を開始する共有情報又は送信中の状態にある共有情報を含む送信情報を記憶する。より詳しくは、図７に示すように、送信中リスト記憶部１５２は送信情報テーブルＴ４により各送信情報を管理する。送信情報の構成要素は上述した未送信情報の構成要素と同じであるため、説明を省略する。
【００３６】
通信状態管理部１５３は通信先との通信状態を通信対象毎に定期的又は非定期的に管理する。より詳しくは、通信状態管理部１５３は通信部１４０にアクセスして通信状態を取得する。通信状態管理部１５３は取得した通信状態を同期制御部１５４に出力する。尚、通信状態としては例えば通信スループット（ビット／秒）がある。
【００３７】
同期制御部１５４は自ノードであるノード１００と他ノードであるノード２００，３００，４００との同期を制御する。より詳しくは、同期制御部１５４は更新頻度記憶部１３１から自ノードの更新頻度と他ノードの更新頻度を取得する。また、同期制御部１５４は未送信リスト記憶部１５１から未送信情報を取得する。同期制御部１５４は取得した自ノード及び他ノードの各更新頻度、未送信情報に含まれる更新時刻又は更新論理時刻、及び通信状態管理部１５３から出力された通信状態に基づいて、共有情報の通信先への送信を制御する。同期制御部１５４はさらに未送信情報に含まれる情報量を利用して共有情報の通信先への送信を制御してもよい。同期制御部１５４はさらに更新頻度記憶部１３１から許容遅れ時間を取得し、取得した許容遅れ時間を利用して共有情報の通信先への送信を制御してもよい。
【００３８】
例えば、複数の共有情報が更新された場合、同期制御部１５４はこれらの共有情報を複製した共有情報を送信対象として情報記憶部１１０から取得し、取得した共有情報を含む未送信情報を生成して未送信リスト記憶部１５１に格納する。同期制御部１５４は送信中リスト記憶部１５２に共有情報を含む送信情報を格納できる空き容量がある場合、共有情報が通信先の共有情報の最新化に貢献する度合いを表す貢献度を共有情報毎に算出する。
【００３９】
同期制御部１５４は算出した貢献度が高い順から共有情報を未送信リスト記憶部１５１から送信中リスト記憶部１５２に移動させる。より詳しくは、同期制御部１５４は共有情報を含む送信情報を生成して送信中リスト記憶部１５２に格納するとともに、その共有情報を含む未送信情報を未送信リスト記憶部１５１から削除する。これにより、実質的に共有情報が未送信リスト記憶部１５１から送信中リスト記憶部１５２に移動する。同期制御部１５４は送信情報テーブルＴ４に管理された送信情報の順番に従って通信部１４０に共有情報を送信する。通信部１４０は共有情報を受信すると、送信先に向けて共有情報を送信する。
【００４０】
また、同期制御部１５４は、通信先との通信状態が所定の通信状態より安定しない場合（すなわち不安定な場合）、貢献度が所定値未満になる共有情報の送信を抑制する。具体的には、同期制御部１５４は共有情報の送信中リスト記憶部１５２への移動を中止する。その他、詳細は後述するが、同期制御部１５４は共有情報を送信中リスト記憶部１５２から未送信リスト記憶部１５１に戻すことによって共有情報の送信を抑制する。
【００４１】
続いて、図８乃至図１３を参照して、ノード１００の動作について説明する。尚、ノード２００，３００，４００もノード１００の動作と同様であるため、説明を省略する。
【００４２】
図８は共有情報の更新処理の一例を示すフローチャートである。より詳しくは、図８は情報処理部１２０が共有情報を更新した際に実行される処理を表している。
【００４３】
まず、図８に示すように、情報処理部１２０は共有情報の更新が発生するまで待機を続け（ステップＳ１０１：ＮＯ）、共有情報の更新が発生すると（ステップＳ１０１：ＹＥＳ）、情報記憶部１１０を更新する（ステップＳ１０２）。例えば情報処理部１２０はセンシング情報を取得すると、該当するキーのバリュー及び論理時刻を更新する。
【００４４】
ステップＳ１０２の処理が完了すると、次いで、更新頻度管理部１３２は更新頻度記憶部１３１を更新する（ステップＳ１０３）。例えば情報記憶部１１０が更新されると、更新頻度管理部１３２は情報記憶部１１０の更新を検出し、更新頻度記憶部１３１を更新する。具体的には更新頻度管理部１３２は自ノードの更新頻度を更新する。
【００４５】
ステップＳ１０３の処理が完了すると、次いで、同期制御部１５４は未送信リスト記憶部１５１を更新する（ステップＳ１０４）。例えば更新されたバリューと関連付けられたキーと同じキーを含む未送信情報が未送信リスト記憶部１５１に存在していれば、同期制御部１５４はそのキーのバリュー、更新時刻、更新論理時刻、及び情報量を差し替える。逆に、更新されたバリューと関連付けられたキーと同じキーが未送信リスト記憶部１５１に存在していなければ、同期制御部１５４はそのキー、バリュー、更新論理時刻、更新時刻及び情報量を未送信情報として追加する。ステップＳ１０４の処理が完了すると、ステップＳ１０１の処理に戻る。このように、共有情報の更新が発生すると、共有情報、更新頻度情報、及び未送信情報が更新される。
【００４６】
図９は共有情報の更新処理の他の一例を示すフローチャートである。より詳しくは、図９は同期制御部１５４が共有情報を受信した際に実行される処理を表している。図９に示すように、同期制御部１５４は更新された共有情報を受信するまで待機を続ける（ステップＳ２０１：ＮＯ）。より詳しくは、ノード２００，３００，４００のいずれかから送信された共有情報を通信部１４０が受信すると、通信部１４０は受信した共有情報を同期制御部１５４に送信する。
【００４７】
同期制御部１５４は更新された共有情報を受信すると（ステップＳ２０１：ＹＥＳ）、情報記憶部１１０を確認し（ステップＳ２０２）、受信した共有情報に含まれるキーと同じキーを有する共有情報の論理時刻を比較する（ステップＳ２０３）。同期制御部１５４は比較した結果、論理時刻が新しくないと判断すると（ステップＳ２０４：ＮＯ）、ステップＳ２０１の処理に戻る。したがって、後述する各種の更新は実行されない。一方、同期制御部１５４は比較した結果、論理時刻が新しいと判断すると（ステップＳ２０４：ＹＥＳ）、情報記憶部１１０を更新する（ステップＳ２０５）。例えば同期制御部１５４は受信した共有情報に含まれるキーと同じキーを有する共有情報のバリューを、受信した共有情報に含まれるバリューに更新する。
【００４８】
ステップＳ２０５の処理が完了すると、次いで、更新頻度管理部１３２は更新頻度記憶部１３１を更新する（ステップＳ２０６）。上述したように、情報記憶部１１０が更新されると、更新頻度管理部１３２は情報記憶部１１０の更新を検出し、更新頻度記憶部１３１を更新する。具体的には更新頻度管理部１３２は他ノードの更新頻度を更新する。
【００４９】
ステップＳ２０６の処理が完了すると、次いで、同期制御部１５４は未送信リスト記憶部１５１を更新する（ステップＳ２０７）。例えば更新されたバリューと関連付けられたキーと同じキーが未送信リスト記憶部１５１に存在していれば、同期制御部１５４はそのキーを含む未送信情報を削除する。逆に、更新されたバリューと関連付けられたキーと同じキーが未送信リスト記憶部１５１に存在していなければ、同期制御部１５４はそのキー、バリュー、更新論理時刻、更新時刻及び情報量を未送信情報として追加する。ステップＳ２０７の処理が完了すると、ステップＳ２０１の処理に戻る。このように、受信した共有情報が自身が管理する共有情報より新しいと、共有情報、更新頻度情報、及び未送信情報が更新される。
【００５０】
次に、図１０を参照して、通信部１４０の動作について説明する。
【００５１】
図１０は通信部１４０の処理の一例を示すフローチャートである。通信部１４０は共有情報を受信するまで待機を続け（ステップＳ３０１：ＮＯ）、共有情報を受信すると（ステップＳ３０１：ＹＥＳ）、共有情報を送信する（ステップＳ３０２）。より詳しくは、通信部１４０は同期制御部１５４から送信された共有情報を受信すると、受信した共有情報をノード２００，３００，４００に向けて送信する。逆に、通信部１４０はノード２００，３００，４００から送信された共有情報を受信すると、受信した共有情報を同期制御部１５４に向けて送信する。
【００５２】
ここで、ステップＳ３０２の処理が完了すると、通信部１４０は同期制御部１５４から共有情報を受信したか否かを判断する（ステップＳ３０３）。同期制御部１５４から共有情報を受信した場合（ステップＳ３０３：ＹＥＳ）、通信部１４０は送信完了通知を発行し（ステップＳ３０４）、送信完了通知を同期制御部１５４に送信する（ステップＳ３０５）。送信完了通知は送信の成功又は送信の失敗のいずれかを含んでいる。ステップＳ３０５の処理が完了すると、ステップＳ３０１の処理に戻る。一方、ノード４００から共有情報を受信した場合（ステップＳ３０３：ＮＯ）、ステップＳ３０４及びＳ３０５の処理をスキップし、ステップＳ３０１の処理に戻る。
【００５３】
次に、図１１を参照して、同期制御部１５４が実行する送信管理処理の一例について説明する。
【００５４】
図１１は同期制御部１５４による送信管理処理の一例を示すフローチャートである。まず、同期制御部１５４は送信完了通知を受信するまで待機を続ける（ステップＳ４０１：ＮＯ）。同期制御部１５４は送信完了通知を受信すると（ステップＳ４０１：ＹＥＳ）、次いで、送信が成功したか否かを判断する（ステップＳ４０２）。ここで、上述したように送信完了通知は送信の成功又は失敗のいずれかを含んでいる。送信の失敗は例えば通信状態が不安定であるために通信中に通信が途切れた場合などが該当する。
【００５５】
同期制御部１５４は送信完了通知に基づいて送信が失敗したと判断すると（ステップＳ４０２：ＮＯ）、送信が失敗した該当の共有情報が最新であるかを確認する（ステップＳ４０３）。具体的には、同期制御部１５４は情報記憶部１１０にアクセスし、該当の共有情報の論理時刻とその共有情報と同じキーを有する情報記憶部１１０の共有情報の論理時刻を比較し、該当の共有情報が最新であるかを確認する。
【００５６】
同期制御部１５４は該当の共有情報が最新であると判断すると（ステップＳ４０４：ＹＥＳ）、送信中リスト記憶部１５２から未送信リスト記憶部１５１に該当の共有情報を移動する（ステップＳ４０５）。したがって、当該共有情報は貢献度の算出対象になる。ステップＳ４０５の処理が完了すると、ステップＳ４０１の処理に戻る。
【００５７】
一方、同期制御部１５４は送信完了通知に基づいて送信が成功したと判断した場合（ステップＳ４０２：ＹＥＳ）、又は、該当の共有情報が最新でないと判断すると（ステップＳ４０４：ＮＯ）、送信中リスト記憶部１５２から該当の共有情報を削除する（ステップＳ４０６）。より詳しくは、同期制御部１５４は送信中リスト記憶部１５２から該当の共有情報を含む送信情報を削除する。すなわち、送信が成功していればその送信情報を管理する必要がなくなるため、同期制御部１５４は送信情報を削除する。また、共有情報が最新でない場合、その送信情報を送信してもノード２００，３００，４００の最新化に貢献しないため同期制御部１５４は送信情報を削除する。ステップＳ４０６の処理が完了すると、ステップＳ４０１の処理に戻る。
【００５８】
次に、図１２及び図１３を参照して、同期制御部１５４が実行する送信制御処理の一例について説明する。
【００５９】
図１２は同期制御部１５４による送信制御処理の一例を示すフローチャートである。図１３は貢献度に応じた共有情報の送信制御の一例を説明するための図である。尚、同期制御部１５４は図１１に示す送信管理処理と図１２に示す送信制御処理を並行して実行する。また、図１３では未送信情報及び送信情報の一部である更新時刻、更新論理時刻、及び情報量が省略されて示されている。
【００６０】
まず、図１２に示すように、同期制御部１５４は送信中リスト記憶部１５２に空きがあるか判断し（ステップＳ５０１）、空きがなければ空きができるまで待機する（ステップＳ５０１：ＮＯ）。すなわち、同期制御部１５４は送信情報を格納可能な容量ができるまで送信情報の格納を待機する。
【００６１】
同期制御部１５４は送信中リスト記憶部１５２に空きがあると判断すると（ステップＳ５０１：ＹＥＳ）、次いで、未送信リスト記憶部１５１を確認する（ステップＳ５０２）。同期制御部１５４は共有情報が存在していなければ（ステップＳ５０３：ＮＯ）、ステップＳ５０２に戻り、未送信リスト記憶部１５１を確認する。すなわち、共有情報が更新され、その共有情報を複製した共有情報を含む未送信情報が未送信リスト記憶部１５１に格納されるまで同期制御部１５４は未送信リスト記憶部１５１を確認する。
【００６２】
同期制御部１５４は未送信リスト記憶部１５１に共有情報が存在すると判断すると（ステップＳ５０３：ＹＥＳ）、貢献度を算出する（ステップＳ５０４）。より詳しくは、図１３（ａ）に示すように、未送信リスト記憶部１５１に複数の未送信情報が存在する場合、同期制御部１５４は未送信情報に含まれる共有情報が送信されると、その共有情報が送信先の共有情報の最新化にどの程度貢献するかを判断する。尚、貢献度の具体的な算出手法については後述する。
【００６３】
同期制御部１５４は貢献度を算出すると、次いで、貢献度が高い共有情報を選択し（ステップＳ５０５）、選択した共有情報を未送信リスト記憶部１５１から送信中リスト記憶部１５２に移動する（ステップＳ５０６）。より詳しくは、図１３（ｂ）に示すように、同期制御部１５４は所定値以上の貢献度となった共有情報を含む送信情報を生成して送信中リスト記憶部１５２に格納し、その共有情報を含む未送信情報を未送信リスト記憶部１５１から削除する。送信中リスト記憶部１５２に送信情報が格納されるため、その送信情報に含まれる共有情報は送信される。すなわち、図１３（ｂ）において、貢献度が高いと判断されたキー「Ｋ２」及び「Ｋ５」の各共有情報はそれぞれ送信される。ステップＳ５０６の処理が完了すると、再び、ステップＳ５０１の処理に戻る。
【００６４】
次に、図１４から図１８までを参照して、上述した貢献度の算出手法について説明する。
【００６５】
図１４は貢献度の判断に利用する積分値ＩＮＴの算出手法の一例である。まず、図１４に示すように、同期制御部１５４は共有情報の直前の更新発生時刻ｔ２から現在時刻Ｔである最終更新時刻ｔ１までの時間を送信保留による遅れ時間として算出する。ここで、最終更新時刻ｔ１は未送信情報に含まれる更新時刻に相当する。更新発生時刻ｔ２は所定の原因によりその共有情報の送信が保留された場合に記録される時刻である。所定の原因としては例えば通信状態が不安定である場合などがある。すなわち、通信スループットが所定値未満であるために共有情報の送信が途中で途切れる可能性がある通信状態である場合、共有情報の送信は保留され、その時刻が記録される。
【００６６】
一方、次の予想更新時刻ｍｉｎ（１／ａ,１／ｂ）におけるａ，ｂはそれぞれ自ノードの更新頻度（回／秒）及び他ノードの更新頻度（回／秒）を表している。例えば更新頻度ａ，ｂ（回／秒）は、１／ａ，１／ｂ（秒）後に更新が発生すると予想される。すなわち、共有情報が情報処理部１２０によって更新される時刻と共有情報がノード２００，３００，４００から送信された共有情報によって更新される時刻のうち、最初に訪れる方の時刻を同期制御部１５４は現在時刻Ｔを起点とする次の予想更新時刻として決定する。そして、同期制御部１５４は現在時刻Ｔから次の予想更新時刻までの時間を次の予想更新時間として算出する。
【００６７】
尚、更新頻度ａ，ｂの値が大きいほど共有情報は高い頻度で更新される。言い換えれば、更新から次の更新までの時間は短くなり、共有情報の陳腐化が早くなる。陳腐化が速い共有情報は送信してもまたすぐに更新されるため、通信状態が不安定である場合には、同期制御部１５４はこのような共有情報の送信を抑制する。
【００６８】
また、ノード２００，３００，４００から送信された共有情報によって更新される時刻の方が情報処理部１２０によって更新される時刻より先である場合、情報処理部１２０によって更新された共有情報を送信しても、その共有情報によるノード２００，３００，４００への貢献度は低いと考えられる。したがって、通信状態が不安定である場合には、同期制御部１５４はこのような共有情報の送信も抑制する。情報量の大きい共有情報もノード２００，３００，４００が有する共有情報の更新に多大な時間を要するため、通信状態が不安定である場合には、同期制御部１５４は共有情報の送信を抑制する。
【００６９】
すなわち、図１４において、同期制御部１５４は通信先の共有情報の最新化を妨げる要因である遅れに相当する積分値ＩＮＴを共有情報毎に予測し、積分値ＩＮＴを常に最小化するように共有情報を選択して送信する。結果として、積分値ＩＮＴが小さな共有情報は最新化に対する貢献度が低い共有情報であると判断されて選択されなくなる。逆に、積分値ＩＮＴが大きな共有情報は最新化に対する貢献度が高い共有情報であると判断されて選択され、送信される。すなわち、積分値ＩＮＴは最新化に対する貢献度に相当する。ここで、積分値ＩＮＴは台形の面積に準じ以下の算出式により算出される。
ＩＮＴ＝［上底（Ｔ−ｔ２）
＋下底｛ｍｉｎ（１／ａ,１／ｂ）＋（Ｔ−ｔ２）｝］
×高さｍｉｎ（１／ａ,１／ｂ）×０．５
＝｛ｍｉｎ（１／ａ，１／ｂ）×０．５＋（Ｔ−ｔ２）｝
×ｍｉｎ（１／ａ,１／ｂ）
【００７０】
したがって、同期制御部１５４は積分値ＩＮＴを最小化するような共有情報の選択を貢献度が最も高い共有情報の選択であると判断し、選択した共有情報を未送信リスト記憶部１５１から送信中リスト記憶部１５２に移動し送信する。また、送信中リスト記憶部１５２に空きが存在する場合には、次に貢献度が高い共有情報を未送信リスト記憶部１５１から送信中リスト記憶部１５２に移動し送信する。このような処理を繰り返すことで、同期制御部１５４は貢献度が高い共有情報を順に送信する。結果的に、貢献度が低い共有情報は送信が抑制される。
【００７１】
図１５は貢献度の判断に利用する積分値ＩＮＴの算出手法の他の一例である。図１５では、図１４と対比して次の送信判断時刻ｔ３を利用して積分値ＩＮＴが算出される。例えば、同期制御部１５４は、現在時刻Ｔから時刻ｔ３後に共有情報を再度送信するか否かを判断する場合、次の予想更新時刻ｍｉｎ（１／ａ,１／ｂ）をｍｉｎ（１／ａ,１／ｂ，ｔ３）とすればよい。この場合、積分値ＩＮＴは以下の算出式により算出される。
ＩＮＴ＝｛ｍｉｎ（１／ａ，１／ｂ，ｔ３）×０．５＋（Ｔ−ｔ２）｝
×ｍｉｎ（１／ａ,１／ｂ，ｔ３）
【００７２】
図１６は貢献度の判断に利用する積分値ＩＮＴの算出手法の他の一例である。図１６では、図１５と対比して通信状態ｄと情報量ｅを利用して積分値ＩＮＴが算出される。具体的には、通信状態ｄと情報量ｅに基づく予想通信時間ｅ／ｄが考慮されて積分値ＩＮＴが算出される。この場合、積分値ＩＮＴは以下の算出式により算出される。尚、ｍｉｎ（１／ａ,１／ｂ，ｔ３）−ｅ／ｄの算出結果が負になる場合、ＩＮＴ＝０になる。
ＩＮＴ＝［｛ｍｉｎ（１／ａ，１／ｂ，ｔ３）＋ｅ／ｄ｝×０．５＋（Ｔ−ｔ２）］
×ｍａｘ［｛ｍｉｎ（１／ａ,１／ｂ，ｔ３）−ｅ／ｄ｝，０］
【００７３】
図１７及び図１８は貢献度の判断に利用する積分値ＩＮＴの算出手法の他の一例である。図１７及び図１８では、図１６と対比して許容遅れ時間ｔ４を利用して積分値ＩＮＴが算出される。この場合、許容遅れ時間ｔ４の大きさにより場合分けされて積分値ＩＮＴが算出される。具体的には、許容遅れ時間ｔ４が、図１７に示すように、座標Ｋ１以下である場合と、図１８に示すように、座標Ｋ１より大きく座標Ｋ２より小さい場合と、座標Ｋ２以上である場合の３つの場合に場合分けされる。
【００７４】
まず、許容遅れ時間ｔ４が、図１７に示すように、座標Ｋ１以下である場合、積分値ＩＮＴは以下の算出式により算出される。尚、座標Ｋ１における遅れは（Ｔ−ｔ２）＋ｅ／ｄにより表される。
ＩＮＴ＝［｛ｍｉｎ（１／ａ，１／ｂ，ｔ３）＋ｅ／ｄ｝
×０．５＋（Ｔ−ｔ２）−ｔ４］
×ｍａｘ［｛ｍｉｎ（１／ａ,１／ｂ，ｔ３）−ｅ／ｄ｝，０］
【００７５】
次に、許容遅れ時間ｔ４が、図１８に示すように、座標Ｋ１より大きく座標Ｋ２より小さい場合、積分値ＩＮＴは以下の算出式により算出される。尚、座標Ｋ２における遅れは（Ｔ−ｔ２）＋ｍｉｎ（１／ａ，１／ｂ，ｔ３）により表される。
ＩＮＴ＝［｛ｍｉｎ（１／ａ，１／ｂ，ｔ３）
＋（Ｔ−ｔ２）−ｔ４｝］×０．５］
×｛（Ｔ−ｔ２）＋ｍｉｎ（１／ａ,１／ｂ，ｔ３）−ｔ４｝
【００７６】
最後に、許容遅れ時間ｔ４が、座標Ｋ２以上の場合、面積が形成されないため、積分値ＩＮＴは０と算出される。
【００７７】
以上説明したように、ノード１００は、通信先と共有する共有情報を記憶する情報記憶部１１０と、その共有情報が更新された自ノードの更新頻度及び他ノードの更新頻度を管理する管理部１３０と、自ノード及び他ノードの各更新頻度と通信先との通信状態に基づいて、共有情報の通信先への送信を制御する制御部１５０と、を有する。これにより、通信先と共有する情報の送信量を通信先との通信状態に応じて調整することができる。
【００７８】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、許容遅れ時間ｔ４は予想通信時間ｅ／ｄを利用しない形態に適用してもよい。
【００７９】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御する制御部と、を有する情報処理装置。
（付記２）前記制御部は、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、ことを特徴とする付記１に記載の情報処理装置。
（付記３）前記制御部は、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、ことを特徴とする付記１に記載の情報処理装置。
（付記４）前記制御部は、前記通信先の最新化が遅れる遅れ時間と前記第１の頻度及び前記第２の頻度に基づいて予想される次の予想更新時間とを利用して前記遅れ時間の積分値を前記第１の情報毎に算出し、算出した前記積分値を最小化するように前記第１の情報を選択し、選択した前記第１の情報を前記貢献度が最も高いと判断して前記送信を実行する、ことを特徴とする付記２又は３に記載の情報処理装置。
（付記５）前記制御部は、さらに、前記通信状態と前記第１の情報の情報量を利用して前記積分値を前記第１の情報毎に算出する、ことを特徴とする付記４に記載の情報処理装置。
（付記６）前記制御部は、さらに、前記遅れ時間の遅れを許容する許容遅れ時間を利用して前記積分値を前記第１の情報毎に算出する、ことを特徴とする付記４又は５に記載の情報処理装置。
（付記７）互いに通信する複数の情報処理装置を含む情報処理システムであって、前記情報処理装置の各々は、通信先と共有する第１の情報を記憶する情報記憶部と、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理する管理部と、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御する制御部と、を有する情報処理システム。
（付記８）通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御する、処理をコンピュータに実行させるための情報処理プログラム。
（付記９）前記制御部は、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記貢献度が高い順から複数の前記第１の情報の送信を実行する、ことを特徴とする付記８に記載の情報処理プログラム。
（付記１０）前記制御部は、複数の前記第１の情報が更新された場合に、更新された複数の前記第１の情報が送信される前に前記第１の情報が前記第２の情報の最新化に貢献する度合いを表す貢献度を前記第１の情報毎に算出し、前記通信状態が所定の通信状態より安定しない場合、前記貢献度が所定値未満になる前記第１の情報の送信を抑制する、ことを特徴とする付記８に記載の情報処理プログラム。
（付記１１）前記制御部は、前記通信先の最新化が遅れる遅れ時間と前記第１の頻度及び前記第２の頻度に基づいて予想される次の予想更新時間とを利用して前記遅れ時間の積分値を前記第１の情報毎に算出し、算出した前記積分値を最小化するように前記第１の情報を選択し、選択した前記第１の情報を前記貢献度が最も高いと判断して前記送信を実行する、ことを特徴とする付記９又は１０に記載の情報処理プログラム。
（付記１２）前記制御部は、さらに、前記通信状態と前記第１の情報の情報量を利用して前記積分値を前記第１の情報毎に算出する、ことを特徴とする付記１１に記載の情報処理プログラム。
（付記１３）前記制御部は、さらに、前記遅れ時間の遅れを許容する許容遅れ時間を利用して前記積分値を前記第１の情報毎に算出する、ことを特徴とする付記１１又は１２に記載の情報処理プログラム。
（付記１４）通信先と共有する第１の情報を情報記憶部に記憶させ、前記第１の情報が更新された第１の頻度と前記通信先が記憶する前記第１の情報と少なくとも一部が同じ第２の情報によって前記第１の情報が更新された第２の頻度とを管理し、前記第１の頻度と前記第２の頻度と前記通信先との通信状態に基づいて、前記第１の情報の前記通信先への送信を制御する、処理をコンピュータが実行する情報処理方法。
【符号の説明】
【００８０】
Ｓ  情報処理システム
１００，２００，３００，４００  ノード
１１０  情報記憶部
１２０  情報処理部
１３０  管理部
１４０  通信部
１５０  制御部
【図１】
0006677072.tif 000002
【図２】
0006677072.tif 000003
【図３】
0006677072.tif 000004
【図４】
0006677072.tif 000005
【図５】
0006677072.tif 000006
【図６】
0006677072.tif 000007
【図７】
0006677072.tif 000008
【図８】
0006677072.tif 000009
【図９】
0006677072.tif 000010
【図１０】
0006677072.tif 000011
【図１１】
0006677072.tif 000012
【図１２】
0006677072.tif 000013
【図１３】
0006677072.tif 000014
【図１４】
0006677072.tif 000015
【図１５】
0006677072.tif 000016
【図１６】
0006677072.tif 000017
【図１７】
0006677072.tif 000018
【図１８】
0006677072.tif 000019