(57)【特許請求の範囲】
【請求項１】
階層構造のオブジェクトをキー情報とデータ情報に基づいて管理する情報管理装置であって、
移動要求に応じてオブジェクトの移動元と移動先のキー情報を関連付けた少なくとも１の移動情報を取得する移動情報取得手段と、
前記取得された少なくとも１の移動情報のうち、下位に属するオブジェクトの特定に関する子一覧要求の対象となる対象キー情報に基づいて、該対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報である移動元移動情報を取得する移動元移動情報取得手段と、
前記移動元移動情報に基づいて前記子一覧要求の対象となるオブジェクトを特定するオブジェクト特定手段と、
前記特定されたオブジェクトのデータを取得するデータ取得手段と、
を含むことを特徴とする情報管理装置。
【請求項２】
前記情報管理装置は、更に、
前記移動情報取得手段に取得された少なくとも１の移動情報のうち、前記子一覧要求が行われたオブジェクトの下位のオブジェクトが移動元に含まれる移動情報を表す排除移動情報を取得する排除移動情報取得手段を含み、
前記オブジェクト特定手段は、更に前記排除移動情報に基づいて、前記子一覧要求の対象となるオブジェクトを特定する、
ことを特徴とする請求項１記載の情報管理装置。
【請求項３】
前記移動情報は、更に、前記移動要求が行われた時間に関する時間情報が関連付けられ、
前記データ取得手段は、前記移動要求が表す時間的順序で、前記特定されたオブジェクトのデータを取得する、
ことを特徴とする請求項１または２に記載の情報管理装置。
【請求項４】
前記データ取得手段は、前記移動元移動情報に基づいて、前記特定されたオブジェクトの前記子一覧要求におけるキー情報を特定することを特徴とする請求項１乃至３のいずれかに記載の情報管理装置。
【請求項５】
前記情報管理装置は、更に、
前記移動要求に応じたオブジェクトの移動処理を行う移動処理手段を含み、
前記移動処理中に前記子一覧要求が行われることを特徴とする請求項１乃至４のいずれかに記載の情報管理装置。
【請求項６】
階層構造のオブジェクトをキー情報とデータ情報に基づいて管理する情報管理プログラムであって、
移動要求に応じてオブジェクトの移動元と移動先のキー情報を関連付けた少なくとも１の移動情報を取得する移動情報取得手段、
前記取得された少なくとも１の移動情報のうち、下位に属するオブジェクトの特定に関する子一覧要求の対象となる対象キー情報に基づいて、該対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報である移動元移動情報を取得する移動元移動情報取得手段、
前記移動元移動情報に基づいて前記子一覧要求の対象となるオブジェクトを特定するオブジェクト特定手段、及び、
前記特定されたオブジェクトのデータを取得するデータ取得手段、
としてコンピュータを機能させることを特徴とする情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報管理装置、情報管理プログラムに関する。
【背景技術】
【０００２】
例えば、データ保存システムにおいてＫＶＳ(key-value store)というデータの管理技術が知られている、具体的には、ＫＶＳにおいては、任意の保存したいデータ（value）に対し、対応する一意のキー(key)を設定し、これらをペアで保存する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−７０３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、フォルダ構造（階層構造）のデータの管理にＫＶＳを用いる場合、データの移動処理に時間を要する。具体的には、例えば、キーがデータの階層構造上の位置を表すように構成した場合、データの移動処理の際、移動を行うすべてのデータのキーが変更されるため、処理に時間を要する。そこで、本発明は、実際の移動処理が終わっていなくても、子一覧要求に応じて移動処理後のデータが取得される情報管理装置等を実現することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の情報管理装置は、階層構造のオブジェクトをキー情報とデータ情報に基づいて管理する情報管理装置であって、移動要求に応じてオブジェクトの移動元と移動先のキー情報を関連付けた少なくとも１の移動情報を取得する移動情報取得手段と、前記取得された少なくとも１の移動情報のうち、下位に属するオブジェクトの特定に関する子一覧要求の対象となる対象キー情報に基づいて、該対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報である移動元移動情報を取得する移動元移動情報取得手段と、前記移動元移動情報に基づいて前記子一覧要求の対象となるオブジェクトを特定するオブジェクト特定手段と、前記特定されたオブジェクトのデータを取得するデータ取得手段と、を含むことを特徴とする。
【０００６】
請求項２に記載の情報管理装置は、請求項１に記載の発明において、更に、前記移動情報取得手段に取得された少なくとも１の移動情報のうち、前記子一覧要求が行われたオブジェクトの下位のオブジェクトが移動元に含まれる移動情報を表す排除移動情報を取得する排除移動情報取得手段を含み、前記オブジェクト特定手段は、更に前記排除移動情報に基づいて、前記子一覧要求の対象となるオブジェクトを特定する、ことを特徴とする。
【０００７】
請求項３に記載の情報管理装置は、請求項１または２に記載の発明において、前記移動情報は、更に、前記移動要求が行われた時間に関する時間情報が関連付けられ、前記データ取得手段は、前記移動要求が表す時間的順序で、前記特定されたオブジェクトのデータを取得する、ことを特徴とする。
【０００８】
請求項４に記載の情報管理装置は、請求項１乃至３のいずれかに記載の発明において、前記データ取得手段は、前記移動元移動情報に基づいて、前記特定されたオブジェクトの前記子一覧要求におけるキー情報を特定することを特徴とする。
【０００９】
請求項５に記載の情報管理装置は、請求項１乃至４のいずれかに記載の発明において、更に、前記移動要求に応じたオブジェクトの移動処理を行う移動処理手段を含み、前記移動処理中に前記子一覧要求が行われることを特徴とする。
【００１０】
請求項６に記載の情報管理プログラムは、階層構造のオブジェクトをキー情報とデータ情報に基づいて管理する情報管理プログラムであって、移動要求に応じてオブジェクトの移動元と移動先のキー情報を関連付けた少なくとも１の移動情報を取得する移動情報取得手段、前記取得された少なくとも１の移動情報のうち、下位に属するオブジェクトの特定に関する子一覧要求の対象となる対象キー情報に基づいて、該対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報である移動元移動情報を取得する移動元移動情報取得手段、前記移動元移動情報に基づいて前記子一覧要求の対象となるオブジェクトを特定するオブジェクト特定手段、及び、前記特定されたオブジェクトのデータを取得するデータ取得手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１１】
請求項１、５、６記載の発明によれば、実際の移動処理が終わっていなくても、子一覧要求に応じて移動処理後のデータが取得される。
【００１２】
請求項２記載の発明によれば、移動要求後の移動要求で子一覧要求の対象外となったデータの取得が回避される。
【００１３】
請求項３記載の発明によれば、子一覧要求におけるデータ取得漏れが軽減される。
【００１４】
請求項４記載の発明によれば、実際の移動処理が終わっていなくても、子一覧要求に応じて移動処理後のキー情報が把握される。
【図面の簡単な説明】
【００１５】
【図１】情報処理システムのハードウェア構成の概要の一例を示す図である。
【図２】情報管理装置の機能的構成の概要の一例を示す図である。
【図３】フォルダ構造とオブジェクトの移動の一例を模式的に示す図である。
【図４】ＫＶＳによるフォルダ構造の記憶の一例を示す図である。
【図５】移動情報の一例を示す図である。
【図６】フォルダ構造とオブジェクトの移動の他の一例を模式的に示す図である。
【図７】移動情報の他の一例を示す図である。
【図８】移動要求と移動処理についての情報管理装置の処理のフローの一例を示す図である。
【図９】子一覧要求についての情報管理装置の処理のフローの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【００１７】
図１は、本発明の実施形態に係る情報管理システムのハードウェア構成の概要について説明するための図である。図１に示すように、情報管理システム１００は、ネットワーク１３０（例えば、インターネット）を介して接続されたサーバ１１０及び端末１２０を有する。
【００１８】
サーバ１１０は、制御部１１１、記憶部１１２、通信部１１３を含む。制御部１１１は、例えば、ＣＰＵ等であって、記憶部１１２に格納されたプログラムに従って動作する。記憶部１１２は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部１１１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部１１２は、制御部１１１のワークメモリとしても動作する。
【００１９】
通信部１１３は、ネットワークインターフェースであって、制御部１１１からの指示に応じて、ネットワーク１３０を介して、情報を送受信する。なお、制御部１１１、記憶部１１２、通信部１１３は、それぞれ、バス１１４を介して接続される。
【００２０】
また、端末１２０は、制御部１２１、通信部１２２、記憶部１２３、表示部１２４、操作部１２５を含む。同様に、各部１２０乃至１２５は、バス１２６を介して接続される。上述したサーバ１１０と同様に、制御部１２１は、例えば、ＣＰＵであって、記憶部１１２に格納されたプログラムに従って動作する。記憶部１２３は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部１２１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部１２３は、制御部１２１のワークメモリとしても動作する。
【００２１】
操作部１２５は、例えば、キーボード、マウス、ボタン等のインターフェースで構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部１２１に出力する。表示部１２４は、例えば、液晶ディスプレイ、ＣＲＴディスプレイ、または有機ＥＬディスプレイ等であって、制御部１２１からの指示に従い、情報を表示する。
【００２２】
なお、上記制御部１１１及び１２１で処理されるプログラムは、例えば、ネットワークを介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。また、上記サーバ１１０や端末１２０の構成は一例であってこれに限定されるものではない。また、図１においては１の端末１２０のみを示したが、情報管理システム１００は、複数の端末１２０を有するように構成してもよい。また、サーバ１１０は、例えば、複数のサーバ１１０を含むサーバ群により構成してもよい。また、図１においては、図示の簡略化のため、いわゆるサーバ・クライアントシステムを用いた場合を示すが、いわゆるクラウド技術を用いて実現してもよい。
【００２３】
次に、図２を用いて、本実施の形態における情報管理装置の機能的構成の概要の一例について説明する。なお、情報管理装置２００は、例えば、上記サーバ１１０に相当する。また、下記の情報管理装置２００の機能的構成は一例であって、本実施の形態は、図２に示す構成に限定されるものではない。
【００２４】
図２に示すように、情報管理装置２００は、機能的に、データ記憶部２０１、移動要求取得部２０２、移動情報記憶部２０３、移動処理実行部２０４、移動処理管理部２０５、子一覧要求取得部２０６、移動元移動情報取得部２０７、排除移動情報取得部２０８、オブジェクト特定部２０９、データ取得部２１０、子一覧情報生成部２１１を含む。
【００２５】
データ記憶部２０１は、階層構造のオブジェクトをＫＶＳ形式でデータを記憶する。具体的には、例えば、図３に示すような文書管理システムにおける木構造のフォルダ構造を、図４に示すようなＫＶＳ形式で記憶する。つまり、図３に示すように、キー情報１．０．０．０の下位にキー情報１．１．０．０、１．２．０．０、１．３．０．０等のオブジェクトが存在する場合、データ記憶部２０１は、キー情報毎に対応する各データ（オブジェクトの名称やその他の属性情報（例えば、作成日時等））を記憶する。なお、当該キー情報は、オブジェクトの構造上の位置に相当する。また、オブジェクトとは、例えば、文書管理システムにおける対象となる各階層における単位（キャビネット、ドロワー、フォルダ、文書など）に相当する。なお、当該データ記憶部２０１は、例えば、データベースにより構成してもよい。
【００２６】
移動要求取得部２０２は、端末１２０から移動要求を取得する。当該移動要求は、例えば、移動元及び移動先のキー情報を含む。具体的には、例えば、移動要求前のデータが図３及び図４に示す場合を例として説明する。なお、図３においては矢印が移動操作を表し、破線が移動操作後のオブジェクトを表す。つまり、図３は、キー情報１．１．０．０のオブジェクトが、１．２．２．０に移動操作された後、キー情報１．３．１．０に更に移動操作された場合を表す。この場合、移動要求取得部２０２は、移動元としてキー情報１．１．０．０及び移動先としてキー情報１．２．２．０を含む移動要求を取得する。
【００２７】
移動情報記憶部２０３は、上記移動要求に基づいて、移動元のキー情報、移動先のキー情報、及び、当該移動要求時の時間を表す時間情報を関連付けて記憶する。上記例の場合、例えば、移動情報記憶部２０３は、図５に示すように、移動元として１．１．０．０、移動先として１．２．２．０、時間情報としてｔ１を関連付けて、移動情報として、記憶する。なお、当該記憶形式は一例であって、本実施の形態はこれに限られるものではない。
【００２８】
移動処理実行部２０４は、移動情報に基づいて移動処理を行う。言い換えれば、データ記憶部２０１の記憶内容を当該移動情報に基づいて更新する。具体的には、例えば、移動処理実行部２０４は、移動元オブジェクトについて子一覧操作を行い、取得したオブジェクトを移動先オブジェクトの子とするとともに、新たなキー情報を割り当てる。ここで、子一覧操作とは、対象キー情報の下位に属するオブジェクトを特定する動作に相当する。より具体的には、例えば、図３の最初の移動要求については、移動処理実行部２０４は、キー情報１．１．０．０及びその下位のオブジェクト（１．１．１．０、１．１．２．０のキー情報に対応）をキー情報１．２．０．０の下位に、それぞれ新たに割り当てられるキー情報１．２．２．０、１．２．２．１、１．２．２．２に関連付けて記憶するように更新する。なお、当該移動処理は、移動要求取得や移動情報の記憶とは非同期で行われる。なお、子一覧操作とは、対象キー情報の下位に属するオブジェクトを特定する動作に相当する。また、上記キー情報は一例であって、例えば、各階層を表す番号は異なる桁数であってもよい。具体的には、１０００．１０００．１０００．１０００等である。また、子一覧要求とは、例えば、対象オブジェクトの下位に属するオブジェクトの特定に関する要求に相当し、子一覧操作とは当該要求に応じた操作に相当する。子一覧とは、例えば、対象オブジェクトの下位に属するオブジェクトに相当する。
【００２９】
移動処理管理部２０５は、移動処理が終了した場合に、当該移動処理に対応する移動情報を削除する。例えば、図５の１行目の移動情報に基づく移動処理が終了した場合には、当該１行目の移動情報を削除する。ここで、移動処理が終了とは、例えば、上記移動処理の実行が終了すること、より具体的には、上記のように、移動元オブジェクトについて子一覧操作を行い、取得したオブジェクトを移動先オブジェクトの子とするとともに、新たなキー情報を割り当てる処理が終了することに相当する。
【００３０】
次に、主に、子一覧要求時における機能的構成の一例について説明する。子一覧要求取得部２０６は、端末１２０から子一覧要求を取得する。当該子一覧要求は、例えば、子一覧を行うオブジェクトのキー情報（対象キー情報）を含む。具体的には、図３に示す場合において、１．３．１．０についての子一覧要求が行われた場合、キー情報１．３．１．０が子一覧要求に含まれる。
【００３１】
移動元移動情報取得部２０７は、対象キー情報に基づいて、移動情報記憶部２０３に記憶されている移動情報のうち、対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報（移動元移動情報）を取得する。例えば、移動情報が図５に示した場合において、対象キー情報が１．３．１．０の場合、移動元として１．２．２．０が関連付けられて記憶されており、更に、移動先１．２．２．０には移動元１．１．０．０が関連付けられて記憶されていることから、１行目と２行目の移動情報を取得する。このように、移動元移動元キー情報、移動先キー情報に基づいて対象キー情報のオブジェクトの移動元側の移動経路に関連するすべての移動元を表す移動情報（移動元移動情報）を取得する。
【００３２】
排除移動情報取得部２０８は、移動情報記憶部２０３に記憶されている移動情報のうち、対象キー情報に基づいて、子一覧処理から排除する移動情報を取得する。具体的には、例えば、排除移動情報取得部２０８は、子一覧要求が行われたオブジェクトの下位のオブジェクトが移動元に含まれる移動情報を取得する。一例として、図６及び図７を用いて説明する。図６は、１．１．０．０が１．２．２．０へ移動要求が行われた後、更に、１．３．１．０が行われた場合を模式的に示す図である。また、図７は、図６の移動要求における移動情報を示す図である。この場合において、１．２．２．０について子一覧要求が行われた場合を例として説明する。この場合、子一覧要求が行われた１．２．２．０の下位のオブジェクトの１つである１．２．２．２を移動元に含む移動情報（２行目）を排除移動情報として取得する。
【００３３】
オブジェクト特定部２０９は、移動元移動情報及び排除移動情報に基づいて、子一覧要求においてデータの取得が必要となるオブジェクトを特定する。例えば、図６及び図７に示す場合において１．２．２．０について子一覧要求がされた場合、上記のように、移動元移動情報は、図７の１行目の移動情報を含み、排除移動情報は、図７の２行目の移動情報を含むこととなる。
【００３４】
ここで、オブジェクト特定部２０９は、移動元移動情報に基づき、移動元のオブジェクトを特定する。上記例の場合、移動元移動情報には、子一覧要求の対象である１．２．２．０に、移動元１．１．０．０が関連付けられているので、当該移動元１．１．０．０及びその下位のオブジェクトを特定する。また、オブジェクト特定部２０９は、子一覧要求の対象である１．２．２．０の下位のオブジェクトを特定する。具体的には、移動情報に含まれる移動元と移動先のキー情報に基づいて、１．２．２．１及び１．２．２．２のオブジェクトを特定する。
【００３５】
また、オブジェクト特定部２０９は、排除移動情報に基づき、排除するオブジェクトを特定する。具体的には、上記例の場合、排除移動情報は、１．２．２．２を含むので、１．２．２．２を排除するオブジェクトとして特定する。更に、オブジェクト特定部２０９は、特定された排除するオブジェクトの上位のオブジェクトの移動情報に基づいて、移動要求前の排除するオブジェクトを特定する。具体的には、上記例の場合、排除する１．２．２．２のオブジェクトの上位のオブジェクト１．２．２．０の移動情報に含まれる移動元と移動先に基づいて、１．１．２．０を排除するオブジェクトとして特定する。
【００３６】
そして、オブジェクト特定部２０９は、特定された移動元のオブジェクトから排除するオブジェクトを排除した残りのオブジェクトを特定する。つまり。オブジェクト特定部２０９は、上記例の場合、１．１．１．０、１．２．２．１を特定する。
【００３７】
データ取得部２１０は、移動元移動情報を参照し、特定されたオブジェクトのデータを当該オブジェクトのキー情報に対応する時間情報の古い順に取得する。上記例の場合、移動情報の移動元のキー情報に関して、１．１．１．０の上位の１．１．０．０の時間情報がｔ１であり、１．２．２．１の上位の１．２．２．０の時間情報がｔ２であるので、１．１．１．０のデータが取得された後、１．２．２．１のデータを取得する。なお、当該データの取得は、移動情報に基づき、最終の移動要求後のキー情報に関連付けて取得される。具体的には、上記例の場合、１．１．１．０は１．２．２．１に関連付けて取得される。
【００３８】
子一覧情報生成部２１１は、データ取得部２１０により取得されたオブジェクトデータに応じた情報を生成して、子一覧要求を行った端末１２０に送信する。具体的には、例えば、特定されたオブジェクトの名称をそのアイコンを表す画像情報とともに表示する画像情報等を生成し、当該画像情報を送信するなどである。
【００３９】
次に、図８を用いて、本実施の形態における移動要求と移動処理についての情報管理装置２００の処理のフローの一例について説明する。
【００４０】
図８に示すように、移動要求取得部２０２は、端末１２０から移動要求を取得する（Ｓ１０１）。移動情報記憶部２０３は、上記移動要求に基づいて、移動元、移動先のキー情報、及び、当該移動要求時の時間を表す時間情報を関連付けて記憶する（Ｓ１０２）。移動処理実行部２０４は、移動情報に基づいて移動処理を行う（Ｓ１０３）。移動処理管理部２０５は、移動処理が終了したか否かを判定し（Ｓ１０４）、移動処理が終了した場合には（Ｓ１０４のＹ）、当該移動処理に対応する移動情報を削除する（Ｓ１０５）。一方、移動処理が終了していない場合には処理を継続する。なお、上記のようにＳ１０３及びＳ１０４の処理はＳ１０１及びＳ１０２の処理とは非同期で行われる。また、図８においては、図示の簡略化のため、１の移動情報についての処理について説明したが、複数の移動要求が行われた場合には、それぞれの移動要求に対応する移動情報が生成され、当該移動情報に基づく移動処理等が行われることはいうまでもない。
【００４１】
次に、図９を用いて、本実施の形態における子一覧要求についての情報管理装置２００の処理のフローの一例について説明する。
【００４２】
図９に示すように、子一覧要求取得部２０６は、端末１２０から子一覧要求を取得する（Ｓ２０１）。移動元移動情報取得部２０７は、対象キー情報に基づいて、移動情報記憶部２０３に記憶されている移動情報のうち、対象キー情報のオブジェクトのすべての移動元を表す移動情報（移動元移動情報）を取得する（Ｓ２０２）。排除移動情報取得部２０８は、移動情報記憶部２０３に記憶されている移動情報のうち、対象キー情報に基づいて、排除移動情報を取得する（Ｓ２０３）。オブジェクト特定部２０９は、移動元移動情報及び排除移動情報に基づいて、子一覧要求においてデータの取得が必要となるオブジェクトを特定する（Ｓ２０４）。データ取得部２１０は、移動元移動情報を参照し、特定されたオブジェクトのデータを当該オブジェクトのキー情報に対応する時間情報の古い順に取得する（Ｓ２０５）。子一覧情報生成部２１１は、データ取得部２１０により取得されたオブジェクトデータに応じた情報を生成して、子一覧要求を行った端末１２０に送信する（Ｓ２０６）。そして、処理を終了する。
【００４３】
本発明は、上記実施の形態に限定されるものではなく、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えてもよい。例えば、上記においては、移動情報が時間情報を含む場合について説明したが、例えば、移動情報の記憶をＦＩＦＯ(first in first out)で構成することにより上記時間情報を把握して上記実施の形態を適用するように構成してもよい。また、上記データ記憶部２０１や移動情報記憶部２０３を情報管理装置２００の他のサーバ１１０やデータベースで実現するなど、上記各部２０１乃至２１１の一部を他の装置等で実現してもよい。なお、特許請求の範囲における移動情報取得手段は、例えば、上記移動情報記憶部２０３に相当する。
【符号の説明】
【００４４】
１００  情報管理システム、１１０  サーバ、１１１、１２１  制御部、１１２、１２３  記憶部、１１３、１２２  通信部、１２０  端末、１２４  表示部、１２５  操作部、２０１  データ記憶部、２０２  移動要求取得部、２０３  移動情報記憶部、２０４  移動処理実行部、２０５  移動処理管理部、２０７  移動元移動情報取得部、２０６  子一覧要求取得部、２０８  排除移動情報取得部、２０９  オブジェクト特定部、２１０  データ取得部、２１１  子一覧情報生成部。
【図１】
0006459339.tif 000002
【図２】
0006459339.tif 000003
【図３】
0006459339.tif 000004
【図４】
0006459339.tif 000005
【図５】
0006459339.tif 000006
【図６】
0006459339.tif 000007
【図７】
0006459339.tif 000008
【図８】
0006459339.tif 000009
【図９】
0006459339.tif 000010