(57)【要約】【課題】  ディレクトリ構造を特定せずとも効率よく目的のファイルを取り出せる技術を提供する。【解決手段】  蓄積されたファイルのディレクトリが、ファイルに付加されたメタ情報に含まれる属性情報に基づいて決定される。データ検索サーバは、外部から与えられたディレクトリ表示の要求に基づいてそのディレクトリに含まれるファイルのメタ情報を収集し（Ｓ２０５、Ｓ２０６）、メタ情報に基づいて下位のディレクトリを特定する（Ｓ２０８、Ｓ２１０）。特定された下位のディレクトリの各々について、メタ情報を参照してファイルを絞り込むことが可能か否か判別し、ファイルを絞り込むことができないと判定された下位ディレクトリが特定された下位ディレクトリから除外される（Ｓ２１２）。データ検索サーバは、除外されずに残ったディレクトリを表示ディレクトリとして表示装置に表示させる（Ｓ２１３）。【選択図】  図１１
2011018192.tif 000002
【特許請求の範囲】
【請求項１】
蓄積されたファイルのディレクトリが、ファイルに付加されたメタ情報に含まれる属性情報に基づいて決定されるファイルシステムにおいて用いられ、前記蓄積されたファイルを検索するためのデータ検索サーバであって、
外部から与えられたディレクトリ表示の要求に基づいて、表示が要求されたディレクトリに対応する属性情報を有するメタ情報を収集し、当該メタ情報に基づいて前記表示が要求されたディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部により特定された前記下位のディレクトリの各々について、前記ディレクトリ構成部により収集された前記メタ情報を参照し、前記表示を要求されたディレクトリに含まれるファイルを絞り込むことが可能か否か判別して、ファイルを絞り込むことができないと判定された下位ディレクトリを前記特定された下位ディレクトリから除外するディレクトリ先読部と、
前記特定されたディレクトリの中で、前記ディレクトリ先読部により除外されなかったディレクトリを表示ディレクトリとして表示装置に表示させるためのディレクトリ表示部と、を有することを特徴とするデータ検索サーバ。
【請求項２】
前記属性情報は、属性型と、前記属性型の下位の属性となる属性値とのペアを少なくとも１つ含み、前記ディレクトリ構成部は、前記表示が要求されたディレクトリが属性型に対応するものである場合は、前記下位のディレクトリとして前記属性値に対応するディレクトリを特定し、前記表示が要求されたディレクトリが属性値に対応するものである場合は、前記下位のディレクトリとして前記属性型に対応するディレクトリを特定し、前記表示部は、前記表示が要求されたディレクトリが属性型に対応するものである場合は前記表示ディレクトリを、前記表示が要求されたディレクトリが属性値に対応するものである場合は、前記表示ディレクトリをファイルを表す情報と共に表示させることを特徴とする請求項１記載のデータ検索サーバ。
【請求項３】
前記ディレクトリ先読部は、前記属性型と前記属性値とのペアについて、前記ディレクトリ構成部により収集された前記メタ情報を検索し、ペアとした全ての属性値について、検索の結果得られたメタ情報の数が、前記ディレクトリ構成部により収集された前記メタ情報の数よりも減少しない属性型に対応するディレクトリを除外することを特徴とする請求項２記載のデータ検索サーバ。
【請求項４】
前記ディレクトリ先読部は、前記表示が要求されたディレクトリが前記属性型に対応するものである場合は、前記表示が要求されたディレクトリに対応する属性型と前記ディレクトリ構成部により特定された下位のディレクトリに対応する属性値とのペアについて前記ディレクトリ構成部により収集された前記メタ情報を検索し、検索の結果得られたメタ情報を持つファイルの数が、前記表示が要求されたディレクトリの上位のディレクトリに含まれるファイルの数から減少しない場合に、当該属性値に対応したディレクトリを前記特定されたディレクトリから除外することを特徴とする請求項３記載のデータ検索サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、蓄積されたデータから目的とするデータの検索を行うための方法、及びそのような方法実現する計算機、並びに検索プログラム技術に関する。
【背景技術】
【０００２】
従来、記憶対象のデータに付加したメタ情報を元にファイルシステムにおけるディレクトリ構造を特定して、記憶対象のデータをファイルシステムに記憶させる技術がある。
【０００３】
記憶対象のデータは、付加されたメタ情報から導き出した情報とメタ情報の記述順序に基づいてファイルシステムの特定箇所に記憶される。
【０００４】
非特許文献１には、このようなメタ情報の記述方法についての規格が記載されており、この技術を用いることで、データにメタ情報を付加することができる。
【０００５】
また、楽曲データであればアーティスト毎に区分されたディレクトリに、アルバム毎に区分されたディレクトリを格納し、アルバム毎のディレクトリに、楽曲データファイルを格納するよう所定のディレクトリ構造を定めて当該楽曲データを管理する技術が、特許文献１に記載されている。その技術においては、新たにファイルシステムに記憶される楽曲データのメタ情報からアーティスト名とアルバム名を特定してディレクトリ構造を特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許公開２００４−２２７２８５号公報
【非特許文献１】Martin Nilsson.  "ID3 tag version 2.4.0".  [online]. 1st November 2000.  2009年5月26日検索,  インターネット〈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）などのファイル共有プロトコルに則って指示することで、多彩なデータ共有形態を実現することができる。
【０１５１】
また、その他の機能部についても、クライアント端末１７０に実装しても良いし、クライアント端末１７０とデータ検索サーバ１００との両方に実装してもよい。
【０１５２】
その他、データ検索サーバ１００に、クライアント端末１７０と同様のファイル閲覧部を備えてもよい。このようにすることで、データ検索サーバ１００をクライアント端末１７０としても動作させることが可能となり、機器構成の自由度を増加させることができる。
【０１５３】
また、上記のデータ検索システムにおいて、データ検索サーバＢ１８０は、データ検索サーバＡ１００と同様の構成を備えるものとしたが、これに限らず、上述したルートディレクトリ表示処理、下位ディレクトリ表示処理、上位ディレクトリ表示処理、およびファイル情報検索処理のうち、少なくともファイル方法検索処理を実施するものであってもよい。このように構成することで、データ検索サーバＡ１００をクライアント端末１７０に検索サービスを提供するサーバとして機能させ、データ検索サーバＢ１８０をデータ検索サーバＡ１００からの検索指示に従って検索を行い、データを提供するサーバとしてシステムを構築することができる。
【０１５４】
また、上述したように、属性値テーブル３００の属性値名欄３０２に記憶された属性値であって、属性型テーブル２００の属性型名欄２０２に記憶され、さらに詳細な分類が属性値テーブル３００に記憶された属性値を表示する場合には、図１１の下位ディレクトリ表示処理のステップＳ２０７において、ディレクトリ構成部１３４により移動先ディレクトリが属性型であると判定され、図１２に示す画面が表示されることになる。この結果、より深い階層を持つディレクトリとして表示することができる。すなわち、大分類と小分類による２階層の分類だけではなく、多階層の分類を実現することができる。
【０１５５】
なお、上記のデータ検索システム１は、システムとして取引対象とするだけでなく、各機器単位、または機器の動作を実現するプログラム部品単位で取引対象とすることも可能である。
【符号の説明】
【０１５６】
１００：データ検索サーバＡ、１２０：記憶部、１２１：型記憶領域、１２２：値記憶領域、１２３：ファイル属性記憶領域、１２４：ディレクトリ構成記憶領域、１２５：サーバ構成記憶領域、１３０：制御部、１３１：ファイル属性取得部、１３２：ファイル属性変更部、１３３：表示受付部、１３４：ディレクトリ構成部、１３５：ディレクトリ表示部、１３６：ディレクトリ先読部、１３７：サーバ構成管理部、１４０：送受信部、１５０：ネットワーク、１７０：クライアント端末、１７１：制御部、１８０：データ検索サーバＢ、２００：型テーブル、３００：値テーブル、４００：ファイル属性テーブル、５００：ディレクトリ構成テーブル、６００：サーバ構成テーブル
【図１】
2011018192.tif 000003
【図２】
2011018192.tif 000004
【図３】
2011018192.tif 000005
【図４】
2011018192.tif 000006
【図５】
2011018192.tif 000007
【図６】
2011018192.tif 000008
【図７】
2011018192.tif 000009
【図８】
2011018192.tif 000010
【図９】
2011018192.tif 000011
【図１０】
2011018192.tif 000012
【図１１】
2011018192.tif 000013
【図１２】
2011018192.tif 000014
【図１３】
2011018192.tif 000015
【図１４】
2011018192.tif 000016
【図１５】
2011018192.tif 000017
【図１６】
2011018192.tif 000018
【図１７】
2011018192.tif 000019