(57)【要約】【課題】ファイルの読み出しを高速化すること。【解決手段】記憶部１ａは、ファイルの内容を示す単語または単語列を含むメタデータを記憶する。処理部１ｂは、ファイルおよびメタデータを取得し、ファイルに対応付けてメタデータを記憶部１ａに格納する。処理部１ｂは、記憶部１ａに記憶されたメタデータに含まれる単語または単語列に応じたメタデータの特徴量を算出し、特徴量に基づいてファイルの属する分類を決定する。処理部１ｂは、決定した分類に対応する記憶媒体または記憶領域にファイルを格納する。【選択図】図１
2018190393.tif 000002
【特許請求の範囲】
【請求項１】
ファイルの内容を示す単語または単語列を含むメタデータを記憶する記憶部と、
前記ファイルおよび前記メタデータを取得し、前記ファイルに対応付けて前記メタデータを前記記憶部に格納し、前記記憶部に記憶された前記メタデータに含まれる前記単語または前記単語列に応じた前記メタデータの特徴量を算出し、前記特徴量に基づいて前記ファイルの属する分類を決定し、決定した前記分類に対応する記憶媒体または記憶領域に前記ファイルを格納する処理部と、
を有する情報処理装置。
【請求項２】
前記処理部は、複数のファイルそれぞれに対して前記特徴量を算出し、各ファイルの前記特徴量に基づいて、前記複数のファイルのうちの一部が属する第１の分類の情報を生成し、前記複数のファイルのうちの他の一部が属する第２の分類の情報を生成する、
請求項１記載の情報処理装置。
【請求項３】
前記特徴量および前記分類の情報は、所定の空間における位置を示すベクトルであり、
前記処理部は、前記ファイルに対応するベクトルにより示される第１の位置と前記分類に対応するベクトルにより示される第２の位置との距離に基づいて、前記ファイルの属する前記分類を決定する、
請求項１または２記載の情報処理装置。
【請求項４】
前記特徴量は、前記メタデータに含まれる所定の複数の単語または単語列それぞれの数を要素とする特徴ベクトルである、
請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記処理部は、前記単語または前記単語列を含む検索キーの入力を受け付けると、前記検索キーの前記特徴量を算出し、前記検索キーの前記特徴量に基づいて前記検索キーの属する前記分類を決定し、決定した前記分類に対応する前記記憶媒体または前記記憶領域に記憶された前記ファイルを読み出す、
請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記処理部は、前記ファイルを読み出す際に、前記検索キーの属する前記分類に対応する前記記憶媒体を、前記記憶媒体に対するアクセスに用いられるドライブに移動させる、
請求項５記載の情報処理装置。
【請求項７】
前記処理部は、前記距離が前記ファイルの属する前記分類に応じた所定値よりも大きいことを検出し、当該検出の回数が所定回数を超えると、分類済の各ファイルの前記特徴量に基づいて、前記分類の情報を再生成する、
請求項３記載の情報処理装置。
【請求項８】
前記処理部は、前記ファイルの更新時刻と各ファイルの前記メタデータに出現する所定の文字の出現回数とに基づいて、前記更新時刻に応じた特徴値を算出し、前記特徴ベクトルに前記特徴値を追加する、
請求項４記載の情報処理装置。
【請求項９】
コンピュータが、
ファイルと前記ファイルの内容を示す単語または単語列を含むメタデータとを取得し、前記ファイルに対応付けて前記メタデータを記憶部に格納し、
前記記憶部に記憶された前記メタデータに含まれる前記単語または前記単語列に応じた前記メタデータの特徴量を算出し、
前記特徴量に基づいて前記ファイルの属する分類を決定し、
決定した前記分類に対応する記憶媒体または記憶領域に前記ファイルを格納する、
ファイル格納方法。
【請求項１０】
ファイルと前記ファイルの内容を示す単語または単語列を含むメタデータとを取得し、前記ファイルに対応付けて前記メタデータを記憶部に格納し、
前記記憶部に記憶された前記メタデータに含まれる前記単語または前記単語列に応じた前記メタデータの特徴量を算出し、
前記特徴量に基づいて前記ファイルの属する分類を決定し、
決定した前記分類に対応する記憶媒体または記憶領域に前記ファイルを格納する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、ファイル格納方法およびプログラムに関する。
【背景技術】
【０００２】
現在、複数の記録媒体を収納可能なストレージ装置が利用されている。記録媒体の一例として、磁気テープ媒体や光ディスク媒体が挙げられる。ストレージ装置は、情報処理装置に接続され、記録媒体に記憶されたデータに対する情報処理装置によるアクセスを可能にする。例えば、ストレージ装置は、書き換えることが比較的少ないデータを記憶媒体に格納して保管するために用いられることがある。
【０００３】
ここで、情報処理装置において、複数のファイルを管理する際に、階層構造のフォルダ（物理フォルダ）が用いられることがある。また、ファイルを格納する際には、年度毎や製品毎のように運用ルールによって決められたフォルダを作成し、決められたフォルダにファイルを分類して格納する場合がある。ユーザがファイルをどのような基準で分類すべきかを判断し、適切に分類を行う作業には困難が伴う。このような状況を鑑みて、ファイルサーバに格納されたファイルに対して、文書種別やファイル名などのメタデータを利用し、自動的に仮想分類を行うファイル管理装置の提案がある。
【０００４】
また、文書データを蓄積したデータベースの内容を、段階的にアウトラインを示しながら表示し、その表示を見たユーザの選択操作を受け付けることで、ユーザの必要とする情報を段階的に具体化する情報検索装置の提案もある。
【０００５】
なお、保存した画像について、画像が撮影された日時を示す時間情報に基づいてグルーピングし、画像を検索しやすくするとともに、画像の利用率を上げるようにした画像処理装置の提案もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−９３９２７号公報
【特許文献２】特開平１０−２６０９９１号公報
【特許文献３】特開２００８−６５６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ストレージ装置において、複数のファイルについてルールを設けずに記憶媒体に記憶すると、それぞれのファイルが異なる記憶媒体に記憶される可能性がある。このため、ストレージ装置において、内容の類似する複数のファイルを読み出す場合に、アクセス先の記憶媒体の切り替え（例えば、記憶媒体へのアクセスを行うドライブに対する記憶媒体の入れ替え）が生じ、ファイルの読み出しに時間がかかることがある。
【０００８】
１つの側面では、本発明は、ファイルの読み出しを高速化することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、情報処理装置が提供される。情報処理装置は、記憶部と処理部とを有する。記憶部は、ファイルの内容を示す単語または単語列を含むメタデータを記憶する。処理部は、ファイルおよびメタデータを取得し、ファイルに対応付けてメタデータを記憶部に格納し、記憶部に記憶されたメタデータに含まれる単語または単語列に応じたメタデータの特徴量を算出し、特徴量に基づいてファイルの属する分類を決定し、決定した分類に対応する記憶媒体または記憶領域にファイルを格納する。
【発明の効果】
【００１０】
１つの側面では、ファイルの読み出しを高速化できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の情報処理システムを示す図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】サーバのハードウェア例を示す図である。
【図４】ライブラリ装置のハードウェア例を示す図である。
【図５】情報処理システムの機能例を示す図である。
【図６】ファイルセットおよびメタデータの入力画面の例を示す図である。
【図７】管理情報群およびファイルセットの配置の例を示す図である。
【図８】メタデータ管理情報の例を示す図である。
【図９】専門用語辞書の例を示す図である。
【図１０】単語辞書の例を示す図である。
【図１１】特徴ベクトル管理情報の例を示す図である。
【図１２】クラスタ管理情報の例を示す図である。
【図１３】ファイル位置情報の例を示す図である。
【図１４】ファイルセット分類格納処理の例を示すフローチャートである。
【図１５】分類処理の例を示すフローチャートである。
【図１６】ファイルセット追加処理の例を示すフローチャートである。
【図１７】加入処理の例を示すフローチャートである。
【図１８】ファイルセット検索処理の例を示すフローチャートである。
【図１９】クラスタ検索処理の例を示すフローチャートである。
【図２０】検索画面の例を示す図である。
【図２１】クラスタとドライブとの関係の例を示す図である。
【図２２】第３の実施の形態の異常値の例を示す図である。
【図２３】異常値の検出例を示す図である。
【図２４】他のファイル位置情報の例を示す図である。
【図２５】変更管理情報の例を示す図である。
【図２６】ファイルセット追加処理の他の例を示すフローチャートである。
【図２７】分類再構築処理の例を示すフローチャートである。
【図２８】ファイルセットの複製例を示す図である。
【図２９】第４の実施の形態の特徴空間の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理システムを示す図である。第１の実施の形態の情報処理システムは、情報処理装置１およびストレージ装置２を含む。情報処理装置１およびストレージ装置２は、所定のケーブルを用いて接続されている。情報処理装置１およびストレージ装置２は、ネットワークを介して接続されてもよい。
【００１３】
ストレージ装置２は、複数の記憶媒体を収納可能である。記憶媒体は、例えば、磁気テープ媒体である。記憶媒体は、光ディスク媒体などの他の種類の記憶媒体でもよい。記憶媒体は、各種のデータを記憶する。ストレージ装置２は、アーカイブ装置と呼ばれることもある。
【００１４】
情報処理装置１は、ストレージ装置２に収納された記憶媒体に対するアクセス要求の入力を受け付ける。アクセス要求は、情報処理装置１に接続された入力デバイスを用いたユーザによる所定の操作によって情報処理装置１に入力されてもよいし、ネットワークを介して情報処理装置１に接続された他の装置により情報処理装置１に入力されてもよい。
【００１５】
情報処理装置１は、受け付けたアクセス要求に応じて、アクセス対象の記憶媒体に対するアクセスの実行をストレージ装置２に指示する。アクセス要求は、記憶媒体に対するデータの書き込みや、記憶媒体からのデータの読み出しなどである。情報処理装置１は、ファイルの単位でデータを管理する。
【００１６】
情報処理装置１は、保存対象のファイルおよびファイルに付随するメタデータを受け付け、メタデータに基づきファイルを分類する機能を提供する。
情報処理装置１は、記憶部１ａおよび処理部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。処理部１ｂはプログラムを実行するプロセッサであってもよい。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１７】
また、ストレージ装置２は、情報処理装置１と接続可能であり、シェルフ２ａ、ドライブ２ｂおよびロボット２ｃを有する。
シェルフ２ａは、複数の記憶媒体を収納する。複数の記憶媒体は、記憶媒体Ｍ１，Ｍ２を含む。
【００１８】
ドライブ２ｂは、各々の記憶媒体へのアクセスに用いられる。ドライブ２ｂは、１つの記憶媒体を収納し、収納された記憶媒体に対するアクセス（ファイルの読み出しや書き込み）を行う。ストレージ装置２は、ドライブ２ｂを複数備えてもよい。
【００１９】
ロボット２ｃは、シェルフ２ａに収納された記憶媒体Ｍ１，Ｍ２をドライブ２ｂに搬送してドライブ２ｂに収める。また、ロボット２ｃは、ドライブ２ｂに収納された記憶媒体Ｍ１，Ｍ２をシェルフ２ａに搬送してシェルフ２ａの所定の位置に収める。ロボット２ｃが一度に搬送する記憶媒体の数は１つである。例えば、記憶媒体Ｍ１がドライブ２ｂに収納されている場合に記憶媒体Ｍ２をドライブ２ｂに収納しようとするとき、ロボット２ｃは、ドライブ２ｂからシェルフ２ａに記憶媒体Ｍ１を搬送した後に、シェルフ２ａからドライブ２ｂに記憶媒体Ｍ２を搬送する。
【００２０】
ストレージ装置２は、処理部１ｂによるアクセス指示を受け付ける。アクセス指示は、アクセス対象の記憶媒体、書き込みや読み出しのアクセス種別、および、書き込み対象のファイルや読み出し対象のファイルの指定を含む。例えば、ストレージ装置２は、アクセス指示により、記憶媒体Ｍ１に対するアクセスが要求されていることを認識する。ストレージ装置２は、ロボット２ｃにより、シェルフ２ａに収納されている記憶媒体Ｍ１を、ドライブ２ｂに搬送する。ストレージ装置２は、ドライブ２ｂを用いて、アクセス指示に応じたファイルの書き込みや読み出しを記憶媒体Ｍ１に対して実行し、実行結果を情報処理装置１に提供する。実行結果は、例えば、ファイルの書き込みであれば、書き込み完了の通知であり、ファイルの読み出しであれば、読み出したファイルである。
【００２１】
ファイルには、前述のようにメタデータが対応付けられる。メタデータは、ファイルの内容を示す単語または単語列を含むデータである。メタデータは、例えば、保存対象のファイルとともに、ユーザにより情報処理装置１に対して入力される。ユーザは、例えば、保存対象のファイルに対する説明文（例えば、所定の文字数以下の文字列）を、メタデータとして情報処理装置１に入力する。
【００２２】
記憶部１ａは、ファイル毎のメタデータを、ファイルの識別情報（ファイルＩＤ（IDentifier）と称する）に対して記憶する。例えば、記憶部１ａは、テーブルＴ１を記憶する。テーブルＴ１は、ファイルＩＤと当該ファイルＩＤのファイルに対して入力されたメタデータとが対応付けられた情報である。例えば、テーブルＴ１には、ファイルＩＤ“ｆ１”およびメタデータ“ｍ１”というレコードを含む。このレコードは、ファイルＩＤ“ｆ１”のファイルのメタデータの内容が“ｍ１”であることを示す。例えば、“ｍ１”は複数の単語を含む文字列である。テーブルＴ１には、他のファイルＩＤに対しても同様にメタデータが登録される。ここで、以下の説明では、ファイルＩＤ“ｆ１”のファイルをファイルｆ１、“ｍ１”で示される内容のメタデータを、メタデータｍ１と称することがある。
【００２３】
処理部１ｂは、保存するファイルおよびメタデータを取得する。処理部１ｂは、ファイルに対応付けてメタデータを記憶部１ａに格納する。例えば、処理部１ｂは、ファイルＩＤおよびメタデータをテーブルＴ１に登録する。なお、処理部１ｂは、入力されたファイルについても、まずは、記憶部１ａに格納する。あるいは、処理部１ｂは、入力されたファイルを、まずは、情報処理装置１に内蔵または外付けされた所定の記憶装置（図１では図示を省略している）に格納してもよい。
【００２４】
処理部１ｂは、記憶部１ａに記憶されたメタデータに含まれる単語または単語列に応じたメタデータの特徴量を算出し、特徴量に基づいてファイルの属する分類を決定する。
例えば、処理部１ｂは、メタデータに含まれる単語または単語列からメタデータ内において、予め定められた所定の複数の単語（または単語列）それぞれの数を計数する。そして、処理部１ｂは、当該所定の複数の単語（または単語列）それぞれの数を要素として含む特徴ベクトルをメタデータの特徴量とする。この場合、メタデータの特徴量は、予め定められた所定の複数の単語（または単語列）の数の次元をもつ所定の空間（特徴空間と呼ばれる）における特徴ベクトルとなる。
【００２５】
なお、処理部１ｂは、所定の複数の単語または単語列を示す単語辞書の情報を、記憶部１ａに蓄積されたメタデータに基づいて予め作成してもよい。例えば、処理部１ｂは、蓄積されたメタデータに対して形態素解析による単語または単語列の抽出を行い、解析したメタデータ全体における出現回数が所定の回数範囲（ある下限から上限の間）にある単語または単語列を、単語辞書に登録することが考えられる。ここで、所定の回数範囲という条件を設ける理由は、出現回数が少な過ぎる単語または単語列、および、出現回数が多過ぎる単語または単語列は、後述する特徴ベクトルによる適切な分類を妨げる要因になり得るからである。
【００２６】
処理部１ｂは、メタデータの特徴ベクトルを、例えば、Ｋ−ｍｅａｎｓ法（Ｋ平均法）と呼ばれる演算を用いて分類することができる。Ｋ−ｍｅａｎｓ法は、データ（ここでは、特徴ベクトル）を、Ｋ個（Ｋは２以上の整数）のクラスタに分類する方法を提供する。例えば、１つの記憶媒体に対して１つのクラスタを割り当てる場合、クラスタ数Ｋは、複数の記憶媒体の数に相当する。記憶媒体Ｍ１，Ｍ２のみを用いるならば、Ｋ＝２である。この場合、「分類」（あるいはクラスタ）を示す情報は、特徴空間における座標の情報として求められる。
【００２７】
例えば、処理部１ｂは、記憶部１ａに記憶されたテーブルＴ１に基づいて、複数のファイルそれぞれに対して特徴量を算出する。そして、処理部１ｂは、各ファイルの特徴量に基づいて、複数のファイルのうちの一部が属する第１の分類の情報を生成し、複数のファイルのうちの他の一部が属する第２の分類の情報を生成してもよい。
【００２８】
一例として、処理部１ｂにより、ファイルｆ１，ｆ２，ｆ３，ｆ４，ｆ５，ｆ６を、記憶媒体Ｍ１に対応する第１の分類（第１のクラスタ）、および、記憶媒体Ｍ２に対応する第２の分類（第２のクラスタ）に分類することを考える。
【００２９】
ファイルｆ１に対応するメタデータは、メタデータｍ１である。ファイルｆ２に対応するメタデータは、メタデータｍ２である。ファイルｆ３に対応するメタデータは、メタデータｍ３である。ファイルｆ４に対応するメタデータは、メタデータｍ４である。ファイルｆ５に対応するメタデータは、メタデータｍ５である。ファイルｆ６に対応するメタデータは、メタデータｍ６である。
【００３０】
処理部１ｂは、メタデータｍ１に基づいて、メタデータｍ１に含まれる所定の単語（または単語列）の数を算出し、メタデータｍ１に対応する特徴ベクトルＶ１を得る。メタデータｍ１は、ファイルｆ１に対応するので、メタデータｍ１に対応する特徴ベクトルは、ファイルｆ１に対応する特徴ベクトルであるともいえる。同様にして、処理部１ｂは、メタデータｍ２に基づいて特徴ベクトルＶ２を得る。処理部１ｂは、メタデータｍ３に基づいて特徴ベクトルＶ３を得る。処理部１ｂは、メタデータｍ４に基づいて特徴ベクトルＶ４を得る。処理部１ｂは、メタデータｍ５に基づいて特徴ベクトルＶ５を得る。処理部１ｂは、メタデータｍ６に基づいて特徴ベクトルＶ６を得る。
【００３１】
そして、処理部１ｂは、Ｋ−ｍｅａｎｓ法によって、特徴ベクトルＶ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５，Ｖ６を２つの分類（クラスタ）に分ける。例えば、まず、処理部１ｂは、特徴ベクトルＶ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５，Ｖ６を、ランダムに、第１のクラスタおよび第２のクラスタに分け、第１のクラスタの重心Ｃ１と、第２のクラスタの重心Ｃ２とを求める。第１のクラスタの重心Ｃ１は、例えば、第１のクラスタに属する各特徴ベクトルの座標の平均値である。第２のクラスタの重心Ｃ２は、例えば、第２のクラスタに属する各特徴ベクトルの座標の平均値である。そして、処理部１ｂは、特徴ベクトルＶ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５，Ｖ６それぞれを、最短の距離にある重心に割り当て直し、重心Ｃ１，Ｃ２を計算し直す。処理部１ｂは、この処理を繰り返し実行して、重心Ｃ１，Ｃ２を補正し、例えば、割り当てに変化がなくなった場合や割り当てが変更される特徴ベクトルの数が所定数以下となった場合に、重心Ｃ１，Ｃ２を確定する。
【００３２】
確定時点において、第１のクラスタに属する特徴ベクトルに対応するファイルは、第１のクラスタ（第１の分類）に所属することになる。確定時点において、第２のクラスタに属する特徴ベクトルに対応するファイルは、第２のクラスタ（第２の分類）に所属することになる。例えば、分類の結果、処理部１ｂは、ファイルｆ１，ｆ３，ｆ５の所属先を第１の分類と決定し、ファイルｆ２，ｆ４，ｆ６の所属先を第２の分類と決定する。こうして、処理部１ｂは、ファイルに対応する特徴ベクトルにより示される第１の位置と分類に対応する重心を示す重心位置ベクトルにより示される第２の位置との距離に基づいて、ファイルの属する分類を決定する。
【００３３】
処理部１ｂは、決定した分類に対応する記憶媒体にファイルを格納する。例えば、第１の分類に対応する記憶媒体は、記憶媒体Ｍ１である。したがって、処理部１ｂは、第１の分類に属するファイルｆ１，ｆ３，ｆ５を記憶媒体Ｍ１に格納する。例えば、処理部１ｂは、ファイルｆ１，ｆ３，ｆ５を記憶媒体Ｍ１に格納するようストレージ装置２に指示することで、ファイルｆ１，ｆ３，ｆ５を記憶媒体Ｍ１に書き込むようにストレージ装置２を制御する。ストレージ装置２は、指示に応じて、ロボット２ｃにより記憶媒体Ｍ１をドライブ２ｂに移動させ、記憶媒体Ｍ１に対するファイルｆ１，ｆ３，ｆ５の書き込みを行う。また、第２の分類に対応する記憶媒体は、記憶媒体Ｍ２である。したがって、処理部１ｂは、第２の分類に属するファイルｆ２，ｆ４，ｆ６を記憶媒体Ｍ２に格納する。例えば、処理部１ｂは、ファイルｆ２，ｆ４，ｆ６を記憶媒体Ｍ２に格納するようストレージ装置２に指示することで、ファイルｆ２，ｆ４，ｆ６を記憶媒体Ｍ２に書き込むようにストレージ装置２を制御する。ストレージ装置２は、指示に応じて、ロボット２ｃにより記憶媒体Ｍ２をドライブ２ｂに移動させ、記憶媒体Ｍ２に対するファイルｆ２，ｆ４，ｆ６の書き込みを行う。
【００３４】
処理部１ｂは、新たに入力されたファイルおよびメタデータに対して、当該メタデータから特徴量（特徴ベクトル）を計算し、先に求めた重心Ｃ１，Ｃ２により、当該ファイルの所属先の分類（クラスタ）を決定することもできる。具体的には、処理部１ｂは、重心Ｃ１，Ｃ２のうち、計算した特徴ベクトルから最短の距離にある重心を特定する。処理部１ｂは、特定した重心に対応する分類に、新たに入力されたファイルを所属させる。例えば、処理部１ｂは、新たに入力されたファイルを、第１の分類に所属させると決定する。その場合、処理部１ｂは、新たに入力されたファイルを記憶媒体Ｍ１に格納する。例えば、処理部１ｂは、新たに入力されたファイルを記憶媒体Ｍ１に書き込むようストレージ装置２に指示することで、新たに入力されたファイルを記憶媒体Ｍ１に書き込むようストレージ装置２に指示する。ストレージ装置２は、指示に応じて、ロボット２ｃにより記憶媒体Ｍ１をドライブ２ｂに移動させ、記憶媒体Ｍ１に対する新たに入力されたファイルの書き込みを行う。
【００３５】
こうして、情報処理装置１は、類似する内容を含むと推定される複数のファイルを同一の記憶媒体に格納することができる。理由は次の通りである。
メタデータから算出される上記の特徴量を用いたファイルの分類方法によれば、特徴空間上の位置が比較的近いメタデータをもつファイル同士が同一の分類に所属することになる。これは、同じ分類に属するファイル同士は、メタデータに含まれる所定の単語の出現数が比較的近似することを意味する。また、メタデータは、前述のように、ファイルの内容を示す説明文である。したがって、メタデータに含まれる所定の単語の出現数が近似する各ファイルの内容は、類似している可能性が高いと推定される。よって、上記のようにメタデータの特徴量に応じてファイルを分類することで、類似する内容を含むと推定される複数のファイルを同一の分類に所属させることができる。そして、処理部１ｂは、所属先が同じ分類である複数のファイルを同一の記憶媒体に格納することで、類似する内容を含むと推定される複数のファイルを同一の記憶媒体に格納することができる。
【００３６】
これにより、ファイルの読み出しを高速化できる。具体的には、情報処理装置１は、内容の類似する複数のファイルを同一の記憶媒体にまとめて格納できる。このため、情報処理装置１は、ストレージ装置２において、内容の類似する複数のファイルを読み出す場合に、記憶媒体の入れ替えを行わなくてよい。
【００３７】
特に、ユーザは、あるファイルの内容を閲覧した後に、当該ファイルと内容の類似する別のファイルの内容を閲覧することが少なくない。例えば、ユーザは、記憶媒体Ｍ１に格納されたファイルｆ１の内容を閲覧した後に、ファイルｆ１と内容の類似するファイルｆ３，ｆ５の内容も閲覧したいと考えることがある。この場合、仮に、ファイルｆ３，ｆ５が記憶媒体Ｍ２に格納されていると、ドライブ２ｂに対する記憶媒体Ｍ１，Ｍ２の入れ替えが発生し、ファイルｆ３，ｆ５の内容をユーザが閲覧できるまでに時間がかかる。
【００３８】
一方、処理部１ｂは、ファイルｆ１，ｆ３，ｆ５を記憶媒体Ｍ１にまとめて格納する。このため、ユーザがファイルｆ１の内容を閲覧した後に、ファイルｆ３，ｆ５の内容も閲覧したい場合に、処理部１ｂは、記憶媒体Ｍ１からファイルｆ３，ｆ５を取得できる。このため、記憶媒体の入れ替えを行わずに、類似するファイルを高速に読み出せる。
【００３９】
なお、処理部１ｂは、単語または単語列を含む検索キーのユーザによる入力を受け付け、当該検索キーに基づいて、ファイルの読み出しを行ってもよい。例えば、処理部１ｂは、検索キーの特徴量を算出し、検索キーの特徴量に基づいて検索キーの属する分類を決定する。例えば、検索キーに対して求められた特徴ベクトルと特徴空間上の位置が最も近い重心に対応する分類が、検索キーの属する分類である。そして、処理部１ｂは、決定した分類に対応する記憶媒体に記憶されたファイルを読み出す。このようにすれば、ユーザが閲覧したい内容に対応する分類の記憶媒体を容易に検索可能となり、また、ユーザが閲覧したい内容を含む複数のファイルを高速に読み出せる。
【００４０】
また、ファイルは、複数のファイルを含むファイルセットであってもよい。例えば、１つのファイルセットに対して１つのメタデータが対応付けられてもよい。この場合、処理部１ｂは、ファイルセットの単位に分類を決定し、分類に応じた記憶媒体にファイルセットを格納することになる。
【００４１】
また、情報処理装置１は、ストレージ装置２に内蔵されてもよい。すなわち、ストレージ装置２が、記憶部１ａおよび処理部１ｂに相当するハードウェアを備えてもよい。この場合、ストレージ装置２により、記憶部１ａおよび処理部１ｂの機能を実現することができる。
【００４２】
さらに、１つの分類に対して１つの記憶媒体を対応付けてもよいし、複数の分類に対して１つの記憶媒体を対応付けてもよい。この場合、記憶媒体における全記憶領域を複数の記憶領域（例えば、磁気テープ上の物理的に連続する記憶領域）に分け、１つの記憶領域を１つの分類に割り当ててもよい。この場合、処理部１ｂは、記憶媒体上の記憶領域を表すアドレス範囲を分類に対応付けた情報を記憶部１ａに格納し、当該情報により分類に対応する記憶媒体および記憶領域を管理する。
【００４３】
あるいは、上記の例では、主に、記憶媒体として磁気テープ媒体や光ディスク媒体を例示したが、他の例も考えられる。例えば、情報処理装置１または情報処理装置１に外付けされた装置に内蔵されるＨＤＤやＳＳＤ（Solid State Drive）などの複数の記憶装置を用いて論理的な記憶領域（例えば、仮想ボリューム）が形成されることもある。このような場合に、１つの論理的な記憶領域を、１つの分類に割り当ててもよい。この場合、処理部１ｂは、論理的な記憶領域と分類とを対応付けた情報を記憶部１ａに格納し、当該情報により分類に対応する論理的な記憶領域を管理する。
【００４４】
本例示によれば、処理部１ｂの処理を次のように言い表すことができる。すなわち、処理部１ｂは、記憶部１ａに記憶されたメタデータに含まれる単語または単語列に応じたメタデータの特徴量を算出し、当該特徴量に基づいてファイルの属する分類を決定し、決定した分類に対応する記憶媒体または記憶領域にファイルを格納する。内容の類似する複数のファイルを単一の記憶領域に格納することで、前述のように、内容の類似する複数のファイルの読み出しを高速化できる。
【００４５】
以下では、ファイルのアーカイブ運用を支援する情報処理システムを例示し、情報処理装置１の機能をより詳細に説明する。
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムの例を示す図である。第２の実施の形態の情報処理システムは、サーバ１００、ライブラリ装置２００およびクライアント３００を含む。
【００４６】
サーバ１００は、所定のケーブルを用いてライブラリ装置２００と接続している。サーバ１００は、ＳＡＮ（Storage Area Network）などのネットワークを介して、ライブラリ装置２００と接続してもよい。また、サーバ１００は、クライアント３００とネットワーク１０を介して接続している。ネットワーク１０は、例えば、ＬＡＮ（Local Area Network）である。
【００４７】
サーバ１００は、クライアント３００における業務処理に用いられるデータをクライアント３００に提供するサーバコンピュータである。例えば、サーバ１００は、ファイルサーバとして機能し、ファイル単位でデータを扱う。サーバ１００は、第１の実施の形態の情報処理装置１の一例である。
【００４８】
サーバ１００は、ライブラリ装置２００を用いたアーカイブ機能を提供する。「アーカイブ」とは、アクセス頻度は低いが保存に比較的大きなストレージ容量を要するファイル（例えば、動画ファイル、医療用画像ファイル、または、経理情報など）を比較的長期に保管することを意味する。具体的には、アクセス頻度の高いファイルは、テープ媒体に比べて高速にアクセスが可能なＨＤＤやＳＳＤ（サーバ１００またはサーバ１００に外付けされたストレージに内蔵された記憶装置）に格納しておく。一方、アクセス頻度の低いファイルは、ＨＤＤやＳＳＤよりも安価なテープ媒体（あるいは、光ディスク媒体）にアーカイブしておくことで、低コストで大量データを保存可能となる。
【００４９】
ライブラリ装置２００は、複数のテープ媒体を収納可能な装置である。ここで、テープ媒体は、磁気テープ媒体または磁気テープなどと呼ばれることもある。テープ媒体の規格の一例として、ＬＴＯ（Linear Tape-Open、登録商標）が挙げられる。ただし、テープ媒体は、ＤＬＴ（Digital Linear Tape、登録商標）やＤＤＳ（Digital Data Storage）など、ＬＴＯ以外の規格のものでもよい。ライブラリ装置２００は、第１の実施の形態のストレージ装置２の一例である。
【００５０】
クライアント３００は、ユーザの業務に用いられるクライアントコンピュータである。クライアント３００は、サーバ１００を介してライブラリ装置２００に収納されたテープ媒体に記憶されたファイルにアクセスする。ユーザは、クライアント３００を操作して、ファイルの内容の確認や、ファイルの内容の更新や、ファイルの検索を行える。例えば、クライアント３００を用いるユーザは、クライアント３００により実行される所定のターミナルエミュレータを用いて、サーバ１００にログインし、ファイル操作のコマンドをサーバ１００に入力してもよい。
【００５１】
図３は、サーバのハードウェア例を示す図である。サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、ホストバスアダプタ（ＨＢＡ：Host Bus Adapter）１０４、画像信号処理部１０５、入力信号処理部１０６、媒体リーダ１０７および通信インタフェース１０８を有する。各ハードウェアはサーバ１００のバスに接続されている。
【００５２】
プロセッサ１０１は、サーバ１００の情報処理を制御するハードウェアである。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００５３】
ＲＡＭ１０２は、サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００５４】
ＨＤＤ１０３は、サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ１００は、フラッシュメモリやＳＳＤなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００５５】
ＨＢＡ１０４は、ライブラリ装置２００と接続するインタフェースである。ＨＢＡ１０４としては、例えば、ファイバチャネル（ＦＣ：Fibre Channel）インタフェースやＳＡＳ（Serial Attached SCSI、ＳＣＳＩはSmall Computer System Interfaceの略）を用いることができる。
【００５６】
画像信号処理部１０５は、プロセッサ１０１からの命令に従って、サーバ１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１として、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００５７】
入力信号処理部１０６は、サーバ１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００５８】
媒体リーダ１０７は、記録媒体１３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ１０７は、例えば、プロセッサ１０１からの命令に従って、記録媒体１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００５９】
通信インタフェース１０８は、ネットワーク１０を介して他の装置と通信を行う。通信インタフェース１０８は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
【００６０】
なお、クライアント３００も、サーバ１００と同様のハードウェアを用いて実現できる。
図４は、ライブラリ装置のハードウェア例を示す図である。ライブラリ装置２００は、プロセッサ２０１、ＲＡＭ２０２、フラッシュメモリ２０３、接続インタフェース２０４、シェルフ２０５、ロボット２０６およびドライブ２０７を有する。各ハードウェアは、ライブラリ装置２００のバスに接続されている。
【００６１】
プロセッサ２０１は、ライブラリ装置２００の情報処理を制御するハードウェアである。プロセッサ２０１は、マルチプロセッサであってもよい。プロセッサ２０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ２０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００６２】
ＲＡＭ２０２は、ライブラリ装置２００の主記憶装置である。ＲＡＭ２０２は、プロセッサ２０１に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２０２は、プロセッサ２０１による処理に用いる各種データを記憶する。
【００６３】
フラッシュメモリ２０３は、ライブラリ装置２００の補助記憶装置である。フラッシュメモリ２０３は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ２０３は、ファームウェアのプログラムおよび各種データを記憶する。
【００６４】
接続インタフェース２０４は、サーバ１００と接続するインタフェースである。接続インタフェース２０４としては、例えば、ＦＣやＳＡＳのインタフェースを用いることができる。
【００６５】
シェルフ２０５は、複数のテープ媒体を収納する収納棚である。シェルフ２０５は、複数のセルを含む。セルは、１つのテープ媒体を収納する収納スペースである。セルには、ＩＤが付される。また、セルと当該セルに収納されるテープ媒体とは１対１に対応しており、セルのＩＤによってテープ媒体を識別することもできる。
【００６６】
例えば、シェルフ２０５には、テープ媒体ＭＴ１，ＭＴ２，ＭＴ３，ＭＴ４，・・・が収納されている。テープ媒体ＭＴ１，ＭＴ２，ＭＴ３，ＭＴ４，・・・として、例えば、前述のようにＬＴＯ規格に準拠したものを使用することができる。
【００６７】
ロボット２０６は、プロセッサ２０１からの指示に応じて、シェルフ２０５に収納されたテープ媒体をドライブ２０７に搬送する。また、ロボット２０６は、プロセッサ２０１からの指示に応じて、ドライブ２０７に収納されたテープ媒体を、シェルフ２０５に搬送する。例えば、ロボット２０６は、テープ媒体のカートリッジに付されたバーコードやＲＦＩＤタグなどを読み取ることで、テープ媒体の媒体名を認識する。
【００６８】
ドライブ２０７は、プロセッサ２０１からの指示に応じて、テープ媒体ＭＴ１，ＭＴ２，ＭＴ３，ＭＴ４，・・・に対するデータの書き込みや読み出しを行うテープドライブである。ドライブ２０７には、１つのテープ媒体を収納して、磁気テープに対するデータの書き込みや読み出しを行える。ライブラリ装置２００は、２以上のドライブを有してもよい。
【００６９】
図５は、情報処理システムの機能例を示す図である。サーバ１００は、記憶部１１０および制御部１２０を有する。
記憶部１１０は、ＲＡＭ１０２の記憶領域やＨＤＤ１０３の記憶領域を用いて実現される。また、制御部１２０は、プロセッサ１０１により実現される。具体的には、プロセッサ１０１は、ＲＡＭ１０２に記憶されたプログラムを実行することで、制御部１２０の機能を発揮する。ただし、制御部１２０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００７０】
記憶部１１０は、管理情報群を記憶する。管理情報群は、サーバ１００が記憶部１１０に記憶されたファイルセットを分類し、テープ媒体ＭＴ１，・・・に記録するために用いる情報群である。管理情報群については、後で図８を用いて説明する。
【００７１】
制御部１２０は、クライアント３００からファイルセットおよびメタデータを受け付け、ファイルセットおよびメタデータを記憶部１１０に格納する。なお、制御部１２０は、ファイルセットをテープ媒体にアーカイブする前に、外付けストレージ（図示を省略）にファイルセットを格納しておいてもよい。
【００７２】
制御部１２０は、テープ媒体に対するファイルの書き込みや読み出しのアクセスを制御する。制御部１２０は、ファイルセットやファイルセットを分類した区分であるクラスタに対するアクセス要求をクライアント３００から取得すると、該当するファイルセットやクラスタを格納するテープ媒体を特定する。そして、制御部１２０は、特定したテープ媒体に対するアクセスをライブラリ装置２００に指示する。
【００７３】
また、制御部１２０は、記憶部１１０に記憶された複数のファイルセットをアーカイブする際、各ファイルセットに付随するメタデータに基づいて、ファイルセットをクラスタに分類し、クラスタ毎にテープ媒体に格納する。具体的には、制御部１２０は、ファイルセットに付随するメタデータについて管理情報群を用いて分類し、ファイルセットが所属するクラスタを決定する。クラスタへの分類処理については、後で図１５を用いて説明する。また、ファイルセットおよびメタデータについては、後で図７を用いて説明する。
【００７４】
ライブラリ装置２００は、アクセス実行部２１０を有する。アクセス実行部２１０は、プロセッサ２０１により実現される。具体的には、プロセッサ２０１は、ＲＡＭ２０２に記憶されたプログラムを実行することで、アクセス実行部２１０の機能を発揮する。ただし、アクセス実行部２１０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００７５】
アクセス実行部２１０は、サーバ１００を介してファイルセットやクラスタに対するアクセスの指示を受け付ける。アクセス実行部２１０は、ファイルセットやクラスタに対するアクセスの指示に応じて、ロボット２０６を制御し、指示されたテープ媒体を、ドライブ２０７に搬送する。アクセス実行部２１０は、ドライブ２０７を用いて該当のテープ媒体に格納されたファイルセットやクラスタを読み出し、読み出したファイルセットやクラスタを制御部１２０に応答する。ファイルセットやクラスタに対するアクセスの指示とは、例えば、ファイルセットやクラスタに対する読み出し、検索、変更などの指示である。
【００７６】
図６は、ファイルセットおよびメタデータの入力画面の例を示す図である。入力画面４００は、ファイルセット４０１およびメタデータ４０２を表示した入力画面の一例である。例えば、ユーザは、入力画面４００を用いて、アーカイブ対象のファイルセットおよび当該ファイルセットに付随するメタデータをサーバ１００に入力する。ここでは、ファイルセット４０１の一例として電子カルテを示し、メタデータ４０２の一例として電子カルテに対して医師などのユーザにより入力された所見を示す。ファイルセット４０１およびメタデータ４０２は、ユーザによってクライアント３００から入力される情報である。
【００７７】
例えば、ユーザは、サーバ１００により提供される入力画面４００を、クライアント３００により表示させ、入力画面４００を確認する。ユーザは、クライアント３００に接続された入力デバイスを操作することで、入力画面４００の表示内容に従って、ファイルセット４０１やメタデータ４０２のサーバ１００への入力を行える。入力画面４００は、ディスプレイ１１に表示されてもよい。ユーザは、ディスプレイ１１に表示された入力画面４００の表示内容に従って、入力デバイス１２を操作することで、ファイルセット４０１やメタデータ４０２のサーバ１００への入力を行うこともできる。
【００７８】
ファイルセット４０１およびメタデータ４０２は、記憶部１１０に蓄積される。記憶部１１０に蓄積されたファイルセット４０１およびメタデータ４０２は、サーバ１００によってクラスタに分類される。ファイルセット４０１およびメタデータ４０２は、ライブラリ装置２００により、クラスタ毎にテープ媒体ＭＴ１，・・・に格納される。
【００７９】
ファイルセット４０１は、１以上のファイル（テキストファイル、音声ファイル、画像ファイルなど）を含むファイルの集合である。ファイルセット４０１の一例として、電子カルテを示す。ファイルセット４０１は、患者名や患者番号などの患者に関するテキストファイルと、診察記録のテキストファイル“Ｍｅｄｉｃａｌ−ｒｅｃｏｒｄ．ｔｘｔ”とを含む。また、ファイルセット４０１は、検査記録のテキストファイル“Ｉｎｓｐｅｃｔｉｏｎ−ｒｅｃｏｒｄ．ｔｘｔ”と、レントゲン写真の画像ファイル“Ｘｒａｙ−ｐｈｏｔｏ．ｊｐｇ”とを含む。なお、ファイルセット４０１に含まれるファイルは、複数のファイルに限らず、単数のファイルであってもよい。
【００８０】
メタデータ４０２は、ファイルセット４０１の説明やファイルセット４０１を検索するためのインデックスとなる情報である。メタデータ４０２は、ファイルセット４０１に付加するテキストを含む。サーバ１００は、メタデータ４０２から算出される特徴ベクトルに基づいて、ファイルセット４０１を分類する。
【００８１】
メタデータ４０２の一例として、電子カルテのファイルセット４０１に付加されるテキストデータを示す。例えば、メタデータ４０２は、「胃がん。入院し、抗がん剤の投与および患部への放射線の照射を行うが４５回で中止する。退院後、小腸に移転。・・・」というテキストを含む。
【００８２】
なお、ファイルセット４０１およびメタデータ４０２に含まれるファイルの種類は一例に過ぎず、その他の種類のファイルを含む情報でもよい。
また、上述の例では、ファイルセット４０１およびメタデータ４０２の一例として電子カルテおよび電子カルテに対する所見を示したが、その他のものでもよい。例えば、電子書籍をファイルセットとし、電子書籍に付随する目次、索引、著者紹介文、書籍レビューなどをメタデータとしてもよい。
【００８３】
図７は、管理情報群およびファイルセットの配置の例を示す図である。管理情報群は、ファイルセットを分類するために用いられる情報である。管理情報群は、記憶部１１０に記憶される情報である。管理情報群は、メタデータ管理情報１１２、専門用語辞書１１３、単語辞書１１４、特徴ベクトル管理情報１１５、クラスタ管理情報１１６およびファイル位置情報１１７を含む。なお、メタデータ管理情報１１２、専門用語辞書１１３、単語辞書１１４、特徴ベクトル管理情報１１５、クラスタ管理情報１１６およびファイル位置情報１１７の詳細は、後で図８乃至図１３を用いて説明する。
【００８４】
未分類ファイルセット群１１１は、クライアント３００から入力され、記憶部１１０に蓄積したファイルセットおよびメタデータであって、制御部１２０によって未だクラスタに分類されていないものをいう。
【００８５】
ここで、制御部１２０による管理情報群およびファイルセットの操作概要を説明する。
制御部１２０は、記憶部１１０に蓄積した未分類ファイルセット群１１１からメタデータを取得し、取得したメタデータをメタデータ管理情報１１２に登録する。
【００８６】
制御部１２０は、メタデータ管理情報１１２に登録されたメタデータに形態素解析を実行し、メタデータの文章から名詞に相当する単語を抽出する。このとき、制御部１２０は、専門用語辞書１１３を用いてメタデータから専門用語の名詞に相当する単語も抽出する。また、制御部１２０は、所定のフィルタを用いて、抽出された単語のうち、意味のある単語を絞り込む。制御部１２０は、絞り込んだ単語のうち、蓄積されたメタデータにおいて出現回数が所定範囲にある単語を、単語辞書１１４に登録する。単語辞書１１４に登録された単語の数が、後述の特徴ベクトルが属する特徴空間の次元に相当する。
【００８７】
制御部１２０は、各メタデータについて単語辞書１１４に基づき単語の出現頻度の配列を求め、単語の出現頻度の配列から特徴ベクトルを作成し、特徴ベクトルを特徴ベクトル管理情報１１５に格納する。制御部１２０は、特徴ベクトル管理情報１１５に格納した特徴ベクトルを基に、それぞれのメタデータをＫ−ｍｅａｎｓ法を用いて、クラスタに分類する。
【００８８】
Ｋ−ｍｅａｎｓ法は、メタデータから作成した特徴ベクトルを、Ｋ個（Ｋは２以上の整数）のクラスタに分類する方法である。クラスタを示す情報は、特徴空間における座標の情報として求められる。特徴ベクトルは、複数のクラスタのうちクラスタの座標との距離が最短のクラスタに分類される。
【００８９】
例えば、まず、制御部１２０は、蓄積された所定数のメタデータに対応する複数の特徴ベクトルを、ランダムに、Ｋ個のクラスタに分け、各クラスタを示す重心を求める。あるクラスタを示す重心は、例えば、該当のクラスタに属する各特徴ベクトルの座標の平均値である。そして、制御部１２０は、該当の複数の特徴ベクトルそれぞれを、最短の距離にある重心に割り当て直し、各クラスタを示す重心を計算し直す。制御部１２０は、この処理を繰り返し実行して、各クラスタを示す重心を補正し、例えば、割り当てに変化がなくなった場合や割り当てが変更される特徴ベクトルの数が所定数以下となった場合に、各クラスタを示す重心を確定する。確定時点において、ある特徴ベクトルに対応するファイルは、該当の特徴ベクトルからの距離が最も近い重心に対応するクラスタに所属することになる。新たなファイルセットをクラスタに分類する際には、制御部１２０は、新たなファイルセットのメタデータの特徴ベクトルと最も近い重心に対応するクラスタに、新たなファイルセットを所属させればよい。
【００９０】
制御部１２０は、Ｋ−ｍｅａｎｓ法により、クラスタに対応する特徴空間上の座標（クラスタを示す重心の座標）を示す重心位置ベクトルを求め、クラスタ管理情報１１６に登録する。なお、Ｋ−ｍｅａｎｓ法は、メタデータに基づいてファイルセットを分類する方法の一例に過ぎず、他の分類方法を用いることを妨げるものではない。
【００９１】
制御部１２０は、Ｋ−ｍｅａｎｓ法により各メタデータに対応する各ファイルセットが所属するクラスタを決定する。制御部１２０は、クラスタに対応するテープ媒体に対して当該クラスタに属する複数のファイルセットを記録する指示をライブラリ装置２００に出力する。
【００９２】
このように、制御部１２０は、記憶部１１０に蓄積した未分類ファイルセット群をクラスタに分類し、分類したクラスタ毎にファイルセットをテープ媒体ＭＴ１，・・・に格納する。
【００９３】
図８は、メタデータ管理情報の例を示す図である。メタデータ管理情報１１２は、メタデータの管理に用いられる情報である。メタデータ管理情報１１２は、記憶部１１０に格納される。メタデータ管理情報１１２は、メタデータＩＤ、ファイルセットＩＤおよびメタデータの項目を含む。
【００９４】
メタデータＩＤの項目には、メタデータを識別するための識別情報（メタデータＩＤ）が登録される。ファイルセットＩＤの項目には、ファイルセットを識別するための識別情報（ファイルセットＩＤ）が登録される。メタデータの項目には、メタデータＩＤで識別されるメタデータの内容であるテキストが登録される。
【００９５】
例えば、メタデータ管理情報１１２には、メタデータＩＤが“Ｄ０１”、ファイルセットＩＤが“Ｆ０１”、メタデータが“胃がん。入院し、抗がん剤の投与および患部への放射線の照射を行うが４５回で中止する。退院後、小腸に移転。・・・”という情報が登録される。これは、メタデータＩＤ“Ｄ０１”で示されるメタデータが、ファイルセットＩＤ“Ｆ０１”のファイルセットに付随することを示す。また、メタデータＩＤ“Ｄ０１”で示されるメタデータの内容が“胃がん。入院し、抗がん剤の投与および患部への放射線の照射を行うが４５回で中止する。退院後、小腸に移転。・・・”であることを示す。
【００９６】
図９は、専門用語辞書の例を示す図である。専門用語辞書１１３は、メタデータから専門用語に相当する単語を抽出するための情報である。専門用語辞書１１３は、記憶部１１０に格納される。なお、専門用語辞書１１３は、サーバ１００が分類対象とするファイルセットの内容に応じて、システム管理者により記憶部１１０に予め格納される。例えば、ファイルセットの内容が電子カルテである場合、医学用語を含む専門用語辞書１１３が記憶部１１０に格納される。
【００９７】
専門用語辞書１１３は、単語ＩＤおよび単語の項目を含む。単語ＩＤの項目には、単語を識別するための識別情報（単語ＩＤ）が登録される。単語の項目には、専門用語の単語（または単語列）が登録される。
【００９８】
例えば、専門用語辞書１１３には、単語ＩＤが“１００００”、単語が“がん”という情報が登録される。これは、単語ＩＤ“１００００”で示される単語が“がん”であることを示す。
【００９９】
ここで、例えば、単語“食道がん”は、“食道”および“がん”という２つの単語を含む単語列であると考えることもできる。第２の実施の形態の例では、このような単語列も含めて単語と称する。
【０１００】
図１０は、単語辞書の例を示す図である。単語辞書１１４は、メタデータから抽出された単語を管理する情報である。単語辞書１１４は、記憶部１１０に格納される。
単語辞書１１４は、単語および出現数の項目を含む。単語の項目には、メタデータから抽出された単語が登録される。出現数の項目には、メタデータ管理情報１１２に含まれる全てのメタデータにおける単語の出現数が登録される。
【０１０１】
例えば、単語辞書１１４には、単語が“肺がん”、出現数が“２２”という情報が登録される。これは、単語“肺がん”が、メタデータ管理情報１１２に含まれる全てのメタデータにおいて“２２”回出現することを示す。
【０１０２】
図１１は、特徴ベクトル管理情報の例を示す図である。特徴ベクトル管理情報１１５は、各メタデータから作成した特徴ベクトルを管理する情報である。特徴ベクトル管理情報１１５は、記憶部１１０に格納される。
【０１０３】
特徴ベクトル管理情報１１５は、メタデータＩＤおよび特徴ベクトルの項目を含む。メタデータＩＤの項目には、特徴ベクトルの算出に用いられたメタデータの識別情報（メタデータＩＤ）が登録される。特徴ベクトルの項目には、当該メタデータに対応する特徴ベクトルが登録される。
【０１０４】
例えば、特徴ベクトルの要素に対応する単語が（がん，抗がん剤，放射線，手術，ＣＴ，入院，退院，通院，・・・）であるものとする。特徴ベクトル管理情報１１５には、メタデータＩＤが“Ｄ０１”、特徴ベクトルが“（１，３，１，０，０，１，１，０，・・・）”という情報が登録される。これは、メタデータＩＤ“Ｄ０１”で示されるメタデータにおいて“がん”が“１”回、“抗がん剤”が“３”回、“放射線”が“１”回、“手術”が“０”回、“ＣＴ”が“０”回、“入院”が“１”回、“退院”が“１”回、“通院”が“０”回、・・・（以下略）出現することを示す。
【０１０５】
図１２は、クラスタ管理情報の例を示す図である。クラスタ管理情報１１６は、クラスタＩＤと、クラスタに対応する特徴空間上の重心位置ベクトルとが対応付けられた情報である。クラスタ管理情報１１６は、記憶部１１０に格納される。クラスタ管理情報１１６は、クラスタＩＤおよび重心位置ベクトルの項目を含む。
【０１０６】
クラスタＩＤの項目には、クラスタの識別情報（クラスタＩＤ）が登録される。重心位置ベクトルの項目には、クラスタの特徴空間上の重心位置ベクトル（座標）が登録される。
【０１０７】
例えば、クラスタ管理情報１１６には、クラスタＩＤが“Ｃ０１”、重心位置ベクトルが“（０，１，２，０，１，２，３，０，・・・）”という情報が登録される。これは、クラスタＩＤ“Ｃ０１”で示されるクラスタに対応する重心位置ベクトルが“（０，１，２，０，１，２，３，０，・・・）”であることを示す。
【０１０８】
図１３は、ファイル位置情報の例を示す図である。ファイル位置情報１１７は、ファイルセットを分類したクラスタおよび該当のクラスタに属するファイルセットを格納したテープ媒体を管理するための情報である。ファイル位置情報１１７は、記憶部１１０に格納される。
【０１０９】
ファイル位置情報１１７は、ファイルセットＩＤ、クラスタＩＤおよび媒体ＩＤの項目を含む。ファイルセットＩＤの項目には、ファイルセットを識別するための識別情報（ファイルセットＩＤ）が登録される。クラスタＩＤの項目には、ファイルセットの分類先のクラスタの識別情報（クラスタＩＤ）が登録される。媒体ＩＤの項目には、該当のクラスタに属するファイルセットを記憶するテープ媒体の識別情報（媒体ＩＤ）が登録される。
【０１１０】
例えば、ファイル位置情報１１７には、ファイルセットＩＤが“Ｆ０１”、クラスタＩＤが“Ｃ０１”、媒体ＩＤが“ＭＴ０１”という情報が登録される。これは、ファイルセットＩＤ“Ｆ０１”で示されるファイルセットが、クラスタＩＤ“Ｃ０１”に分類され、媒体ＩＤ“ＭＴ０１”で識別されるテープ媒体に格納されていることを示す。
【０１１１】
次に、サーバ１００によるファイルセットの分類およびファイルセットの格納の手順を説明する。
図１４は、ファイルセット分類格納処理の例を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。ステップＳ１１の処理は、クラスタ管理情報１１６が作成されていない段階において、新たにファイルセットおよびメタデータの入力を受け付けるたびに実行される。
【０１１２】
（Ｓ１１）制御部１２０は、記憶部１１０にファイルセットが一定数以上（例えば、ファイルセット数が１００以上）蓄積したか否かを判定する。制御部１２０は、ファイルセットが一定数以上蓄積した場合、ステップＳ１２に処理を進める。制御部１２０は、ファイルセットが一定数以上蓄積していない場合、ステップＳ１１に処理を進めて、ファイルセットが一定数以上になるまで記憶部１１０に蓄積されたファイルセット数をチェックする。
【０１１３】
（Ｓ１２）制御部１２０は、蓄積されたファイルセットをクラスタに分類する処理（分類処理）を行う。分類処理は、記憶部１１０に蓄積されたファイルセットをクラスタ毎に分類する処理である。クラスタ分類処理は、後で図１５を用いて説明する。
【０１１４】
（Ｓ１３）制御部１２０は、分類処理で分類したファイルセットについて、何れのテープ媒体に格納したかを示す情報をファイル位置情報１１７に登録する。具体的には、制御部１２０は、分類したファイルセットのファイルセットＩＤとクラスタＩＤとをファイル位置情報１１７に記憶する。また、制御部１２０は、クラスタＩＤに対応するテープ媒体の媒体ＩＤをファイル位置情報１１７に登録する。
【０１１５】
（Ｓ１４）制御部１２０は、分類処理で分類したファイルセットをクラスタ毎に、クラスタに対応するテープ媒体に格納する指示をライブラリ装置２００に出力する。ライブラリ装置２００は、分類したファイルセットをクラスタ毎のテープ媒体に格納する。
【０１１６】
図１５は、分類処理の例を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１４のステップＳ１２に相当する。
（Ｓ２１）制御部１２０は、蓄積したファイルセットに対応するメタデータ群を記憶部１１０から取得し、メタデータ管理情報１１２に格納する。
【０１１７】
（Ｓ２２）制御部１２０は、蓄積したファイルセットに対応するメタデータ群に形態素解析を実行する。具体的には、制御部１２０は、メタデータ管理情報１１２に格納されたメタデータそれぞれに形態素解析を実行する。制御部１２０は、形態素解析により、各メタデータから名詞に相当する単語を抽出する。このとき、制御部１２０は、専門用語辞書１１３を用いて、専門用語に相当する単語も各メタデータから抽出する。
【０１１８】
（Ｓ２３）制御部１２０は、抽出された単語の絞り込みを行う。具体的には、制御部１２０は、記憶部１１０に予め記憶されたフィルタ辞書を用いて、形態素解析の結果として得られた単語から不要な単語を取り除く。フィルタ辞書には、システム管理者などがファイルセットを分析する際に不要とされる単語が予め登録される。
【０１１９】
（Ｓ２４）制御部１２０は、フィルタ辞書により絞り込まれた後の単語それぞれについて、メタデータ群における出現数を計数する。
（Ｓ２５）制御部１２０は、単語辞書１１４を作成する。具体的には、制御部１２０は、フィルタ辞書により絞り込まれた後の単語とステップＳ２４で計数した出現数とを単語辞書１１４に登録する。
【０１２０】
（Ｓ２６）制御部１２０は、メタデータ管理情報１１２に格納された各メタデータについて、特徴ベクトルを作成する。具体的には、制御部１２０は、単語辞書１１４に登録された単語に基づき特徴ベクトルの要素を決定し、それぞれのメタデータについて特徴ベクトルの要素となる単語の出現回数を計数し、特徴ベクトルを作成する。制御部１２０は、作成した特徴ベクトルとメタデータＩＤとを特徴ベクトル管理情報１１５に登録する。
【０１２１】
なお、制御部１２０は、単語辞書１１４に基づき出現回数の多い単語から上位８位の単語を特徴ベクトルの要素として決定することができる。また、制御部１２０は、単語辞書１１４に含まれる単語を選択する指示をシステム管理者から受け付け、特徴ベクトルの要素として決定することもできる。
【０１２２】
（Ｓ２７）制御部１２０は、特徴ベクトル群をＫ−ｍｅａｎｓ法で分類する。なお、特徴ベクトル群をＫ−ｍｅａｎｓ法で分類するに際し、分類するクラスタ数は、例えば、テープ媒体数をドライブ数で割った値の小数点以下を切り上げた整数となる。より具体的には、テープ媒体数が「７００」であり、ドライブ数が「２０」である場合、クラスタ数は「３５」となる。
【０１２３】
（Ｓ２８）制御部１２０は、ステップＳ２７で分類した結果に基づき、蓄積した各ファイルセットの分類先のクラスタを決定する。具体的には、制御部１２０は、メタデータが分類されたクラスタを、当該メタデータに対応するファイルセットを分類するクラスタとして決定する。例えば、制御部１２０は、ファイルセットＩＤ「Ｆ０１」に対応するメタデータがクラスタＩＤ「Ｃ０１」のクラスタに分類された場合、ファイルセットＩＤ「Ｆ０１」で示されるファイルセットをクラスタＩＤ「Ｃ０１」のクラスタに分類する。制御部１２０は、Ｋ−ｍｅａｎｓ法により決定された各クラスタの重心位置ベクトルを、クラスタ管理情報１１６に登録する。そして、制御部１２０は、分類処理を終了する。
【０１２４】
こうして、各ファイルセットが、クラスタに分類されて、クラスタに対応するテープ媒体に格納（アーカイブ）される。
次に、上記の手順によりクラスタ管理情報１１６が作成された後に、サーバ１００が新たに追加されたファイルセットをアーカイブする際の手順を説明する。
【０１２５】
図１６は、ファイルセット追加処理の例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
（Ｓ３１）制御部１２０は、アーカイブ対象の新たなファイルセットとメタデータとの入力を受け付ける。
【０１２６】
（Ｓ３２）制御部１２０は、クラスタに対するファイルセットの加入処理を行う。加入処理は、追加されたファイルセットをクラスタに分類する（ファイルセットをクラスタに加入させる）処理である。加入処理は、後で図１７を用いて説明する。
【０１２７】
（Ｓ３３）制御部１２０は、加入処理で分類したファイルセットについて、何れのテープ媒体に格納したかを示す情報をファイル位置情報１１７に記憶する。具体的には、制御部１２０は、分類したファイルセットのファイルセットＩＤとクラスタＩＤとをファイル位置情報１１７に記憶する。また、制御部１２０は、クラスタＩＤに対応するテープ媒体の媒体ＩＤをファイル位置情報１１７に登録する。
【０１２８】
（Ｓ３４）制御部１２０は、分類処理で分類したファイルセットの分類先のクラスタに対応するテープ媒体に、当該ファイルセットを格納する指示をライブラリ装置２００に出力する。ライブラリ装置２００は、分類したファイルセットを該当のテープ媒体に格納する。
【０１２９】
なお、制御部１２０は、アーカイブ対象の新たなファイルセットとメタデータとを受け付けるたびにファイルセット追加処理を実行してもよい。あるいは、制御部１２０は、所定数の新たなファイルセットとメタデータとを受け付けてから、１つのファイルセット毎にファイルセット追加処理を実行してもよい。
【０１３０】
図１７は、加入処理の例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１６のステップＳ３２に相当する。
（Ｓ４１）制御部１２０は、記憶部１１０から追加されたファイルセットに対応するメタデータを取得し、メタデータ管理情報１１２に格納する。
【０１３１】
（Ｓ４２）制御部１２０は、追加ファイルセットに対応するメタデータに形態素解析を実行する。具体的には、制御部１２０は、ステップＳ４１でメタデータ管理情報１１２に格納されたメタデータに形態素解析を実行する。形態素解析は、ステップＳ２２と同様であるため説明を省略する。
【０１３２】
（Ｓ４３）制御部１２０は、ステップＳ４２における形態素解析の結果に対して、フィルタ辞書による単語の絞り込みを行う。フィルタ辞書による単語の絞り込みは、ステップＳ２３と同様であるため説明を省略する。
【０１３３】
（Ｓ４４）制御部１２０は、ステップＳ４１においてメタデータ管理情報１１２に格納したメタデータについて、特徴ベクトルを作成する。特徴ベクトルの作成は、ステップＳ２６と同様であるため説明を省略する。
【０１３４】
（Ｓ４５）制御部１２０は、クラスタ管理情報１１６を参照して、特徴ベクトルをクラスタに分類する。具体的には、制御部１２０は、当該特徴ベクトルに対して特徴空間上の距離が最も近い重心位置ベクトルに対応するクラスタＩＤのクラスタを、当該特徴ベクトルの分類先とする。
【０１３５】
（Ｓ４６）制御部１２０は、ステップＳ４５で分類した結果に基づき、追加されたファイルセットを分類するクラスタを決定する。具体的には、制御部１２０は、ステップＳ４５で特徴ベクトルの分類先としたクラスタを、追加されたファイルセットの分類先とする。
【０１３６】
なお、制御部１２０は、ファイルセットの追加に伴いメタデータ毎の特徴ベクトルが所定数蓄積された場合、追加された各ファイルセットのクラスタ分類を再度決定してもよい。制御部１２０は、クラスタ分類を再度決定する場合、単語辞書１１４を変更せずに追加された各ファイルセットのクラスタ分類を行ってもよい。また、制御部１２０は、単語辞書１１４を再度作成して、追加された各ファイルセットのクラスタ分類を行ってもよい。
【０１３７】
次に、サーバ１００によるファイルセット検索の手順を説明する。
図１８は、ファイルセット検索処理の例を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。以下に示す手順は、サーバ１００がクライアント３００から検索文章（検索キー）を受け付けた場合に実行される。
【０１３８】
（Ｓ５１）制御部１２０は、クライアント３００から検索文章を受け付ける。
（Ｓ５２）制御部１２０は、クラスタ検索処理を行う。クラスタ検索処理は、クライアント３００からの検索を受け付け、テープ媒体に格納されたクラスタを検索する処理である。クラスタ検索処理は、後で図１９を用いて説明する。
【０１３９】
（Ｓ５３）制御部１２０は、クラスタ検索処理の結果から、検索文章に該当するクラスタが記憶されたテープ媒体をドライブ２０７にマウントする指示をライブラリ装置２００に出力する。すなわち、制御部１２０は、検索文章の属するクラスタに対応するテープ媒体を、ライブラリ装置２００を用いて、当該テープ媒体に対するアクセスに用いられるドライブ２０７に移動させる。
【０１４０】
（Ｓ５４）制御部１２０は、検索文章に該当するクラスタおよびクラスタに含まれるファイルセットの一覧をクライアント３００に送信する。クライアント３００は、クラスタおよびクラスタに含まれるファイルセットの一覧を受け付け、ファイルセットＩＤなどをディスプレイに表示する。なお、クライアント３００における検索画面の例は、後で図２０を用いて説明する。
【０１４１】
図１９は、クラスタ検索処理の例を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１８のステップＳ５２に相当する。
【０１４２】
（Ｓ６１）制御部１２０は、クライアント３００から受け付けた検索文章に形態素解析を実行する。形態素解析は、検索文章から名詞に相当する単語を抽出する処理である。本ステップにおいて、形態素解析を実行する対象が検索文章であるが、その他はステップＳ２２と同様であるため説明を省略する。
【０１４３】
（Ｓ６２）制御部１２０は、ステップＳ６１における形態素解析の結果に対して、フィルタ辞書による単語の絞り込みを行う。フィルタ辞書による単語の絞り込みは、ステップＳ２３と同様であるため説明を省略する。
【０１４４】
（Ｓ６３）制御部１２０は、検索文章の特徴ベクトルを作成する。具体的には、制御部１２０は、ステップＳ２６で決定した特徴ベクトルの要素となる各単語について、検索文章における各単語の出現回数を計数し、特徴ベクトルを作成する。
【０１４５】
（Ｓ６４）制御部１２０は、クラスタ管理情報１１６を参照して、特徴ベクトルをクラスタに分類する。具体的には、制御部１２０は、当該特徴ベクトルに対して特徴空間上の距離が最も近い重心位置ベクトルに対応するクラスタＩＤのクラスタを、当該特徴ベクトルの分類先とする。
【０１４６】
（Ｓ６５）制御部１２０は、ステップＳ６４で分類した結果に基づき、検索文章に該当するクラスタを決定する。具体的には、制御部１２０は、ステップＳ６４で特徴ベクトルの分類先としたクラスタを、検索文章の分類先とする。
【０１４７】
次に、クライアント３００に接続されたディスプレイに表示される検索画面の具体例を説明する。
図２０は、検索画面の例を示す図である。検索画面５０１は、クライアント３００に接続されたディスプレイに表示される画面の一例である。検索画面５０１は、検索文章入力欄と、検索実行指示ボタンと、検索結果表示欄と、クラスタ内メタデータ一覧表示指示ボタンと、キーワード絞込指示ボタンとを含む。
【０１４８】
ユーザは、検索文章入力欄に検索文章を入力し、検索実行指示ボタンを押下する。クライアント３００は、ユーザからの入力を受け付け、入力された検索文章をサーバ１００に送信する。クライアント３００は、サーバ１００から検索結果としてクラスタおよびクラスタに含まれるファイルセットの一覧を受信し、検索結果表示欄に表示する。
【０１４９】
ユーザは、検索結果表示欄に表示されたクラスタおよびファイルセットの一覧を目視で確認できる。ユーザは、クラスタ内のメタデータの表示を希望する場合、クラスタ内メタデータ一覧表示指示ボタンを押下することで、メタデータの一覧をディスプレイに表示し目視で確認できる。クライアント３００は、クラスタ内メタデータ一覧表示指示ボタンの押下を受け付けた場合、ディスプレイに表示されたクラスタに含まれるメタデータの送信をサーバ１００に要求し、サーバ１００からメタデータ一覧を受信できる。
【０１５０】
また、ユーザは、キーワード絞込指示ボタンを押下し、キーワードを入力することで、検索結果として表示された内容をさらに絞り込んだ結果をディスプレイに表示し目視で確認できる。クライアント３００は、キーワード絞込指示ボタンの押下を受け付けた場合、サーバ１００に入力されたキーワードを送信し、検索対象となるファイルセットを絞り込んだ結果をサーバ１００から受信できる。なお、サーバ１００は、検索文章およびキーワードを対象にしてクラスタ検索処理を実行し、クラスタ検索処理の結果をクライアント３００に送信することが可能である。
【０１５１】
次に、クラスタ数を決定する方法についてクラスタとドライブとの関係を用いて説明する。
図２１は、クラスタとドライブとの関係の例を示す図である。例えば、１つのクラスタに分類されるファイルセットを格納する複数のテープ媒体を予め用意（プール）しておいてもよい。図２１に示すライブラリ装置２００は、２０台のドライブ２０７ａ，…，２０７ｔと、７００個のテープ媒体ＭＴ１，…，ＭＴ７００とを含むものとする。ライブラリ装置２００は、サーバ１００を介してクライアント３００からのアクセス要求を受け、該当するクラスタに分類されたファイルセットが格納されているテープ媒体をドライブにマウントする。ライブラリ装置２００は、１台のドライブに１つのテープ媒体をマウントできる。言い換えると、ライブラリ装置２００のドライブにマウントされたテープ媒体の数は、同時に高速に読み出せるファイルセット数でもある。つまり、ドライブ数は、同時に高速に読み出せるファイルセットの数であるため、ドライブ数を１つのクラスタとして扱う単位にできる。ここで、１つのクラスタとして扱う単位はドライブ数「２０」であり、テープ媒体数は「７００」であるため、クラスタ数の最高値は、テープ媒体数をドライブ数（一度に処理できるテープ媒体の数）で割った値の小数点以下を切り上げた整数「３５」となる。
【０１５２】
クラスタ数は、最高値を上限とする２以上の数に設定することができる。例えば、制御部１２０は、運用に応じた任意のクラスタ数のユーザによる入力を受け付けることで、クラスタ数をユーザにより指定されたクラスタ数としてもよい。あるいは、制御部１２０は、上記のように、ｉｎｔ｛（テープ媒体数）／（一度に処理できるテープ媒体の数）｝の演算によってクラスタ数を求めてもよい。
【０１５３】
ライブラリ装置２００が有するドライブ数が複数である場合、同時にマウントできるテープ媒体数とドライブ数とは同一である。このため、ドライブ数と同一数のテープ媒体をグループとし、同一クラスタに所属するファイルセットを同一グループのテープ媒体に格納する。ライブラリ装置２００は、同一グループのテープ媒体を複数のドライブにマウントすることで、同一グループのテープ媒体それぞれから同時にファイルセットを読み出すことができ、ファイルの読み出しを高速化できる。例えば、ライブラリ装置２００は、テープ媒体ＭＴ１，…，ＭＴ２０までを第１グループとし、第１クラスタに分類されたファイルセットを格納する。また、ライブラリ装置２００は、テープ媒体ＭＴ２１，…，ＭＴ４０までを第２グループとし、第２クラスタに分類されたファイルセットを格納する。同様にして、ライブラリ装置２００は、テープ媒体ＭＴ６８１，…，ＭＴ７００までを第３５グループとし、第３５クラスタに分類されたファイルセットを格納できる。ライブラリ装置２００は、同一クラスタに分類されたファイルセットを同一のグループに所属するテープ媒体に順番に格納する。例えば、ライブラリ装置２００は、第１クラスタについて、テープ媒体ＭＴ１に第１クラスタに分類されたファイルセットを格納しテープ媒体ＭＴ１の容量が一杯になった場合、次のテープ媒体ＭＴ２にファイルセットを格納する。
【０１５４】
このように、ドライブ数が複数である場合、サーバ１００は、ドライブ数と同数のテープ媒体をグループとして扱い、同一グループのテープ媒体に同一クラスタに所属するファイルを格納する指示をライブラリ装置２００に出す。サーバ１００は、同一クラスタに所属する類似するファイルセットが異なるグループのテープ媒体に格納されることを防ぐ。サーバ１００は、ファイルセットを読み出す要求を受け付けた際に、要求されたファイルセットが所属するクラスタが格納されたテープ媒体と、当該テープ媒体と同一のグループに所属するテープ媒体とをドライブに移動させる。これにより、サーバ１００は、他のグループに所属するテープ媒体の移動に伴う処理を回避し、ファイルセットの読み出しを高速化できる。
【０１５５】
また、ドライブ数が単数である場合、サーバ１００は、１つのテープ媒体に同一クラスタに所属するファイルセットを格納する指示をライブラリ装置２００に出す。これにより、サーバ１００は、類似するファイルセットにアクセスする際に、テープ媒体をドライブに移動させる処理を低減させてファイルセットの読み出しを高速化できる。
【０１５６】
サーバ１００は、ファイルセットを類似する内容毎にクラスタに分類し、分類毎に同一グループのテープ媒体に格納する。これにより、サーバ１００は、ファイルセットをテープ媒体から読み出す際に、他のグループのテープ媒体をドライブへ移動する処理を回避できるため、テープ媒体からの読み出し時間を減らすことができる。
【０１５７】
こうして、サーバ１００は、ファイルセットを類似する内容毎にクラスタに分類し、ファイルセットをクラスタ毎にテープ媒体に格納することで、類似するファイルセットの読み出しを高速化できる。
【０１５８】
［第３の実施の形態］
次に第３の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１５９】
ここで、第３の実施の形態の情報処理システムにおけるハードウェアおよび機能は、図２〜図５で例示した第２の実施の形態の情報処理システムにおけるハードウェアおよび機能と同様である。このため、第３の実施の形態では、第２の実施の形態と同様の名称および符号により、各ハードウェアや機能を示す。
【０１６０】
第２の実施の形態では、サーバ１００は、当初決定したクラスタ管理情報１１６に基づいて、ファイルセットの所属先のクラスタを決定する。これにより、新たなファイルセットが当該クラスタに追加される。クラスタへの新たなファイルセットの追加により、当該クラスタの当初の重心と、当該クラスタに現在所属するファイルセット（新たに追加されたファイルセットを含む）の特徴ベクトルによる重心との間には差δが生じる。差δが比較的小さい場合、クラスタへのファイルセットの分類先の決定精度は維持されていると考えられる。一方、差δが比較的大きい場合、クラスタへのファイルセットの分類先の決定精度は低下していると考えられる。そこで、第３の実施の形態では、サーバ１００は、分類先の決定精度の低下を検出して、クラスタを再構築する機能を提供する。
【０１６１】
図２２は、第３の実施の形態の異常値の例を示す図である。ファイルセットの特徴ベクトルは、ｎ（ｎは２以上の整数）次元の特徴空間におけるベクトルである。特徴空間における２つの点の間の距離はユークリッド距離で表される。特徴空間７００は、一例として２次元の特徴空間を示している。特徴空間７００のＸ軸はメタデータにおける単語ｘの出現回数である。特徴空間７００のＹ軸はメタデータにおける単語ｙの出現回数である。
【０１６２】
点Ｐ０は、分類処理により当初決定された、あるクラスタの重心の座標である。当該クラスタには、複数のファイルセットが属する。点Ｐ１は、当該複数のファイルセットに属する１つのファイルセットの特徴ベクトルに対応する点である。点Ｐ１は、当該クラスタに当初分類されたファイルセットに対応する点のうち、点Ｐ０との距離が最大の点である。点Ｐ０と点Ｐ１との間の距離はＤである。円Ｑ０は、点Ｐ０を中心とする半径Ｄの円である。
【０１６３】
前述のように、新たなファイルセットが点Ｐ０に対応するクラスタに追加されると、当該クラスタに属する全ファイルセットを考慮した重心は、点Ｐ０からずれる。ここで、点Ｐ２は、新たなファイルセットの特徴ベクトルで示される点である。ずれの大きさ（すなわち、差δ）は、点Ｐ２と分類先のクラスタに対応する点Ｐ０（当初の重心）との距離が長いほど大きい。そこで、制御部１２０は、該当のクラスタに新たに追加したファイルセットの特徴ベクトルに対応する点（例えば、点Ｐ２）と、点Ｐ０との距離ｄが距離Ｄ（閾値Ｄ）よりも大きい場合に、距離ｄを異常値として検出する。なお、距離ｄが距離Ｄ（閾値Ｄ）以下であれば、制御部１２０は、距離ｄを異常値として検出しない（すなわち、距離ｄを正常値とする）。
【０１６４】
図２３は、異常値の検出例を示す図である。例えば、特徴空間７００において、３つのクラスタに対応する点のグループがある場合を考える。
点Ｐ１１は、第１のクラスタについて当初決定された重心である。距離Ｄ１は、第１のクラスタに当初分類されたファイルセットに対応する点と、点Ｐ１１との距離の最大値である。円Ｑ１は、点Ｐ１１を中心とする半径Ｄ１の円である。
【０１６５】
また、点Ｐ１２は、第２のクラスタについて当初決定された重心である。距離Ｄ２は、第２のクラスタに当初分類されたファイルセットに対応する点と、点Ｐ１２との距離の最大値である。円Ｑ２は、点Ｐ１２を中心とする半径Ｄ２の円である。
【０１６６】
更に、点Ｐ１３は、第３のクラスタについて当初決定された重心である。距離Ｄ３は、第３のクラスタに当初分類されたファイルセットに対応する点と、点Ｐ１３との距離の最大値である。円Ｑ３は、点Ｐ１３を中心とする半径Ｄ３の円である。
【０１６７】
ここで、制御部１２０による異常値の検出のカウント方法を説明する。異常値の検出を計数するカウンタを、異常値検出カウンタと称する。異常値検出カウンタは、記憶部１１１０に格納される。制御部１２０は、分類処理を終了すると、異常値検出カウンタのカウント数を０（初期値）に設定する。
【０１６８】
その後、制御部１２０は、点Ｐ２１に対応するファイルセットを、第１のクラスタに新たに追加する。点Ｐ１１と点Ｐ２１との距離ｄ１は、距離Ｄ１よりも長い。したがって、制御部１２０は、距離ｄ１を異常値として検出する。この場合、制御部１２０は、異常値検出カウンタのカウント数に１を加算する。異常値検出カウンタの値は１になる。
【０１６９】
更にその後、制御部１２０は、点Ｐ２２に対応するファイルセットを、第２のクラスタに新たに追加する。点Ｐ１２と点Ｐ２２との距離ｄ２は、距離Ｄ２よりも長い、したがって、制御部１２０は、距離ｄ２を異常値として検出する。この場合、制御部１２０は、異常値検出カウンタのカウント数に１を加算する。異常値検出カウンタの値は２になる。
【０１７０】
このように、制御部１２０は、異常値の検出数をカウントし、カウントされた検出数が閾値を超過すると、クラスタを再構築する。
なお、制御部１２０は、異常値検出カウンタを、クラスタ毎に設けてもよい。そして、クラスタ毎の異常値検出カウンタのうちの何れかの検出数が閾値を超過した場合に、制御部１２０は、クラスタを再構築してもよい。
【０１７１】
次に、クラスタの再構築に用いられる情報の例を説明する。
図２４は、他のファイル位置情報の例を示す図である。ファイル位置情報１１８は、ファイルセットと再構築後のクラスタと当該クラスタに対応するテープ媒体との対応関係を示す。ファイル位置情報１１８は、記憶部１１０に格納される。
【０１７２】
ファイル位置情報１１８は、ファイルセットＩＤ、クラスタＩＤおよび媒体ＩＤの項目を含む。各項目に設定される情報は、第２の実施の形態のファイル位置情報１１７と同様である。例えば、ファイル位置情報１１８には、ファイルセットＩＤが“Ｆ０１”、クラスタＩＤが“Ｄ０１”、媒体ＩＤが“ＭＴ２１”という情報が登録される。これは、ファイルセットＩＤ“Ｆ０１”で示されるファイルセットが、再構築後のクラスタＩＤ“Ｄ０１”に分類され、媒体ＩＤ“ＭＴ２１”で識別されるテープ媒体に格納されることを示す。
【０１７３】
図２５は、変更管理情報の例を示す図である。変更管理情報１１９は、ファイル位置情報１１７，１１８の各レコードをファイルセットＩＤにより結合して、ファイルセットＩＤ、旧クラスタＩＤおよび新クラスタＩＤの列を抽出したものである。ここで、旧クラスタＩＤは、ファイル位置情報１１７におけるクラスタＩＤを示す。また、新クラスタＩＤは、ファイル位置情報１１８におけるクラスタＩＤを示す。
【０１７４】
例えば、変更管理情報１１９には、ファイルセットＩＤが“Ｆ０１”、旧クラスタＩＤが“Ｃ０１”、新クラスタＩＤが“Ｄ０１”という情報が登録される。これは、ファイルセットＩＤ“Ｆ０１”で示されるファイルセットの分類を、旧クラスタＩＤ“Ｃ０１”から、新クラスタＩＤ“Ｄ０１”に変更することを示す。制御部１２０は、変更管理情報１１９に基づいて、各ファイルセットについて、再構築前のクラスタと、再構築後のクラスタとを特定する。制御部１２０は、特定したクラスタと媒体ＩＤとの対応関係を、ファイル位置情報１１７，１１８から特定可能である。
【０１７５】
なお、変更管理情報１１９は、旧クラスタＩＤに対応する媒体ＩＤと新クラスタＩＤに対応する媒体ＩＤとを含んでもよい（制御部１２０は、変更管理情報１１９から各クラスタＩＤに対応する媒体ＩＤを特定可能にできる）。
【０１７６】
次に、サーバ１００の処理手順を説明する。ここで、第３の実施の形態では、図１４〜図１９で説明した処理のうち、図１６のファイルセット追加処理の手順が異なる。それ以外の処理の手順は、第２の実施の形態と同様であるため、説明を省略する。
【０１７７】
図２６は、ファイルセット追加処理の他の例を示すフローチャートである。以下、図２６に示す処理をステップ番号に沿って説明する。
（Ｓ７１）制御部１２０は、アーカイブ対象の新たなファイルセットとメタデータとの入力を受け付ける。
【０１７８】
（Ｓ７２）制御部１２０は、クラスタに対するファイルセットの加入処理を行う。加入処理は、追加されたファイルセットをクラスタに分類する（ファイルセットをクラスタに加入させる）処理である。加入処理は、図１７の手順により実行される。
【０１７９】
（Ｓ７３）制御部１２０は、今回追加されたファイルセットのうち、当該ファイルセットの特徴ベクトルで示される点と所属先のクラスタの重心との距離が異常値となるファイルセットがあるか否かを判定する。制御部１２０は、異常値となるファイルセットがある場合、ステップＳ７４に処理を進める。制御部１２０は、異常値となるファイルセットがない場合、ステップＳ７７に処理を進める。異常値となるか否かの判定には、図２２で説明した方法を用いることができる。
【０１８０】
（Ｓ７４）制御部１２０は、異常値検出カウンタをカウントアップする。制御部１２０は、今回の加入処理で異常値が検出されたファイルセットの数の分だけ、異常値検出カウンタをカウントアップする。例えば、１つのファイルセットに関して異常値が検出された場合、異常値検出カウンタを１だけカウントアップする。あるいは、２つのファイルセットに関して異常値が検出された場合、異常値検出カウンタを２だけカウントアップする。
【０１８１】
（Ｓ７５）制御部１２０は、異常値検出カウンタが閾値より大きいか否かを判定する。制御部１２０は、異常値検出カウンタが閾値より大きい場合、ステップＳ７６に処理を進める。制御部１２０は、異常値検出カウンタが閾値以下の場合、ステップＳ７７に処理を進める。
【０１８２】
（Ｓ７６）制御部１２０は、再構築フラグをＴｒｕｅに設定する。再構築フラグは、制御部１２０により用いられる制御用のフラグである。再構築フラグは、クラスタの再構築を行うか否かの制御に用いられる。再構築フラグは、記憶部１１０に予め格納される。再構築フラグの初期値は、ｆａｌｓｅである。
【０１８３】
（Ｓ７７）制御部１２０は、加入処理で分類したファイルセットについて、何れのテープ媒体に格納したかを示す情報をファイル位置情報１１７に記憶する。具体的には、制御部１２０は、分類したファイルセットのファイルセットＩＤとクラスタＩＤとをファイル位置情報１１７に記憶する。また、制御部１２０は、クラスタＩＤに対応するテープ媒体の媒体ＩＤをファイル位置情報１１７に登録する。
【０１８４】
（Ｓ７８）制御部１２０は、分類処理で分類したファイルセットの分類先のクラスタに対応するテープ媒体に、当該ファイルセットを格納する指示をライブラリ装置２００に出力する。ライブラリ装置２００は、分類したファイルセットを該当のテープ媒体に格納する。そして、制御部１２０は、ファイルセット追加処理を終了する。
【０１８５】
なお、ステップＳ７３〜Ｓ７６は、ステップＳ７８の後に実行されてもよい。
第３の実施の形態では、サーバ１００は、再構築フラグに応じた分類再構築処理を更に実行する。分類再構築処理は、ファイルセットへのアクセスが発生しない所定の時間帯（例えば、夜間や休日など）に定期的に実行される。例えば、分類再構築処理は、所定の時刻に開始されるようにサーバ１００に対して予めスケジューリングされてもよい。
【０１８６】
図２７は、分類再構築処理の例を示すフローチャートである。以下、図２７に示す処理をステップ番号に沿って説明する。
（Ｓ８１）制御部１２０は、再構築フラグがＴｒｕｅであるか否かを判定する。制御部１２０は、再構築フラグがＴｒｕｅの場合、ステップＳ８２に処理を進める。制御部１２０は、再構築フラグがＦａｌｓｅの場合、分類再構築処理を終了する。
【０１８７】
（Ｓ８２）制御部１２０は、蓄積されたファイルセットをクラスタに分類する処理（分類処理）を行う。制御部１２０は、現在までに各テープ媒体に書き込まれた各ファイルセットのクラスタへの分類をやり直す。これにより、当初のファイルセットと、当初から現在までの運用で追加されたファイルセットとを考慮して、各ファイルセットが新たなクラスタに分類されることになる。制御部１２０は、分類処理により、新たなクラスタに対するクラスタ管理情報（クラスタ管理情報１１６に相当する情報）を生成し、記憶部１１０に格納する。
【０１８８】
（Ｓ８３）制御部１２０は、分類処理で分類したファイルセットについて、格納先のテープ媒体を示す情報をファイル位置情報１１８に登録する。具体的には、制御部１２０は、分類したファイルセットのファイルセットＩＤと新たなクラスタＩＤとをファイル位置情報１１８に記憶する。また、制御部１２０は、クラスタＩＤに対応するテープ媒体の媒体ＩＤをファイル位置情報１１８に登録する。
【０１８９】
（Ｓ８４）制御部１２０は、ファイル位置情報１１７，１１８に基づいて、テープ媒体間でファイルセットを複製する。具体的には、制御部１２０は、ファイル位置情報１１７，１１８に基づいて、変更管理情報１１９を生成する。制御部１２０は、変更管理情報１１９に基づいて、各ファイルセットの旧クラスタと新クラスタとを特定する。また、制御部１２０は、ファイル位置情報１１７，１１８に基づいて、旧クラスタのテープ媒体および新クラスタのテープ媒体を特定する。そして、制御部１２０は、該当のファイルセットを、特定した旧クラスタのテープ媒体から、新クラスタのテープ媒体に複製する。具体的な複製の方法は後述される。これにより、ステップＳ８２で決定された分類先のクラスタに対応するテープ媒体に、各ファイルセットが格納される。
【０１９０】
（Ｓ８５）制御部１２０は、使用するファイル位置情報を、ファイル位置情報１１７からファイル位置情報１１８に変更する。その後、制御部１２０は、ファイル位置情報１１７を記憶部１１０から削除してもよい。
【０１９１】
（Ｓ８６）制御部１２０は、再構築フラグをＦａｌｓｅに設定する。また、制御部１２０は、異常値検出カウンタを０に設定する。そして、制御部１２０は、分類再構築処理を終了する。
【０１９２】
図２８は、ファイルセットの複製例を示す図である。図２８（Ａ）は、ライブラリ装置２００が１つのドライブ２０７を有する場合に、テープ媒体ＭＴ１（複製元）に格納されたファイルセットを、テープ媒体ＭＴ２１（複製先）に複製する方法を例示する。ここで、ストレージ６００は、サーバ１００の内部、または外部に接続された記憶装置である。
【０１９３】
まず、ライブラリ装置２００は、テープ媒体ＭＴ１をドライブ２０７に収納する（ＳＴ１１）。サーバ１００は、ドライブ２０７を用いて、テープ媒体ＭＴ１に書き込まれたファイルセットを読み出し、ストレージ６００に複製する（ＳＴ１２）。次に、ライブラリ装置２００は、ドライブ２０７から、テープ媒体ＭＴ１を取り出す（ＳＴ１３）。ライブラリ装置２００は、テープ媒体ＭＴ２１をドライブ２０７に収納する（ＳＴ１４）。サーバ１００は、ストレージ６００に格納されたファイルセットのテープ媒体ＭＴ２１への書き込みをライブラリ装置２００に指示する。ライブラリ装置２００は、ドライブ２０７を用いて、テープ媒体ＭＴ２１に、該当のファイルセットを書き込む（ＳＴ１４）。
【０１９４】
図２８（Ｂ）は、ライブラリ装置２００が２つのドライブ２０７，２０７ａを有する場合に、テープ媒体ＭＴ２（複製元）に格納されたファイルセットを、テープ媒体ＭＴ３１（複製先）に複製する方法を例示する。
【０１９５】
まず、ライブラリ装置２００は、テープ媒体ＭＴ２をドライブ２０７に収納する（ＳＴ２１）。ライブラリ装置２００は、テープ媒体ＭＴ２をドライブ２０７ａに収納する（ＳＴ２２）。ただし、ステップＳＴ２１，ＳＴ２２の順序は逆でもよいし、並行して行われてもよい。サーバ１００は、テープ媒体ＭＴ２に書き込まれたファイルセットをテープ媒体ＭＴ３１に複製するようライブラリ装置２００に指示する。ライブラリ装置２００は、ドライブ２０７によりテープ媒体ＭＴ２からファイルセットを読み出し、ドライブ２０７ａによりテープ媒体ＭＴ３１に当該ファイルセットを書き込む。
【０１９６】
このように、制御部１２０は、クラスタの重心と追加したファイルセットの特徴ベクトルに対応する点との距離が当該ファイルセットの属する分類に応じた所定値よりも大きい異常値であることを検出する。制御部１２０は、異常値の検出回数が所定回数を超えると、分類済の各ファイルセットの特徴量に基づいて、分類の情報（すなわち、クラスタ管理情報１１６）を再生成する。異常値の検出数が比較的多いと、クラスタの当初の重心の座標と、当該クラスタに現在所属する各ファイルセットの特徴ベクトルから計算される重心とのずれが大きい可能性が高いと推定される。このため、サーバ１００は、異常値の検出数が閾値を超えると、現在までに各テープ媒体に書き込まれたファイルセットのクラスタへの分類を再度行う。これにより、ファイルセットのクラスタへの分類精度の低下を抑えられる。
【０１９７】
［第４の実施の形態］
次に第４の実施の形態を説明する。前述の第２，第３の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１９８】
ここで、第４の実施の形態の情報処理システムにおけるハードウェアおよび機能は、図２〜図５で例示した第２の実施の形態の情報処理システムにおけるハードウェアおよび機能と同様である。このため、第４の実施の形態では、第２の実施の形態と同様の名称および符号により、各ハードウェアや機能を示す。
【０１９９】
第４の実施の形態では、ファイルセットの最終の更新時刻の情報を特徴ベクトルに追加する機能を提供する。
図２９は、第４の実施の形態の特徴空間の例を示す図である。特徴空間８００は、一例として、３次元の特徴空間を示している。特徴空間８００のＸ軸は、メタデータにおける単語ｘの出現回数である。特徴空間８００のＹ軸は、当該メタデータにおける単語ｙの出現回数である。特徴空間８００のＺ軸は、当該メタデータに対応するファイルセットの書き込み時刻である。ここで、書き込み時刻は、該当のファイルセットの最終の更新時刻（年月日時分秒）を示す。
【０２００】
ただし、時刻に関して、単語の出現回数とのレベルを合わせるために、制御部１２０は、次の式（１）によりファイルセットの書き込み時刻を正規化することで、時間情報Ｔｆを得る。
【０２０１】
【数１】
2018190393.tif 000003
【０２０２】
ここで、時刻Ｔｏｌｄｅｓｔは、扱うファイルセットの中で、「最も古い書き込み時刻」である。時刻Ｔｎｅｗｅｓｔは、扱うファイルセットの中で、「最も新しい書き込み時刻」である。なお、「扱うファイルセット」は、初めて、または、再度、クラスタ分類を行う場合には分類対象の全てのファイルセットである。また、「扱うファイルセット」は、クラスタに新たにファイルセットを追加する場合には、分類済のファイルセットおよび新たなファイルセットである。時刻Ｔは、分類対象の１つのファイルセットの書き込み時刻である。２つの時刻の差（時間差）は、例えば、秒の単位で表される。Ｃは、扱うファイルセットに対応する各メタデータの中で最も多く出現する文字（あるいは単語でもよい）の出現回数である。ｗは、時間情報に対する重みである。例えば、ｗの値は、記憶部１１０に予め登録される。
【０２０３】
制御部１２０は、式（１）で示されるように、対象のファイルセットの「書き込み時刻Ｔ」と扱うファイルセットの中で「最も古い書き込み時刻Ｔｏｌｄｅｓｔ」との第１の時間差を求める。制御部１２０は、扱うファイルセットの中で「最も新しい書き込み時刻Ｔｎｅｗｅｓｔ」と「最も古い書き込み時刻Ｔｏｌｄｅｓｔ」との第２の時間差で、第１の時間差を割ることで、時間の比率を得る。そして、制御部１２０は、当該比率に、全ての特徴ベクトルにおける「最大出現文字（または単語）の回数Ｃ」を掛け、他のベクトル値と合わせる。更に、制御部１２０は、その結果に、時間情報の重要度に応じた「重み量ｗ」を掛けて、時間情報Ｔｆを得る。時間情報Ｔｆは、特徴ベクトルに追加される特徴値である。
【０２０４】
制御部１２０は、ファイルセットに対して計算した時間情報Ｔｆを、該当のファイルセットの特徴ベクトルに追加する。そして、第２の実施の形態と同様の方法により、各クラスタに対応する重心の座標を求める。当該重心も、該当のクラスタに属するファイルセットの各書き込み時刻から計算された要素を含む。具体的には、図１２で例示したクラスタ管理情報１１６における各クラスタのベクトルに、書き込み時刻に対応する１つの要素が追加される。そして、制御部１２０は、図１５の分類処理、および、図１７の加入処理を、書き込み時刻に関する情報を含む特徴ベクトルを用いて実行する。
【０２０５】
このように、制御部１２０は、ファイルセットの特徴ベクトルに、当該ファイルセットの書き込み時刻の情報（特徴値）を追加してもよい。すなわち、制御部１２０は、ファイルセットの更新時刻と各ファイルセットのメタデータに出現する所定の文字（または単語）の出現回数とに基づいて、当該更新時刻に応じた特徴値を算出し、特徴ベクトルに特徴値を追加してもよい。
【０２０６】
すると、制御部１２０は、各ファイルセットの特徴ベクトルに基づいて、メタデータに含まれる単語の出現頻度および書き込み時刻が比較的近いファイルセット同士を同じクラスタに分類し、共通のテープ媒体に格納できる。例えば、書き込み時刻が比較的近いファイルセット同士が連続してアクセスされる頻度が高いことがある。サーバ１００は、このような場合に特徴ベクトルに書き込み時刻の情報を追加することで、分類の精度を高められる。その結果、関連性の強い複数のファイルセットが単一のテープ媒体に格納される可能性が高まり、該当のファイルセットの読み出しを高速化できる。
【０２０７】
また、制御部１２０は、図１９のクラスタ検索処理の際に、検索画面５０１（図２０）において、検索したいファイルセットの書き込み時刻の入力を受け付け可能としてもよい。クラスタ検索処理においても、入力された書き込み時刻を含めた特徴ベクトルを用いることで、クラスタの検索の精度を一層高めることができる。
【０２０８】
更に、制御部１２０は、当初、書き込み時刻を含まない特徴ベクトルにより運用を行い、ユーザによるファイルセットへのアクセス状況を監視し、当該アクセス状況に応じて、書き込み時刻の情報を特徴ベクトルに追加してもよい。具体的には、制御部１２０は、アクセス状況として、連続してアクセスされるファイルセットの書き込み時刻が属する時間幅が所定値よりも小さい場合に、書き込み時刻の情報を各ファイルセットの特徴ベクトルに追加し、クラスタを再構築することが考えられる。このように、制御部１２０は、ユーザのアクセス状況に応じて、適切な情報を特徴ベクトルに追加してもよい。こうして、ユーザのアクセス状況に応じて、ファイルセットに対するアクセスを一層高速化できる。
【０２０９】
なお、第２，第３，第４の実施の形態では、記録媒体としてテープ媒体を例示したが、他の種類の媒体でもよい。例えば、記録媒体は、Ｂｌｕ−ｒａｙ（登録商標）などの光ディスク媒体でもよい。ライブラリ装置２００は、光ディスク媒体を複数収納可能な装置でもよい。例えば、サーバ１００は、１つの光ディスク媒体に対して１つの分類（クラスタ）を割り当ててもよい。または、複数の光ディスク媒体が、スタッカと呼ばれるカートリッジに収納されることもある。この場合、サーバ１００は、１つのスタッカに１つの分類（クラスタ）を割り当ててもよい。
【０２１０】
また、第１の実施の形態の情報処理は、処理部１ｂにプログラムを実行させることで実現できる。また、第２，第３，第４の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１３に記録できる。
【０２１１】
例えば、プログラムを記録した記録媒体１３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１３に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０２１２】
１  情報処理装置
１ａ  記憶部
１ｂ  処理部
２  ストレージ装置
２ａ  シェルフ
２ｂ  ドライブ
２ｃ  ロボット
Ｍ１，Ｍ２  記憶媒体
Ｔ１  テーブル
【図１】
2018190393.tif 000004
【図２】
2018190393.tif 000005
【図３】
2018190393.tif 000006
【図４】
2018190393.tif 000007
【図５】
2018190393.tif 000008
【図６】
2018190393.tif 000009
【図７】
2018190393.tif 000010
【図８】
2018190393.tif 000011
【図９】
2018190393.tif 000012
【図１０】
2018190393.tif 000013
【図１１】
2018190393.tif 000014
【図１２】
2018190393.tif 000015
【図１３】
2018190393.tif 000016
【図１４】
2018190393.tif 000017
【図１５】
2018190393.tif 000018
【図１６】
2018190393.tif 000019
【図１７】
2018190393.tif 000020
【図１８】
2018190393.tif 000021
【図１９】
2018190393.tif 000022
【図２０】
2018190393.tif 000023
【図２１】
2018190393.tif 000024
【図２２】
2018190393.tif 000025
【図２３】
2018190393.tif 000026
【図２４】
2018190393.tif 000027
【図２５】
2018190393.tif 000028
【図２６】
2018190393.tif 000029
【図２７】
2018190393.tif 000030
【図２８】
2018190393.tif 000031
【図２９】
2018190393.tif 000032