JP5239398B2 - ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム - Google Patents

ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム Download PDF

Info

Publication number
JP5239398B2
JP5239398B2 JP2008047688A JP2008047688A JP5239398B2 JP 5239398 B2 JP5239398 B2 JP 5239398B2 JP 2008047688 A JP2008047688 A JP 2008047688A JP 2008047688 A JP2008047688 A JP 2008047688A JP 5239398 B2 JP5239398 B2 JP 5239398B2
Authority
JP
Japan
Prior art keywords
file
metadata
extended metadata
client
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008047688A
Other languages
English (en)
Other versions
JP2009205480A (ja
Inventor
欽一 杉本
純一 大和
真澄 一圓
純明 榮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008047688A priority Critical patent/JP5239398B2/ja
Publication of JP2009205480A publication Critical patent/JP2009205480A/ja
Application granted granted Critical
Publication of JP5239398B2 publication Critical patent/JP5239398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ファイルサーバが複数のファイルを管理する技術に関し、特にネットワークを通じて分散したファイルを管理する技術に関する。
ファイルサーバとクライアントを有し、クライアントがネットワーク経由でファイルにアクセスするファイル管理システムがある。このファイル管理システムでは、ネットワーク上のファイルサーバが搭載するディスク領域を管理するソフトウェアがファイル単位の領域管理機構や、ファイル操作用API(Application Program Interface)でファイルを管理していた。その場合、外部記憶装置上のファイルアクセスにおいては、ファイルを特定する識別子に基づいたオープン、リード、ライト、クローズなどの操作を、APIで実行する必要があった。その為、ファイル管理システムのディレクトリ操作に関するAPIを介して、ディレクトリを辿るなどのオペレーションが必要となる。
このような煩雑な操作を避けて処理性能を向上するために、特許文献1に開示されたファイル管理システムは、データを管理するためのメタデータ(データの格納場所などを示す情報)を記憶するメタデータキャッシュを設けている。この場合、メタデータキャッシュの効率を向上するためには、特定のユーザのファイル操作に関する履歴の解析や、類似データをサーバ内で検索することによる検索用データの再構築などの、サーバ側での処理を増やして対策を行っていた。
また、特許文献2では、ファイル管理を行うネットワーク接続型ストレージに対して、ファイルの種別を与えるメタデータあるいはユーザのプロファイル情報を使用してユーザの利用頻度の高いコンテンツをキャッシュ装置が把握する。そして、把握した情報に基づき、キャッシュ装置が効率的にフィルタして記憶することで効率的にトラフィックの低減を実現している。
或いは、特許文献3に開示されたデータ処理システムは、対象データの属性を表現するメタデータとして、データの所有者、データの名称、データの型、データの所在場所、データに対する各ユーザのアクセス権限などの情報を記録している。そして、データ処理システムは、これらの情報を元に、サーバ内でメタデータの検索処理を実行することにより、キャッシュ上に保持することにより処理性能を向上できると期待されるメタデータを抽出し、抽出したメタデータをメタデータキャッシュにロードしている。
このデータ処理システムにおいては、図14に示すように、メタデータのキャッシュの効率を向上するために、メタデータサーバ、すなわちファイルサーバS1側でメタデータを検索し、クライアントC1側にキャッシュする構成としている。
特開2003−150424号公報 特開2002−180319号公報 特開平7−73085号公報
しかしながら、特許文献1乃至3に開示されたファイル管理システムでは、ファイルサーバは、キャッシュなどのヒットの効率を向上する目的で、過去の履歴に基づいたデータベースをユーザ毎に管理する必要が生じ、更にそれらのデータを頻繁に更新する必要があった。そのため、サーバ負荷が大きくなり、ファイル操作の応答性が低くなるという課題があった。
上述した問題点を鑑み、本発明は、ファイル管理システムにおけるファイル操作の応答性を改善する技術を提供することを目的とする。
上記目的を達成するために、本発明のファイル管理システムは、ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムであって、ユーザによる前記ファイルの操作に応じて該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータの更新を要求するクライアントと、前記拡張メタデータを記憶しておき、記憶した該拡張メタデータを前記クライアントからの前記拡張メタデータの更新の要求に応じて更新するファイルサーバと、を有する。
また、本発明のファイル管理サーバは、ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるファイルサーバであって、前記ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータを記憶する記憶手段と、前記記憶手段に記憶された該拡張メタデータをクライアントからの前記拡張メタデータの更新の要求に応じて更新する更新手段と、を有する。
本発明のクライアントは、ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるクライアントであって、前記ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータを受信する受信手段と、前記受信手段により受信された前記拡張メタデータを記憶する記憶手段と、ユーザによる前記ファイルの操作に応じて前記記憶手段に記憶された前記拡張メタデータを更新し、該更新に基づいてファイルサーバに更新を要求する更新要求手段と、を有する。
本発明のファイル管理方法は、ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理方法であって、クライアントがユーザによる前記ファイルの操作に応じて該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータの更新を要求し、ファイルサーバが前記拡張メタデータを記憶しておき、記憶した該拡張メタデータを前記ファイルサーバが前記クライアントからの前記拡張メタデータの更新の要求に応じて更新する。
本発明のプログラムは、ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるファイルサーバを制御するプログラムであって、前記ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータを記憶する手順、及び記憶された該拡張メタデータをクライアントからの前記拡張メタデータの更新の要求に応じて更新する更新手順、をコンピュータに実行させる。
本発明によれば、クライアントのユーザが拡張メタデータの更新を伴うファイル操作を行ったとき、その操作に応じてクライアントは拡張メタデータの更新をファイルサーバに要求し、ファイルサーバは要求に応じて拡張メタデータを更新する。よって、ファイルサーバは、自身でクライアントのユーザのファイル操作を拡張メタデータの更新に反映させる必要がなく、ファイルサーバの負荷が軽減されるので、ファイル管理システムにおけるファイル操作の応答性を改善することができる。
(第1実施形態)
本発明の第1実施形態について図面を参照して詳細に説明する。
図1は、本実施形態のファイル管理システム1の構成を示すブロック図である。同図を参照すると、ファイル管理システム1は、クライアント10およびファイルサーバ11を有する。クライアント10およびファイルサーバ11は、ネットワーク2に接続される。また、ネットワーク2とは別のネットワーク4に記憶装置3およびファイルサーバ11が接続されており、ファイルサーバ11は、ネットワーク4を介して記憶装置3にアクセスできる。
本実施形態において、ファイルには、プログラムやデータなどのようなソフトウェエア資源に限らず、光学ドライブ、プリンタ、キーボードおよびマウスなどのハードウェア資源が含まれる。
本実施形態ではクライアント10は1つとしているが、複数のクライアント10にファイルサーバ11がサービスを提供する構成としてもよいのは勿論である。また、1つのクライアント10に対し、複数のファイルサーバ11がサービスを提供する構成とすることもできる。
クライアント10は、ファイルサーバ11にファイルの入出力を要求し、ファイルに入力するデータをファイルサーバ11に送信し、ファイルから出力されるデータをファイルサーバ11から受信する。クライアント10は、アプリ実行部101、ファイル制御部103、およびネットワークI/F部105を有する。
アプリ実行部101は、ユーザがファイルサーバ11の管理するファイルを操作するためのアプリケーションを実行する。そのアプリケーションにおいてユーザは、ファイルの利用を開始する(ファイルを開く)操作またはファイルの利用を終了する(ファイルを閉じる)操作ができる。また、ユーザは、ファイルにデータを書き込む操作、ファイルからデータを読み出す操作、およびメタデータを作成または変更する操作などができる。メタデータの詳細については、後述する。
ファイル制御部103は、ユーザのファイル操作に応じて、所定のコマンドを発行し、発行したコマンドをネットワークI/F部105を経由してサーバ11に送信する。
例えば、ファイル制御部103は、ユーザがファイルを開くまたは閉じる操作を行った場合、そのファイルを指定した「Open」または「Close」コマンドを発行する。
ユーザが開いたファイルにデータを書き込む操作を行った場合、ファイル制御部103は、そのファイルへの入力を要求する「Write」コマンドを発行し、書き込むデータを送信する。ユーザが開いたファイルからデータを読み出す操作を行った場合、ファイル制御部103は、そのファイルの出力を要求する「Read」コマンドを発行し、出力されたデータを受信する。ユーザがファイル作成またはファイル名の変更する操作を行った場合、ファイル制御部103は、そのファイルの拡張メタデータの作成または更新を要求する「ExtWrite」コマンドを発行し、更新内容を示すデータを送信する。
ネットワークI/F部105は、クライアントをネットワーク2に接続する通信インターフェースである。
ファイルサーバ11は、ネットワーク2を通じてクライアント10にファイルの入出力サービスを提供する。ファイルサーバ11は、ネットワークI/F部111、キャッシュ113、および管理部115を有する。
ネットワークI/F部111は、ファイルサーバ11をネットワーク2およびネットワーク4に接続する通信インターフェースである。
キャッシュ113は、データキャッシュ1131およびメタデータキャッシュ1133を有し、ファイルへのアクセス時間を短縮するためデータ、メタデータ、および拡張メタデータを一時的に記憶する。
データキャッシュ1131は、ファイルから出力されるデータを一時的に記憶する。メタデータキャッシュ1133は、メタデータまたは拡張メタデータを一時的に格納する。
ここで、メタデータは、ファイルを管理するための情報である。例えば、ファイル名、アクセス権限、ファイルの属性、ファイルの格納場所などを示す情報がメタデータに含まれる。UNIXやLinuxなどの場合のファイルシステムの領域を指し示すinode構造体がメタデータの代表例と言える。また、UNIX等においてディレクトリ構造を実現する際、例えば、ディレクトリ構造を示すメタデータをファイルのデータ領域に記録する。その場合、ディレクトリの下にあるファイルを辿るとき、ディレクトリのデータ領域にあるディレクトリ構造を示すメタデータを読み出したうえで、そのディレクトリ構造を基にして、ファイル識別情報(一般的にはファイル名)と前記のinodeの対応付けから、ディレクトリの下にあるファイルと結び付けられたメタデータすなわちinodeを割り出すのが一般的である。本実施形態で述べるメタデータは主にinode構造体のようなデータが記録されている領域を与えるデータ構造を指すが、ディレクトリ構造もメタデータとして扱っても差し支えない。
また、Winsows等においては、ファイルやデータにおける設定や属性を管理するプロパティを示す情報がメタデータである。
拡張メタデータは、ファイルに対応しており、そのファイルの関連ファイルを管理するための情報である。関連ファイルとは、あるファイルに着目した場合、そのファイル(自ファイル)に関連するファイルである。拡張メタデータは各ファイルのデータ領域等を指し示すメタデータとは独立した構造であり、その拡張メタデータに対応する自ファイルと関連の強い関連ファイルの識別情報、関連ファイルの格納場所を示す領域情報、または関連ファイルのメタデータを記録した領域を示す情報などを記録することを想定している。メタデータには拡張メタデータを記録した領域へのポインタ情報や領域情報などが格納される。
メタデータ、拡張メタデータ、およびファイルの参照関係について図2を参照して説明する。図2は、ファイルXのメタデータM1と、ファイルXの拡張メタデータE1と、ファイルX、A、B、C、およびDとの参照関係を示した図である。同図において、点線の矢印は参照関係を示し、ファイル間の実線はファイル間に関連があることを意味する。例えば、木構造における根と節とに相当するファイルや、ユーザが組み合わせて使用する頻度の高い複数のファイルなどが、関連のあるファイルとなりうる。
図2を参照すると、ファイルXにファイルA、B、C、およびDが関連する。ファイルXに着目すると、ファイルA、B、C、およびDがその関連ファイルである。ファイルXのメタデータM1は、ファイルXの格納場所等を参照する情報(例えばポインタ)およびファイルXの拡張メタデータE1の格納場所等を参照する情報を有する。そして、ファイルX(自ファイル)の拡張メタデータE1は、ファイルXに関連するファイル(関連ファイル)A、B、C、およびDの格納場所等を参照する情報を有する。
また、ファイルAに着目し、このファイルを自ファイルとすると、その関連ファイルは、ファイルX、B、C、およびDとなる。このため、ファイルAの拡張メタデータは、関連ファイルX、B、C、およびDの格納場所等を参照する情報を有する。
図3〜図7は、ファイルXの拡張メタデータE1のデータ構造の一例を示す図である。図3を参照すると、拡張メタデータE1は、ファイルXに関連するファイルA、B、C、およびDの識別情報(例えば、ファイル名)を格納する。同図において「FileA」、「FileB」、「FileC」、および「FileD」はそれぞれ、各ファイルのファイル名である。
図4に示すように、拡張メタデータE1は、各関連ファイルの優先度を示す情報をメタデータに対応付けて格納することもできる。関連ファイルごとの優先度は、ユーザが自ファイルを辿って、その関連ファイルにアクセスする可能性の高さを意味する。優先度は、関連ファイルの自ファイルとの関連の度合いや、アクセス履歴(最終アクセス日時やアクセス回数)などに応じて定める。例えば、優先度を示すPriorityというパラメータを定義し、同図に示すように、ユーザがファイルXを開いた後にファイルAおよびBにアクセスする頻度が高い場合、優先度が比較的高いファイルをAおよびBとして、ユーザはこれらにPriority0を付与する。そして、ユーザは優先度の比較的低いファイルCおよびDにはPriority1を付与する。ファイルサーバ11は、優先度の高いファイルに対応するメタデータまたは拡張メタデータを優先的にメタデータキャッシュ1131に記憶する。
図5に示すように、拡張メタデータE1は、ファイルXに関連するファイルA、B、C、およびDの格納場所を示す情報やデータサイズを示す情報を格納することもできる。図6に示すように、拡張メタデータE1は、更に関連度合いを示すパラメータ(Priority)を格納してもよい。図5および図6において「AddrA」、「AddrB」、「AddrC」、および「AddrD」はファイルの格納場所を示す情報であり、「LengthA」、「LengthB」、「LengthC」、および「LengthD」は、ファイルのデータサイズを示す情報である。
図7に示すように、拡張メタデータE1は、ファイルA、B、C、Dそれぞれについて格納場所、データサイズに加え、各ファイルから出力されるデータのコピーである、「DataA」、「DataB」、「DataC」、および「DataD」を格納することもできる。
図8および図9に示すように、拡張メタデータは、メタデータ自体を格納してもよい。図8は、メタデータ、拡張メタデータ、およびファイルの参照関係を示す図である。図8を参照すると、ファイルX、A、B、C、およびDのメタデータは、それぞれファイルX、A、B、C、およびDの格納場所等を参照する情報を有する。図9を参照すると、ファイルXの拡張メタデータE2は、ファイルA、B、C、およびDのメタデータである、「MetadataA」、「MetadataB」、「MetadataC」、および「MetadataD」を格納する。
図3、図5、図7、および図9において、拡張メタデータE1およびE2は、特にファイルの関連度合いを示す情報は有しないが、例えば、リストの先頭に近いファイルが先頭から遠いファイルより関連度が高いなどの意味を持たせることも可能である。
図2〜図9を参照して説明したように、メタデータは対応するファイルおよび拡張メタデータの格納場所等を参照し、拡張メタデータは対応するファイルに関連するファイルの格納場所等を参照する。このため、ファイルに対応するメタデータおよび拡張メタデータのデータ構造を解析することで、ファイルサーバ11は、そのファイルに関連するファイルの格納場所等を求めることができる。
また、図2〜図9に示したように、関連するファイルを管理する情報をまとめて拡張メタデータとして保持することで、メタデータキャッシュ1131を効率よく利用することができる。
図2〜図9に示した格調メタデータの例では、リスト構造のデータを想定しているが、これらのデータ構造に、XMLなど可変長でフレキシブルなデータフォーマットを利用した管理構造を適用することもできる。
図2〜図9に示した拡張メタデータは、予め記憶装置3またはメタデータキャッシュ1133に記憶しておくか、ファイルサーバ11がユーザの操作に応じて作成する。ユーザがファイルの関連を新たに定義したとき、クライアント10は新たに定義された関連ファイルを示す情報をファイルサーバ11へ送信する。ファイルサーバ11は、ステップT25において受信した関連ファイルを示す情報に基づき、拡張メタデータを作成してメタデータキャッシュ1131または記憶装置3に格納する。
図1に戻り、管理部115は、クライアント10から受信したコマンドに従って、ファイルを管理する。同図を参照すると、管理部115は、ファイル管理部1151、データ構造解析部1153、および入出力制御部1155を有する。
ファイル管理部1151は、クライアント10から送信されるコマンドを読み込む。例えば、「Open」コマンドを受信した場合、ファイル管理部1151は、そのコマンドの示すファイルに対応するメタデータをメタデータキャッシュ1133から読み出す。該当するメタデータがメタデータキャッシュ1133にない場合、記憶装置3からそのメタデータを読み出す。ファイル管理部1151は、読み出したメタデータからファイルに対応する拡張メタデータを読み出し、「Open」コマンドの示すファイルに関連するファイルの名称等を示す情報を求める。そして、ファイル管理部1151は、その情報をクライアント10に送信する。読み出した関連ファイルのいずれかについてクライアント10から再度「Open」コマンドが送信された場合、ファイル管理部1151は同様の処理を行う。
また、「Write」コマンドを受信した場合、ファイル管理部1151は、クライアント10から書き込む対象のファイルとそのファイルに書き込むデータとを受信し、そのファイルにデータを格納(入力)する。「Read」コマンドを受信した場合、ファイル管理部1151は、記憶装置3またはデータキャッシュ1131からコマンドの示すファイルから読み出された(出力された)データを、クライアント10に送信する。
「ExtWrite」コマンドを受信した場合、ファイル管理部1151は、データキャッシュ1131または記憶装置3からコマンドの示す拡張メタデータを読み出し、コマンドに従って更新する。または、ファイル管理部1151は、コマンドに従って、拡張メタデータを作成し、メタデータキャッシュ1133に格納する。
「Close」コマンドを受信した場合、ファイル管理部1151は、メタデータキャッシュ1133からコマンドの示すファイルの拡張メタデータを読み出し、記憶装置3へ書き込む。
このように、ファイル管理部1151の処理により、クライアント10のユーザはディレクトリ構造をたどってファイルを開き、開いたファイルにデータを書き込み又はファイルからデータを読み出し、そして、ファイルを閉じることができる。
データ構造解析部1153は、図2〜図9に例示した拡張メタデータの構造を解析し、開いたファイルに関連の強いファイルの格納場所等を適宜メタデータキャッシュ1133内に保持する。その際にデータ構造解析部1153は、予め設定されたPriorityなどの情報により、ファイルの格納場所等を示す情報の優先度付けを行い、メタデータキャッシュ1133にそれらの情報の取り込みを行うか否かを判断する。
このように、データ構造解析部1153は、優先度を示すパラメータ(Priority)に基づき必要なデータのみキャッシュ113に読み込むので、ファイルサーバ11はキャッシュ113を効率的に利用することが出来る。
また、拡張メタデータ領域は、図2〜図9に示したように、まとまった領域に関連ファイルを管理する情報(ファイル名、格納場所等)を記録することが可能であるため、効果的にメタデータキャッシュへの取り込みを実行できることも明らかである。
ネットワーク2は、クライアント10が接続される、LAN(Local Area Network)等のネットワークである。
記憶装置3は、光ディスク、磁気ディスク、シリコンディスク、コントローラ内のメモリなどの記憶装置である。記憶装置3には、ファイルサーバ11が管理するファイル、そのファイルのメタデータ、および拡張メタデータが格納される。本実施形態では、ファイルサーバ11の外部に記憶装置3を設ける構成としているが、記憶装置3は、ファイルサーバ11の内部に設けてもよい。また、記憶装置3は、複数台設けて、各装置にファイルを分散する構成としてもよい。
ネットワーク4は、ファイルサーバ11が接続される、LAN(Local Area Network)等のネットワークである。
次に、図10および図11を参照して、ファイル管理システム1の動作について説明する。
図10は、クライアント10の実行するファイル操作処理を示すフローチャートである。ファイル操作処理は、クライアント10がユーザのファイル操作に応じてファイルの入出力を要求するための処理である。ファイル操作処理は、アプリ実行部101が、ファイル操作のためのアプリケーションを実行したときに開始する。同図を参照すると、まず、ファイル制御部103は、ユーザの操作に応じて、サーバ11に対しファイルの入出力などを要求するコマンドを発行し、ネットワーク2を通じて発行したコマンドをサーバ11に送信する(ステップS5)。そして、ファイル制御部103は、発行したコマンドが「Open」コマンドであるか否かを判断する(ステップS10)。「Open」コマンドでない場合(ステップS10:NO)、ファイル制御部103はステップS5に戻る。
「Open」コマンドである場合(ステップS10:YES)、ファイル制御部103は、サーバ11からコマンドの示すファイルに対応するメタデータを受信する(ステップS15)。そして、ファイル制御部103は、ユーザ操作に応じてコマンドを発行する(ステップS20)。ファイル制御部103は、発行したコマンドが、データの入出力を要求するコマンドであるか否かを判断する(ステップS25)。例えば、「Write」、「Read」、および「ExtWrite」がファイルの入出力を要求するコマンドである。
ファイルの入出力を要求するコマンドである場合(ステップS25:YES)、ファイル制御部103は、ファイルの入出力をサーバ11に要求し、ファイルサーバ10との間でデータを送受信する(ステップS30)。例えば、「Write」コマンドを発行した場合、ファイル制御部103は書き込む(入力する)データをサーバ11に送信する。「Read」コマンドを発行した場合、ファイル制御部103は開いたファイルから出力されたデータをサーバ11から受信する。「ExtWrite」コマンドを発行した場合、ファイル制御部103は拡張データの更新内容(ファイル名の変更など)を示すデータをサーバ11に送信する。ステップS30の後、ファイル制御部103は、ステップS20を実行する。
ファイルの入出力を要求するコマンドでない場合(ステップS25:NO)、ファイル制御部103は、発行したコマンドが「Close」コマンドであるか否かを判断する(ステップS35)。「Close」コマンドでない場合(ステップS35:NO)、ファイル制御部103はステップS20に戻る。「Close」コマンドである場合(ステップS35:YES)、ファイル制御部103はファイル操作処理を終了する。
このように、クライアント10は、ユーザの操作に応じてファイル単位でファイルの入出力などを要求するコマンドを発行し、サーバ11との間でデータを送受信する。複数のファイルを処理する場合は、ファイル制御部103は、図10で示した処理を複数並行して実行する。
次にサーバ11の実行するファイル管理処理について図11を参照して説明する。ファイル管理処理は、管理部115がクライアント10から送信されるコマンドに応じてファイルを管理するための処理である。ファイル制御処理は、サーバ11が起動した場合または所定のアプリケーションが起動した場合に開始する。同図を参照すると、管理部115は、まず、クライアント10から受信したコマンドを読み込む(ステップT1)。受信するコマンドは、例えば、「Open」、「Write」、「Read」、「ExtWrite」、または「Close」である。
管理部115は、読み込んだコマンドが「Open」コマンドであるか否かを判断する(ステップT3)。「Open」コマンドでない場合(ステップT3:NO)、管理部115はステップT1に戻る。
「Open」コマンドである場合(ステップT3:YES)、管理部115は、メタデータキャッシュ1133にコマンドの示すファイルに対応するメタデータが格納されているか否かを判断する(ステップT5)。
メタデータキャッシュ11133にファイルに対応するメタデータが格納されていない場合(ステップT5:NO)、管理部115は、記憶装置3からファイルに対応するメタデータを読み出す(ステップT7)。
メタデータキャッシュ1133にファイルに対応するメタデータが格納されている場合(ステップT5:YES)、またはステップT7の後、管理部115は、読み出したメタデータからファイルに対応する拡張メタデータを読み出し、拡張メタデータの示す関連ファイルの情報などをクライアント10に送信する。管理部115は、クライアント10からのコマンドを待ち、コマンドを受信すれば、そのコマンドを読み込む(ステップT9)。
管理部115は、読み込んだコマンドが「Write」コマンドであるか否かを判断する(ステップT11)。「Write」コマンドであれば(ステップT11:YES)、管理部115はクライアント10から、ファイルに書き込むデータを受信する(ステップT13)。そして、管理部115は、開いているファイルに受信したデータを書き込む(ステップT15)。ステップT15の後、管理部115はステップT9に戻る。
「Write」コマンドでない場合(ステップT11:No)、管理部115は、読み込んだコマンドが「Read」コマンドであるか否かを判断する(ステップT17)。「Read」コマンドであれば(ステップT17:YES)、管理部115はデータキャッシュ1131または記憶装置3内のファイルから出力されたデータを読み込む(ステップT19)。そして、管理部115は、読み込んだデータをクライアント10へ送信する(ステップT21)。ステップT21の後、管理部115はステップT9に戻る。
「Read」コマンドでない場合(ステップT17:No)、管理部115は、読み込んだコマンドが「ExtWrite」コマンドであるか否かを判断する(ステップT23)。「ExtWrite」コマンドであれば(ステップT23:YES)、管理部115は、コマンドの示す拡張メタデータをメタデータキャッシュ1133または記憶装置3から読み出す(ステップS25)。管理部115は、読み出した拡張メタデータをコマンドの示す更新内容に従って更新し、更新後の拡張メタデータをメタデータキャッシュ1133に格納する(ステップT27)。ステップT27の後、管理部115はステップT9に戻る。
「ExtWrite」コマンドでない場合(ステップT23:No)、管理部115は、読み込んだコマンドが「Close」コマンドであるか否かを判断する(ステップT29)。「Close」コマンドでない場合(ステップT29:NO)、管理部115は、ステップT9に戻る。「Close」コマンドである場合(ステップT29:YES)、管理部115は、メタデータキャッシュ1133に格納されたメタデータおよび拡張メタデータを記憶装置3に書き込む(ステップT31)。ステップT31の後、管理部115は、ファイル管理処理を終了する。
このように、サーバ11は、クライアント10からコマンドを受信し、受信したコマンドに応じてファイル入出力サービスを提供し、拡張メタデータを更新する。
なお、ファイルサーバ11は、ユーザのファイル操作に応じて拡張メタデータを作成してもよい。ユーザがファイルの関連を新たに定義したとき、クライアント10は新たに定義された関連ファイルを示す情報をファイルサーバ11へ送信する。ファイルサーバ11は、ステップT25において受信した関連ファイルを示す情報に基づき、拡張メタデータを作成してメタデータキャッシュ1131に格納する。
以上説明したように、本実施形態によれば、ファイルサーバ11は関連ファイルを管理するための拡張メタデータをクライアント10からの要求で更新するので、ファイルサーバ11が自身で拡張メタデータの管理を行う必要がなく、ファイルサーバ11の処理負荷が軽減される。
また、拡張メタデータは、関連ファイルのメタデータを有するので、ファイルサーバ11は、自ファイルの拡張メタデータを読み出せば、その関連ファイルのメタデータをネットワーク2を通じて読み出す必要がなく、ネットワーク2の通信量が軽減される。
また、ファイルサーバ11は、どの関連ファイルのメタデータをキャッシュに格納するのかを、各関連ファイルの優先度に基づいて決めるので、キャッシュ113が効率的に利用され、ネットワーク4を通じての記憶装置3へのアクセス回数が減少する。このため、ネットワーク4におけるハンドシェイク回数が減少する。この結果、ファイル操作の応答性が向上する。
(第2実施形態)
本発明の第2実施形態について図12および図13を参照して説明する。
第1実施形態においてキャッシュ113はサーバ11側のみに設けていたが、更にクライアント10にキャッシュを設けてもよい。第2実施形態は、クライアント10にもキャッシュを設ける構成としたものである。
図12は、本実施形態にかかるファイル管理システム1aの全体図である。同図を参照すると、クライアント10は、キャッシュ107を有し、キャッシュ107は、データキャッシュ1071およびメタデータキャッシュ1073を有する。ファイル管理システム1aは、クライアント10がキャッシュ107を有する以外は、第1実施形態にかかるファイル管理システム1と同様の構成である。
図13を参照して、本実施形態のクライアント10の動作について説明する。同図は、クライアント10が実行するファイル操作処理を示すフローチャートである。同図を参照すると、ファイル制御部103は、ユーザの操作に応じて、サーバ11に対しファイルの入出力などを要求するコマンドを発行し、そのコマンドをサーバ11に送信する(ステップS5)。そして、ファイル制御部103は、発行したコマンドが「Open」コマンドであるか否かを判断する(ステップS10)。「Open」コマンドでない場合(ステップS10:NO)、ファイル制御部103はステップS5に戻る。
「Open」コマンドである場合(ステップS10:YES)、メタデータキャッシュ1073にファイル制御部103は、サーバ11からコマンドの示すファイルに対応するメタデータが格納されているか否かを判断する(ステップS11)。
ファイルに対応するメタデータが格納されていない場合(ステップS11:NO)、ファイル制御部103は、サーバ11からコマンドの示すファイルに対応するメタデータを要求する。
ファイルサーバ11は、要求されたメタデータ、および、そのメタデータが参照する拡張メタデータをネットワーク2の通信トラフィックが所定の値以下となったときに、一括してバックグラウンドでクライアント10に送信する。
クライアント10は、メタデータおよび拡張メタデータを受信し、受信したメタデータ等をメタデータキャッシュ1073に格納する(ステップS15)。そして、ファイル制御部103は、ユーザ操作に応じてコマンドを発行する(ステップS20)。ファイル制御部103は、発行したコマンドが、データの入出力を要求するコマンドであるか否かを判断する(ステップS25)。
データの入出力を要求するコマンドである場合(ステップS25:YES)、またはファイルに対応するメタデータが格納されている場合(ステップS11:YES)、ファイル制御部103は、コマンドがデータ入出力の対象とするデータブロック(例えば、inode)がデータキャッシュ1071に格納されているか否かを判断する(ステップS26)。該当するデータブロックがある場合(ステップS26:YES)、ファイル制御部103は、そのデータブロックにデータを入出力する(ステップS27)。そして、ファイル制御部103はメタデータキャッシュ1073におけるメタデータを更新する。例えば、「Write」コマンドを発行した場合、ファイル制御部103は開いたファイルに対応するデータブロックにデータを格納する。「Read」コマンドを発行した場合、ファイル制御部103は開いたファイルに対応するデータブロックからデータを読み込む。
そして、ファイル制御部103はメタデータキャッシュ1073におけるメタデータを更新する(ステップS28)。例えば、「ExtWrite」コマンドを発行した場合、ファイル制御部103はメタデータキャッシュ1073における拡張メタデータを更新する。
該当するデータブロックがない場合(ステップS26:NO)、ファイル制御部103は、ファイルの入出力をファイルサーバ11に要求し、ファイルサーバ11との間でデータを送受信する(ステップS30)。ファイル制御部103は、メタデータキャッシュ1073におけるメタデータを更新する(ステップS31)。ステップS28またはS31の後、ファイル制御部103は、ステップS20に戻る。
ファイルの入出力を要求するコマンドでない場合(ステップS25:NO)、ファイル制御部103は、発行したコマンドが「Close」コマンドであるか否かを判断する(ステップS35)。「Close」コマンドでない場合(ステップS35:NO)、ファイル制御部103はステップS20に戻る。「Close」コマンドである場合(ステップS35:YES)、ファイル制御部103はデータキャッシュ1071に記憶されたデータをファイルサーバ11に送信する(ステップS36)。そして、ファイル制御部103はメタデータキャッシュ1073に記憶された拡張メタデータを、ネットワーク2の通信トラフィックが所定の値以下となったときにバックグラウンドでファイルサーバ11へ送信する(ステップS37)。ファイルサーバ11は、受信したデータに応じて、キャッシュ113および記憶装置3に格納されたデータを更新する。ファイル制御部103は、ステップS37の後、ファイル操作処理を終了する。
以上説明したように、本実施形態によれば、クライアント10がメタデータキャッシュ1073を有し、拡張メタデータをキャッシュするので、更にファイルサーバ11のキャッシュ管理の処理負荷が軽減され、ファイル操作の応答性が向上する。
また、ファイルサーバ11は、クライアント10へのメタデータおよび拡張メタデータの送信をネットワーク2の通信量が所定の値以下となった場合に行うので、通信トラフィックの増大によるファイルサーバ11の応答の遅延が抑制される。
なお、図11、図12、および図13で示した処理の全部または一部は、コンピュータがソフトウェアプログラムを実行することにより実現することもできる。
第1実施形態のファイル管理システムの構成を示す全体図である。 第1実施形態のデータ構造の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態のデータ構造の一例を示す図である。 第1実施形態の拡張メタデータの構成の一例を示す図である。 第1実施形態のクライアントの実行する処理を示すフローチャートである。 第1実施形態のファイルサーバの実行する処理を示すフローチャートである。 第2実施形態のファイル管理システムの構成を示す全体図である。 第2実施形態のクライアントの実行する処理を示すフローチャートである。 従来のファイル管理システムの構成を示す全体図である。
符号の説明
1、1a ファイル管理システム
2、4 ネットワーク
3 記憶装置
10 クライアント
11 ファイルサーバ
101 アプリ実行部
103 ファイル制御部
105 ネットワークI/F部
107 キャッシュ
111 ネットワークI/F部
113 キャッシュ
115 管理部
1071 データキャッシュ
1073 メタデータキャッシュ
1131 データキャッシュ
1133 メタデータキャッシュ
1151 ファイル管理部
1153 データ構造解析部
E1、E2 拡張メタデータ
M1 メタデータ
C1 クライアント
S1 サーバ
S5〜S35、T1〜T31、S36、S37 ステップ

Claims (10)

  1. ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムであって、
    ユーザによる前記ファイルの操作に応じて、該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータの更新を要求するクライアントと、
    前記ファイルに対応付けて前記拡張メタデータをキャッシュに記憶しておき、記憶した該拡張メタデータを前記クライアントからの前記拡張メタデータの更新の要求に応じて更新するファイルサーバと、
    を有し、
    前記拡張メタデータは、前記関連ファイルの優先度を示す優先度情報を更に有し、
    前記ファイルサーバは、前記優先度情報に基づいて必要な拡張メタデータのみを前記ファイルに対応付けて前記キャッシュに記憶しておく、ファイル管理システム。
  2. 前記拡張メタデータは、該拡張メタデータが管理する前記関連ファイルに対応する前記メタデータを有する、請求項1に記載のファイル管理システム。
  3. 前記ファイルサーバは、記憶された前記拡張メタデータを前記クライアントへ更に送信し、
    前記クライアントは、前記ファイルサーバから受信した前記拡張メタデータを記憶しておき、ユーザによる前記ファイルの操作に応じて自身の記憶している該拡張メタデータを更新したとき、該更新に基づいて、前記ファイルサーバに前記拡張メタデータの更新を要求する、請求項1又は2に記載のファイル管理システム。
  4. 前記サーバ及び前記クライアントはネットワークに接続され、
    前記サーバは、前記ネットワークの通信量が所定の閾値以下のときに記憶された前記拡張メタデータを前記クライアントに送信する、請求項に記載のファイル管理システム。
  5. ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるファイルサーバであって、
    前記ファイルに対応付けて該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータを記憶しておくキャッシュと、
    前記キャッシュに記憶された該拡張メタデータをクライアントからの前記拡張メタデータの更新の要求に応じて更新する更新手段と、
    を有し、
    前記拡張メタデータは、前記関連ファイルの優先度を示す優先度情報を更に有し、
    前記ファイルサーバは、前記優先度情報に基づいて必要な拡張メタデータのみを前記ファイルに対応付けて前記キャッシュに記憶しておく、ファイルサーバ。
  6. 前記拡張メタデータは、該拡張メタデータが管理する前記関連ファイルに対応する前記メタデータ又は該関連ファイルに対応する前記拡張メタデータを有する、請求項に記載のファイルサーバ。
  7. ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるクライアントであって、
    前記ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータを受信する受信手段と、
    前記受信手段により受信された前記拡張メタデータを前記ファイルに対応付けて記憶するキャッシュと、
    ユーザによる前記ファイルの操作に応じて、前記キャッシュに記憶された前記拡張メタデータを更新し、該更新に基づいてファイルサーバに更新を要求する更新要求手段と、
    を有し、
    前記拡張メタデータは、前記関連ファイルの優先度を示す優先度情報を更に有し、
    前記キャッシュは、前記優先度情報に基づいて必要な拡張メタデータのみを前記ファイルに対応付けて記憶する、クライアント。
  8. 前記拡張メタデータは、前記関連ファイルに対応する前記メタデータ又は該関連ファイルに対応する前記拡張メタデータを有する、請求項に記載のクライアント。
  9. ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理方法であって、
    クライアントがユーザによる前記ファイルの操作に応じて、該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータの更新を要求し、
    前記ファイルに対応付けてファイルサーバが前記拡張メタデータをキャッシュに記憶しておき、
    記憶した該拡張メタデータを前記ファイルサーバが前記クライアントからの前記拡張メタデータの更新の要求に応じて更新し、
    前記拡張メタデータは、前記関連ファイルの優先度を示す優先度情報を更に有し、
    前記ファイルサーバは、前記優先度情報に基づいて必要な拡張メタデータのみを前記ファイルに対応付けて前記キャッシュに記憶する、ファイル管理方法。
  10. ファイルを管理するための情報を有するメタデータに基づいて該ファイルを管理するファイル管理システムにおけるファイルサーバに、
    前記ファイルに対応付けて該ファイルに関連する関連ファイルを管理するための情報を有する拡張メタデータをキャッシュに記憶する手順、及び
    記憶された該拡張メタデータをクライアントからの前記拡張メタデータの更新の要求に応じて更新する更新手順、
    を実行させ、
    前記拡張メタデータは、前記関連ファイルの優先度を示す優先度情報を更に有し、
    前記記憶する手順では、前記優先度情報に基づいて必要な拡張メタデータのみを前記ファイルに対応付けて前記キャッシュに記憶する、プログラム。
JP2008047688A 2008-02-28 2008-02-28 ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム Active JP5239398B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008047688A JP5239398B2 (ja) 2008-02-28 2008-02-28 ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008047688A JP5239398B2 (ja) 2008-02-28 2008-02-28 ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2009205480A JP2009205480A (ja) 2009-09-10
JP5239398B2 true JP5239398B2 (ja) 2013-07-17

Family

ID=41147660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008047688A Active JP5239398B2 (ja) 2008-02-28 2008-02-28 ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5239398B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773085A (ja) * 1993-07-02 1995-03-17 Hitachi Ltd データ処理システムおよびメタデータの先読み方法
JP4250914B2 (ja) * 2002-06-03 2009-04-08 株式会社日立製作所 記憶装置システム
JP2006293936A (ja) * 2005-04-14 2006-10-26 Mitsubishi Electric Corp ファイル関連取得装置
JP2006313448A (ja) * 2005-05-09 2006-11-16 Hitachi Medical Corp 情報処理装置
JP4767127B2 (ja) * 2006-08-10 2011-09-07 株式会社日立製作所 ファイルサーバ、計算機システム及びファイルの先読み方法。

Also Published As

Publication number Publication date
JP2009205480A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
US11099769B1 (en) Copying data without accessing the data
US9092146B2 (en) Dynamically varying transfer size in a storage device for improved performance
US7765189B2 (en) Data migration apparatus, method, and program for data stored in a distributed manner
US8473636B2 (en) Information processing system and data management method
US8458234B2 (en) Data management method
KR100825721B1 (ko) 객체 기반 스토리지 시스템에서 사용자 파일 관리자 내의시간 기반 캐쉬 일관성 유지 시스템 및 방법
JP5589205B2 (ja) 計算機システム及びデータ管理方法
US20050262150A1 (en) Object-based storage
WO2011121746A1 (ja) ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム
US20070239747A1 (en) Methods, systems, and computer program products for providing read ahead and caching in an information lifecycle management system
US9335945B2 (en) Transfer size monitor, determination, and optimization engine for storage devices
JP2007018399A (ja) 条件別スナップショット取得方法及びシステム
US20090193207A1 (en) Computer system, remote copy method and first computer
KR20170133120A (ko) 컨테이너 이미지 관리 시스템 및 방법
US8433871B2 (en) Data copy management for faster reads
JP5439236B2 (ja) 計算機システムおよびアプリケーションプログラムの実行方法
US7506004B2 (en) Moving data from file on storage volume to alternate location to free space
US11042508B2 (en) Information management
KR101624005B1 (ko) 소프트웨어 컴포넌트 상태에 대한 접근 제어
JP4327869B2 (ja) 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
JP5239398B2 (ja) ファイル管理システム、ファイルサーバ、クライアント、ファイル管理方法、及びプログラム
US20190179803A1 (en) Apparatus and method for file sharing between applications
WO2016001959A1 (ja) ストレージシステム
JP4005102B2 (ja) ゲートウェイ装置
JP2005063139A (ja) コンピュータシステムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5239398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150