JP2013218431A - 最適化処理装置、最適化処理方法及びプログラム - Google Patents
最適化処理装置、最適化処理方法及びプログラム Download PDFInfo
- Publication number
- JP2013218431A JP2013218431A JP2012086732A JP2012086732A JP2013218431A JP 2013218431 A JP2013218431 A JP 2013218431A JP 2012086732 A JP2012086732 A JP 2012086732A JP 2012086732 A JP2012086732 A JP 2012086732A JP 2013218431 A JP2013218431 A JP 2013218431A
- Authority
- JP
- Japan
- Prior art keywords
- optimization processing
- optimization
- data
- processing device
- index
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】データの断片化を解消して検索の応答性を改善し、ユーザの利便性を向上させる。
【解決手段】PC2002は、PC2002の状態とDSC2001の状態とを検知し、検知結果に基づいて、PC2002とDSC2001との間におけるデータの最適化処理の分担計画を生成する。そしてPC2002は、分担計画に基づいて、データの最適化処理を実行する。
【選択図】図2
【解決手段】PC2002は、PC2002の状態とDSC2001の状態とを検知し、検知結果に基づいて、PC2002とDSC2001との間におけるデータの最適化処理の分担計画を生成する。そしてPC2002は、分担計画に基づいて、データの最適化処理を実行する。
【選択図】図2
Description
本発明は、データの最適化処理の技術に関するものである。
近年のフラッシュメモリ容量の増加に伴い、デジタルスチルカメラ、フォトフレーム又はインクジェット複合機等、計算資源に制約がある省資源機器においても、数万枚から数十万枚の画像データを保存できる記憶容量を持つようになっている。また、認識技術等の向上によって、人名や地名をはじめとした多様な属性値を画像データに付与することが可能となっており、これらの属性値を用いて、多種多量の画像データを対象として検索を高速に行う必要性が省資源機器においても高まっている。例えば、写真の画像データである場合、日付、撮影パラメータ及び位置情報であるGPS(Global Positioning System)座標等の属性値が撮影時に付与されるほか、お気に入り度合いや印刷指定等の属性値が再生時に付与される。これらの属性値を画像データに付与する枠組みとしては、Exif(Exchangeable image file format)を用いる方法が代表的である。ユーザが所望の画像データを検索する場合には、これらの属性値を用いることが有益である。しかしながら、画像データ及び属性値が多種多量である場合、各画像データに対して全走査を行って検索を行うことは計算量が膨大となり、応答時間の遅延を招いてしまう。
そこで、検索を高速に行えるようにするためにインデックスを予め構築しておき、検索時にインデックスを利用することで応答時間を短縮する手法が一般的である。しかし、常に正しい検索結果を得るためには、検索対象の画像データの追加及び更新をインデックスにも同期させる必要がある。このように検索対象の画像データの追加及び更新が頻繁に発生し、インデックスの局所的な更新が続くと、インデックス内部に断片化が発生する。即ち、使用されない空き領域や検索に向かないアンバランスな構造がインデックス内部に生じる。この状況で画像データの検索を行うと、断片化の少ないインデックスを用いた場合に比べてデータアクセス量が増加し、装置全体の演算性能を低下させてしまう。
一般的には、この問題を解決するためにRAMや主記憶部にキャッシュ機構等の中間層を設けて読み書き頻度を抑制するが、省資源機器では計算資源の制約からキャッシュ機構が小容量であり、抑制効果を得ることは難しい。例えばデジタルスチルカメラ等においては、撮影した写真に対し、人名辞書等を参照して人名を事後登録する場合がある。このような属性値の事後更新を行う場合、構築済みのインデックスの一部を組み替えるためにインデックスの断片化を誘発する。インデックスが断片化したデータベースファイルの容量は肥大化するため、キャッシュ容量が逼迫する。その結果、データアクセス時のキャッシュヒット率が落ち、データベースファイルからのデータ読み出しが頻発しがちである。そのため、インデックスの断片化を解消するための最適化処理を適切なタイミングで実施する必要がある。
従来、インデックスやデータの最適化処理に着眼した検索手法として、例えば特許文献1において、最適化処理時にデータ構造、インデックス及びバッファ等の性能チューニングを行う手法が開示されている。また特許文献2には、最適化対象データを複製して、複製物に対して最適化が可能な部分を抽出してインデックスの最適化処理を行い、書き戻した上で差分の同期を行う手法が開示されている。さらに特許文献3には、断片化が一定以上になった場合、電力が十分且つスタンバイ状態のときに最適化処理を行う手法が開示されている。
しかしながら、上述した従来技術は、計算資源が限定される省資源機器において完遂させることが困難である。なぜなら、インデックスの最適化処理には一定量の処理時間を要するためである。加えて、デジタルスチルカメラやフォトビューワ等の情報検索装置においては、給電が切断されることや、ユーザの操作による割り込みがあるため、安定してインデックスの最適化処理を行うことが困難である。
そこで、本発明の目的は、データの断片化を解消して検索の応答性を改善し、ユーザの利便性を向上させることにある。
本発明の最適化処理装置は、データの最適化処理を行うことが可能な他の最適化処理装置の状態と当該最適化処理装置の状態とを検知する検知手段と、前記検知手段による検知結果に基づいて、前記他の最適化処理装置と当該最適化処理装置との間におけるデータの最適化処理の分担計画を生成する生成手段と、前記分担計画に基づいて、データの最適化処理を実行する最適化手段とを有することを特徴とする。
本発明によれば、データの断片化を解消して検索の応答性を改善することができ、ユーザの利便性を向上させることができる。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
先ず、本発明の第1の実施形態について説明する。本発明の第1の実施形態に係るデータベース制御システムは、少なくとも2台のデータ検索装置によって構成される。図1は、第1の実施形態に係るデータベース制御システムに適用されるデータ検索装置1000の構成を示す図である。
図1において、CPU(Central Processing Unit)1001は、情報処理のための演算や論理判断等を行う。CPU1001は、システムバス1010を介して、それらのバスに接続された各構成要素を制御する。読出し専用メモリであるROM(Read Only Memory)1002は、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。書き込み可能なメモリであるRAM(Random Access Memory)1003は、各構成要素からの各種データの一時記憶に用いられる。入力部1004は、ボタン、タッチパネル、キーボード又はマウス等であり、ユーザからの指示が入力される。電源部1005は、データ検索装置1000に必要な電源を供給し、必要に応じて外部からの給電及び充電に対応する。表示部1009は液晶パネル等である。表示コントローラ1006は、表示部1009における画像データの表示を制御する。外部記憶部1007は、画像データ等の各種データを格納する。外部記憶部1007としては、メモリカード、HDD又はDVD−RAM等を用いることができる。通信部1008は、ネットワークコントローラ等であり、他のデータ検索装置との接続を制御する。
上述した各構成要素から成るデータ検索装置1000は、入力部1004から入力される情報、及び、ネットワークを経由して通信部1008から入力される情報に応じて動作する。即ち、入力部1004又は通信部1008から情報が入力されると、先ずインタラプト信号がCPU1001に送信される。そしてCPU1001は、ROM1002、RAM1003及び外部記憶部1007に記憶される各種制御信号を読み出し、制御信号に従って制御を行う。
また、本実施形態に係わるプログラムが格納された記憶媒体をシステム又は装置に供給し、そのシステム又は装置が記憶媒体に格納されたプログラムを読み出し、実行することによっても本実施形態を達成することができる。
図2は、本実施形態に係るデータベース制御システムによるインデックスの最適化処理の概略を説明するための図である。ここでは、本実施形態に係るデータベース制御システムの具体例として、デジタルスチルカメラ(以下、DSCと称す)2001及びパーソナルコンピュータ(以下、PCと称す)2002の2つのデータ検索装置から構成されるデータベース制御システムを示している。
DSC2001及びPC2002は、接続状態の変化が検知されることを契機として処理を行う。先ず、充電や画像データの同期を目的として有線通信手段又は無線通信手段を用いてDSC2001とPC2002とが接続される(ステップS101)。DSC2001とPC2002との接続が検知されると、DSC2001からPC2002にインデックスが格納された最適化前データベースファイル2003が転送される。そして、DSC2001とPC2002との間で最適化前データベースファイル2003が同期される(ステップS102)。最適化前データベースファイル2003が同期された後、PC2002においてインデックスの最適化処理が開始される(ステップS103)。これは、DSC2001と比較してPC2002の方が高い演算性能を持っており、インデックスの最適化処理を高速に実行することができるためである。
PC2002にてインデックスの最適化処理が開始された後、DSC2001が持ち出されること等によって、DSC2001とPC2002との接続が切断される場合がある(ステップS104)。このような切断に対し、インデックスの最適化処理が実行中であるか否かをフラグ化して格納しておくこと等によって、DSC2001及びPC2002の双方において切断に備える。接続状態が切断されても、PC2002側ではインデックスの最適化処理が続行される。これにより、DSC2001の計算資源を消費することなく、インデックスを最適化することができる。一方、DSC2001は、切断後の再開処理を容易にするため、追加撮影された画像データ2004に対するインデックスの更新を別の差分データ更新領域である差分データベースファイル2005に対して行う。
PC2002におけるインデックスの最適化処理が完了すると(ステップS105)、最適化後データベースファイル2006が生成される。DSC2001とPC2002とが再接続された場合(ステップS106)、DSC2001において生成された差分データベースファイル2005は、PC2002に対して転送される。DSC2001とPC2002との間で差分データベースファイル2005が同期されると(ステップS107)、PC2002は、最適化後データベースファイル2006をDSC2001に転送する。DSC2001は、最適化前データベースファイル2003から最適化後データベースファイル2006に置換する(ステップS108)。以上の処理を繰り返すことにより、常にDSC2001における画像データの検索性能を高速に保つことができる。
図3(a)は、図1に示した外部記憶部1007の例として、DSC2001向けメモリカードの内部構成を示している。図3(a)の3001に示すように、メモリカード3000の内部には、写真や映像をはじめとした各種画像データがDCF(Design rule for Camera File system)に準拠した形で格納される。また、画像データには、当該画像データに関する情報としての属性値が付与されている。写真の画像データである場合、日付、撮影パラメータ及びGPS座標等の属性値がExif(Exchangeable image file format)3002により画像データに付与されるのが代表的な例である。
Exifには、日付、GPS座標、地名、撮影機器メーカ、撮影機器機種名及び人名等の属性値が格納されている。また、検索を高速に行えるようにするため、図3(a)の3004〜3007に示すように、インデックス格納領域3003には、索引情報が格納された各種インデックスが予め構築され、構築済みのインデックスを検索時に利用することで応答時間を短縮する手法が一般的である。インデックスは、B−TreeやAVL Tree、ハッシュ等の論理構造を持ち、検索キーと画像データとを紐付けておくことで高速な検索が可能になる。なお、各インデックス3004〜3007は、データベースファイル等の形式でインデックス格納領域3003に永続的に格納される。
図3(b)は、Exifにより画像データに属性値が付与された状態の例を示している。図3(b)の例では、画像データ(IMG_0001.JPG)に対して、日付(Date Time)、GPS座標(GPS Pos.)、地名(Place)、撮影機器メーカ(Make)、撮影機器機種(Model)及び人名(Person)等の属性値が付与されている。
図3(c)は、地名インデックス3006がB−Treeの構造を持つ場合を示している。B−Treeは階層構造を持つデータ構造であり、画像データの挿入、検索及び削除を容易に行うことができるという特長を持つ。インデックスレコード3008は、地名を用いてデータファイル名を高速に検索するためのインデックスである。
図4(a)は、DSC2001及びPC2002において格納されるデータベースの例を示している。データベース4001においては、各画像データを一意に区別するためのキーとしてRowIDが付与され、データベースファイル等に表形式で保存されることを想定している。RowIDは、データベース又はテーブルにおいて重複しないようにユニークに発番及び付与される数値であり、一般的なデータベースエンジンで利用されている。
図4(b)は、本実施形態におけるインデックス格納領域3003に格納されるインデックスの例を示している。本実施形態では、各画像データに対してExif3002により付与された属性値のインデックスを、後述するインデックス登録処理部6005によって予め生成しておく。これにより、検索条件に合致する画像データを素早く発見し、高速に検索することができる。例えば日付インデックス3004は、日付とRowIDとを結びつけたデータマップを保持している。人名インデックス3007は、人名とRowIDとを結びつけたデータマップを保持している。これにより、RowIDに基づいてデータベースから画像データを一意に特定し、検索結果を提示することが可能になる。
図5は、B−Tree構造のインデックスの例を示している。一般的にB−Tree構造は大きく分けて、ルートノード、中間ノード及びリーフノードの3要素からなる。ルートノードからリーフノードに向かって探索が行われ、各ノードに格納されているデータが評価されることにより、全走査を行うことなく検索条件に対応する画像データを検索することができる。
例えば、図5(a)に示す初期状態のインデックスに対して人名「太郎」が付与されると、図5(b)に示すように、人名「太郎」が付与されたインデックスが格納されていた部分に空き領域が生まれ、ノードが分散してしまう。その結果、アクセスデータ量が増え、検索及び更新時の応答性能が劣化してしまう。そこで、適切なタイミングにおいてインデックスの最適化処理が行われ、図5(c)に示すように無駄な空き領域が整理される。これにより、空き領域となっていた部分が再構築によって埋まり、全体のノード数が減っている。このように空き領域を整理することによってアクセスデータ量を減少させ、応答性能を向上させることができる。
図6(a)は、図1に示したRAM1003の構成を示す図である。RAM1003は、主にファイルキャッシュ6001及びデータベースキャッシュ6002から構成される。ファイルキャッシュ6001は、外部記憶部1007に対するアクセス要求データをRAM1003経由で受け渡しするようにして、データベースファイルへのアクセスに対する応答速度を向上させるために配置される。
図6(b)は、本実施形態におけるデータ検索装置1000の機能構成を示す図である。以下、図6(b)を参照しながら、本実施形態におけるデータ検索装置1000の機能構成について説明する。
装置状態変化検知部6003は、データ検索装置1000の給電状態、リソース状態、通信状態及び加速度センサ等を監視し、その監視結果に応じてデータ検索装置1000の動作を決定する。データベースエンジン6004は、画像データ検索を高速に行うために利用される。図6(b)に示すように、データベースエンジン6004は、インデックス登録処理部6005、インデックス検索処理部6006及びインデックス最適化部6007から構成される。インデックス登録処理部6005は、高速に画像データ検索を行うためのインデックスを構築した上でデータベースファイルに登録する。インデックス検索処理部6006は、アプリケーション等から指示された検索条件でインデックスを検索し、検索結果を提示する。インデックス最適化部6007は、インデックスの断片化等を最適化処理によって解決する。その結果、画像データ検索時の応答性能劣化を抑制することができる。
画像データの検索を実行する検索アプリケーション6008は、データ登録処理部6009及びデータ検索処理部6010から構成される。データ登録処理部6009は、画像データの追加、編集及び削除をデータ格納部3001に対して行う。さらにデータ登録処理部6009は、インデックス登録処理部6005を呼び出して画像データ検索の高速化のために必要な各インデックス3004〜3007を更新し、インデックス格納領域3003に対して格納する処理を行う。データ検索処理部6010は、インデックス検索処理部6006を用いて、ユーザによって入力された検索条件に応じた画像データ検索を行う。検索条件入力部6011は、ユーザによって入力された検索条件を受け付け、データ検索処理部6010に対して上記検索条件を出力する。検索結果表示制御部6012は、データ検索処理部6010の検索結果をユーザに提示する。
図7(a)は、検索条件入力部6011において受け付けられる検索条件を表現したSQL(Structured Query Language)文の例を示している。図7(a)に示すようなSQL文は、ユーザによって入力された検索条件に応じて生成される。生成されたSQL文は、インデックス検索処理部6006によって解釈され、検索条件に応じたインデックスが検索される。
図7(b)は、画像データの検索結果を表示したユーザインタフェース7000の例を示している。領域7001は、検索条件表示領域である。ボックス7002は、ユーザが検索条件を選択するためのドロップダウンボックスである。領域7003は、画像データの検索結果をサムネイルで一覧表示する検索結果表示領域である。領域7004は、画像データの検索結果のページ数を提示する検索情報表示領域である。
図8は、電源投入後におけるデータ検索装置1000の処理を示すフローチャートである。以下、図8を参照しながら、電源投入後におけるデータ検索装置1000の処理について説明する。
ステップS8001において、データ検索装置1000は、電源投入後の初期化処理を行う。ステップS8002において、データ検索装置1000は、自らの状態変化又はユーザからの入力等のイベントの検出を待つ。イベントが検出されると、処理はステップS8003に移行する。ステップS8003において、データ検索装置1000は、ステップS8002で検出したイベントを判別する。ステップS8004において、データ検索装置1000は、判別したイベントに対応する処理を行う。ステップS8005において、データ検索装置1000は、ステップS8004における処理結果を表示部1009に表示させる。なお、ステップS8002において検出されるイベントの例としては、画像データ検索の起動命令、画像データ登録処理の起動命令、稼働時間、更新回数、及び、起動回数等が挙げられる。また、電源スイッチの入れ替え、給電状態の変化、他装置との連携状態、即ち、接続状態の変化、外部記憶部の状態の変化、加速度の変化、電波強度の変化、通信状態の変化、装置のリソース状態の変化、外部からの指示、及び、時刻変化等も挙げられる。
図9は、ユーザによって画像データ検索が指示された場合におけるデータ検索装置1000の処理を示すフローチャートである。以下、図9を参照しながら、ユーザによって画像データ検索が指示された場合におけるデータ検索装置1000の処理について説明する。
ステップS9001において、検索条件入力部6011は、ユーザにより入力された検索条件を受け付ける。ステップS9002において、データ検索処理部6010は、ステップS9001で受け付けられた検索条件に基づいて画像データ検索を実行する。即ち、データ検索処理部6010は、検索条件に応じてデータベースエンジン6004に内包されるインデックス検索処理部6006を呼び出し、検索条件に合致するインデックスを検索させる。そしてデータ検索処理部6010は、検索されたインデックスに基づいて画像データを検索する。ステップS9003において、検索結果表示制御部6012は、ステップS9002における画像データ検索結果をユーザに提示する。
次に、画像データの登録によって発生するインデックスの断片化、インデックスの断片化による影響、及び、インデックスの断片化を解消するためのインデックスの最適化処理について詳細に説明する。
先ず、画像データが登録されることによって発生するインデックスの断片化について説明する。正しい検索結果を得るためには、検索対象となる画像データが更新される度にインデックスも同様に更新する必要がある。例えば、属性値が付与されていない画像データに対して人名認識処理等が行われることにより、属性値が付与されることがある。属性値の付与と同時にインデックスも更新されるが、このとき、更新によって生じたインデックスの断片化を解消せずに終了することがある。
インデックスの断片化が生じている状態において画像データの検索又は登録が行われると、上述したようにノードが広く分散するため、必要なデータアクセス量が増加し、キャッシュメモリが枯渇してしまう。その結果、外部記憶部1007に対するアクセス要求が増えて処理終了が遅延してしまう。このような論理構造の断片化はB−Treeに限らず、ハッシュ、AVL Tree、ビットマップ等においても発生する。また同様に、インデックス自体についても、細かい更新を繰り返すと単位ブロック内の空き領域の再利用率が落ちることによってインデックスの断片化が発生する。特に書き換えが低速なフラッシュメモリを外部記憶部1007として利用する場合、既存領域の再利用よりも新規追記を優先する設計が行われることが多く、再利用率の低い更新が累積されてインデックスの断片化の発生が顕著になる。断片化が多いインデックスは読み出し量を多く必要とするため、キャッシュメモリを枯渇させる原因となる。キャッシュメモリが枯渇すると外部記憶部1007へのアクセス頻度が高くなり、応答性能が劣化する。
そこで、インデックスの断片化を解消するため、定期的にインデックスの最適化処理を行う必要がある。しかしながら、構造の組み替え処理はデータ全体を俯瞰する必要があるため、件数に応じてコストが増加し、DSC2001等の計算資源に制限がある環境では写真撮影等の他の機能の性能を劣化させる場合がある。加えて外部記憶部1007にフラッシュメモリを用いた場合、インデックス対象の属性値のような小容量の読み込み及び書き込みが低速である。そのため、インデックスの最適化処理はさらなる負荷となる。よって、DSC2001等の計算資源に制約のある装置単体においてインデックスの最適化処理を完遂することは困難である。
さらに、小型のビューワやDSC2001等において、充電を中断して持ち出し、利用するような状況では主機能の性能に影響を与えないようにするため、インデックスの最適化処理を中断する必要がある。一方で、インデックスの最適化処理が中断状態にあるインデックスを放棄することは、最適化処理の効率上望ましくない。そのため、適切にインデックスの最適化処理の中断と中断後のインデックスの最適化処理の再開とを行う必要がある。
これに対し、本実施形態においては、適切なタイミング及びデータ検索装置同士の分担でインデックスの最適化処理を行うことによって検索性能を向上させている。少なくとも2台のデータ検索装置で構成されるデータ検索システムにおいて、各データ検索装置の状態を検知する。続いて、データ検索システムは、その検知結果に応じて分担計画を作成した上でインデックスの最適化処理を起動する。また、インデックスの最適化処理が開始されてからデータ検索装置同士が切断され、インデックスの最適化処理の中断が必要になる場合、データ検索システムは、インデックスの最適化処理を再開可能にするように中断処理を行う。その後、再び接続される等によってインデックスの最適化処理を起動する場合、データ検索システムは、中断状態であるか否かを判定して再開可能である場合には中断状態からインデックスの最適化処理を再開する。インデックスの最適化処理の再開時には、データ検索システムは、各データ検索装置間でインデックスを同期させ、同期後にインデックスの最適化処理を行う。このように、計算資源の潤沢な環境においてインデックスの最適化処理を行うことによって、計算資源に制約のあるデータ検索装置における画像データ検索性能を改善することができる。
なお、上述した各データ検索装置の状態の検知要素としては、給電状態、電力の残量、データ状態、外部記憶部の状態、加速度センサ値、電波強度、通信状態、データ検索装置のリソース状態、稼働時間、更新回数、起動回数、外部からの指示、及び、時刻等が挙げられる。データ検索システムは、これらの検知要素のうちの少なくとも何れか一つを検知すると、インデックスの最適化処理を起動する。例えば、給電状態又は電力の残量を監視することにより、電力資源がインデックスの最適化処理を実行するために十分であるかを判断できる効果が得られる。データ状態又は外部記憶部1007の状態を監視することにより、データ差分を俊敏に把握できる効果が得られる。また、加速度センサ値、電波強度、通信状態、データ検索装置のリソース状態又は稼働時間を監視することにより、データ検索装置がインデックスの最適化処理を安定して行えるか否かを判定することができるという効果も得られる。また、更新回数、起動回数、外部からの指示、又は、時刻を監視することにより、インデックスの最適化処理を計画的に実行することができるという効果もある。
図10は、本実施形態におけるインデックスの最適化処理を示すフローチャートである。以下、図10を参照しながら、本実施形態におけるインデックスの最適化処理について説明する。なお、図10に示すインデックスの最適化処理は、図8のステップS8004において、給電状態の変化、他データ検索装置との接続状態の変化、通信状態変化又は外部からの指示等のイベントに対応して実行される処理である。
ステップS10001において、データ検索装置1000は、他のデータ検索装置との接続を検知する。ステップS10002において、データ検索装置1000は、他のデータ検索装置と差分データベースファイル(図2の2005)を同期させる。ステップS10003において、データ検索装置1000は、過去に中断されたインデックスの最適化処理を再開する。
ステップS10004において、データ検索装置1000は、他のデータ検索装置とインデックスの最適化処理の状態を比較し、訂番の新しい最適化済みインデックスが他のデータ検索装置に存在するか否かを判定する。訂番の新しい最適化済みインデックスが他のデータ検索装置に存在する場合、処理はステップS10005に移行する。一方、訂番の新しい最適化済みインデックスが他のデータ検索装置に存在しない場合、処理はステップS10007に移行する。なお、ステップS10004では、訂番以外にも、データ検索装置1000間におけるインデックスの最適化処理の進捗度を比較するようにしてもよい。
ステップS10005において、データ検索装置1000は、他のデータ検索装置から最適化済みインデックスを受け取る。ステップS10006において、データ検索装置1000に元々あったインデックスを破棄し、ステップS10005で受け取った最適化済みインデックスに置き換える。
ステップS10007において、データ検索装置1000は、ステップS10002における同期前までの最適化済みインデックスが本データ検索装置1000に存在するか否かを判定する。最適化済みインデックスが本データ検索装置1000に存在する場合、処理はステップS10008に移行する。一方、最適化済みインデックスが本データ検索装置1000に存在しない場合、処理はステップS10008をスキップしてS10009に移行する。ステップS10008において、データ検索装置1000は、他のデータ検索装置に対して最適化済みインデックスを送信する。
ステップS10009において、データ検索装置1000は、性能情報及び負荷状態を他のデータ検索装置と交換する。ステップS10010において、データ検索装置1000は、他のデータ検索装置から取得した性能情報及び負荷情報と、本データ検索装置1000の性能情報及び負荷状態とを比較する。ステップS10011において、データ検索装置1000は、ステップS10010における比較結果に基づいて、データ検索装置間における分担計画を作成する。ステップS10012において、データ検索装置1000は、作成した分担計画を他のデータ検索装置に対して送信することにより、当該分担計画を他のデータ検索装置と共有する。
上記分担計画では、インデックスの最適化処理の中断時においても、インデックスの最適化処理が続行可能なデータ検索装置においてインデックスの最適化処理を続行するように決定される。分担計画の具体例としては、電力供給安定度又は計算能力等に応じてインデックスの最適化処理を続行すること等が挙げられる。これにより、計算能力の低いデータ検索装置においても高速な画像データ検索を行うことができるという効果がある。
また、利用頻度が高い日付属性や利用頻度が低い位置情報等、属性や用途毎にインデックスを分割しておき、各インデックスをデータ検索装置同士で分担すること等が挙げられる。例えば、画像データ検索時の利用頻度が高い日付属性のインデックスの最適化処理をDSC2001において行い、利用頻度が低く、計算負荷の高い位置情報のインデックスの最適化処理をPC2002で行うこと等が考えられる。これにより、DSC2001が持ち出される等によってインデックスの最適化処理が中断された状況においても、矛盾なく画像データ検索を行うことができる。
ステップS10013において、データ検索装置1000は、分担計画の作成結果に応じて、インデックスの最適化処理を行うか否かを判定する。インデックスの最適化処理を行う場合、処理はステップS10014に移行する。一方、インデックスの最適化処理を行わない場合、処理はステップS10015に移行する。ステップS10014において、データ検索装置1000は、インデックスの最適化処理を実行する。S10015において、データ検索装置1000は、インデックスの最適化処理を続行可能な他のデータ検索装置に対してインデックスの最適化処理を委託し、その完了を待つ。
ステップS10016において、データ検索装置1000は、他のデータ検索装置との接続状態が有効であるか否かを判定する。他のデータ検索装置との接続状態が有効である場合、処理はステップS10017に移行する。一方、他のデータ検索装置との接続状態が有効ではない場合、処理は終了する。
ステップS10017において、データ検索装置1000は、インデックスの最適化処理が完了したか否かを判定する。インデックスの最適化処理が完了した場合、処理はステップS10018に移行する。一方、インデックスの最適化処理が完了していない場合、処理はステップS10018をスキップしてステップS10019に移行する。ステップS10018において、データ検索装置1000は、最適化済みインデックスを他のデータ検索装置と同期させる。ステップS10019において、データ検索装置1000は、他のデータ検索装置との接続を解除する。
図11は、ステップS10014におけるインデックスの最適化処理の詳細を示すフローチャートである。以下、図11を参照しながら、本実施形態におけるインデックスの最適化処理について詳細に説明する。
ステップS11001において、データ検索装置1000は、1件のインデックスの最適化処理を行う。ステップS11002において、データ検索装置1000は、他のデータ検索装置との接続状態を確認する。ステップS11003において、データ検索装置1000は、他のデータ検索装置との接続が有効であるか否かを判定する。他のデータ検索装置との接続が有効である場合、処理はステップS11007に移行する。一方、他のデータ検索装置との接続が有効ではない場合、処理はステップS11004に移行する。
ステップS11004において、データ検索装置1000は、他のデータ検索装置との接続解除が既に実施済みであるか否かを判定する。未だ接続解除が実施済みでない場合、処理はステップS11005に移行する。一方、既に接続解除が実施済みである場合、処理はステップS11007に移行する。ステップS11005において、データ検索装置1000は、インデックスの最適化処理の中断対応処理を行う。ステップS11006において、データ検索装置1000は、他のデータ検索装置との接続解除を実施する。なお、ステップS11005におけるインデックスの最適化処理の中断対応処理とは、他のデータ検索装置が再び接続された際に、他のデータ検索装置側におけるインデックスの最適化処理の再開処理を矛盾なく行うために実施するものである。具体的には、データ検索装置同士が切断された日時を記録する等の処理を行うことが考えられる。これにより、次回接続時におけるインデックスの最適化処理の再開処理において、上記切断日時等を用いてインデックスの整合性を判断することが可能になる。
ステップS11007において、データ検索装置1000は、最適化処理の対象となるインデックスが未だ存在するか否かを判定する。最適化処理の対象となるインデックスが未だ存在する場合、処理はステップS11008に移行する。一方、最適化処理の対象となるインデックスが存在しない場合、処理は終了する。ステップS11008において、データ検索装置1000は、次の最適化処理の対象となるインデックスを選択する。
図12は、図10のステップS10015におけるインデックスの最適化処理の完了待ち処理の詳細を示すフローチャートである。以下、図12を参照しながら、本実施形態におけるインデックスの最適化処理の完了待ち処理について説明する。
ステップS12001において、データ検索装置1000は、他のデータ検索装置におけるインデックスの最適化処理完了の検出処理を行う。ステップS12002において、データ検索装置1000は、他のデータ検索装置におけるインデックスの最適化処理が完了したか否かを判定する。インデックスの最適化処理が完了した場合、処理は終了する。一方、インデックスの最適化処理が完了していない場合、処理はステップS12003に移行する。ステップS12003において、データ検索装置1000は、他のデータ検索装置との接続状態を確認する。ステップS12004において、データ検索装置1000は、他のデータ検索装置との接続が有効であるか否かを判定する。他のデータ検索装置との接続が有効である場合、処理はステップS12001に戻る。一方、他のデータ検索装置との接続が無効である場合、処理はステップS12005に移行する。ステップS12005において、データ検索装置1000は、インデックスの最適化処理を中断した上で、インデックスの最適化処理の完了待ち処理を終了する。具体的なインデックスの最適化処理の中断方法としては、インデックスの最適化処理が他のデータ検索装置において続行中である旨のフラグを記録することや切断日時を記録する等が考えられる。これにより、インデックスの最適化処理の再開時にインデックスの整合性を判断できるようにするものである。
図13は、DSC13001の電力が安定している場合に、PC13002にインデックスの最適化処理を委託した後も、DSC13001において並行してインデックスの最適化処理を実行させる処理を説明するための図である。
DSC13001及びPC13002は、接続状態の変化が検知されることを契機として処理を行う。先ず、充電や画像データの同期を目的として有線通信手段又は無線通信手段を用いてDSC13001とPC13002とが接続される(ステップS1301)。DSC13001とPC13002との接続が検知されると、DSC13001からPC13002にインデックスが格納された最適化前データベースファイル13003が転送される。そして、DSC13001とPC13002との間で最適化前データベースファイル13003が同期される(ステップS1302)。最適化前データベースファイル13003が同期された後、PC13002においてインデックスの最適化処理が開始される(ステップS1303)。これは、DSC13001と比較してPC13002の方が高い演算性能を持っており、インデックスの最適化処理を高速に実行することができるためである。
PC13002にてインデックスの最適化処理が開始された後、DSC13001が持ち出されること等によって、DSC13001とPC13002との接続が切断される場合がある(ステップS1304)。このような切断に対し、インデックスの最適化処理が実行中であるか否かをフラグ化して格納しておくこと等によって、DSC13001及びPC13002の双方において切断に備える。接続状態が切断されても、PC13002側ではインデックスの最適化処理が続行される。これにより、DSC13001の計算資源を消費することなく、インデックスを最適化することができる。一方、DSC13001は、切断後の再開処理を容易にするため、追加撮影された画像データ13005に対するインデックスの更新を別の差分データ更新領域である差分データベースファイル13006に対して行う。
PC13002におけるインデックスの最適化処理が完了すると(ステップS1308)、最適化後データベースファイル13008が生成される。ここで、図13の例においては、DSC13001とPC13002との間におけるインデックスの最適化処理後における最適化後データベースファイルを、次回の同期時に統合することでインデックスの矛盾を回避している。具体的には、インデックスの登録件数を比較するためのバージョン番号を最適化後データベースファイルに付与しておくこと等の方法により、最適化後データベースファイルの新旧を判断することができる。そして、次回の同期時には古い最適化後データベースファイルが新しい最適化後データベースファイルに置換される。図13の例においては、PC13002へインデックスの最適化処理が委託された後、DSC13001単体で追加撮影された画像データ13005に対応するインデックスの更新が発生するため、PC13002における最適化後データベースファイルが古くなる。その後、DSC13001の充電が開始され(ステップS1305)、電力が安定すると、DSC13001ではインデックスの最適化処理が開始される(ステップS1306)。DSC13001におけるインデックスの最適化処理が完了すると(ステップS1307)、DSC13001において最適化後データベースファイル13007が生成される。
DSC13001とPC13002とが再接続された場合(ステップS1309)、DSC13001とPC13002との間で互いのバージョン番号が転送される(ステップS1310)。DSC13001及びPC13002は、バージョン番号に基づいて、どちらの最適化後データベースファイルの方が新しいかを判断し、新しいと判断した最適化後データベースファイルを選択する(ステップS1311)。図13の例では、最適化後データベースファイル13008より最適化後データベースファイル13007の方が新しいと判断され、最適化後データベースファイル13007が選択される。従って、DSC13001は、最適化後データベースファイル13008をPC13002に対して送信する。PC13002は、自ら保持する最適化後データベースファイル13008をDSC13001から受け取った最適化後データベースファイル13007で置換し(ステップS1312)、最適化後データベースファイル13008を削除する(ステップS1313)。
なお、PC13002に対してインデックスの最適化処理が委託された状態において、DSC13001の電力が安定している場合には、差分データベースファイル13006に対するインデックスの最適化処理を最適化前データベースファイル13003のインデックスの最適化処理とは独立して行ってもよい。これは、次回の同期時までに最適化前データベースファイル13003のインデックスの最適化処理が間に合わない場合等に、差分データベースファイル13006におけるインデックスの断片化及び肥大化が進むことを抑制する点において効果的である。
なお、B−Treeに限らず、AVL Tree等他の論理構造を持つインデックスや、インデックスファイル自体に対しても同様に再利用が行われない空き領域を整理する等のインデックスの最適化処理を行うことでインデックスの断片化が解消される。これにより、画像データの検索及び登録時に必要なデータ量が削減され、応答時間を向上させることができる。
以上のように、インデックスの最適化処理を計算能力の高いデータ検索装置側において続行させ、計算能力の低いデータ検索装置側にインデックスを最適化した結果を分配することにより、計算資源を効率よく利用したインデックスの最適化処理を行うことができる。その結果、計算能力の低いデータ検索装置においても画像データ検索時の応答速度が向上する。また、新しいインデックス作成中には古いインデックスを上書きしないため、突然の電源断や通信断絶時にも中断状態からの復帰が可能である。従って、画像データ検索機能運用の利便性も高くなる。
なお、本実施形態はインデックスの最適化処理に限らず、様々なユースケースにおいて適用できる。例えば記憶媒体中のファイル配置を並び替える等の処理を行うファイルシステムの最適化処理等においても適用可能である。ファイルシステムの最適化処理の場合、装置の状態検知結果を基に、適切なタイミングでファイルシステムの最適化処理を起動させ、中断及び再開処理を行わせる。例えば、DSCのファイルシステムの最適化処理をPCと連携して行う場合、DSCはUSB(Universal Serial Bus)等の有線接続や無線LAN等の無線接続によってPCと接続される。このとき、DSCはPCに対してディスクドライブとして見ることができる。PCは、DSCを一般的なディスクドライブとして扱うことで最適化処理を実施する。その結果、主機能の性能を劣化させることなく、外部記憶部1007の空き領域や登録データの断片化を解消する。これにより、データ走査時間や書き込み時間遅延を改善する効果がある。
本実施形態は、DSC環境におけるフラッシュメモリ等の更新速度が遅い環境を前提にしたが、RAMドライブ、ハードディスクドライブ、或いは速度改善されたフラッシュメモリ等、任意の環境においても応答時間の向上に効果がある。
また、DSC及びPCにおいてインデックスの最適化処理を行う例を挙げたが、PCに限らずフォトストレージ、テレビ、携帯電話等の情報装置に置き換えても適用可能である。また、計算資源が少ない環境においても電力供給が安定している状況等、十分な能力がある状況において、データファイルを分割する等によって複数のデータ検索装置間で分散最適化処理を行うことも効果的である。
次に、本発明の第2の実施形態について説明する。本発明の第2の実施形態では、3台以上の装置においてインデックスの最適化処理を実施する方法について説明する。第2の実施形態は、第1の実施形態と同様の構成に加え、少なくとも1つのインデックスの最適化処理能力を有する情報処理装置から構成される。第2の実施形態は、画像データ検索等において、複数の装置の間でインデックスの最適化処理を並行して行い、その進捗度及びデータ解析結果を共有する。本実施形態は、画像データ検索の応答速度を高速化するとともに、データ検索装置同士の同期時における利便性を高めることを目的とする。
図14は、第2の実施形態に係るデータベース制御システムの構成及び動作を説明するための図である。図14に示すように、第2の実施形態に係るデータベース制御システムは、DSC14001、PC14002及びフォトストレージ14003の3台から構成される。
先ず、DSC14001とPC14002とが接続されたとき、最適化前データベースファイル14004が各装置間で同期される(ステップS1401)。続いてPC14002は、インデックスの最適化処理を開始する(ステップS1402)。PC14002においてインデックスの最適化処理が実行されている間、DSC14001とPC14002とは切断されても構わない(ステップS1403)。
次に、PC14002とフォトストレージ14003とは、インデックスの最適化処理の進捗度を共有するとともに、最適化後データベースファイル14007の同期をネットワーク回線や通信ケーブルを経由して行う(ステップS1404)。インデックスの最適化処理後に、DSC14001がフォトストレージ14003に接続された場合(ステップS1405)、DSC14001はフォトストレージ14003から最適化後データベースファイル14007が書き戻される(ステップS1406)。このとき、第1の実施形態と同様に、追加撮影された画像データ14005については、差分データベースファイル14006にインデックスを構築しておくことによって同期後の統合を容易にできる。以上の処理によって、3台以上の装置においてインデックスの最適化処理を実行することができる。各装置の計算資源に差があるデータベース制御システムにおいても、最適にインデックスの最適化処理を分担することによって、データベース制御システム全体において高速な画像データ検索が可能になり、画像データデータ検索時の利便性を向上させる点で効果的である。
なお、第1の実施形態と同様に、各々の装置で並行してインデックスの最適化処理を行う状況において、装置の計算資源の状況に応じて並行してインデックスの最適化処理を行うことも考えられる。また、最適化範囲を分割して複数の装置間でインデックスの最適化処理を分担することや、性能の良い方でインデックスの最適化処理を行うことも考えられる。同期時に既に最適化後データベースファイルが存在した場合、それぞれの新旧を判断して、最も新しいものに統合する等によって同期時のデータ矛盾を回避する方法が考えられる。ここでは3つの装置における例を挙げたが、もちろん3つを超える装置においても同様に実施可能である。なお、分担計画に基づいて、複数のデータ検索装置においてインデックスの最適化処理が続行可能であると判断される場合、インデックスの最適化処理の結果及び進捗度のうちの少なくとも何れか一つを、当該複数のデータ検索装置間で同期させてもよい。また、同じく分担計画に基づいて、複数のデータ検索装置においてインデックスの最適化処理が続行可能であると判断される場合、当該複数のデータ検索装置間で状態を比較することにより、何れかのデータ検索装置でインデックスの最適化処理を続行させるかを決定するようにしてもよい。
上述した実施形態においては、各データ検索装置の状態を検知し、計算資源が確保できるデータ検索装置においてインデックスの最適化を実行している。これにより、インデックスの断片化を解消して画像データの検索の応答性を改善することができ、ユーザの利便性を向上させることができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
1000:データ検索装置、6001:ファイルキャッシュ、6002:データベースキャッシュ、6003:装置状態変化検知部、6004:データベースエンジン、6005:インデックス登録処理部、6006:インデックス検索処理部、6007:インデックス最適化部、6008:検索アプリケーション、6009:データ登録処理部、6010:データ検索処理部、6011:検索条件入力部、6012:検索結果表示制御部
Claims (14)
- データの最適化処理を行うことが可能な他の最適化処理装置の状態と当該最適化処理装置の状態とを検知する検知手段と、
前記検知手段による検知結果に基づいて、前記他の最適化処理装置と当該最適化処理装置との間におけるデータの最適化処理の分担計画を生成する生成手段と、
前記分担計画に基づいて、データの最適化処理を実行する最適化手段とを有することを特徴とする最適化処理装置。 - 前記最適化手段によるデータの最適化処理を再開可能な状態で中断する中断手段を更に有し、
前記最適化手段は、前記中断手段により中断された状態からデータの最適化処理を再開することを特徴とする請求項1に記載の最適化処理装置。 - 前記最適化手段は、インデックスの最適化処理及びファイルシステムにおけるファイル配置の最適化処理のうちの少なくとも何れか一方を実行することを特徴とする請求項1又は2に記載の最適化処理装置。
- 前記最適化手段は、前記他の最適化処理装置においてデータの最適化処理が中断された場合であっても、前記分担計画に基づき当該最適化処理装置においてデータの最適化処理が続行可能であると判断される場合には、当該最適化処理装置においてデータの最適化処理を続行することを特徴とする請求項1乃至3の何れか1項に記載の最適化処理装置。
- 前記最適化手段は、前記中断手段によりデータの最適化処理が中断された状態におけるデータ更新を、データの最適化処理が中断された領域とは別の領域において行うことを特徴とする請求項2に記載の最適化処理装置。
- 前記最適化手段は、前記別の領域に対するデータの最適化処理を、データの最適化処理が中断された領域とは独立して行うことを特徴とする請求項5に記載の最適化処理装置。
- 前記他の最適化処理装置におけるデータの訂番と当該最適化処理装置におけるデータの訂番とに基づいて、前記他の最適化処理装置との間でデータを同期させることを特徴とする請求項1乃至6の何れか1項に記載の最適化処理装置。
- 前記他の最適化処理装置におけるデータの最適化処理の進捗度と当該最適化処理装置におけるデータの最適化処理の進捗度とに基づいて、前記他の最適化処理装置との間でデータを同期させることを特徴とする請求項1乃至6の何れか1項に記載の最適化処理装置。
- 前記検知手段は、前記他の最適化処理装置及び当該最適化処理装置における、給電状態、電力の残量、データ状態、外部記憶部の状態、加速度センサ値、電波強度、通信状態、リソース状態、外部からの指示、及び、時刻のうちの少なくとも何れか一つを検知することを特徴とする請求項1乃至8の何れか1項に記載の最適化処理装置。
- データの更新回数、起動回数、及び、外部からの指示のうちの少なくとも何れか一つに応じて、前記最適化手段を起動させる起動手段を更に有することを特徴とする請求項1乃至9の何れか1項に記載の最適化処理装置。
- 前記分担計画に基づき、前記他の最適化処理装置とともにデータの最適化処理が続行可能と判断される場合、前記最適化手段におけるデータの最適化処理の結果及び進捗度のうちの少なくとも何れか一つを、他の最適化処理装置と同期させることを特徴とする請求項1乃至10の何れか1項に記載の最適化処理装置。
- 前記分担計画に基づき、前記他の最適化処理装置とともにデータの最適化処理が続行可能であると判断される場合、前記他の最適化処理装置と当該最適化処理装置との状態を比較することにより、前記他の最適化処理装置においてデータの最適化処理を続行するか、当該最適化処理装置においてデータの最適化処理を続行するかを決定することを特徴とする請求項1乃至11の何れか1項に記載の最適化処理装置。
- 最適化処理装置によって実行される最適化処理方法であって、
データの最適化処理を行うことが可能な他の最適化処理装置の状態と当該最適化処理装置の状態とを検知する検知ステップと、
前記検知ステップによる検知結果に基づいて、前記他の最適化処理装置と当該最適化処理装置との間におけるデータの最適化処理の分担計画を生成する生成ステップと、
前記分担計画に基づいて、データの最適化処理を実行する最適化ステップとを有することを特徴とする最適化処理方法。 - データの最適化処理を行うことが可能な他の最適化処理装置の状態と当該最適化処理装置の状態とを検知する検知ステップと、
前記検知ステップによる検知結果に基づいて、前記他の最適化処理装置と当該最適化処理装置との間におけるデータの最適化処理の分担計画を生成する生成ステップと、
前記分担計画に基づいて、データの最適化処理を実行する最適化ステップとをコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012086732A JP2013218431A (ja) | 2012-04-05 | 2012-04-05 | 最適化処理装置、最適化処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012086732A JP2013218431A (ja) | 2012-04-05 | 2012-04-05 | 最適化処理装置、最適化処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013218431A true JP2013218431A (ja) | 2013-10-24 |
Family
ID=49590473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012086732A Pending JP2013218431A (ja) | 2012-04-05 | 2012-04-05 | 最適化処理装置、最適化処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013218431A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015072220A1 (ja) * | 2013-11-14 | 2015-05-21 | ソニー株式会社 | 情報処理装置、情報処理方法および記憶媒体 |
-
2012
- 2012-04-05 JP JP2012086732A patent/JP2013218431A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015072220A1 (ja) * | 2013-11-14 | 2015-05-21 | ソニー株式会社 | 情報処理装置、情報処理方法および記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5437557B2 (ja) | 検索処理方法及び検索システム | |
US9430542B2 (en) | User initiated replication in a synchronized object replication system | |
JP4121333B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
KR101631004B1 (ko) | 위치 독립적 파일 | |
US7860909B2 (en) | Search engine system using snapshot function of storage system | |
JP4893130B2 (ja) | 情報処理装置、データ処理方法およびプログラム | |
WO2014178904A1 (en) | Searching and placeholders | |
US9690796B2 (en) | Non-transitory computer-readable media storing file management program, file management apparatus, and file management method | |
US11238011B2 (en) | Intelligent method to index storage system files accounting for snapshots | |
JP2007183763A (ja) | システム、サーバ装置及びスナップショットの形式変換方法 | |
JP5713652B2 (ja) | データ検索装置、方法、及びプログラム | |
CN106797402B (zh) | 信息系统、信息处理装置及其控制方法、计算机可读介质 | |
JP2014182653A (ja) | ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム | |
WO2015154425A1 (zh) | 磁盘数据保护方法及装置 | |
US20150324161A1 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
JP2013218431A (ja) | 最適化処理装置、最適化処理方法及びプログラム | |
US20160203200A1 (en) | Management apparatus, control method for management apparatus, and storage medium | |
JP2013003716A (ja) | データ記憶装置、データ記憶装置の制御方法、及びプログラム | |
US20100306186A1 (en) | Information processing system and program for controlling the information processing system | |
JP6381218B2 (ja) | ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム | |
TW201814577A (zh) | 用於防止計算機系統中數據惡意更改的方法和系統 | |
EP2068258B1 (en) | Apparatus and method for managing metadata in portable terminal | |
JP4011662B2 (ja) | 電子ファイリング方法及び装置 | |
JP2008269408A (ja) | データ検索システム | |
JP6061647B2 (ja) | ファイル管理装置、その制御方法及びプログラム |