JP5879284B2 - 情報記録方法及び情報記録装置及びプログラム - Google Patents

情報記録方法及び情報記録装置及びプログラム Download PDF

Info

Publication number
JP5879284B2
JP5879284B2 JP2013033040A JP2013033040A JP5879284B2 JP 5879284 B2 JP5879284 B2 JP 5879284B2 JP 2013033040 A JP2013033040 A JP 2013033040A JP 2013033040 A JP2013033040 A JP 2013033040A JP 5879284 B2 JP5879284 B2 JP 5879284B2
Authority
JP
Japan
Prior art keywords
data
information
search
chunk
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013033040A
Other languages
English (en)
Other versions
JP2014164382A (ja
Inventor
中村 隆幸
隆幸 中村
啓一郎 柏木
啓一郎 柏木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013033040A priority Critical patent/JP5879284B2/ja
Publication of JP2014164382A publication Critical patent/JP2014164382A/ja
Application granted granted Critical
Publication of JP5879284B2 publication Critical patent/JP5879284B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、センサ情報データベースを構成する情報記録方法及び情報記録装置及びプログラムに関する。
従来、センサの計測データのような情報すなわちセンサ情報を効率的に蓄積することを目的として、チャンクと呼ばれるデータファイルを生成する方法ならびに装置(特許文献1)が提案されていた。
該装置の基本的な動作の要点は、特許文献1の記載を、以下で述べていく本発明の記載内容に倣って適宜読み替えると、次の特徴で表される。「複数の属性値を含むデータ群を保持する情報保持部と、前記情報保持部が保持する前記データのうち、前記属性値に関して予め定められた条件を満たす情報を選択する情報選択部と、前記情報選択部が選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択部が選択した前記情報を前記情報保持部から削除する情報切り出し部と、を具備することを特徴とする。」
上記従来技術の特徴によれば、情報保持部がセンサ情報の一時的なバッファとして機能し、センサ情報のアーカイブファイルであるチャンクと呼ばれるデータファイルを順次生成していく。チャンクは予め定められた条件、例えば「温度センサに関するデータ」等によって整理された状態で生成される。この条件は、例えば、個々のデータが複数の属性値を含むため、その属性の値あるいは属性の名前等によって判断してよい。これによって、大量のデータを長期間に渡って高速に蓄積でき、情報保持部は一定程度の記憶領域で実現でき、かつ、チャンクはファイル転送等によって容易に別のコンピュータに移し替えて使用することができる等の利点が得られる。
また従来、多次元検索木UBI-Treeのような木構造アルゴリズムを用いて、効率的にチャンクを生成する方法(非特許文献2)があった。この従来技術によれば、情報保持部を木構造アルゴリズムで保持することにより、木構造で近傍にあるデータすなわちデータ値が相互に関連の深いデータをひとまとまりとして、チャンクを生成することができる。このため、様々な種類のセンサ情報を一度に取り扱う場合にも柔軟な動作が可能である。
一方、近年、スマートフォンに代表される小型の携帯型装置が普及している。これらの装置は、計算速度やメモリ等に関してはパソコンやサーバ装置に比べて劣る反面、小型軽量で可搬性に優れ、かつ、加速度センサやGPSやジャイロセンサや近接センサや温度計や照度計やカメラや音量計やマイクやNFCやFeliCaなどの、数多くのセンサを搭載しているという特徴がある。また、携帯電話回線や無線LAN等によってインターネット接続も可能であり、内蔵センサに加えてそれらネット上の情報も併せて取り扱うことができる。従って、これらの情報を順次蓄積したいという要求が高まっている。
特開2011-170791号公報
「多次元検索木UBI-Treeを用いたスキーマレスなセンサデータの高品質なチャンク生成方式」荒川 豊ほか著、電子情報通信学会 2012年総合大会、B-19-16、2012年3月
従来技術におけるチャンク生成ならびにそれを特徴とする情報記録装置では、スマートフォン等で用いる際、計算量(処理の量)や必要メモリが大きすぎるといった問題があった。具体的には以下のような問題が挙げられる。
まず、情報保持部が多くのメモリを要求するとともに、情報保持部から情報を選択する動作に多くの計算量を要するという問題があった。例えば特許文献1には一実施形態が開示されているが、この情報選択動作においては、情報保持部の保持するデータ内容を全て調べて、情報切り出しの対象を選択する必要があり、計算量が大きかった。また例えば非特許文献1では、情報保持部をUBI-Tree検索木で構成する形態が開示されているが、この索引が占めるメモリ量が大きかった。
次に、情報切り出しは情報保持部からチャンクへのデータの複製を伴うが、この処理の量が大きいという問題があった。
次に、データ検索の際の計算量が大きいという問題があった。チャンクの形で保存されているデータに対して検索を行う際、全てのデータを検索すると、大量のデータを調査しなければならず、このための処理の量が大きかった。
次に、データ検索で得られたセンサ情報を、アプリケーションプログラムが使用する際に必要となるメモリが大きくなってしまうという問題があった。情報記録装置、いわゆるデータベース管理システムに対してアプリケーションが検索要求を発行すると、データベース管理システムは検索結果のデータをアプリケーションに返却する。センサ情報を扱うアプリケーションでは、例えば加速度の分析処理を行う場合等、一定期間のセンサ情報が時系列的にどのように変化するかを解析して、その特徴を抽出することが求められる。このために必要となるデータの総量は比較的大きくなってしまう。PC上での解析であれば問題ないデータ量であっても、スマートフォン等ではアプリケーションプログラムで使用可能なメモリ領域に制約がある場合が多く、上記のような処理がメモリ制約によって記述できないという問題があった。
さらに、処理性能の関係からデータ検索には一定の時間がかかってしまうが、その間にも新たなセンサ情報の蓄積処理は正常に継続されなければならず、このような要求を満たすことができないという問題があった。
本発明は、このような事情を考慮してなされたものであり、その目的は、比較的小さな計算量および使用メモリによって、センサ情報などのデータをチャンクを生成しつつ順次蓄積し、検索を行う情報記録方法及び情報記録装置及びプログラムを提供することにある。
この発明は上述した課題を解決するためになされたもので、本発明の一様態による情報記録装置は、情報保持部へのデータ蓄積に先立って情報選択部による分類選択を行い、その結果に基づいて予め区分けして情報を記録する。これによって、情報保持部のメモリ量が小さくてすむとともに、情報切り出しの計算量が小さくてすむ。
また、本発明の一様態による情報記録装置は、上述の情報記録装置であって、上記区分けはファイルを個々に作成することで行い、チャンクの生成はファイルのリネームによって行う。これによって、情報切り出しの処理量が小さくてすむ。
また、本発明の一様態による情報記録装置は、チャンクに含まれる時刻情報の範囲をメタ情報保持部が記憶しておく。これによって、検索の際に不要なチャンクのデータファイルへのアクセス処理を行わなくてすむ。
また、本発明の一様態による情報記録装置は、検索結果をアプリケーションに返却する際、複数回に分けて結果を返却する。その際、回数分けの単位はチャンクごととし、生成順序が古いチャンクから処理対象とする。これによって、アプリケーションは検索結果のデータを細切れに受け取ることができるため、一度の処理に要するメモリが少なくてすむ。さらに、アプリケーションは検索結果のデータを蓄積された順番で受け取ることができるため、時系列順にデータ解析するといった処理を記述する際、前回受け取った検索結果等は適宜破棄することができるようになるため、一度の処理に要するメモリが少なくてすむ。一方、これを実現する情報記録装置は簡易な構成あるいは処理でよく、計算量および必要メモリが小さくてすむ。
また、本発明の一様態による情報記録装置は、上述の情報記録装置であって、排他制御手段すなわちマルチスレッドのロックを適切に確保・解放することで複数スレッドによる同時要求を正しく取り扱うことができる。その際、一般的にはデータの読み出し(検索)中には他のデータの書き込み(登録)を同時に行うことはできず処理が待たされることが多いが、該情報記録装置においては、前記のように検索結果のデータを細切れに受け取っている際、その受け取ったアプリケーションプログラムから他のデータの登録要求を受け付けるように、ロックの解放を行う。さらに、そのようなデータ登録要求があった際、それに起因して新たなチャンクが生成される場合があるが、そのような生成を検出する手段と、当該チャンクに対して追加でデータ検索ならびに検索結果の返却を行う手段とを具備することを特徴とする。これによって、データ検索に時間がかかる場合であっても、新たなセンサ情報の蓄積を継続して行うことができ、かつ、そのような蓄積によって該データ検索の結果にデータ抜け等の矛盾を来すことなく正常に動作を継続できる。
より詳細には、以下のようにして、課題を解決する。
複数の属性値を含むデータ群を記録する情報記録装置であって、データを予め定められた条件により分類選択する情報選択部と、該分類結果に従って区分けされた記憶領域にデータを保持する情報保持部と、該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部とを具備する。
該情報保持部は該区分けされた記憶領域の一つ一つをファイルとして保持し、該情報切り出し部は該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と該削除とを一度に行う。
複数の属性値を含むデータ群を記録する情報記録装置であって、該データには少なくとも時刻情報を含み、該データを保持する情報保持部と、該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部と、該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持するメタ情報保持部とを具備し、該情報検索部は該与えられた条件が時刻情報を含む場合には該メタ情報保持部の持つ時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とする。
複数の属性値を含むデータ群を記録する情報記録装置であって、該データを保持する情報保持部と、該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部とを具備し、該情報記録装置はさらに、該情報検索部において、生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う手段と、該情報保持部に対するデータ検索ならびに検索結果の返却を行う手段とを順に実行することによって、登録順序の古いデータから順に検索結果を返却する。
さらに、データの検索動作中に別のデータの登録要求を受け付けた場合にも正常に動作することができる排他制御手段を有し、該情報検索部は、検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように該排他制御手段を用いて制御する手段と、データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索処理中に追加されていることを検出する手段と、該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手段とを有する。
以上述べたように、本発明によれば、比較的小さな計算量および使用メモリによって、センサ情報などのデータをチャンクを生成しつつ順次蓄積し、検索を行う情報記録方法および情報記録装置及びプログラムを提供することができる。
本実施の形態における装置構成を示すブロック図。 本実施の形態におけるディレクトリ構成を示す図。 上記図2に示したディレクトリ構成におけるファイル(203)の中身の一例を示す図。 上記図2に示したディレクトリ構成におけるファイル(206)の中身の一例を示す図。 上記図2に示したディレクトリ構成におけるファイル(204,205)の中身の一例を示す図。 上記図1に示したメタ情報保持部の保持する情報を示す図。 本実施の形態において、登録しようとするセンサデータの一例を示す図。 本実施の形態における登録処理のフローチャート。 本実施の形態において、登録処理後のファイル(203)の中身および新たに生成されるファイルの中身を示す図。 本実施の形態において、登録処理後のメタ情報保持部の保持する情報を示す図。 本実施の形態において、登録処理ならびに検索処理の動作シーケンスの一例を示す図。 本実施の形態における検索条件を示す図。 本実施の形態における検索処理のフローチャート。 本実施の形態における検索結果を示す図。 本実施の形態において、検索処理中に登録処理を行った場合の動作シーケンスの一例を示す図。 本実施の形態において、チャンクを同一ファイルシステムに配置した場合のディレクトリ構成例を示す図。
本発明の実施の形態の一つを以下に示す。
図1は本実施の形態における装置構成を示す。情報記録装置100は温度センサ103と加速度センサ104を具備し、アプリケーション102のプログラムとライブラリ101のプログラムが動作する。ライブラリ101内には、情報選択部110と情報保持部111と情報切り出し部112と情報検索部113とメタ情報保持部114があり、さらに、マルチスレッド動作を保護するためのロック115を1つ持つ。ロック115は一般的なread-writeロック(shared-exclusiveロック)である。この他、情報記録装置100は一般的なスマートフォンが具備するような、タッチパネルディスプレイ130と携帯電話回線のデータ通信機能131と無線LAN(WiFi)通信機能132と内蔵フラッシュメモリ120とmicroSDカードスロット121とを具備する。カードスロット121にはメモリカードが挿入されているものとする。
アプリケーション102は名称を「apl1」と呼称する。また、温度センサ103と加速度センサ104は、大分類を「smphone」と呼称し、小分類をそれぞれ「temperature」と「accel」と呼称するものとする。
上記に示した情報記録装置100を構築するには、例えば、次のような方法がある。まず、ライブラリ101のプログラムは予め作成しておく。次に、アプリケーション102のプログラムを作成し、上記作成したライブラリ101のプログラムと共にコンパイルして、スマートフォン用の実行ファイルを得る。該実行ファイルを、記録媒体あるいは通信回線を通じてスマートフォン用アプリとしてインストールする。以上が情報記録装置100の構築方法の一例である。このような構築方法は、スマートフォンのアプリケーション開発において一般的に行われている。なお、アプリケーション102のプログラムとライブラリ101のプログラムの具体的な中身については、以下で詳細に説明していく。
図2はディレクトリ構成を示す。情報記録装置100は、内蔵フラッシュメモリ120をディレクトリパス/mnt/sdcardにマウントし、microSDカードを/mnt/sdcard/external_sdにマウントする。このようなマウント状況は、市販のスマートフォンにおいて一般的な構成の一例である。図2はそれらマウントされたディレクトリおよびファイルの配置の様子を示している。例えば、ファイル(203)は
パス/mnt/sdcard/apl1/smphone/temperature/pool.txt
で示されるファイルであることが図示されており、また、ファイル(204)は
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/01.cnk
で示されるファイルであることが図示されている。
パスの意味について説明する。ディレクトリ名apl1とは、アプリケーション102の名称「apl1」に由来する。ディレクトリ名smphoneとは、上述の大分類の名称「smphone」に由来する。ディレクトリ名temperatureとは、上述の小分類の名称「temperature」に由来し、同様に、ディレクトリ名accelとは、上述の小分類の名称「accel」に由来する。ディレクトリ名chunkとは、以下で説明する本装置の動作によって次々に生成される、チャンクと呼ばれるデータファイルを格納することに由来する。
図中、記号201は、情報保持部111を示している。本実施の形態においては、情報保持部111とは、特定のフォルダ以下に配置されたファイル群により実現される。ここではセンサの種類によって、ファイル(203)とファイル(206)の2つの記憶領域に区分けされている様子が図示されている。すなわち、ファイル(203)は大分類「smphone」かつ小分類「temperature」に関するセンサデータを保持するために区分けされており、同様に、ファイル(206)は大分類「smphone」かつ小分類「accel」に関するセンサデータを保持するために区分けされている。
また、図中、記号(207)は、以下に示す動作の一例によって、新たなファイルが生成される様子を説明するために本図に記載している。具体的な生成手順は以下で詳細に説明していく。
図3はファイル(203)の中身を示す。既に示したように、該ファイルは大分類「smphone」かつ小分類「temperature」に関するセンサデータ、すなわち、温度センサ103から得られた情報を保持する。ここでは3つのセンサデータが保持されている様子が図示されている。例えば行(301)は、日時(date)が2012年12月06日02時36分18秒かつ大分類(subject)がsmphoneかつ小分類(type)がtemperatureかつ観測値(value)が3.7(度)であるという一の観測結果のデータを表す。なお簡単のため、以下では、時刻表記に「2012-12-06 02:36:18」のような記載も用いることとする。このように、本実施の形態においては、それぞれのセンサデータは「キー=値」の任意個の並びから構成されるデータ形式によって記述することとする。
なお、本発明のいうセンサ情報とは、上記に限らず様々な情報がその対象となるものであって、具体的に一例を挙げると、温度や湿度、電流あるいは電圧値、流体の流量、物質の濃度、明度、騒音、位置、加速度などを含むセンサデバイスが計測した値を取り扱ってよく、またそれに限らず、センサ以外の例えばWebやインターネットを経由して取得した情報であってもよい。さらに、それら値に加えて、センサの特性や状態、計測日時等を示すメタデータを含む情報であってもよい。
図4はファイル(206)の中身を示す。既に示したように、該ファイルは大分類「smphone」かつ小分類「accel」に関するセンサデータ、すなわち、加速度センサ104から得られた情報を保持する。ここでは2つのセンサデータが保持されている様子が図示されている。例えば行(341)は、日時(date)が2012-12-07 13:28:10かつ大分類(subject)がsmphoneかつ小分類(type)がaccelであって、かつ、X軸観測値(x)が0.52かつY軸観測値(y)が0.23かつZ軸観測値(z)が9.78であるという一の観測結果のデータを表す。Z軸だけ値が大きいのは重力加速度が観測されている様子を表す。また、行(342)は日時が2012-12-07 13:28:11であり、行(341)からは1秒しか経過していない。これは加速度センサ104の時間軸分解能が高いためであり、このように、センサデータが観測され登録操作が行われる間隔はセンサの種類によって様々である。
図5はファイル(204)の中身およびファイル(205)の中身を示す。いずれのファイルも大分類(subject)がsmphoneかつ小分類(type)がtemperatureに関する観測結果のデータである。それぞれのファイルは4つずつのセンサデータを保持している。また、ファイル内で日時(date)は古い順に並んでおり、かつ、ファイル名が若いファイル(204)よりファイル名が大きいファイル(205)のほうが、日時(date)が新しいセンサデータを保持している。
本実施の形態においては、このように、観測されたセンサデータを4つずつ組にして、チャンクと呼ばれるデータファイルを生成していく。データファイルは、センサの大分類および小分類ごとに別々のディレクトリに、通し番号を含むファイル名で格納される。新たなセンサデータが観測され登録操作が行われるに従って、このようなチャンクが次々と生成されていく。以下ではまず、この登録操作の具体的な処理手順を説明し、その後、これらのセンサデータに対して検索操作を行う処理手順を説明していく。
図6はメタ情報保持部114の保持する情報を示す。桁(351)は大分類(subject)を表し、桁(352)は小分類(type)を表し、桁(353)はチャンクファイルの通し番号を表し、桁(354)は時刻(date)の最小値を表し、桁(355)は時刻(date)の最大値を表す。一方、行(356)は、大分類(subject)がsmphoneかつ小分類(type)がtemperatureかつチャンクファイルの通し番号が01であるチャンクのデータファイル、すなわちファイル(204)に含まれるデータ群は、時刻(date)の最小値が2012-12-01 05:45:12かつ最大値が2012-12-03 01:45:30であることを表している。実際、図5に示したファイル(204)の中身において、行(311)が時刻の最小値であり、かつ、行(314)が時刻の最大値であって、これは上述の記載内容と合致している。
図7は登録しようとするセンサデータを示す。ここでは、2012-12-07 13:28:20という時刻に温度センサ103が14.8度という観測値を得たとする。センサデータ(401)は上記内容を記載したものである。記載の規則は既に述べた通りである。
図8は登録処理のフローチャートを示す。これに沿って処理手順を説明していく。
アプリケーション102がライブラリ101のデータ登録関数を呼び出すと、ライブラリ101は登録処理を開始する(手順410)。ライブラリ101は、まず、ロック115を取得する(手順411)。ここではデータへの書き込みが発生するので、writeロックを取得する。なお、このようにライブラリ関数の入口でロックを確保し終了直前で解放するやり方は、マルチスレッドのプログラミング技法として一般的である。次に、情報選択部110は、センサデータ(401)から分類情報すなわち大分類(subject)および小分類(type)の値を取得する(手順412)。ここではそれぞれ「smphone」「temperature」という値が得られる。次に、ライブラリ101は、センサデータ(401)を情報保持部111内の区分けされた記憶領域のうち該分類情報で選択される領域へと保存する。すなわち、当該大分類および小分類のパス名で表されるファイル(203)の末尾行に、センサデータ(401)の行を追記する(手順413)。
次に、情報切り出し部112は、該領域すなわちファイル(203)のサイズ判定を行い、チャンク生成処理を実行するかどうかを判定する(手順414)。サイズ判定とは、例えば、ファイルの行数あるいはバイト数が一定の閾値を越えたかどうかによって判定してよい。本実施の形態においては、ファイルの行数が4行以上となった時点で、以下に示す手順でチャンク生成処理を実行することとする。
情報切り出し部112は、まず、ファイル移動によるチャンク生成を試みる(手順415)。生成すべきファイルは、図2における記号(207)のディレクトリ位置に、通し番号において次の番号を含むファイル名を生成する。すなわちこの例においては、
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk
で示されるファイルを生成することを行おうとする。
ここで、ファイル移動によるチャンク生成とは、
「/mnt/sdcard/apl1/smphone/temperature/pool.txt」
というファイルを、
「/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk」
にリネームする操作を行うことにより実現する。一般に、Linux(登録商標)やWindows(登録商標)などのOSでは、ファイルのリネームの際に別のディレクトリ名を指定することによって、ファイルのディレクトリ間移動も同時に行うことができる。ただし、移動元と移動先が同じディスク装置である場合に限り、リネーム操作が成功する。
本実施の形態においては、既に述べたように、移動元のディレクトリは内蔵フラッシュメモリ120上に存在し、移動先のディレクトリはmicroSDカードスロット121に挿入されたメモリカード上に存在する。すなわち、移動元と移動先は別のディスク装置なので、該リネーム操作は失敗する(手順416における成功判定)。
次に、情報切り出し部112は、ファイルをコピーして元ファイルを削除することでファイルの移動操作を代替し、これによってチャンクの生成を行う。すなわち、ファイル(203)を、
「/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk」
にコピーする(手順417)。続いて、ファイル(203)を削除する(手順418)。
次に、情報切り出し部112は、新たなファイル(203)を作成する(手順419)。内容は空とする。
図9は登録処理後のファイル(203)の中身および新たに生成されるファイルの中身を示す。行(331)から行(333)は、元のファイル(203)に記載されていた内容である。行(334)は、手順413によって追記された行であり、センサデータ(401)の内容である。
次に、情報切り出し部112は、上記一連の手順によって作成した新たなチャンクのデータファイルが含む時刻の最小値と最大値に関する情報を、メタ情報保持部114に追記する(手順420)。
図10は登録処理後のメタ情報保持部114の保持する情報を示す。行(359)が手順420によって新たに追記された情報であり、大分類(subject)がsmphoneかつ小分類(type)がtemperatureであって、03という通し番号を持つチャンクは、時刻(date)の最小値が2012-12-06 02:36:18かつ、最大値が2012-12-07 13:28:20であることを表している。これらの時刻は、該生成されたチャンクにおける行(331)および行(334)の時刻情報と同じものである。
最後に、ライブラリ101は、ロック115を解放(手順421)して、ライブラリの呼び出し元にリターンし、一連の処理を完了する。
図11は登録処理ならびに検索処理の動作シーケンスの一例を示す。本図11のうち、記号560から記号561までが、上記に示した登録処理に関するアプリケーション102とライブラリ101とのインタラクションを図示している。すなわち、本図11において、スレッドA(551)がアプリケーション102内で走行しライブラリ101を呼び出したスレッドであり、データ登録関数呼び出し(560)によってライブラリ101に制御が移り、リターン(561)で呼び出し元へと制御が復帰する。
以下では、次に、検索処理について説明していく。図11においては、記号562から記号567までの動作にあたる。
図12は検索条件を示す。検索条件(501)は、時刻(date)の範囲が2012-12-04 12:00:00から2012-12-06 12:00:00に含まれ、かつ、大分類(subject)がsmphoneかつ小分類(type)がtemperatureという条件を全て満たすデータを検索するという条件を表している。
なお、本実施の形態においては、大分類(subject)および小分類(type)の値を検索条件として指定することは必須である。一般に、アプリケーション102は自分が登録したデータのsubjectおよびtypeは把握しているため、この制約は問題とはならない。
図13は検索処理のフローチャートを示す。本図13および図11に沿って処理手順を説明していく。
アプリケーション102がライブラリ101のデータ検索関数を呼び出す(記号562)と、ライブラリ101は検索処理を開始する(手順510)。呼び出しの際、アプリケーション102は検索条件(501)に加えて、コールバック関数を引数として渡す。このような操作は、例えばプログラミング言語Cであれば関数ポインタを引数として渡すことで容易に実現でき、一般的なプログラミング技法である。該関数が呼び出されると、情報検索部113は、まず、ロック115を取得する(手順511)。ここではデータへの読み出しのみが発生するので、readロックを取得する。
次に、情報検索部113は、検索候補となるチャンクのファイルリストを取得する(手順512)。ここでいう検索候補とは、検索条件から取得された分類情報に適合するチャンクであって、かつ、メタ情報保持部114が保持する時刻情報の範囲と照らし合わせて対象データを含む可能性があるファイルのことである。具体的には、本例においてはこの時点で「01.cnk」「02.cnk」「03.cnk」の3つのチャンクが、検索条件(501)から取得された分類情報すなわち大分類(subject)がsmphoneかつ小分類(type)がtemperatureに該当する保存ディレクトリである
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/
に存在している。ここで、この3つのファイルのそれぞれに対して、メタ情報保持部114から該当する行を探し、時刻の最小値と最大値を得る。例えば、01.cnkに対しては、最小値が2012-12-01 05:45:12かつ最大値が2012-12-03 01:45:30という情報を得る。これと、検索条件(501)が含む時刻情報の範囲とを比較し、少しでも重なりがあるかどうかを判定する。例えば、01.cnkに対しては、検索条件(501)が含む時刻情報の範囲は2012-12-04 12:00:00から2012-12-06 12:00:00であるから、重なりは無いと判定され、従って01.cnkは検索候補ではないと判断できる。同様にして、02.cnkと03.cnkについては、時刻情報の範囲に重なりがあると判定され、これらは検索候補であると判断できる。結果として、該ファイルリストとして、02.cnkおよび03.cnkというリストが得られる。
次に、情報検索部113は、ロック115を解放する(手順513)。この時点で、マルチスレッド処理における他のスレッドからのデータ登録要求を、ライブラリ101が受け付け可能となる。
以降、該ファイルリストをファイル名の小さい順に、手順515から手順517までを繰り返し実行する(手順514)。この例では、まず02.cnkに対する処理を行い、次に03.cnkに対する処理を行う。
情報検索部113は、当該ファイルを読み込み(手順515)、その中のデータに対して検索条件(501)に合致するものを抽出する(手順516)。例えば、02.cnkに対する処理の場合、行(323)と行(324)が抽出される。次いで、情報検索部113は、該抽出結果が空でなかった場合、該抽出結果を検索結果としてコールバックを行う(手順517および記号563)。コールバック先は、アプリケーション102から渡されたコールバック関数である。コールバック関数から処理がリターン(記号564)した後、情報検索部113は処理を継続する。
図14は検索結果を示す。コールバック関数に渡される検索結果(591)の内容は上記の通りである。
また例えば、03.cnkに対する処理の場合、行(331)が抽出される。これを検索結果としてコールバックを行う(手順517および記号565)。コールバック関数に渡される検索結果(592)の内容は上記の通りである。コールバック関数から処理がリターン(記号566)した後、情報検索部113は処理を継続する。
このように、検索結果は複数回に分けてコールバックされるが、その際に含まれるデータは登録された順すなわちdateの古いものから新しいものの順番で返却されている。このため、アプリケーションが検索結果のデータを時系列に沿って分析する際、k回目のコールバックを受けた時点で(k-1)回目までのコールバックで返されたデータは破棄することができ、アプリケーションの必要メモリ量を小さく抑えることができるという効果が得られる。
該ファイルリストの全てのファイルを処理完了したのち(手順514)、情報検索部113は、再度ロック115を取得する(手順518)。次に、情報検索部113は、検索候補となるチャンクのファイルリストであって前回取得からの増加分を取得する(手順519)。増加分とは、既に述べたように手順514から手順517を実行中にはロックを解放しておりデータ登録要求を受け付け可能であるため、データ登録に伴い新たなチャンクが生成される場合があり、そのようなチャンクのことを指す。増加分を得るには、前回の取得結果を記憶しておき、それと現在のファイルリストとを比較すればよい。また、ファイルリストに対しては、手順512と同様に、メタ情報保持部114が保持する時刻情報の範囲と照らし合わせる処理を行って検索候補を絞り込んでおく。
もし増加分があれば(手順520)、手順513以降を再度実行することによって、該増加分に対する検索処理を行う。
増加分が無ければ、チャンクの検索は完了しており残りの検索候補はメタ情報保持部114が保持するデータだけとなるので、情報検索部113は、検索条件から取得された分類情報に適合する場所に格納されているpool.txtを読み込む(手順521)。この例では、大分類(subject)がsmphoneかつ小分類(type)がtemperatureに該当するファイル(203)が対象となる。情報検索部113は、読み込んだデータに対して検索条件(501)に合致するものを抽出する(手順522)。情報検索部113は、ロック115を解放する(手順523)。次いで、情報検索部113は、該抽出結果が空でなかった場合、該抽出結果を検索結果としてコールバックを行う(手順524)。この例では、手順522で抽出された結果は空集合なので、コールバックは省略できる。
最後に、情報検索部113は、ライブラリの呼び出し元にリターンし(記号567)、一連の処理を完了する。
なお、記号570は、上記一連の処理中に別のスレッドA(551)からデータ登録要求を受け付けることも可能である旨を図示している。このような要求は、ロック115によって自動的に待ち合わせが行われ、ロック115が解放された時点で処理される。処理の流れは既に述べた通りのものである。
以上の手順によれば、時間がかかると想定される多数のチャンクの検索処理(手順515から手順516)、および、アプリケーション102へのコールバックが行われているタイミングで、ロック115は解放された状態に保たれる。つまり、データ登録要求などの別の処理要求を受け付けることができる。このため、例えば検索処理中にも新たなセンサデータの登録を行うことができ、登録漏れ(データの取りこぼし)といった事象の発生を防ぐことができる。また、コールバック関数内で新たなデータを登録することができるという利点もあり、これについて以下で詳述する。
図15は検索処理中に登録処理を行った場合の動作シーケンスの一例を示す。ここでは、図1から図6までで説明した初期状態に対して、アプリケーション(102)の変種が、図12の検索を行い、そのコールバック関数内において図7の新たなデータの登録要求を行った場合の動作について例示する。これを図11の動作シーケンスと対応づけると、記号580は記号562に対応し、記号581は記号563に対応し、記号582は記号560に対応し、記号583は記号561に対応し、記号584は記号564に対応し、記号585は記号565に対応し、記号586は記号566に対応し、記号587は記号567に対応するといえる。
この動作例では、まず、アプリケーション102がデータ検索関数を呼び出す(記号580)。上記説明してきた一連の処理のうち、候補ファイルリスト取得(手順512)では、チャンクは01.cnkと02.cnkしかこの時点で存在しないので、検索候補となるチャンクのファイルリストは02.cnkとなる。そして、02.cnkに対して検索処理を行い検索結果をコールバックする(記号581)。ここで、アプリケーション102内にあるコールバック関数では、データ登録関数を呼び出し(記号582)たのち(記号583)、リターンする(記号584)。この際、ロック115は解放された状態になっているので、該データ登録関数呼び出しはロック115によって動作阻害されることなく、正常に動作を継続できる。該データ登録関数呼び出しの処理において、上記説明してきた一連の処理により、新たに03.cnkというチャンクが生成される。記号584でリターンした後、手順519によって、増加分の候補ファイルリストとして新たに生成された03.cnkというファイルが取得される。手順520で増加分があったと判定されるので、手順513以降を再度実行し、03.cnkの検索結果に関するコールバックが行われる(記号585)。コールバックからリターンする(記号586)と、再び手順519によって増加分の候補ファイルリストが取得される。今回はチャンクが生成されていないので、空リストとなり、手順520で増加分はなかったと判定され、以降の処理が行われる。以上述べた処理により、アプリケーション102は図14と同じ検索結果を得ることができる。このように、手順519から手順520の工夫によって、マルチスレッドでのデータ登録やコールバック関数内でのデータ登録を行い、それによってチャンクが次々と生成されている場合であっても、データ検索の結果にデータ抜け等の矛盾を来すことなく正常に動作できる。
上記説明したように、本実施の形態においては、図13に示す処理手順によって検索処理を行うことにより、センサ情報を順次蓄積し、マルチスレッドで検索と挿入を同時実行できつつ、検索結果に矛盾を来すことなく、時系列順で検索結果を返却することが、比較的簡素な処理手順で実現できている。これらの効果についてさらに解説する。
もし、センサ情報を順次蓄積するのではなく、一般的なRDBMSのようなテーブルの書き換えが必要だった場合には、より複雑な処理が必要となったであろう。一方、本実施の形態においてはチャンクのファイルリストを取得(手順512)した後、すぐにロック115を解放する(手順513)という簡素な処理手順でよい。これは、センサ情報を順次蓄積するという本来の目的上、一度蓄積された古いセンサ情報は書き換え等を行う必要がないため、チャンクは書き換え等を行われることがなく単に増加する一方であり、従って最初に取得したファイルリストはその後の検索処理中にも有効であるという特性を利用しているためである。
また、もし、時系列順で検索結果を返却するという必要性がなかった場合には、図13の処理手順はさらに簡略化できたであろう。すなわち、ロック115を取得(手順511)してファイルリストを取得(手順512)した後、pool.txtに関する検索処理を行い(手順521から522)、ロックを解放(手順523)して、以降はpool.txtに対するコールバック(手順524)とチャンクに対する検索処理(手順514から517)を行うだけでよく、増加分の再確認(手順519から520)は不要である。これは、仮に検索処理中にデータ登録が並行して発生し、その結果として新たなチャンクが生成されたとしても、既に処理対象となるチャンクのファイルリストは取得済みであって影響を受けないため、単にそのような登録データが無視されるだけとなり検索結果の妥当性には影響を与えないためである。しかし、このような処理では検索結果は時系列順には返却できなくなるため、アプリケーション102の必要メモリ量が増大してしまい、問題である。一方、本実施の形態においては時系列順に検索結果を返却し、それによって生じる可能性のある矛盾を手順519から手順520によって発見し処理を再実行する動作を新たに組み入れたことによって、これらの要求を比較的簡素な手順で満たすことができるという利点が得られている。
また言うまでもないことであるが、もし、マルチスレッド処理の必要性がなかった場合には、これらの矛盾はそもそも発生し得ず、従って図13の処理手順は大幅に簡略化できたであろう。しかし、このような処理では検索処理中に新たなデータ登録を並行して行うことができず、アプリケーション102の本来の目的に対して支障を来してしまう。一方、本実施の形態においては、別スレッドおよびコールバック関数中から新たなデータ登録を並行して行うことができるという利点が得られている。
上記説明したように、本実施の形態においては、センサの種類ごとに異なるディレクトリにチャンクが格納される。これにより、センサ種類ごとに古いチャンクを異なる頻度で随時削除できるという利点も得られる。つまり、例えば本実施の形態においては、温度センサ103は1日あたり1〜2回程度の観測周期であり、加速度センサ104は1秒あたり1回程度の観測周期である。このため、記憶装置の空き容量を考えると、温度センサ103のデータは1年程度保存し、一方、加速度センサ104のデータは1時間程度で破棄したいという要求がある。本実施の形態においては、これら2つのデータが異なるディレクトリに区分されて格納されているため、例えば加速度センサ104のチャンクが格納されるディレクトリだけを一定周期で監視して1時間以上経過したファイルは削除するという処理を行うことが容易であるという利点が得られる。
上記説明してきた一連の処理では、図2に示したように、チャンクをmicroSDカードに生成するようなディレクトリ構成とした。一般に、内蔵フラッシュメモリ120は容量が小さいが速度が速く、外部のメモリカードは容量は大きいが速度が遅いという傾向がある。本実施の形態においては、頻繁に書き込みを繰り返すが一定以上の記憶領域を必要としない情報保持部111は内蔵フラッシュメモリ120に配置し、チャンクはmicroSDカードスロット121に挿入されたメモリカード上に生成していくことで大量のデータを保存可能な特徴が得られる。一方で、チャンクも内蔵フラッシュメモリ120上に生成する構成も可能であり、以下ではその場合の動作について述べる。
図16はチャンクを同一ファイルシステムに配置した場合のディレクトリ構成例を示す。本構成例では、図2におけるディレクトリ(202)配下を、図16におけるディレクトリ(210)に配置した点が違いである。
このディレクトリ構成で図8に示したデータ登録処理を行った場合、リネームによるファイルのチャンクへの移動(手順415)は、移動元と移動先が同一ファイルシステムであるため、成功する。よって、手順417から手順418を省略できる。すなわち、ファイルのコピーと古いファイルの削除操作を、一度のリネーム操作で完了できるという利点が得られる。これにより、情報保持部111からチャンクへの情報切り出しの処理量が小さくてすむという効果を得ることができる。
なお、本発明の装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
100…情報記録装置、101…ライブラリ、102…アプリケーション、103…温度センサ、104…加速度センサ、110…情報選択部、111…情報保持部、112…情報切り出し部、113…情報検索部、114…メタ情報保持部、115…ロック、120…内蔵フラッシュメモリ、121…microSDカードスロット、130…タッチパネルディスプレイ、131…データ通信機能、132…LAN(WiFi)通信機能。

Claims (7)

  1. 複数の属性値を含むデータ群を記録する情報記録方法であって、
    データを予め定められた条件により分類選択する第1の手順と、
    類結果に従って情報保持手段の区分けされた記憶領域にデータを保持する第2の手順と、
    該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する第3の手順とを具備し、
    前記第2の手順は、前記区分けされた記憶領域の一つ一つをファイルとして保持し、
    前記第3の手順は、該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と前記削除とを一度に行う
    ことを特徴とする情報記録方法。
  2. 複数の属性値を含むデータ群を記録する情報記録方法であって、
    データには少なくとも時刻情報を含み、
    該データを情報保持手段の区分けされた記憶領域に保持する第1の手順と、
    該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する第2の手順と、
    該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持する第3の手順と、
    該情報保持手段が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する第の手順
    を具備し、
    前記第1の手順は、前記区分けされた記憶領域の一つ一つをファイルとして保持し、
    前記第2の手順は、該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と前記削除とを一度に行い、
    前記の手順は、前記与えられた条件が時刻情報を含む場合には、前記の手順で保持された時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とする
    ことを特徴とする情報記録方法。
  3. 複数の属性値を含むデータ群を記録する情報記録装置に用いられる情報記録方法であって、
    前記情報記録装置は、データの検索動作中に別のデータの登録要求を受け付けた場合にも正常に動作することができる排他制御手段を有し、
    データを情報保持手段に保持する第1の手順と、
    該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する第2の手順と、
    該情報保持手段が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する第3の手順と
    を具備し、
    前記第3の手順では
    生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う処理と、
    前記情報保持手段に対するデータ検索ならびに検索結果の返却を行う処理とを
    順に実行することによって、登録順序の古いデータから順に検索結果を返却し、
    前記第3の手順は、
    検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように前記排他制御手段を用いて制御する手順と、
    データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索の処理中に追加されていることを検出する手順と、
    該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手順とを有する
    ことを特徴とする情報記録方法。
  4. 複数の属性値を含むデータ群を記録する情報記録装置であって、
    データを予め定められた条件により分類選択する情報選択手段と、
    類結果に従って区分けされた記憶領域にデータを保持する情報保持手段と、
    該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する情報切り出し手段
    を具備し、
    前記情報保持手段は、前記区分けされた記憶領域の一つ一つをファイルとして保持し、
    前記情報切り出し手段は、該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と前記削除とを一度に行う
    ことを特徴とする情報記録装置。
  5. 複数の属性値を含むデータ群を記録する情報記録装置であって、
    ータには少なくとも時刻情報を含み、
    データを区分けされた記憶領域に保持する情報保持手段と、
    該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する情報切り出し手段と、
    該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持するメタ情報保持手段と、
    該情報保持手段が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索手段と
    を具備し、
    前記情報保持手段は、前記区分けされた記憶領域の一つ一つをファイルとして保持し、
    前記情報切り出し手段は、該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と前記削除とを一度に行い、
    前記情報検索手段、前記与えられた条件が時刻情報を含む場合には、前記メタ情報保持手段に保持された時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とする
    ことを特徴とする情報記録装置。
  6. 複数の属性値を含むデータ群を記録する情報記録装置であって、
    データを保持する情報保持手段と、
    該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持手段から削除する情報切り出し手段と、
    該情報保持手段が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索手段と、
    データの検索動作中に別のデータの登録要求を受け付けた場合にも正常に動作することができる排他制御手段と
    を具備し、
    前記情報検索手段では
    生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う手段と、
    該情報保持手段に対するデータ検索ならびに検索結果の返却を行う手段とを
    順に実行することによって、登録順序の古いデータから順に検索結果を返却し、
    前記情報検索手段は、
    検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように前記排他制御手段を用いて制御する手段と、
    データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索の処理中に追加されていることを検出する手段と、
    該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手段とを有する
    ことを特徴とする情報記録装置。
  7. 複数の属性値を含むデータ群を記録するためのプログラムであって、
    コンピュータを請求項4から6のいずれか1項に記載の情報記録装置が具備する各手段として機能させる
    ことを特徴とするプログラム。
JP2013033040A 2013-02-22 2013-02-22 情報記録方法及び情報記録装置及びプログラム Expired - Fee Related JP5879284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013033040A JP5879284B2 (ja) 2013-02-22 2013-02-22 情報記録方法及び情報記録装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013033040A JP5879284B2 (ja) 2013-02-22 2013-02-22 情報記録方法及び情報記録装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014164382A JP2014164382A (ja) 2014-09-08
JP5879284B2 true JP5879284B2 (ja) 2016-03-08

Family

ID=51614958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013033040A Expired - Fee Related JP5879284B2 (ja) 2013-02-22 2013-02-22 情報記録方法及び情報記録装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5879284B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6963433B2 (ja) 2017-07-21 2021-11-10 株式会社日立情報通信エンジニアリング 行動特徴量解析システムおよび行動特徴量解析方法
WO2019087786A1 (ja) 2017-11-06 2019-05-09 日本電信電話株式会社 情報分散記憶システム、方法およびプログラム
CN111566627B (zh) * 2017-11-09 2023-07-21 日本电信电话株式会社 信息蓄积装置、数据处理系统及记录介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170791A (ja) * 2010-02-22 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> 情報記録装置、情報記録方法およびプログラム
JP5678620B2 (ja) * 2010-12-03 2015-03-04 株式会社日立製作所 データ処理方法、データ処理システム、及びデータ処理装置

Also Published As

Publication number Publication date
JP2014164382A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
US8938430B2 (en) Intelligent data archiving
US10417265B2 (en) High performance parallel indexing for forensics and electronic discovery
US11068491B2 (en) Data storage using a bi-temporal index
US8452788B2 (en) Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program
US20140059313A1 (en) Apparatus and method for recovering partition using backup boot record information
US11238011B2 (en) Intelligent method to index storage system files accounting for snapshots
JP2005122702A5 (ja)
US10769025B2 (en) Indexing a relationship structure of a filesystem
JP2005309727A (ja) ファイルシステム
US10078648B1 (en) Indexing deduplicated data
US20070100888A1 (en) Method and apparatus for managing content file information, and recording medium storing program for performing the method
US9390111B2 (en) Database insert with deferred materialization
JP5879284B2 (ja) 情報記録方法及び情報記録装置及びプログラム
US20130204913A1 (en) File list generation method, system, and program, and file list generation device
US20140320498A1 (en) Terminal device, information processing method, and computer program product
EP1850250A1 (en) Method and system for renewing an index
JP2014515525A (ja) 検索とブラウズのハイブリッド
CN106503186A (zh) 一种数据管理方法、客户端及系统
US20160179866A1 (en) Method and system to search logs that contain a massive number of entries
US9116915B1 (en) Incremental scan
JP6079266B2 (ja) 制御装置、ログ格納方法及び制御プログラム
JP6479232B1 (ja) 文書管理装置及び文書管理方法
US12124463B2 (en) Data storage using a bi-temporal index
JP4223228B2 (ja) データベース検索装置および検索方法
KR101816251B1 (ko) 파일 검색용 메타데이터 동기화 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160201

R150 Certificate of patent or registration of utility model

Ref document number: 5879284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees