(57)【要約】【課題】センサデータなど、個々のデータ量が小さくデータ数の多いデータの検索結果を回答する際の処理のオーバーヘッドを低減する。【解決手段】情報記録装置１００において、情報選択部１０４が、情報一次保持部１０３の保持するデータのうち、相互に近似性の高いデータを選択し、情報切り出し部１０６が、情報選択部１０４の選択したデータを読み出してチャンクデータファイルを生成し、分散ファイルシステム１１１に保持させる。また、情報切り出し部１０６が、情報選択部１０４の選択したデータを情報一次保持部１０３から削除する。要求処理部１０１が、ホスト１３０から検索要求を受信すると、検索要求の一括回答フラグがＹｅｓの場合は、情報検索部１０９は、検索要求に適合するファイル名を索引保持部１０７から読み出し、読み出したファイル名を含む検索結果を要求処理部１０１が送信する。【選択図】図１
2011170791.tif 000002
【特許請求の範囲】
【請求項１】
属性名と属性値とを含む情報を保持する情報保持部と、
前記情報保持部が保持する前記情報のうち、前記属性名または前記属性値に関して予め定められた条件を満たす情報を選択する情報選択部と、
前記情報選択部が選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択部が選択した前記情報を前記情報保持部から削除する情報切り出し部と、
を具備することを特徴とする情報記録装置。
【請求項２】
前記情報選択部は、前記情報保持部が保持する前記情報のうち、前記情報の前記情報記録装置への登録要求の受信時刻または情報発生時刻が予め定められた範囲内にある、あるいは、情報を生成するセンサの種別が同じである、あるいは、情報発生地点相互間の距離が予め定められた閾値以下である、あるいは、特定の属性について同じ値を持つ、あるいは、特定の属性について値の差が予め定められた閾値以下である、あるいは、同じデータ属性を予め定められた個数以上含む、のいずれかの条件、あるいは、これらの条件を組み合わせて得られる条件を満たす情報を選択することを特徴とする請求項１に記載の情報記録装置。
【請求項３】
前記情報切り出し部が生成した前記ファイルを保持する分散ファイルシステムをさらに具備することを特徴とする請求項１または請求項２に記載の情報記録装置。
【請求項４】
検索すべき情報の条件を示す検索要求信号を受信する要求通信部と、
情報検索部と、
をさらに具備し、
前記情報切り出し部は、前記生成したファイルのファイル名と前記予め定められた条件とを示す索引情報をファイル毎に生成し、
前記情報検索部は、前記検索すべき情報の条件を満たす情報を前記情報保持部から読み出し、前記索引情報が示す前記予め定められた条件が前記検索すべき情報の条件に矛盾しないファイルのファイル名を前記索引情報から読み出し、
前記要求通信部は、前記情報検索部が前記情報保持部から読み出した前記情報と、前記情報検索部が前記索引情報から読み出したファイル名と、を含む検索結果情報を送信する
ことを特徴とする請求項１から３のいずれかの項に記載の情報記録装置。
【請求項５】
属性名と属性値とを含む情報を保持する情報保持部を具備する情報記録装置の情報記録方法であって、
前記情報保持部が保持する前記情報のうち、前記属性名または前記属性値に関して予め定められた条件を満たす情報を選択する情報選択ステップと、
前記情報選択ステップにて選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択ステップにて選択した前記情報を前記情報保持部から削除する情報切り出しステップと、
を具備することを特徴とする情報記録方法。
【請求項６】
前記情報選択ステップにて、前記情報保持部が保持する前記情報のうち、前記情報の前記情報記録装置への登録要求の受信時刻または情報発生時刻が予め定められた範囲内にある、あるいは、情報を生成するセンサの種別が同じである、あるいは、情報発生地点相互間の距離が予め定められた閾値以下である、あるいは、特定の属性について同じ値を持つ、あるいは、特定の属性について値の差が予め定められた閾値以下である、あるいは、同じデータ属性を予め定められた個数以上含む、のいずれかの条件、あるいは、これらの条件を組み合わせて得られる条件を満たす情報を選択することを特徴とする請求項５に記載の情報記録方法。
【請求項７】
前記情報記録装置は分散ファイルシステムをさらに具備し、
前記情報記録方法は、前記情報切り出し部が生成した前記ファイルを前記分散ファイルシステムが保持するファイル保持ステップをさらに具備する
ことを特徴とする請求項５または請求項６に記載の情報記録方法。
【請求項８】
前記情報切り出しステップにて生成した前記ファイルのファイル名と前記予め定められた条件とを示す索引情報をファイル毎に生成する索引情報生成ステップと、
検索すべき情報の条件を示す検索要求信号を受信する検索要求信号受信ステップと、
前記検索すべき情報の条件を満たす情報を前記情報保持部から読み出し、前記索引情報が示す前記予め定められた条件が前記検索すべき情報の条件に矛盾しないファイルのファイル名を前記索引情報から読み出す情報検索ステップと、
前記情報検索ステップにて前記情報保持部から読み出した前記情報と、前記情報検索ステップにて前記索引情報から読み出したファイル名と、を含む検索結果情報を送信する検索結果送信ステップと、
を具備することを特徴とする請求項５から７のいずれかの項に記載の情報記録方法。
【請求項９】
情報保持部を具備するコンピュータに、請求項５から８のいずれかの項に記載の情報記録方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記録装置、情報記録方法およびプログラムに関する。
【背景技術】
【０００２】
センサなどのデータを記録し、記録したデータを検索可能とする、センサデータ向けの情報記録システムとして、ｕＴｕｐｌｅＳｐａｃｅ（非特許文献１、非特許文献２参照）など、幾つかのセンサ情報記録システムがある。
これら従来の代表的なセンサ情報記録システムは、センサからの１つ１つのデータをネットワーク経由で受け取り、システム内部に具備するＲＤＢＭＳ（Relational Database Management System、関係データベース管理システム）が保持するＲＤＢ（Relational Database、関係データベース）のテーブルの行に、それぞれのデータを格納する。また、該システムはアプリケーションからの検索要求をネットワーク経由で受信すると、ＳＱＬ（Structured Query Language）による検索式を生成する。そして、センサ情報記録システムは、生成した検索式を含む検索要求をＲＤＢＭＳに対して発行することにより、ＲＤＢＭＳ内の該当するテーブルを検索して、検索式に合致する行の並びを取得する。センサ情報記録システムは、それぞれの行を個別にネットワーク送出可能な形式に変換し、それら変換結果をネットワーク経由で検索結果として返送する。
【０００３】
ここで、センサデータの一般的な特徴として、一つ一つのデータ量が小さいことが挙げられる。典型的には、センサ値は数バイト程度、それにメタデータが付随しても高々数十バイト程度であることが多い。さらに、センサデータを活用する際の特徴として、データマイニング技術などを用いて、大量のデータを一括して処理する機会が多いことが挙げられる。また、センサデータは多種多様であり、データベースの構造（スキーマ、Schema）を一意に定められないことも特徴である。
【０００４】
また、ネットワークを介してデータ取得を容易かつ効率的に行う技術として、分散ファイルシステムと呼ばれる技術がある。具体的には、ＯＳ（Operating System）に内蔵されている機能として、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet FIle System （ＳＭＢ（Server Message Block））等が、またウェブ技術として、ＨＴＴＰ（Hypertext Transfer Protocol）およびその拡張である  ＷｅｂＤＡＶ（Distributed Authoring and Versioning protocol for the WWW）等が、またクラウド（Cloud）と称される技術として、ＧＦＳ（Google（登録商標） File System）やＨａｄｏｏｐ等が広く用いられており、さらに、キーバリューストア（Key-Value store；ＫＶＳ）と呼ばれる技術として、Ｄｙｎａｍｏやｍｅｍｃａｃｈｅｄ等の技術も同様の目的に広く用いられている。これら分散ファイルシステム技術を用いれば、データの集まりをファイルとして扱い、別のホストにあるファイルを容易に取得でき、さらに、これら技術はキャッシュ技術を含んでおり、キャッシュにヒットした際には転送負荷の低減効果が期待できる。また技術によっては、データの複製を管理する等により、耐故障性に優れるという特徴を有するものもある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】荒川  豊、他４名、「実世界データ共有機構ｕＴｕｐｌｅＳｐａｃｅにおける動的スケール化方式の評価」、電子情報通信学会  ＩＮ研究会報告、２００９年６月
【非特許文献２】中村  隆幸（Takayuki Nakamura）、他５名、「uTupleSpace: A Bi-Directional Shared Data Space for Wide-Area Sensor Network」、2nd International Workshop on Sensor Networks and Ambient Intelligence (SENAMI 2009)、２００９年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述したような特徴をもつ、センサデータに代表されるデータを取り扱うにあたって、従来のセンサ情報記録システムには、大量のデータを個別ばらばらのデータとして処理するため、処理オーバーヘッドが大きいという問題があった。具体的には次の箇所のオーバーヘッドが大きいことが特に問題であった。
【０００７】
まず、ＲＤＢ内にデータを格納する際、それぞれのデータが個別の行として格納されるため、検索のための索引情報などによる、記憶領域のオーバーヘッドが大きかった。個々のデータがある程度の大きさを持っているアプリケーションにおいては、これらのオーバーヘッドはデータに対して十分小さいとみなせるが、センサデータの場合は、個々のデータ量が小さいため、このオーバーヘッドは無視できない負担となっていた。
【０００８】
次に、検索式に合致する行の並びを得る検索処理のオーバーヘッドが大きかった。大量のデータを一括して処理するために、検索式を用いてＲＤＢ内を検索すると、照合する行の数および合致する行の数が膨大になり、ＲＤＢＭＳ内部の各データの照合を行う負荷および結果回答のための行の並びを一時的に蓄える負荷が大きくなっていた。個々のデータがある程度の大きさを持っているアプリケーションにおいては、総データ量との割合において、合致する行の数が比較的少なく、これらオーバーヘッドは十分小さいとみなせるが、センサデータの場合は、個々のデータ量が小さいため、このオーバーヘッドは無視できない負担となっていた。
【０００９】
また、検索結果をネットワーク経由で転送するオーバーヘッドが大きかった。センサデータを用いるアプリケーションでは、大量の検索結果のデータを一括して処理することから、データ転送の際に、ネットワークに一定の負荷がかかる。一般に、分散ファイルシステム技術を用いれば、別のホストにあるデータの集まりをファイルとして取得する際、キャッシュによる転送負荷の低減効果が期待できる。しかし、検索結果をネットワーク経由で転送する場合は、検索を行って初めて検索結果が得られるので、検索結果を予めファイルとして保持しておくことはできない。したがって、上述のような分散ファイルシステム技術を用いてその利点を生かし、検索結果の転送の際のネットワーク負荷を軽減することは出来なかった。
【００１０】
本発明は、このような事情を考慮してなされたものであり、その目的は、センサデータなど、個々のデータ量が小さくデータ数の多いデータの検索結果を回答する際の処理のオーバーヘッドを低減できる情報記録装置、情報記録方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
［１］この発明は上述した課題を解決するためになされたもので、本発明の一態様による情報記録装置は、属性名と属性値とを含む情報を保持する情報保持部と、前記情報保持部が保持する前記情報のうち、前記属性名または前記属性値に関して予め定められた条件を満たす情報を選択する情報選択部と、前記情報選択部が選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択部が選択した前記情報を前記情報保持部から削除する情報切り出し部と、を具備することを特徴とする。
【００１２】
［２］また、本発明の一態様による情報記録装置は、上述の情報記録装置であって、前記情報選択部は、前記情報保持部が保持する前記情報のうち、前記情報の前記情報記録装置への登録要求の受信時刻または情報発生時刻が予め定められた範囲内にある、あるいは、情報を生成するセンサの種別が同じである、あるいは、情報発生地点相互間の距離が予め定められた閾値以下である、あるいは、特定の属性について同じ値を持つ、あるいは、特定の属性について値の差が予め定められた閾値以下である、あるいは、同じデータ属性を予め定められた個数以上含む、のいずれかの条件、あるいは、これらの条件を組み合わせて得られる条件を満たす情報を選択することを特徴とする。
【００１３】
［３］また、本発明の一態様による情報記録装置は、上述の情報記録装置であって、前記情報切り出し部が生成した前記ファイルを保持する分散ファイルシステムをさらに具備することを特徴とする。
【００１４】
［４］また、本発明の一態様による情報記録装置は、上述の情報記録装置であって、検索すべき情報の条件を示す検索要求信号を受信する要求通信部と、情報検索部と、をさらに具備し、前記情報切り出し部は、前記生成したファイルのファイル名と前記予め定められた条件とを示す索引情報をファイル毎に生成し、前記情報検索部は、前記検索すべき情報の条件を満たす情報を前記情報保持部から読み出し、前記索引情報が示す前記予め定められた条件が前記検索すべき情報の条件に矛盾しないファイルのファイル名を前記索引情報から読み出し、前記要求通信部は、前記情報検索部が前記情報保持部から読み出した前記情報と、前記情報検索部が前記索引情報から読み出したファイル名と、を含む検索結果情報を送信することを特徴とする。
【００１５】
［５］また、本発明の一態様による情報記録方法は、属性名と属性値とを含む情報を保持する情報保持部を具備する情報記録装置の情報記録方法であって、前記情報保持部が保持する前記情報のうち、前記属性名または前記属性値に関して予め定められた条件を満たす情報を選択する情報選択ステップと、前記情報選択ステップにて選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択ステップにて選択した前記情報を前記情報保持部から削除する情報切り出しステップと、を具備することを特徴とする。
【００１６】
［６］また、本発明の一態様による情報記録方法は、上述の情報記録方法であって、前記情報選択ステップにて、前記情報保持部が保持する前記情報のうち、前記情報の前記情報記録装置への登録要求の受信時刻または情報発生時刻が予め定められた範囲内にある、あるいは、情報を生成するセンサの種別が同じである、あるいは、情報発生地点相互間の距離が予め定められた閾値以下である、あるいは、特定の属性について同じ値を持つ、あるいは、特定の属性について値の差が予め定められた閾値以下である、あるいは、同じデータ属性を予め定められた個数以上含む、のいずれかの条件、あるいは、これらの条件を組み合わせて得られる条件を満たす情報を選択することを特徴とする。
【００１７】
［７］また、本発明の一態様による情報記録方法は、上述の情報記録方法であって、前記情報記録装置は分散ファイルシステムをさらに具備し、前記情報記録方法は、前記情報切り出し部が生成した前記ファイルを前記分散ファイルシステムが保持するファイル保持ステップをさらに具備することを特徴とする。
【００１８】
［８］また、本発明の一態様による情報記録方法は、上述の情報記録方法であって、前記情報切り出しステップにて生成した前記ファイルのファイル名と前記予め定められた条件とを示す索引情報をファイル毎に生成する索引情報生成ステップと、検索すべき情報の条件を示す検索要求信号を受信する検索要求信号受信ステップと、前記検索すべき情報の条件を満たす情報を前記情報保持部から読み出し、前記索引情報が示す前記予め定められた条件が前記検索すべき情報の条件に矛盾しないファイルのファイル名を前記索引情報から読み出す情報検索ステップと、前記情報検索ステップにて前記情報保持部から読み出した前記情報と、前記情報検索ステップにて前記索引情報から読み出したファイル名と、を含む検索結果情報を送信する検索結果送信ステップと、を具備することを特徴とする。
【００１９】
［９］また、本発明の一態様によるプログラムは、情報保持部を具備するコンピュータに、上述のいずれかの情報記録方法を実行させるプログラムである。
【発明の効果】
【００２０】
本発明によれば、センサデータなど、個々のデータ量が小さくデータ数の多いデータの検索結果を回答する際の処理のオーバーヘッドを低減できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における情報記録装置１００の概略構成を示す構成図である。
【図２】同実施形態における、登録要求の例を示す図である。
【図３】同実施形態における、センサデータテーブルの例を示す図である。
【図４】同実施形態における、チャンクデータファイルの例を示す図である。
【図５】同実施形態において、チャンクデータファイル生成後に情報一次保持部１０３が保持するセンサデータテーブルの例を示す図である。
【図６】同実施形態における、索引情報テーブルの例を示す図である。
【図７】同実施形態における、検索要求の例を示す図である。
【図８】同実施形態において、一括回答を行う場合の検索結果の例を示す図である。
【図９】同実施形態において、一括回答を行わない場合の検索結果の例を示す図である。
【図１０】同実施形態において、情報記録装置１００が、相互に近似するセンサデータの切り出しを行う処理手順を示すフローチャートである。
【図１１】同実施形態において、情報記録装置１００が、検索要求に対する検索結果を生成してホスト１３０に送信する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本発明の一実施形態における情報記録装置１００の概略構成を示す構成図である。
同図において、情報記録装置１００は、要求処理部１０１と、情報登録部１０２と、情報一次保持部（情報保持部）１０３と、情報選択部１０４と、情報切り出し部１０６と、索引保持部１０７と、情報検索部１０９と、分散ファイルシステム１１１とを具備する。情報選択部１０４は近似性算出部１０５を具備する。
また、情報記録装置１００と、ホスト１３０と、センサ１４０−１〜１４０−３とは、ネットワーク１２０に接続している。ホスト１３０は、分散ファイルシステム１３１と、アプリケーション部１３２とを具備する。なお、ネットワーク１２０に接続されるセンサの個数は、同図に示す３個に限らず、１個以上であればよい。
なお、本実施形態では、情報記録装置１００がセンサデータを扱う場合について説明するが、情報記録装置１００が扱う情報は、センサデータに限らない。例えば、大規模なシミュレーションの結果など、情報数の多い情報であればよい。
【００２３】
情報記録装置１００は、ネットワーク１２０を介して、センサ１４０−１〜１４０−３から登録要求を受信し、受信した登録要求に含まれるセンサデータを情報一次保持部１０３に保持する。情報記録装置１００は、さらに、情報一次保持部１０３が保持するセンサデータ相互間の近似性に基づいて、情報一次保持部１０３からセンサデータを選択し、選択したセンサデータをまとめたファイルを生成し、生成したファイルを分散ファイルシステム１１１に保持させる。また、情報記録装置１００は、ネットワーク１２０を介して、ホスト１３０から検索要求を受信し、受信した検索要求に対する検索結果をホスト１３０に送信する。
要求処理部（要求通信部）１０１は、ネットワーク１２０に接続しており、ネットワーク１２０を介して、センサ１４０−１〜１４０−３から登録要求（登録要求信号）を受信し、ホスト１３０から検索要求（検索要求信号）を受信し、ホスト１３０に検索結果（検索結果信号）を送信する。
【００２４】
情報登録部１０２は、センサ１４０−１〜１４０−３から送信される登録要求からセンサデータを読み出し、情報一次保持部１０３に書き込む。
情報一次保持部１０３は、情報登録部１０２が書き込むデータを保持する。
情報選択部１０４は、情報一次保持部１０３が保持するセンサデータの中から、予め定められた条件を満たすセンサデータを、相互に近似性の高いセンサデータとして選択する。近似性算出部１０５は、情報一次保持部１０３が保持するセンサデータが予め定められた条件を満たすか否かを判定することにより、センサデータ相互間の近似性を算出する。
情報切り出し部１０６は、情報選択部１０４が選択したセンサデータを、情報一次保持部１０３から読み出し、読み出したセンサデータを予め定められた条件毎にまとめたファイルを生成し、生成したファイルを分散ファイルシステム１１１に保持させる。また、情報切り出し部１０６は、読み出したセンサデータを情報一次保持部１０３から削除する。
【００２５】
分散ファイルシステム１１１は、情報切り出し部１０６が生成したファイルを保持する。
索引保持部１０７は、分散ファイルシステム１１１が保持するファイルの索引情報を保持する。
情報検索部１０９は、ホスト１３０から送信される検索要求が示す検索条件に合致するセンサデータを情報一次保持部１０３から読み出し、また、索引保持部１０７が保持する索引情報の中から、当該検索条件に適合する索引情報を読み出し、あるいは、さらに分散ファイルシステム１１１からセンサデータを読み出して、検索結果を生成する。
【００２６】
ホスト１３０は、アプリケーションを実行してサービスを提供するホストコンピュータであり、アプリケーション実行時に必要となったセンサデータを、情報記録装置１００に対して検索要求にて要求する。
分散ファイルシステム１３１は、情報記録装置１００の分散ファイルシステム１１１が保持するファイル（と同一のファイル）の送信を情報記録装置１００から受けて、送信を受けた当該ファイルを保持し、アプリケーション部１３２に対して、分散ファイルシステム１１１が保持するファイルを提供する。
センサ１４０−１〜１４０−３は、センサデータを生成し、生成したセンサデータを含む登録要求を情報記録装置１００に送信する。
ネットワーク１２０は、情報記録装置１００とホスト１３０とセンサ１４０−１〜１４０−３とに接続し、これら相互間のデータを伝送する。
【００２７】
次に、センサ１４０−１〜１４０−３が情報記録装置１００に送信する、登録要求のデータ構成について説明する。
図２は、登録要求の例を示す図である。
同図に示すように、登録要求は、センサデータを含む。センサデータは、区切り記号「，」を挟んで相互に結合されたデータまたはメタデータを含む。データまたはメタデータは、区切り記号「＝」を挟んで結合された属性（属性名）と値（属性値）とを含む。
同図に示すセンサデータは、色センサであるセンサ１４０−３が計測した色を示すデータである。センサ１４０−３は、部屋Ｒ１〜Ｒ３を移動するロボットに搭載されており、情報記録装置１００に定期的にセンサデータを送信する。
【００２８】
図２の例では、「色＝黄」がセンサ１４０−３の計測した計測データであり、「センサＩＤ＝３」と、「部屋＝Ｒ１」と、「姿勢＝寝」とがメタデータである。
計測データ「色＝黄」は、計測データの属性「色」と計測値（センサ１４０−３が計測した色）「黄」と区切り記号「＝」とを含む。「色」は、「赤」、「青」、「黄」のいずれかの値をとる。
同様に、メタデータの各々も、属性と、値と、区切り記号「＝」とを含む。「センサＩＤ」は、センサ１４０−１〜１４０−３を識別する識別情報（Identifier；ＩＤ）であり、センサＩＤの値「１」、「２」、「３」は各々センサ１４０−１、１４０−２、１４０−３を示す。「部屋」は、計測時にセンサが位置する部屋の名前を示し、「Ｒ１」、「Ｒ２」、「Ｒ３」のいずれかの値をとる。「姿勢」は、計測時のロボットの姿勢を示し、「立」、「寝」のいずれかの値をとる。
【００２９】
また、センサデータは、可読形式の１行のテキスト情報として表現されている。ここでいう可読形式とは、センサデータに含まれる区切り符号と、属性と、値とが、全て画面表示可能な文字符号のみを含むことをいう。例えば、図２の登録要求Ｆ１５０に含まれるセンサデータの文字列のうち、「セ」がシフトＪＩＳ２バイトコードの８３５ａ（１６進表記、以下同様。）で表記され、「ン」が８３９３で表記されるなど、センサデータは、画面表示可能なコードで示される文字符号（制御コードや未定義のコードを含まない文字符号）のみを含む。なお、属性ないし値が、表示制御用の符号など、画面表示できない符号を含む場合、例えばバックスラッシュ等の、予め定められたエスケープ文字を前置することにより、画面表示できる文字符号に変換するようにしてもよい。また、例えばセンサの計測値に区切り記号として用いられている符号「＝」が含まれる場合など、属性ないし値が、区切り符号を含む場合も、予め定められたエスケープ文字を前置することにより、属性ないし値の一部と区切り符号とを区別するようにしてもよい。
【００３０】
次に、情報一次保持部１０３が保持するセンサデータテーブルのデータ構造について説明する。
図３は、センサデータテーブルの例を示す図である。
センサデータテーブルの各行は、センサから送信される登録要求に基づくセンサデータとなっている。なお、同図の例では、センサデータＬ１１およびＬ１３〜１８は、センサ１４０−１〜１４０−３のいずれかから送信される登録要求に基づくセンサデータであり、センサデータＬ１２は、物流追跡システムのセンサ（不図示）から送信される登録要求に基づくセンサデータである。
【００３１】
ここで、センサデータテーブルの各センサデータは、登録要求に含まれるセンサデータそのものであってもよいし、登録要求に含まれるセンサデータを加工したものであってもよい。図３の例では、センサデータテーブルの各行Ｌ１１〜Ｌ１８は、登録要求に含まれるセンサデータに、情報記録装置１００による当該登録要求の受信時刻を付加したセンサデータであり、受信時刻の古いセンサデータほど上側（行Ｌ１１の側）に位置している。例えば、情報登録部１０２が、登録要求から読み出されたセンサデータに対して受信時刻の付加等の加工を行った後に、情報一次保持部１０３に書き込むようにしてもよい。
【００３２】
次に、分散ファイルシステム１１１が保持するチャンクデータファイルのデータ構成について説明する。
図４は、チャンクデータファイルの例を示す図である。
チャンクデータファイルには、情報一次保持部１０３が保持するセンサデータのうち、相互に近似するセンサデータが含まれている。同図の例では、チャンクデータファイルの各センサデータＬ１１、Ｌ１４、Ｌ１７は、図３の例で示した、情報一次保持部１０３が保持するセンサデータのうち、予め定められた条件「部屋＝Ｒ１」を満たす点で相互に近似するセンサデータである。図４のファイルでは、図３の例で示した、情報一次保持部１０３が保持するセンサデータの中から、条件「部屋＝Ｒ１」を満たすセンサデータが、時刻の古い順に３つ選択されている。図４の例では、条件「部屋＝Ｒ１」と、時刻の古い順に３番目以内という条件とが予め定められており、この予め定めら得た条件に従ってファイルが生成されている。
また、チャンクデータファイルには、予め定められたファイル名生成規則に基づいて、ファイル名が付されている。図４の例では、条件「部屋＝Ｒ１」を満たすセンサデータのチャンクデータファイルに付される固定の文字列「ＤＡＴ」と、「部屋＝Ｒ１」を満たすセンサデータを含むことを示す「Ｒ１」と、通し番号を示す固定の文字列「ＳＥＲ」と、通し番号「０１」と、チャンクデータファイルを示す拡張子「．ＣＮＫ」とを結合したファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」が付されている。
【００３３】
次に、チャンクデータファイル生成後に情報一次保持部１０３が保持するセンサデータテーブルについて説明する。
図５は、チャンクデータファイル生成後に情報一次保持部１０３が保持するセンサデータテーブルの例を示す図である。
情報切り出し部１０６は、情報一次保持部１０３から相互に近似するセンサデータを選択してチャンクデータファイルを生成すると、チャンクデータファイルに含めたセンサデータを、情報一次保持部１０３が保持するセンサデータテーブルから削除する。図５では、情報切り出し部１０６が、図３のセンサデータテーブルから図４のチャンクデータファイルを生成した後の、センサデータテーブルが示されている。同図の例では、情報一次保持部１０３が保持するセンサデータテーブルには、図３のセンサデータテーブルに含まれるセンサデータＬ１１〜Ｌ１８から、図４のチャンクデータファイルに含まれるセンサデータＬ１１とＬ１４とＬ１７とを除いたセンサデータＬ１２とＬ１３とＬ１５とＬ１６とＬ１８とが含まれている。
【００３４】
次に、索引保持部１０７が保持する索引情報テーブルのデータ構成について説明する。
図６は、索引情報テーブルの例を示す図である。
索引情報テーブルの各行は、索引情報となっている。索引情報は、チャンクデータファイルのインデックス情報であり、チャンクデータファイルのファイル名と、当該チャンクデータファイルに含まれるセンサデータに共通する条件を示す情報とが含まれる。
例えば、図６の索引情報テーブルは索引情報Ｌ２１〜Ｌ２４を含む。そして、索引情報Ｌ２４は、図４に示したチャンクデータファイルの索引情報であり、ファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」を含み、また、センサデータに共通する条件として、当該ファイルが含むセンサデータのうち最古および最新の時刻情報（図４のセンサデータＬ１１の時刻から同図のセンサデータＬ１７までの時刻を示す時刻情報）と、条件「部屋＝Ｒ１」を示す記述とを含む。
【００３５】
次に、ホスト１３０が情報記録装置１００に送信する、検索要求のデータ構成について説明する。
図７は、検索要求の例を示す図である。
検索要求は、検索式と一括回答フラグとを含む。例えば、図７の検索要求Ｆ１５１は、検索式Ｆ２７１と、一括回答フラグとを含む。検索式Ｆ２７１は、ホスト１３０が要求するセンサデータの条件を示す情報である。一括回答フラグは、後述する一括回答を行うか否かを示すフラグであり、「Ｙｅｓ」または「Ｎｏ」の値をとる。
図７の検索要求Ｆ１５１は、ホスト１３０が、「部屋＝Ｒ１」かつ「姿勢＝寝」を満たすセンサデータを要求していることを示し、また、一括回答を行うことを示している。
【００３６】
次に、図８および図９を用いて、情報記録装置１００がホスト１３０に送信する、検索結果のデータ構成について説明する。
図８は、一括回答を行う場合の検索結果の例を示す図である。
検索結果は、検索要求に対する回答であり、情報一次保持部１０３が保持するセンサデータのうち、検索要求が示す条件に合致するセンサデータを含む。ここで、検索要求が示す条件に「合致」するセンサデータとは、検索要求が示す条件の全てを満たすセンサデータをいう。
さらに、検索要求の一括回答フラグが「Ｙｅｓ」の場合は、検索結果は、分散ファイルシステム１１１が保持するチャンクデータファイルのうち、検索要求が示す条件に適合するファイルのファイル名を含む。一方、検索要求の一括回答フラグが「Ｎｏ」の場合は、検索結果は、分散ファイルシステム１１１が保持するチャンクデータファイルに含まれるセンサデータのうち、検索要求が示す条件に合致するセンサデータを含む。
【００３７】
ここで、検索要求が示す条件に「適合」するファイルとは、当該ファイルの索引情報の示す条件（ファイルに含まれるセンサデータに共通する条件）が、検索要求の示す条件（検索式）に矛盾しないファイルをいう。検索要求の示す条件の全てについて、その属性が、索引情報に含まれない場合、あるいは、その属性が、索引情報に含まれ、かつ、その値が整合する（値が一致する。検索要求または索引情報が値の範囲を示す場合は、少なくとも一部が重なる。）場合は、当該ファイルは当該検索要求に適合する。一方、検索要求の示す条件のうち、いずれかの条件の属性が、索引情報に含まれ、かつ、その値が整合しない（値が異なる。検索要求または索引情報が値の範囲を示す場合は、重なる部分が無い。）場合は、当該ファイルは当該検索要求に適合しない。
【００３８】
例えば、図７の検索要求Ｆ１５１の示す条件は、「部屋＝Ｒ１」かつ「姿勢＝寝」である。これと図６の索引情報Ｌ２４が示す条件「時刻=○○○〜○○○」かつ「部屋＝Ｒ１」とを対比すると、検索要求Ｆ１５１の示す属性「部屋」は、索引情報Ｌ２４に含まれており、かつ、検索要求Ｆ１５１の示す値「Ｒ１」は、索引情報Ｌ２４の示す値「Ｒ１」と一致する。また、検索要求Ｆ１５１の示す属性「姿勢」は、索引情報Ｌ２４には含まれない。従って、索引情報Ｌ２４は、検索要求Ｆ１５１に適合する。
一方、検索要求Ｆ１５１と図６の索引情報Ｌ２３とを対比すると、検索要求Ｆ１５１の示す属性「部屋」は、索引情報Ｌ２３に含まれており、かつ、検索要求Ｆ１５１の示す値「Ｒ１」は、索引情報Ｌ２３の示す値「Ｒ２」と異なる。従って、索引情報Ｌ２３は、検索要求Ｆ１５１に適合しない。
【００３９】
図８は、図７の検索要求Ｆ１５１に対する検索結果Ｆ１５２の例を示しており、図５のセンサデータテーブルに含まれるセンサデータのうち、図７の検索要求Ｆ１５１の示す条件「部屋＝Ｒ１」かつ「姿勢＝寝」を満たすセンサデータＬ１８を含む。
また、図７の検索要求Ｆ１５１の一括回答フラグは「Ｙｅｓ」となっているので、図８の検索結果Ｆ１５２は、図６の索引情報Ｌ２１〜Ｌ２４のうち、図７の検索要求Ｆ１５１の示す条件「部屋＝Ｒ１」かつ「姿勢＝寝」に適合する索引情報Ｌ２４に含まれるファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」（図８のファイル名Ｎ１１）を含む。
このように、一括回答とは、検索要求Ｆ１５１に対して、分散ファイルシステム１１１が保持する個々のセンサデータではなく、分散ファイルシステム１１１が保持するチャンクデータファイル名を回答することをいう。情報記録装置１００が、検索要求Ｆ１５１に適合するチャンクデータファイルのファイル名をホスト１３０に回答することにより、ホスト１３０は、条件に合致するセンサデータを、当該ファイル内を検索して取得できる。
【００４０】
図９は、一括回答を行わない場合の検索結果の例を示す図である。
同図の検索結果Ｆ１５３は、図８に示した一括回答を行う場合の検索結果Ｆ１５２と同様、図５のセンサデータテーブルに含まれるセンサデータのうち、図７の検索要求Ｆ１５１の示す条件「部屋＝Ｒ１」かつ「姿勢＝寝」を満たすセンサデータＬ１８を含む。
一方、図９の検索結果Ｆ１５３は、チャンクデータファイルのファイル名は含まず、図７の検索要求Ｆ１５１が示す条件に適合するチャンクデータファイル（図４のチャンクデータファイル）に含まれるセンサデータＬ１１、Ｌ１４、Ｌ１７のうち、条件に合致するセンサデータＬ１４とＬ１７とを含む。
【００４１】
次に、情報記録装置１００の動作について説明する。
図１０は、情報記録装置１００が、相互に近似するセンサデータの切り出しを行う処理手順を示すフローチャートである。
情報記録装置１００は、予め定められた一定時間が経過する毎に同図に示す処理を開始する。なお、情報記録装置１００が同図に示す処理を開始する契機は、予め定められた一定時間の経過に限らない。例えば、情報記録装置１００が登録要求を処理し、情報一次保持部１０３の保持するセンサデータ数が一定個数に達したとき、あるいは、情報記録装置１００が登録要求を処理し、情報一次保持部１０３が保持するセンサデータのうち、相互に近似性の高いセンサデータ数が一定個数に達したときなど、予め定められた一定時間の経過以外の契機で、処理を開始するようにしてもよい。
【００４２】
情報記録装置１００が同図の処理を開始する時点では、情報一次保持部１０３は、例えば図３のようにセンサデータＬ１１〜Ｌ１８をセンサデータテーブル内に保持している。これらのセンサデータのうち、センサデータＬ１１、Ｌ１４、Ｌ１７は、条件「部屋＝Ｒ１」と、時刻の古い順に３番目以内という条件とを満たす点で相互に近似する。
情報記録装置１００は、以下に説明する処理により、このような相互に近似するセンサデータを切り出して１つのチャンクデータファイルに纏め、さらに、このチャンクデータの索引情報を生成する。
例えば、情報記録装置１００は、図３のデータテーブルから相互に近似するセンサデータＬ１１とＬ１４とＬ１７とを読み出し、これらのセンサデータを纏めて、図４に示したチャンクデータファイルを生成する。また、情報記録装置１００は、読み出したセンサデータをセンサデータテーブルから削除して、図５のように、情報一次保持部１０３がセンサデータテーブル内に、残りのセンサデータＬ１２、Ｌ１３、Ｌ１５、Ｌ１６、Ｌ１８を保持する状態とする。さらに、情報記録装置１００は、図６の索引情報Ｌ２４のように、生成したチャンクデータファイルのファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」と、当該チャンクデータファイルに含まれるセンサデータＬ１１とＬ１４とＬ１７とに共通する条件を示す情報「時刻＝○○○〜○○○，部屋＝Ｒ１」とを含む索引情報を生成する。
【００４３】
以下、情報記録装置１００が行う図１０の処理について、より詳細に説明する。
情報記録装置１００が同図の処理を開始すると、まず、近似性算出部１０５が、情報一次保持部１０３が保持するセンサデータの中から相互に近似性の高いセンサデータを検出し、情報選択部１０４は、近似性算出部１０５が検出したセンサデータの中からファイル化の対象とするセンサデータを選択する。情報選択部１０４は、選択したセンサデータを示す情報と、選択条件を示す情報とを、情報切り出し部１０６に出力する。
【００４４】
ここで、相互に近似性の高いセンサデータとは、予め定められた条件を共に満たすセンサデータをいう。
例えば、近似性算出部１０５は、登録要求受信時刻またはセンサデータ発生時刻などの時刻が近い、あるいは、扱うセンサの種別が同じである、あるいは、情報発生地点が近い、あるいは、特定の属性について同じ値を持つ、あるいは、特定の属性について値が近接している（差が予め定められた閾値以下である）、あるいは、属性＝値の組の並びで表される２つのデータを比較したとき同じ属性を多数（予め定められた個数以上）含む、等の条件のいずれか、あるいは、これらの条件を組み合わせて得られる条件を用いて、条件を満たすセンサデータを相互に近似性の高いセンサデータとして検出する。
【００４５】
さらに、時刻の近さの条件として、近似性算出部１０５は、例えば、両時間が予め定められた閾値時間以内である、あるいは、時刻の古い順または新しい順または中間のいずれかの部分から順に予め定められた個数だけ選択する、等の条件、あるいは、これらの条件を組み合わせて得られる条件を用いる。また、情報発生地点の近さの条件としては、例えば、両地点の距離が、予め定められた閾値距離内である、あるいは、予め定められた基準地点からの距離が、予め定められた閾値距離内である、あるいは、予め定められた基準地点に近い順に予め定められた個数だけ選択する、等の条件、あるいは、これらの条件を組み合わせて得られる条件を用いる。
例えば、近似性算出部１０５は、図３の情報一次保持部１０３が保持するセンサデータＬ１１〜Ｌ１８の中から、属性「部屋」の値が同じであり、かつ、登録要求の受信時刻が最も過去のものから順に３つ以内のデータを選択する。属性「部屋」の値が共に「Ｒ１」のセンサデータを３つ以内選択すると、センサデータＬ１１、Ｌ１４、Ｌ１７となる。属性「部屋」の値が共に「Ｒ２」のセンサデータの場合は、センサデータＬ１３、Ｌ１６となる。属性「部屋」の値が共に「Ｒ３」のセンサデータの場合は、センサデータＬ１４、Ｌ１８となる。
【００４６】
近似性算出部１０５が相互に近似性の高いセンサデータを検出すると、次に、情報選択部１０４は、近似性算出部１０５が検出したセンサデータの中からファイル化の対象とするセンサデータを選択する。例えば、情報選択部１０４は、相互に近似性の高いデータ数が多いセンサデータを選択する。上述の例の場合、近似性算出部１０５が検出したセンサデータのうち、属性「部屋」の値が共に「Ｒ１」のセンサデータとして検出したものは、センサデータＬ１１とＬ１４とＬ１７との３個である。これに対して、属性「部屋」の値が共に「Ｒ２」、「Ｒ３」のセンサデータとして検出したものは、それぞれ、センサデータＬ１３とＬ１６、センサデータＬ１４とＬ１８の２個である。そこで、情報選択部１０４は、センサデータ数が最も多い、属性「部屋」の値が共に「Ｒ１」のセンサデータを選択する。
そして、情報選択部１０４は、選択したセンサデータを示す情報として、例えば、センサデータＬ１１とＬ１４とＬ１７との、図３のセンサデータテーブル内における情報の古い順を示す、「１」と「４」と「７」とを、情報切り出し部１０６に出力する。また、情報選択部１０４は、選択条件を示す情報として、選択したうちで最古のセンサデータＬ１１と最新のセンサデータＬ１７との時刻を示す「時刻＝○○○〜○○○」と、属性「部屋」の値を示す「部屋＝Ｒ１」とを、情報切り出し部１０６に出力する（以上、手順Ｓ２４１）。
【００４７】
情報切り出し部１０６は、情報選択部１０４から出力される情報に基づいて、当該情報が示すセンサデータを、情報一次保持部１０３から読み出す（手順Ｓ２４２）。そして、情報切り出し部１０６は、読み出したセンサデータを含むチャンクデータファイルを生成し、予め定められたファイル名生成規則に従って、生成したチャンクデータファイルにファイル名を付す。例えば、情報切り出し部１０６は、センサデータＬ１１とＬ１４とＬ１７とを含む、図４のチャンクデータファイルを生成し、生成したチャンクデータファイルに、図４で説明したファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」を付す。
情報切り出し部１０６は、ファイル名を付したチャンクデータファイルを、分散ファイルシステム１１１に出力し、分散ファイルシステム１１１は、このチャンクデータファイルを保持する（以上、手順Ｓ２４３）。
【００４８】
次に、情報切り出し部１０６は、生成したチャンクデータファイルのファイル名と、情報選択部１０４から出力された選択条件を示す情報とを含む索引情報を生成し、索引保持部１０７の索引情報テーブルに書き込む。例えば、情報切り出し部１０６は、手順Ｓ２４２で生成したチャンクデータファイルのファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」と、情報選択部１０４から出力される選択条件を示す情報「時刻＝○○○〜○○○」および「部屋＝Ｒ１」とを含む索引情報を生成し、図６の索引情報Ｌ２４のように、索引保持部１０７の索引情報テーブルに書き込む（以上、手順Ｓ２４４）。
さらに、情報切り出し部１０６は、手順Ｓ２４２でチャンクデータファイルに含めたセンサデータを、情報一次保持部１０３のセンサデータテーブルから削除する（手順Ｓ２４５）。例えば、情報切り出し部１０６は、図３のセンサデータテーブルから、センサデータＬ１１とＬ１４とＬ１７とを削除する。これにより、センサデータテーブルは、図５のようになる。
その後、情報記録装置１００は、図１０の処理を終了する。
【００４９】
以上の処理によって、情報一次保持部１０３の持つデータの個数は一定程度に少ない状態で維持され、一方、相互に近似性の高い情報のみが集まったチャンクデータファイルが、分散ファイルシステム１１１上に次々と生成される。その際、各チャンクデータファイルは、１行に１センサデータが記述された可読なテキストファイル形式にて生成される。また、それらチャンクデータファイルの索引情報が、索引保持部１０７に構築される。
【００５０】
図１１は、情報記録装置１００が、検索要求に対する検索結果を生成してホスト１３０に送信する処理手順を示すフローチャートである。
情報記録装置１００は、ホスト１３０から検索要求を受信すると、同図の処理を開始する。
【００５１】
情報記録装置１００が同図の処理を開始する時点では、分散ファイルシステム１１１は、互いに共通するセンサデータを纏めたチャンクデータファイルを保持し、情報一次保持部１０３は、チャンクデータファイルのセンサデータを切り出した残りのセンサデータを保持している。また、索引保持部１０７は、分散ファイルシステム１１１の保持するチャンクデータファイルの索引情報を保持している。例えば、分散ファイルシステム１１１は、互いに共通するセンサデータＬ１１とＬ１４とＬ１７とを纏めた図４のチャンクデータファイルを保持し、情報一次保持部１０３は、図５のように、残りのデータファイルＬ１２とＬ１３とＬ１５とＬ１６とＬ１８を保持している。また、索引保持部１０７は、図６のように、図４のチャンクデータファイルの索引情報Ｌ２４を含む索引情報を保持している。
【００５２】
情報記録装置１００は、以下に説明する処理により、ホスト１３０からの検索要求に含まれる検索式に基づいて、情報一次保持部１０３が保持するセンサデータのうち、検索式に合致するセンサデータを含み、さらに、分散ファイルシステムが保持するチャンクデータファイルのうち、検索式に適合するチャンクデータファイルのファイル名を含む検索結果を生成する。例えば、情報記録装置１００は、図５のデータファイルのうち、図７の検索要求Ｆ１５１の検索式Ｆ２７１に合致するセンサデータＬ１８を含み、さらに、検索式Ｆ２７１に適合する図４のチャンクデータフィルのファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」を含む、図８の検索結果Ｆ１５２を生成する。
あるいは、情報記録装置１００は、情報一次保持部１０３が保持するセンサデータのうち、検索式に合致するセンサデータを含み、さらに、分散ファイルシステムがチャンクデータファイル内に保持するセンサデータのうち、検索式に合致するセンサデータを含む検索結果を生成する。例えば、情報記録装置１００は、図５のデータファイルのうち、検索式Ｆ２７１に合致するセンサデータＬ１８を含み、さらに、図４のチャンクデータフィル内のセンサデータのうち、検索式Ｆ２７１に合致するセンサデータＬ１４とＬ１７とを含む、図９の検索結果Ｆ１５３を生成する。
【００５３】
以下、情報記録装置１００が行う図１１の処理について、より詳細に説明する。
要求処理部１０１が、ホスト１３０からネットワーク１２０を介して送信される検索要求を受信して、情報記録装置１００が図１１の処理を開始すると、要求処理部１０１は、受信した検索要求を情報検索部１０９に出力する。情報検索部１０９は、検索要求から検索式を読み出し、情報一次保持部１０３のセンサデータテーブルを検索して、検索式に合致するセンサデータを読み出す。
例えば、情報検索部１０９は、図７の検索要求Ｆ１５１から検索式Ｆ２７１（「部屋＝Ｒ１，姿勢＝寝」）を読み出し、図５の情報一次保持部１０３のセンサデータテーブルから、検索式Ｆ２７１に合致するセンサデータを読み出す。図８および図９で説明したように、図５のセンサデータのうち、検索式Ｆ２７１の条件「部屋＝Ｒ１」と「姿勢＝寝」とを共に満たすセンサデータＬ１８が、検索式Ｆ２７１に合致する。そこで、情報検索部１０９は、このセンサデータＬ１８を読み出す（以上、手順Ｓ２８１）。
情報検索部１０９は、読み出したセンサデータの各々をリストの１行とする回答リストを生成し、情報検索部１０９内部の回答リスト保持部（不図示）に一時的に保持しておく（手順Ｓ２８２）。
【００５４】
次に、情報検索部１０９は、索引保持部１０７の索引情報テーブルを検索して、検索式に適合する索引情報を読み出す。
例えば、情報検索部１０９は、図６の索引保持部１０７の索引情報テーブルから、図７の検索式Ｆ２７１に適合する索引情報を読み出す。図８および図９で説明したように、図６の検索情報のうち、検索式Ｆ２７１の条件「部屋＝Ｒ１」を満たし（属性および値が一致し）、条件「姿勢＝寝」については属性が示されていない索引情報Ｌ２４（「ファイル名＝ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ，時刻＝○○○〜○○○，部屋＝Ｒ１」）が、検索式Ｆ２７１に適合する。そこで、情報検索部１０９は、この索引情報Ｌ２４を読み出す（以上、手順Ｓ２８３）。
【００５５】
次に、情報検索部１０９は、検索要求の一括回答フラグの値が「Ｙｅｓ」か否かを判定する（手順Ｓ２８４）。
一括回答フラグが「Ｙｅｓ」であると判定した場合（手順Ｓ２８４：Ｙｅｓ）は、情報検索部１０９は、手順Ｓ２８３で読み出した索引情報に含まれるファイル名を、情報検索部１０９内部に保持する回答リストに追加する。例えば、図７の検索要求Ｆ１５１の一括回答フラグは「Ｙｅｓ」であり、情報検索部１０９は、手順Ｓ２８３で読み出した索引情報Ｌ２４に含まれるファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」を、回答リストに追加する（以上、手順Ｓ２８５）。
【００５６】
一方、一括回答フラグの値が「Ｎｏ」の場合（手順Ｓ２８４：Ｎｏ）、この一括回答フラグは、ホスト１３０がチャンクデータファイル名ではなく個々のセンサデータを含む検索結果を要求していることを示している。そこで、情報検索部１０９は、手順Ｓ２８３で読み出した索引情報に含まれるファイル名のそれぞれについて、以下の手順を実施する。まず、分散ファイルシステム１１１からチャンクデータファイルを読み出し（手順Ｓ２８６）、読み出したチャンクデータファイルの各々を、手順Ｓ２８１と同様に検索して、検索式に合致するセンサデータを読み出し（手順Ｓ２８７）、読み出したセンサデータを、情報検索部１０９内部に保持する回答リストに追加する。
例えば、情報検索部１０９は、手順Ｓ２８３で読み出した索引情報Ｌ２４に含まれるファイル名「ＤＡＴＲ１ＳＥＲ０１．ＣＮＫ」に基づいて、分散ファイルシステム１１１から図４のチャンクデータファイルを読み出す。そして、このチャンクデータファイルから、図７の検索式Ｆ２７１「部屋＝Ｒ１，姿勢＝寝」に合致するセンサデータＬ１４とＬ１７とを読み出し、回答リストに追加する（以上、手順Ｓ２８８）。
【００５７】
そして、情報検索部１０９は、要求処理部１０１に、回答リストを出力する。要求処理部１０１は、情報検索部１０９から出力される回答リストを含む検索結果を生成し、ネットワーク１２０を介してホスト１３０に送信する。
例えば、一括回答フラグが「Ｙｅｓ」の場合、要求処理部１０１は、手順Ｓ２８１で読み出したセンサデータＬ１８と、手順Ｓ２８３で読み出したファイル名Ｎ１１とから構成される回答リストを含む、図８の検索結果を送信する。一方、一括回答フラグが「Ｎｏ」の場合、要求処理部１０１は、手順Ｓ２８１で読み出したセンサデータＬ１８と、手順Ｓ２８８で読み出したセンサデータＬ１４とＬ１７とから構成される回答リストを含む、図９の検索結果を送信する（以上、手順Ｓ２８９）。
その後、情報記録装置１００は、図１１の処理を終了する。
【００５８】
情報記録装置１００から送信される検索結果をホスト１３０が受信すると、ホスト１３０のアプリケーション部１３２は、受信した検索結果を以下のように用いることができる。
まず、検索結果のうち、センサデータが記載されている行は、検索式に合致するセンサデータそのものを示しているので、アプリケーション部１３２は、そのままデータとして自らの処理（アプリケーション実行）に用いることができる。例えば、図８の検索結果Ｆ１５２の１行目のセンサデータＬ１８や、図９の検索結果Ｆ１５３の１〜３行目のセンサデータＬ１８、Ｌ１４、Ｌ１７は、図７の検索要求Ｆ１５１の検索式Ｆ２７１に合致するセンサデータそのものであり、アプリケーション部１３２は、これらをそのままデータとして用いることができる。
【００５９】
また、チャンクデータファイル名が記載されている行は、検索式に合致するセンサデータを含む可能性があるファイルのファイル名を示している。アプリケーション部１３２は、自らと同じくホスト１３０に含まれる分散ファイルシステム１３１から、この近時データファイル名のファイルを読み出す。一般に分散ファイルシステムは、ネットワークで接続された遠隔のコンピュータ上の情報を読み取る機能を提供するシステムである。本実施形態では、アプリケーション部１３２が分散ファイルシステム１３１からのファイルの読み出しを行うと、ホスト１３０と遠隔の情報記録装置１００上にある分散ファイルシステム１１１が、自身の保持するチャンクデータファイルを分散ファイルシステム１３１へと転送し、分散ファイルシステム１３１が、転送されたチャンクデータファイルをアプリケーション部１３２に読み取らせる。アプリケーション部１３２は、図１１の手順Ｓ２８１と同様に、読み取ったチャンクデータファイル内を検索して、検索式Ｆ２７１に合致するデータを読み出し、読み出したデータを自らの処理に用いることができる。
あるいはアプリケーション部１３２が、テキストエディタやワープロ、あるいは、テキスト処理言語Ｐｅｒｌ、Ｒｕｂｙ、Ｐｙｔｈｏｎ等の、テキストファイルを取り扱う一般的なソフトウェアを用いて、分散ファイルシステム１３１を経由して読み出したチャンクデータファイルを直接表示するようにしてもよい。チャンクデータファイルの各センサデータは、テキスト形式で格納されているので、ユーザがデータを読み取り、編集等の処理を行うことができる。
【００６０】
以上述べたように、本実施形態では、扱うデータが適宜ファイルとして集められているので、情報記録装置１００やホスト１３０は、ファイルの形のままでデータを取り扱うことができ、全てのデータを個別ばらばらのデータとして処理しなくてよく、処理オーバーヘッドを小さくできる。具体的には、次の箇所のオーバーヘッドを小さくできる。
【００６１】
まず、情報記録装置１００は、相互に近似するセンサデータをチャンクデータファイルに纏めて保持するので、センサデータを検索する際には、検索式に適合するチャンクデータファイルを選択して検索範囲を絞り込んだうえで、個々のチャンクデータファイル内を検索すればよい。したがって、１つのＲＤＢ内に大量のデータを保持する従来の方法と比較すると、１回の検索の対象とするデータ数を大幅に減らすことができ、大量のデータの中から高速にデータを読み出すための大掛かりな索引情報は不要である。これにより、索引情報等を保持する記憶領域のオーバーヘッドを小さくできる。
【００６２】
次に、検索式に合致する行の並びを得る検索処理のオーバーヘッドを小さくできる。上述のように、情報記録装置１００は、センサデータの検索の際に、検索式に適合するチャンクデータファイルを選択して検索範囲を絞り込んだうえで、個々のチャンクデータファイル内を検索すればよい。これにより、照合するセンサデータの個数を比較的少なくでき、照合を行う負荷を軽減できる。
また、一括回答を行う場合は、情報記録装置１００は、チャンクデータファイル名を回答すればよいので、検索結果回答のために個々のセンサデータを一時的に蓄える必要が無い。したがって、検索結果のセンサデータを一時的に蓄えるためのセンサデータ読み書きの負荷が生じない。
【００６３】
また、一括回答を行う場合は、検索結果をネットワーク経由で転送するオーバーヘッドを小さくできる。すなわち、一括回答を行う場合、情報記録装置１００は、ホスト１３０にチャンクデータファイルのファイル名を送信すればよく、個々のデータを送信する従来の方法よりも通信量を少なくでき、ネットワークの負荷を軽減できる。また、情報記録装置１００は、ホスト１３０にセンサデータを送信する際に、チャンクデータファイルに含めて送信するので、分散ファイルシステム１１１および１３１を用いて送信できる。したがって、キャッシュによる転送負荷の低減など、分散ファイルシステム技術を用いてネットワーク負荷を軽減できる。
【００６４】
さらに、アプリケーション部１３２が分散ファイルシステム１３１経由でチャンクデータファイルとして読み出すセンサデータは、テキストファイルとして密に格納されている。すなわち、図４のセンサデータＬ１１で、長さの異なる文字列「センサＩＤ」と「１」とが、いずれも余白を含まずに「＝」を挟んで結合されているように、センサデータ、ひいては、チャンクデータファイルは、データを固定長とするための余白を含んでいない。したがって、保持領域のオーバーヘッドが小さい。
さらに、一括回答がＹｅｓの場合は、ホスト１３０のアプリケーション部１３２は、検索結果のセンサデータをファイルにて一括して読み出すことができ、センサデータを一括処理できる。したがって、センサデータが個別ばらばらに入力される場合のように、計算リソースや記憶リソースを確保したままでセンサデータを待ち受ける必要がなく、また、センサデータを一括して処理するために入力されるセンサデータを一時的にメモリに蓄える必要も無く、センサデータを一時的に保持する負荷を極めて小さくできる。
【００６５】
さらに、個々のデータは可読テキスト形式で格納されており、例えば図１１の手順Ｓ２８１以降で得られた情報一次保持部１０３の保持する情報からの検索結果を回答する際、従来必要とされていたマーシャリングおよびアンマーシャリング処理を行わなくて済む。
ここでいう「マーシャリング」とは、データをネットワーク送出可能な形式に変換する処理であり、「アンマーシャリング」とは、検索結果を受け取ったアプリケーションが該データをネットワーク送出可能な形式から復元する処理をいう。マーシャリングおよびアンマーシャリングは、例えば分散システムにおいてデータを伝送するために広く用いられる技術である。データを個別にネットワーク送出可能な形式に変換する従来の情報記録装置では、センサデータなど多数のデータを送信する際の、マーシャリングおよびアンマーシャリングの負荷が無視できない負担となっていた。すなわち、従来の情報記録装置では、可読でないバイナリ形式でデータをＲＤＢに蓄積することが一般的であり、検索式による検索の後、検索結果の個々のデータをマーシャリング処理してネットワーク送出可能な形式に変換して送信し、受信側では、受信したデータをアンマーシャリング処理してアプリケーションが使いやすい形式へと変換していたが、この一連の処理は処理オーバーヘッドが大きい。一方、処理オーバーヘッドを回避するためにこれら処理の一部を行わないようにすると、可読でないバイナリ形式でデータが格納されているためデータを扱いにくい（例えばアプリケーション設計の際の負荷が大きくなる）という問題が生じる。また、センサデータとして計測される多種多様なデータを扱うために、スキーマを定めず、例えばオブジェクト指向等の柔軟性の高い方法でデータを格納することが従来行われていたが、一般には柔軟性の高いデータ構造ほどマーシャリングおよびアンマーシャリングの負荷が大きくなる傾向にある。
これに対して、本実施形態では、個々のデータは可読テキスト形式で格納されており、マーシャリングおよびアンマーシャリングが不要なので、センサデータとして計測される多種多様なデータを、スキーマを定めず扱いつつ、データ伝送に伴う負荷を極めて小さくでき、また、データが扱いにくいという問題も生じない。
【００６６】
さらに、一括回答を行う場合は、例えば図１１の手順Ｓ２８３以降で得られた、チャンクデータファイル名を該検索結果に含めればよく、ここでも、従来必要とされていたマーシャリングおよびアンマーシャリング処理を行わなくて済む。したがって、データ伝送に伴う負荷を極めて小さくできる。
さらに、本実施形態では、チャンクデータファイルを、分散ファイルシステムを経由して遠隔のコンピュータに転送するので、分散ファイルシステム技術の持つキャッシュによる転送負荷の低減効果を期待できる。さらに、分散ファイルシステム技術により遠隔のコンピュータ上のファイル読み出しが容易になる利点を活用でき、例えばテキストエディタで直接ファイルを開くことができる等、データ利用の利便性が向上する。さらに、一部の分散ファイルシステム技術の持つ、データの複製を管理する等により耐故障性に優れるという特徴も享受し得る。
【００６７】
さらに、チャンクデータファイルは、相互に近似性の高いセンサデータを含んで構成される。このため、アプリケーション部１３２が分散ファイルシステム１３１経由でチャンクデータファイルとしてデータを読み出す際、無駄なデータが含まれる確率が比較的小さく、ネットワークを経由して無駄なデータの転送を抑止できる。さらに、アプリケーション部１３２が、チャンクデータファイル内を検索して検索式Ｆ２７１に合致するセンサデータを読み出す際に、検索式Ｆ２７１に合致しないセンサデータ含まれる確率が比較的小さいので、無駄なデータを選り分ける負荷を低減できる。
【００６８】
なお、本実施の形態においては、センサデータ情報の符号化は、「属性＝値」の組の並び形式で表現される可読形式の１行のテキスト情報であるが、本発明の範囲はこれに限定されるものではなく、不可読形式を含む任意の情報符号化方式にも適用できる。また、例えばＸＭＬやＪＳＯＮ仕様等を用いて表現した、複数行からなる可読のテキスト情報に基づく情報符号化方式にも適用できる。
なお、本実施の形態においては、チャンクデータファイルは、分散ファイルシステム１１１上に作成されるが、本発明の範囲はこれに限定されるものではなく、ＯＳが一般に提供する通常のファイルシステムや、あるいは、ＲＤＢＭＳやＸＭＬデータベースシステム等の情報記録システム上に作成することもできる。あるいは、分散ファイルシステムとしてＯＳに内蔵されている機能であるＮＦＳやＣＩＦＳ（ＳＭＢ）等を用いてもよい。あるいは、ウェブ技術のＨＴＴＰおよびその拡張であるＷｅｂＤＡＶ等、あるいは、クラウドと称される技術のＧＦＳやＨａｄｏｏｐ等、あるいは、キーバリューストアと呼ばれる技術のＤｙｎａｍｏやｍｅｍｃａｃｈｅｄ等を用いてもよい。
【００６９】
なお、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通じて提供することも可能である。
例えば、情報記録装置１００の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の保持装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７０】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【００７１】
本発明は、情報記録装置、情報記録方法およびプログラムに用いて好適である。
【符号の説明】
【００７２】
１００  情報記録装置
１０１  要求処理部
１０２  情報登録部
１０３  情報一次保持部
１０４  情報選択部
１０５  近似性算出部
１０６  情報切り出し部
１０７  索引保持部
１０９  情報検索部
１１１、１３１  分散ファイルシステム
１２０  ネットワーク
１３０  ホスト
１３２  アプリケーション部
１４０−１〜１４０−３  センサ
【図１】
2011170791.tif 000003
【図２】
2011170791.tif 000004
【図３】
2011170791.tif 000005
【図４】
2011170791.tif 000006
【図５】
2011170791.tif 000007
【図６】
2011170791.tif 000008
【図７】
2011170791.tif 000009
【図８】
2011170791.tif 000010
【図９】
2011170791.tif 000011
【図１０】
2011170791.tif 000012
【図１１】
2011170791.tif 000013