データ検索サーバ、検索プログラム、検索方法
【課題】従来、目的のファイルをファイルシステムから取り出すには、格納されたディレクトリの構造を指定する必要がある。ディレクトリ構造が指定できないと、目的のファイルを取り出せない場合がある。本発明は、ディレクトリ構造を特定せずとも目的のファイルを取り出せる技術を提供する。
【解決手段】データ検索サーバは、検索対象のファイルに付加されたメタ情報の型と値とを下位ディレクトリとして表示する。使用者が特定の下位ディレクトリへの移動を指示すると、データ検索サーバは、指示されたディレクトリの識別子を検索キーとしてメタ情報の型と値とを検索する。この際、検索キーを累積的に記憶しておき、累積的に記憶した検索キー全てをメタ情報に含むファイルを絞り込み、提示する。検索キーの指定順を問わないことで、データの格納先が不明なためにファイルを取り出せなくなることを防ぐ。
【解決手段】データ検索サーバは、検索対象のファイルに付加されたメタ情報の型と値とを下位ディレクトリとして表示する。使用者が特定の下位ディレクトリへの移動を指示すると、データ検索サーバは、指示されたディレクトリの識別子を検索キーとしてメタ情報の型と値とを検索する。この際、検索キーを累積的に記憶しておき、累積的に記憶した検索キー全てをメタ情報に含むファイルを絞り込み、提示する。検索キーの指定順を問わないことで、データの格納先が不明なためにファイルを取り出せなくなることを防ぐ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの検索を行う技術に関する。
【背景技術】
【0002】
従来、記憶対象のデータに付加したメタ情報を元にファイルシステムにおけるディレクトリ構造を特定して、記憶対象のデータをファイルシステムに記憶させる技術がある。
【0003】
記憶対象のデータは、付加されたメタ情報から導き出した情報とメタ情報の記述順序に基づいてファイルシステムの特定箇所に記憶される。
【0004】
非特許文献1には、このようなメタ情報の記述方法についての規格が記載されており、この技術を用いることで、データにメタ情報を付加することができる。
【0005】
また、楽曲データであればアーティスト毎に区分されたディレクトリに、アルバム毎に区分されたディレクトリを格納し、アルバム毎のディレクトリに、楽曲データファイルを格納するよう所定のディレクトリ構造を定めて当該楽曲データを管理する技術が、特許文献1に記載されている。その技術においては、新たにファイルシステムに記憶される楽曲データのメタ情報からアーティスト名とアルバム名を特定してディレクトリ構造を特定する。
【0006】
【特許文献1】特許公開2004−227285号公報
【非特許文献1】Martin Nilsson. "ID3 tag version 2.4.0". [online]. 1st November 2000. 2007年10月30日検索, インターネット〈URL:http://www.id3.org/id3v2.4.0-structure〉
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記特許文献1に記載の技術では、既に記憶されたデータをファイルシステムから検索する場合には、格納されたディレクトリ構造が固定的であるため、固定的なディレクトリ構造を指定しなければ、データを見つけることができず、ディレクトリ構造の指定を誤ると、実質上データをロストしてしまう場合がある。
【0008】
そこで、本発明は、ディレクトリ構造を知らなくても漏れなく記憶対象のデータを取り出せる技術の提供を目的とする。
【課題を解決するための手段】
【0009】
本願に係るデータ検索技術は、上記課題を解決するため、ファイルを検出するキーワードを受け付け、キーワードを含むメタ情報を持つファイルについて、キーワードを指定した順序に関係なく検出し、検出したファイルのメタ情報をもとにディレクトリ構造を動的に作成して表示する。
【0010】
例えば、データ検索サーバであって、記憶部と、前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、を備え、前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、ことを特徴とする。
【発明の効果】
【0011】
検索者はディレクトリ構造を知らなくても記憶対象のデータを取り出すことが可能となる。
【発明を実施するための最良の形態】
【0012】
以下に、本発明の実施形態について図1〜図17を用いて説明する。
【0013】
図1は、本発明の第一の実施形態のデータ検索システム1を示す図である。
【0014】
データ検索システム1は、データ検索サーバA100と、ネットワーク150を介してデータ検索サーバA100と通信を行うことができるデータ検索サーバB180と、ネットワーク150を介してデータ検索サーバA100と通信を行うことができるクライアント端末170と、を有する。
【0015】
通常、データ検索システム1は、クライアント端末170を複数有する。
【0016】
データ検索システム1のうち、クライアント端末170は、例えば、クライアントPC(パーソナルコンピュータ)や、ワークステーション、各種携帯電話端末、PDA(Personal Digital Assistant)、テレビジョン受像機、などの端末装置である。
【0017】
クライアント端末170は、制御部171と、送受信部175と、を備える。
【0018】
制御部171は、ファイル閲覧部172と、入力受付部173と、表示部174と、を備える。
【0019】
ファイル閲覧部172は、ディレクトリの構造などの情報とファイルの情報を表示するよう表示部174に指示し、表示したディレクトリの構造などの情報およびファイルの情報に対する使用者からの指示について、入力受付部173を介して受け付ける。
【0020】
そして、ファイル閲覧部172は、指定されたデータ検索サーバに対してディレクトリを表示するための情報を送信する。あるいは、受け付けた指示がファイルを対象とするものであれば、指定されたデータ検索サーバに対してファイルの取得依頼を送信する。
【0021】
入力受付部173は、使用者により入力された情報を受け付ける。例えば、キーボードやマウスなどの入力装置を介して検知した入力操作を受け付けて、制御部171へ伝える。
【0022】
表示部174は、制御部171からの表示指示を受けて、ディスプレイなどの出力装置へ表示する。
【0023】
送受信部175は、ネットワーク150に接続し、他の接続された機器に対して情報を送信し、他の接続された機器から情報を受信する。
【0024】
次に、データ検索サーバA100およびデータ検索サーバB180について説明する。
【0025】
データ検索サーバA100は、図1に示すように、記憶部120と、制御部130と、送受信部140と、を有する。図示しないが、データ検索サーバB180はデータ検索サーバA100と同様に記憶部120と、制御部130と、送受信部140と、を有する。
【0026】
記憶部120は、記憶領域として、型テーブル200を格納する型記憶領域121と、値テーブル300を格納する値記憶領域122と、ファイル属性テーブル400を格納するファイル属性記憶領域123と、ディレクトリ構成テーブル500を格納するディレクトリ構成記憶領域124と、サーバ構成テーブル600を格納するサーバ構成記憶領域125と、記憶対象ファイルを格納する記憶対象ファイル記憶領域126と、を有する。
【0027】
メタ情報は、後述するように、ファイルの属性を示す情報である。
【0028】
ファイルの属性は、大分類である型と、型の値に対応する具体的な小分類を示す値と、の対を複数含むものである。
【0029】
すなわち、型と値と、は、ファイルを分類する情報であり、複数の値が集合して一つの型を形成する関係にある。
【0030】
なお、小分類である値をさらに具体化した分類を取り扱う、すなわち階層的に分類を増やす場合には、小分類である値を型として設定し、さらに具体化した分類を値として設定するものとしてもよい。
【0031】
メタ情報に含まれる型の集合は、予め型テーブル200に記憶され、メタ情報に含まれる値の集合は、予め値テーブル300に記憶される。
【0032】
図2に、メタ情報に含まれる型の集合を記憶する型テーブル200の構成例を示す。
【0033】
型テーブル200は、大分類である型の定義を記憶するテーブルであり、具体的には、型テーブル200は、型識別番号欄201と、属性型名欄202と、を有する。
【0034】
型識別番号欄201には、メタ情報の属性の型を識別する番号が記憶される。例えば、「T0」、「T1」、等である。
【0035】
属性型名欄202には、属性の型の名称が記憶される。例えば、「作品名」、「アーティスト名」、等である。
【0036】
図3に、メタ情報に含まれる値の集合を記憶する値テーブル300の構成例を示す。値テーブル300は、小分類である値の定義を記憶するテーブルであり、具体的には、値テーブル300は、値識別番号欄301と、属性値欄302と、を有する。
【0037】
値識別番号欄301には、メタ情報の値を識別する番号が記憶される。例えば、「V0」、「V1」、等である。
【0038】
属性値欄302には、メタ情報の値が記憶される。例えば、「Alternative」、「Classical」、等である。
【0039】
図4に、ファイル毎のメタ情報を記憶するファイル属性テーブル400の構成例を示す。
【0040】
ファイル属性テーブル400は、ファイルに付加されたメタ情報から、ファイルの識別子とメタ情報の対応を記憶するテーブルである。
【0041】
具体的には、ファイル属性テーブル400は、ファイル識別子欄401と、型識別番号欄402と、値識別番号欄403と、を有する。
【0042】
ファイル識別子欄401には、記憶対象のファイルを識別する識別子が記憶される。例えば、「A番組」「B映画」「C番組」等である。
【0043】
型識別番号欄402には、記憶対象のファイルにメタ情報として付与された属性の型を識別する番号が記憶される。例えば、「T1」、「T4」、等である。
【0044】
値識別番号欄403には、記憶対象のデータであるファイルのメタ情報として付与された属性の値を識別する番号が記憶される。例えば、「V22」、「V3」、等である。
【0045】
図5に、クライアント端末170のファイル閲覧部172が表示させているディレクトリを特定するための情報を記憶するディレクトリ構成テーブル500の構成例を示す。
【0046】
一般に、クライアント端末170のファイル閲覧部172が表示させているディレクトリを特定するためには、クライアント端末170の特定と、クライアント端末170のファイル閲覧部172の特定が必要となる。
【0047】
そのため、本実施例においては、クライアント端末170の特定のためにクライアント識別子と、ファイル閲覧部172の特定のためにセッション識別子と、を用いる。しかし、これに限らず、クライアント端末170を特定する情報と、ファイル閲覧部172を特定する情報であれば、その他の情報であってもよい。
【0048】
ディレクトリ構成テーブル500は、クライアント識別子欄501と、セッション識別子欄502と、ディレクトリ表示条件欄503と、ディレクトリ表示時刻欄504と、を有する。
【0049】
クライアント識別子欄501には、データ検索サーバA100に対してデータの検索を要求したクライアント端末170を識別する情報が記憶される。例えば、「192.168.0.90」「192.168.0196」等のIPアドレス等である。
【0050】
セッション識別子欄502には、データ検索サーバA100に対してデータの検索を要求したクライアント端末170上で動作するファイル閲覧部172を識別する情報が記憶される。例えば、「SES94720」「SES85720」等のセッション識別子等である。
【0051】
ディレクトリ表示条件欄503には、クライアント識別子と、セッション識別子との組み合わせごとに、表示させているディレクトリを特定するための指定条件が記憶される。例えば、「T1,V22」、「T4,V3,T1,V22」、等、属性の型と値とのうち少なくともいずれか一方が含まれる情報である。
【0052】
ディレクトリ表示時刻欄504には、クライアント端末170に対してディレクトリ表示を行った時刻が記憶される。
【0053】
図6に、ネットワーク150を介して接続する他のデータ検索サーバA100の構成と、他のデータ検索サーバA100の接続可否の状態と、を記憶するサーバ構成テーブル600の構成例を示す。サーバ構成テーブル600は、サーバ識別子欄601と、接続可否欄602と、を有する。
【0054】
サーバ識別子欄601には、他のデータ検索サーバであるデータ検索サーバB180の識別子が記憶される。例えば、「サーバA」、「サーバB」、等である。
【0055】
接続可否欄602には、それぞれのデータ検索サーバの接続可否が記憶される。例えば、「OK」、「NG」、等である。
【0056】
ここで、記憶対象ファイルのデータ構造800について、図7を用いて説明する。
【0057】
図7は、記憶対象ファイルのデータ構造についての構成図である。
【0058】
記憶対象ファイルのデータ構造800は、ファイル識別子の領域801と、一連の再生単位として作成されたコンテンツの領域802と、メタ情報である型識別番号の領域803と、値識別番号の領域804との組を一または複数と、を有して構成される。
【0059】
ファイル識別子の領域801は、記憶対象ファイルを識別するための識別子を格納する領域であり、ファイル識別子はテキストデータで構成される。
【0060】
コンテンツの領域802は、記憶対象ファイルの本体ともいえるコンテンツを格納する領域であり、例えば楽曲や映像などのコンテンツが記憶される。
【0061】
型識別番号の領域803は、メタ情報のうち型を識別する型識別番号を記憶する領域である。例えば、型識別番号は、「T1」、「T4」、等である。
【0062】
値識別番号の領域804は、メタ情報のうち値を識別する値識別番号を記憶する領域である。例えば、値識別番号は、「V22」、「V3」、等である。
【0063】
次に、図1に示すデータ検索システム1を構成するハードウェアについて、図8を用いて説明する。
【0064】
図1の説明に戻る。
【0065】
制御部130は、ファイル属性取得部131と、ファイル属性変更部132と、表示受付部133と、ディレクトリ構成部134と、ディレクトリ表示部135と、サーバ構成管理部136と、を有している。
【0066】
ファイル属性取得部131は、クライアント端末170から記憶するよう指示された記憶対象ファイルを記憶部120の記憶対象ファイル記憶領域126に記憶させる。
【0067】
ファイル属性取得部131は、記憶対象ファイル記憶領域126に記憶させる際に、記憶対象のファイルに付加されたメタ情報を取得してファイル属性記憶領域123のファイル属性テーブル400のファイル識別子欄401にファイル識別子の領域801の値を記憶させ、型識別番号欄402に型識別番号の領域803の値を記憶させ、値識別番号欄403に値識別番号の領域804の値を記憶させる。
【0068】
ファイル属性変更部132は、記憶部120に記憶されたデータに関し、ファイル属性テーブル400に記憶されたファイル識別子欄401の値と、型識別番号欄402の値と、値識別番号欄403の値と、の変更後の値を受け付け、それぞれの値を受け付けた値に変更する。
【0069】
表示受付部133は、記憶部120に記憶されたデータに関して、クライアント端末170から表示を要求されると、これを表示要求として受け付け、クライアント端末170の識別子とセッション識別子を特定し、ディレクトリ構成部134、ディレクトリ表示部135へ処理を引き継ぐ。
【0070】
また、表示受付部133は、ファイル名を指定したファイルの取得依頼をクライアント端末170から受け付けた場合には、クライアント端末170に表示したディレクトリの表示条件に受け付けたファイル名を付加してファイルを記憶対象ファイルから特定する。
【0071】
そして、表示受付部133は、特定したファイルを送受信部140を介してクライアント端末170に送信する。
【0072】
ディレクトリ構成部134は、表示受付部133にて受け付けた表示要求を元に、他のデータ検索サーバB180に検索を依頼し、自サーバの記憶部120を検索し、検索結果を統合して、表示するディレクトリ構成やファイルを特定し、ディレクトリ表示部135に表示するよう指示する。
【0073】
ディレクトリ表示部135は、ディレクトリ構成部134から表示するよう指示を受けたディレクトリ構成やファイルを所定の表示画面で表示する情報を作成し、クライアント端末170に対して表示する情報を送信する。
【0074】
サーバ構成管理部136は、他のサーバの接続可否をモニタリングして、サーバが追加・削除・通信不能となったことを検知し、サーバ構成テーブル600に記憶させる。
【0075】
送受信部140は、ネットワーク150に接続し、他の接続された機器に対して情報を送受信する。
【0076】
図8に示す本実施形態では、クライアント端末170は、ネットワーク150を介して、データ検索サーバA100と接続することができる。
【0077】
データ検索サーバA100は、通信装置113と、演算装置114と、主記憶装置115と、補助記憶装置116と、それぞれを接続するバス117と、を有する。
【0078】
通信装置113は、ネットワーク150などのネットワークを介して他の装置と通信を行う装置である。
【0079】
演算装置114は、例えばCPU(Central Processing Unit)などの演算装置である。
【0080】
主記憶装置115は、例えばRAM(Random Access Memory)などのメモリ装置である。
【0081】
補助記憶装置116は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【0082】
クライアント端末170は、入力装置181と、出力装置182と、演算装置183と、主記憶装置184と、補助記憶装置185と、通信装置186と、これらを互いに接続するバス187と、を有する。
【0083】
ここで、入力装置181はキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
【0084】
出力装置182はディスプレイなどの表示を行う装置である。
【0085】
演算装置183は、例えばCPUなどの演算装置である。
【0086】
主記憶装置184は、例えばRAMなどのメモリ装置である。
【0087】
補助記憶装置185は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【0088】
通信装置186は、ネットワーク150などのネットワークを介して他の装置と通信を行う装置である。
【0089】
クライアント端末170の通信装置186は、ネットワーク150を通じて、データ検索サーバA100の通信装置113と通信を行うことができる。
【0090】
ここで、ネットワーク150は、LANや無線LANなどの通信網であるが、インターネットや公衆用の無線LANなどの公衆網であってもよいし、その他ケーブルテレビ網や携帯電話網などのネットワーク、あるいは電力線ネットワーク等でもよい。
【0091】
データ検索サーバA100のファイル属性取得部131と、ファイル属性変更部132と、表示受付部133と、ディレクトリ構成部134と、ディレクトリ表示部135と、サーバ構成管理部136と、は、データ検索サーバA100の演算装置114に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置115または補助記憶装置116内に記憶され、実行にあたって主記憶装置115上にロードされ、演算装置114により実行される。
【0092】
また、データ検索サーバA100の記憶部120は、データ検索サーバA100の主記憶装置115または補助記憶装置116により実現される。
【0093】
データ検索サーバA100の送受信部140は、データ検索サーバA100の通信装置113によって実現される。
【0094】
クライアント端末170のファイル閲覧部172と、入力受付部173と、表示指示部174と、は、クライアント端末170の演算装置183に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置184または補助記憶装置185内に記憶され、実行にあたって主記憶装置184上にロードされ、演算装置183により実行される。
【0095】
また、クライアント端末170の送受信部175は、クライアント端末170の通信装置186によって実現される。
【0096】
次に、本実施形態におけるデータ検索に関する処理のフローについて、図に基づき説明する。
【0097】
図9は、ルートディレクトリ表示処理を示すフロー図である。
【0098】
まず、表示受付部133は、クライアント端末170から、ルートディレクトリの表示依頼を受け付ける。(ステップS101)。
【0099】
具体的には、表示依頼には、クライアント識別子と、セッション識別子と、ルートディレクトリ表示依頼情報と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【0100】
そして、表示受付部133は、ステップS101で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する(ステップS102)。
【0101】
そして、ディレクトリ構成部134は、後述するとおり有効と判定したサーバに対して、ファイル情報を送信するよう依頼する。あわせて、ディレクトリ構成部134は、ディレクトリ構成テーブル500に対して、ステップS102で取得したクライアント識別子をクライアント識別子欄501に、セッション識別子をセッション識別子欄502に格納する(ステップS103)。
【0102】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、特定したサーバ識別子欄601に記憶された識別子で識別されるサーバを有効と判定し、有効と判定したサーバに対して、ルートディレクトリを検索する、すなわちディレクトリ表示条件を無指定で検索する、よう指示する。
【0103】
次に、ディレクトリ構成部134は、ステップS103で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS104)。
【0104】
具体的には、ディレクトリ構成部134は、ステップS103で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【0105】
そして、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報をファイル情報検索処理により取得する(ステップS105)。
【0106】
具体的には、自サーバのファイル属性テーブル400から、ファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を全て取得する。
【0107】
そして、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報と、ステップS104で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除する。
【0108】
そして、ディレクトリ構成部134は、重複を排除した型識別番号のそれぞれについて、型テーブル200を検索し、型識別番号が型識別番号欄201の値と一致する属性番号に対応する属性型名欄202の値を表示ディレクトリとして記憶する(ステップS106)。
【0109】
具体的には、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS104で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。そして、リストに含まれる型識別番号のそれぞれについて、型テーブル200の型識別番号欄201の値と比較し、合致する型識別番号と対応する属性型名欄202の値をリストして表示ディレクトリの情報として記憶する。
【0110】
次に、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS104で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、全ファイル数として記憶する(ステップS107)。
【0111】
次に、ディレクトリ構成部134は、全ファイルのファイル識別子をファイル名としてリストして、表示ファイルとして記憶する(ステップS108)。
【0112】
具体的には、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ファイル識別子のリストを作成する。そして、ディレクトリ構成部134は、ステップS104で受信した有効なサーバからのファイルに関する情報から取り出したファイル識別子を、作成したリストに加え、リストを表示ファイルの情報として記憶する。
【0113】
そして、ディレクトリ構成部134は、ステップS106で記憶した表示ディレクトリと、ステップS107で記憶した全ファイル数と、ステップS108で記憶した表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図10に示すルートディレクトリ表示画面700を構成してクライアント端末170に表示させる(ステップS109)。
【0114】
ルートディレクトリ表示画面700を構成する際に、ディレクトリ表示部135は、ステップS106で記憶した表示ディレクトリをディレクトリ名としてディレクトリのアイコン705として表示させ、ステップS107で記憶した全ファイル数をファイル数704に表示させ、ステップS108で記憶した表示ファイルをファイル名としてファイルのアイコン706として表示させるように構成する。
【0115】
図10は、ルートディレクトリを表示させるディレクトリ表示画面の例である。
【0116】
ディレクトリ表示画面700は、ウィンドウ701と、スクロールバー702と、表示ディレクトリ名703と、ファイル数704と、ディレクトリのアイコン705と、ファイルのアイコン706と、を有する。
【0117】
スクロールバー702は、スクロールの操作を受け付け、ウィンドウ701が一度に表示できないディレクトリのアイコン705と、ファイルのアイコン706と、を表示させる。
【0118】
ディレクトリのアイコン705は、使用者の選択操作を受け付け、選択されたディレクトリ名で特定されるディレクトリに含まれるファイルとディレクトリとを表示するようクライアント端末170のファイル閲覧部172に通知する。
【0119】
例えば、入力受付部173を介してダブルクリック等の選択指示を受け付けると、移動先ディレクトリのディレクトリ名としてダブルクリックされたディレクトリ名を指定して、移動先ディレクトリ表示依頼をファイル閲覧部172に通知する。
【0120】
ファイルのアイコン706は、使用者の選択操作を受け付け、選択されたファイル名で特定されるファイルを取得するようクライアント端末170のファイル閲覧部172に通知する。
【0121】
例えば、入力受付部173を介してダブルクリック等の開く指示を受け付けると、取得する対象のファイルのファイル名としてダブルクリックされたファイル名を指定して、ファイルを取得する依頼をクライアント端末170のファイル閲覧部172に通知する。
【0122】
このように、ディレクトリ表示画面700は、ルートディレクトリ下にあるファイルとディレクトリを表示させるための画面であり、ディレクトリ間の移動の指示やファイルの取得の指示を受け付ける画面である。
【0123】
次に、図11を用いて、下位ディレクトリ表示処理を説明する。
【0124】
まず、表示受付部133は、移動先ディレクトリを表示する依頼を受け付ける(ステップS201)。
【0125】
具体的には、移動先ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のファイル閲覧部を識別するセッション識別子が格納されている。
【0126】
そして、表示受付部133は、ステップS201で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、を取得する(ステップS202)。
【0127】
そして、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501とステップS202において取得したクライアント識別子とが一致し、セッション識別子欄502とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄503の値を取得する。そして、ディレクトリ構成部134は、ステップS202で取得した移動先ディレクトリ名を、取得したディレクトリ表示条件欄503の値に追加し、新たなディレクトリ表示条件としてディレクトリ表示条件欄503の値として記憶させる(ステップS203)。
【0128】
次に、ディレクトリ構成部134は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する(ステップS204)。
【0129】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップS203で記憶させた新たなディレクトリ表示条件を指定して検索する、よう指示する。
【0130】
次に、ディレクトリ構成部134は、ステップS204で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS205)。
【0131】
具体的には、ディレクトリ構成部134は、ステップS204で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【0132】
そして、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する(ステップS206)。
【0133】
具体的には、ディレクトリ構成部134は、自サーバのファイル属性テーブル400から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を全て取得する。
【0134】
そして、ディレクトリ構成部134は、移動先ディレクトリ名が型を指定する名称であるか否かを判定する(ステップS207)。
【0135】
具体的には、ディレクトリ構成部134は、移動先ディレクトリ名をキーとして、型テーブル200の属性型名欄202を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【0136】
移動先ディレクトリ名が型を指定する名称であれば(ステップS207で「Yes」)、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する(ステップS208)。
【0137】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、値識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない値識別番号を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【0138】
そして、後述するステップS211へ処理を進める。
【0139】
移動先ディレクトリ名が型を指定する名称でなければ(ステップS207で「No」)、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する(ステップS209)。
【0140】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていないファイル識別子を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【0141】
そして、続けて、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複排除後の型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する(ステップS210)。
【0142】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【0143】
そして、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501とステップS202において取得したクライアント識別子とが一致し、セッション識別子欄502とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄503の値を取得し、作成したリストから、ディレクトリ表示条件欄503の値に含まれている型識別番号を削除し、リストを表示ディレクトリの情報として記憶する。
【0144】
次に、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS205で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する(ステップS211)。
【0145】
そして、ディレクトリ構成部134は、ステップS208またはステップS210で記憶した表示ディレクトリと、ステップS211で算出した全ファイル数と、ステップS209で記憶した表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図12〜図15に示す下位ディレクトリ表示画面を構成してクライアント端末170に表示させる。その際、ディレクトリ表示部135は、ディレクトリ構成テーブル500のディレクトリ表示時刻欄504に、処理時刻を記憶させる(ステップS212)。
【0146】
図12のディレクトリ表示画面は、ステップS207で移動先ディレクトリが型を指定する名称であると判定した場合に表示させる画面である。図12のディレクトリ表示画面を構成する際に、ディレクトリ表示部135は、ステップS208で記憶した表示ディレクトリをディレクトリのアイコン705として表示させ、ステップS211で算出したファイル数をファイル数704に表示させるように構成する。
【0147】
また、ディレクトリ表示条件欄503に記憶された情報をディレクトリ名703に表示させるように構成する。
【0148】
図13のディレクトリ表示画面は、ステップS207で移動先ディレクトリが型を指定する名称でないと判定した場合に表示させる(すなわち、図12のディレクトリ表示画面で「Jazz」ディレクトリへ移動するように指定した場合等に表示させる)画面である。図13のディレクトリ表示画面を構成する際に、ディレクトリ表示部135は、ステップS209で記憶した表示ファイルをファイルのアイコン706として表示させ、ステップS211で算出したファイル数をファイル数704に表示させ、ステップS210で記憶した表示ディレクトリをディレクトリのアイコン705として表示させるように構成する。
【0149】
図14のディレクトリ表示画面は、図12のディレクトリ表示画面と同様の画面であり、図13のディレクトリ表示画面で「アーティスト名」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【0150】
図15のディレクトリ表示画面は、図13のディレクトリ表示画面と同様の画面であり、図14のディレクトリ表示画面で「アーティストB」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【0151】
次に、図16を用いて、上位ディレクトリ表示処理を説明する。
【0152】
まず、表示受付部133は、上位ディレクトリを表示する依頼を受け付ける(ステップS301)。
【0153】
具体的には、上位ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【0154】
そして、表示受付部133は、ステップS301で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する(ステップS302)。
【0155】
そして、ディレクトリ構成部134は、ステップS302にて取得したクライアント識別子とセッション識別子で識別される画面が表示する画面より一つ上位の画面を表示した際に使用したディレクトリ表示条件を得る(ステップS303)。
【0156】
具体的には、、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501のクライアント識別子とステップS302において取得したクライアント識別子とが一致し、セッション識別子欄502のセッション識別子とステップS302において取得したセッション識別子とが一致する、情報を検索する。
【0157】
そして、ディレクトリ構成部134は、検索の結果一致した情報のうち、ディレクトリ表示条件欄503の値と、ディレクトリ表示時刻欄504の値と、を取得する。
【0158】
そして、ディレクトリ構成部134は、取得したディレクトリ表示条件欄503の値から、最後尾のディレクトリ名を削除して新たなディレクトリ表示条件としてディレクトリ表示条件欄503の値として記憶させる。
【0159】
次に、ディレクトリ構成部134は、サーバ構成に変化があったか否かをサーバ構成管理部136に問い合わせ、サーバ構成管理部136に問い合わせた結果によりサーバ構成に変化があったか否かを判定する(ステップS304)。
【0160】
具体的には、サーバ構成管理部134は、ステップS303で取得したディレクトリ表示時刻欄504の値をサーバ構成管理部136に送信し、サーバ構成管理部136は、最新のサーバ構成変更時刻と受信したディレクトリ表示時刻欄504の値とを比較して、最新のサーバ構成変更時刻のほうが新しければ、サーバ構成に変化があった旨をディレクトリ構成部134に送信する。そうでなければ、サーバ構成に変化がない旨をディレクトリ構成部134に送信する。
【0161】
サーバ構成に変化があったと判定した場合(ステップS304で「Yes」)、ディレクトリ構成部134は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する(ステップS305)。
【0162】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップS303で記憶させた新たなディレクトリ表示条件を指定して検索するよう指示する。
【0163】
次に、ディレクトリ構成部134は、ステップS305で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS306)。
【0164】
具体的には、ディレクトリ構成部134は、ステップS305で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。そして、ステップS307へ処理を進める。
【0165】
サーバ構成に変化があったと判定しなかった場合(ステップS304で「No」)、ディレクトリ構成部134は、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報を流用して、ステップS307へ処理を進める。
【0166】
次に、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する(ステップS307)。
【0167】
具体的には、ディレクトリ構成部134は、自サーバのファイル属性テーブル400から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を取得する。
【0168】
次に、ディレクトリ構成部134は、ステップS306で受信したデータが、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報と比較して、相違があるか否かを判定する。あわせて、ディレクトリ構成部134は、ステップS307で取得したデータが、上位ディレクトリを表示させたときに用いたファイルに関する情報と比較して、相違があるか否かを判定する(ステップS308)。
【0169】
いずれにも相違が無ければ(ステップS308で「No」)、ディレクトリ構成部134は、後述するステップS314に処理を進める。
【0170】
相違があれば(ステップS308で「Yes」)、ディレクトリ構成部134は、移動先ディレクトリ名(上位ディレクトリ名)が型を指定する名称であるか否かを判定する(ステップS309)。
【0171】
具体的には、ディレクトリ構成部134は、移動先ディレクトリ名をキーとして、型テーブル200の属性型名欄202を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【0172】
移動先ディレクトリ名が型を指定する名称であれば(ステップS309で「Yes」)、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する(ステップS310)。
【0173】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から値識別番号を取り出し、取り出した値識別番号をソートし、重複する値識別番号を排除したリストを作成する。
【0174】
そして、ディレクトリ構成部134は、作成したリストに含まれていない値識別番号を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【0175】
そして、後述するステップS313へ処理を進める。
【0176】
移動先ディレクトリ名が型を指定する名称でなければ(ステップS309で「No」)、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する(ステップS311)。
【0177】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていないファイル識別子を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【0178】
そして、続けて、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複を排除した型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する(ステップS312)。
【0179】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【0180】
次に、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS306で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する(ステップS313)。
【0181】
そして、ディレクトリ構成部134は、ステップS310、ステップS312で記憶した表示ディレクトリまたは上位ディレクトリを表示した際の表示ディレクトリと、ステップS313で算出した全ファイル数または上位ディレクトリを表示した際の全ファイル数と、ステップS311で記憶した表示ファイルまたは上位ディレクトリを表示した際の表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図12〜図15に示す下位ディレクトリ表示画面を構成してクライアント端末170に表示させる。その際、ディレクトリ表示部135は、ディレクトリ構成テーブル500のディレクトリ表示時刻欄504に、処理時刻を記憶させる(ステップS314)。
【0182】
このように、上位ディレクトリ表示処理では、一度表示させたディレクトリの表示を再利用するが、データ検索サーバの構成が変更された場合や検索したデータに変更がある場合には、再度検索をしなおす。このようにすることで、ディレクトリの最新状態を表示できる。
【0183】
これらのルートディレクトリ表示処理、下位ディレクトリ表示処理、上位ディレクトリ表示処理によって、使用者が指定した条件を満たすメタ情報を備えるファイルを検索する際にその順序とは関係なくデータを絞込検索し、表示することができるため、ファイルを探すことができずにデータを見失ってしまうことを防ぐことができる。
【0184】
次に、ファイル情報検索処理について、図17を用いて説明する。
【0185】
図17は、サブルーチンとして使用されるファイル情報検索処理を示すフローチャートである。
【0186】
ディレクトリ構成部134は、ディレクトリ表示条件を受け付ける(ステップS401)。
【0187】
そして、ディレクトリ構成部134は、ファイル属性テーブル400に記憶された全ファイルについての情報を取得する(ステップS402)。
【0188】
次に、ディレクトリ構成部134は、ステップS401で受け付けたディレクトリ表示条件を分割して、リスト化する(ステップS403)。
【0189】
具体的には、ディレクトリ構成部134は、ディレクトリ表示条件をコンマ等の所定のデリミタ記号ごとに区切って分割し、分割した値を直列的にアクセス可能なリスト構造として記憶する。
【0190】
そして、ディレクトリ構成部134は、ステップS403で作成したリストの次なる値を取得して変数Aに記憶させる(ステップS404)。
【0191】
次に、ディレクトリ構成部134は、Aが型識別番号であるか否かを判定する(ステップS405)。
【0192】
具体的には、ディレクトリ構成部134は、変数Aをキーとして、型テーブル200の型識別番号欄201の情報を検索し、合致する型識別番号が存在すれば型識別番号であると判定し、そうでなければ型識別番号ではないと判定する。
【0193】
変数Aの値が型識別番号でなければ(ステップS405で「No」)、ディレクトリ構成部134は、後述するステップS410に処理を進める。
【0194】
変数Aの値が型識別番号であれば(ステップS405で「Yes」)、ディレクトリ構成部134は、ステップS402で取得した全ファイルについての情報のうち、型識別番号がAの値と一致するファイルを選択する(ステップS406)。
【0195】
そして、ディレクトリ構成部134は、ステップS403で作成したリストの次なる値を取得して変数Bに記憶させる(ステップS407)。
【0196】
次に、ディレクトリ構成部134は、Bが値識別番号であるか否かを判定する(ステップS408)。
【0197】
具体的には、ディレクトリ構成部134は、変数Bをキーとして、値テーブル200の値識別番号欄301の情報を検索し、合致する値識別番号が存在すれば値識別番号であると判定し、そうでなければ値識別番号ではないと判定する。
【0198】
変数Bの値が値識別番号でなければ(ステップS408で「No」)、ディレクトリ構成部134は、後述するステップS410に処理を進める。
【0199】
変数Bの値が値識別番号であれば(ステップS408で「Yes」)、ディレクトリ構成部134は、ステップS406で選択したファイルについての情報のうち、値識別番号がBの値と一致するファイルを選択し、ステップS404に処理を戻す。(ステップS409)。
【0200】
次に、ステップS405で「No」あるいはステップS408で「No」であった場合には、ステップS402で取得した全ファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する。または、ステップS402で取得した全ファイルからステップS406とステップS409との処理により選択したファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する(ステップS410)。
【0201】
そして、処理を終了する。
【0202】
以上が、ファイル情報検索処理のフローである。
【0203】
このファイル情報検索処理によって、指定した条件を満たすメタ情報を備えるファイルを検索する際に、その順序とは関係なくデータを絞込検索することができる。
【0204】
また、図示しないが、サーバ構成管理部136は、所定の期間(例えば、10秒)に一度、データ検索サーバB180およびその他ネットワーク150に接続されているデータ検索サーバに対してサービス生死判定等を行い、サービスがなされていない、すなわちデータ検索ができないサーバを発見し、サーバ構成テーブル600の接続可否欄602を「NG」として記憶する。このとき、サービスを可能なサーバについて、有効なサーバと判定して、サービスを可能なサーバの接続可否欄602を「OK」に設定する。
【0205】
サーバ構成管理部136がサービス生死判定を行う対象のサーバは、サーバ構成テーブル600のサーバ識別子欄601に記憶されたサーバであるが、このサーバは、予め登録されたものであっても良いし、サーバ構成管理部が生死判定に先立ってブロードキャスト等を行い、存在が確認されたサーバを対象として実施するようにしてもよい。
【0206】
また、ファイル属性変更部132は、クライアント端末170の制御部171に実装されたファイル閲覧部172から送信されたファイル属性情報の変更に関する情報を受信し、ファイル属性テーブル400のファイル識別子欄401と、型識別番号欄402と、値識別番号欄403と、の値を変更する。
【0207】
具体的には、ファイル属性情報の変更に関する情報が、あるファイル識別子で識別されるファイルに対して、型識別番号と値識別番号とを追加するものであった場合、ファイル属性変更部132は、ファイル識別子と合致するファイルの情報について、型識別番号欄402に型識別番号を、値識別番号欄403に値識別番号を、それぞれ追加して記憶させる。
【0208】
以上、本発明の実施の形態について、実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能である。
【0209】
例えば、ディレクトリ表示部135は、上記実施形態では、データ検索サーバ100の制御部130に実装していたが、これに限らず、例えばクライアント端末170の制御部171に実装してもよい。
【0210】
この場合、ディレクトリ構成部134は、ステップS109、ステップS212、ステップS314等の結果を表示させる際に、クライアント端末170上に存在するディレクトリ表示部135に対してネットワーク150を介して指示する。例えば、ネットワークを介してファイルを共有するNFS(Network File System)、CIFS(Common Internet File System)、またはSMB(Server Message Block )などのファイル共有プロトコルに則って指示することで、多彩なデータ共有形態を実現することができる。
【0211】
また、その他の機能部についても、クライアント170に実装しても良いし、クライアント170とデータ検索サーバ100との両方に実装してもよい。
【0212】
その他、データ検索サーバ100に、クライアント170と同様のファイル閲覧部を備えてもよい。
【0213】
このようにすることで、データ検索サーバ100をクライアント端末170として動作させることが可能となり、機器構成の自由度を増加させることができる。
【0214】
また、上記のデータ検索システム1において、データ検索サーバB180は、データ検索サーバA100と同様の構成を備えるものとしたが、これに限らず、図9に示すルートディレクトリ表示処理、図11に示す下位ディレクトリ表示処理、図16に示す上位ディレクトリ表示処理、および図17に示すファイル情報検索処理のうち、少なくともファイル方法検索処理を実施するものであってもよい。
【0215】
そのようにすることで、データ検索システム1において、データ検索サーバA100をクライアントに検索サービスを行うサーバとして機能させ、データ検索サーバB180をデータ検索サーバA100からの検索指示に従って検索を行い、データを提供することができるようになる。
【0216】
また、上述したように、値テーブル300の属性値302に記憶された属性値であって、型テーブル200の属性型名202に記憶され、さらに詳細な分類が値テーブル300に記憶された属性値を表示する場合には、図11の下位ディレクトリ表示処理のステップS207において、ディレクトリ構成部134により移動先ディレクトリを型であると判定され、図12に示す画面が表示されることとなり、結果としてより深い階層を持つディレクトリとして表示することができる。
【0217】
すなわち、大分類と小分類による2階層の分類だけではなく、多階層の分類を実現することができる。
【0218】
なお、上記のデータ検索システム1は、システムとして取引対象とするだけでなく、各機器単位、または機器の動作を実現するプログラム部品単位で取引対象とすることも可能である。
【0219】
以上が、本発明の実施形態である。
【図面の簡単な説明】
【0220】
【図1】本実施形態のデータ検索システムの構成図である。
【図2】本実施形態における型テーブルのデータ構造を示す図である。
【図3】本実施形態における値テーブルのデータ構造を示す図である。
【図4】本実施形態におけるファイル属性テーブルのデータ構造を示す図である。
【図5】本実施形態におけるディレクトリ構成テーブルのデータ構造を示す図である。
【図6】本実施形態におけるサーバ構成テーブルのデータ構造を示す図である。
【図7】本実施形態におけるファイルとメタ情報のデータ構造を示す図である。
【図8】本実施形態のハードウェア構成を示す図である。
【図9】本実施形態のルートディレクトリ表示処理の処理フローを示す図である。
【図10】本実施形態におけるディレクトリ表示画面例を示す図である。
【図11】本実施形態の下位ディレクトリ表示処理の処理フローを示す図である。
【図12】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図13】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図14】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図15】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図16】本実施形態の上位ディレクトリ表示処理の処理フローを示す図である。
【図17】本実施形態のファイル情報検索処理の処理フローを示す図である。
【符号の説明】
【0221】
1:データ検索システム、100:データ検索サーバA、120:記憶部、121:型記憶領域、122:値記憶領域、123:ファイル属性記憶領域、124:ディレクトリ構成記憶領域、125:サーバ構成記憶領域、130:制御部、131:ファイル属性取得部、132:ファイル属性変更部、133:表示受付部、134:ディレクトリ構成部、135:ディレクトリ表示部、136:サーバ構成管理部、140:送受信部、150:ネットワーク、170:クライアント端末、171:制御部、180:データ検索サーバB、200:型テーブル、300:値テーブル、400:ファイル属性テーブル、500:ディレクトリ構成テーブル、600:サーバ構成テーブル
【技術分野】
【0001】
本発明は、データの検索を行う技術に関する。
【背景技術】
【0002】
従来、記憶対象のデータに付加したメタ情報を元にファイルシステムにおけるディレクトリ構造を特定して、記憶対象のデータをファイルシステムに記憶させる技術がある。
【0003】
記憶対象のデータは、付加されたメタ情報から導き出した情報とメタ情報の記述順序に基づいてファイルシステムの特定箇所に記憶される。
【0004】
非特許文献1には、このようなメタ情報の記述方法についての規格が記載されており、この技術を用いることで、データにメタ情報を付加することができる。
【0005】
また、楽曲データであればアーティスト毎に区分されたディレクトリに、アルバム毎に区分されたディレクトリを格納し、アルバム毎のディレクトリに、楽曲データファイルを格納するよう所定のディレクトリ構造を定めて当該楽曲データを管理する技術が、特許文献1に記載されている。その技術においては、新たにファイルシステムに記憶される楽曲データのメタ情報からアーティスト名とアルバム名を特定してディレクトリ構造を特定する。
【0006】
【特許文献1】特許公開2004−227285号公報
【非特許文献1】Martin Nilsson. "ID3 tag version 2.4.0". [online]. 1st November 2000. 2007年10月30日検索, インターネット〈URL:http://www.id3.org/id3v2.4.0-structure〉
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記特許文献1に記載の技術では、既に記憶されたデータをファイルシステムから検索する場合には、格納されたディレクトリ構造が固定的であるため、固定的なディレクトリ構造を指定しなければ、データを見つけることができず、ディレクトリ構造の指定を誤ると、実質上データをロストしてしまう場合がある。
【0008】
そこで、本発明は、ディレクトリ構造を知らなくても漏れなく記憶対象のデータを取り出せる技術の提供を目的とする。
【課題を解決するための手段】
【0009】
本願に係るデータ検索技術は、上記課題を解決するため、ファイルを検出するキーワードを受け付け、キーワードを含むメタ情報を持つファイルについて、キーワードを指定した順序に関係なく検出し、検出したファイルのメタ情報をもとにディレクトリ構造を動的に作成して表示する。
【0010】
例えば、データ検索サーバであって、記憶部と、前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、を備え、前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、ことを特徴とする。
【発明の効果】
【0011】
検索者はディレクトリ構造を知らなくても記憶対象のデータを取り出すことが可能となる。
【発明を実施するための最良の形態】
【0012】
以下に、本発明の実施形態について図1〜図17を用いて説明する。
【0013】
図1は、本発明の第一の実施形態のデータ検索システム1を示す図である。
【0014】
データ検索システム1は、データ検索サーバA100と、ネットワーク150を介してデータ検索サーバA100と通信を行うことができるデータ検索サーバB180と、ネットワーク150を介してデータ検索サーバA100と通信を行うことができるクライアント端末170と、を有する。
【0015】
通常、データ検索システム1は、クライアント端末170を複数有する。
【0016】
データ検索システム1のうち、クライアント端末170は、例えば、クライアントPC(パーソナルコンピュータ)や、ワークステーション、各種携帯電話端末、PDA(Personal Digital Assistant)、テレビジョン受像機、などの端末装置である。
【0017】
クライアント端末170は、制御部171と、送受信部175と、を備える。
【0018】
制御部171は、ファイル閲覧部172と、入力受付部173と、表示部174と、を備える。
【0019】
ファイル閲覧部172は、ディレクトリの構造などの情報とファイルの情報を表示するよう表示部174に指示し、表示したディレクトリの構造などの情報およびファイルの情報に対する使用者からの指示について、入力受付部173を介して受け付ける。
【0020】
そして、ファイル閲覧部172は、指定されたデータ検索サーバに対してディレクトリを表示するための情報を送信する。あるいは、受け付けた指示がファイルを対象とするものであれば、指定されたデータ検索サーバに対してファイルの取得依頼を送信する。
【0021】
入力受付部173は、使用者により入力された情報を受け付ける。例えば、キーボードやマウスなどの入力装置を介して検知した入力操作を受け付けて、制御部171へ伝える。
【0022】
表示部174は、制御部171からの表示指示を受けて、ディスプレイなどの出力装置へ表示する。
【0023】
送受信部175は、ネットワーク150に接続し、他の接続された機器に対して情報を送信し、他の接続された機器から情報を受信する。
【0024】
次に、データ検索サーバA100およびデータ検索サーバB180について説明する。
【0025】
データ検索サーバA100は、図1に示すように、記憶部120と、制御部130と、送受信部140と、を有する。図示しないが、データ検索サーバB180はデータ検索サーバA100と同様に記憶部120と、制御部130と、送受信部140と、を有する。
【0026】
記憶部120は、記憶領域として、型テーブル200を格納する型記憶領域121と、値テーブル300を格納する値記憶領域122と、ファイル属性テーブル400を格納するファイル属性記憶領域123と、ディレクトリ構成テーブル500を格納するディレクトリ構成記憶領域124と、サーバ構成テーブル600を格納するサーバ構成記憶領域125と、記憶対象ファイルを格納する記憶対象ファイル記憶領域126と、を有する。
【0027】
メタ情報は、後述するように、ファイルの属性を示す情報である。
【0028】
ファイルの属性は、大分類である型と、型の値に対応する具体的な小分類を示す値と、の対を複数含むものである。
【0029】
すなわち、型と値と、は、ファイルを分類する情報であり、複数の値が集合して一つの型を形成する関係にある。
【0030】
なお、小分類である値をさらに具体化した分類を取り扱う、すなわち階層的に分類を増やす場合には、小分類である値を型として設定し、さらに具体化した分類を値として設定するものとしてもよい。
【0031】
メタ情報に含まれる型の集合は、予め型テーブル200に記憶され、メタ情報に含まれる値の集合は、予め値テーブル300に記憶される。
【0032】
図2に、メタ情報に含まれる型の集合を記憶する型テーブル200の構成例を示す。
【0033】
型テーブル200は、大分類である型の定義を記憶するテーブルであり、具体的には、型テーブル200は、型識別番号欄201と、属性型名欄202と、を有する。
【0034】
型識別番号欄201には、メタ情報の属性の型を識別する番号が記憶される。例えば、「T0」、「T1」、等である。
【0035】
属性型名欄202には、属性の型の名称が記憶される。例えば、「作品名」、「アーティスト名」、等である。
【0036】
図3に、メタ情報に含まれる値の集合を記憶する値テーブル300の構成例を示す。値テーブル300は、小分類である値の定義を記憶するテーブルであり、具体的には、値テーブル300は、値識別番号欄301と、属性値欄302と、を有する。
【0037】
値識別番号欄301には、メタ情報の値を識別する番号が記憶される。例えば、「V0」、「V1」、等である。
【0038】
属性値欄302には、メタ情報の値が記憶される。例えば、「Alternative」、「Classical」、等である。
【0039】
図4に、ファイル毎のメタ情報を記憶するファイル属性テーブル400の構成例を示す。
【0040】
ファイル属性テーブル400は、ファイルに付加されたメタ情報から、ファイルの識別子とメタ情報の対応を記憶するテーブルである。
【0041】
具体的には、ファイル属性テーブル400は、ファイル識別子欄401と、型識別番号欄402と、値識別番号欄403と、を有する。
【0042】
ファイル識別子欄401には、記憶対象のファイルを識別する識別子が記憶される。例えば、「A番組」「B映画」「C番組」等である。
【0043】
型識別番号欄402には、記憶対象のファイルにメタ情報として付与された属性の型を識別する番号が記憶される。例えば、「T1」、「T4」、等である。
【0044】
値識別番号欄403には、記憶対象のデータであるファイルのメタ情報として付与された属性の値を識別する番号が記憶される。例えば、「V22」、「V3」、等である。
【0045】
図5に、クライアント端末170のファイル閲覧部172が表示させているディレクトリを特定するための情報を記憶するディレクトリ構成テーブル500の構成例を示す。
【0046】
一般に、クライアント端末170のファイル閲覧部172が表示させているディレクトリを特定するためには、クライアント端末170の特定と、クライアント端末170のファイル閲覧部172の特定が必要となる。
【0047】
そのため、本実施例においては、クライアント端末170の特定のためにクライアント識別子と、ファイル閲覧部172の特定のためにセッション識別子と、を用いる。しかし、これに限らず、クライアント端末170を特定する情報と、ファイル閲覧部172を特定する情報であれば、その他の情報であってもよい。
【0048】
ディレクトリ構成テーブル500は、クライアント識別子欄501と、セッション識別子欄502と、ディレクトリ表示条件欄503と、ディレクトリ表示時刻欄504と、を有する。
【0049】
クライアント識別子欄501には、データ検索サーバA100に対してデータの検索を要求したクライアント端末170を識別する情報が記憶される。例えば、「192.168.0.90」「192.168.0196」等のIPアドレス等である。
【0050】
セッション識別子欄502には、データ検索サーバA100に対してデータの検索を要求したクライアント端末170上で動作するファイル閲覧部172を識別する情報が記憶される。例えば、「SES94720」「SES85720」等のセッション識別子等である。
【0051】
ディレクトリ表示条件欄503には、クライアント識別子と、セッション識別子との組み合わせごとに、表示させているディレクトリを特定するための指定条件が記憶される。例えば、「T1,V22」、「T4,V3,T1,V22」、等、属性の型と値とのうち少なくともいずれか一方が含まれる情報である。
【0052】
ディレクトリ表示時刻欄504には、クライアント端末170に対してディレクトリ表示を行った時刻が記憶される。
【0053】
図6に、ネットワーク150を介して接続する他のデータ検索サーバA100の構成と、他のデータ検索サーバA100の接続可否の状態と、を記憶するサーバ構成テーブル600の構成例を示す。サーバ構成テーブル600は、サーバ識別子欄601と、接続可否欄602と、を有する。
【0054】
サーバ識別子欄601には、他のデータ検索サーバであるデータ検索サーバB180の識別子が記憶される。例えば、「サーバA」、「サーバB」、等である。
【0055】
接続可否欄602には、それぞれのデータ検索サーバの接続可否が記憶される。例えば、「OK」、「NG」、等である。
【0056】
ここで、記憶対象ファイルのデータ構造800について、図7を用いて説明する。
【0057】
図7は、記憶対象ファイルのデータ構造についての構成図である。
【0058】
記憶対象ファイルのデータ構造800は、ファイル識別子の領域801と、一連の再生単位として作成されたコンテンツの領域802と、メタ情報である型識別番号の領域803と、値識別番号の領域804との組を一または複数と、を有して構成される。
【0059】
ファイル識別子の領域801は、記憶対象ファイルを識別するための識別子を格納する領域であり、ファイル識別子はテキストデータで構成される。
【0060】
コンテンツの領域802は、記憶対象ファイルの本体ともいえるコンテンツを格納する領域であり、例えば楽曲や映像などのコンテンツが記憶される。
【0061】
型識別番号の領域803は、メタ情報のうち型を識別する型識別番号を記憶する領域である。例えば、型識別番号は、「T1」、「T4」、等である。
【0062】
値識別番号の領域804は、メタ情報のうち値を識別する値識別番号を記憶する領域である。例えば、値識別番号は、「V22」、「V3」、等である。
【0063】
次に、図1に示すデータ検索システム1を構成するハードウェアについて、図8を用いて説明する。
【0064】
図1の説明に戻る。
【0065】
制御部130は、ファイル属性取得部131と、ファイル属性変更部132と、表示受付部133と、ディレクトリ構成部134と、ディレクトリ表示部135と、サーバ構成管理部136と、を有している。
【0066】
ファイル属性取得部131は、クライアント端末170から記憶するよう指示された記憶対象ファイルを記憶部120の記憶対象ファイル記憶領域126に記憶させる。
【0067】
ファイル属性取得部131は、記憶対象ファイル記憶領域126に記憶させる際に、記憶対象のファイルに付加されたメタ情報を取得してファイル属性記憶領域123のファイル属性テーブル400のファイル識別子欄401にファイル識別子の領域801の値を記憶させ、型識別番号欄402に型識別番号の領域803の値を記憶させ、値識別番号欄403に値識別番号の領域804の値を記憶させる。
【0068】
ファイル属性変更部132は、記憶部120に記憶されたデータに関し、ファイル属性テーブル400に記憶されたファイル識別子欄401の値と、型識別番号欄402の値と、値識別番号欄403の値と、の変更後の値を受け付け、それぞれの値を受け付けた値に変更する。
【0069】
表示受付部133は、記憶部120に記憶されたデータに関して、クライアント端末170から表示を要求されると、これを表示要求として受け付け、クライアント端末170の識別子とセッション識別子を特定し、ディレクトリ構成部134、ディレクトリ表示部135へ処理を引き継ぐ。
【0070】
また、表示受付部133は、ファイル名を指定したファイルの取得依頼をクライアント端末170から受け付けた場合には、クライアント端末170に表示したディレクトリの表示条件に受け付けたファイル名を付加してファイルを記憶対象ファイルから特定する。
【0071】
そして、表示受付部133は、特定したファイルを送受信部140を介してクライアント端末170に送信する。
【0072】
ディレクトリ構成部134は、表示受付部133にて受け付けた表示要求を元に、他のデータ検索サーバB180に検索を依頼し、自サーバの記憶部120を検索し、検索結果を統合して、表示するディレクトリ構成やファイルを特定し、ディレクトリ表示部135に表示するよう指示する。
【0073】
ディレクトリ表示部135は、ディレクトリ構成部134から表示するよう指示を受けたディレクトリ構成やファイルを所定の表示画面で表示する情報を作成し、クライアント端末170に対して表示する情報を送信する。
【0074】
サーバ構成管理部136は、他のサーバの接続可否をモニタリングして、サーバが追加・削除・通信不能となったことを検知し、サーバ構成テーブル600に記憶させる。
【0075】
送受信部140は、ネットワーク150に接続し、他の接続された機器に対して情報を送受信する。
【0076】
図8に示す本実施形態では、クライアント端末170は、ネットワーク150を介して、データ検索サーバA100と接続することができる。
【0077】
データ検索サーバA100は、通信装置113と、演算装置114と、主記憶装置115と、補助記憶装置116と、それぞれを接続するバス117と、を有する。
【0078】
通信装置113は、ネットワーク150などのネットワークを介して他の装置と通信を行う装置である。
【0079】
演算装置114は、例えばCPU(Central Processing Unit)などの演算装置である。
【0080】
主記憶装置115は、例えばRAM(Random Access Memory)などのメモリ装置である。
【0081】
補助記憶装置116は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【0082】
クライアント端末170は、入力装置181と、出力装置182と、演算装置183と、主記憶装置184と、補助記憶装置185と、通信装置186と、これらを互いに接続するバス187と、を有する。
【0083】
ここで、入力装置181はキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
【0084】
出力装置182はディスプレイなどの表示を行う装置である。
【0085】
演算装置183は、例えばCPUなどの演算装置である。
【0086】
主記憶装置184は、例えばRAMなどのメモリ装置である。
【0087】
補助記憶装置185は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【0088】
通信装置186は、ネットワーク150などのネットワークを介して他の装置と通信を行う装置である。
【0089】
クライアント端末170の通信装置186は、ネットワーク150を通じて、データ検索サーバA100の通信装置113と通信を行うことができる。
【0090】
ここで、ネットワーク150は、LANや無線LANなどの通信網であるが、インターネットや公衆用の無線LANなどの公衆網であってもよいし、その他ケーブルテレビ網や携帯電話網などのネットワーク、あるいは電力線ネットワーク等でもよい。
【0091】
データ検索サーバA100のファイル属性取得部131と、ファイル属性変更部132と、表示受付部133と、ディレクトリ構成部134と、ディレクトリ表示部135と、サーバ構成管理部136と、は、データ検索サーバA100の演算装置114に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置115または補助記憶装置116内に記憶され、実行にあたって主記憶装置115上にロードされ、演算装置114により実行される。
【0092】
また、データ検索サーバA100の記憶部120は、データ検索サーバA100の主記憶装置115または補助記憶装置116により実現される。
【0093】
データ検索サーバA100の送受信部140は、データ検索サーバA100の通信装置113によって実現される。
【0094】
クライアント端末170のファイル閲覧部172と、入力受付部173と、表示指示部174と、は、クライアント端末170の演算装置183に処理を行わせるプログラムによって実現される。このプログラムは主記憶装置184または補助記憶装置185内に記憶され、実行にあたって主記憶装置184上にロードされ、演算装置183により実行される。
【0095】
また、クライアント端末170の送受信部175は、クライアント端末170の通信装置186によって実現される。
【0096】
次に、本実施形態におけるデータ検索に関する処理のフローについて、図に基づき説明する。
【0097】
図9は、ルートディレクトリ表示処理を示すフロー図である。
【0098】
まず、表示受付部133は、クライアント端末170から、ルートディレクトリの表示依頼を受け付ける。(ステップS101)。
【0099】
具体的には、表示依頼には、クライアント識別子と、セッション識別子と、ルートディレクトリ表示依頼情報と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【0100】
そして、表示受付部133は、ステップS101で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する(ステップS102)。
【0101】
そして、ディレクトリ構成部134は、後述するとおり有効と判定したサーバに対して、ファイル情報を送信するよう依頼する。あわせて、ディレクトリ構成部134は、ディレクトリ構成テーブル500に対して、ステップS102で取得したクライアント識別子をクライアント識別子欄501に、セッション識別子をセッション識別子欄502に格納する(ステップS103)。
【0102】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、特定したサーバ識別子欄601に記憶された識別子で識別されるサーバを有効と判定し、有効と判定したサーバに対して、ルートディレクトリを検索する、すなわちディレクトリ表示条件を無指定で検索する、よう指示する。
【0103】
次に、ディレクトリ構成部134は、ステップS103で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS104)。
【0104】
具体的には、ディレクトリ構成部134は、ステップS103で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【0105】
そして、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報をファイル情報検索処理により取得する(ステップS105)。
【0106】
具体的には、自サーバのファイル属性テーブル400から、ファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を全て取得する。
【0107】
そして、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報と、ステップS104で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除する。
【0108】
そして、ディレクトリ構成部134は、重複を排除した型識別番号のそれぞれについて、型テーブル200を検索し、型識別番号が型識別番号欄201の値と一致する属性番号に対応する属性型名欄202の値を表示ディレクトリとして記憶する(ステップS106)。
【0109】
具体的には、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS104で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。そして、リストに含まれる型識別番号のそれぞれについて、型テーブル200の型識別番号欄201の値と比較し、合致する型識別番号と対応する属性型名欄202の値をリストして表示ディレクトリの情報として記憶する。
【0110】
次に、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS104で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、全ファイル数として記憶する(ステップS107)。
【0111】
次に、ディレクトリ構成部134は、全ファイルのファイル識別子をファイル名としてリストして、表示ファイルとして記憶する(ステップS108)。
【0112】
具体的には、ディレクトリ構成部134は、ステップS105で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ファイル識別子のリストを作成する。そして、ディレクトリ構成部134は、ステップS104で受信した有効なサーバからのファイルに関する情報から取り出したファイル識別子を、作成したリストに加え、リストを表示ファイルの情報として記憶する。
【0113】
そして、ディレクトリ構成部134は、ステップS106で記憶した表示ディレクトリと、ステップS107で記憶した全ファイル数と、ステップS108で記憶した表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図10に示すルートディレクトリ表示画面700を構成してクライアント端末170に表示させる(ステップS109)。
【0114】
ルートディレクトリ表示画面700を構成する際に、ディレクトリ表示部135は、ステップS106で記憶した表示ディレクトリをディレクトリ名としてディレクトリのアイコン705として表示させ、ステップS107で記憶した全ファイル数をファイル数704に表示させ、ステップS108で記憶した表示ファイルをファイル名としてファイルのアイコン706として表示させるように構成する。
【0115】
図10は、ルートディレクトリを表示させるディレクトリ表示画面の例である。
【0116】
ディレクトリ表示画面700は、ウィンドウ701と、スクロールバー702と、表示ディレクトリ名703と、ファイル数704と、ディレクトリのアイコン705と、ファイルのアイコン706と、を有する。
【0117】
スクロールバー702は、スクロールの操作を受け付け、ウィンドウ701が一度に表示できないディレクトリのアイコン705と、ファイルのアイコン706と、を表示させる。
【0118】
ディレクトリのアイコン705は、使用者の選択操作を受け付け、選択されたディレクトリ名で特定されるディレクトリに含まれるファイルとディレクトリとを表示するようクライアント端末170のファイル閲覧部172に通知する。
【0119】
例えば、入力受付部173を介してダブルクリック等の選択指示を受け付けると、移動先ディレクトリのディレクトリ名としてダブルクリックされたディレクトリ名を指定して、移動先ディレクトリ表示依頼をファイル閲覧部172に通知する。
【0120】
ファイルのアイコン706は、使用者の選択操作を受け付け、選択されたファイル名で特定されるファイルを取得するようクライアント端末170のファイル閲覧部172に通知する。
【0121】
例えば、入力受付部173を介してダブルクリック等の開く指示を受け付けると、取得する対象のファイルのファイル名としてダブルクリックされたファイル名を指定して、ファイルを取得する依頼をクライアント端末170のファイル閲覧部172に通知する。
【0122】
このように、ディレクトリ表示画面700は、ルートディレクトリ下にあるファイルとディレクトリを表示させるための画面であり、ディレクトリ間の移動の指示やファイルの取得の指示を受け付ける画面である。
【0123】
次に、図11を用いて、下位ディレクトリ表示処理を説明する。
【0124】
まず、表示受付部133は、移動先ディレクトリを表示する依頼を受け付ける(ステップS201)。
【0125】
具体的には、移動先ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のファイル閲覧部を識別するセッション識別子が格納されている。
【0126】
そして、表示受付部133は、ステップS201で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、移動先ディレクトリ名と、を取得する(ステップS202)。
【0127】
そして、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501とステップS202において取得したクライアント識別子とが一致し、セッション識別子欄502とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄503の値を取得する。そして、ディレクトリ構成部134は、ステップS202で取得した移動先ディレクトリ名を、取得したディレクトリ表示条件欄503の値に追加し、新たなディレクトリ表示条件としてディレクトリ表示条件欄503の値として記憶させる(ステップS203)。
【0128】
次に、ディレクトリ構成部134は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する(ステップS204)。
【0129】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップS203で記憶させた新たなディレクトリ表示条件を指定して検索する、よう指示する。
【0130】
次に、ディレクトリ構成部134は、ステップS204で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS205)。
【0131】
具体的には、ディレクトリ構成部134は、ステップS204で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。
【0132】
そして、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する(ステップS206)。
【0133】
具体的には、ディレクトリ構成部134は、自サーバのファイル属性テーブル400から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を全て取得する。
【0134】
そして、ディレクトリ構成部134は、移動先ディレクトリ名が型を指定する名称であるか否かを判定する(ステップS207)。
【0135】
具体的には、ディレクトリ構成部134は、移動先ディレクトリ名をキーとして、型テーブル200の属性型名欄202を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【0136】
移動先ディレクトリ名が型を指定する名称であれば(ステップS207で「Yes」)、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する(ステップS208)。
【0137】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、値識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない値識別番号を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【0138】
そして、後述するステップS211へ処理を進める。
【0139】
移動先ディレクトリ名が型を指定する名称でなければ(ステップS207で「No」)、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する(ステップS209)。
【0140】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていないファイル識別子を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【0141】
そして、続けて、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報と、ステップS205で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複排除後の型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する(ステップS210)。
【0142】
具体的には、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS205で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【0143】
そして、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501とステップS202において取得したクライアント識別子とが一致し、セッション識別子欄502とセッション識別子とが一致するレコードを検索してディレクトリ表示条件欄503の値を取得し、作成したリストから、ディレクトリ表示条件欄503の値に含まれている型識別番号を削除し、リストを表示ディレクトリの情報として記憶する。
【0144】
次に、ディレクトリ構成部134は、ステップS206で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS205で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する(ステップS211)。
【0145】
そして、ディレクトリ構成部134は、ステップS208またはステップS210で記憶した表示ディレクトリと、ステップS211で算出した全ファイル数と、ステップS209で記憶した表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図12〜図15に示す下位ディレクトリ表示画面を構成してクライアント端末170に表示させる。その際、ディレクトリ表示部135は、ディレクトリ構成テーブル500のディレクトリ表示時刻欄504に、処理時刻を記憶させる(ステップS212)。
【0146】
図12のディレクトリ表示画面は、ステップS207で移動先ディレクトリが型を指定する名称であると判定した場合に表示させる画面である。図12のディレクトリ表示画面を構成する際に、ディレクトリ表示部135は、ステップS208で記憶した表示ディレクトリをディレクトリのアイコン705として表示させ、ステップS211で算出したファイル数をファイル数704に表示させるように構成する。
【0147】
また、ディレクトリ表示条件欄503に記憶された情報をディレクトリ名703に表示させるように構成する。
【0148】
図13のディレクトリ表示画面は、ステップS207で移動先ディレクトリが型を指定する名称でないと判定した場合に表示させる(すなわち、図12のディレクトリ表示画面で「Jazz」ディレクトリへ移動するように指定した場合等に表示させる)画面である。図13のディレクトリ表示画面を構成する際に、ディレクトリ表示部135は、ステップS209で記憶した表示ファイルをファイルのアイコン706として表示させ、ステップS211で算出したファイル数をファイル数704に表示させ、ステップS210で記憶した表示ディレクトリをディレクトリのアイコン705として表示させるように構成する。
【0149】
図14のディレクトリ表示画面は、図12のディレクトリ表示画面と同様の画面であり、図13のディレクトリ表示画面で「アーティスト名」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【0150】
図15のディレクトリ表示画面は、図13のディレクトリ表示画面と同様の画面であり、図14のディレクトリ表示画面で「アーティストB」ディレクトリへ移動するように指定した場合等に表示させる画面である。
【0151】
次に、図16を用いて、上位ディレクトリ表示処理を説明する。
【0152】
まず、表示受付部133は、上位ディレクトリを表示する依頼を受け付ける(ステップS301)。
【0153】
具体的には、上位ディレクトリを表示する依頼には、クライアント識別子と、セッション識別子と、が含まれ、クライアント識別子にはクライアント端末170のIPアドレスなどの情報が格納され、セッション識別子には、クライアント端末170のディレクトリブラウザプログラムのインスタンスを識別するセッション識別子が格納されている。
【0154】
そして、表示受付部133は、ステップS301で受け付けた表示依頼から、クライアント識別子と、セッション識別子と、を取得する(ステップS302)。
【0155】
そして、ディレクトリ構成部134は、ステップS302にて取得したクライアント識別子とセッション識別子で識別される画面が表示する画面より一つ上位の画面を表示した際に使用したディレクトリ表示条件を得る(ステップS303)。
【0156】
具体的には、、ディレクトリ構成部134は、ディレクトリ構成テーブル500を参照し、クライアント識別子欄501のクライアント識別子とステップS302において取得したクライアント識別子とが一致し、セッション識別子欄502のセッション識別子とステップS302において取得したセッション識別子とが一致する、情報を検索する。
【0157】
そして、ディレクトリ構成部134は、検索の結果一致した情報のうち、ディレクトリ表示条件欄503の値と、ディレクトリ表示時刻欄504の値と、を取得する。
【0158】
そして、ディレクトリ構成部134は、取得したディレクトリ表示条件欄503の値から、最後尾のディレクトリ名を削除して新たなディレクトリ表示条件としてディレクトリ表示条件欄503の値として記憶させる。
【0159】
次に、ディレクトリ構成部134は、サーバ構成に変化があったか否かをサーバ構成管理部136に問い合わせ、サーバ構成管理部136に問い合わせた結果によりサーバ構成に変化があったか否かを判定する(ステップS304)。
【0160】
具体的には、サーバ構成管理部134は、ステップS303で取得したディレクトリ表示時刻欄504の値をサーバ構成管理部136に送信し、サーバ構成管理部136は、最新のサーバ構成変更時刻と受信したディレクトリ表示時刻欄504の値とを比較して、最新のサーバ構成変更時刻のほうが新しければ、サーバ構成に変化があった旨をディレクトリ構成部134に送信する。そうでなければ、サーバ構成に変化がない旨をディレクトリ構成部134に送信する。
【0161】
サーバ構成に変化があったと判定した場合(ステップS304で「Yes」)、ディレクトリ構成部134は、有効なサーバに対して、ディレクトリ表示条件を送信し、ファイル情報を送信するよう依頼する(ステップS305)。
【0162】
具体的には、ディレクトリ構成部134は、サーバ構成テーブル600を参照して、接続可否欄602が「OK」であるサーバのサーバ識別子欄601を特定する。そして、取得したサーバ識別子で識別されるサーバに対して、指定ディレクトリを検索する、すなわちステップS303で記憶させた新たなディレクトリ表示条件を指定して検索するよう指示する。
【0163】
次に、ディレクトリ構成部134は、ステップS305で依頼した有効なサーバからのファイルに関する情報を受信する(ステップS306)。
【0164】
具体的には、ディレクトリ構成部134は、ステップS305で依頼した有効なサーバ全てから、ファイル識別子と、ファイルに関連付けられた型識別番号および値識別番号と、を受信する。そして、ステップS307へ処理を進める。
【0165】
サーバ構成に変化があったと判定しなかった場合(ステップS304で「No」)、ディレクトリ構成部134は、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報を流用して、ステップS307へ処理を進める。
【0166】
次に、ディレクトリ構成部134は、自サーバ(ローカル)のファイルに関する情報のうち、ディレクトリの表示条件に合致するものをファイル情報検索処理により取得する(ステップS307)。
【0167】
具体的には、ディレクトリ構成部134は、自サーバのファイル属性テーブル400から、ディレクトリの表示条件に指定された型識別番号と値識別番号を全て含むレコードを指定順とは無関係に検索し、検索の結果得られたレコードのファイル識別子欄401に格納された情報と、型識別番号欄402に格納された情報と、値識別番号欄403に格納された情報と、を取得する。
【0168】
次に、ディレクトリ構成部134は、ステップS306で受信したデータが、上位ディレクトリを表示させたときに用いた有効なサーバからのファイルに関する情報と比較して、相違があるか否かを判定する。あわせて、ディレクトリ構成部134は、ステップS307で取得したデータが、上位ディレクトリを表示させたときに用いたファイルに関する情報と比較して、相違があるか否かを判定する(ステップS308)。
【0169】
いずれにも相違が無ければ(ステップS308で「No」)、ディレクトリ構成部134は、後述するステップS314に処理を進める。
【0170】
相違があれば(ステップS308で「Yes」)、ディレクトリ構成部134は、移動先ディレクトリ名(上位ディレクトリ名)が型を指定する名称であるか否かを判定する(ステップS309)。
【0171】
具体的には、ディレクトリ構成部134は、移動先ディレクトリ名をキーとして、型テーブル200の属性型名欄202を検索し、合致する属性型名があれば、移動先ディレクトリ名が型を指定する名称であると判定し、そうでなければ型を指定する名称ではないと判定する。
【0172】
移動先ディレクトリ名が型を指定する名称であれば(ステップS309で「Yes」)、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、値識別番号の重複を排除して表示ディレクトリとして記憶する(ステップS310)。
【0173】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から値識別番号を取り出し、取り出した値識別番号をソートし、重複する値識別番号を排除したリストを作成する。
【0174】
そして、ディレクトリ構成部134は、作成したリストに含まれていない値識別番号を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ディレクトリの情報として記憶する。
【0175】
そして、後述するステップS313へ処理を進める。
【0176】
移動先ディレクトリ名が型を指定する名称でなければ(ステップS309で「No」)、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、ファイル識別子の重複を排除して表示ファイルとして記憶する(ステップS311)。
【0177】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、ファイル識別子を全て取り出し、ソートし、重複するファイル識別子を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていないファイル識別子を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加え、リストを表示ファイルの情報として記憶する。
【0178】
そして、続けて、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報と、ステップS306で受信した有効なサーバからのファイルに関する情報と、をまとめて、型識別番号の重複を排除し、重複を排除した型識別番号からディレクトリ表示条件に含まれるものを排除して、表示ディレクトリとして記憶する(ステップS312)。
【0179】
具体的には、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、型識別番号を全て取り出し、ソートし、重複する番号を排除したリストを作成する。そして、ディレクトリ構成部134は、作成したリストに含まれていない型識別番号を、ステップS306で受信した有効なサーバからのファイルに関する情報から取り出し、リストに加える。
【0180】
次に、ディレクトリ構成部134は、ステップS307で取得したローカルのファイルに関する情報から、ファイル識別子の数を算出する。そして、ディレクトリ構成部134は、ステップS306で受信した有効なサーバからのファイルに関する情報からファイル識別子の数を算出し、ローカルのファイル識別子の数に加え、表示させるファイル数として記憶する(ステップS313)。
【0181】
そして、ディレクトリ構成部134は、ステップS310、ステップS312で記憶した表示ディレクトリまたは上位ディレクトリを表示した際の表示ディレクトリと、ステップS313で算出した全ファイル数または上位ディレクトリを表示した際の全ファイル数と、ステップS311で記憶した表示ファイルまたは上位ディレクトリを表示した際の表示ファイルと、を表示させるようディレクトリ表示部135に指示し、ディレクトリ表示部135は、図12〜図15に示す下位ディレクトリ表示画面を構成してクライアント端末170に表示させる。その際、ディレクトリ表示部135は、ディレクトリ構成テーブル500のディレクトリ表示時刻欄504に、処理時刻を記憶させる(ステップS314)。
【0182】
このように、上位ディレクトリ表示処理では、一度表示させたディレクトリの表示を再利用するが、データ検索サーバの構成が変更された場合や検索したデータに変更がある場合には、再度検索をしなおす。このようにすることで、ディレクトリの最新状態を表示できる。
【0183】
これらのルートディレクトリ表示処理、下位ディレクトリ表示処理、上位ディレクトリ表示処理によって、使用者が指定した条件を満たすメタ情報を備えるファイルを検索する際にその順序とは関係なくデータを絞込検索し、表示することができるため、ファイルを探すことができずにデータを見失ってしまうことを防ぐことができる。
【0184】
次に、ファイル情報検索処理について、図17を用いて説明する。
【0185】
図17は、サブルーチンとして使用されるファイル情報検索処理を示すフローチャートである。
【0186】
ディレクトリ構成部134は、ディレクトリ表示条件を受け付ける(ステップS401)。
【0187】
そして、ディレクトリ構成部134は、ファイル属性テーブル400に記憶された全ファイルについての情報を取得する(ステップS402)。
【0188】
次に、ディレクトリ構成部134は、ステップS401で受け付けたディレクトリ表示条件を分割して、リスト化する(ステップS403)。
【0189】
具体的には、ディレクトリ構成部134は、ディレクトリ表示条件をコンマ等の所定のデリミタ記号ごとに区切って分割し、分割した値を直列的にアクセス可能なリスト構造として記憶する。
【0190】
そして、ディレクトリ構成部134は、ステップS403で作成したリストの次なる値を取得して変数Aに記憶させる(ステップS404)。
【0191】
次に、ディレクトリ構成部134は、Aが型識別番号であるか否かを判定する(ステップS405)。
【0192】
具体的には、ディレクトリ構成部134は、変数Aをキーとして、型テーブル200の型識別番号欄201の情報を検索し、合致する型識別番号が存在すれば型識別番号であると判定し、そうでなければ型識別番号ではないと判定する。
【0193】
変数Aの値が型識別番号でなければ(ステップS405で「No」)、ディレクトリ構成部134は、後述するステップS410に処理を進める。
【0194】
変数Aの値が型識別番号であれば(ステップS405で「Yes」)、ディレクトリ構成部134は、ステップS402で取得した全ファイルについての情報のうち、型識別番号がAの値と一致するファイルを選択する(ステップS406)。
【0195】
そして、ディレクトリ構成部134は、ステップS403で作成したリストの次なる値を取得して変数Bに記憶させる(ステップS407)。
【0196】
次に、ディレクトリ構成部134は、Bが値識別番号であるか否かを判定する(ステップS408)。
【0197】
具体的には、ディレクトリ構成部134は、変数Bをキーとして、値テーブル200の値識別番号欄301の情報を検索し、合致する値識別番号が存在すれば値識別番号であると判定し、そうでなければ値識別番号ではないと判定する。
【0198】
変数Bの値が値識別番号でなければ(ステップS408で「No」)、ディレクトリ構成部134は、後述するステップS410に処理を進める。
【0199】
変数Bの値が値識別番号であれば(ステップS408で「Yes」)、ディレクトリ構成部134は、ステップS406で選択したファイルについての情報のうち、値識別番号がBの値と一致するファイルを選択し、ステップS404に処理を戻す。(ステップS409)。
【0200】
次に、ステップS405で「No」あるいはステップS408で「No」であった場合には、ステップS402で取得した全ファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する。または、ステップS402で取得した全ファイルからステップS406とステップS409との処理により選択したファイルを対象として、ファイル識別子と、型識別番号と、値識別番号と、を処理依頼元に送信する(ステップS410)。
【0201】
そして、処理を終了する。
【0202】
以上が、ファイル情報検索処理のフローである。
【0203】
このファイル情報検索処理によって、指定した条件を満たすメタ情報を備えるファイルを検索する際に、その順序とは関係なくデータを絞込検索することができる。
【0204】
また、図示しないが、サーバ構成管理部136は、所定の期間(例えば、10秒)に一度、データ検索サーバB180およびその他ネットワーク150に接続されているデータ検索サーバに対してサービス生死判定等を行い、サービスがなされていない、すなわちデータ検索ができないサーバを発見し、サーバ構成テーブル600の接続可否欄602を「NG」として記憶する。このとき、サービスを可能なサーバについて、有効なサーバと判定して、サービスを可能なサーバの接続可否欄602を「OK」に設定する。
【0205】
サーバ構成管理部136がサービス生死判定を行う対象のサーバは、サーバ構成テーブル600のサーバ識別子欄601に記憶されたサーバであるが、このサーバは、予め登録されたものであっても良いし、サーバ構成管理部が生死判定に先立ってブロードキャスト等を行い、存在が確認されたサーバを対象として実施するようにしてもよい。
【0206】
また、ファイル属性変更部132は、クライアント端末170の制御部171に実装されたファイル閲覧部172から送信されたファイル属性情報の変更に関する情報を受信し、ファイル属性テーブル400のファイル識別子欄401と、型識別番号欄402と、値識別番号欄403と、の値を変更する。
【0207】
具体的には、ファイル属性情報の変更に関する情報が、あるファイル識別子で識別されるファイルに対して、型識別番号と値識別番号とを追加するものであった場合、ファイル属性変更部132は、ファイル識別子と合致するファイルの情報について、型識別番号欄402に型識別番号を、値識別番号欄403に値識別番号を、それぞれ追加して記憶させる。
【0208】
以上、本発明の実施の形態について、実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能である。
【0209】
例えば、ディレクトリ表示部135は、上記実施形態では、データ検索サーバ100の制御部130に実装していたが、これに限らず、例えばクライアント端末170の制御部171に実装してもよい。
【0210】
この場合、ディレクトリ構成部134は、ステップS109、ステップS212、ステップS314等の結果を表示させる際に、クライアント端末170上に存在するディレクトリ表示部135に対してネットワーク150を介して指示する。例えば、ネットワークを介してファイルを共有するNFS(Network File System)、CIFS(Common Internet File System)、またはSMB(Server Message Block )などのファイル共有プロトコルに則って指示することで、多彩なデータ共有形態を実現することができる。
【0211】
また、その他の機能部についても、クライアント170に実装しても良いし、クライアント170とデータ検索サーバ100との両方に実装してもよい。
【0212】
その他、データ検索サーバ100に、クライアント170と同様のファイル閲覧部を備えてもよい。
【0213】
このようにすることで、データ検索サーバ100をクライアント端末170として動作させることが可能となり、機器構成の自由度を増加させることができる。
【0214】
また、上記のデータ検索システム1において、データ検索サーバB180は、データ検索サーバA100と同様の構成を備えるものとしたが、これに限らず、図9に示すルートディレクトリ表示処理、図11に示す下位ディレクトリ表示処理、図16に示す上位ディレクトリ表示処理、および図17に示すファイル情報検索処理のうち、少なくともファイル方法検索処理を実施するものであってもよい。
【0215】
そのようにすることで、データ検索システム1において、データ検索サーバA100をクライアントに検索サービスを行うサーバとして機能させ、データ検索サーバB180をデータ検索サーバA100からの検索指示に従って検索を行い、データを提供することができるようになる。
【0216】
また、上述したように、値テーブル300の属性値302に記憶された属性値であって、型テーブル200の属性型名202に記憶され、さらに詳細な分類が値テーブル300に記憶された属性値を表示する場合には、図11の下位ディレクトリ表示処理のステップS207において、ディレクトリ構成部134により移動先ディレクトリを型であると判定され、図12に示す画面が表示されることとなり、結果としてより深い階層を持つディレクトリとして表示することができる。
【0217】
すなわち、大分類と小分類による2階層の分類だけではなく、多階層の分類を実現することができる。
【0218】
なお、上記のデータ検索システム1は、システムとして取引対象とするだけでなく、各機器単位、または機器の動作を実現するプログラム部品単位で取引対象とすることも可能である。
【0219】
以上が、本発明の実施形態である。
【図面の簡単な説明】
【0220】
【図1】本実施形態のデータ検索システムの構成図である。
【図2】本実施形態における型テーブルのデータ構造を示す図である。
【図3】本実施形態における値テーブルのデータ構造を示す図である。
【図4】本実施形態におけるファイル属性テーブルのデータ構造を示す図である。
【図5】本実施形態におけるディレクトリ構成テーブルのデータ構造を示す図である。
【図6】本実施形態におけるサーバ構成テーブルのデータ構造を示す図である。
【図7】本実施形態におけるファイルとメタ情報のデータ構造を示す図である。
【図8】本実施形態のハードウェア構成を示す図である。
【図9】本実施形態のルートディレクトリ表示処理の処理フローを示す図である。
【図10】本実施形態におけるディレクトリ表示画面例を示す図である。
【図11】本実施形態の下位ディレクトリ表示処理の処理フローを示す図である。
【図12】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図13】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図14】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図15】本実施形態における下位ディレクトリ表示画面例を示す図である。
【図16】本実施形態の上位ディレクトリ表示処理の処理フローを示す図である。
【図17】本実施形態のファイル情報検索処理の処理フローを示す図である。
【符号の説明】
【0221】
1:データ検索システム、100:データ検索サーバA、120:記憶部、121:型記憶領域、122:値記憶領域、123:ファイル属性記憶領域、124:ディレクトリ構成記憶領域、125:サーバ構成記憶領域、130:制御部、131:ファイル属性取得部、132:ファイル属性変更部、133:表示受付部、134:ディレクトリ構成部、135:ディレクトリ表示部、136:サーバ構成管理部、140:送受信部、150:ネットワーク、170:クライアント端末、171:制御部、180:データ検索サーバB、200:型テーブル、300:値テーブル、400:ファイル属性テーブル、500:ディレクトリ構成テーブル、600:サーバ構成テーブル
【特許請求の範囲】
【請求項1】
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項2】
請求項1に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項3】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを表示する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出する、
ことを特徴とするデータ検索サーバ。
【請求項4】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際には、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に使用した前記第二の検索キーに含まれるディレクトリの識別子を除外して構成する、
ことを特徴とするデータ検索サーバ。
【請求項5】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項6】
請求項1に記載のデータ検索サーバであって、
前記メタ情報は、大分類と、前記大分類を構成する小分類との対応する情報を備えており、
前記ディレクトリ構成部は、前記検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記検索キーが前記大分類に合致する場合には、前記下位のディレクトリを前記小分類に対応するディレクトリとし、前記検索キーが前記小分類に合致する場合には、前記下位のディレクトリを前記大分類に対応するディレクトリとして決定する、
ことを特徴とするデータ検索サーバ。
【請求項7】
ネットワークに接続されたデータ検索サーバであって、
記憶部と、
記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項8】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第二の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項9】
請求項8に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記他のデータ検索サーバに対して、前記検索キーと、前記追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを検出して送信するよう依頼する、
ことを特徴とするデータ検索サーバ。
【請求項10】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際に、前記下位のディレクトリに含まれるさらに下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を除外して前記表示する情報を作成する、
ことを特徴とするデータ検索サーバ。
【請求項11】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項12】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバの構成に変化があったか否かを判定し、構成に変化があれば、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示し、構成に変化が無ければ、表示されたディレクトリの上位のディレクトリを表示した際に前記他のデータ検索サーバから送信されたファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項13】
データ検索サーバのデータ検索プログラムであって、
前記データ検索サーバは、
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記ディレクトリ構造を表示する情報を作成するディレクトリ表示部と、
を備え、
前記データ検索サーバに、
前記下位のディレクトリの識別子の指定を受け付ける機能と、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出する機能と、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する機能と、
を実現させるためのプログラム。
【請求項14】
データ検索サーバは、
前記下位のディレクトリの識別子の指定を受け付けるステップと、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出するステップと、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として表示部に表示する情報を作成するよう指示するステップと、
を実行することを特徴とするデータ検索方法。
【請求項1】
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項2】
請求項1に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項3】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを表示する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出する、
ことを特徴とするデータ検索サーバ。
【請求項4】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際には、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に使用した前記第二の検索キーに含まれるディレクトリの識別子を除外して構成する、
ことを特徴とするデータ検索サーバ。
【請求項5】
請求項2に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、検出した前記ファイルに付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項6】
請求項1に記載のデータ検索サーバであって、
前記メタ情報は、大分類と、前記大分類を構成する小分類との対応する情報を備えており、
前記ディレクトリ構成部は、前記検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記検索キーが前記大分類に合致する場合には、前記下位のディレクトリを前記小分類に対応するディレクトリとし、前記検索キーが前記小分類に合致する場合には、前記下位のディレクトリを前記大分類に対応するディレクトリとして決定する、
ことを特徴とするデータ検索サーバ。
【請求項7】
ネットワークに接続されたデータ検索サーバであって、
記憶部と、
記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記下位のディレクトリを表示する情報を作成するディレクトリ表示部と、
を備え、
前記ディレクトリ構成部は、前記下位のディレクトリの識別子の指定を受け付け、受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項8】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示した前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子の指定を受け付けると、受け付けたディレクトリの識別子を前記検索キーに追加して第二の検索キーとして、前記第二の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第二の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、検出した前記ファイルに付加された前記メタ情報をさらに下位のディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項9】
請求項8に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを検索する際に、前記下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記他のデータ検索サーバに対して、前記検索キーと、前記追加したディレクトリの識別子と、を前記メタ情報に含む前記ファイルを検出して送信するよう依頼する、
ことを特徴とするデータ検索サーバ。
【請求項10】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、前記さらに下位のディレクトリに含まれるディレクトリを表示する際に、前記下位のディレクトリに含まれるさらに下位のディレクトリを検索する際に使用した前記検索キーと、前記検索キーに追加したディレクトリの識別子と、を除外して前記表示する情報を作成する、
ことを特徴とするデータ検索サーバ。
【請求項11】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項12】
請求項7に記載のデータ検索サーバであって、
前記ディレクトリ構成部は、さらに、表示されたディレクトリの上位のディレクトリを表示する指定を受け付けると、前記第二の検索キーに付加した最後の検索キーを削除して第三の検索キーとし、前記第三の検索キーを前記メタ情報に含む前記ファイルを前記記憶部から検出し、前記ネットワークに接続された他のデータ検索サーバの構成に変化があったか否かを判定し、構成に変化があれば、前記ネットワークに接続された他のデータ検索サーバに対して、前記第三の検索キーをメタ情報に含む前記ファイルを検出して送信するよう依頼し、送信された前記ファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示し、構成に変化が無ければ、表示されたディレクトリの上位のディレクトリを表示した際に前記他のデータ検索サーバから送信されたファイルと、前記検出した前記ファイルと、に付加された前記メタ情報を表示させるディレクトリに含まれるディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する、
ことを特徴とするデータ検索サーバ。
【請求項13】
データ検索サーバのデータ検索プログラムであって、
前記データ検索サーバは、
記憶部と、
前記記憶部に記憶されたファイルに付加されたメタ情報に基づいてディレクトリに含まれる下位のディレクトリを特定するディレクトリ構成部と、
前記ディレクトリ構成部からの指示に従って前記ディレクトリ構造を表示する情報を作成するディレクトリ表示部と、
を備え、
前記データ検索サーバに、
前記下位のディレクトリの識別子の指定を受け付ける機能と、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出する機能と、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として前記ディレクトリ表示部に前記表示する情報を作成するよう指示する機能と、
を実現させるためのプログラム。
【請求項14】
データ検索サーバは、
前記下位のディレクトリの識別子の指定を受け付けるステップと、
受け付けた前記下位のディレクトリの識別子を検索キーとして、前記検索キーを前記メタ情報に含むファイルを前記記憶部から検出するステップと、
検出したファイルに付加された前記メタ情報を前記下位のディレクトリに含まれるさらに下位のディレクトリの識別子として表示部に表示する情報を作成するよう指示するステップと、
を実行することを特徴とするデータ検索方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−176057(P2009−176057A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−14117(P2008−14117)
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]