(57)【要約】      （修正有）【課題】従来、目的のファイルをファイルシステムから取り出すには、格納されたディレクトリの構造を指定する必要がある。ディレクトリ構造が指定できないと、目的のファイルを取り出せない場合がある。本発明は、ディレクトリ構造を特定せずとも目的のファイルを取り出せる技術を提供する。【解決手段】データ検索サーバは、検索対象のファイルに付加されたメタ情報の型と値とを下位ディレクトリとして表示する。使用者が特定の下位ディレクトリへの移動を指示すると、データ検索サーバは、指示されたディレクトリの識別子を検索キーとしてメタ情報の型と値とを検索する。この際、検索キーを累積的に記憶しておき、累積的に記憶した検索キー全てをメタ情報に含むファイルを絞り込み、提示する。検索キーの指定順を問わないことで、データの格納先が不明なためにファイルを取り出せなくなることを防ぐ。【選択図】図１
2009176057.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項２】
請求項１に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項３】
請求項２に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを表示する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出する、
ことを特徴とするデータ検索サーバ。
【請求項４】
請求項２に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際には、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に使用した前記第二の検索キーに含まれるディレクトリの識別子を除外して構成する、
ことを特徴とするデータ検索サーバ。
【請求項５】
請求項２に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項６】
請求項１に記載のデータ検索サーバであって、
前記メタ情報は、大分類と、前記大分類を構成する小分類との対応する情報を備えており、
前記ディレクトリ構成部は、前記検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記検索キーが前記大分類に合致する場合には、前記下位のディレクトリを前記小分類に対応するディレクトリとし、前記検索キーが前記小分類に合致する場合には、前記下位のディレクトリを前記大分類に対応するディレクトリとして決定する、
ことを特徴とするデータ検索サーバ。
【請求項７】
ネットワークに接続されたデータ検索サーバであって、
記憶部と、
記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項８】
請求項７に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第二の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項９】
請求項８に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記他のデータ検索サーバに対して、前記検索キーと、前記追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを検出して送信するよう依頼する、
ことを特徴とするデータ検索サーバ。
【請求項１０】
請求項７に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際に、前記下位のディレクトリに含まれるさらに下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を除外して前記表示する情報を作成する、
ことを特徴とするデータ検索サーバ。
【請求項１１】
請求項７に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項１２】
請求項７に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバの構成に変化があったか否かを判定し、構成に変化があれば、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示し、構成に変化が無ければ、表示されたディレクトリの上位のディレクトリを表示した際に前記他のデータ検索サーバから送信されたファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項１３】
データ検索サーバのデータ検索プログラムであって、
前記データ検索サーバは、
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記ディレクトリ構造を表示する情報を作成するディレクトリ表示部と、
を備え、
前記データ検索サーバに、
前記下位のディレクトリの識別子の指定を受け付ける機能と、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出する機能と、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する機能と、
を実現させるためのプログラム。
【請求項１４】
データ検索サーバは、
前記下位のディレクトリの識別子の指定を受け付けるステップと、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出するステップと、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として表示部に表示する情報を作成するよう指示するステップと、
を実行することを特徴とするデータ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの検索を行う技術に関する。
【背景技術】
【０００２】
従来、記憶対象のデータに付加したメタ情報を元にファイルシステムにおけるディレクトリ構造を特定して、記憶対象のデータをファイルシステムに記憶させる技術がある。
【０００３】
記憶対象のデータは、付加されたメタ情報から導き出した情報とメタ情報の記述順序に基づいてファイルシステムの特定箇所に記憶される。
【０００４】
非特許文献１には、このようなメタ情報の記述方法についての規格が記載されており、この技術を用いることで、データにメタ情報を付加することができる。
【０００５】
また、楽曲データであればアーティスト毎に区分されたディレクトリに、アルバム毎に区分されたディレクトリを格納し、アルバム毎のディレクトリに、楽曲データファイルを格納するよう所定のディレクトリ構造を定めて当該楽曲データを管理する技術が、特許文献１に記載されている。その技術においては、新たにファイルシステムに記憶される楽曲データのメタ情報からアーティスト名とアルバム名を特定してディレクトリ構造を特定する。
【０００６】
【特許文献１】特許公開２００４−２２７２８５号公報
【非特許文献１】Martin Nilsson.  "ID3 tag version 2.4.0".  [online]. 1st November 2000.  2007年10月30日検索,  インターネット〈URL：http://www.id3.org/id3v2.4.0-structure〉
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献１に記載の技術では、既に記憶されたデータをファイルシステムから検索する場合には、格納されたディレクトリ構造が固定的であるため、固定的なディレクトリ構造を指定しなければ、データを見つけることができず、ディレクトリ構造の指定を誤ると、実質上データをロストしてしまう場合がある。
【０００８】
そこで、本発明は、ディレクトリ構造を知らなくても漏れなく記憶対象のデータを取り出せる技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
本願に係るデータ検索技術は、上記課題を解決するため、ファイルを検出するキーワードを受け付け、キーワードを含むメタ情報を持つファイルについて、キーワードを指定した順序に関係なく検出し、検出したファイルのメタ情報をもとにディレクトリ構造を動的に作成して表示する。
【００１０】
例えば、データ検索サーバであって、記憶部と、前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、を備え、前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、ことを特徴とする。
【発明の効果】
【００１１】
検索者はディレクトリ構造を知らなくても記憶対象のデータを取り出すことが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明の実施形態について図１〜図１７を用いて説明する。
【００１３】
図１は、本発明の第一の実施形態のデータ検索システム１を示す図である。
【００１４】
データ検索システム１は、データ検索サーバＡ１００と、ネットワーク１５０を介してデータ検索サーバＡ１００と通信を行うことができるデータ検索サーバＢ１８０と、ネットワーク１５０を介してデータ検索サーバＡ１００と通信を行うことができるクライアント端末１７０と、を有する。
【００１５】
通常、データ検索システム１は、クライアント端末１７０を複数有する。
【００１６】
データ検索システム１のうち、クライアント端末１７０は、例えば、クライアントＰＣ（パーソナルコンピュータ）や、ワークステーション、各種携帯電話端末、ＰＤＡ（Personal Digital Assistant）、テレビジョン受像機、などの端末装置である。
【００１７】
クライアント端末１７０は、制御部１７１と、送受信部１７５と、を備える。
【００１８】
制御部１７１は、ファイル閲覧部１７２と、入力受付部１７３と、表示部１７４と、を備える。
【００１９】
ファイル閲覧部１７２は、ディレクトリの構造などの情報とファイルの情報を表示するよう表示部１７４に指示し、表示したディレクトリの構造などの情報およびファイルの情報に対する使用者からの指示について、入力受付部１７３を介して受け付ける。
【００２０】
そして、ファイル閲覧部１７２は、指定されたデータ検索サーバに対してディレクトリを表示するための情報を送信する。あるいは、受け付けた指示がファイルを対象とするものであれば、指定されたデータ検索サーバに対してファイルの取得依頼を送信する。
【００２１】
入力受付部１７３は、使用者により入力された情報を受け付ける。例えば、キーボードやマウスなどの入力装置を介して検知した入力操作を受け付けて、制御部１７１へ伝える。
【００２２】
表示部１７４は、制御部１７１からの表示指示を受けて、ディスプレイなどの出力装置へ表示する。
【００２３】
送受信部１７５は、ネットワーク１５０に接続し、他の接続された機器に対して情報を送信し、他の接続された機器から情報を受信する。
【００２４】
次に、データ検索サーバＡ１００およびデータ検索サーバＢ１８０について説明する。
【００２５】
データ検索サーバＡ１００は、図１に示すように、記憶部１２０と、制御部１３０と、送受信部１４０と、を有する。図示しないが、データ検索サーバＢ１８０はデータ検索サーバＡ１００と同様に記憶部１２０と、制御部１３０と、送受信部１４０と、を有する。
【００２６】
記憶部１２０は、記憶領域として、型テーブル２００を格納する型記憶領域１２１と、値テーブル３００を格納する値記憶領域１２２と、ファイル属性テーブル４００を格納するファイル属性記憶領域１２３と、ディレクトリ構成テーブル５００を格納するディレクトリ構成記憶領域１２４と、サーバ構成テーブル６００を格納するサーバ構成記憶領域１２５と、記憶対象ファイルを格納する記憶対象ファイル記憶領域１２６と、を有する。
【００２７】
メタ情報は、後述するように、ファイルの属性を示す情報である。
【００２８】
ファイルの属性は、大分類である型と、型の値に対応する具体的な小分類を示す値と、の対を複数含むものである。
【００２９】
すなわち、型と値と、は、ファイルを分類する情報であり、複数の値が集合して一つの型を形成する関係にある。
【００３０】
なお、小分類である値をさらに具体化した分類を取り扱う、すなわち階層的に分類を増やす場合には、小分類である値を型として設定し、さらに具体化した分類を値として設定するものとしてもよい。
【００３１】
メタ情報に含まれる型の集合は、予め型テーブル２００に記憶され、メタ情報に含まれる値の集合は、予め値テーブル３００に記憶される。
【００３２】
図２に、メタ情報に含まれる型の集合を記憶する型テーブル２００の構成例を示す。
【００３３】
型テーブル２００は、大分類である型の定義を記憶するテーブルであり、具体的には、型テーブル２００は、型識別番号欄２０１と、属性型名欄２０２と、を有する。
【００３４】
型識別番号欄２０１には、メタ情報の属性の型を識別する番号が記憶される。例えば、「Ｔ０」、「Ｔ１」、等である。
【００３５】
属性型名欄２０２には、属性の型の名称が記憶される。例えば、「作品名」、「アーティスト名」、等である。
【００３６】
図３に、メタ情報に含まれる値の集合を記憶する値テーブル３００の構成例を示す。値テーブル３００は、小分類である値の定義を記憶するテーブルであり、具体的には、値テーブル３００は、値識別番号欄３０１と、属性値欄３０２と、を有する。
【００３７】
値識別番号欄３０１には、メタ情報の値を識別する番号が記憶される。例えば、「Ｖ０」、「Ｖ１」、等である。
【００３８】
属性値欄３０２には、メタ情報の値が記憶される。例えば、「Alternative」、「Classical」、等である。
【００３９】
図４に、ファイル毎のメタ情報を記憶するファイル属性テーブル４００の構成例を示す。
【００４０】
ファイル属性テーブル４００は、ファイルに付加されたメタ情報から、ファイルの識別子とメタ情報の対応を記憶するテーブルである。
【００４１】
具体的には、ファイル属性テーブル４００は、ファイル識別子欄４０１と、型識別番号欄４０２と、値識別番号欄４０３と、を有する。
【００４２】
ファイル識別子欄４０１には、記憶対象のファイルを識別する識別子が記憶される。例えば、「Ａ番組」「Ｂ映画」「Ｃ番組」等である。
【００４３】
型識別番号欄４０２には、記憶対象のファイルにメタ情報として付与された属性の型を識別する番号が記憶される。例えば、「Ｔ１」、「Ｔ４」、等である。
【００４４】
値識別番号欄４０３には、記憶対象のデータであるファイルのメタ情報として付与された属性の値を識別する番号が記憶される。例えば、「Ｖ２２」、「Ｖ３」、等である。
【００４５】
図５に、クライアント端末１７０のファイル閲覧部１７２が表示させているディレクトリを特定するための情報を記憶するディレクトリ構成テーブル５００の構成例を示す。
【００４６】
一般に、クライアント端末１７０のファイル閲覧部１７２が表示させているディレクトリを特定するためには、クライアント端末１７０の特定と、クライアント端末１７０のファイル閲覧部１７２の特定が必要となる。
【００４７】
そのため、本実施例においては、クライアント端末１７０の特定のためにクライアント識別子と、ファイル閲覧部１７２の特定のためにセッション識別子と、を用いる。しかし、これに限らず、クライアント端末１７０を特定する情報と、ファイル閲覧部１７２を特定する情報であれば、その他の情報であってもよい。
【００４８】
ディレクトリ構成テーブル５００は、クライアント識別子欄５０１と、セッション識別子欄５０２と、ディレクトリ表示条件欄５０３と、ディレクトリ表示時刻欄５０４と、を有する。
【００４９】
クライアント識別子欄５０１には、データ検索サーバＡ１００に対してデータの検索を要求したクライアント端末１７０を識別する情報が記憶される。例えば、「１９２．１６８．０．９０」「１９２．１６８．０１９６」等のＩＰアドレス等である。
【００５０】
セッション識別子欄５０２には、データ検索サーバＡ１００に対してデータの検索を要求したクライアント端末１７０上で動作するファイル閲覧部１７２を識別する情報が記憶される。例えば、「ＳＥＳ９４７２０」「ＳＥＳ８５７２０」等のセッション識別子等である。
【００５１】
ディレクトリ表示条件欄５０３には、クライアント識別子と、セッション識別子との組み合わせごとに、表示させているディレクトリを特定するための指定条件が記憶される。例えば、「Ｔ１，Ｖ２２」、「Ｔ４，Ｖ３，Ｔ１，Ｖ２２」、等、属性の型と値とのうち少なくともいずれか一方が含まれる情報である。
【００５２】
ディレクトリ表示時刻欄５０４には、クライアント端末１７０に対してディレクトリ表示を行った時刻が記憶される。
【００５３】
図６に、ネットワーク１５０を介して接続する他のデータ検索サーバＡ１００の構成と、他のデータ検索サーバＡ１００の接続可否の状態と、を記憶するサーバ構成テーブル６００の構成例を示す。サーバ構成テーブル６００は、サーバ識別子欄６０１と、接続可否欄６０２と、を有する。
【００５４】
サーバ識別子欄６０１には、他のデータ検索サーバであるデータ検索サーバＢ１８０の識別子が記憶される。例えば、「サーバＡ」、「サーバＢ」、等である。
【００５５】
接続可否欄６０２には、それぞれのデータ検索サーバの接続可否が記憶される。例えば、「ＯＫ」、「ＮＧ」、等である。
【００５６】
ここで、記憶対象ファイルのデータ構造８００について、図７を用いて説明する。
【００５７】
図７は、記憶対象ファイルのデータ構造についての構成図である。
【００５８】
記憶対象ファイルのデータ構造８００は、ファイル識別子の領域８０１と、一連の再生単位として作成されたコンテンツの領域８０２と、メタ情報である型識別番号の領域８０３と、値識別番号の領域８０４との組を一または複数と、を有して構成される。
【００５９】
ファイル識別子の領域８０１は、記憶対象ファイルを識別するための識別子を格納する領域であり、ファイル識別子はテキストデータで構成される。
【００６０】
コンテンツの領域８０２は、記憶対象ファイルの本体ともいえるコンテンツを格納する領域であり、例えば楽曲や映像などのコンテンツが記憶される。
【００６１】
型識別番号の領域８０３は、メタ情報のうち型を識別する型識別番号を記憶する領域である。例えば、型識別番号は、「Ｔ１」、「Ｔ４」、等である。
【００６２】
値識別番号の領域８０４は、メタ情報のうち値を識別する値識別番号を記憶する領域である。例えば、値識別番号は、「Ｖ２２」、「Ｖ３」、等である。
【００６３】
次に、図１に示すデータ検索システム１を構成するハードウェアについて、図８を用いて説明する。
【００６４】
図１の説明に戻る。
【００６５】
制御部１３０は、ファイル属性取得部１３１と、ファイル属性変更部１３２と、表示受付部１３３と、ディレクトリ構成部１３４と、ディレクトリ表示部１３５と、サーバ構成管理部１３６と、を有している。
【００６６】
ファイル属性取得部１３１は、クライアント端末１７０から記憶するよう指示された記憶対象ファイルを記憶部１２０の記憶対象ファイル記憶領域１２６に記憶させる。
【００６７】
ファイル属性取得部１３１は、記憶対象ファイル記憶領域１２６に記憶させる際に、記憶対象のファイルに付加されたメタ情報を取得してファイル属性記憶領域１２３のファイル属性テーブル４００のファイル識別子欄４０１にファイル識別子の領域８０１の値を記憶させ、型識別番号欄４０２に型識別番号の領域８０３の値を記憶させ、値識別番号欄４０３に値識別番号の領域８０４の値を記憶させる。
【００６８】
ファイル属性変更部１３２は、記憶部１２０に記憶されたデータに関し、ファイル属性テーブル４００に記憶されたファイル識別子欄４０１の値と、型識別番号欄４０２の値と、値識別番号欄４０３の値と、の変更後の値を受け付け、それぞれの値を受け付けた値に変更する。
【００６９】
表示受付部１３３は、記憶部１２０に記憶されたデータに関して、クライアント端末１７０から表示を要求されると、これを表示要求として受け付け、クライアント端末１７０の識別子とセッション識別子を特定し、ディレクトリ構成部１３４、ディレクトリ表示部１３５へ処理を引き継ぐ。
【００７０】
また、表示受付部１３３は、ファイル名を指定したファイルの取得依頼をクライアント端末１７０から受け付けた場合には、クライアント端末１７０に表示したディレクトリの表示条件に受け付けたファイル名を付加してファイルを記憶対象ファイルから特定する。
【００７１】
そして、表示受付部１３３は、特定したファイルを送受信部１４０を介してクライアント端末１７０に送信する。
【００７２】
ディレクトリ構成部１３４は、表示受付部１３３にて受け付けた表示要求を元に、他のデータ検索サーバＢ１８０に検索を依頼し、自サーバの記憶部１２０を検索し、検索結果を統合して、表示するディレクトリ構成やファイルを特定し、ディレクトリ表示部１３５に表示するよう指示する。
【００７３】
ディレクトリ表示部１３５は、ディレクトリ構成部１３４から表示するよう指示を受けたディレクトリ構成やファイルを所定の表示画面で表示する情報を作成し、クライアント端末１７０に対して表示する情報を送信する。
【００７４】
サーバ構成管理部１３６は、他のサーバの接続可否をモニタリングして、サーバが追加・削除・通信不能となったことを検知し、サーバ構成テーブル６００に記憶させる。
【００７５】
送受信部１４０は、ネットワーク１５０に接続し、他の接続された機器に対して情報を送受信する。
【００７６】
図８に示す本実施形態では、クライアント端末１７０は、ネットワーク１５０を介して、データ検索サーバＡ１００と接続することができる。
【００７７】
データ検索サーバＡ１００は、通信装置１１３と、演算装置１１４と、主記憶装置１１５と、補助記憶装置１１６と、それぞれを接続するバス１１７と、を有する。
【００７８】
通信装置１１３は、ネットワーク１５０などのネットワークを介して他の装置と通信を行う装置である。
【００７９】
演算装置１１４は、例えばＣＰＵ（Central Processing Unit）などの演算装置である。
【００８０】
主記憶装置１１５は、例えばＲＡＭ（Random Access Memory）などのメモリ装置である。
【００８１】
補助記憶装置１１６は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【００８２】
クライアント端末１７０は、入力装置１８１と、出力装置１８２と、演算装置１８３と、主記憶装置１８４と、補助記憶装置１８５と、通信装置１８６と、これらを互いに接続するバス１８７と、を有する。
【００８３】
ここで、入力装置１８１はキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
【００８４】
出力装置１８２はディスプレイなどの表示を行う装置である。
【００８５】
演算装置１８３は、例えばＣＰＵなどの演算装置である。
【００８６】
主記憶装置１８４は、例えばＲＡＭなどのメモリ装置である。
【００８７】
補助記憶装置１８５は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【００８８】
通信装置１８６は、ネットワーク１５０などのネットワークを介して他の装置と通信を行う装置である。
【００８９】
クライアント端末１７０の通信装置１８６は、ネットワーク１５０を通じて、データ検索サーバＡ１００の通信装置１１３と通信を行うことができる。
【００９０】
ここで、ネットワーク１５０は、ＬＡＮや無線ＬＡＮなどの通信網であるが、インターネットや公衆用の無線ＬＡＮなどの公衆網であってもよいし、その他ケーブルテレビ網や携帯電話網などのネットワーク、あるいは電力線ネットワーク等でもよい。
【００９１】
データ検索サーバＡ１００のファイル属性取得部１３１と、ファイル属性変更部１３２と、表示受付部１３３と、ディレクトリ構成部１３４と、ディレクトリ表示部１３５と、サーバ構成管理部１３６と、は、データ検索サーバＡ１００の演算装置１１４に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置１１５または補助記憶装置１１６内に記憶され、実行にあたって主記憶装置１１５上にロードされ、演算装置１１４により実行される。
【００９２】
また、データ検索サーバＡ１００の記憶部１２０は、データ検索サーバＡ１００の主記憶装置１１５または補助記憶装置１１６により実現される。
【００９３】
データ検索サーバＡ１００の送受信部１４０は、データ検索サーバＡ１００の通信装置１１３によって実現される。
【００９４】
クライアント端末１７０のファイル閲覧部１７２と、入力受付部１７３と、表示指示部１７４と、は、クライアント端末１７０の演算装置１８３に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置１８４または補助記憶装置１８５内に記憶され、実行にあたって主記憶装置１８４上にロードされ、演算装置１８３により実行される。
【００９５】
また、クライアント端末１７０の送受信部１７５は、クライアント端末１７０の通信装置１８６によって実現される。
【００９６】
次に、本実施形態におけるデータ検索に関する処理のフローについて、図に基づき説明する。
【００９７】
図９は、ルートディレクトリ表示処理を示すフロー図である。
【００９８】
まず、表示受付部１３３は、クライアント端末１７０から、ルートディレクトリの表示依頼を受け付ける。（ステップＳ１０１）。
【００９９】
具体的には、表示依頼には、クライアント識別子と、セッション識別子と、ルートディレクトリ表示依頼情報と、が含まれ、クライアント識別子にはクライアント端末１７０のＩＰアドレスなどの情報が格納され、セッション識別子には、クライアント端末１７０のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【０１００】
そして、表示受付部１３３は、ステップＳ１０１で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する（ステップＳ１０２）。
【０１０１】
そして、ディレクトリ構成部１３４は、後述するとおり有効と判定したサーバに対して、ファイル情報を送信するよう依頼する。あわせて、ディレクトリ構成部１３４は、ディレクトリ構成テーブル５００に対して、ステップＳ１０２で取得したクライアント識別子をクライアント識別子欄５０１に、セッション識別子をセッション識別子欄５０２に格納する（ステップＳ１０３）。
【０１０２】
具体的には、ディレクトリ構成部１３４は、サーバ構成テーブル６００を参照して、接続可否欄６０２が「ＯＫ」であるサーバのサーバ識別子欄６０１を特定する。そして、特定したサーバ識別子欄６０１に記憶された識別子で識別されるサーバを有効と判定し、有効と判定したサーバに対して、ルートディレクトリを検索する、すなわちディレクトリ表示条件を無指定で検索する、よう指示する。
【０１０３】
次に、ディレクトリ構成部１３４は、ステップＳ１０３で依頼した有効なサーバからのファイルに関する情報を受信する（ステップＳ１０４）。
【０１０４】
具体的には、ディレクトリ構成部１３４は、ステップＳ１０３で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【０１０５】
そして、ディレクトリ構成部１３４は、自サーバ（ローカル）のファイルに関する情報をファイル情報検索処理により取得する（ステップＳ１０５）。
【０１０６】
具体的には、自サーバのファイル属性テーブル４００から、ファイル識別子欄４０１に格納された情報と、型識別番号欄４０２に格納された情報と、値識別番号欄４０３に格納された情報と、を全て取得する。
【０１０７】
そして、ディレクトリ構成部１３４は、ステップＳ１０５で取得したローカルのファイルに関する情報と、ステップＳ１０４で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除する。
【０１０８】
そして、ディレクトリ構成部１３４は、重複を排除した型識別番号のそれぞれについて、型テーブル２００を検索し、型識別番号が型識別番号欄２０１の値と一致する属性番号に対応する属性型名欄２０２の値を表示ディレクトリとして記憶する（ステップＳ１０６）。
【０１０９】
具体的には、ディレクトリ構成部１３４は、ステップＳ１０５で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていない型識別番号を、ステップＳ１０４で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。そして、リストに含まれる型識別番号のそれぞれについて、型テーブル２００の型識別番号欄２０１の値と比較し、合致する型識別番号と対応する属性型名欄２０２の値をリストして表示ディレクトリの情報として記憶する。
【０１１０】
次に、ディレクトリ構成部１３４は、ステップＳ１０５で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部１３４は、ステップＳ１０４で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、全ファイル数として記憶する（ステップＳ１０７）。
【０１１１】
次に、ディレクトリ構成部１３４は、全ファイルのファイル識別子をファイル名としてリストして、表示ファイルとして記憶する（ステップＳ１０８）。
【０１１２】
具体的には、ディレクトリ構成部１３４は、ステップＳ１０５で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ファイル識別子のリストを作成する。そして、ディレクトリ構成部１３４は、ステップＳ１０４で受信した有効なサーバからのファイルに関する情報から取り出したファイル識別子を、作成したリストに加え、リストを表示ファイルの情報として記憶する。
【０１１３】
そして、ディレクトリ構成部１３４は、ステップＳ１０６で記憶した表示ディレクトリと、ステップＳ１０７で記憶した全ファイル数と、ステップＳ１０８で記憶した表示ファイルと、を表示させるようディレクトリ表示部１３５に指示し、ディレクトリ表示部１３５は、図１０に示すルートディレクトリ表示画面７００を構成してクライアント端末１７０に表示させる（ステップＳ１０９）。
【０１１４】
ルートディレクトリ表示画面７００を構成する際に、ディレクトリ表示部１３５は、ステップＳ１０６で記憶した表示ディレクトリをディレクトリ名としてディレクトリのアイコン７０５として表示させ、ステップＳ１０７で記憶した全ファイル数をファイル数７０４に表示させ、ステップＳ１０８で記憶した表示ファイルをファイル名としてファイルのアイコン７０６として表示させるように構成する。
【０１１５】
図１０は、ルートディレクトリを表示させるディレクトリ表示画面の例である。
【０１１６】
ディレクトリ表示画面７００は、ウィンドウ７０１と、スクロールバー７０２と、表示ディレクトリ名７０３と、ファイル数７０４と、ディレクトリのアイコン７０５と、ファイルのアイコン７０６と、を有する。
【０１１７】
スクロールバー７０２は、スクロールの操作を受け付け、ウィンドウ７０１が一度に表示できないディレクトリのアイコン７０５と、ファイルのアイコン７０６と、を表示させる。
【０１１８】
ディレクトリのアイコン７０５は、使用者の選択操作を受け付け、選択されたディレクトリ名で特定されるディレクトリに含まれるファイルとディレクトリとを表示するようクライアント端末１７０のファイル閲覧部１７２に通知する。
【０１１９】
例えば、入力受付部１７３を介してダブルクリック等の選択指示を受け付けると、移動先ディレクトリのディレクトリ名としてダブルクリックされたディレクトリ名を指定して、移動先ディレクトリ表示依頼をファイル閲覧部１７２に通知する。
【０１２０】
ファイルのアイコン７０６は、使用者の選択操作を受け付け、選択されたファイル名で特定されるファイルを取得するようクライアント端末１７０のファイル閲覧部１７２に通知する。
【０１２１】
例えば、入力受付部１７３を介してダブルクリック等の開く指示を受け付けると、取得する対象のファイルのファイル名としてダブルクリックされたファイル名を指定して、ファイルを取得する依頼をクライアント端末１７０のファイル閲覧部１７２に通知する。
【０１２２】
このように、ディレクトリ表示画面７００は、ルートディレクトリ下にあるファイルとディレクトリを表示させるための画面であり、ディレクトリ間の移動の指示やファイルの取得の指示を受け付ける画面である。
【０１２３】
次に、図１１を用いて、下位ディレクトリ表示処理を説明する。
【０１２４】
まず、表示受付部１３３は、移動先ディレクトリを表示する依頼を受け付ける（ステップＳ２０１）。
【０１２５】
具体的には、移動先ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、が含まれ、クライアント識別子にはクライアント端末１７０のＩＰアドレスなどの情報が格納され、セッション識別子には、クライアント端末１７０のファイル閲覧部を識別するセッション識別子が格納されている。
【０１２６】
そして、表示受付部１３３は、ステップＳ２０１で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、を取得する（ステップＳ２０２）。
【０１２７】
そして、ディレクトリ構成部１３４は、ディレクトリ構成テーブル５００を参照し、クライアント識別子欄５０１とステップＳ２０２において取得したクライアント識別子とが一致し、セッション識別子欄５０２とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄５０３の値を取得する。そして、ディレクトリ構成部１３４は、ステップＳ２０２で取得した移動先ディレクトリ名を、取得したディレクトリ表示条件欄５０３の値に追加し、新たなディレクトリ表示条件としてディレクトリ表示条件欄５０３の値として記憶させる（ステップＳ２０３）。
【０１２８】
次に、ディレクトリ構成部１３４は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する（ステップＳ２０４）。
【０１２９】
具体的には、ディレクトリ構成部１３４は、サーバ構成テーブル６００を参照して、接続可否欄６０２が「ＯＫ」であるサーバのサーバ識別子欄６０１を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップＳ２０３で記憶させた新たなディレクトリ表示条件を指定して検索する、よう指示する。
【０１３０】
次に、ディレクトリ構成部１３４は、ステップＳ２０４で依頼した有効なサーバからのファイルに関する情報を受信する（ステップＳ２０５）。
【０１３１】
具体的には、ディレクトリ構成部１３４は、ステップＳ２０４で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【０１３２】
そして、ディレクトリ構成部１３４は、自サーバ（ローカル）のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する（ステップＳ２０６）。
【０１３３】
具体的には、ディレクトリ構成部１３４は、自サーバのファイル属性テーブル４００から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄４０１に格納された情報と、型識別番号欄４０２に格納された情報と、値識別番号欄４０３に格納された情報と、を全て取得する。
【０１３４】
そして、ディレクトリ構成部１３４は、移動先ディレクトリ名が型を指定する名称であるか否かを判定する（ステップＳ２０７）。
【０１３５】
具体的には、ディレクトリ構成部１３４は、移動先ディレクトリ名をキーとして、型テーブル２００の属性型名欄２０２を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【０１３６】
移動先ディレクトリ名が型を指定する名称であれば（ステップＳ２０７で「Ｙｅｓ」）、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報と、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する（ステップＳ２０８）。
【０１３７】
具体的には、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報から、値識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていない値識別番号を、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【０１３８】
そして、後述するステップＳ２１１へ処理を進める。
【０１３９】
移動先ディレクトリ名が型を指定する名称でなければ（ステップＳ２０７で「Ｎｏ」）、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報と、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する（ステップＳ２０９）。
【０１４０】
具体的には、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていないファイル識別子を、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【０１４１】
そして、続けて、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報と、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複排除後の型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する（ステップＳ２１０）。
【０１４２】
具体的には、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていない型識別番号を、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【０１４３】
そして、ディレクトリ構成部１３４は、ディレクトリ構成テーブル５００を参照し、クライアント識別子欄５０１とステップＳ２０２において取得したクライアント識別子とが一致し、セッション識別子欄５０２とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄５０３の値を取得し、作成したリストから、ディレクトリ表示条件欄５０３の値に含まれている型識別番号を削除し、リストを表示ディレクトリの情報として記憶する。
【０１４４】
次に、ディレクトリ構成部１３４は、ステップＳ２０６で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部１３４は、ステップＳ２０５で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する（ステップＳ２１１）。
【０１４５】
そして、ディレクトリ構成部１３４は、ステップＳ２０８またはステップＳ２１０で記憶した表示ディレクトリと、ステップＳ２１１で算出した全ファイル数と、ステップＳ２０９で記憶した表示ファイルと、を表示させるようディレクトリ表示部１３５に指示し、ディレクトリ表示部１３５は、図１２〜図１５に示す下位ディレクトリ表示画面を構成してクライアント端末１７０に表示させる。その際、ディレクトリ表示部１３５は、ディレクトリ構成テーブル５００のディレクトリ表示時刻欄５０４に、処理時刻を記憶させる（ステップＳ２１２）。
【０１４６】
図１２のディレクトリ表示画面は、ステップＳ２０７で移動先ディレクトリが型を指定する名称であると判定した場合に表示させる画面である。図１２のディレクトリ表示画面を構成する際に、ディレクトリ表示部１３５は、ステップＳ２０８で記憶した表示ディレクトリをディレクトリのアイコン７０５として表示させ、ステップＳ２１１で算出したファイル数をファイル数７０４に表示させるように構成する。
【０１４７】
また、ディレクトリ表示条件欄５０３に記憶された情報をディレクトリ名７０３に表示させるように構成する。
【０１４８】
図１３のディレクトリ表示画面は、ステップＳ２０７で移動先ディレクトリが型を指定する名称でないと判定した場合に表示させる（すなわち、図１２のディレクトリ表示画面で「Ｊａｚｚ」ディレクトリへ移動するように指定した場合等に表示させる）画面である。図１３のディレクトリ表示画面を構成する際に、ディレクトリ表示部１３５は、ステップＳ２０９で記憶した表示ファイルをファイルのアイコン７０６として表示させ、ステップＳ２１１で算出したファイル数をファイル数７０４に表示させ、ステップＳ２１０で記憶した表示ディレクトリをディレクトリのアイコン７０５として表示させるように構成する。
【０１４９】
図１４のディレクトリ表示画面は、図１２のディレクトリ表示画面と同様の画面であり、図１３のディレクトリ表示画面で「アーティスト名」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【０１５０】
図１５のディレクトリ表示画面は、図１３のディレクトリ表示画面と同様の画面であり、図１４のディレクトリ表示画面で「アーティストＢ」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【０１５１】
次に、図１６を用いて、上位ディレクトリ表示処理を説明する。
【０１５２】
まず、表示受付部１３３は、上位ディレクトリを表示する依頼を受け付ける（ステップＳ３０１）。
【０１５３】
具体的には、上位ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、が含まれ、クライアント識別子にはクライアント端末１７０のＩＰアドレスなどの情報が格納され、セッション識別子には、クライアント端末１７０のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【０１５４】
そして、表示受付部１３３は、ステップＳ３０１で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する（ステップＳ３０２）。
【０１５５】
そして、ディレクトリ構成部１３４は、ステップＳ３０２にて取得したクライアント識別子とセッション識別子で識別される画面が表示する画面より一つ上位の画面を表示した際に使用したディレクトリ表示条件を得る（ステップＳ３０３）。
【０１５６】
具体的には、、ディレクトリ構成部１３４は、ディレクトリ構成テーブル５００を参照し、クライアント識別子欄５０１のクライアント識別子とステップＳ３０２において取得したクライアント識別子とが一致し、セッション識別子欄５０２のセッション識別子とステップＳ３０２において取得したセッション識別子とが一致する、情報を検索する。
【０１５７】
そして、ディレクトリ構成部１３４は、検索の結果一致した情報のうち、ディレクトリ表示条件欄５０３の値と、ディレクトリ表示時刻欄５０４の値と、を取得する。
【０１５８】
そして、ディレクトリ構成部１３４は、取得したディレクトリ表示条件欄５０３の値から、最後尾のディレクトリ名を削除して新たなディレクトリ表示条件としてディレクトリ表示条件欄５０３の値として記憶させる。
【０１５９】
次に、ディレクトリ構成部１３４は、サーバ構成に変化があったか否かをサーバ構成管理部１３６に問い合わせ、サーバ構成管理部１３６に問い合わせた結果によりサーバ構成に変化があったか否かを判定する（ステップＳ３０４）。
【０１６０】
具体的には、サーバ構成管理部１３４は、ステップＳ３０３で取得したディレクトリ表示時刻欄５０４の値をサーバ構成管理部１３６に送信し、サーバ構成管理部１３６は、最新のサーバ構成変更時刻と受信したディレクトリ表示時刻欄５０４の値とを比較して、最新のサーバ構成変更時刻のほうが新しければ、サーバ構成に変化があった旨をディレクトリ構成部１３４に送信する。そうでなければ、サーバ構成に変化がない旨をディレクトリ構成部１３４に送信する。
【０１６１】
サーバ構成に変化があったと判定した場合（ステップＳ３０４で「Ｙｅｓ」）、ディレクトリ構成部１３４は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する（ステップＳ３０５）。
【０１６２】
具体的には、ディレクトリ構成部１３４は、サーバ構成テーブル６００を参照して、接続可否欄６０２が「ＯＫ」であるサーバのサーバ識別子欄６０１を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップＳ３０３で記憶させた新たなディレクトリ表示条件を指定して検索するよう指示する。
【０１６３】
次に、ディレクトリ構成部１３４は、ステップＳ３０５で依頼した有効なサーバからのファイルに関する情報を受信する（ステップＳ３０６）。
【０１６４】
具体的には、ディレクトリ構成部１３４は、ステップＳ３０５で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。そして、ステップＳ３０７へ処理を進める。
【０１６５】
サーバ構成に変化があったと判定しなかった場合（ステップＳ３０４で「Ｎｏ」）、ディレクトリ構成部１３４は、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報を流用して、ステップＳ３０７へ処理を進める。
【０１６６】
次に、ディレクトリ構成部１３４は、自サーバ（ローカル）のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する（ステップＳ３０７）。
【０１６７】
具体的には、ディレクトリ構成部１３４は、自サーバのファイル属性テーブル４００から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄４０１に格納された情報と、型識別番号欄４０２に格納された情報と、値識別番号欄４０３に格納された情報と、を取得する。
【０１６８】
次に、ディレクトリ構成部１３４は、ステップＳ３０６で受信したデータが、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報と比較して、相違があるか否かを判定する。あわせて、ディレクトリ構成部１３４は、ステップＳ３０７で取得したデータが、上位ディレクトリを表示させたときに用いたファイルに関する情報と比較して、相違があるか否かを判定する（ステップＳ３０８）。
【０１６９】
いずれにも相違が無ければ（ステップＳ３０８で「Ｎｏ」）、ディレクトリ構成部１３４は、後述するステップＳ３１４に処理を進める。
【０１７０】
相違があれば（ステップＳ３０８で「Ｙｅｓ」）、ディレクトリ構成部１３４は、移動先ディレクトリ名（上位ディレクトリ名）が型を指定する名称であるか否かを判定する（ステップＳ３０９）。
【０１７１】
具体的には、ディレクトリ構成部１３４は、移動先ディレクトリ名をキーとして、型テーブル２００の属性型名欄２０２を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【０１７２】
移動先ディレクトリ名が型を指定する名称であれば（ステップＳ３０９で「Ｙｅｓ」）、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報と、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する（ステップＳ３１０）。
【０１７３】
具体的には、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報から値識別番号を取り出し、取り出した値識別番号をソートし、重複する値識別番号を排除したリストを作成する。
【０１７４】
そして、ディレクトリ構成部１３４は、作成したリストに含まれていない値識別番号を、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【０１７５】
そして、後述するステップＳ３１３へ処理を進める。
【０１７６】
移動先ディレクトリ名が型を指定する名称でなければ（ステップＳ３０９で「Ｎｏ」）、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報と、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する（ステップＳ３１１）。
【０１７７】
具体的には、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていないファイル識別子を、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【０１７８】
そして、続けて、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報と、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複を排除した型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する（ステップＳ３１２）。
【０１７９】
具体的には、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部１３４は、作成したリストに含まれていない型識別番号を、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【０１８０】
次に、ディレクトリ構成部１３４は、ステップＳ３０７で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部１３４は、ステップＳ３０６で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する（ステップＳ３１３）。
【０１８１】
そして、ディレクトリ構成部１３４は、ステップＳ３１０、ステップＳ３１２で記憶した表示ディレクトリまたは上位ディレクトリを表示した際の表示ディレクトリと、ステップＳ３１３で算出した全ファイル数または上位ディレクトリを表示した際の全ファイル数と、ステップＳ３１１で記憶した表示ファイルまたは上位ディレクトリを表示した際の表示ファイルと、を表示させるようディレクトリ表示部１３５に指示し、ディレクトリ表示部１３５は、図１２〜図１５に示す下位ディレクトリ表示画面を構成してクライアント端末１７０に表示させる。その際、ディレクトリ表示部１３５は、ディレクトリ構成テーブル５００のディレクトリ表示時刻欄５０４に、処理時刻を記憶させる（ステップＳ３１４）。
【０１８２】
このように、上位ディレクトリ表示処理では、一度表示させたディレクトリの表示を再利用するが、データ検索サーバの構成が変更された場合や検索したデータに変更がある場合には、再度検索をしなおす。このようにすることで、ディレクトリの最新状態を表示できる。
【０１８３】
これらのルートディレクトリ表示処理、下位ディレクトリ表示処理、上位ディレクトリ表示処理によって、使用者が指定した条件を満たすメタ情報を備えるファイルを検索する際にその順序とは関係なくデータを絞込検索し、表示することができるため、ファイルを探すことができずにデータを見失ってしまうことを防ぐことができる。
【０１８４】
次に、ファイル情報検索処理について、図１７を用いて説明する。
【０１８５】
図１７は、サブルーチンとして使用されるファイル情報検索処理を示すフローチャートである。
【０１８６】
ディレクトリ構成部１３４は、ディレクトリ表示条件を受け付ける（ステップＳ４０１）。
【０１８７】
そして、ディレクトリ構成部１３４は、ファイル属性テーブル４００に記憶された全ファイルについての情報を取得する（ステップＳ４０２）。
【０１８８】
次に、ディレクトリ構成部１３４は、ステップＳ４０１で受け付けたディレクトリ表示条件を分割して、リスト化する（ステップＳ４０３）。
【０１８９】
具体的には、ディレクトリ構成部１３４は、ディレクトリ表示条件をコンマ等の所定のデリミタ記号ごとに区切って分割し、分割した値を直列的にアクセス可能なリスト構造として記憶する。
【０１９０】
そして、ディレクトリ構成部１３４は、ステップＳ４０３で作成したリストの次なる値を取得して変数Ａに記憶させる（ステップＳ４０４）。
【０１９１】
次に、ディレクトリ構成部１３４は、Ａが型識別番号であるか否かを判定する（ステップＳ４０５）。
【０１９２】
具体的には、ディレクトリ構成部１３４は、変数Ａをキーとして、型テーブル２００の型識別番号欄２０１の情報を検索し、合致する型識別番号が存在すれば型識別番号であると判定し、そうでなければ型識別番号ではないと判定する。
【０１９３】
変数Ａの値が型識別番号でなければ（ステップＳ４０５で「Ｎｏ」）、ディレクトリ構成部１３４は、後述するステップＳ４１０に処理を進める。
【０１９４】
変数Ａの値が型識別番号であれば（ステップＳ４０５で「Ｙｅｓ」）、ディレクトリ構成部１３４は、ステップＳ４０２で取得した全ファイルについての情報のうち、型識別番号がＡの値と一致するファイルを選択する（ステップＳ４０６）。
【０１９５】
そして、ディレクトリ構成部１３４は、ステップＳ４０３で作成したリストの次なる値を取得して変数Ｂに記憶させる（ステップＳ４０７）。
【０１９６】
次に、ディレクトリ構成部１３４は、Ｂが値識別番号であるか否かを判定する（ステップＳ４０８）。
【０１９７】
具体的には、ディレクトリ構成部１３４は、変数Ｂをキーとして、値テーブル２００の値識別番号欄３０１の情報を検索し、合致する値識別番号が存在すれば値識別番号であると判定し、そうでなければ値識別番号ではないと判定する。
【０１９８】
変数Ｂの値が値識別番号でなければ（ステップＳ４０８で「Ｎｏ」）、ディレクトリ構成部１３４は、後述するステップＳ４１０に処理を進める。
【０１９９】
変数Ｂの値が値識別番号であれば（ステップＳ４０８で「Ｙｅｓ」）、ディレクトリ構成部１３４は、ステップＳ４０６で選択したファイルについての情報のうち、値識別番号がＢの値と一致するファイルを選択し、ステップＳ４０４に処理を戻す。（ステップＳ４０９）。
【０２００】
次に、ステップＳ４０５で「Ｎｏ」あるいはステップＳ４０８で「Ｎｏ」であった場合には、ステップＳ４０２で取得した全ファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する。または、ステップＳ４０２で取得した全ファイルからステップＳ４０６とステップＳ４０９との処理により選択したファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する（ステップＳ４１０）。
【０２０１】
そして、処理を終了する。
【０２０２】
以上が、ファイル情報検索処理のフローである。
【０２０３】
このファイル情報検索処理によって、指定した条件を満たすメタ情報を備えるファイルを検索する際に、その順序とは関係なくデータを絞込検索することができる。
【０２０４】
また、図示しないが、サーバ構成管理部１３６は、所定の期間（例えば、１０秒）に一度、データ検索サーバＢ１８０およびその他ネットワーク１５０に接続されているデータ検索サーバに対してサービス生死判定等を行い、サービスがなされていない、すなわちデータ検索ができないサーバを発見し、サーバ構成テーブル６００の接続可否欄６０２を「ＮＧ」として記憶する。このとき、サービスを可能なサーバについて、有効なサーバと判定して、サービスを可能なサーバの接続可否欄６０２を「ＯＫ」に設定する。
【０２０５】
サーバ構成管理部１３６がサービス生死判定を行う対象のサーバは、サーバ構成テーブル６００のサーバ識別子欄６０１に記憶されたサーバであるが、このサーバは、予め登録されたものであっても良いし、サーバ構成管理部が生死判定に先立ってブロードキャスト等を行い、存在が確認されたサーバを対象として実施するようにしてもよい。
【０２０６】
また、ファイル属性変更部１３２は、クライアント端末１７０の制御部１７１に実装されたファイル閲覧部１７２から送信されたファイル属性情報の変更に関する情報を受信し、ファイル属性テーブル４００のファイル識別子欄４０１と、型識別番号欄４０２と、値識別番号欄４０３と、の値を変更する。
【０２０７】
具体的には、ファイル属性情報の変更に関する情報が、あるファイル識別子で識別されるファイルに対して、型識別番号と値識別番号とを追加するものであった場合、ファイル属性変更部１３２は、ファイル識別子と合致するファイルの情報について、型識別番号欄４０２に型識別番号を、値識別番号欄４０３に値識別番号を、それぞれ追加して記憶させる。
【０２０８】
以上、本発明の実施の形態について、実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能である。
【０２０９】
例えば、ディレクトリ表示部１３５は、上記実施形態では、データ検索サーバ１００の制御部１３０に実装していたが、これに限らず、例えばクライアント端末１７０の制御部１７１に実装してもよい。
【０２１０】
この場合、ディレクトリ構成部１３４は、ステップＳ１０９、ステップＳ２１２、ステップＳ３１４等の結果を表示させる際に、クライアント端末１７０上に存在するディレクトリ表示部１３５に対してネットワーク１５０を介して指示する。例えば、ネットワークを介してファイルを共有するＮＦＳ（Network File System）、ＣＩＦＳ（Common Internet File System）、またはＳＭＢ（Server Message Block ）などのファイル共有プロトコルに則って指示することで、多彩なデータ共有形態を実現することができる。
【０２１１】
また、その他の機能部についても、クライアント１７０に実装しても良いし、クライアント１７０とデータ検索サーバ１００との両方に実装してもよい。
【０２１２】
その他、データ検索サーバ１００に、クライアント１７０と同様のファイル閲覧部を備えてもよい。
【０２１３】
このようにすることで、データ検索サーバ１００をクライアント端末１７０として動作させることが可能となり、機器構成の自由度を増加させることができる。
【０２１４】
また、上記のデータ検索システム１において、データ検索サーバＢ１８０は、データ検索サーバＡ１００と同様の構成を備えるものとしたが、これに限らず、図９に示すルートディレクトリ表示処理、図１１に示す下位ディレクトリ表示処理、図１６に示す上位ディレクトリ表示処理、および図１７に示すファイル情報検索処理のうち、少なくともファイル方法検索処理を実施するものであってもよい。
【０２１５】
そのようにすることで、データ検索システム１において、データ検索サーバＡ１００をクライアントに検索サービスを行うサーバとして機能させ、データ検索サーバＢ１８０をデータ検索サーバＡ１００からの検索指示に従って検索を行い、データを提供することができるようになる。
【０２１６】
また、上述したように、値テーブル３００の属性値３０２に記憶された属性値であって、型テーブル２００の属性型名２０２に記憶され、さらに詳細な分類が値テーブル３００に記憶された属性値を表示する場合には、図１１の下位ディレクトリ表示処理のステップＳ２０７において、ディレクトリ構成部１３４により移動先ディレクトリを型であると判定され、図１２に示す画面が表示されることとなり、結果としてより深い階層を持つディレクトリとして表示することができる。
【０２１７】
すなわち、大分類と小分類による２階層の分類だけではなく、多階層の分類を実現することができる。
【０２１８】
なお、上記のデータ検索システム１は、システムとして取引対象とするだけでなく、各機器単位、または機器の動作を実現するプログラム部品単位で取引対象とすることも可能である。
【０２１９】
以上が、本発明の実施形態である。
【図面の簡単な説明】
【０２２０】
【図１】本実施形態のデータ検索システムの構成図である。
【図２】本実施形態における型テーブルのデータ構造を示す図である。
【図３】本実施形態における値テーブルのデータ構造を示す図である。
【図４】本実施形態におけるファイル属性テーブルのデータ構造を示す図である。
【図５】本実施形態におけるディレクトリ構成テーブルのデータ構造を示す図である。
【図６】本実施形態におけるサーバ構成テーブルのデータ構造を示す図である。
【図７】本実施形態におけるファイルとメタ情報のデータ構造を示す図である。
【図８】本実施形態のハードウェア構成を示す図である。
【図９】本実施形態のルートディレクトリ表示処理の処理フローを示す図である。
【図１０】本実施形態におけるディレクトリ表示画面例を示す図である。
【図１１】本実施形態の下位ディレクトリ表示処理の処理フローを示す図である。
【図１２】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図１３】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図１４】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図１５】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図１６】本実施形態の上位ディレクトリ表示処理の処理フローを示す図である。
【図１７】本実施形態のファイル情報検索処理の処理フローを示す図である。
【符号の説明】
【０２２１】
１：データ検索システム、１００：データ検索サーバＡ、１２０：記憶部、１２１：型記憶領域、１２２：値記憶領域、１２３：ファイル属性記憶領域、１２４：ディレクトリ構成記憶領域、１２５：サーバ構成記憶領域、１３０：制御部、１３１：ファイル属性取得部、１３２：ファイル属性変更部、１３３：表示受付部、１３４：ディレクトリ構成部、１３５：ディレクトリ表示部、１３６：サーバ構成管理部、１４０：送受信部、１５０：ネットワーク、１７０：クライアント端末、１７１：制御部、１８０：データ検索サーバＢ、２００：型テーブル、３００：値テーブル、４００：ファイル属性テーブル、５００：ディレクトリ構成テーブル、６００：サーバ構成テーブル
【図１】
2009176057.tif 000003
【図２】
2009176057.tif 000004
【図３】
2009176057.tif 000005
【図４】
2009176057.tif 000006
【図５】
2009176057.tif 000007
【図６】
2009176057.tif 000008
【図７】
2009176057.tif 000009
【図８】
2009176057.tif 000010
【図９】
2009176057.tif 000011
【図１０】
2009176057.tif 000012
【図１１】
2009176057.tif 000013
【図１２】
2009176057.tif 000014
【図１３】
2009176057.tif 000015
【図１４】
2009176057.tif 000016
【図１５】
2009176057.tif 000017
【図１６】
2009176057.tif 000018
【図１７】
2009176057.tif 000019