(57)【要約】【課題】センサデータの格納および管理を効率よく行うことができるセンサデータ管理装置、センサデータ管理方法およびプログラムを提供する。【解決手段】実施形態のサーバ１（センサデータ管理装置）は、格納されたセンサデータを解析し、解析結果に基づいて、同一のページ（データ領域）に割り当てるセンサのグループを決定するセンサ配置割当決定部２０（グループ決定手段）と、同一のグループに属するセンサからのセンサデータが同一のページ（データ領域）に格納されるように、新たに入力されたセンサデータの格納位置を決定して、該格納位置に該センサデータを格納するセンサデータ格納部３２（センサデータ格納手段）と、を備える。【選択図】図３
2017167977.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ単位ごとに設けられるデータ領域に複数のセンサから各々入力されるセンサデータを格納して管理するセンサデータ管理装置であって、
格納されたセンサデータを解析し、解析結果に基づいて、同一の前記データ領域に割り当てるセンサのグループを決定するグループ決定手段と、
同一の前記グループに属するセンサからのセンサデータが同一の前記データ領域に格納されるように、新たに入力されたセンサデータの格納位置を決定して、該格納位置に該センサデータを格納するデータ格納手段と、を備えるセンサデータ管理装置。
【請求項２】
センサデータは時刻情報を含み、
前記解析結果は、同一のセンサから入力された２つのセンサデータ間における時刻情報の差分に基づいて算出される登録間隔を含む、請求項１に記載のセンサデータ管理装置。
【請求項３】
センサデータは時刻情報を含み、
前記解析結果は、センサデータに含まれる時刻情報とセンサデータが入力された時刻との差分に基づいて算出される到着時間を含む、請求項１または２に記載のセンサデータ管理装置。
【請求項４】
センサデータは時刻情報を含み、
前記解析結果は、同一のセンサから入力された同一の時刻情報を含む２つのセンサデータが入力された時刻の差分に基づいて算出される更新頻度を含む、請求項１乃至３のいずれか一項に記載のセンサデータ管理装置。
【請求項５】
前記所定のデータ単位は、入力されたセンサデータを一時的に保持するバッファと、センサデータを永続管理するためのファイルとの間でデータが読み書きされる単位である、請求項１乃至４のいずれか一項に記載のセンサデータ管理装置。
【請求項６】
前記データ領域は、センサごとにセンサデータが格納されるデータブロックの集合である、請求項１乃至５のいずれか一項に記載のセンサデータ管理装置。
【請求項７】
前記データ格納手段が決定した格納位置に新たに入力されたセンサデータを格納する空き領域がない場合に、該センサデータを入力するセンサが属する前記グループに対応する新たな前記データ領域を作成するデータ領域管理手段を備え、
前記データ格納手段は、前記データ領域管理手段が作成した新たな前記データ領域に、新たに入力されたセンサデータを格納する、請求項１乃至６のいずれか一項に記載のセンサデータ管理装置。
【請求項８】
所定のデータ単位ごとに設けられるデータ領域に複数のセンサから各々入力されるセンサデータを格納して管理するセンサデータ管理装置により実行されるセンサデータ管理方法であって、
格納されたセンサデータを解析し、解析結果に基づいて、同一の前記データ領域に割り当てるセンサのグループを決定するステップと、
同一の前記グループに属するセンサからのセンサデータが同一の前記データ領域に格納されるように、新たに入力されたセンサデータの格納位置を決定して、該格納位置に該センサデータを格納するステップと、を含むセンサデータ管理方法。
【請求項９】
所定のデータ単位ごとに設けられるデータ領域に複数のセンサから各々入力されるセンサデータを格納して管理するコンピュータに、
格納されたセンサデータを解析し、解析結果に基づいて、同一の前記データ領域に割り当てるセンサのグループを決定する機能と、
同一の前記グループに属するセンサからのセンサデータが同一の前記データ領域に格納されるように、新たに入力されたセンサデータの格納位置を決定して、該格納位置に該センサデータを格納する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、センサデータ管理装置、センサデータ管理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、複数のセンサから送られてくる時系列データ（センサデータ）を格納して管理するセンサデータ管理装置が知られている。センサデータは、データが時刻順に登録されることや、登録時刻に周期性があるケースが多いなどの特徴がある。従来のＲＤＢＭＳ型のセンサデータ管理装置の多くは、複数のセンサからのセンサデータを、センサのＩＤと時刻をキーとするレコードとして、共通のテーブルに格納して管理している。しかし、この方式は、センサのＩＤを格納するためデータ量が増加し、登録されるセンサデータも時刻順に登録されることが保証されないため管理が煩雑になるといった問題がある。
【０００３】
これに対し、幾つかのセンサデータ管理装置では、センサデータをセンサごとに管理することでこれらの問題を解決している。この方式は、共通のテーブルで複数のセンサからのセンサデータを管理する方式と比較してデータ量が少ないメリットがあり、また、センサデータが時刻順に固まって並ぶため効率よく検索することが可能である。
【０００４】
近年、ＩｏＴ、Ｍ２Ｍの言葉に代表されるようにネットワークにつながるセンサ機器は増大しつつある。大量かつ様々な種類のセンサデータを管理する場合、センサごとに管理する方式では処理速度の低下が懸念される。すわなち、この方式は、センサごとにデータ領域を確保してセンサデータを格納するため、ＨＤＤなどに格納したファイルからメモリ上にあるバッファへのセンサデータの読み出しや、バッファからファイルへのセンサデータの書き出しを、センサごとに行う必要がある。このため、多数の異なるセンサのセンサデータに対するアクセスが連続して発生する場合、アクセスするセンサデータがバッファ上に存在する可能性が低くなり、大量の読み出し／書き出し処理が発生して処理速度が低下してしまう。
【０００５】
これに対し、多数のセンサをグループ化し、センサデータをグループ単位で管理するデータベースとセンサ単位で管理するデータベースの２つを用意することで、処理速度の低下を抑える試みもある（例えば、特許文献１を参照）。特許文献１に記載のセンサデータ管理装置は、登録時はセンサデータをグループごとに第１のデータベースに格納し、第１のデータベースに一定量のセンサデータが集まった時点で、第１のデータベースに格納したセンサデータを、センサごとに用意した第２のデータベースに移し替える構成としている。
【０００６】
この方式は、バッファとファイルとの間のデータの読み書きをグループ単位で行うことができるため、センサデータの登録時刻が近いセンサ同士が同じグループとなるように多数のセンサをグループ化できれば、バッファヒット率を向上させることができる。しかし、様々なアプリにより多数のセンサが登録される場合などにおいては、例えば、アプリごとに最適なグループ化はできてもアプリを横断したグループ化は困難であるなど、事前にアプリから与えられる情報では多数のセンサを適切にグループ化することが難しい。また、１つのテーブルで複数のセンサデータを管理する場合、管理するセンサデータのスキーマは同一である必要があるため、グループ化するセンサの種類が限定されてしまう。さらに、１つのセンサデータを複数のデータベースで管理するため、２つの異なるフォーマットのデータベースに対して格納処理および検索処理を構築する必要があり、仕組みが複雑化してしまう。
【０００７】
以上のように、従来のセンサデータ管理装置はその方式ごとに欠点があり、センサデータの格納および管理の効率化の観点から、改善が求められる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２０１４／０１２２０２２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明が解決しようとする課題は、センサデータの格納および管理を効率よく行うことができるセンサデータ管理装置、センサデータ管理方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
実施形態のセンサデータ管理装置は、所定のデータ単位ごとに設けられるデータ領域に複数のセンサから各々入力されるセンサデータを格納して管理する装置である。このセンサデータ管理装置は、グループ決定手段と、データ格納手段と、を備える。グループ決定手段は、格納されたセンサデータを解析し、解析結果に基づいて、同一の前記データ領域に割り当てるセンサのグループを決定する。データ格納手段は、同一の前記グループに属するセンサからのセンサデータが同一の前記データ領域に格納されるように、新たに入力されたセンサデータの格納位置を決定して、該格納位置に該センサデータを格納する。
【図面の簡単な説明】
【００１１】
【図１】図１は、センサデータ管理システムの概略構成を示す模式図である。
【図２】図２は、サーバおよびセンサ端末のハードウェア構成例を示すブロック図である。
【図３】図３は、サーバおよびセンサ端末の機能的な構成例を示すブロック図である。
【図４】図４は、センサデータの一例を示す図である。
【図５】図５は、データファイルの構成例を示す図である。
【図６】図６は、ブロック番号の一例を示す図である。
【図７】図７は、ページ管理表の一例を示す図である。
【図８】図８は、ページバッファの一例を示す図である。
【図９】図９は、センサ配置割当情報の一例を示す図である。
【図１０】図１０は、データ格納処理の手順の一例を示すフローチャートである。
【図１１】図１１は、格納位置探索処理の手順の一例を示すフローチャートである。
【図１２】図１２は、新規領域作成処理の手順の一例を示すフローチャートである。
【図１３】図１３は、センサ配置割当決定処理の手順の一例を示すフローチャートである。
【図１４】図１４は、グループ分け処理の手順の一例を示すフローチャートである。
【図１５】図１５は、ある時刻におけるセンサ配置割当情報の一例を示す図である。
【図１６】図１６は、図１５のセンサ配置割当情報の一定時間経過後の状態を示す図である。
【発明を実施するための形態】
【００１２】
以下、実施形態のセンサデータ管理装置、センサデータ管理方法およびプログラムを、図面を参照して詳細に説明する。
【００１３】
図１は、本実施形態のセンサデータ管理システムの概略構成を示す模式図である。ここでは、本実施形態のセンサデータ管理システムとして、図１に示すように、センサデータ管理装置であるサーバコンピュータ（以下、サーバという。）１に、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク２を介して、センサ内蔵コンピュータ（以下、センサ端末という。）３が複数台接続されたサーバクライアントシステムを想定する。
【００１４】
図２は、本実施形態のサーバ１およびセンサ端末３のハードウェア構成例を示すブロック図である。サーバ１およびセンサ端末３は、例えば、通常のコンピュータを利用したハードウェア構成を有している。すなわち、サーバ１およびセンサ端末３は、情報処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＢＩＯＳなどを記憶した読み出し専用メモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２、各種データを書き換え可能に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３、各種データベースとして機能するとともに各種のプログラムを格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０４、記憶媒体１１０を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブなどの媒体駆動装置１０５、ネットワーク２を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置１０６、処理経過や結果などをユーザに表示するＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｉｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示部１０７、並びにユーザがＣＰＵ１０１に命令や情報などを入力するためのキーボードやマウスなどの入力部１０８等を備えた構成であり、これらの各部間で送受信されるデータをバスコントローラ１０９が調停して動作する。
【００１５】
このようなサーバ１およびセンサ端末３では、ユーザが電源を投入するとＣＰＵ１０１がＲＯＭ１０２内のローダーというプログラムを起動させ、ＨＤＤ１０４よりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）というコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ１０３に読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）などが知られている。これらのＯＳ上で動作するプログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００１６】
ここで、サーバ１は、アプリケーションプログラムとして、センサデータ管理プログラムをＨＤＤ１０４に記憶している。この意味で、ＨＤＤ１０４は、センサデータ管理プログラムを記憶する記憶媒体として機能する。また、一般的には、サーバ１のＨＤＤ１０４にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭやＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディアなどの記憶媒体１１０に記録されて提供される。このため、ＣＤ−ＲＯＭなどの光情報記録メディアやＦＤなどの磁気メディアなどの可搬性を有する記憶媒体１１０も、センサデータ管理プログラムを記憶する記憶媒体となり得る。さらには、センサデータ管理プログラムは、例えば通信制御装置１０６を介して外部から取り込まれ、ＨＤＤ１０４にインストールされてもよい。
【００１７】
サーバ１は、ＯＳ上で動作するセンサデータ管理プログラムが起動すると、このセンサデータ管理プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。一方、センサ端末３は、ＯＳ上で動作するアプリケーションプログラムが起動すると、このアプリケーションプログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。サーバ１およびセンサ端末３のＣＰＵ１０１が実行する各種の演算処理のうち、本実施形態のセンサデータ管理システムにおいて特徴的な処理について、以下に説明する。
【００１８】
図３は、本実施形態のサーバ１およびセンサ端末３の機能的な構成例を示すブロック図である。図３に示すように、センサ端末３は、アプリケーションプログラムにより実現される機能的な構成要素として、センサデータ登録部１０を備える。
【００１９】
センサデータ登録部１０は、入力部１０８から入力されたセンサデータやセンサ端末３のＨＤＤ１０４に予め記憶されたセンサデータを、後述するサーバ１のセンサデータベース（センサＤＢ）５０に登録するためのものである。このセンサデータ登録部１０は、登録すべきセンサデータとともに登録要求をサーバ１に送信する。
【００２０】
図４は、センサデータ登録部１０がサーバ１に送信するセンサデータＤの一例を示す図である。センサデータＤは、センサを識別するセンサＩＤと、登録するセンサデータの時刻を表すデータ時刻（時刻情報）と、具体的なセンサの検出値を含むデータ列とで構成される。図４に示すセンサデータＤの例では、データ列に、気温を示す値と、発電量を示す値とが含まれているが、これは一例である。データ列に含まれるデータの属性とその値は、センサの種類に応じて様々である。なお、１つのセンサ端末３が複数のセンサの検出値をサーバ１に送る場合、センサＩＤが異なるセンサデータＤが送信される。
【００２１】
センサデータＤのデータ時刻は、あるセンサ端末３から時系列で送られるセンサデータＤを、新たに登録するデータ（次の時刻のデータ）として扱うか、すでに登録されているデータを更新するデータ（同じ時刻のデータ）として扱うかを判断する指標として用いられる。すなわち、センサＤＢ５０にすでに登録されているセンサデータＤの更新データをサーバ１に送信する場合、センサ端末３は、すでに登録されているセンサデータＤと同じデータ時刻を持つセンサデータＤを送信する。サーバ１は、受信したセンサデータＤのデータ時刻と同じデータ時刻を持つセンサデータＤをすでに登録している場合は、すでに登録しているセンサデータＤのデータ列の値を、新たに受信したセンサデータＤのデータ列の値で更新する。一方、受信したセンサデータＤのデータ時刻と同じデータ時刻を持つセンサデータＤが登録されていなければ、サーバ１は、受信したセンサデータＤを新規に登録する。
【００２２】
一方、サーバ１は、センサデータ管理プログラムにより実現される機能的な構成要素として、登録処理部３０と、センサ配置割当決定部２０（「グループ決定手段」の一例）と、データ領域管理部４０（「データ領域管理手段」の一例）とを備える。また、サーバ１は、ＨＤＤ１０４などの記憶装置（ディスク）を利用したセンサＤＢ５０を備える。さらに、サーバ１は、ＲＡＭ１０３などの記憶装置（メモリ）を利用したページ管理表４１およびページバッファ４２を備える。
【００２３】
登録処理部３０は、センサ端末３からの登録要求を受けて、センサ端末３から送信されたセンサデータＤをセンサＤＢ５０に登録するための処理を行う。この登録処理部３０は、登録インタフェース部３１とセンサデータ格納部３２（「データ格納手段」の一例）とを備えている。
【００２４】
登録インタフェース部３１は、センサデータＤの入力を受け付けて、受け付けたセンサデータＤをセンサＤＢ５０に登録するために、センサデータ格納部３２を呼び出す。また、登録インタフェース部３１は、センサデータＤの入力を受け付けた時間（時刻）を到着時刻Ｔとしてセンサ配置割当決定部２０に通知する。この到着時刻Ｔは、センサ配置割当決定部２０によって記憶される。
【００２５】
センサデータ格納部３２は、センサ配置割当決定部２０によって作成、更新、管理されるセンサ配置割当情報５１を用いて、登録インタフェース部３１が入力を受け付けたセンサデータＤの格納位置を決定し、その格納位置にセンサデータＤを格納する処理を行う。センサ配置割当情報５１は、例えば、データファイルＦとともにセンサＤＢ５０に含まれる。なお、センサ配置割当情報５１の詳細は後述する。
【００２６】
図５は、センサＤＢ５０に含まれるデータファイルＦの構成例を示す図である。データファイルＦは、センサデータを永続管理するためのものであり、ページＰと呼ばれる同一サイズのデータ領域の集合として構成されている。ページＰの割り当て管理は、データ領域管理部４０によりページ管理表４１に基づいて実施される。
【００２７】
ページＰは、データファイルＦとメモリ上にあるページバッファ４２への読み出し書き出しの単位であり、同一ページＰ内に複数のセンサからのセンサデータＤが格納されるものである。ページＰは、ヘッダ領域とデータ領域とに分かれる。ヘッダ領域には、ページＰを一意に表すページ番号と、センサ配置割当決定部２０によって当該ページＰに割り当てられたセンサ群のグループを一意に表すグループ番号とが含まれる。データ領域は、各々がセンサデータＤを格納する複数のブロックＢから構成され、１つのブロックＢには１つのセンサが割り当てられる。１つのページＰにデータが格納されるセンサ群は、同一のグループ番号のセンサのみで構成される。つまり、１つのページＰは、同一のグループに属するセンサのデータを各々格納する複数のブロックＢの集合である。
【００２８】
ブロックＢは、１つのセンサに関連するデータのみが格納される領域である。ブロックＢに格納されるデータは、センサデータＤに含まれるデータ時刻およびデータ列である。以下、ブロックＢに格納されたデータ時刻ごとのセンサデータＤを登録データという。
【００２９】
ブロックＢは、ヘッダ領域とデータ領域とに分かれる。ヘッダ領域には、ブロックＢを一意に表すブロック番号と、このブロックＢ内の登録データよりもデータ時刻が前の登録データが格納されたブロック番号を示すＰＲＥＶブロック番号と、このブロックＢ内の登録データよりもデータ時刻が後の登録データが格納されたブロック番号であるＮＥＸＴブロック番号とが含まれる。ＰＲＥＶブロック番号やＮＥＸＴブロック番号は、該当するブロックが存在しない場合は例えば（−１，−１）などの予め定めた値が記録される。データ領域には、複数のデータ時刻の登録データが格納される。図５に例示するブロックＢは、あるセンサの登録データを格納するブロックＢの例であり、複数のデータ時刻のデータ（気温と発電量）が時系列で格納されている。
【００３０】
図６は、ブロック番号の一例を示す図である。ブロック番号は、例えば図６に示すように、そのブロックＢが属するページＰのページ番号と、そのページＰ内におけるブロックＢの位置を示すページ内オフセットとの組み合わせで表現される。このブロック番号から、データファイルＦ上における当該ブロックＢのデータ位置が特定できる。
【００３１】
図７は、データ領域管理部４０がページＰの割り当て管理に用いるページ管理表４１の一例を示す図である。ページ管理表４１は、例えば図７に示すように、データファイルＦ上に割り当てられた各ページＰをそれぞれレコードとする表として表現され、各レコードはページ番号、空きサイズ、バッファ番号、グループ番号で構成される。ページ番号は、そのレコードに対応するページＰのページ番号である。空きサイズは、ページＰ内で使用されていない領域のサイズである。バッファ番号は、ページＰのコピーがページバッファ４２上に存在する場合に、そのページＰのコピーを保持するバッファを特定するＩＤである。グループ番号は、当該レコードに対応するページＰに登録データが格納されるセンサ群のグループ番号である。
【００３２】
図８は、ページバッファ４２の一例を示す図である。ページバッファ４２は、メモリ上の領域に確保され、データファイルＦ上に割り当てられたページ群の一部のコピーを保持するものである。センサ端末３から入力されたセンサデータＤは、このページバッファ４２に一時的に保持され、任意のタイミングでセンサＤＢ５０のデータファイルＦにページＰごと書き出される。
【００３３】
ページバッファ４２は、例えば図８に示すように、バッファ番号、最終アクセス時刻、ページデータの組を複数保持する。バッファ番号は、ページＰのコピーを保持するバッファを一意に特定するものである。最終アクセス時刻は、バッファのデータにアクセスした最後の時刻であり、バッファ上からデータを追い出す際の基準となるものである。ページデータは、データファイルＦ上のページＰをコピーしたものである。センサデータＰの新規登録やデータの更新が発生すると、ページバッファ４２上のページデータは、一時的にデータファイルＦ上のページＰと一部異なることがある。
【００３４】
図９は、センサ配置割当決定部２０によって作成、更新、管理されるセンサ配置割当情報５１の一例を示す図である。センサ配置割当情報５１は、例えば図９に示すように、センサＩＤをキーとしたハッシュテーブルで構成され、各レコードは、センサＩＤ、末端データブロック番号、登録間隔、到着時間、更新頻度、最終更新時刻、グループ番号からなる。
【００３５】
センサＩＤは、そのレコードに対応するセンサのセンサＩＤである。末端データブロック番号は、センサＩＤで識別されるセンサからの登録データのうち、データ時刻が最新のものが格納されているブロックＢのブロック番号を示し、最新時刻のデータへ高速にアクセスするために利用される。
【００３６】
登録間隔、到着時間および更新頻度は、センサ配置割当決定部２０がセンサ配置割当決定処理を行う際に、センサ群をグループ分けする基準として使用するデータであり、格納されたセンサデータＤを解析することにより求められる（「解析結果」の一例）。すなわち、登録間隔は、１つのセンサから入力されるセンサデータＤが登録される時間間隔を表し、例えば、同一のセンサから入力された２つのセンサデータＤ間におけるデータ時刻の差分に基づいて算出される。また、到着時間は、登録間隔で登録されるセンサデータＤがおおよそどのタイミングでセンサ端末３からサーバ１に送られるかを表し、例えば、入力されたセンサデータＤに含まれるデータ時刻と当該センサデータＤが入力された時刻である到着時刻Ｔとの差分に基づいて算出される。具体的には、入力されたセンサデータＤに含まれるデータ時刻と当該センサデータＤが入力された時刻である到着時刻Ｔとの差分が登録間隔よりも短ければ、上記の差分が到着時間となる。一方、入力されたセンサデータＤに含まれるデータ時刻と当該センサデータＤが入力された時刻である到着時刻Ｔとの差分が登録間隔よりも長ければ、上記の差分を登録間隔で除算した剰余の値が到着時間となる。また、更新頻度は、登録間隔内でのセンサデータＤの更新がどの程度の頻度で実施されるかを表し、例えば、同一のセンサから入力された同一のデータ時刻を含む２つのセンサデータ間の到着時刻Ｔの差分に基づいて算出される。
【００３７】
最終更新時刻は、そのレコードに対応するセンサのセンサデータＤがサーバ１に入力された最後の時刻（最新の到着時刻Ｔ）である。最終更新時刻は、新たに入力されたセンサデータＤが格納されるたびに、センサ配置割当決定部２０により更新される。また、このとき、上述の登録間隔、到着時間、更新頻度などに変化が生じた場合には、センサ配置割当決定部２０によってそれらの値も更新される。
【００３８】
グループ番号は、そのレコードに対応するセンサが属するグループのグループ番号である。それぞれのセンサがどのグループに属するかは、センサ配置割当決定部２０が、予め定めた所定のタイミングでセンサ配置割当決定処理を行い、上述の登録間隔、到着時間、更新頻度などに基づいてセンサ群をグループ分けすることで決定される。
【００３９】
センサ配置割当決定部２０は、以上のように、格納されたセンサデータＤを解析することによって、それぞれのセンサごとに上述の登録間隔、到着時間、更新頻度などを求めてセンサ配置割当情報５１に記録する。そして、センサ配置割当決定部２０は、所定のタイミングでセンサ配置割当決定処理を実施し、これら登録間隔、到着時間、更新頻度などを用いてセンサ群をグループ分けして、各センサが属するグループのグループ番号をセンサ配置割当情報５１に記録する。
【００４０】
図３に戻り、センサデータ格納部３２は、登録インタフェース部３１によって入力が受け付けられたセンサデータＤから抽出したセンサＩＤと、センサ配置割当情報５１に記録された末端データブロック番号とに基づいて、センサデータＤの格納位置（センサデータを格納すべきブロックＢ）を決定する。そして、センサデータ格納部３２は、決定した格納位置に、入力されたセンサデータＤを格納する空き領域がある場合はその領域にセンサデータＤを格納する。一方、空き領域がない場合には、データ領域管理部４０を呼び出して、データ領域管理部４０によって確保された領域に、入力されたセンサデータＤを格納する。
【００４１】
データ領域管理部４０は、センサ配置割当情報５１のグループ番号と、ページ管理表４１の情報とに基づいて、センサデータ格納部３２によって決定されたセンサデータＤの格納位置が含まれるページＰに、空き領域があるか否かを判定する。そして、データ領域管理部４０は、そのページＰに空き領域がある場合は、そのページＰの空き領域をセンサデータＤの格納領域としてセンサデータ格納部３２に返却する。一方、そのページＰに空き領域がない場合は新規にページＰを作成し、新規に作成したページＰの空き領域をセンサデータＤの格納領域としてセンサデータ格納部３２に返却する。
【００４２】
次に、以上のように構成されるサーバ１の動作を説明する。サーバ１の動作は、センサ端末３からネットワーク２経由でセンサデータＤが送信されるたびに実施されるデータ格納処理と、予め定めた所定のタイミングで実施されるセンサ配置割当決定処理とを含む。まず、データ格納処理の一例について図１０乃至図１２を参照して説明する。
【００４３】
図１０は、データ格納処理の手順の一例を示すフローチャートである。データ格納処理が開始されると、まず、登録インタフェース部３１が、センサ端末３からネットワーク２経由で送信されたセンサデータＤの入力を受け付ける（ステップＳ１０１）。そして、登録インタフェース部３１がセンサデータＤの入力を受け付けた時間が、到着時刻Ｔとしてセンサ配置割当決定部２０により記憶される（ステップＳ１０２）。
【００４４】
次に、センサデータ格納部３２が、ステップＳ１０１で入力されたセンサデータＤからセンサＩＤを取得し、センサ配置割当情報５１から該当するセンサの末端データブロック番号Ｘを取得する（ステップＳ１０３）。
【００４５】
次に、センサデータ格納部３２は、ステップＳ１０３で取得した末端データブロック番号Ｘを用いて、ステップＳ１０１で入力されたセンサデータＤを格納する位置を求める格納位置探索処理を実施する（ステップＳ１０４）。
【００４６】
図１１は、センサデータ格納部３２により実施される格納位置探索処理の手順の一例を示すフローチャートである。格納位置探索処理が開始されると、センサデータ格納部３２は、まず、ブロック番号Ｘからページ番号Ｙとページ内オフセットＡを取得する（ステップＳ２０１）。
【００４７】
次に、センサデータ格納部３２は、ページ管理表４１を参照して、ページ番号Ｙで表されるページＰｘがページバッファ４２内に存在するか否かを確認する（ステップＳ２０２）。ここで、ページＰｘがページバッファ４２内に存在している場合は（ステップＳ２０２：Ｙｅｓ）、センサデータ格納部３２は、そのページバッファ４２内のページＰｘの位置とページ内オフセットＡからブロックＢｘのアドレスを計算し（ステップＳ２０５）、格納位置探索処理を終了する。
【００４８】
一方、ページＰｘがページバッファ４２内に存在しない場合（ステップＳ２０２：Ｎｏ）、センサデータ格納部３２は、ページバッファ４２内で最終アクセス時刻が最も古いページＰｚをデータファイルＦに書き出し、ページ管理表４１のバッファ番号を更新する（ステップＳ２０３）。次に、センサデータ格納部３２は、データファイルＦからページＰｘを読み出して、ステップＳ２０３でページＰｚを書き出したページバッファ４２の位置に、データファイルＦから読み出したページＰｘを書き込んで最終アクセス時刻を更新するとともに、ページ管理表４１のバッファ番号を更新する（ステップＳ２０４）。そして、センサデータ格納部３２は、ページバッファ４２内のページＰｘの位置とページ内オフセットＡからブロックＢｘのアドレスを計算し（ステップＳ２０５）、格納位置探索処理を終了する。
【００４９】
図１０に戻り、センサデータ格納部３２は、ステップＳ１０４の格納位置探索処理により求めたブロック番号ＸのブロックＢｘ内に、ステップＳ１０１で入力されたセンサデータＤのデータ時刻と同じデータ時刻が存在するかを確認する（ステップＳ１０５）。
【００５０】
ここで、ブロックＢｘ内に同じデータ時刻が存在する場合（ステップＳ１０５：Ｙｅｓ）、センサデータ格納部３２は、ブロックＢｘ内に存在する同じデータ時刻のデータを書き換える。つまり、同じデータ時刻のデータを、ステップＳ１０１で入力されたセンサデータＤで更新する。そして、センサ配置割当決定部２０がセンサ配置割当情報５１を更新し（ステップＳ１０６）、データ格納処理を終了する。
【００５１】
ここでのセンサ配置割当情報５１の更新は、登録間隔、到着時間、更新頻度、最終更新時刻を対象とする。すなわち、センサ配置割当決定部２０は、新たに格納したセンサデータＤのデータ時刻と１つ前のデータ時刻との差分から登録間隔を求め、登録間隔が変化している場合は更新する。また、センサ配置割当決定部２０は、新たに格納したセンサデータＤのデータ時刻と到着時刻Ｔとの差分から到着時間を求め、到着時間が変化している場合は更新する。また、センサ配置割当決定部２０は、センサ配置割当情報５１に記録された最終更新時刻と到着時刻Ｔの差分から更新頻度を求め、更新頻度が変化している場合は更新する。そして最後に、センサ配置割当決定部２０は、センサ配置割当情報５１の最終更新時刻を到着時刻Ｔで更新する。
【００５２】
一方、ステップＳ１０１で入力されたセンサデータＤのデータ時刻と同じデータ時刻がブロックＢｘ内に存在しない場合は（ステップＳ１０５：Ｎｏ）、センサデータ格納部３２は、ブロックＢｘ内にステップＳ１０１で入力されたセンサデータＤを書き込む空き領域が存在するか否かを確認する（ステップＳ１０７）。ここで、ブロックＢｘ内にセンサデータＤを書き込む空き領域がある場合は（ステップＳ１０７：Ｙｅｓ）、センサデータ格納部３２は、このブロックＢｘ内の空き領域にセンサデータＤを書き込む。そして、センサ配置割当決定部２０がセンサ配置割当情報５１を更新し（ステップＳ１０９）、データ格納処理を終了する。ここでのセンサ配置割当情報５１の更新は、上述のステップＳ１０６と同様である。
【００５３】
一方、ブロックＢｘ内にステップＳ１０１で入力されたセンサデータＤを書き込む空き領域がない場合は（ステップＳ１０７：Ｎｏ）、センサデータ格納部３２がデータ領域管理部４０を呼び出して新規領域作成処理を実施させる（ステップＳ１０８）。
【００５４】
図１２は、データ領域管理部４０により実施される新規領域作成処理の手順の一例を示すフローチャートである。新規領域作成処理が開始されると、データ領域管理部４０は、まず、ステップＳ１０１で入力されたセンサデータＤからセンサＩＤを取得し、センサ配置割当情報５１から該当するセンサが属するグループのグループ番号ｇを取得する（ステップＳ３０１）。
【００５５】
次に、データ領域管理部４０は、ページ管理表４１を参照して、ステップＳ３０１で取得したグループ番号ｇを持つ作成済みページを探索する（ステップＳ３０２）。そして、データ領域管理部４０は、ステップＳ３０２で得られた作成済みページに新規ブロックＢｎを作成する空きがあるか否かを確認する（ステップＳ３０３）。
【００５６】
ここで、ステップＳ３０２で得られた作成済みページに新規ブロックＢｎを作成する空きがない場合（ステップＳ３０３：Ｎｏ）、データ領域管理部４０は、データファイルＦにグループ番号をｇとする新規ページＰｎを作成し、ページ管理表４１を更新する（ステップＳ３０４）。このとき、新規ページＰｎは、上述のステップＳ２０３およびステップＳ２０４と同様の手順でページバッファ４２に書き込まれる。そして、データ領域管理部４０は、ステップＳ３０４で作成した新規ページＰｎに新規ブロックＢｎを作成し（ステップＳ３０５）、新規領域作成処理を終了する。
【００５７】
一方、ステップＳ３０２で得られた作成済みページに新規ブロックＢｎを作成する空きがあれば（ステップＳ３０３：Ｙｅｓ）、データ領域管理部４０は、その作成済みページに新規ブロックＢｎを作成し（ステップＳ３０５）、新規作成処理を終了する。
【００５８】
図１０に戻り、センサデータ格納部３２は、ステップＳ１０８の新規領域作成処理により作成された新規ブロックＢｎにセンサデータＤを書き込む。そして、センサ配置割当決定部２０がセンサ配置割当情報５１を更新し（ステップＳ１０８）、データ格納処理を終了する。ここでのセンサ配置割当情報５１の更新は、上述のステップＳ１０６と同様である。
【００５９】
次に、センサ配置割当決定処理の一例について、図１３および図１４を参照して説明する。図１３は、センサ配置割当決定処理の手順の一例を示すフローチャートである。この図１３に示すセンサ配置割当決定処理は、例えば一定時間ごとなど、予め定めた所定のタイミングでセンサ配置割当決定部２０により実施される。また、後述のグループ分けキーリストは、センサ群をグループ分けする基準として使用するデータ（キー）のリストであり、センサ配置割当情報５１においては登録間隔、到着時間、更新頻度の３つのキーがこの順序で与えられるものとする。
【００６０】
センサ配置割当決定処理が開始されると、センサ配置割当決定部２０は、まず、センサ配置割当情報５１を参照して、各センサの最終更新時刻を確認する（ステップＳ４０１）。そして、センサ配置割当決定部２０は、最終更新時刻に更新頻度を足した時刻が現在時刻よりも古いセンサがあるかどうかを確認する（ステップＳ４０２）。ここで、最終更新時刻に更新頻度を足した時刻が現在時刻よりも古いセンサがあれば（ステップ４０２：Ｙｅｓ）、センサ配置割当決定部２０は、該当するセンサの更新頻度を現在時刻と最終更新時刻との差によって更新する（ステップＳ４０３）。一方、最終更新時刻に更新頻度を足した時刻が現在時刻よりも古いセンサがなければ（ステップ４０２：Ｎｏ）、次の処理に進む。
【００６１】
次に、センサ配置割当決定部２０は、センサグループリストＧＬと、グループ分けキーリストＲと、最大グループ数Ｎとを用意する（ステップＳ４０４）。グループ分けキーリストＲは、上述のように、センサ配置割当情報５１に含まれる登録間隔、到着時間、更新頻度の３つのキーを要素とするリストである。最大グループ数Ｎは、サーバ１に設定されたパラメータから与える。
【００６２】
次に、センサ配置割当決定部２０は、全てのセンサを要素とするセンサグループＧを取得する（ステップＳ４０５）。そして、センサ配置割当決定部２０は、ステップＳ４０５で取得したセンサグループＧに対して、グループ分けキーリストＲの値を基準に昇順ソートを実施し（ステップＳ４０６）、センサグループリストＧＬにセンサグループＧを追加する（ステップＳ４０７）。
【００６３】
次に、センサ配置割当決定部２０は、グループ分けキーリストＲから先頭の要素（キー）ｒを取り出して、グループ分けキーリストＲから削除する（ステップＳ４０８）。そして、センサ配置割当決定部２０は、センサグループリストＧＬ、キーｒ、最大グループ数Ｎを入力としたグループ分け処理を実施する（ステップＳ４０９）。
【００６４】
図１４は、センサ配置割当決定部２０により実施されるグループ分け処理の手順の一例を示すフローチャートである。グループ分け処理が開始されると、センサ配置割当決定部２０は、まず、出力センサグループリストＧＬ２を用意する（ステップＳ５０１）。
【００６５】
次に、センサ配置割当決定部２０は、センサグループリストＧＬから先頭の要素（グループ）ｇを取り出して、センサグループリストＧＬから削除する（ステップＳ５０２）。
【００６６】
次に、センサ配置割当決定部２０は、ステップＳ５０２でセンサグループリストＧＬから取り出したグループｇから先頭の要素（センサ）ｓを取り出して、グループｇから削除する（ステップＳ５０３）。
【００６７】
次に、センサ配置割当決定部２０は、新規グループＧを用意し、ステップＳ５０３でグループｇから取り出したセンサｓを新規グループＧに追加する（ステップＳ５０４）。
【００６８】
次に、センサ配置割当決定部２０は、グループｇからセンサｓと同じキーｒを持つ全ての要素（センサ）を取り出して新規グループＧに移動し、新規グループＧを出力センサグループリストＧＬ２に追加する（ステップＳ５０５）。
【００６９】
次に、センサ配置割当決定部２０は、センサグループリストＧＬと出力センサグループリストＧＬ２の要素数がＮ以上か否かを確認する（ステップＳ５０６）。ここで、センサグループリストＧＬと出力センサグループリストＧＬ２の要素数がＮ以上であれば（ステップＳ５０６：Ｙｅｓ）、センサ配置割当決定部２０は、センサグループリストＧＬの要素を全て出力センサグループリストＧＬ２に移動し（ステップＳ５０７）、出力センサグループリストＧＬ２を出力してグループ分け処理を終了する。
【００７０】
一方、センサグループリストＧＬと出力センサグループリストＧＬ２の要素数がＮ未満であれば（ステップＳ５０６：Ｎｏ）、センサ配置割当決定部２０は、ステップＳ５０２でセンサグループリストＧＬから取り出したグループｇが空になったかどうかを確認する（ステップＳ５０８）。そして、グループｇが空でなければ（ステップＳ５０８：Ｎｏ）、ステップＳ５０３に戻って処理を継続する。
【００７１】
一方、グループｇが空であれば（ステップＳ５０８：Ｙｅｓ）、センサ配置割当決定部２０は、センサグループリストＧＬが空かどうかを確認する（ステップＳ５０９）。そして、センサグループリストＧＬが空でなければ（ステップＳ５０９：Ｎｏ）、ステップＳ５０２に戻って処理を継続する。
【００７２】
一方、センサグループリストＧＬが空であれば（ステップＳ５０９：Ｙｅｓ）、センサ配置割当決定部２０は、出力センサグループリストＧＬ２を出力してグループ分け処理を終了する。
【００７３】
図１３に戻り、センサ配置割当決定部２０は、ステップＳ４０９のグループ分け処理により出力した出力センサグループリストＧＬ２を、新たなセンサグループリストＧＬとする（ステップＳ４１０）。そして、センサ配置割当決定部２０は、グループ分けキーリストＲが空、または、センサグループリストＧＬの要素数が最大グループ数Ｎ以上になったかどうかを確認する（ステップＳ４１１）。
【００７４】
ここで、グループ分けキーリストＲが空でなく、かつ、センサグループリストＧＬの要素数が最大グループ数Ｎ未満であれば（ステップＳ４１１：Ｎｏ）、ステップＳ４０８に戻って処理を継続する。一方、グループ分けキーリストＲが空、または、センサグループリストＧＬの要素数が最大グループ数Ｎ以上になった場合は（ステップＳ４１１：Ｙｅｓ）、センサ配置割当決定部２０は、センサグループリストＧＬの結果からセンサ配置割当情報５１のグループ番号を更新し（ステップＳ４１２）、センサ配置割当決定処理を終了する。
【００７５】
本実施形態では、以上のように、サーバ１において所定のタイミングでセンサ配置割当決定処理が実施されることにより、センサ群のグループ分けを動的に変更することができる。ここで、実際にグループ分けが変更された様子を、センサ配置割当情報５１の具体例を挙げながら説明する。
【００７６】
図１５は、ある時刻におけるセンサ配置割当情報５１の一例を示す図である。この図１５の例では、センサ群が４つのグループにグループ分けされた状態になっている。すなわち、センサ群は、まず登録間隔の違いによってＳ１〜Ｓ８、Ｓ９〜Ｓ１６の２つのグループに分けられ、さらにＳ１〜Ｓ８のグループは到着時刻の違いによりＳ１〜Ｓ４、Ｓ５〜Ｓ８に、Ｓ９〜Ｓ１６のグループは更新頻度の違いによりＳ９〜Ｓ１２、Ｓ１３〜Ｓ１６のグループに分割され、最終的に４つのグループにグループ分けされている。
【００７７】
図１６は、図１５のセンサ配置割当情報５１の一定時間経過後の状態を示す図である。図１６の例では、センサＩＤがＳ３、Ｓ４、Ｓ７、Ｓ８のセンサが１８：００以降にデータの更新がない状態になっており、このタイミングでセンサ配置割当決定処理が実施されたことにより、図１６のようにＳ１〜Ｓ４、Ｓ５〜Ｓ８のグループはＳ１〜Ｓ２、Ｓ３〜Ｓ４、Ｓ５〜Ｓ６、Ｓ７〜Ｓ８とグループ分けされる結果となる。例えば、日中しかデータの更新がないセンサなど、周期が変化するようなケースでは、このように時間の経過とともにグループ分けが変更されることがある。
【００７８】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態では、センサデータＤを格納して管理するサーバ１が、格納されたセンサデータＤを解析してその解析結果に基づいてセンサ群をグループ分けし、同じグループに属するセンサのセンサデータＤが同一のページＰ内のブロックＢに格納されるように、入力されたセンサデータＤの格納位置を決定している。したがって、本実施形態によれば、センサデータＤをセンサごとに管理することでデータ量の削減を図りながら、同時期にアクセスするデータを近接配置できるため、センサデータＤの格納および管理を効率よく行うことができる。
【００７９】
また、本実施形態によれば、センサ群のグループ分けに必要な情報は、サーバ１に格納されたセンサデータＤを解析することで得られるため、アプリ側が事前にセンサの情報やセンサ間の関係を定義する必要がない。特に、上述の登録間隔、到着時間、更新頻度などの情報は、時間とともに変化していく可能性もあり、事前にアプリ側で全ての情報を定義することは難しい。これに対し、本実施形態では、これらの情報がサーバ１に格納されたセンサデータＤを解析することで得られるため、センサデータＤの実際の入力状況に合わせたセンサ群の最適なグループ分けを実施して、センサデータＤの格納および管理を効率よく行うことができる。
【００８０】
なお、上述の実施形態においては、センサ配置割当情報５１のカラムをセンサＩＤ、末端データブロック番号、登録間隔、更新頻度、到着時間、最終更新時刻、グループ番号としたが、これに限らない。例えば、センサデータＤのカラム数、データ型、平日のみや日中のみデータを登録するといった登録パターン、一定時間後にデータをセンサＤＢ５０から削除するために用意されるデータ保持期限情報、クライアントから与えられたグループ分け情報など、他の情報を使用してもよい。
【００８１】
また、上述の実施形態においては、センサ群をグループ分けする際に、登録間隔、更新頻度、到着時間の優先順序で決定したが、これに限らない。例えば、優先順序を変更してもよいし、これら全ての情報をパラメータとして１つの基準値となる特徴量を計算し、その特徴量を元にセンサ群をグループ分けする構成としてもよい。また、センサ群をグループ分けする際に、センサ配置割当情報５１にある任意の情報を使用してもよい。
【００８２】
また、上述の実施形態においては、センサ群をグループ分けする際に、登録間隔、更新頻度、到着時間の粒度を秒単位としたが、これに限らない。例えば秒単位の粒度では分割数が極端に大きくなる場合は、日時分などの単位に粒度を変更してもよい。
【００８３】
また、上述の実施形態においては、センサ群のグループ分けを含むセンサ配置割当決定処理を一定時間ごとに行うものとしたが、これに限らない。例えば、ファイルサイズや登録センサ数の増減が所定値に達した場合など、別の情報をトリガにしてセンサ配置割当決定処理を実施するようにしてもよい。
【００８４】
また、上述の実施形態においては、センサ群をグループ分けする際に使用する情報を全てサーバ１内部で決定したが、これに限らない。例えば、登録間隔や更新頻度などの情報は、クライアントから与えられたものを使用するようにしてもよい。
【００８５】
また、上述の実施形態においては、センサ配置割当情報５１を更新する際に、新たに格納したセンサデータＤのデータ時刻と１つ前のデータ時刻との差分から登録間隔を求め、新たに格納したセンサデータＤのデータ時刻と到着時刻Ｔとの差分から到着時間を求め、センサ配置割当情報５１に記録された最終更新時刻と到着時刻Ｔの差分から更新頻度を求めていたが、これに限らない。例えば、直近のデータの記録を幾つか保持するなどにより、複数の記録の平均や分散などの統計値を利用して登録間隔、到着時刻、更新頻度を求めるようにしてもよい。この場合、異常値や到着間隔のぶれなどによる影響を抑えることも可能となる。
【００８６】
また、上述の実施形態においては、センサ配置割当情報５１をディスク上（センサＤＢ５０）に保持する構成としたが、これに限らない。例えば、起動時に各センサのデータをスキャンして作成することで、センサ配置割当情報５１をディスクに永続化せずにメモリ上にのみ持つ構成とすることも可能である。
【００８７】
また、上述の実施形態においては、入力されるセンサデータＤのデータ時刻は、センサＤＢ５０に登録された最新時刻の更新か、より新しい時刻の登録のみを想定しているが、これに限らない。例えば、登録済み最新時刻よりも古い時刻の登録、更新、削除といった処理がある場合には、登録済みの最新時刻よりも古いデータ時刻のセンサデータＤを対象とした処理を行ってもよい。
【００８８】
また、上述の実施形態においては、センサＤＢ５０のデータファイルＦは各センサの登録されたデータのみを保持し、時刻順にブロックＢをつなぐ形で実現していたが、これに限らない。例えば、Ｂ＋ＴＲＥＥなどの索引を用意し、検索、更新、および削除といった処理を効率化した形で実現することも可能である。
【００８９】
また、上述の実施形態においては、ページバッファ４２に保持するページ数について予め与えられたものとしたが、これに限らない。例えば、バッファメモリ量、センサ配置割当情報５１のいずれかまたはその組み合わせから、ページバッファ４２に保持するページ数を動的に決定するように構成してもよい。
【００９０】
また、上述の実施形態においては、同一グループに属するセンサのセンサデータＤを格納する１つのデータ領域としてページＰを単位として使用したが、これに限らない。例えばセグメントと呼ばれる可変長の連続した領域を単位としてもよい。また、データファイルＦを複数のファイルに分割する場合はファイル単位、複数のノードに分割する場合はノードを単位とすることも可能である。その場合、データ領域管理部４０はページＰ以外の単位で、センサデータＤを格納するデータ領域を管理すればよい。
【００９１】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９２】
１  サーバ
２  ネットワーク
３  センサ端末
２０  センサ配置割当決定部
３２  センサデータ格納部
４０  データ領域管理部
４２  ページバッファ
５０  センサＤＢ
５１  センサ配置割当情報
Ｄ  センサデータ
Ｆ  データファイル
Ｐ  ページ
Ｂ  ブロック
【図１】
2017167977.tif 000003
【図２】
2017167977.tif 000004
【図３】
2017167977.tif 000005
【図４】
2017167977.tif 000006
【図５】
2017167977.tif 000007
【図６】
2017167977.tif 000008
【図７】
2017167977.tif 000009
【図８】
2017167977.tif 000010
【図９】
2017167977.tif 000011
【図１０】
2017167977.tif 000012
【図１１】
2017167977.tif 000013
【図１２】
2017167977.tif 000014
【図１３】
2017167977.tif 000015
【図１４】
2017167977.tif 000016
【図１５】
2017167977.tif 000017
【図１６】
2017167977.tif 000018