(57)【要約】【課題】フォルダに保存されるデータの一元管理を容易にする。【解決手段】ファイルを管理するデータ管理システムであって、ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及びフォルダに付与されるメタデータの定義を行う定義制御手段と、定義された階層毎の定義を示す階層定義、及び定義されたメタデータの定義を示すメタデータ定義を含むフォルダ定義データを１又は複数記憶する第１記憶手段と、フォルダ階層内のフォルダ毎に、フォルダの階層以上のフォルダ定義に対応するデータ、及びフォルダに付与されるメタデータ定義に対応するメタデータを含むフォルダデータを１又は複数記憶する第２記憶手段と、フォルダ階層内のフォルダの階層及び該フォルダに付与されたメタデータに関連付けられるファイルを記憶する第３記憶手段とを備える。【選択図】図３
2011186768.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを管理するファイル管理システムであって、
ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御手段と、
定義された階層毎の定義を示す階層定義、及び付与されるメタデータの定義を示すメタデータ定義を含むフォルダ定義データを１又は複数記憶する第１記憶手段と、
前記フォルダ階層内のフォルダ毎に、該フォルダ又は該フォルダの階層以上のフォルダ定義に対応するデータ、及び該フォルダに付与されるメタデータ定義に対応するメタデータを含むフォルダデータを１又は複数記憶する第２記憶手段と、
前記フォルダ階層内のフォルダの階層及び該フォルダに付与されたメタデータに関連付けられるファイルを記憶する第３記憶手段と、
新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成するフォルダ制御手段と
を備えるファイル管理システム。
【請求項２】
前記第２記憶手段は、前記フォルダ定義データの識別子を前記フォルダ毎に記憶し、
前記第３記憶手段は、前記フォルダデータの識別子を前記ファイル毎に記憶する請求項１記載のファイル管理システム。
【請求項３】
前記第３記憶手段は、前記ファイルのメタデータを、前記フォルダのメタデータと識別可能にして記憶する請求項１又は２記載のファイル管理システム。
【請求項４】
前記フォルダ制御手段はさらに、
新規フォルダを作成する場合、親フォルダを指定させ、指定された前記親フォルダの階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び前記親フォルダの一つ下の階層定義に対応するデータの入力領域を有する登録フォームを生成する請求項１乃至３いずれか一項に記載のファイル管理システム。
【請求項５】
前記フォルダ制御手段はさらに、
前記フォルダの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダを検索する請求項１乃至４いずれか一項に記載のファイル管理システム。
【請求項６】
前記ファイルの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定、前記ファイルのメタデータの指定、前記ファイル名の指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダに含まれるファイルを検索するファイル制御手段をさらに備える請求項１乃至５いずれか一項に記載のファイル管理システム。
【請求項７】
ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御手段と、
前記フォルダの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダを検索するフォルダ制御手段と、
前記ファイルの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定、前記ファイル名の指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダに含まれるファイルを検索するファイル制御手段とを備え、
前記フォルダ制御手段は、
新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成する情報処理装置。
【請求項８】
情報処理装置における情報処理方法であって、
ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御ステップと、
新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成する生成ステップと、
前記登録フォームに入力されたデータ基づいてフォルダを作成する作成ステップと、
作成された前記フォルダの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダを検索するフォルダ制御ステップと、
作成された前記フォルダ内のファイルの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定、前記ファイル名の指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダに含まれるファイルを検索するファイル制御ステップと
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの管理を行うファイル管理システム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
従来、ファイルにメタデータを付与し、そのメタデータに基づいてファイルを管理する様々な方法が提案されている。例えば特許文献１では、ファイルを効率よく分類し、ユーザが素早く目的のファイルに到達するため、メタデータによるファイルの自動分類を行う際に生成されるフォルダを抑制することが開示されている。
【０００３】
また、特許文献２では、仮想フォルダを使用するシステムにおいて、ファイルコンテンツのメタデータに応じてフィルタリングして仮想フォルダとして表示する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、業務において、ファイルとファイルに関連する情報（例えばメタデータ）を合わせて管理する場合、ファイルとファイルに関連する情報の引き当てに手間がかかってしまう。また、ファイルの管理は、結局ユーザの運用に任せることになるのでデータが複数の箇所（例えば、フォルダ）に分散したり、関連する情報を管理できなかったりといった問題点がある。また、例えば大量のデータを短時間に扱い、大多数のユーザにアクセスされうる基幹システムについては、なおさらフォルダやファイル管理は難しい。
【０００５】
前述した従来技術においても、エンドユーザが関連付けの方法を覚えて、ファイル管理システムに適用しなければならないため、エンドユーザの数が増えたりすると規制が効かない場合もある。つまり、メタデータを用いる管理システムおいて、ファイルの保存箇所が分散する可能性があり、ファイルの管理が難しい。また、同じ意味のメタデータが分散する可能性もあり、データの整合性が保てない場合がある。
【０００６】
また、フォルダに保存されたファイルを検索する場合、フォルダを跨っての検索が難しいため、Ｅｘｃｅｌなどを用いて別途管理される運用が一般的になされている場合もある。
【０００７】
そこで、本発明は、上記問題点に鑑みてなされたものであり、フォルダに保存されるデータの一元管理を容易にするファイル管理システム、情報処理装置、及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明における一態様のファイル管理システムは、ファイルを管理するファイル管理システムであって、ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御手段と、定義された階層毎の定義を示す階層定義、及び定義されたメタデータの定義を示すメタデータ定義を含むフォルダ定義データを１又は複数記憶する第１記憶手段と、前記フォルダ階層内のフォルダ毎に、該フォルダの階層以上のフォルダ定義に対応するデータ、及び該フォルダに付与されるメタデータ定義に対応するメタデータを含むフォルダデータを１又は複数記憶する第２記憶手段と、前記フォルダ階層内のフォルダの階層及び該フォルダに付与されたメタデータに関連付けられるファイルを記憶する第３記憶手段と、新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成するフォルダ制御手段とを備える。
【０００９】
また、本発明における他の局面の情報処理装置は、ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御手段と、前記フォルダの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダを検索するフォルダ制御手段と、前記ファイルの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定、前記ファイル名の指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダに含まれるファイルを検索するファイル制御手段と、新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成するフォルダ制御手段とを備える。
【００１０】
また、本発明における他の局面の情報処理方法は、情報処理装置における情報処理方法であって、ファイルを管理するためのフォルダ階層に対し、フォルダの階層毎に定義を行い、及び階層内のフォルダに付与され、該階層の定義に関連するメタデータの定義を行う定義制御ステップと、新規フォルダを作成する場合、フォルダ定義データ及び階層を指定させ、指定されたフォルダ定義データにおける階層以上の階層定義及び該階層定義に対応するデータの表示領域、及び指定されたフォルダ定義データにおける階層の階層定義に対応するデータの入力領域を有する登録フォームを生成する生成ステップと、前記登録フォームに入力されたデータ基づいてフォルダを作成する作成ステップと、作成された前記フォルダの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダを検索するフォルダ制御ステップと、作成された前記フォルダ内のファイルの表示要求を受ける場合、前記フォルダの指定、前記階層の指定、前記フォルダに付与されたメタデータの指定、前記ファイル名の指定の少なくとも１つの指定に基づいて前記フォルダ階層内のフォルダに含まれるファイルを検索するファイル制御ステップとを有する。
【発明の効果】
【００１１】
本発明によれば、フォルダに保存されるデータの一元管理を容易にするファイル管理システム、情報処理装置、及び情報処理方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例におけるファイル管理システムの一例を示す図。
【図２】実施例におけるサーバ１０７のハードウェア構成の一例を示すブロック図。
【図３】実施例におけるファイル管理システムの機能の一例を示すブロック図。
【図４】各データのデータ構造の一例を示す図。
【図５】実施例で用いるデータモデルの一例を示す図。
【図６】メタデータの一例を示す図。
【図７】フォルダ構造ビューの一例を示す図。
【図８】フォルダリストビューの一例を示す図。
【図９】第２階層のフォルダ登録フォームの一例を示す図。
【図１０】第３階層のフォルダ登録フォームの一例を示す図。
【図１１】フォルダ検索の結果の一例を示す図。
【図１２】フォルダの登録処理の一例を示すシーケンス図。
【図１３】フォルダの表示処理の一例を示すシーケンス図。
【図１４】ファイルの表示処理の一例を示すシーケンス図。
【図１５】メタデータを用いる検索ＵＩの一例を示す図。
【図１６】サーバ１０７で用いるＡＰＩの例を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明に係るファイル管理システム、情報処理装置（サーバ）、情報処理方法の実施例を詳細に説明する。
【００１４】
また、以下に示す実施例では、画像データを入力する画像入力装置として、情報処理装置、又はプリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能を一つの筐体に搭載した複合機を例にあげて説明する。しかし、これらに限定されるものではなく、画像データを入力可能であれば、スキャナ装置、ファクシミリ装置、コピー装置、情報処理装置などいずれにも適用することができる。
【００１５】
［実施例］
＜システムとハードウェア＞
図１は、実施例におけるファイル管理システムの一例を示す図である。図１に示すように、ファイル管理システム１００は、クライアント（クライアント装置）１０１、ロードバランサー（以下、ＬＢともいう）１０３、サーバ１０５、１０７、１０９、データベース（以下、ＤＢともいう）１１１、ファイル管理サーバ１１３を有する。
【００１６】
クライアント１０１は、例えば情報処理装置やＭＦＰ（Multifunction Peripheral）であって、画像ファイル、文書ファイル、動画ファイル、音楽ファイルなどのファイルをサーバ側で管理するよう指示を出す。
【００１７】
ＬＢ１０３は、クライアントからの不正アクセスを検出するためのファイアウォールでもあり、さらに、負荷分散を行い、要求の振り分け処理を行う。ＬＢ１０３は、外部ネットワークからの要求を一元的に管理し、同等の機能を持つ複数のサーバに要求を転送する機能を有する。
【００１８】
サーバ１０５は、ユーザ情報を管理し、ユーザ情報を管理するサービスを提供する。ユーザ情報は、組織情報、ユーザ認証に用いるログイン名及びパスワードなどを有する。
【００１９】
サーバ１０７は、フォルダやファイルを管理する。サーバ１０７は、フォルダ階層の階層毎の定義を行ったり、フォルダに付与されるメタデータの定義を行ったりする。サーバ１０７は、フォルダやファイルの検索を行う。また、サーバ１０７は、ビューのカスタマイズなども行う。
【００２０】
サーバ１０９は、記憶部を有し、簡易的なファイルのストレージサービスを提供する。サーバ１０９は、ファイルＩＤやファイルの格納場所のＵＲＬ、ファイルの有効期限などを管理する。
【００２１】
データベース１１１は、フォルダを階層化したフォルダ階層にファイルを管理する。また、ＤＢ１１１は、ファイルを蓄積するファイル管理サーバ１１３でもよい。
【００２２】
クライアント１０１は、ブラウザを用いて、例えば「jQuery.js」や「Ajax フレームワーク」などのJavaScript（登録商標）プログラムや「jsonAPI」によりファイル管理サーバ１１３に接続し、ファイルの検索や登録を行う。また、クライアント１０１は、エクスプローラを用いて、例えばネットワークフォルダへアクセスするためのＷｅｂＤＡＶ（Web-based Distributed Authoring and Versioning）によりファイル管理サーバ１１３へ接続を図る。図１に示す各サーバは、任意に複数のサーバを組み合わせて構成されてもよいし、１つのサーバとして構成されてもよい。
【００２３】
なお、コンテンツ管理システム１００は、大量のデータを短時間で扱う基幹システムに対して、より適している。例えば、サーバ１０７が、大量のドキュメント等を扱う基幹システムのＤＢ等に接続される場合である。基幹システムでは、大量のデータを短時間で処理する必要があるため、適切なフォルダ管理を実現させつつ、システム内の処理負荷を減らす必要がある。この基幹システムに対し、後述するフォルダの登録や検索を適切に行うことで、システム内部で不要なデータへのアクセスを減らし、登録や検索に伴う処理負荷を減らすことができるようになる。
【００２４】
次に、実施例におけるサーバのハードウェア構成について説明する。図２は、実施例におけるサーバ１０７のハードウェア構成の一例を示すブロック図である。図２に示すように、サーバ１０７は、制御部２０１、主記憶部２０３、補助記憶部２０５、外部記憶装置Ｉ／Ｆ部２０７、ネットワークＩ／Ｆ部２１１を含む。
【００２５】
制御部２０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部２０１は、主記憶部２０３に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２６】
主記憶部２０３は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部２０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２７】
補助記憶部２０５は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部２０５は、インターネット経由で所定のプログラムを記憶する。この所定のプログラムは、インストールされて実行可能となる。
【００２８】
外部記憶装置I／F部２０７は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記憶媒体２０９（例えば、フラッシュメモリ、ＳＤカードなど）とサーバ１０７とのインタフェースである。
【００２９】
また、記憶媒体２０９に、所定のプログラムを格納し、この記憶媒体２０９に格納されたプログラムは外部記憶装置Ｉ／Ｆ部２０７を介してサーバ１０７にインストールされ、インストールされた所定のプログラムはサーバ１０７により実行可能となる。
【００３０】
ネットワークＩ／Ｆ部２１１は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器とサーバ１０７とのインタフェースである。
【００３１】
なお、サーバ１０７は、入力部や表示部を備えてもよい。入力部は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部は、ユーザが制御部２０１に操作指示を与えたり、データを入力したりするためのユーザインタフェースである。
【００３２】
表示部は、ＣＲＴやＬＣＤ等により構成され、制御部２０１から入力される表示データに応じた表示が行われる。
【００３３】
＜機能＞
図３は、実施例におけるファイル管理システムの機能の一例を示すブロック図である。図３に示す例では、ファイル管理システム１００は、クライアント１０１、サーバ１０７、ＤＢ１１１を有する。クライアント１０１は、ファイルを管理するためのフォルダ階層を定義したり、フォルダを検索、参照、登録、又は修正したり、ファイルを検索、参照、登録、又は修正したりする。
【００３４】
サーバ１０７は、フォルダ定義制御部３０１、フォルダ制御部３０３、ファイル制御部３０５を有する。フォルダ定義制御部３０１、フォルダ制御部３０３、ファイル制御部３０５は、例えば、制御部２０１などにより実現されうる。
【００３５】
フォルダ定義制御部３０１は、フォルダ階層の階層毎に意味を定義する機能を有する。実施例では、一般的にフォルダ階層の階層構造に意味があることを利用する。フォルダ定義制御部３０１により、例えば、第１階層は「国」、第２階層は「年」、第２階層は「担当者」などが定義される。フォルダ定義制御部３０１は、フォルダに付与されるメタデータにも定義づけをしておく。これにより、ＤＢ１１１では、フォルダの階層構造に意味があるフォルダ階層及びフォルダのメタデータを管理することができる。なお、定義づけは、ユーザにより表示部や入力部を用いて行われる。
【００３６】
フォルダ制御部３０３は、フォルダ定義データ３０７やフォルダデータ３０９に基づいて、フォルダの検索、フォルダの参照、登録、又は修正を行う。フォルダの検索について、フォルダ制御部３０３は、フォルダ階層の階層、フォルダのメタデータ、又は階層及びメタデータの組み合わせを指定してフォルダ階層内のフォルダを検索することができる。フォルダの登録について、フォルダ制御部３０３は、例えば親フォルダを指定されると、親フォルダの階層の定義（例えば「国」）、及び親フォルダの階層の定義に対応するデータ（例えば「ＪＡＰＡＮ」）、親フォルダの一つ下の階層の定義（例えば「年」）、親フォルダの一つ下の階層のフォルダのメタデータの定義を表示する登録フォームを生成する。ユーザは、この登録フォームに従ってデータを入力することで、メタデータ及びファイルの管理が容易になる。
【００３７】
ファイル制御部３０５は、ファイルデータ３１１、フォルダデータ３０９、フォルダ定義データ３０７に基づいて、ファイルの定義、ファイルの参照、登録、又は修正を行う。ファイルの検索について、ファイル制御部３０５は、フォルダ名、フォルダ階層の階層、フォルダに付与されたメタデータ、ファイルのメタデータ、ファイル名、又はこれらの任意の組み合わせを指定してフォルダ階層内のフォルダに含まれるファイルを検索することができる。
【００３８】
ＤＢ１１１は、フォルダ定義データ３０７、フォルダデータ３０９、ファイルデータ３１１を保存する。図４は、各データのデータ構造の一例を示す図である。図４に示す例では、フォルダ定義データ３０７は、フォルダ定義データの識別子、組織ＩＤ、フォルダ階層のタイトル、フォルダ階層の階層毎の定義、各階層のフォルダに付与され、該階層の定義に関連するメタデータの定義などを含む。
【００３９】
なお、図４に示す例では、複数の組織のデータを管理するために組織IDを付与するが、組織が一つの場合は、組織ＩＤはなくてもよい。メタデータには、文字列を示すメタデータ「stag(string-tag)」と年月日を示すメタデータ「dtag(data-tag)」とがある。「layer_0_tags」４０１では、第０階層のメタデータを定義している。「stag_0」４０３では、例えば文字系列のメタデータ「Ｃｏｕｎｔｒｙ」が定義されている。メタデータは、他にも「ntag（number tag）」や「btag（boolean tag）」などがあってもよい。
【００４０】
フォルダデータ３０９は、フォルダ毎に、フォルダＩＤ、組織ＩＤ、フォルダ定義データの識別子、親フォルダの識別子、どの階層かを示すレベル、各階層の定義に対応するデータ、フォルダに付与されるメタデータの定義に対応するメタデータなどを含む。なお、フォルダデータの各階層は、自階層だけでなく自階層以上の階層のフォルダ定義に対応するデータも保持してもよい。例えば、階層（level）が「２」のフォルダデータとして、「layer_0」の「JP」、「layer_1」の「2009.01」、「layer_2」の「0000001234900」が保持されている。これにより、上位階層のフォルダの定義に対応するデータを取得する際、親フォルダを辿らなくても容易かつ高速に取得可能となる。また、階層の定義に対応するデータが、その階層のフォルダの名称とされてもよい。
【００４１】
ファイルデータ３１１は、ファイルＩＤ、組織ＩＤ、どのフォルダに保存されているかを示すフォルダＩＤ、ファイルのタイトル、ファイルが格納されている位置を示すＵＲＬ、ファイルサイズ、ファイルのメタデータなどを含む。なお、ファイルのメタデータは、フォルダのメタデータと識別可能である。例えば、ファイルのメタデータには、「e_stag」というように、ファイルのメタデータを示す「e_」が付与されている。これにより、フォルダのメタデータとファイルのメタデータとを区別して管理、検索などをすることができる。なお、フォルダに付与されるメタデータは、そのフォルダに保存されるファイルに対応付けられる。
【００４２】
図５は、実施例で用いるデータモデルの一例を示す図である。図５は、各モデルのクラス関係を示す。「Organization」クラス５０１は、組織ＩＤ「rs_organization_id（単にorganization_idでもよい）」を有するクラスである。
【００４３】
「Cabinets」クラス５０９、「Folder」クラス５１１、「Entry」（ファイル）クラス５１３、「Tag」クラス５１５、「Doctype」クラス５１７は、ユーザが実際に利用するファイルやフォルダのクラスである。
【００４４】
「ContentFilter」クラス５１９、「ViewFiler」クラス５２１は、ファイルやビューに対しアクセス権を設定するためのクラスである。「SmartView」クラス５２３、「ViewSet」クラス５２５は、フォルダやコンテンツを業務内容に近い形式で表示するＵＩの設定を行うためのクラスである。「User」クラス５２７は、ユーザ情報を設定するためのクラスである。なお、二重で囲んだクラスは、ユーザ管理者による設定ができるクラスである。
【００４５】
（メタデータ）
次に、メタデータの例について説明する。図６は、メタデータの一例を示す図である。図６（Ａ）は、階層の定義を示す図である。図６（Ａ）に示す例では、第０階層は「年」、第１階層は「担当」、第２階層は「顧客」、第３階層「案件番号」が階層に定義づけられている。図６（Ｂ）は、各階層のフォルダに付与されるメタデータの定義を示す図である。図６（Ｂ）に示す例では、第３階層のフォルダには、「プロジェクト」、「刷了日」、「受注」、「見積もり」、「請求」がメタデータとして定義付けられている。なお、第１階層のフォルダには、「入社年度」、第２階層のフォルダには、「業種」などのメタデータが定義付けられてもよい。
【００４６】
（ビュー）
次に、図６に示すデータ構造に基づくビュー（表示画面）の例について説明する。図７は、フォルダ構造ビューの一例を示す図である。図７に示すように、フォルダ構造ビューは、階層毎に階層の定義に対応するデータが表示される。図７では、階層の定義に対応するデータがフォルダ名となっている例を示す。
【００４７】
例えば、第０階層では「年」に対応する「2002」や「2003」などがフォルダの右横に表示され、第１階層では「担当」に対応する「AAA」や「BBB」などが表示され、第２階層では「顧客」に対応する「aaa」、「bbb」などが表示され、第３階層では「案件番号」に対応する「595」や「697」などが表示される。なお、「AAA」や「BBB」は人名を示し、「aaa」や「bbb」は社名を示す。人名は、「担当」に対応するデータであり、社名は、「顧客」に対応するデータである。
【００４８】
図６（Ａ）に示す階層構造に従って、フォルダ制御部３０３がビューを生成することで、図７に示すフォルダ構造ビューをクライアントの表示画面などに表示することができる。
【００４９】
図８は、フォルダリストビューの一例を示す図である。フォルダリストビューは、後述される「jsonAPI」や「xml」、「csv」形式などでサーバ１０７によってクライアント１０１に提供される。図８に示すように、フォルダリストビューは、各階層の定義に対応するデータが表示され、また、フォルダに付与されるメタデータも表示する。フォルダのメタデータは必ずしも表示されなくてもよい。
【００５０】
図８に示す例では、第３階層にあるフォルダが表示されており、このフォルダにはメタデータが付与されている。例えば、案件番号「2174」のフォルダは、上位層のフォルダについて第０階層が「2002」、第１階層が「AAA」、第２階層が「（株）aaa」である。また、案件番号「2174」のフォルダは、プロジェクトが「人間に関する断章」、受注が「受注済」、見積もりが「未」などのメタデータが付与されている。
【００５１】
（登録）
次に、図６に示すデータ構造に基づくフォルダ登録の例について説明する。図９は、第２階層のフォルダ登録フォームの一例を示す図である。図９に示す例は、親フォルダが「AAA」（第１階層）であることを指定されてフォルダを作成する登録フォームを示す。図９に示すように、フォルダ制御部３０３は、親フォルダ「AAA」（第１階層）が指定されると、フォルダデータ３０９を参照して、親フォルダ以上の階層の定義に対応するデータ、また、必要であれば親フォルダの一つ下の階層のフォルダのメタデータを取得する。フォルダ制御部３０３は、フォルダ定義データ３０７を参照して、親フォルダの一つ下の階層より上位の階層の定義、必要であればメタデータの定義を取得する。
【００５２】
例えば、フォルダ制御部３０３は、フォルダデータ３０９を参照して、第０階層に対応するデータが「2002」、第１階層に対応するデータが「AAA」を取得する。また、フォルダ制御部３０３は、フォルダ定義データ３０７を参照して、第０階層の定義「年」、第１階層の定義「担当」、第２階層の定義「顧客」を取得する。
【００５３】
これにより、フォルダ制御部３０３は、図９に示す第２階層のフォルダ登録フォームを生成することができる。ユーザは、「顧客」に情報を入力するだけで、フォルダ階層に従うフォルダを容易に生成することができる。
【００５４】
図１０は、第３階層のフォルダ登録フォームの一例を示す図である。図１０に示す例は、親フォルダが「（株）aaa」（第２階層）であることを指定されてフォルダを作成する登録フォームを示す。図１０に示すように、フォルダ制御部３０３は、親フォルダ「（株）aaa」（第２階層）が指定されると、フォルダデータ３０９を参照して、親フォルダ以上の階層の定義に対応するデータ、必要であれば親フォルダの一つ下の階層のフォルダのメタデータを取得する。フォルダ制御部３０３は、フォルダ定義データ３０７を参照して、親フォルダの一つ下の階層より上位の階層の定義、必要であればメタデータの定義を取得する。
【００５５】
例えば、フォルダ制御部３０３は、フォルダデータ３０９を参照して、第０階層に対応するデータが「2002」、第１階層に対応するデータが「AAA」、第２階層に対応するデータ「（株）aaa」を取得する。また、フォルダ制御部３０３は、フォルダ定義データ３０７を参照して、第０階層の定義「年」、第１階層の定義「担当」、第２階層の定義「顧客」、第３階層の定義「案件番号」を取得する。このとき、フォルダ制御部３０３は、第３階層に対応するメタデータの定義である「プロジェクト」、「受注」、「見積もり」、「請求」、「刷了日」を取得する。
【００５６】
これにより、フォルダ制御部３０３は、図１０に示す第３階層のフォルダ登録フォームを生成することができる。ユーザは、メタデータの定義に対応するメタデータを容易に設定することができる。なお、図１０に示すフォルダ登録フォームは、図９に示すフォルダ登録フォームの顧客に「（株）aaa」が入力され、作成ボタンが押下された後に表示するようにしてもよい。これにより、定義されたフォルダ階層に従って連続してフォルダを作成するため、ユーザに負担をかけずに迅速にフォルダ作成を行うことができる。
【００５７】
また、新規フォルダ作成の際、フォルダ制御部３０３は、親フォルダの指定ではなく、フォルダ定義データ（キャビネット）と階層を指定させることもできる。この場合、フォルダ制御部３０３は、指定された階層よりも上位の階層に対応するデータの入力も行う。また、上位フォルダがなければ、登録したフォルダだけでなく、上位フォルダを作るという構成も可能である。たとえば、図１０で、「年」はテキストボックス、「担当」や「顧客」は今まで登録されたフォルダ名一覧からユーザに入力させることで、年度フォルダを作ってから、案件フォルダを作るという手間が省ける。つまり、上位層から下位層へフォルダ作成するだけでなく、下位層から上位層へフォルダを作成することもできる。
【００５８】
図６に示すようなデータ構造を有することで、実施例では、図９及び図１０に示すように、フォルダ階層の定義に応じて、フォルダ作成時にフォルダの定義を表示したり、メタデータの入力を促したりすることもできるようになる。
【００５９】
（検索）
次にフォルダ制御部３０３の検索の例について説明する。図１１は、フォルダ検索の結果の一例を示す図である。図１１は、フォルダ階層を指定するため「level=2」又は「layer＝layer_2」を検索式として検索した場合の結果を示す。図１１に示すように、第２階層までのフォルダの一覧が表示される。また、「level=2」又は「layer＝layer_2」を検索式として検索した場合、図８に示すようなフォルダ一覧が結果として表示される。
【００６０】
また、フォルダ制御部３０３は、階層とメタデータとを組み合わせて検索することもできる。例えば、「layer＝layer_3＆＆dtag_見積もり＝"済"」を検索式とすれば、第３階層にあるフォルダの中で、メタデータ「見積もり」が「済」のフォルダを検索することができる。これにより、ルートフォルダ（第０階層）が異なる場合のフォルダであっても、第３階層にあるフォルダを跨って検索対象とすることができたり、フォルダのメタデータを用いて検索したりすることも可能となる。
【００６１】
ファイル制御部３０５は、ファイルに付与されたメタデータと、フォルダに付与されたメタデータを用いて検索することも可能である。実施例では、ファイルに付与されたメタデータと、フォルダに付与されたメタデータとを識別可能にして保持するからである。
【００６２】
＜動作＞
次に、実施例におけるファイル管理システムの動作について説明する。以下、フォルダ登録、フォルダ表示、ファイル表示の動作について順に説明する。
【００６３】
（フォルダ登録）
図１２は、フォルダの登録処理の一例を示すシーケンス図である。図１２に示すステップＳ１０１で、ユーザは、クライアント１０１などからサーバ１０７に対し、例えば親フォルダを指定してフォルダの登録要求を行う。
【００６４】
ステップＳ１０２、Ｓ１０３で、フォルダ制御部３０３は、登録要求を受けると、親フォルダからこの親フォルダが属するフォルダ定義データを特定する。図４に示すデータ構造であれば、「cabinet_id」によりフォルダ定義データを特定できる。また、フォルダ制御部３０３は、要求されたURL内に「cabinet_id」が指定してある場合、そこから「cabinet_id」を取得してもよい。フォルダ制御部３０３は、親フォルダを検索する際、フォルダの「id」だけでなく、「cabinet_id」も指定し、「cabinet_id」の指定が違えば親フォルダを検索できないようにしてもよい。フォルダ制御部３０３は、特定した「cabinet_id」に対応するフォルダ定義データをフォルダ定義データ３０７から取得する。
【００６５】
ステップＳ１０４、Ｓ１０５で、フォルダ制御部３０３は、指定された親フォルダの「id」などを用いて親フォルダのフォルダデータをフォルダデータ３０９から取得する。このとき、親フォルダのフォルダデータには、親フォルダより上位層の階層のフォルダ定義に対応するデータが保持されている。フォルダ制御部３０３は、取得したフォルダ定義データ、フォルダデータに基づいて登録フォームを生成する（図９、１０参照）。
【００６６】
ステップＳ１０６で、フォルダ制御部３０３は、クライアント１０１に対し、登録フォームを送信する。登録フォームにはフォルダ階層の定義、メタデータフィールドが含まれる。また、メタデータについては、Tagのデータにあらかじめ選択肢を指定しておき、セレクトボックスを表示することも可能である。タグのデータの例としては以下の通りである。
|cabinet_id|tag_type|value|
|1|見積もり|済|
|1|見積もり|未|
|1|受注|済|
|1|受注|未|
これにより、図１０に示す「見積もり」のテキストフィールドの代わりに「済」、「未」を選択できるセレクトボックスを表示することができる。
【００６７】
ステップＳ１０７で、クライアント１０１は、ユーザにより入力されたデータとともに新規フォルダのデータをサーバ１０７に送信する。
【００６８】
ステップＳ１０８、Ｓ１０９で、フォルダ制御部３０３は、新規フォルダデータを受けると、新規フォルダデータの「cabinet_id」を取得し、取得した「cabinet_id」に対応するフォルダ定義データをフォルダ定義データ３０７から取得する。
【００６９】
ステップＳ１１０、Ｓ１１１で、フォルダ制御部３０３は、取得した新規フォルダデータの「id」などを用いて親フォルダのフォルダデータをフォルダデータ３０９から取得する。このとき、フォルダ制御部３０３は、メタデータのデータ形式が正しいかどうかなどを確認する。例えば、文字列のメタデータに日付が入っていないかなどである。
【００７０】
ステップＳ１１２、Ｓ１１３で、フォルダ制御部３０３は、新規フォルダデータの確認が終わると、新規フォルダデータをフォルダデータ３０９に登録する。
【００７１】
ステップＳ１１４で、フォルダ制御部３０３は、クライアント１０１に登録完了通知を送信する。これにより、ユーザは新規フォルダデータの登録が完了したことを認知できる。
【００７２】
なお、ステップＳ１０１で、親フォルダの指定をしなければ、フォルダ制御部３０３は、親フォルダを作成すると判断し、第０階層のフォルダデータを取得して親フォルダを作成することもできる。
【００７３】
（フォルダ表示）
図１３は、フォルダの表示処理の一例を示すシーケンス図である。ステップＳ２０１で、クライアント１０１は、ユーザにより要求されたフォルダの表示要求をサーバ１０７に送信する。このとき、フォルダ要求時の指定方法として例えば、
・フォルダを指定
・フォルダ階層やメタデータの値を指定（複数組み合わせ可）
がある。
【００７４】
ステップＳ２０２、Ｓ２０３で、フォルダ制御部３０３は、フォルダ表示要求を受けると、フォルダ要求時に指定された内容にフォルダが含まれていれば「cabinet_id」を取得する。フォルダ制御部３０３は、取得した「cabinet_id」に対応するフォルダ定義データをフォルダ定義データ３０７から取得する。
【００７５】
ステップＳ２０４、Ｓ２０５で、フォルダ制御部３０３は、ユーザにより指定されたフォルダやメタデータに対応するフォルダデータをフォルダデータ３０９から取得する。ユーザに指定されたフォルダとは、例えば階層が「第２階層」のフォルダなどであり、ユーザにより指定されたメタデータとは、例えば「見積もり」が「未」のメタデータである。
【００７６】
ステップＳ２０６で、フォルダ制御部３０３は、取得したフォルダ定義データやフォルダデータに基づいてフォルダリストを生成し（図８など参照）、クライアント１０１に送信する。これにより、ユーザは所望のフォルダリストを見ることができる。
【００７７】
（ファイル表示）
図１４は、ファイルの表示処理の一例を示すシーケンス図である。ステップＳ３０１で、クライアント１０１は、ユーザにより要求されたファイルの表示要求をサーバ１０７に送信する。このとき、ファイル要求時の指定方法として例えば、
・フォルダを指定
・フォルダ階層やフォルダのメタデータの値、ファイルのメタデータの値、又はファイル名を指定（複数組み合わせ可）
がある。
【００７８】
ステップＳ３０２、Ｓ３０３で、ファイル制御部３０５は、ファイル表示要求を受けると、ファイル要求時に指定された内容にフォルダが含まれていれば「cabinet_id」を取得し、取得した「cabinet_id」に対応するフォルダ定義データをフォルダ定義データ３０７から取得する。
【００７９】
ステップＳ３０４、Ｓ３０５、Ｓ３０６で、ファイル制御部３０５は、ユーザにより指定されたフォルダやメタデータに対応するフォルダデータをフォルダデータ３０９から取得する。ユーザに指定されたフォルダとは、例えば階層が「第２階層」のフォルダなどであり、ユーザにより指定されたメタデータとは、例えば「見積もり」が「未」のメタデータである。
【００８０】
また、ファイル制御部３０５は、取得したフォルダに保存されているファイルをファイルデータ３１１から取得する。ファイルのメタデータやファイル名が指定されていた場合、ファイル制御部３０５は、フォルダ階層に関係なく、ファイルのメタデータの値やファイル名に基づいて検索し、検索結果（フォルダ情報付のファイルデータ）を取得する。
【００８１】
ステップＳ３０７で、ファイル制御部３０５は、取得したフォルダ定義データやフォルダデータやファイルに基づいてファイルリストを生成し、クライアント１０１に送信する。これにより、ユーザは所望のファイルリストを見ることができる。
【００８２】
図１５は、メタデータを用いる検索ＵＩの一例を示す図である。図１５に示す検索ＵＩ１５０１は、メタデータとして、時期、案件番号、国などがフォルダに付与されている例を示す。図１５に示す検索ＵＩ１５０３は、メタデータの案件番号「*01234*」で検索したときの例を示す。
【００８３】
なお、「*」は任意の０字以上をあらわすので、検索キーワード「*01234*」は、01234を含む案件を検索することになる。検索ＵＩ１５０３のフォルダリスト１５０４には、案件番号に「01234」を含む案件番号のメタデータが付与されているフォルダが表示される。図１５に示す検索ＵＩ１５０５は、メタデータの国「ＪＡＰＡＮ」で検索した時の例を示す。検索ＵＩ１５０５のフォルダリスト１５０６には、国「ＪＡＰＡＮ」のメタデータが付与されているフォルダが表示される。
【００８４】
図１６は、サーバ１０７で用いるＡＰＩ（Application Program Interface）の例を示す図である。クライアント１０１はブラウザのJavaScript（登録商標）プログラムにより、これらのＡＰＩを呼び出し、リクエストに応じて動的に画面を構成することができる。図１６に示すパス１６０１「cabinets/{id}/folders.json」は、フォルダの一覧を取得するときのＡＰＩである。例１６０２は、レイヤー「２」（第２階層）かつレイヤー「０」の定義に対応するデータが「ＪＰ」であるフォルダ一覧を取得するＡＰＩの例である。このときフォルダ一覧には、レイヤー２以上の階層の定義に対応するデータが表示される。
【００８５】
パス１６０３「cabinets/{id}/layers.json」は、指定した階層のフォルダ名の一覧を取得するときのＡＰＩである。例１６０４は、レイヤー「１」（第１階層）のフォルダのフォルダ名の一覧を取得するＡＰＩの例である。このときフォルダ名一覧には、例えば、「2007.01」「2007.02」などが表示される。
【００８６】
パス１６０５「cabinets/{id}/entries.json」は、ファイル一覧を取得するときのＡＰＩである。例１６０６は、レイヤー「２」（第２階層）のフォルダ名が「00000012344891」であるフォルダに保存されているファイル一覧を取得するＡＰＩの例と、フォルダＩＤが「2108」であるフォルダに保存されているファイル一覧を取得するＡＰＩの例である。このときファイル一覧には、例えば、ファイルＩＤ、位置、サイズ、タイトルなどが表示される。
【００８７】
パス１６０７「cabinets/{id}/tags.json」は、タグ候補の一覧を取得するときのＡＰＩである。例１６０８は、「stag_2」の候補となるタグの一覧を取得するＡＰＩの例である。このとき、キャビネットＩＤ、フォルダＩＤ、タグ名、タグタイプなどが表示される。
【００８８】
以上、実施例によれば、フォルダに保存されるデータの一元管理や検索を容易にすることができる。実施例におけるファイル管理システムは、大量のデータを扱う基幹システムに適用すれば、本発明の目的をより達成することが可能となる。
【００８９】
実施例のサーバで実行されるプログラムは、前述した各手段を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、上記各手段が主記憶装置上に生成されるようになっている。
【００９０】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。
【符号の説明】
【００９１】
１０１  クライアント
１０３、１１３  ＬＢ
１０５、１０７、１０９  サーバ
１１１  ＤＢ
１１３  ファイル管理サーバ
２０１  制御部
３０１  フォルダ定義制御部
３０３  フォルダ制御部
３０５  ファイル制御部
３０７  フォルダ定義データ
３０９  フォルダデータ
３１１  ファイルデータ
【先行技術文献】
【特許文献】
【００９２】
【特許文献１】特開２００８−３１０４５０号公報
【特許文献２】特表２００６−５２６１８２号公報
【図１】
2011186768.tif 000003
【図２】
2011186768.tif 000004
【図３】
2011186768.tif 000005
【図４】
2011186768.tif 000006
【図５】
2011186768.tif 000007
【図６】
2011186768.tif 000008
【図７】
2011186768.tif 000009
【図８】
2011186768.tif 000010
【図９】
2011186768.tif 000011
【図１０】
2011186768.tif 000012
【図１１】
2011186768.tif 000013
【図１２】
2011186768.tif 000014
【図１３】
2011186768.tif 000015
【図１４】
2011186768.tif 000016
【図１５】
2011186768.tif 000017
【図１６】
2011186768.tif 000018