(57)【要約】時刻の近い複数種のデータを利用するアプリケーションがデータにアクセスしたときのヒット率が充分ではない。  データ管理装置は、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段と、前記データ種別の１つが付与されたデータを記憶するデータ記憶手段から、前記利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成手段と、前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定手段と、を備える。
2012081720.tif 000002
【特許請求の範囲】
【請求項１】
１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段と、
前記データ種別の１つが付与されたデータを記憶するデータ記憶手段から、前記利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成手段と、
前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定手段と、
を備えるデータ管理装置。
【請求項２】
前記棄却判定手段は、前記データ記憶手段に記憶されたデータのうち、当該データが属する前記組の数が小さいデータを優先的に削除候補とする請求項１に記載のデータ管理装置。
【請求項３】
前記データ記憶手段は、前記データの前記データ種別と、前記データが属する前記組の数とを対応付けて記憶する請求項１または２に記載のデータ管理装置。
【請求項４】
前記データのデータ種別と、前記データが属する前記組の数とを前記データの各々に対応付けて記憶する属性記憶手段を更に備える請求項１または２に記載のデータ管理装置。
【請求項５】
請求項１から３のいずれかに記載のデータ管理装置と、
前記データを外部から取得した時刻を前記データの前記生成時刻として前記データに付与して入力するデータ入力手段と、
入力された前記データを利用するアプリケーション実行手段と、
請求項１から４のいずれかに記載のデータ管理装置において、前記アプリケーション実行手段から、前記アプリケーションが利用するデータの前記データ種別を取得して記憶する前記利用状況記憶手段と、
を備えるデータ管理システム。
【請求項６】
データ種別の１つが付与されたデータを記憶するデータ記憶手段から、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成ステップと、
前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定ステップと、
をコンピュータに実行させるデータ管理プログラム。
【請求項７】
前記データ記憶手段に記憶されたデータのうち、当該データが属する前記組の数が小さいデータを優先的に削除候補とする前記棄却判定ステップを前記コンピュータに実行させる請求項６に記載のデータ管理プログラム。
【請求項８】
前記データを外部から取得した時刻を前記データの前記生成時刻として前記データに付与して入力するデータ入力ステップと、
入力された前記データを利用するアプリケーション実行ステップと、
前記アプリケーションが利用するデータの前記データ種別を取得して前記利用状況記憶手段に記憶させる利用状況記憶ステップと、
を前記コンピュータにさらに実行させる請求項６または７に記載のデータ管理プログラム。
【請求項９】
データ種別の１つが付与されたデータを記憶するデータ記憶手段から、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出し、
前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とするデータ管理方法。
【請求項１０】
前記データ記憶手段に記憶されたデータのうち、当該データが属する前記組の数が小さいデータを優先的に削除候補とする請求項９に記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、システム、プログラム、および、方法に関する。
【背景技術】
【０００２】
遠隔にあるサーバシステムなどから、ネットワーク経由で取得したデータを後の利用のために保持しておくデータキャッシュがある。例えば、ＷＥＢブラウザの殆どは、取得したデータをローカルファイルとして一定期間保持し、同じデータをアプリケーション等からリクエストされた際にキャッシュから再利用することで、ブラウザの応答性を改善している。その一方で、機器はデータキャッシュを保持するために有限の領域（メモリ、ディスクなど）しか持ち合わせていないので、将来に渡って利用されないことが予想されるデータを棄却し、新たにキャッシュとして利用できる領域を確保する必要がある。
データの棄却の方針としては、まず、将来のアクセスが予測されるデータをキャッシュに積極的に残すようにすることが必要であり（ヒット率の向上）、さらに、特定のデータのみにキャッシュの多くの領域が消費されて他のデータがキャッシュに収容できないような状況を避けるようにすることが必要である（公平性の実現）。
ヒット率の向上を実現する方法としては、データへのアクセス頻度が小さく、最もアクセス時刻が古いもの（ＬＲＵ：Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）を棄却候補とすることが一般的な手法である。
一方、ヒット率向上を実現する技術の例として、特許文献１がある。特許文献１は、主に映像データを例として、データの時刻情報、属性情報または解像度、フレームレートなどを基にデータの重要性を判定し、重要でないものを優先的に破棄するストラテジを用いる。このようにデータの属性情報を用いることでキャッシュのヒット率を向上させることができる。
この一方で、異なるセンサから入力された複数種のデータを使って処理を行うアプリケーションが存在する。例えば、あるアプリケーションは、音声情報と画像情報を併用して、人物の位置をより正確に特定する。また、別のアプリケーションは、２つの画像情報の視差を用いて、画像に写った対象物までの距離を計測する。このような場合に併用して用いられるデータの生成時刻は、一致ないし近いことが必要となるが、個々のデータの生成（例えば、センサ等からの入力）は必ずしも同期していないため、結果として、様々な生成時刻によるデータがデータキャッシュ上に混在する結果となる。従って、複数種のデータの内容を使って処理を行うアプリケーションによるデータのヒット率は上述の技術によれば実用的なものではなかった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０９２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の技術では、時刻の近い複数種のデータを利用するアプリケーションがデータにアクセスしたときのキャッシュのヒット率が充分ではない。その理由は、上述の技術がデータ個々の属性情報によってのみキャッシュからのデータ棄却を判断しているためである。
本発明は上述の課題を解決すべく、時刻の近い複数種のデータを利用するアプリケーションがデータにアクセスしたときのキャッシュのヒット率を向上させるデータ管理装置、システム、プログラム、および、方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一形態は、データ管理装置であって、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段と、前記データ種別の１つが付与されたデータを記憶するデータ記憶手段から、前記利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成手段と、前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定手段と、を備える。
また、本発明は、データ種別の１つが付与されたデータを記憶するデータ記憶手段から、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成ステップと、前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定ステップと、をコンピュータに実行させるデータ管理プログラムを提供する。
また、本発明は、データ種別の１つが付与されたデータを記憶するデータ記憶手段から、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち当該組の各データの生成時刻の差分が所定時間以内の組を抽出し、前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とするデータ管理方法を提供する。
【発明の効果】
【０００６】
本発明は、時刻の近い複数種のデータを利用するアプリケーションがデータにアクセスしたときのヒット率を向上させることができるデータ管理装置、システム、プログラム、および、方法を提供する。
【図面の簡単な説明】
【０００７】
【図１】利用状況記憶部１０２に記録される情報の一例を示す図である。
【図２】データ記憶部１０１中のデータ１０６の時系列の一例を示す図である。
【図３】第一の実施形態の構成の一例を示すブロック図である。
【図４】組み合わせ作成部１０３の動作の一例を示すフローチャートである。
【図５】棄却判定部１０４の動作の一例を示すフローチャートである。
【図６】第一の実施形態の具体例の構成の一例を示す図である。
【図７】実施形態の構成の一例を示すブロック図である。
【図８】データ記憶部１０１中のデータ１０６の時系列の一例を示す図である。
【図９】第二の実施形態の構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
なお、各実施形態の装置を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。
制御部はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などからなり、オペレーティングシステムを動作させて装置の全体を制御するとともに、例えばドライブ装置などに装着された記録媒体からメモリにプログラムやデータを読み出し、これにしたがって各種の処理を実行する。
記録媒体は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、二つ以上の物理的に分離した装置を有線または無線で接続し、これら複数の装置により、各実施形態のシステムを実現してもよい。
まず、図７を用いて、本発明の一例であるデータ管理装置について概要を説明する。
データ管理装置は、利用状況記憶部１０２、組み合わせ作成部１０３、棄却判定部１０４、を備える。利用状況記憶部１０２は、アプリケーションが利用しているデータ１０６のデータ種別（後述）の組み合わせを記憶する。アプリケーションを実行するアプリケーション実行部１００は、アプリケーションが利用するデータ１０６の利用開始時点と利用終了時点で、そのデータ１０６のデータ種別を利用状況記憶部１０２に伝える。ここで、アプリケーション実行部１００は、実行する１以上のアプリケーションごとに、１以上のデータ１０６のデータ種別の組み合わせを利用状況記憶部１０２に伝えることができる。
利用状況記憶部１０２は、データ１０６を利用するアプリケーションを表す識別子と、アプリケーション実行部１００が利用する１以上のデータ１０６のデータ種別を表す識別子との組を利用状況情報として記憶する。図１はこれら利用状況情報をテーブルとして管理する利用状況情報記憶部１０２内の利用状況情報テーブルの一例である。利用状況情報テーブルには、例えば、「利用者」としてアプリケーションの識別子が記憶され、「利用データ種別」として、そのアプリケーションが利用するデータ１０６のデータ種別を表す識別子の組み合わせが記憶される。図１では、データ種別の組み合わせが２つである場合を例示しているが、データ種別の組み合わせは３つ以上であってもよい。
組み合わせ作成部１０３は、利用状況記憶部１０２に記憶されている複数の利用状況情報を参照し、利用状況記憶部１０２に記憶されたデータ種別をもつデータ１０６の組み合わせで、かつ、各データ１０６の生成時刻が互いに近い（所定時間以内の）データ１０６の組み合わせを、データ記憶部１０１に蓄積された全てのデータ１０６を対象に作成する。あるいは、組み合わせ作成部１０３は、全てのデータ１０６を対象とするのではなく、生成時刻が古いデータやアクセス時刻が古いデータ１０６（例えば、上述したＬＲＵの基準において棄却対象とすべきデータ）に対象を限定して上記の組み合わせの作成を行っても良い。データ記憶部１０１上のデータ１０６は随時更新されていくので、組み合わせ作成部１０３は周期的に実行されるなどして、繰り返し実行されることが望ましい。また、組み合わせ作成部１０３が、利用状況記憶部１０２に記憶されている複数の利用状況情報に対応するデータ１０６の組み合わせを作成した結果、１つのデータ１０６が異なる複数の組み合わせに属することもありうる。
図２は、データ記憶部１０１のデータ１０６の組み合わせの例を示している。図２は、カメラ１画像、カメラ２画像、センサ１データの３つのデータ種別があり、それぞれのデータ種別のデータ１０６がそれぞれ、丸、四角、三角で表現され、左から右に生成時刻が新しい順に整列してデータ記憶部１０１に記憶されている様子を示している。このデータ記憶部１０１の状態で、組み合わせ作成部１０３が、図１の利用状況情報テーブルの２列目の「利用者：アプリケーション２」に記載されたデータ種別の組み合わせである「利用データ種別：センサ１データ、カメラ２画像」の組み合わせ作成する場合を説明する。組み合わせ作成部１０３は、生成時刻が近いデータ１０６の組み合わせを作成する。例えば、組み合わせ作成部１０３は、図２の四角い線で囲まれたデータ１０６の組み合わせを作成する。この例では４つの組み合わせが作成され、カメラ２画像のデータ１０６の２つが組み合わせに含まれなかったことを示している。なお、２つのデータ１０６の生成時刻が近い場合とは、それらのデータ１０６を利用するアプリケーションごとに予め定められた所定時間以内にそれらのデータ１０６が生成された場合や、管理者等が状況に応じて適宜設定した時間内にそれらのデータ１０６が生成された場合などであるとしても良く、生成時刻の近さの定め方は特段制限されない。また、管理者等は、３つ以上のデータ１０６間で、それらのデータ１０６の生成時刻の近さを定義してもよい。そして、組み合わせ作成部１０３が作成するデータ１０６の組み合わせを、３つ以上のデータ１０６の組み合わせとしてもよい。３つ以上のデータ１０６の生成時刻が近い場合とは、例えば、いずれのデータ１０６も所定時間内に生成されたデータ１０６である場合や、特定のデータ種別１のデータ１０６を基準とし、他のデータ種別のデータ１０６はデータ種別１のデータを中心に所定時間内に生成されている場合などであってもよい。また、他の場合であっても構わない。
棄却判定部１０４は、データ記憶部１０１内の空き領域が少なくなり、新たな空き領域を作成する必要が生じた場合等に起動され、データ記憶部１０１から棄却すべきデータ１０６を選択する。
棄却判定部１０４は、組み合わせ作成部１０３によって組み合わされなかったデータ１０６の情報を、組み合わせ作成部１０３から受信し、該データ１０６を選択して棄却対象とする。
また、いずれの組み合わせにも属さないデータ１０６を棄却判定部１０４が棄却するのみではデータ記憶部１０１に充分な空き領域が生成されない場合には、棄却判定部１０４は、より少ない組み合わせに属するデータ１０６を棄却してもよい。この場合の棄却判定部１０４の処理の一例について説明する。
例えば、図１のテーブルの１列目の「利用者：アプリケーション１」に対応づけられているデータ種別の組み合わせである「利用データ種別：カメラ１画像、カメラ２画像」について、組み合わせ作成部１０３がこれらのデータ種別のデータ１０６の組み合わせを作成した場合、例えば、図８の長円形の線で囲まれたデータ１０６の組み合わせが作成される。この例では２つの組み合わせが作成され、カメラ１画像のデータ１０６の３つが組み合わせに含まれなかったことを示している。
棄却判定部１０４は、組み合わせ作成部１０３によって組み合わせされなかったデータ１０６の情報を組み合わせ作成部１０３から受信し、該データ１０６を選択して棄却対象とする。図８の例では、四角い線または長円形の線のいずれの線も囲まなかったカメラ１画像の３つのデータと、カメラ２画像の１つのデータ１０６が棄却対象とされる。これらのデータ１０６は１つの組み合わせにも含まれていないからである。そして、該データ１０６の棄却だけではデータ記憶部１０１に充分な空き領域が作成されなかった場合には、棄却判定部１０４は、さらに、より少ない組み合わせに属するデータ１０６を棄却する。例えば、棄却判定部１０４は、２つの組み合わせに属するデータ１０６と、そのデータ１０６と組み合わせられたデータ１０６とを棄却せず、それ以外のデータ１０６を棄却する。図８の例では、生成時刻が最も新しい一番左のカメラ２画像のデータ１０６は、四角い線と長円形の線とで囲まれ、２つの組み合わせに属するデータ１０６であることが分かる。一方、他のデータ１０６は、いずれも長円形の線のみ、または、四角い線のみで囲まれた１つの組み合わせのみに含まれるか、あるいは、いずれの組み合わせにも含まれないデータである。したがって、棄却判定部１０４は、最も新しい時刻に生成された一番左のカメラ２画像のデータ１０６と、そのデータ１０６と組み合わせられたデータ１０６であるカメラ１画像のデータ１０６とセンサ１のデータ１０６（図８の一番左にある生成時刻が最新のデータ１０６）とを棄却せず、他のデータ１０６を全て棄却対象とする。
以上の方法により、時刻の近い複数の種類のデータ１０６の組み合わせを優先的に残すようにデータ記憶部１０１からのデータ棄却を実現することができ、結果として、アプリケーションがそのようなデータ１０６の組み合わせを利用する場合のデータ１０６のヒット率を向上させることができる。
＜実施形態１＞
次に、本発明の第１の実施の形態について説明する。
図３を参照すると、本実施の形態におけるデータ管理装置１は、アプリケーション実行部１００、データ１０６を記憶するデータ記憶部１０１、利用状況記憶部１０２、組み合わせ作成部１０３、棄却判定部１０４、入力部１０５、から構成される。
これらの各部はそれぞれ概略つぎのように動作する。
入力部１０５は、データ１０６と、該データ１０６が生成された時刻とを対応付けて順次入力し、データ記憶部１０１に蓄積する。なお、データ１０６が生成された時刻とは、入力部１０５がデータ１０６を取得した時刻であっても良いし、入力部１０５が該データ１０６を取得後即時にデータ記憶部１０１に記録するのであれば、データ記憶部１０１が該データ１０６を記憶した時刻であってもよい。時刻の情報は、例えば、図示しないデータ管理装置１内の時計または装置外から入力部１０５などが適宜取得する。
データ１０６には、上記生成時刻とは別に、組み合わせ作成部１０３によって参照カウントが対応付けられて、データ記憶部１０１に記憶される。参照カウントとは、後述する組み合わせ作成部１０３がデータ種別の組み合わせを作成する際に、データ１０６が１つの組み合わせに属するごとに、組み合わせ作成部１０３によって１だけ加算されるカウンタである。すなわち、参照カウントとは、あるデータ１０６がいくつの組み合わせに属するかを表すカウンタである。なお、参照カウントは、データ１０６と対応付けがされていれば、データ１０６と共にデータ記憶部１０１に記憶される必要は無い。例えば、参照カウントは、図示しない属性記憶部に記憶されても良い。この場合、データ１０６のみがデータ記憶部１０１に記憶され、各データと対応付けられた参照カウントは属性記憶部に記憶される。このように、組み合わせ作成部１０３は、参照カウントと各データ１０６とを切り離し、参照カウントを属性記憶部に記憶してもよい。
入力部１０５は、例えば、センサ入力部、カメラ画像入力部などの入力部であり、データ１０６は、例えば、センサから入力された気温、湿度、音などを数値化した情報、あるいは、カメラから入力された画像情報等の各種データである。
入力部１０５の動作は、後述するアプリケーション実行部１００からの指示によって起動、停止させてもよい。
入力部１０５によってデータ１０６が入力される毎に、後述する組み合わせ作成部１０３がデータ１０６の組み合わせの作成を行う場合には、入力部１０５がデータ１０６を入力したときにその旨を、入力部１０５が組み合わせ作成部１０３へ通知してもよい。
データ記憶部１０１に空き領域が不足したことは入力部１０５が新たにデータ１０６を追加する際に判明するため、入力部１０５が後述の棄却判定部１０４を起動するようにしてもよい。
アプリケーション実行部１００は、データ記憶部１０１内のデータ１０６にアクセスして、アプリケーションの動作に必要な情報を収集する。アプリケーション実行部１００はデータ１０６の利用を開始する際に、アプリケーションが利用する１以上のデータ１０６のデータ種別の組み合わせを利用状況記憶部１０２に伝える。データ種別とは、データ１０６の種類であり、例えば、気温、湿度、画像、音など様々な種別が考えられる。また、データ１０６の種別は、例えばそのデータ１０６の拡張子等であっても良いし、そのデータ１０６を取得した入力部１０５の種類（センサ１から取得されたデータは“センサ１データ”という種別、カメラ１から取得された画像データは“カメラ１画像”という種別など）であってもよい。データ１０６にそのデータの種別を対応付ける方法は種々の方法が知られているため詳述しない。入力部１０５がデータ１０６を取得した段階で該データ１０６とそのデータ種別とが対応付けられ、該データ種別を表す情報がデータ１０６に付加されるものとする。なお、データ種別は、データ１０６と対応付けがされていれば、データ１０６と共にデータ記憶部１０１に記憶される必要は無い。例えば、データ種別は、図示しない属性記憶部に記憶されても良い。この場合、データ１０６のみがデータ記憶部１０１に記憶され、各データと対応付けられたデータ種別は属性記憶部に記憶される。このように、入力部１０５は、データ種別と各データ１０６とを切り離し、データ種別を属性記憶部に記憶してもよい。アプリケーション実行部１００は、データ記憶部１０１内のデータ１０６の利用を終了する際に、利用終了を利用状況記憶部１０２に伝える。
利用状況記憶部１０２は、アプリケーションと、アプリケーションで利用されている、あるいは、過去に利用された１以上のデータ１０６のデータ種別とを組み合わせた情報を利用状況情報として記憶する。図１に示すように、利用状況記憶部１０２は、データ１０６を利用するアプリケーションの識別子と、アプリケーションが利用する１以上のデータ１０６のデータ種別を表す識別子との組を記憶する。利用状況記憶部１０２は、アプリケーションで利用されるデータ１０６のデータ種別を予め記憶していても良いし、アプリケーション実行部１００から適宜取得してもよい。
組み合わせ作成部１０３は、利用状況記憶部１０２からデータ１０６の利用状況情報を取得する。また、組み合せ作成部１０３は、利用状況情報が示すデータ種別をもつデータ１０６の組み合わせをデータ記憶部１０１から検索し、同じデータ種別を有し、かつ、各データ１０６の生成時刻が互いに近い（所定時間以内の）データ１０６の組み合わせを検索する。
また、組み合せ作成部１０３は、検索したデータ１０６が異なる組み合わせに属する毎に、そのデータ１０６の参照カウントを１だけ加算する。
組み合わせ作成部１０３は、以下のように実行される。例えば、組み合わせ作成部１０３は、（１）定期的に実行されてもよいし、（２）棄却判定部１０４が起動する際にそれに先だって実行されてもよいし、（３）入力部１０５が新しいデータ１０６をデータ記憶部１０１に追加する毎に実行されてもよい。
組み合わせ作成部１０３の処理を図４のフローチャートを引用して説明する。
まず、組み合わせ作成部１０３は、利用状況記憶部１０２に記憶されたデータ種別の組み合わせを１つ取得する（ステップＳ１）。組み合わせ作成部１０３は、これ以前のステップで利用状況記憶部１０２に記憶されたデータ種別の組み合わせを全て取得している場合（利用状況記憶部１０２にデータ種別の組み合わせが記憶されていない場合も含む）には（ステップＳ２のＹｅｓ）、既に取り出すべき組み合わせが存在しないので本処理を終了する。
次に、組み合わせ作成部１０３は、取り出したデータ種別の組み合わせに含まれる第一のデータ種別のデータ１０６をデータ記憶部１０１から取り出す（ステップＳ３）。第一のデータ種別とは、組み合わせ作成部１０３が利用状況記憶部１０２から取得したデータ種別の組み合わせに含まれるデータ種別のうちから適当に選択された１のデータ種別である。組み合わせ作成部１０３は、組み合わせに含まれる１以上のデータ種別のうち、例えば、最も少ない頻度で生成されるデータ１０６のデータ種別を第一のデータ種別としてもよい。この場合、例えば組み合わせ作成部１０３は、データ１０６が生成される頻度を、入力部１０５から適宜取得することで、生成される頻度が最も少ないデータ１０６のデータ種別の情報を取得してもよい。
組み合わせ作成部１０３は、ステップＳ３で取り出したデータ種別のデータ１０６をデータ記憶部１０１から取り出す（ステップＳ４）。組み合わせ作成部１０３がデータ１０６を取り出す範囲は、組み合わせ作成部１０３の起動タイミングに合わせて、例えば、（１）データ記憶部１０１に記憶された当該データ種別のデータ１０６の全て、（２）棄却対象とされている当該データ種別のデータ１０６群、（３）最近（所定時間前から現在までの間に）データ記憶部１０１に追加された当該データ種別のデータ１０６群、（４）管理者等が指定した所定期間内に取得されたデータ１０６群のいずれかであってもよい。組み合わせ作成部１０３は、以上の（１）〜（４）のいずれかまたはそれらを適宜組み合わせた母集団から当該データ種別のデータ１０６を１つずつ取り出して、ステップＳ６に進む（ステップＳ５のＮｏ）。ただし、組み合わせ作成部１０３は、当該母集団の全てのデータ１０６を既に取り出している場合には（ステップＳ５のＹｅｓ）、ステップＳ１に戻る。
組み合わせ作成部１０３は、取り出された第一のデータ種別のデータ１０６の生成時刻と近い生成時刻を持つ当該組み合わせに含まれる他のデータ種別を持つデータ１０６を検索する（ステップＳ６）。すなわち、組み合わせ作成部１０３は、第一のデータ種別と異なる第二のデータ種別をもつデータ１０６のなかで、第一のデータ種別のデータ１０６と生成時刻の近いデータ１０６を検索する。次に、組み合わせ作成部１０３は、第一のデータ種別、第二のデータ種別と異なる第三のデータ種別が存在する場合には、第三のデータ種別をもつデータ１０６のなかで、第一のデータ種別のデータ１０６、及び、第二のデータ種別のデータ１０６と生成時刻が近いデータ１０６を検索する。例えば、全てのデータ１０６が所定時間内に生成されている場合を例に、組み合わせ作成部１０３が第三のデータ種別のデータ１０６を検索する例を説明する。組み合わせ作成部１０３は、第三のデータ種別のデータ１０６をデータ記憶部１０１から一つ抽出し、その生成時刻γを取得する。次に、組み合わせ作成部１０３は、既に検索された組み合わせの１つから第一のデータ種別の１つのデータ１０６の生成時刻αと第二のデータ種別の１つのデータ１０６の生成時刻βとを取得する。次に組み合わせ作成部１０３は、｜α−β｜、｜β−γ｜、｜γ−α｜を算出し、そのなかで最も大きい値が、予め定められた所定時間より小さい値であるときのみ、該第三のデータ種別のデータ１０６をその組み合わせに追加する。このようにして、組み合わせ作成部１０３は、当該組み合わせに属する全てのデータ種別で、生成時間が近いデータ１０６を検索する。なお、組み合わせ作成部１０３がデータ１０６の組み合わせを作成する方法は上記の方法に限定されない。
組み合わせ作成部１０３は、当該組み合わせに属する全てのデータ種別で、生成時間が近いデータ１０６が検索できた場合には（ステップＳ７のＹｅｓ）、それらのデータ１０６の参照カウントに１を加算し（ステップＳ８）、ステップＳ４に戻る。組み合わせ作成部１０３は、生成時刻が近いデータ１０６を検索できなかった場合にも、ステップＳ４に戻る（ステップＳ７のＮｏ）。
棄却判定部１０４は、例えば、データ記憶部１０１内の空き領域が一定量以下になると実行される。棄却判定部１０４は、例えば、以下のいずれかのデータ１０６を棄却する。すなわち、棄却判定部１０４は、（ア）生成時刻が比較的古いデータ１０６（例えば、管理者等が予め定めた、データ生成時刻から所定時間が経過したデータや、アプリケーションごとに定められたデータ生成時刻から所定時間が経過したデータ）、（イ）参照カウントが０であるデータ１０６、（ウ）参照カウントが所定値よりも小さいデータ１０６、を優先して棄却し、必要な空き領域を確保するように制御を行う。棄却判定部１０４は、これら全ての基準に従って実行されてもよいが、（イ）ないし（ウ）のいずれか１以上を含む（ア）〜（ウ）基準の任意の組み合わせに従って実行されても良い。
次に、棄却判定部１０４が（ア）〜（ウ）の全ての基準を組み合わせて棄却対象を判定する例を図５のフローチャートを用いて説明する。
まず、棄却判定部１０４は、変数ｎに０を設定する（ステップＡ１）。次に、棄却判定部１０４は、データ記憶部１０１を参照し、参照カウントが変数ｎと等しい値を持つデータ１０６を棄却対象とする（ステップＡ２）。もし、棄却対象となったデータ１０６を棄却することによって、予め定められた所定の空き領域が確保されれば（ステップＡ３）、ステップＡ６に進む。空き領域が確保できていなければ、棄却判定部１０４は、変数ｎに１を加算し（ステップＡ４）、その結果、参照カウントが変数ｎと等しい値を持つデータ１０６が存在しなければ（ステップＡ５のＮｏ）ステップＡ６に進み、存在すればステップＡ２に戻る（ステップＡ５のＹｅｓ）。最後に、棄却判定部１０４は、棄却対象としたデータ１０６を実際にデータ記憶部１０１から棄却し（ステップＡ６）、棄却によって解除された組み合わせに属する他のデータ１０６の参照カウントを、属する組み合わせの数が減った分だけ減じる処理を行う（ステップＡ７）。
＜実施形態１の具体例＞
次に、図６を基に具体例を用いて本実施の形態の動作の一例を説明する。
本具体例においては、上述した１００から１０６までの各部は自動車に積載された端末装置２００に内蔵された機能とする。具体的には、データ記憶部１０１は、一次記憶部または二次記憶部２０３上に構成され、アプリケーション実行部１００、利用状況記憶部１０２、組み合わせ作成部１０３、棄却判定部１０４、入力部１０５の各々はプロセッサ２０４上で実行される機能であるとする。
本具体例で扱うデータ１０６は、カメラで撮像された静止画像データである。静止画像データは、自動車の進行方向の右側に設置された右カメラ装置２０１、および、同左側に設置された左カメラ装置２０２を介して、入力部１０５によって入力されるものとする。そして、データ種別は、データ１０６が右カメラ装置２０１を介して取得されたデータである場合には“右カメラ画像”、左カメラ装置２０２を介して取得されたデータである場合には“左カメラ画像”であるとする。
アプリケーション実行部１００は、２種類のアプリケーションを実行するものとする。アプリケーション実行部１００が実行するアプリケーションの１つは、右カメラ装置２０１で撮像した右カメラ画像と左カメラ装置２０２で撮像した左カメラ画像との視差を使って、当該自動車と、当該自動車の前方を走行中の自動車との距離を計測する計測アプリケーション２０５である。計測アプリケーション２０５が距離を計測する場合には、ほぼ同時刻に撮影された右カメラ画像と左カメラ画像とを用いて、それらの視差を用いることで該距離を計測するものとする。
もう１つのアプリケーションは、自動車事故などが発生した際の事後解析等に利用されることを目的として、自動車の前方画像をハードディスク２０８に記録する記録アプリケーション２０７である。但し、全てのカメラ画像を記録するのではなく、画像に大きな変化が生じた時点の画像のみを検出して記録する。具体的には、記録アプリケーション２０７は、右カメラ画像と左カメラ画像の、それぞれの画像上で特徴がある箇所を検出し、そのような特徴箇所のある画像だけを記録する。ここで、画像上の特徴箇所とは、例えば、その画像よりも所定時間前の時刻で撮像した画像と比較して輝度値、ＲＧＢ（Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅ）値などの変化率が大きい画像上の箇所である。なお、記録アプリケーション２０７が画像上の特徴箇所を検出する方法や、どのような特徴をもつ箇所を検出することが自動車事故が発生した際の事後解析等に有効かは、本発明の主題ではないので説明を省略し、様々な公知の方法が用いられるものとする。
アプリケーション実行部１００は、高速道路の走行時などに計測アプリケーション２０５を起動して、右カメラ画像のデータ１０６と左カメラ画像のデータ１０６の２つのデータ種別の利用を利用状況記憶部１０２に通知する。その後、アプリケーション実行部１００は、データ記憶部１０１に存在する右カメラ画像のデータ１０６と左カメラ画像のデータ１０６のなかで生成時刻が近いデータ１０６の組を検索し、画像処理によって自動車との距離を求め、距離が所定の閾値より小さい場合や、距離が小さくなる方向に変化している場合、あるいは、距離が急激に小さくなっている場合等に、端末装置２００に組みこまれたディスプレイ２０６を通じて、ドライバに警告を与える。計測アプリケーション２０５の動作中に、組み合わせ作成部１０３と棄却判定部１０４はそれぞれ上述した図４と図５のフローチャートに従って、計測アプリケーション２０５の動作に必要なデータ１０６をデータ記憶部１０１に残し、不要なデータ１０６を棄却するように動作する。
記録アプリケーション２０７は、自動車事故などが発生した際の事後解析等に利用されることを目的とするため、計測アプリケーション２０５とは異なり、利用するデータ１０６を利用状況記憶部１０２に通知せずにデータ記憶部１０１内のデータ１０６を利用することができる。なぜなら、記録アプリケーション２０７が利用するカメラ画像はその生成時刻とは関係なく、利用時点におけるデータ記憶部１０１に記録されているカメラ画像を用いて特徴検出することができるためである。したがって、アプリケーション実行部１００が、記録アプリケーション２０７のみを実行している間は、データ記憶部１０１上のデータの棄却に対して、本発明の仕組みを稼働させなくともよい。しかし、記録アプリケーション２０７と計測アプリケーション２０５とを同時に実行する場合には、本発明の仕組みを稼働させてデータの棄却を行うことでアプリケーションが利用するデータ１０６のヒット率が向上する。
本実施の形態におけるデータ管理装置１は、装置内で発生する、または、装置外から入力した生成時刻を含むデータを装置内に一旦蓄積した上で、装置や装置を含むシステム等のアプリケーションが利用するデータ１０６のヒット率を向上させることができる。その理由は、データ管理装置１がデータ１０６の個々の属性情報のみならず、データ記憶部１０１に蓄積された生成時刻の近い複数種のデータ１０６の組み合わせを利用してデータ棄却判定を行なうためである。
＜実施形態２＞
次に、本発明の第２の実施の形態のデータ管理装置２について説明する。
本実施の形態におけるデータ管理装置２は、図９のように、利用状況記憶部１０２と、組み合わせ作成部１０３と、棄却判定部１０４と、を備える。
利用状況記憶部１０２は、アプリケーションと、アプリケーションで利用されている、あるいは、過去に利用された１以上のデータ１０６のデータ種別とを組み合わせた情報を利用状況情報として記憶する機能を有する。
組み合わせ作成部１０３は、利用状況記憶部１０２からデータ１０６の利用状況情報を取得する。また、組み合せ作成部１０３は、利用状況情報が示すデータ種別の組み合わせをデータ記憶部１０１から検索し、同じデータ種別を有し、かつ、各データ１０６の生成時刻が互いに近いデータ１０６の組み合わせを検索する機能を有する。
棄却判定部１０４は、組み合わせ作成部１０３が作成したデータ１０６の組み合わせのいずれにも属さないデータ１０６を棄却候補とする機能を有する。
このような構成によれば、１つのアプリケーションが利用する複数のデータ種別の組を記憶する利用状況記憶手段と、前記データ種別の１つが付与されたデータを記憶するデータ記憶手段から、前記利用状況記憶手段が記憶する前記データ種別の各々が付与された前記データの組のうち、当該組の各データの生成時刻の差分が所定時間以内の組を抽出する組み合わせ作成手段と、前記データ記憶手段に記憶された前記データのうち、抽出された前記組に属するデータ以外のデータを削除候補とする棄却判定手段と、を備えるデータ管理装置が提供される。
本実施の形態におけるデータ管理装置２は、アプリケーションが利用するデータ１０６のヒット率を向上させることができる。その理由は、データ管理装置２がデータ１０６の個々の属性情報のみならず、データ記憶部１０１に蓄積された生成時刻の近い複数種のデータ１０６の組み合わせを利用してデータ棄却判定を行なうためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
この出願は、２０１０年１２月１３日に出願された日本出願特願２０１０−２７７１１２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００９】
１００    アプリケーション実行部
１０１    データ記憶部
１０２    利用状況記憶部
１０３    組み合わせ作成部
１０４    棄却判定部
１０５    入力部
１０６    データ
２００    端末装置
２０１    右カメラ装置
２０２    左カメラ装置
２０３    一次記憶部または二次記憶部
２０４    プロセッサ
２０６    ディスプレイ
２０８    ハードディスク
【図１】
2012081720.tif 000003
【図２】
2012081720.tif 000004
【図３】
2012081720.tif 000005
【図４】
2012081720.tif 000006
【図５】
2012081720.tif 000007
【図６】
2012081720.tif 000008
【図７】
2012081720.tif 000009
【図８】
2012081720.tif 000010
【図９】
2012081720.tif 000011
【国際調査報告】
2012081720.tif 000012
2012081720.tif 000013
2012081720.tif 000014
2012081720.tif 000015