(57)【要約】【課題】  端末により生成されたデータがネットワークを使用して集められる場合に、当該データを使用する処理装置が当該データを取得するためにアクセスする、ネットワーク内の中継装置の配置とは無関係に蓄積されていると、処理装置が当該データを取得する際の遅延時間が大きくなる場合がある。【解決手段】  端末によって生成されたデータを蓄積先まで届けるための通信システムであって、前記端末から前記蓄積先へのデータ送信を中継する第１中継装置を有し、前記第１中継装置は、前記第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する。【選択図】  図２
2014229166.tif 000002
【特許請求の範囲】
【請求項１】
端末によって生成されたデータを蓄積先まで届けるための通信システムであって、
前記端末から前記蓄積先へのデータ送信を中継する第１中継装置を有し、
前記第１中継装置は、前記第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する
ことを特徴とする通信システム。
【請求項２】
前記端末から前記蓄積先へのデータ送信うち、前記第１中継装置から前記蓄積先へのデータ送信を中継する第２中継装置を有し、
前記第２中継装置は、前記第２中継装置からデータを取得して使用する第２処理装置によって要求される第２期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信し、
前記第１期間は、前記第２期間よりも短い
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第１中継装置は、前記端末によって生成されたデータを受信すると、受信したデータを、前記第１期間に応じて蓄積し、
前記第２中継装置は、前記第２期間に含まれるデータのうち、前記第２中継装置に蓄積されていないデータの転送を、前記第１中継装置に要求し、
前記第１中継装置は、前記第２中継装置からの要求に応答して、前記第１期間に含まれるデータを前記第２中継装置に移動し、
前記第２中継装置は、前記第１中継装置から移動された、前記第１期間に含まれるデータを、前記第２期間に含まれるデータの一部として蓄積する
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記蓄積先は、前記端末を使用したサービスを提供する事業に供されるデータセンタ内の蓄積装置であり、
前記第１中継装置によって受信された、前記端末によって生成されたデータは、前記第１処理装置が、前記第１期間に含まれるデータを使用して、前記事業に関連する第１業務を処理するために、前記第１処理装置によって前記第１期間毎に要求され、
前記第２中継装置によって受信された、前記端末によって生成されたデータは、前記第２処理装置が、前記第２期間に含まれるデータを使用して、前記事業に関連する第２業務を処理するために、前記第２処理装置によって前記第２期間毎に要求される
ことを特徴とする請求項２又は３に記載の通信システム。
【請求項５】
端末によって生成されたデータを蓄積先まで届けるための通信方法であって、
コンピュータが、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継する場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する
ことを特徴とする通信方法。
【請求項６】
データを生成する端末と、
前記端末を使用した事業のために供される蓄積先と、
前記端末によって生成されたデータを前記蓄積先に届けるためのネットワークにおいて、前記端末から前記蓄積先へのデータ送信を中継する第１中継装置と、
前記第１中継装置から、前記端末によって生成されたデータを取得して、前記事業に関連する業務のために使用する第１処理装置と
を有し、
前記第１中継装置は、前記第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する
ことを特徴とする事業管理システム。
【請求項７】
端末によって生成されたデータを蓄積先まで届けさせるための管理装置であって、
前記端末によって生成されたデータを前記端末から前記蓄積先まで中継させる場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信させる
ことを特徴とする管理装置。
【請求項８】
端末によって生成されたデータを蓄積先まで届けさせるためのプログラムであって、
コンピュータに、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継させる場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信させる
ことを特徴とするプログラム。
【請求項９】
端末によって生成されたデータを蓄積先まで届けるためのネットワークに含まれる中継装置であって、
前記端末によって生成されたデータを前記端末から前記蓄積先まで中継する場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する
ことを特徴とする中継装置。
【請求項１０】
端末によって生成され、蓄積先まで届けられるデータの蓄積位置を管理するデータ位置管理装置であって、
前記端末から前記蓄積先へのデータ送信を中継する第１中継装置に蓄積されているデータの時間範囲を、前記端末によって生成された時間範囲に従って管理する
ことを特徴とするデータ位置管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、事業管理システム、管理装置、プログラム、中継装置、データ位置管理装置に関する。
【背景技術】
【０００２】
センサや機器によってデータが生成され、様々なアプリケーションで利用される。このセンサによって生成されるデータには、例えば、センサにより定期的に測定される温度、湿度、水位、風速、消費電力、及び位置情報等に関するセンシングデータがある。他方、機器によって生成されるデータには、例えば、ＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅ）端末や自動販売機の売り上げデータ、商品が売れた時点の気象条件等の種々の関連データ、機器の動作状態のデータ、及び商品の在庫データに関するデータ等がある。センサや機器によって生成されるデータは、大量且つ多種であり、時間経過とともにデータ量が増加する。そして、センサや機器によって定期的に生成された大量のデータを蓄積するために、ネットワークを介して、例えばデータセンタ等へデータが転送されて蓄積される。データセンタに蓄積されたデータは、当該データを使用する様々なアプリケーションの実行に合わせて、ネットワークを介して、アプリケーションに対応する場所へと転送される。
【０００３】
ところで、ストリームデータを、複数のデータ蓄積装置から固定的に割り当てたデータ蓄積装置に蓄積し、必要に応じて使用する技術が知られている。また、複数の機器から情報を生成する際の通信量を低減させるために、生成された圧縮データをさらに再圧縮する処理を高速化させる技術が知られている。また、コンプライアンス等の観点から、使用頻度の少ないファイルであっても一定期間保存しておかなければならないため、ファイルの使用頻度が少なくなると、高価なハードディスクドライブから安価なハードディスクドライブに移動させる技術が知られている。また、ログファイルの差分を抽出する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９４７７４号公報
【特許文献２】国際公開第２００８／１０５４０６号
【特許文献３】特開２００８−０７１０３５号公報
【特許文献４】特開２０１０−２５７３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
端末により生成されたデータがネットワークを使用して集められる場合に、当該データを使用する処理装置が当該データを取得するためにアクセスする、ネットワーク内の中継装置の配置とは無関係に蓄積されていると、処理装置が当該データを取得する際の遅延時間が大きくなる場合がある。
【０００６】
本願は、端末により生成されたデータがデータセンタまで届けられるシステムにおいて、処理装置が当該データを取得するまでの遅延時間を短くさせる通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示の通信システムは、端末によって生成されたデータを蓄積先まで届けるための通信システムであって、前記端末から前記蓄積先へのデータ送信を中継する第１中継装置を有し、前記第１中継装置は、前記第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信する。
【発明の効果】
【０００８】
本開示の一側面によれば、端末により生成されたデータがデータセンタまで届けられるシステムにおいて、処理装置が当該データを取得するまでの遅延時間を短くできる。
【図面の簡単な説明】
【０００９】
【図１】通信システムの例。
【図２】実施例の事業管理システムの例。
【図３】実施例の中継装置及びデータ位置管理装置のハードウェア構成の例。
【図４】実施例の中継装置の機能ブロックの例。
【図５】実施例のデータ位置管理装置の機能ブロックの例。
【図６】実施例の中継装置を有する通信システムの例。
【図７】アプリケーションにより使用されるデータの例。
【図８】実施例の中継装置によって端末により生成されたデータが蓄積される場合の例。
【図９】実施例の中継装置に蓄積されたデータが要求された場合の例。
【図１０】中継装置に蓄積されたデータを別の中継装置へ移動させる場合の例。
【図１１】実施例の通信システムによる通信の例。
【図１２】中継装置に蓄積されたデータを別の中継装置へ移動させる場合の他の例。
【図１３】実施例の中継装置にデータ生成元端末により生成されたデータが分散して蓄積されている例。
【図１４】実施例の中継装置がデータ転送を他の中継装置に要求する場合の例。
【図１５】実施例の中継装置がデータ転送を他の中継装置に要求する場合の他の例。
【図１６】実施例の通信システムによる通信の他の例。
【図１７】中継装置が他の中継装置にデータをコピーして転送する場合の例。
【図１８】中継装置が他の中継装置にデータをコピーして転送する場合の他の例。
【図１９】中継装置が他の中継装置にデータをコピーして転送した後に、アプリケーションへデータが転送される場合の例。
【図２０】図１９の動作例におけるメッセージシーケンス。
【図２１】実施例に中継装置のデータ転送先が複数の場合の例。
【図２２】実施例に中継装置のデータ転送先が複数の場合の他の例。
【図２３】図２１及び２２の動作例におけるメッセージシーケンス。
【図２４】実施例の中継装置におけるデータの受信時の処理の例。
【図２５】実施例の中継装置におけるデータの移動時の処理の例。
【図２６】実施例の中継装置におけるデータの取得要求時の処理の例。
【図２７】実施例の中継装置におけるデータのコピー送信時の処理の例。
【図２８】実施例の中継装置におけるデータの受信時の処理の他の例。
【図２９】実施例の中継装置におけるアクション処理の例。
【図３０】データ位置管理装置における位置登録の処理の例。
【図３１】データ位置管理装置における位置検索の処理の例。
【発明を実施するための形態】
【００１０】
図１に、通信システムの例が示される。図１に示される通信システムによって、センサ１−３により定期的に生成されたデータ４等が、ネットワーク５を介してデータセンタ６に転送されて、データセンタ６内に位置にするサーバ７−９のデータベースに蓄積される。そして、この通信システムによって、データセンタ６に蓄積されたデータが、アプリケーションを実行するデータ利用端末１０−１２に転送されて利用される。なお、図１では、センサ１−３により生成されたデータ及びデータ利用端末１０−１２により利用されるデータの全てに符号が付されてはいないが、それらはデータ４と同様に、斜線付きの矩形にて転送方向の矢印と共に表示されている。
【００１１】
ここで、図１に示される通信システムが使用されることを想定した場合に、発明者らによって検討された課題を後述する。
【００１２】
センサ１−３により生成されたデータを利用するデータ利用端末は、データ利用端末１２のように、データを蓄積するサーバ７−９が設置されているデータセンタ６に含まれる場合もあるが、データセンタ６に含まれない場合もある。例えば、データ利用端末１０や、企業網２０内に位置するデータ利用端末１１はデータセンタ６には含まれず、ネットワーク５を介して、センサ１−３により生成されたデータを利用する。
【００１３】
例えば、データセンタ６内に位置するデータ利用端末１２は、センサ１−３の各々によって過去１ヶ月間に亘って生成されたデータを利用して、データの変動の傾向を取得したり、センサ１−３が設置されている地域における特徴を抽出したり、商品開発のための分析などを行う。他方、センサ１付近に位置するデータ利用端末１０は、例えば、センサ１に関連した作業を行うフィールドの作業員が操作するデータ利用端末であり、センサ１が生成した最新のデータを取得して、センサ１に関連して発生する作業内容に直ちに対処するために使用される。また、企業網２０内に位置するデータ利用端末１１は、例えば、センサ１及び２の各々によって生成された過去１日分のデータを利用して、センサ１及び２によってカバーされる地域の売上や在庫を集計したり、商品の製造計画を立てたりする。
【００１４】
このように、サービスを提供する事業のために供されるデータセンタを利用して、当該事業のための活動や分析が実行されるが、当該事業に関連する他の業務、作業、活動、及びそれらの分析等のための機能や装置全てがデータセンタに集約されているとは限らない。データセンタ以外の場所においても、当該事業に関連する種々の作業、業務、活動、及びそれらの分析等が行われる。例えば、種々の作業、業務、活動、及びそれらの分析等のための機能を提供するアプリケーションが、事業のために使用されているセンサ等によって生成されたデータや情報を、ネットワークを介して取得して利用する。そして、データ利用端末を通じて、アプリケーションによる結果を享受することとなる。このように、事業を継続させる活動が各地で絶え間なく行われている。
【００１５】
さらに、センサによって生成されたデータは、地理的に様々な場所で利用され、かつ、アプリケーションが対象とする地理的な範囲も様々である。また、アプリケーションが対象とするデータの生成時刻やその期間も様々である。
【００１６】
そのため、センサにより生成されたデータの蓄積場所と、データを利用するデータ利用端末が地理的に離れている場合に、データ利用端末で利用されるアプリケーションがデータへのアクセスを要求してからデータを利用できるようになるまでの遅延時間が大きくなってしまう。
【００１７】
例えば、図１に示されるデータ利用端末１０がデータセンタ６と地理的に離れている場合、センサ１−３により生成されたデータがデータセンタ６に一旦蓄積されているが故に、例えばデータ利用端末１３がデータセンタ６からデータを取得する際の時間が、データセンタ６からのデータの転送時間に依存して大きくなってしまう。加えて、データセンタ６からデータ利用端末１０までデータを転送するために、ネットワーク５内の通信リソースがより多く使用されることになり、ネットワーク５内のトラフィック量が大きくなってしまう。また、これらの遅延時間やトラフィック量の増加を低減させるために、データセンタ６に蓄積されるデータと同じデータのコピーを作成して、データセンタ６から地理的に離れた場所にいるデータ利用端末の近くにも蓄積しておくようにすると、センサ１−３により生成された大量のデータのコピーを蓄積可能なストレージが通信システムに必要になってしまう。
【００１８】
図２に、実施例の事業管理システムの例が示される。図２に示される事業管理システム１００は、ネットワーク１０４に含まれる中継装置１０５−１１２を含む通信システム１００、所定の周期で情報を収集してこの情報に基づくデータを生成する端末１０１−１０３（以下、データ生成元端末とよぶことがある）、サーバ１２１−１２３を含むデータセンタ１２０、データ生成元端末１０１−１０３により生成されたデータを利用するデータ利用端末１３０−１３２（以下、データ利用端末とよぶことがある）を含む。データ利用端末１３０は、データセンタ１２０を使用してサービスを管理及び提供する事業に関連する業務、作業、活動、及びそれらの分析のうちの少なくとも何れかのためのアプリケーションＡ１を実行する。また、データ利用端末１３０は、データ生成元端末１０１−１０３によって生成されたデータを、中継装置１０６から取得して、アプリケーションＡ１の実行時に使用する。データ利用端末１３１は、データセンタ１２０を使用してサービスを管理及び提供する事業に関連する業務、作業、活動、及びそれらの分析のうちの少なくとも何れかのためのアプリケーションＡ２を実行する。また、データ利用端末１３１は、データ生成元端末１０１−１０３によって生成されたデータを、企業網１４０を介して中継装置１０７から取得して、アプリケーションＡ２の実行時に使用する。データ利用端末１３２は、データセンタ１２０に含まれており、データセンタ１２０内にリソースを使用して、データ生成元端末１０１−１０３を使用したサービスを管理及び提供する事業に関連する業務、作業、活動、及びそれらの分析のうちの少なくとも何れかのためのアプリケーションＡ３を実行する。また、データ利用端末１３２は、データ生成元端末１０１−１０３によって生成されたデータを、サーバ１２１−１２３から取得して、アプリケーションＡ３の実行時に使用する。なお、図２には実施例のシステムが例示されているのであって、実施例は、図２に示される構成やその数そのものに限定して解釈されない。
【００１９】
データ生成元端末１０１−１０３は、例えば、センサや機器であり、データセンタ１２０を使用してサービスを管理及び提供する事業に供される。データ生成元端末１０１−１０３は、所定の周期で情報を収集する。そして、収集した情報に対して、データ生成元端末を識別するための識別子を付与し、かつ情報を収集した時刻を生成時刻として付与してデータを生成して、生成したデータを接続された中継装置へ送信する。センサによって生成されるデータとしては、例えば、定期的に測定される温度、湿度、水位、風速、消費電力、及び位置情報等に関するセンシングデータがある。他方、機器によって生成されるデータとしては、例えば、ＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅ）端末や自動販売機の売り上げデータ、商品が売れた時点の気象条件等の種々の関連データ、機器の動作状態のデータ、及び商品の在庫データに関するデータ等がある。なお、データ生成元端末１０１−１０３は、所定の周期が経過する毎に情報を収集してデータを生成してもよいし、所定の周期の間で定期的に情報を収集しておいて、この期間に収集した情報に基づいてデータを生成し、これらを所定の周期毎に送信するようにしてもよい。
【００２０】
データ生成元端末１０１−１０３により生成されたデータは、データ利用端末１３０−１３２により取得され、データ利用端末１３０−１３２において実行されるアプリケーションＡ１−Ａ３で使用される。データ生成元端末１０１−１０３は、データ生成元端末１０１−１０３を識別するための識別子、及び生成時刻を指定して、利用対象のデータを取得する。
【００２１】
例えば、図２に示されるように、データ生成元端末１０２により生成されたデータ１５０が、中継装置１０５を介して中継装置１０６に転送される。ここで、中継装置１０５がデータ１５０を中継装置１１０ではなく中継装置１０６に送信するのは、詳細は後述するが、実施例によって、データ生成元端末１０２によって生成されたデータの転送先が、データ１５０を利用するデータ利用端末１３０が接続された中継装置１０６であると定められているからである。そして、データ利用端末１３０で実行されるアプリケーションＡ１が、データ生成元端末を識別するための識別子及び生成時刻を指定して、データ１５０を中継装置１０６から取得することとなる。なお、図２では、データ生成元端末１０１−１０３により生成されたデータ及びデータ利用端末１３０−１３２により利用されるデータの全てに符号が付されてはいないが、それらはデータ１５０と同様に、斜線表示の矩形にて転送方向の矢印と共に表示されている。
【００２２】
中継装置１０６では、実施例によって、受信したデータを、定められたルールに従い所定の蓄積期間において蓄積してから転送先に移動する。例えば、データ１５０を受信した中継装置１０６は、中継装置１０６に接続されたデータ利用端末１３０が、データ生成元端末１０２により生成されたデータ１５０を使用する際に対象とする時間範囲においてデータ１５０を蓄積する。例えば、データ利用端末１３０によってデータ１５０が使用されない場合には、蓄積期間が０であると定められており、中継装置１０６はデータ１５０を蓄積せずに中継装置１０７に転送することとなる。なお、詳細は後述するが、どのデータ生成元端末が生成したデータを蓄積するかについても、このルールに定められている。つまり、中継装置１０６には、データ生成元端末１０１及び１０２毎にルールが定められている。例えば、データ利用端末１３０が、データ生成元端末１０１により生成されたデータについてはある期間毎に使用するとして、蓄積期間データ生成元端末１０１により生成されたデータについては、所定の蓄積期間においてデータを蓄積してから中継装置１０７に転送する。
【００２３】
そして、データ１５０等を受信した中継装置１０７は、中継装置１０７に接続されたデータ利用端末１３１が、データ１５０等を使用する際に対象とする時間範囲においてデータ１５０等を蓄積してから、転送先である中継装置１０８に転送する。なお、この際のデータ１５０等の転送は、中継装置１０６に設定されたルールとは別のルールに従って行われてもよい。例えば、データ生成元端末１０１付近に位置するデータ利用端末１３０が、データ生成元端末１０１に関連した作業を行うフィールドの作業員が操作するデータ利用端末であり、データ生成元端末１０１が生成した最新のデータを取得して作業内容を直ちに知らせるような場合と、企業網１４０内に位置するデータ利用端末１３１が、データ生成元端末１０１及び１０２の各々によって生成された過去１日分のデータを利用して商品の製造計画を立てる場合とでは、利用するデータの時間範囲も対象とする地域も異なることがある。そのため、データ生成元端末によって生成されたデータの地理的な位置や時間範囲と、そのデータを利用する目的に応じて、中継装置での蓄積期間や転送先を適切に設定すればよい。
【００２４】
そして、中継装置１０８に届けられたデータ１５０等が中継装置１０９を経由してデータセンタ１２０に届けられる。他方、データ生成元端末１０３により生成されたデータは、図２に示されるように、中継装置１１１、１１２、及び１０９を経由して、データセンタ１２０に届けられる。このようにして、データセンタ１２０に届けられたデータ１５０等が、データ利用端末１３２によって利用される。例えば、データ利用端末１３２に対応するアプリケーションＡ３では、データ生成元端末１０１−１０３の各々によって過去１ヶ月間に亘って生成されたデータを利用して、データの変動の傾向を取得したり、データ生成元端末１０１−１０３が設置されている地域における特徴を抽出したり、商品開発のための分析などが行われる。
【００２５】
以上に説明したように、実施例では、データ生成元端末１０１−１０３において実行されるアプリケーションＡ１−Ａ３が、異なる場所から、異なる時間範囲のデータを利用する場合に、データの生成後の時間経過に応じて蓄積先の中継装置を変えるようにする。従って、アプリケーションＡ１−Ａ３が中継装置やサーバからデータを取得する際に、取得したいデータをより近くの中継装置やサーバに蓄積させておくようにすることができる。なお、実施例の詳細については後述する。
【００２６】
図３に、実施例の中継装置及びデータ位置管理装置のハードウェア構成の例が示される。中継装置１０５−１１２及びデータ位置管理装置６００は、例えば、サーバとしての専用のコンピュータ、又は汎用のコンピュータである。中継装置１０５−１１２及びデータ位置管理装置６００は、プロセッサ３００、主記憶装置３０１、入力装置３０２、出力装置３０３、補助記憶装置３０４、可搬記録媒体駆動装置３０５、ネットワークインタフェース３０６を備える。また、これらはバス３０７により互いに接続されている。
【００２７】
プロセッサ３００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサ３００は、補助記憶装置３０４又は可搬記録媒体３０８に格納されたＯＳや様々なアプリケーションプログラムを主記憶装置３０１にロードして実行する。これによって、様々な処理を実行する。プロセッサ６００は、１つに限られず、複数備えられてもよい。
【００２８】
主記憶装置３０１は、プロセッサ３００に、補助記憶装置３０４に格納されているプログラムをロードする記憶領域及び作業領域を提供したり、バッファとして用いられたりする。主記憶装置３０１は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような半導体メモリである。
【００２９】
入力装置３０２は、例えば、キーボード、マウス等のポインティングデバイス等である。入力装置３０２から入力されたデータは、プロセッサ３００に転送される。出力装置３０３は、プロセッサ３００の処理の結果を出力する。出力装置３０３は、例えば、スピーカ等の音声出力装置、ディスプレイ、又はプリンタ等を含む。
【００３０】
補助記憶装置３０４は、様々なプログラムや、各プログラムの実行に際してプロセッサ３００が使用するデータを格納する。補助記憶装置３０４は、例えば、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の不揮発性のメモリである。補助記憶装置３０４は、例えば、オペレーティングシステム（ＯＳ）、データ蓄積先決定プログラム、その他様々なアプリケーションプログラムを格納する。
【００３１】
可搬記録媒体駆動装置３０５は、可搬記録媒体３０８に記録されるプログラムや各種データを読出し、プロセッサ３００に出力する。可搬記録媒体３０８は、例えば、ＳＤカード、ｍｉｎｉＳＤカード、ｍｉｃｒｏＳＤカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ、又はフラッシュメモリカードのような記録媒体である。
【００３２】
ネットワークインタフェース３０６は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェースは、有線のネットワークと接続するインタフェース、無線のネットワークと接続するインタフェースを含む。ネットワークインタフェースは、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カード等である。ネットワークインタフェースで受信されたデータ等は、プロセッサ３００に転送される。
【００３３】
図４に、実施例の中継装置の機能ブロックの例が示される。中継装置１０５−１１２では、図３に示されるプロセッサ３００が、主記憶装置３０１に格納されたプログラムを実行することにより、後述される各機能ブロックとして機能する。なお、送受信部４００は、図３に示されるネットワークインタフェース３０６によって実現される。各機能ブロックによって実行される処理が、図２４〜２９の説明と併せて後述される。
【００３４】
送受信部４００は、データ生成元端末、データ利用端末、他の中継装置、及びデータ位置管理装置６００との間におけるネットワークを介した、データや制御メッセージを含むメッセージパケットの送受信を行う。メッセージパケットは、例えば、通信回線に応じたレイヤ２ヘッダ及びＩＰ／ＴＣＰ／ＨＴＴＰヘッダとＨＴＴＰボディを含み、ＨＴＴＰボディの中に、データ生成元端末によって生成されたデータ値、識別子、及び制御メッセージの内容（例えば、位置登録要求や位置登録応答）等が含まれる。
【００３５】
識別部４０１は、送受信部４００により受信されたメッセージパケットのヘッダやボディの解析を行い、メッセージパケットの種別（データ生成元端末からのデータ送信、データ利用端末からのデータ取得要求、他の中継装置からのデータ転送または転送要求、データ位置管理装置６００からの位置登録応答または位置検索応答）の識別や、メッセージ送信元の端末または装置の識別子を抽出する。また、メッセージの種別がデータ生成元端末からのデータ送信だった場合には、抽出したデータ生成元端末の識別子を元に、蓄積ルールを検索し、蓄積対象のデータ生成元端末であるか否かを確認する。
【００３６】
なお、蓄積ルールとは、図３に示される主記憶装置３０１や補助記憶装置３０４に格納される情報であり、データ生成元端末の識別子、蓄積期間、蓄積期間経過後の移動先の中継装置の識別子を含む。また、予定時刻にデータのコピーを他の中継装置へ転送する場合には、コピー送信予定時刻も含む。また、データの移動だけでなく、コピー、削除、上書きなどの制御を行う場合には、指定するアクションを含む。この蓄積ルールに従って、中継装置は、どのデータ生成元端末からのデータを、どの程度蓄積して、どの中継装置に転送するか等を判定する。具体例については後述する。
【００３７】
転送要求部４１１は、中継装置が自身に蓄積していないデータについて、他の中継装置に対して転送を要求するとともに、要求したデータが他の中継装置から転送された場合に、送受信部４００を介してデータ取得要求元のデータ利用端末への送信を行う。
【００３８】
蓄積時間管理部４３０は、蓄積ルールで示される蓄積期間に基づき、蓄積した各データについて蓄積開始からの経過時間を管理する。蓄積時間の管理は、各データの蓄積開始時の時刻を記憶しておき、現在時刻までの経過時間をチェックする方法でもよいし、各データの蓄積開始時の時刻と蓄積期間から蓄積終了予定時刻を算出して記憶しておき、現在時刻が蓄積終了予定時刻を過ぎているか否かをチェックする方法でもよい。
【００３９】
データ制御部４２０は、蓄積ルールや蓄積時間管理に基づいて、データの蓄積、データの移動、データのコピーの作成、データの削除などのデータ操作の処理を行う。また、データ利用端末からのデータ取得要求に基づいて、蓄積されたデータの検索及び取得を行う。
【００４０】
メッセージ制御部４１０は、他の中継装置またはデータ位置管理装置６００へ要求を行う場合に、各種の要求メッセージを生成して送受信部４００を介して送信を行うとともに、送信した要求メッセージに対する応答メッセージまたは転送データを、他の中継装置またはデータ位置管理装置６００から受信する。
【００４１】
位置登録要求部４１２は、データの蓄積、移動、又は削除を行った際に、データ位置管理装置６００へ、データ生成元端末の識別子、蓄積中のデータの生成時刻またはその範囲、中継装置自身の識別子を含んだ位置登録要求メッセージを送信する。また、データ位置管理装置６００から、応答として位置登録応答メッセージを受信してもよい。
【００４２】
位置検索要求部４１３は、データ利用端末からのデータ取得要求時に、自身が蓄積していないデータについて、データ位置管理装置６００へ、蓄積先の中継装置の検索を要求する位置検索要求メッセージを送信する。また、データ位置管理装置６００から、検索結果を含む位置検索応答メッセージを受信する。
【００４３】
図５に、実施例のデータ位置管理装置の機能ブロックの例が示される。データ位置管理装置６００では、図３に示されるプロセッサ３００が、主記憶装置３０１に格納されたプログラムを実行することにより、後述される各機能ブロックとして機能する。なお、送受信部５００は、図３に示されるネットワークインタフェース３０６によって実現される。各機能ブロックによって実行される処理が、図３０及び３１の説明と併せて後述される。
【００４４】
送受信部５００は、中継装置１０５−１１２とネットワークを介して、データや制御メッセージを含むメッセージパケットの送受信を行う。メッセージパケットは、例えば、通信回線に応じたレイヤ２ヘッダ及びＩＰ／ＴＣＰ／ＨＴＴＰヘッダとＨＴＴＰボディを含み、ＨＴＴＰボディの中に制御メッセージの内容（例えば、位置登録要求や位置登録応答）が含まれる。あるいは、ＨＴＴＰプロトコルの代わりに、Ｔｈｒｉｆｔプロトコルを用いて、中継装置１０５−１１２とデータ位置管理装置６００の間でリモートプロシージャコールを行ってもよい。
【００４５】
メッセージ処理部５０１は、送受信部５００で受信したメッセージパケットのヘッダやボディの解析を行い、メッセージパケットの種別（中継装置から位置登録要求または位置検索要求）の識別や、メッセージ送信元の中継装置の識別子を抽出し、位置登録処理部５１１または位置検索処理部５１２に位置登録または位置検索の処理を要求する。また、位置登録処理部５１１または位置検索処理部５１２での位置登録または位置検索の処理結果に基づき、応答メッセージを生成して、送受信部５００を介して応答メッセージを要求元の中継装置へ送信する。
【００４６】
位置登録処理部５１１は、中継装置１０５−１１２からの位置登録要求に基づき、データ位置情報に、データ生成元端末の識別子や、データの生成時刻またはその期間や、データを蓄積している中継装置の識別子等を使用して、データの位置の登録、更新、または削除等を行う。なお、データ位置情報とは、データ生成元端末の識別子や、データの生成時刻またはその期間や、データを蓄積している中継装置の識別子等が互いに関連付けられた情報である。
【００４７】
位置検索処理部５１２は、中継装置１０５−１１２からの位置検索要求に基づき、データ位置情報を参照して、データ生成元端末及び生成時刻またはその期間で示される検索対象のデータを蓄積している中継装置の識別子を抽出する。
【００４８】
図６に、実施例の中継装置を有する通信システムの例が示される。図６に示される通信システムは、図３に示される通信システム２００の一部を説明のために抜粋したものであり、中継装置１０６、中継装置１０７、及びデータ位置管理装置６００（以下、管理装置と表示される場合もある）が表示されている。中継装置１０６、中継装置１０７、データ位置管理装置６００は、それぞれ、有線又は無線のネットワークによって接続される。なお、データ位置管理装置６００は、例えば、データセンタ１２０内に配置されたサーバ１２１−１２３等によって実現されてもよいし、データセンタ１２０以外のサーバによって実現されてもよい。なお、通信システム２００を、データ位置管理装置６００を含めずに定義してもよい。
【００４９】
さらに、図６に示されるように、データを生成するデータ生成元端末１０１は、中継装置１０６と有線または無線のネットワークによって接続される。中継装置１０６及び中継装置１０７は、データ生成元端末１０１により生成されたデータを、ネットワークを介して受信または送信するとともに、各々の主記憶装置３０１又は補助記憶装置３０４を使用したストレージＤ１及びＤ２に蓄積データとして格納する。
【００５０】
さらに、図６に示されるように、データ生成元端末１０１により生成されたデータを利用するデータ利用端末１３０及び１３１は、それぞれ中継装置１０６及び１０７と有線または無線のネットワークによって接続される。なお、具体的には、データ利用端末１３０及び１３１の各々において実行されるアプリケーションＡ１及びＡ２が、データ生成元端末１０１により生成されたデータを利用して処理を行う。
【００５１】
図７に、アプリケーションにより使用されるデータの例が示される。図７に示される例は、図６におけるアプリケーションＡ１及びＡ２の各々が利用するデータ生成元端末１０１のデータの時間範囲の例である。なお、図７に示される例では、データ生成元端末１０１が１５分おきにセンサデータを生成するとしており、１５分おきに生成されたデータひとつひとつが斜線の矩形にて示されている。
【００５２】
アプリケーションＡ１は、データ生成元端末１０１により生成されたデータのうち、最新から１時間の時間範囲にあるデータ（矩形４個分のデータに相当）を、１時間に１回の頻度で利用する。他方、アプリケーションＡ２は、データ生成元端末１０１が生成したデータのうち、最新から１日の時間範囲にあるデータ（矩形９６個分のデータに相当）を、１日に１回の頻度で利用する。なお、アプリケーションＡ１及びＡ２が利用するデータの時間範囲と、利用する頻度は、同じであってもよいし、異なっていてもよい。例えば、データ生成元端末１０１が生成したデータのうち、最新のデータを１時間に１回の頻度で利用するアプリケーションがあってもよいし、最新から２時間の時間範囲にあるデータを、１時間に１回の頻度で利用するアプリケーションがあってもよい。
【００５３】
図７の例によれば、データ生成元端末１０１により生成されたデータのうち、生成後から１時間の範囲に含まれるデータは、アプリケーションＡ１及びＡ２の両方に利用される。一方、生成後から１時間以上経過したデータは、アプリケーションＡ１では利用されることはないが、アプリケーションＡ２ではまだ利用されておらず、遅くとも残りの２３時間のうちに利用されることになる。
【００５４】
実施例によれば、アプリケーション毎で利用するデータの時間範囲に違いがあることに着目して、利用するデータの時間範囲が短いアプリケーションが利用し終えたデータを、より時間範囲が長いアプリケーションがアクセスする中継装置に事前に移動しておき、アプリケーションがデータを利用する際に、利用したいデータがより少ない転送遅延で取得できるように、データの蓄積場所の制御を行う。この制御の動作例を後述する。
【００５５】
図８に、実施例の中継装置によって端末により生成されたデータが蓄積される場合の例が示される。図８に示される例では、データ生成元端末１０１により生成されたデータが中継される際に、まず、中継装置１０６に蓄積されることが示される。
【００５６】
データ生成元端末１０１は、時刻ｔ１にセンサデータを生成し、中継装置１０６へネットワークを介してデータを送信する。送信されるデータには、センシングした情報そのものの他に、データ生成元端末１０１を識別するための識別子Ｓ１、及び、データの生成時刻ｔ１を示すための情報が含まれる。なお、データの生成時刻は、データ生成元端末自身が付与する方法の他に、中継装置１０６がデータ生成元端末１０１からのデータを受信した時刻を、データの生成時刻として管理する方法でもよい。データ生成元端末１０１から中継装置１０６へのデータの送信は、例えば、インターネットで一般的に用いられている通信プロトコルであるＴＣＰ／ＩＰ及びＨＴＴＰを用いて行えばよい。例えば、データ生成元端末１０１は、ＨＴＴＰのＰＯＳＴリクエストメッセージを用いて、データ、端末識別子及びデータ生成時刻を中継装置１０６へ送信する。
【００５７】
中継装置１０６は、データが含まれるメッセージを受信すると、端末識別子を抽出して、データ生成元端末の識別を行う。そして、蓄積ルールを参照して、識別した端末についてのデータの蓄積ルールを抽出する。
【００５８】
図８には、データ生成元端末１０１により生成されたデータについての蓄積ルール６１５として、蓄積期間が１時間で、転送先の中継装置が中継装置１０７であること例示されている。なお、蓄積ルール６１５では、転送先が中継装置１０７であることを識別するために、中継装置１０７を識別するための識別子Ｎ２が使用されている。中継装置１０６は、データ生成元端末１０１から受信したメッセージについて、データ及び端末識別子Ｓ１を抽出及び生成時刻ｔ１を抽出して、蓄積ルール６１５に従い、データベースとして使用されるストレージ６１１での蓄積を開始する。なお、図８では、データ生成元端末１０１により生成されたデータが、ストレージ６１１に蓄積データ６１２として蓄積されている様子が示される。
【００５９】
また、中継装置１０６は、データの蓄積を開始したことを契機として、蓄積中のデータについて、データ位置管理装置６００へ位置登録要求を行う。この場合の位置登録要求には、端末識別子Ｓ１、生成時刻ｔ１、及び中継装置１０６を識別するための識別子Ｎ１が含まれる。
【００６０】
データ位置管理装置６００は、中継装置１０６から受信した位置登録要求に基づいて、管理しているデータ位置情報６０５に、端末識別子Ｓ１、生成時刻ｔ１、及び中継装置１０６のエントリを登録する。なお、図８では図示を省略しているが、データ位置管理装置６００は、位置登録が完了したことの通知として、要求元である中継装置１０６へ応答メッセージを返信してもよい。
【００６１】
図９に、実施例の中継装置に蓄積されたデータが要求された場合の例が示される。図９は、中継装置１０６によってデータが蓄積されて中継される場合に、アプリケーションＡ１が、最新から１時間分のデータの取得要求を行った際の動作を示す例である。図８に沿って説明したように、中継装置１０６では、データ生成元端末１０１から受信した各データを１時間蓄積する。これによって、中継装置１０６のストレージ６１１には、生成時刻ｔ１〜ｔ４のデータが蓄積されている。
【００６２】
アプリケーションＡ１は、図７にも示したように、１時間に１回の頻度で、データ生成元端末１０１のデータのうち、最新から１時間分のデータを利用する。ここでは、生成時刻ｔ４のデータが最新であり、各データは１５分おきに生成されているため、生成時刻ｔ１〜ｔ４の各データが最新から１時間分の範囲に含まれていることになる。
【００６３】
ここで、アプリケーションＡ１が、データ生成元端末１０１の最新から１時間分のデータの取得要求をすると、中継装置１０６は、要求されたデータがストレージ６１１に蓄積されているかを確認する。ストレージ６１１には要求されたデータが蓄積されているため、中継装置１０６は、生成時刻ｔ１〜ｔ４の各データをストレージ６１１から読み出して、転送データ６４２として示されるように、要求元であるアプリケーションＡ１へこれらのデータを送信する。この時、中継装置１０６は、アプリケーションＡ１へ、生成時刻が古いｔ１、ｔ２、ｔ３、及びｔ４の順にデータを送信してもよいし、逆に生成時刻が新しいｔ４、ｔ３、ｔ２、及びｔ１の順にデータを送信してもよい。
【００６４】
なお、アプリケーションＡ１から中継装置１０６へのデータ取得要求は、例えば、インターネットで一般的に用いられている通信プロトコルであるＴＣＰ／ＩＰ及びＨＴＴＰを用いて実行してもよい。例えば、アプリケーションＡ１は、ＨＴＴＰのＧＥＴリクエストメッセージを用い、取得したいデータの端末識別子及び生成時刻の範囲を指定して、中継装置１０６にデータ取得要求をする。
【００６５】
図１０に、中継装置に蓄積されたデータを別の中継装置へ移動させる場合の例が示される。中継装置１０６は、蓄積中の各データについて、蓄積を開始した時点から、蓄積ルール６１５で与えられた蓄積期間が経過しているかどうかの管理を行っている。図１０に示される例は、図９に示す状態から時間が経過して、生成時刻ｔ１のデータの蓄積を開始してから１時間が経過した場合の例である。そのため、中継装置１０６は、蓄積ルール６１５に従い、生成時刻ｔ１のデータを転送先である中継装置１０７へ転送するとともに、ストレージ６１１から生成時刻ｔ１のデータを削除することで、中継装置１０６から中継装置１０７へのデータの移動を行う。
【００６６】
また、このデータの移動により、中継装置１０６のストレージ６１１に蓄積されるデータは、移動前の生成時刻ｔ１、ｔ２、ｔ３、及びｔ４から、移動後は生成時刻ｔ２、ｔ３、ｔ４、及びｔ５へと変わる。このため、中継装置１０６は、データ位置管理装置６００にて管理されるデータ位置情報６０５のうち、中継装置１０６にて蓄積されるデータの生成時刻の範囲を更新するために、位置登録要求を改めて行う。中継装置１０６の位置登録要求では、生成時刻の範囲として、蓄積中のデータの生成時刻のうち最も古い時刻であるｔ２、及び最も新しい時刻であるｔ５が示され、データ位置管理装置６００は、位置登録要求の内容に基づき、データ位置情報６０５において、データ生成元端末１０１について、中継装置１０６に蓄積中のデータの生成時刻の範囲を、“ｔ１〜ｔ４”から“ｔ２〜ｔ５”に更新する。
【００６７】
同様に、中継装置１０６から移動された、生成時刻ｔ１のデータを受信した中継装置１０７は、図８における中継装置１０６の位置登録要求の動作と同様に、ストレージ６２１に生成時刻ｔ１のデータを蓄積したことを契機にして、データ位置管理装置６００へ位置登録要求を行う。この位置登録要求には、端末識別子Ｓ１、生成時刻ｔ１、中継装置１０７を識別するための識別子Ｎ２が含まれる。
【００６８】
データ位置管理装置６００は、中継装置１０７から送信された位置登録要求の内容に基づいて、管理しているデータ位置情報６０５に、端末識別子Ｓ１、生成時刻ｔ１、中継装置Ｎ１のエントリを登録する。
【００６９】
図１１に、実施例の通信システムによる通信の例が示される。図１１に示される例は、図８や図１０に示される動作例におけるメッセージシーケンスの例である。各時刻ｔ１、ｔ２、ｔ３、及びｔ４にて、データ生成元端末１０１によってデータが生成され、中継装置１０６へ送信される。中継装置１０６は、データ生成元端末１０１から送信されたデータを受信して、ストレージ６１１に蓄積すると、データ位置管理装置６００へ、蓄積中のデータについての位置登録要求を送信する。
【００７０】
時刻ｔ１のデータを中継装置１０６に蓄積してから１時間経過すると、時刻ｔ１のデータが中継装置１０６から中継装置１０７へ移動される。このデータの移動に伴い、中継装置１０６及び中継装置１０７は、それぞれ、データ位置管理装置６００へ、蓄積中のデータについての位置登録要求を送信する。
【００７１】
なお、図１１には図示していないが、時刻ｔ４以降も、データ生成元端末１０１が定期的にデータを生成して、このデータを中継装置１０６へ送信するとともに、中継装置１０６及び１０７では、蓄積ルール６１５や６２５で与えられた蓄積期間が経過したデータの移動を行う。また、中継装置１０６及び１０７では、蓄積中のデータが変わったことを契機にして、データ位置管理装置６００へ位置登録要求を送信する。
【００７２】
図１２に、中継装置に蓄積されたデータを別の中継装置へ移動させる場合の他の例が示される。図１２に示される例は、図１０とは別の動作例であり、中継装置１０６に蓄積されたデータを複数まとめて、中継装置１０７へ移動する場合の例である。例えば、図１２では、データ生成元端末１０１が１５分おきに生成したデータｔ１及びｔ２が、中継装置１０６から中継装置１０７へまとめて移動している様子が１２０１にて示されている。
【００７３】
このように、中継装置１０６では、蓄積ルールで与えられた蓄積期間が経過したかどうかを常に監視して、蓄積期間を経過したデータが発生する度に直ちにデータを中継装置１０７に移動するのではなく、例えば、蓄積ルール１２００に示されるように、所定の周期で蓄積期間を経過したデータがあるかどうかをチェックして、その時点で蓄積期間を既に経過しているデータがあれば、それらをまとめて転送先の中継装置１０７へ移動させてもよい。例えば、図１２に示される例では、蓄積ルール１２００に従い、蓄積期間を経過したデータがあるかどうかを３０分ごとにチェックすることで、ｔ１及びｔ２のデータがまとめて中継装置１０７に移動させられる。
【００７４】
ところで、図１２に示される蓄積ルール１２００において、蓄積期間経過のチェック周期を３０分とし、中継装置１０６に時刻ｔ１のデータの蓄積開始から、２０分後、５０分後、８０分後のタイミングで蓄積期間経過のチェックが行われるとする。なお、２０分後の時点では、時刻ｔ１及びｔ２のデータが、５０分後の時点では時刻ｔ１〜ｔ４のデータが、８０分後の時点では時刻ｔ１〜ｔ５のデータが、中継装置１０６に蓄積された状態となる。
【００７５】
ここで、２０分後及び５０分後に蓄積期間経過のチェックが行われた際には、いずれのデータも蓄積期間が１時間未満であるため、中継装置１０７へのデータの移動は行われない。次に、８０分後に蓄積期間経過のチェックが行われた際には、時刻ｔ１及びｔ２のデータは、蓄積開始からそれぞれ８０分及び６５分が経過しており、蓄積期間が１時間以上経過しているため、図１２に示すように時刻ｔ１及びｔ２のデータがまとめて、中継装置１０６から中継装置１０７に移動される。
【００７６】
なお、蓄積期間経過のチェック周期は、他の値に設定してもよい。例えば、チェック周期を２時間とすると、中継装置１０６のストレージ６１１には最大で２時間分のデータが蓄積される。そして、蓄積期間経過のチェックが行われる度に、蓄積期間が１時間以上経過したデータがまとめて移動される。より具体的には、２時間前の最も古いデータから１時間前までのデータが、中継装置１０６から中継装置１０７にまとめて移動することになる。そして、このデータの移動に併せて、中継装置１０６及び１０７の各々は、データ位置管理装置６００へ位置登録要求を行う。その結果、図１２のデータ位置情報６０５には、中継装置１０６の位置登録要求によって、蓄積中のデータの生成時刻の範囲としてｔ３〜ｔ５が登録される。また、中継装置１０７の位置登録要求によって、蓄積中のデータの生成時刻の範囲としてｔ１〜ｔ２が登録される。このように、どの程度のデータをまとめて移動するかを、中継装置１０６のストレージ６１１に蓄積されているデータを利用するアプリケーションＡ１の利用頻度に合わせて設定してもよい。
【００７７】
図１２に示される例によれば、データ生成元端末の数が多い場合や、データ生成元端末でのデータの生成周期が短い場合に、各中継装置においてデータの蓄積や移動、それに伴うデータ位置管理装置への位置登録要求が頻繁に行われ、データ位置管理装置における処理負荷や、ネットワーク上で送受信される位置登録要求のメッセージトラフィック量が増大してしまうことを抑制できる。
【００７８】
図１３に、実施例の中継装置にデータ生成元端末により生成されたデータが分散して蓄積されている例が示される。この例では、データ生成元端末１０１が生成する１日分のデータが、中継装置１０６及び１０７に蓄積されている状態を示している。これは、図８において生成時刻ｔ１のデータの生成及び蓄積が行われた時点から１日経過した時点での状態であり、中継装置１０６には、最新から１時間分の時刻ｔ９３〜ｔ９６のデータが蓄積され、中継装置１０７には、中継装置１０６から移動された１時間前から２３時間前までの時刻ｔ１〜ｔ９２のデータが蓄積されている。これに合わせて、データ位置管理装置６００におけるデータ位置情報６０５に、中継装置１０６及び１０７が蓄積中のデータの時間範囲が登録されている。
【００７９】
図１４に、実施例の中継装置がデータ転送を他の中継装置に要求する場合の例が示される。図１４に示される例は、図１３のようにデータが蓄積されている状態で、アプリケーションＡ１が中継装置１０６にデータ取得を要求し、かつ、アプリケーションＡ２から中継装置１０７へのデータ取得要求を契機に中継装置１０７が中継装置１０６にデータ転送を要求する場合の例である。
【００８０】
アプリケーションＡ１は、最新から１時間分のデータの取得要求１４０１を中継装置１０６に直して行う。これは、図９に示す動作と同じである。アプリケーションＡ１からデータの取得要求１４０１を受け取った中継装置１０６は、最新から１時間分のデータである時刻ｔ９３〜ｔ９６のデータをストレージ６１１に蓄積しているため、生成時刻ｔ９３〜ｔ９６の各データ１４０２をストレージ６１１から読み出して、要求元であるアプリケーションＡ１へ送信する。
【００８１】
他方、アプリケーションＡ２は、最新から１日のデータの取得要求１４０５を中継装置１０７に対して行う。アプリケーションＡ２からデータの取得要求１４０５を受け取った中継装置１０７は、要求されたデータがストレージ６２１に蓄積されているかを確認する。この確認の結果、中継装置１０７は、ストレージ６２１に蓄積されているデータが時刻ｔ１〜ｔ９２であり、このうちで最も新しいデータである時刻ｔ９２のデータが１時間前のデータであることを確認して、最新から１時間分のデータは他の中継装置にて蓄積されていると判定する。そして、中継装置１０７は、データ位置管理装置６００に位置検索要求を送信し、データ生成元端末１０１により生成されたデータのうち、最新から１時間分のデータを蓄積中の中継装置の検索を要求する。
【００８２】
データ位置管理装置６００では、図１３に示されるデータ位置情報６０５に基づいて、最新から１時間分の時間範囲に含まれるデータが時刻ｔ９３〜ｔ９６であり、それらが中継装置１０６に蓄積されていることを抽出して、中継装置１０７へデータ位置検索応答を送信する。
【００８３】
次いで、中継装置１０７は、位置検索応答に従い、最新から１時間分のデータの転送要求１４０６を中継装置１０６に対して行う。転送要求１４０６を受信した中継装置１０６は、ストレージ６１１に蓄積中の時刻ｔ９３〜ｔ９６のデータ転送１４０７を中継装置１０７に対して行う。
【００８４】
このようにして、中継装置１０７は、ストレージ６２１に蓄積中の時刻ｔ１〜ｔ９２の各データ１４０４、及び中継装置１０６から転送された時刻ｔ９３〜ｔ９６の各データ１４０７を、取得要求元のアプリケーションＡ２へ送信する。
【００８５】
上述した実施例によれば、アプリケーションによって要求されたデータが中継装置に蓄積されていなくても、他の中継装置に転送を要求することで、アプリケーションが必要な範囲のデータをアプリケーションに送信することができる。
【００８６】
例えば、アプリケーションが利用するデータの範囲の違いに着目して、データ生成元端末により生成されたデータを、中継装置の順次移動させるようにしていくと、利用したいデータの範囲が重複してしまうことがある。実施例によれば、このような場合であっても、アプリケーションによって要求された範囲に足りないデータを蓄積している中継装置にデータ転送を要求することで、アプリケーションは足りないデータを取得することができる。また、実施例では、この足りないデータ以外については、中継装置に事前に蓄積しておくようにしているため、アプリケーションからのデータ取得要求を受け付けてから、足りないデータをアプリケーションに届けるまでの時間を短くできる。
【００８７】
また、データを移動させていく中継装置の順序を、アプリケーションが要求するデータの時間範囲の短い方から順に移動させていくようにしておくと、例えば、アプリケーションＡ２からみれば、アプリケーションＡ２が必要とするデータの多数が中継装置１０７に事前に蓄積され、残りのデータが中継装置１０６に蓄積されるように分散されており、中継装置１０７のストレージ６２１でアプリケーションＡ２に割り当てる容量を、上述の例では１時間分減らすようにすることもできる。
【００８８】
また、中継装置１０７に事前に蓄積されているデータの量と足りないデータの量とに差分があることを利用して、アプリケーションＡ２が中継装置１０７にデータの取得要求をした時から、時刻ｔ１〜ｔ９２の各データ１４０４がアプリケーションＡ２に転送されている期間と並行して、足りないデータである時刻ｔ９３〜ｔ９６の各データ１４０７の取得を実行できるため、アプリケーションがデータを取得するまでにかかる時間を効率化できる。
【００８９】
図１５に、実施例の中継装置がデータ転送を他の中継装置に要求する場合の他の例が示される。図１５に示される例は、図１４の変形例であり、データ取得要求に応答して転送したデータを記憶しておき、蓄積ルールによってデータ転送のタイミングが到来しても、既に転送済みであるとして、データを削除する場合の例である。そのため、図１４と同様の処理の説明を省略し、転送要求１４０６を受信した中継装置１０６が、ストレージ６１１に蓄積中の時刻ｔ９３〜ｔ９６のデータ転送１４０７を中継装置１０７に対して行った後の動作から説明をする。
【００９０】
中継装置１０７は、中継装置１０６から転送された時刻ｔ９３〜ｔ９６のデータを、アプリケーションＡ２へ提供するとともに、時刻ｔ９３〜ｔ９６のデータのコピーをして、このコピーしたデータ１５００をストレージ６２１に蓄積する。
【００９１】
中継装置１０６は、時刻ｔ９３〜ｔ９６のデータ転送１４０７を中継装置１０７に対して行うと、中継装置１０７へ時刻ｔ９３〜ｔ９６のデータを転送済みであることを記憶しておく。そして、時刻ｔ９３〜ｔ９６のデータの蓄積期間が１時間を経過した場合に、蓄積ルール６１５では、中継装置１０７へ転送することになっているものの、既に転送済みであることを理由に、中継装置１０７へ時刻ｔ９３〜ｔ９６のデータを移動するのではなく、１５０１に示されるように、ストレージ６１１から削除する。
【００９２】
この実施例によれば、中継装置１０６から中継装置１０７へ既に転送されたデータについて、蓄積期間経過後にデータ転送を再度行うことによって発生してしまうトラフィックが削減される。
【００９３】
図１６に、実施例の通信システムによる通信の他の例が示される。図１６に示される例は、図１４の動作例におけるメッセージシーケンスを示す例であり、中継装置１０７が、ストレージ６２１に蓄積されている時刻ｔ１〜ｔ９２のデータをアプリケーションＡ２へ送信した後、データ位置管理装置６００への位置検索要求、中継装置１０６へのデータ転送要求、及び中継装置１０６から転送された時刻ｔ９３〜ｔ９６のデータのアプリケーションＡ２への送信を行うことが示されている。なお、これらの動作は並列に実行されてもよいし、逆の順序で実行されてもよい。
【００９４】
図１７に、中継装置が他の中継装置にデータをコピーして転送する場合の例が示される。図１７に示される例では、データ生成元端末１０１が生成する１日分のデータのうち、最新から１時間分のデータが中継装置１０６に、１時間前から２３時間前までのデータが中継装置１０７に蓄積されている状態において、中継装置１０６で蓄積中の時刻ｔ９３〜ｔ９６のデータのコピーが作成されて、コピーされた時刻ｔ９３〜ｔ９６データ１７０１が中継装置１０７に転送される。ここで、中継装置１０６のストレージ６１１に蓄積中のデータは時刻ｔ９３〜ｔ９６のまま変わらない。他方、中継装置１０７のストレージ６２１に蓄積中のデータが増加し、時刻ｔ１〜ｔ９６、すなわち最新から１日分のデータが蓄積された状態となる。そして、中継装置１０７は、蓄積中のデータの変更を契機に、データ位置管理装置６００へ位置登録要求を行う。
【００９５】
ここで、中継装置１０６におけるデータのコピーの作成、及び中継装置１０７への転送は、アプリケーションＡ２から中継装置１０７へ、最新から１日のデータの取得要求が行われるのに先立って実行される。このため、中継装置１０６では、蓄積ルール１７００として、コピー送信予定時刻（図１７の例では、０時０分）がさらに与えられている。このコピー送信予定時刻は、アプリケーションＡ２においてデータ取得要求の頻度だけでなく実行時刻が予め決まっており、通信システム２００がその実行時刻を把握している場合に中継装置１０６に設定されればよい。あるいは、中継装置１０６が、中継装置１０７から最新から１時間分のデータの転送要求を数回受け付けた場合に、これらの時刻の差分に基づいて、次にデータの転送要求が実行される時刻を予測して設定されてもよい。中継装置１０６は、コピー送信予定時刻になった場合、蓄積中のデータの蓄積期間が、蓄積ルール１７００で定められている時間を経過したかどうかに関わらず、蓄積中のデータについてコピーを作成して、転送先である中継装置１０７に転送する。この実施例によれば、アプリケーションＡ２がデータの転送要求よりも前に中継装置１０７に準備されているデータ量が増えるため、アプリケーションＡ２へのデータ転送のレスポンスがよくなる。
【００９６】
図１８に、中継装置が他の中継装置にデータをコピーして転送する場合の他の例が示される。図１８に示される例は、図１７の変形例であり、中継装置１０６が、時刻ｔ９３〜ｔ９６のデータのコピーを既に中継装置１０７へ転送済みであることを記憶しておき、蓄積ルールによってデータ転送のタイミングが到来しても、既に転送済みであるとして、データを削除する場合の例である。そのため、図１７と同様の処理の説明を省略し、中継装置１０６が、時刻ｔ９３〜ｔ９６のデータ転送１７０１を中継装置１０７に対して行った後から説明する。
【００９７】
中継装置１０６は、時刻ｔ９３〜ｔ９６のデータ転送１７０１を実行すると、中継装置１０７へ時刻ｔ９３〜ｔ９６のデータを転送済みであることを記憶しておく。そして、時刻ｔ９３〜ｔ９６のデータの蓄積期間が１時間を経過した場合に、蓄積ルール１７００では、中継装置１０７へ転送することになっているものの、既に転送済みであることを理由に、中継装置１０７へ時刻ｔ９３〜ｔ９６のデータを移動するのではなく、１８００に示されるように、ストレージ６１１から削除する。
【００９８】
この実施例によれば、中継装置１０６から中継装置１０７へ既に転送されたデータについて、蓄積期間経過後にデータ転送を再度行うことによって発生してしまうトラフィックが削減される。
【００９９】
図１９に、中継装置が他の中継装置にデータをコピーして転送した後に、アプリケーションへデータが転送される場合の例が示される。図１９に示される例は、図１７や図１８に示されるようにデータが蓄積された状態において、アプリケーションＡ１及びアプリケーションＡ２のそれぞれから、データ取得要求１９００及び１９０２が行われた場合の動作の例である。アプリケーションＡ１については図１４と同様であるが、アプリケーションＡ２については、アプリケーションＡ２がデータ取得要求をする最新から１日分のデータが中継装置１０７のストレージ６２１に蓄積されているため、中継装置１０７は、データ位置管理装置６００に位置検索要求及び中継装置１０６へのデータ転送要求を行うことなく、時刻ｔ１〜ｔ９６の各データ１９０３をアプリケーションＡ２へ送信することができる。
【０１００】
図２０に、図１９及びその説明と併せて使用される符号を用いて、図１９の動作例におけるメッセージシーケンスが示される。
【０１０１】
図２１に、実施例に中継装置のデータ転送先が複数の場合の例が示される。図２１には、中継装置１０６及び１０７、データ位置管理装置６００、データ生成元端末１０１、データ利用端末１３０及び１３１に加えて、中継装置１０６に接続された中継装置１０５、及び中継装置１０５に蓄積されるデータを利用するデータ利用端末６７０が示される。このデータ利用端末６７０は、１５分に１回の頻度で、データ生成元端末１０１の最新のデータを利用するとする。
【０１０２】
図２１において、データ生成元端末１０１は、時刻ｔ１に生成したデータを、中継装置１０６へ送信する。ここで、中継装置１０６は、データ生成元端末１０１のデータについての蓄積ルール２１００に従い、データを１時間蓄積した後に中継装置１０７へデータを移動し、他方で、データを受信後、直ちに（蓄積期間ゼロで）、中継装置１０５へデータのコピーを転送する。これより、中継装置１０６は、データ生成元端末１０１からの時刻ｔ１のデータを受信した際、ストレージ６１１にデータの蓄積を開始して、データ位置管理装置６００へ位置登録要求を行うとともに、データのコピーを作成して、転送先である中継装置１０５へデータ転送２１０３を実行する。
【０１０３】
中継装置１０５は、データ生成元端末１０１により生成されたデータｔ１に対して、中継装置１０６とは独立した蓄積ルール２１０１を適用する。中継装置１０５は、蓄積ルール２１０１に従い、中継装置１０６から転送されたデータ生成元端末１０１の時刻ｔ１のデータを受信した場合に、自身のストレージ６６１にこのデータｔ１の蓄積を開始し、データ位置管理装置６００へ位置登録要求を行う。そして、中継装置１０５は、データを１５分蓄積した後、他の中継装置への転送は行わずにデータｔ１をストレージ６６１から削除する。
【０１０４】
なお、図２１の例では、中継装置１０５での蓄積ルール２１０１における蓄積期間を、データ生成元端末１０１により生成されたデータの生成周期と同じ１５分とし、アクションを「削除」としているが、蓄積期間を１５分以上とし、アクションを「上書き」と設定することによって、データ生成元端末１０１の最新データが常に中継装置１０５のストレージ６６１に蓄積されているようにしてもよい。
【０１０５】
図２２は、実施例に中継装置のデータ転送先が複数の場合の他の例が示される。図２２に示される例は、図２１に沿って説明された状態から１時間が経過した時点での動作例である。中継装置１０６では、ストレージ６１１に時刻ｔ１〜ｔ４のデータを蓄積していた状態から、時刻ｔ１のデータの蓄積開始から１時間が経過したため、蓄積ルール２１００に従って、時刻ｔ１のデータを中継装置１０７へ移動する。
【０１０６】
また、データ生成元端末１０１から、新たに生成時刻ｔ５のデータが中継装置１０６に送信される。中継装置１０６は、蓄積ルール２１００に従い、時刻ｔ５のデータをストレージ６１１に蓄積するとともに、時刻ｔ５のデータのコピーを作成して中継装置１０５へ転送する。
【０１０７】
この結果、中継装置１０６のストレージ６１１には、時刻ｔ２〜ｔ５のデータが蓄積された状態となる。中継装置１０６は、データ位置管理装置６００に、蓄積中のデータの位置登録要求を行う。なお、中継装置１０７への時刻ｔ１のデータの移動と、データ生成元端末１０１からの時刻ｔ５のデータの受信が、短い時間の間に連続して発生した場合には、図２２に示すように、中継装置１０６は、それらをまとめて位置登録要求してもよいし、それぞれ別々に位置登録要求をしてもよい。
【０１０８】
中継装置１０７では、図１０に示す動作と同様に、中継装置１０６から移動された時刻ｔ１のデータをストレージ６２１に蓄積して、データ位置管理装置６００に、位置登録要求を行う。
【０１０９】
中継装置１０５では、時刻ｔ４のデータの蓄積が１５分経過したために、蓄積ルール２１０１に従い、時刻ｔ４のデータをストレージ６６１から削除する。また、中継装置１０５は、中継装置１０６から、時刻ｔ５のデータのコピーを受信して、蓄積ルール２１０１に従い、ストレージ６６１に時刻ｔ５のデータを蓄積する。そして、中継装置１０５は、データ位置管理装置６００に、蓄積中のデータの位置登録要求を行う。なお、時刻ｔ４のデータの削除と、時刻ｔ５のデータのコピーの蓄積開始が、短い時間の間に連続して発生した場合には、それらをまとめて位置登録要求してもよいし、それぞれ別々に位置登録要求をしてもよい。
【０１１０】
以上の動作が完了すると、データ位置管理装置６００におけるデータ位置情報６０５により、データ生成元端末１０１により生成されたデータｔ１〜ｔ５に関して、時刻ｔ２〜ｔ５（最新から１時間）が中継装置１０６のストレージ６１１に蓄積され、時刻ｔ１（１時間以上前）は中継装置１０７のストレージ６２１に蓄積され、時刻ｔ５（最新）は、中継装置１０５のストレージ６６１に蓄積されていることが、他の中継装置によって識別できるようになる。
【０１１１】
図２３に、図２１及び２２の動作例におけるメッセージシーケンスが、それらの説明と併せて使用された符号とともに示される。
【０１１２】
図２４に、実施例の中継装置におけるデータの受信時の処理の例が示される。データを受信する処理２４０１が、送受信部４００によって実行される。処理２４０１により、中継装置は、データ生成元端末により生成されたセンサデータを含んだメッセージを受信する。
【０１１３】
端末識別子及び生成時刻を抽出する処理２４０２が、識別部４０１によって実行される。処理２４０２では、受信したメッセージを解析して、データ生成元端末の端末識別子及びデータの生成時刻を、受信したメッセージから抽出する。
【０１１４】
端末についての蓄積ルールを参照する処理２４０３が、識別部４０１によって実行される。処理２４０３では、処理２４０２により抽出された端末識別子に対して定められている蓄積ルールを参照する。
【０１１５】
蓄積終了時刻を計算して保持する処理２４０４が、蓄積時間管理部４３０によって実行される。処理２４０４では、処理２４０３により参照された蓄積ルールで定められている蓄積期間と現在の時刻とに基づき、蓄積終了時刻を計算する。そして、計算された蓄積終了時刻を蓄積時間管理部４３０にて保持する。
【０１１６】
転送先の中継装置を抽出して、蓄積終了時刻とともに保持する処理２４０５が、蓄積時間管理部４３０及びデータ制御部４２０によって実行される。なお、処理２４０５は、処理２４０４の代わりに実行されてもよい処理である。処理２４０５では、処理２４０３により参照された蓄積ルールで定められている蓄積ルールに従って、転送先の中継装置がデータ制御部４２０により抽出されて、この抽出された転送先の中継装置の情報が、計算された蓄積終了時刻とともに蓄積時間管理部４３０に保持される。
【０１１７】
ストレージにデータを蓄積する処理２４０６が、データ制御部４２０によって実行される。処理２４０６では、受信したメッセージに含まれる、データ生成元端末により生成されたデータを、中継装置のストレージに蓄積する。
【０１１８】
位置登録要求をする処理２４０７が、位置登録要求部４１２によって実行される。処理２４０７では、処理２４０６においてストレージに蓄積されたデータの蓄積位置が他の中継装置から識別可能なように、蓄積されたデータを生成したデータ生成元端末の端末識別子、データの生成時刻、及び中継装置の装置識別子を、データ位置管理装置６００に登録するために、位置登録要求を行う。
【０１１９】
図２５に、実施例の中継装置におけるデータの移動時の処理の例が示される。蓄積終了時刻のデータがあるか否かを判定する処理２５０１が、蓄積時間管理部４３０によって実行される。処理２５０１では、時間を計時して、処理２４０４又は２４０５によって保持されている蓄積終了時刻を超えたデータがあるか否かを判定する。そして、蓄積終了時刻を超えたデータがない場合には、処理２５０１を繰り返す。蓄積終了時刻を超えたデータがある場合には、処理２５０２に移る。
【０１２０】
蓄積ルールを参照して転送先の中継装置を抽出する処理２５０２が、データ制御部４２０によって実行される。処理２５０２では、処理２５０１により蓄積終了時刻を超えていると判定されたデータに関する蓄積ルールを参照して、このデータに関連付けられている転送先の中継装置が抽出される。なお、処理２４０５が実行されていて、蓄積終了時間とともに転送先の中継装置が既に抽出されている場合には、処理２５０２が実行されなくてもよい。
【０１２１】
転送先の中継装置へデータを転送する処理２５０３が、移動処理部４２１によって実行される。処理２５０３では、処理２５０１により蓄積終了時刻を超えていると判定されたデータをストレージから読み出して、送受信部４００を介して、転送先の中継装置に転送する。
【０１２２】
ストレージからデータを削除する処理２５０４が、削除処理部４２３によって実行される。処理２５０４では、処理２５０３により転送されるデータの転送が終わると当該データをストレージから削除する。
【０１２３】
位置登録要求をする処理２５０５が、位置登録要求部４１２によって実行される。処理２５０５では、処理２５０４においてストレージからデータが削除されたため、中継装置にデータが既に蓄積されていないことを他の中継装置が識別可能なように、現時点でストレージに蓄積されているデータに従って、データ生成元端末の端末識別子、データの生成時刻、及び中継装置の装置識別子の更新するために、データ位置管理装置６００に新たな位置登録要求を実行する。
【０１２４】
図２６に、実施例の中継装置におけるデータの取得要求時の処理の例が示される。データ利用端末からデータ取得要求を受信する処理２６０１が、送受信部４００によって実行される。処理２６０１により、中継装置は、データ利用端末からのデータ取得要求を受信する。
【０１２５】
すべての要求データがストレージにあるか否かを判定する処理２６０２が、データ制御部４２０によって実行される。処理２６０２では、中継装置のストレージに蓄積されているデータに基づき、処理２６０１により要求されたデータ全てがあるかを検索する。
【０１２６】
全ての要求データがストレージあると判定されると処理２６０３に移り、移動処理部４２１によって、全ての要求データがストレージから読み出されて、データ利用端末へ要求されたデータを送信する処理２６０３が実行される。処理２６０３により、送受信部４００を介して、要求されたデータが、要求元のデータ利用端末へ送信される。
【０１２７】
処理２６０２において全ての要求データがストレージにないと判定された場合、位置検索要求をする処理２６０４が、位置検索要求部４１３によって実行される。処理２６０４では、処理２６０２の判定の結果、要求されたデータのうちで自身のストレージに蓄積されていないデータがあり、他の中継装置から転送してもらう必要があるデータについて、データ位置管理装置６００へ位置検索要求を行う。この位置検索要求では、足りないデータを特定するために、データ生成元端末の端末識別子とデータの生成時刻とを特定して、位置検索要求を実行する。
【０１２８】
位置検索応答を受信する処理２６０５が、位置検索要求部４１３によって実行される。処理２６０５では、処理２６０４の位置検索要求の検索結果をデータ位置管理装置６００から受け取る。この位置検索応答には、足りないデータが蓄積されている蓄積先中継装置の情報が含まれている。
【０１２９】
蓄積先中継装置へデータ転送要求を送信する処理２６０６が、転送要求部４１１によって実行される。処理２６０２では、自身のストレージに蓄積されておらず、別途取得が必要なデータについて、処理２６０５によって取得した蓄積先中継装置にデータの転送要求を送信する。
【０１３０】
蓄積先中継装置から転送されたデータを受信する処理２６０７が、転送要求部４１１によって実行される。処理２６０７によりデータを受信すると、処理２６０３に移る。なお、処理２６０３により、データ利用端末へ要求されたデータを送信する場合に、処理２６０４〜２６０７が完了して、要求されたデータが全て揃ってから送信してもよいし、自身のストレージに既に蓄積されているデータについてデータ利用端末へ送信を行うとともに、処理２６０４〜２６０７を並行して実行してもよい。
【０１３１】
図２７に、実施例の中継装置におけるデータのコピー送信時の処理の例が示される。これは、図１７に沿って説明された、中継装置におけるデータのコピー送信の処理を例示する処理フローである。
【０１３２】
コピー送信予定時刻か否かを判定する処理２７０１が、蓄積時間管理部４３０によって実行される。処理２７０１では、蓄積ルールに設定されたデータ生成元端末毎に、コピー送信予定時刻を管理している場合、時間を計時して、いずれかのデータ生成元端末について、コピー送信予定時刻となったか否かをチェックする。コピー送信予定時刻になっていないと判定された場合、処理２７０１を繰り返す。コピー送信予定時刻になったと判定されたデータがある場合には、処理２７０２に移る。
【０１３３】
蓄積ルールを参照して、転送先中継装置を抽出する処理２７０２が、データ制御部４２０によって実行される。処理２７０２では、処理２７０１によりコピー送信予定時刻を超えていると判定されたデータに関する蓄積ルールを参照して、このデータに関連付けられている転送先の中継装置が抽出される。
【０１３４】
蓄積中データのコピーを作成する処理２７０３が、コピー処理部４２２によって実行される。処理２７０３では、コピー送信予定時刻を超えていると判定された、ストレージに蓄積中のデータについてコピーを作成する。
【０１３５】
転送先の中継装置にコピーデータを送信する処理２７０４が、データ制御部４２０によって実行される。処理２７０４では、送受信部４００を介して、処理２７０３によってコピーされたデータが、処理２７０２によって抽出された転送先の中継装置に送信される。
【０１３６】
図２８に、実施例の中継装置におけるデータの受信時の処理の他の例が示される。これは、図２１に沿って説明された、中継装置におけるデータの受信時の処理を例示する処理フローである。
【０１３７】
データを受信する処理２８０１が、送受信部４００によって実行される。処理２８０１により、中継装置は、データ生成元端末により生成されたセンサデータを含んだメッセージを受信する。
【０１３８】
端末識別子及び生成時刻を抽出する処理２８０２が、識別部４０１によって実行される。処理２８０２では、受信したメッセージを解析して、データ生成元端末の端末識別子及びデータの生成時刻を、受信したメッセージから抽出する。
【０１３９】
端末についての蓄積ルールを参照する処理２８０３が、識別部４０１によって実行される。処理２８０３では、処理２８０２により抽出された端末識別子に対して定められている蓄積ルールを参照する。
【０１４０】
蓄積時間及びアクションを抽出する処理２８０４が、データ制御部４２０によって実行される。処理２８０４では、処理２８０３によって参照された蓄積ルールにおいて定められている蓄積期間及びアクションを抽出する。
【０１４１】
アクション予定時刻を計算して保持する処理２８０５が、蓄積時間管理部４３０によって実行される。処理２８０５では、処理２８０３により参照された蓄積ルールで定められている蓄積期間と現在の時刻とに基づき、アクションの予定時刻を計算する。そして、計算されたアクション予定時刻を蓄積時間管理部４３０にて保持する。
【０１４２】
移動又はコピー先の中継装置を抽出して、アクションとともに保持する処理２８０６が、蓄積時間管理部４３０及びデータ制御部４２０によって実行される。なお、処理２８０６は、処理２８０５の代わりに実行されてもよい処理である。処理２８０６では、処理２８０３により参照された蓄積ルールで定められている蓄積ルールに従って、アクションが移動またはコピーの場合には、蓄積ルールから移動先またはコピー先の中継装置も抽出して、この抽出された中継装置の情報が、計算されたアクション予定時刻とともに蓄積時間管理部４３０に保持される。
【０１４３】
設定された他の蓄積ルールがあるか否かを判定する処理２８０７が、データ制御部４２０によって実行される。処理２８０７は、同一のデータ生成元端末について、複数の蓄積ルールが設定されている場合もあるため、これらの蓄積ルールを網羅するために判定する処理である。他の蓄積ルールがあると判定されると、処理２８０８に移って、他の蓄積ルールを参照して、処理２８０４〜２８０６を実行する。他の蓄積ルールがないと判定されると、処理２８０９に移る。
【０１４４】
ストレージにデータを蓄積する処理２８０９が、データ制御部４２０によって実行される。処理２８０９では、受信したメッセージに含まれる、データ生成元端末により生成されたデータを、中継装置のストレージに蓄積する。
【０１４５】
位置登録要求をする処理２８１０が、位置登録要求部４１２によって実行される。処理２８１０では、処理２８０９においてストレージに蓄積されたデータの蓄積位置が他の中継装置から識別可能なように、蓄積されたデータを生成したデータ生成元端末の端末識別子、データの生成時刻、及び中継装置の装置識別子を、データ位置管理装置６００に登録するために、位置登録要求を行う。
【０１４６】
図２９に、実施例の中継装置におけるアクション処理の例が示される。これは、図２１及び図２２に沿って説明された、中継装置におけるアクション処理を例示する処理フローである。
【０１４７】
アクション予定時刻のデータがあるか否かを判定する処理２９０１が、蓄積時間管理部４３０によって実行される。処理２９０１では、時間を計時して、処理２８０５又は２８０６によって保持されているアクション予定時刻を超えたデータがあるか否かを判定する。そして、アクション予定時刻を超えたデータがない場合には、処理２９０１を繰り返す。アクション予定時刻を超えたデータがある場合には、処理２９０２に移る。
【０１４８】
蓄積ルールを参照して、アクション及び転送先を抽出する処理２９０２が、データ制御部４２０によって実行される。処理２９０２では、処理２９０１によりアクション予定時刻を超えていると判定されたデータに関する蓄積ルールを参照して、このデータに関連付けられているアクション及び転送先の中継装置が抽出される。なお、処理２８０６が実行されていて、アクション予定時刻とともにアクション及び転送先の中継装置が既に抽出されている場合には、処理２９０２が実行されなくてもよい。
【０１４９】
アクションが移動か否かを判定する処理２９０３が、データ制御部４２０によって実行される。抽出されたアクションが移動である場合には処理２９０４に移り、移動でない場合には処理２９０６に移る。
【０１５０】
転送先の中継装置へデータを送信して、ストレージから移動対象のデータを削除する処理２９０４が、移動処理部４２１及び削除処理部４２３によって実行される。処理２９０４では、移動対象のデータをストレージから読み出し、転送先の中継装置へデータを送信するとともに、送信が完了したら移動対象のデータをストレージから削除する。
【０１５１】
データ位置登録要求をする処理２９０５が、位置登録要求部４１２によって実行される。処理２９０５では、処理２９０４においてストレージからデータが削除されたため、中継装置にデータが既に蓄積されていないことを他の中継装置が識別可能なように、現時点でストレージに蓄積されているデータに従って、データ生成元端末の端末識別子、データの生成時刻、及び中継装置の装置識別子の更新するために、データ位置管理装置６００にデータ位置登録要求を実行する。
【０１５２】
処理２９０３の判定の結果、アクションが移動でないと判定されると、アクションがコピーか否かを判定する処理２９０６が、データ制御部４２０によって実行される。抽出されたアクションがコピーである場合には処理２９０７に移り、移動でない場合には処理２９０９に移る。
【０１５３】
蓄積中のデータのコピーを作成する処理２９０７が、コピー処理部４２２によって実行される。処理２９０７では、コピー対象のデータをストレージから読み出してコピーを作成する。そして、コピー先の中継装置へコピーデータを送信する処理２９０８が、コピー処理部４２２によって実行される。処理２９０８では、処理２９０７によってコピーされたデータを、コピー先の中継装置へ、送受信部４００を介して送信する。
【０１５４】
処理２９０６の判定の結果、アクションがコピーでないと判定されると、データを削除する処理２９０９が、削除処理部４２３によって実行される。処理２９０９によって、削除対象のデータが中継装置のストレージから削除される。
抽出されたアクションがコピーである場合には処理２９０７に移り、移動でない場合には処理２９０９に移る。
【０１５５】
データ位置登録要求をする処理２９１０が、位置登録要求部４１２によって実行される。処理２９１０では、処理２９０９においてストレージからデータが削除されたため、中継装置にデータが既に蓄積されていないことを他の中継装置が識別可能なように、現時点でストレージに蓄積されているデータに従って、データ生成元端末の端末識別子、データの生成時刻、及び中継装置の装置識別子の更新するために、データ位置管理装置６００にデータ位置登録要求を実行する。
【０１５６】
図３０に、データ位置管理装置における位置登録の処理の例が示される。位置登録要求を受信する処理３００１が、メッセージ処理部５０１によって実行される。処理３００１により、送受信部５００を介して、中継装置から送信された位置登録要求を受信し、位置登録処理部５１１へ処理を要求する。
【０１５７】
データ位置管理情報に端末識別子及び蓄積先中継装置のエントリがあるか否かを判定する処理３００２が、位置登録処理部５１１によって実行される。処理３００２では、データ位置管理情報が参照されて、位置登録要求に含まれるデータ生成元端末の端末識別子に基づき、位置登録要求元の中継装置のエントリが有るかどうかを確認する。エントリがある場合には処理３００３に移り、エントリがない場合には処理３００５に移る。
【０１５８】
蓄積中データの生成時刻を更新する処理３００３が、位置登録処理部５１１によって実行される。処理３００３によって、エントリにおいて、蓄積されるデータの生成時刻又は生成時刻の範囲が、処理３００１により受信した位置登録要求に含まれる値で更新される。
【０１５９】
位置登録応答を送信する処理３００４が、メッセージ処理部５０１によって実行される。処理３００４では、位置登録処理部による位置登録が完了したこと通知する応答メッセージが作成されて、送受信部５００を介して、要求元の中継装置へ送信される。なお、この位置登録応答を送信する処理は省略されてもよい。
【０１６０】
処理３００２の判定の結果、エントリがないと判定されると、エントリを追加する処理３００５が、位置登録処理部５１１によって実行される。処理３００５により、処理３００１により受信した位置登録要求に含まれる端末識別子、データの生成時刻又は生成時刻の範囲、及び蓄積先の中継装置の装置識別子が、データ位置管理情報に追加される。
【０１６１】
図３１に、データ位置管理装置における位置検索の処理の例が示される。位置検索要求を受信する処理３１０１が、メッセージ処理部５０１によって実行される。処理３１０１では、送受信部５００を介して、中継装置から送信された位置検索要求を受信して、位置検索処理部５１２へ処理を要求する。
【０１６２】
データ位置管理情報を検索する処理３１０２が、位置検索処理部５１２によって実行される。処理３１０２では、処理３１０１により受信した位置登録要求に含まれるデータ生成元端末の端末識別子及びデータの生成時刻又は生成時刻の範囲に基づいて、データ位置管理情報を検索する。
【０１６３】
検索対象のデータ生成時刻（範囲）を蓄積する中継装置を抽出する処理３１０３が、位置検索処理部５１２によって実行される。処理３１０３では、データ位置管理情報に基づき、データ生成元端末により生成されたデータのうち、検索対象の生成時刻又は生成時刻の範囲のデータを蓄積している中継装置を抽出する。検索対象の生成時刻の範囲によっては、複数の中継装置が抽出されることがある。
【０１６４】
位置検索応答を送信する処理３１０４が、メッセージ処理部５０１によって実行される。処理３１０４では、処理３１０３により検索された蓄積先の中継装置の情報を含む応答メッセージが作成されて、送受信部５００を介して要求元の中継装置に送信される。
【０１６５】
以上に説明したように、実施例では、端末において実行されるアプリケーションが、異なる場所から異なる時間範囲のデータを利用するような場合に、データの生成後の時間経過に応じて、アプリケーションに適した中継装置にデータが蓄積されるように、ネットワーク内でデータを移動させていく。そして、端末により生成されたデータの地理的な位置や時間範囲と、そのデータを利用する目的とに応じて、中継装置での蓄積期間や転送先が適切に設定される。これによって、アプリケーションが中継装置やサーバからデータを取得する際のデータの取得にかかる時間が短縮される。
【０１６６】
例えば、中継装置は、データ生成元端末からのデータを受信すると、このデータを蓄積するとともに、中継装置にデータ取得を要求する第１アプリケーションが利用するデータの時間範囲に基づいて、蓄積期間の管理を行う。そして、この蓄積期間が経過したデータを、利用するデータの時間範囲がより長い第２アプリケーションの近くの中継装置へ事前に移動しておくように制御を行う。
【０１６７】
また、第１及び第２アプリケーションで利用するデータの時間範囲に重複がある場合に、第２アプリケーションからのデータ取得要求を受けた中継装置であって、データの移動先となる中継装置から移動元の中継装置へ、上記重複部分のデータの転送を要求する。あるいは、第２のアプリケーションからのデータ取得要求に先立って、移動元の中継装置から、移動先の中継装置へ、上記重複部分のデータをコピーして転送する。
【０１６８】
また、各中継装置でデータの蓄積や移動を行った際には、データ生成元端末の識別子と、生成時刻の時間範囲と、データを蓄積している中継装置を識別するための識別子とを、データ位置管理装置に登録する。そして、アプリケーションからのデータ取得要求を受けた中継装置は、要求されたデータのうちの自身で蓄積していないデータについて、データ位置管理装置へ検索要求を行い、データを蓄積している中継装置を特定して、データの取得要求を行う。
【０１６９】
上述の実施例によれば、通信システムにおいて、データを蓄積するためのストレージ容量を増加させずに、アプリケーションがデータにアクセスする際の遅延時間やトラフィック量を削減するようにデータを蓄積することができる。
【０１７０】
なお、以上の実施例に関し、以下の付記としてまとめる。
（付記１）  端末によって生成されたデータを蓄積先まで届けるための通信システムであって、前記端末から前記蓄積先へのデータ送信を中継する第１中継装置を有し、前記第１中継装置は、前記第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信することを特徴とする通信システム。
（付記２）  前記端末によって生成され、かつ、前記第１中継装置によって中継されたデータを中継する第２中継装置を有し、前記第２中継装置は、前記端末によって生成されたデータのうち、前記第２中継装置からデータを取得して使用する第２処理装置によって要求される第２期間に含まれるデータを蓄積して中継し、前記第１期間は、前記第２期間よりも短いことを特徴とする付記１に記載の通信システム。
（付記３）  前記第１中継装置は、前記端末によって生成されたデータを受信すると、受信したデータを、前記第１期間に応じて蓄積してから、前記第２中継装置に移動することを特徴とする付記２に記載の通信システム。
（付記４）  前記第１期間に含まれるデータが、前記第１処理装置によって要求された後に、前記第２期間に含まれるデータとして前記第２中継装置に転送されることを特徴とする付記２又は３に記載の通信システム。
（付記５）  前記第１中継装置は、前記第１期間に含まれるデータのうち、前記第１処理装置によって要求されたデータを第１ストレージから消去して、第２ストレージに転送することを特徴とする付記４に記載の通信システム。
（付記６）  前記第２中継装置は、前記第２期間に含まれるデータのうち、前記第２中継装置に蓄積されていないデータの転送を、前記第１中継装置に要求することを特徴とする付記２〜５の何れか１つに記載の通信システム。
（付記７）  前記第２中継装置は、前記第２処理装置から、前記第２期間に含まれるデータを要求された場合に、前記第２期間に含まれるデータのうち、前記第２中継装置に蓄積されているデータを前記第２処理装置へ転送するのと併せて、前記第２中継装置に蓄積されていないデータの転送を前記第１中継装置に要求することを特徴とする付記６に記載の通信システム。
（付記８）  前記第１中継装置は、前記第１期間に含まれるデータ分の第１データ量を蓄積する第１ストレージを使用して、前記第１期間に含まれるデータを蓄積して、前記第２中継装置は、前記第２期間に含まれるデータ分の第２データ量から前記第１データ量を差し引いた分のデータ量を蓄積する第２ストレージを使用して、前記第２期間に含まれるデータを蓄積することを特徴とする付記６又は７に記載の通信システム。
（付記９）  前記第１中継装置は、前記端末によって生成されたデータを受信すると、受信したデータを、前記第１期間に応じて蓄積すると共に、前記受信したデータのコピーを前記第２中継装置に転送することを特徴とする付記２に記載の通信システム。
（付記１０）  前記第１中継装置は、前記第１期間に含まれるデータ分の第１データ量を蓄積する第１ストレージを使用して、前記第１期間に含まれるデータを蓄積して、
前記第２中継装置は、前記第２期間に含まれるデータ分の第２データ量を蓄積する第２ストレージを使用して、前記第２期間に含まれるデータを蓄積することを特徴とする付記９に記載の通信システム。
（付記１１）  前記蓄積先は、前記端末を使用したサービスを提供する事業に供されるデータセンタ内の蓄積装置であり、前記第１処理装置は、前記第１期間に含まれるデータを使用して、前記事業に関連する第１業務を処理することを特徴とする付記１〜１０の何れか１つに記載の通信システム。
（付記１２）  前記第１中継装置によって受信された、前記端末によって生成されたデータは、前記第１処理装置が、前記第１期間に含まれるデータを使用して、前記事業に関連する第１業務を処理するために、前記第１処理装置によって前記第１期間毎に要求される
ことを特徴とする付記１〜１１の何れか１つに記載の通信システム。
（付記１３）  前記第２中継装置によって受信された、前記端末によって生成されたデータは、前記第２処理装置が、前記第２期間に含まれるデータを使用して、前記事業に関連する第２業務を処理するために、前記第２処理装置によって前記第２期間毎に要求される
ことを特徴とする付記２〜１２の何れか１つに記載の通信システム。
（付記１４）  前記端末は、前記事業に関連した商品の販売拠点であり、
前記第１処理装置により処理される前記第１業務は、前記商品の配送に関する業務であり、前記第２処理装置により処理される前記第２業務は、前記商品の製造に関する業務であり、前記蓄積先では、前記商品の開発に関する業務が処理されることを特徴とする付記１３に記載の通信システム。
（付記１５）  前記第１中継装置は、前記端末によって生成されたデータを受信した場合に、他の中継装置が、前記第１中継装置が蓄積しているデータを知るために、データの位置登録をデータ位置管理装置に要求することを特徴とする付記１〜１０の何れか１つに記載の通信システム。
（付記１６）  端末によって生成されたデータを蓄積先まで届けるための通信方法であって、コンピュータが、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継する場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信することを特徴とする通信方法。
（付記１７）  データを生成する端末と、前記端末を使用した事業のために供される蓄積先と、前記端末によって生成されたデータを前記蓄積先に届けるためのネットワークにおいて、前記端末から前記蓄積先へのデータ送信を中継する第１中継装置と、前記第１中継装置から、前記端末によって生成されたデータを取得して、前記事業に関連する業務のために使用する第１処理装置とを有し、前記第１中継装置は、前記第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信することを特徴とする事業管理システム。
（付記１８）  端末によって生成されたデータを蓄積先まで届けさせるための管理装置であって、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継させる場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信させることを特徴とする管理装置。
（付記１９）  端末によって生成されたデータを蓄積先まで届けさせるためのプログラムであって、コンピュータに、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継させる場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信させることを特徴とするプログラム。
（付記２０）  端末によって生成されたデータを蓄積先まで届けるためのネットワークに含まれる中継装置であって、前記端末によって生成されたデータを前記端末から前記蓄積先まで中継する場合に、第１中継装置からデータを取得して使用する第１処理装置によって要求される第１期間分、前記端末によって生成されたデータを蓄積して前記蓄積先へ向けて送信することを特徴とする中継装置。
（付記２１）端末によって生成され、蓄積先まで届けられるデータの蓄積位置を管理するデータ位置管理装置であって、
前記端末から前記蓄積先へのデータ送信を中継する第１中継装置に蓄積されているデータの時間範囲を、前記端末によって生成された時間範囲に従って管理する
ことを特徴とするデータ位置管理装置。
【符号の説明】
【０１７１】
１、２、３      センサ
４、１５０      データ
５、１０４      ネットワーク
６、１２０      データセンタ
７、８、９、１２１、１２２、１２３      サーバ
１０、１１、１２、１３０、１３１、１３２、６７０      データ利用端末
２０、１４０      企業網
１０５−１１２      中継装置
１００      事業管理システム
１０１、１０２、１０３      データ生成元端末
２００      通信システム
３００      プロセッサ
３０１      主記憶装置
３０２      入力装置
３０３      出力装置
３０４      補助記憶装置
３０５      可搬記録媒体駆動装置
３０６      ネットワークインタフェース
３０７      バス
３０８      可搬記録媒体
４００、５００      送受信部
４０１      識別部
４１０      メッセージ制御部
４１１      転送要求部
４１２      位置登録要求部
４１３      位置検索要求部
４２０      データ制御部
４２１      移動処理部
４２２      コピー処理部
４２３      削除処理部
４２４      取得処理部
４３０      蓄積時間管理部
５０１      メッセージ処理部
５１０      データ位置情報処理部
５１１      位置登録処理部
５１２      位置検索処理部
６００      データ位置管理装置
６０５      データ位置情報
６１１、６２１、６６１      ストレージ
６１５、６２５、１２００、１７００、２１００、２１０１      蓄積ルール
【図１】
2014229166.tif 000003
【図２】
2014229166.tif 000004
【図３】
2014229166.tif 000005
【図４】
2014229166.tif 000006
【図５】
2014229166.tif 000007
【図６】
2014229166.tif 000008
【図７】
2014229166.tif 000009
【図８】
2014229166.tif 000010
【図９】
2014229166.tif 000011
【図１０】
2014229166.tif 000012
【図１１】
2014229166.tif 000013
【図１２】
2014229166.tif 000014
【図１３】
2014229166.tif 000015
【図１４】
2014229166.tif 000016
【図１５】
2014229166.tif 000017
【図１６】
2014229166.tif 000018
【図１７】
2014229166.tif 000019
【図１８】
2014229166.tif 000020
【図１９】
2014229166.tif 000021
【図２０】
2014229166.tif 000022
【図２１】
2014229166.tif 000023
【図２２】
2014229166.tif 000024
【図２３】
2014229166.tif 000025
【図２４】
2014229166.tif 000026
【図２５】
2014229166.tif 000027
【図２６】
2014229166.tif 000028
【図２７】
2014229166.tif 000029
【図２８】
2014229166.tif 000030
【図２９】
2014229166.tif 000031
【図３０】
2014229166.tif 000032
【図３１】
2014229166.tif 000033