JP2004139200A - File management program and file management system - Google Patents

File management program and file management system Download PDF

Info

Publication number
JP2004139200A
JP2004139200A JP2002301233A JP2002301233A JP2004139200A JP 2004139200 A JP2004139200 A JP 2004139200A JP 2002301233 A JP2002301233 A JP 2002301233A JP 2002301233 A JP2002301233 A JP 2002301233A JP 2004139200 A JP2004139200 A JP 2004139200A
Authority
JP
Japan
Prior art keywords
file
file server
management
server
access
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.)
Granted
Application number
JP2002301233A
Other languages
Japanese (ja)
Other versions
JP4224279B2 (en
Inventor
Yoshihisa Nakajo
中條 義久
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002301233A priority Critical patent/JP4224279B2/en
Publication of JP2004139200A publication Critical patent/JP2004139200A/en
Application granted granted Critical
Publication of JP4224279B2 publication Critical patent/JP4224279B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a file management program for executing the distributed management of a plurality of files while dynamically distributing loads by a plurality of file servers. <P>SOLUTION: This file management program makes a computer 1 prepare for a file server 2 for managing one or more files 51 in a file system 5 installed in a storage device 4 which can be shared by a plurality of servers 2, and transmit/receive data expressing access states concerning the file 51 managed by the respective file servers 2 with predetermined intervals between the prepared file server 2 and the other file servers 2, and dynamically change the management main body of one or more files 51 managed by the prepared file server 2 based on the data expressing the access states. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ファイル管理プログラム及びファイル管理装置に関し、特に、複数のファイルサーバが複数のファイルの分散管理を行うファイル管理プログラム及びファイル管理装置に関する。
【0002】
【従来の技術】
多数のファイルを管理する場合、複数のファイルサーバによりファイルを分割して管理することにより、負荷の分散が図られる。多くの場合、複数のファイルはツリー構造により管理される。従って、ツリー構造の複数のファイル(ファイルツリー又はファイルシステム)は、複数のファイルサーバにより管理される。ファイルシステムの分割管理は、以下のいずれかの方法による。
【0003】
第1に、一般的な方法であるが、各々のファイルサーバが、完全に独立してファイルツリーを管理する。即ち、各々のファイルサーバが、定義情報により予め定められたファイルツリーの部分を自己の管理領域として、独立して完全に管理する。この場合、あるファイルにアクセスするためには、クライアント(要求クライアント)は、当該ファイルを管理するファイルサーバに対してアクセス要求を行う必要がある。アクセス要求されるファイルサーバが適度にばらつけば、負荷分散の効果がある(例えば、特許文献1参照)。
【0004】
第2に、大型の(又は高価な)コンピュータシステムで用いられる方法であるが、各々のファイルサーバが、ファイルのレプリカ(コピー)を保持して管理する。即ち、各々のファイルサーバが、ファイルツリーの全部又は一部のレプリカを保持して管理する。レプリカは有効性(レプリカ間におけるデータの整合性)を確保しつつ管理される。従って、クライアントの存在するコンピュータ内に有効なレプリカが存在する場合、高速な応答が得られ、結果的に負荷分散の効果がある(例えば、特許文献2参照)。
【0005】
【特許文献1】
特開平5−233417号公報
【特許文献2】
特表平10−510935号公報
【0006】
【発明が解決しようとする課題】
しかし、前述の第1のファイルシステムの分割管理の方法によれば、局所的なアクセスに対しては、負荷の分散ができない。即ち、ある特定のファイルツリーの配下のファイルにアクセスが集中すると、当該ファイルツリーを管理するファイルサーバのみの負荷が大きくなる。このため、ファイルサーバを分割したメリットが得られない。アクセスが集中したファイルツリーを更に分割して負荷を分散することは可能である。しかし、このためには、ファイルツリーの当該部分を管理するファイルサーバの定義情報を書き換えなければならない。これはシステム管理者にとって、煩わしく負担も大きい。また、定義情報の書き換えによっては、アクセスが集中するファイルが動的に変化する場合には対応できない。
【0007】
また、第2のファイルシステムの分割管理の方法によれば、レプリカの保持のために多くのストレージ領域(記憶容量)が必要となる。即ち、この方法においては、クライアントから至近のレプリカにアクセスすることにより、初めて負荷の分散が可能となる。従って、どのクライアントから見ても至近の(即ち、高速の応答を返信できる)レプリカが存在し得るように、ある程度の数のレプリカを配置する必要がある。しかし、近年、ファイルツリーに保持されるデータ量は膨大であり、かつ、重要で省略できないデータである場合が多い。このため、レプリカを配置するために、多くのストレージ領域を必要とする。また、膨大なデータの間における整合性を維持するために、相当のデータ転送を伴う通信を必要とする。
【0008】
本発明の目的は、複数のファイルサーバにより、動的に負荷の分散を行いつつ、複数のファイルの分散管理を行うファイル管理プログラムを提供することにある。
【0009】
また、本発明の目的は、複数のファイルサーバにより、動的に負荷の分散を行いつつ、複数のファイルの分散管理を行うファイル管理装置を提供することにある。
【0010】
【課題を解決するための手段】
本発明のファイル管理プログラムは、ファイルシステムを管理するファイルサーバを実現するプログラムであって、前記プログラムは、コンピュータに、複数のファイルサーバで共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理するファイルサーバを用意させ、当該ファイルサーバと他のファイルサーバとの間で各々のファイルサーバの管理するファイルについてのアクセス状態を表すデータを所定の間隔で送受信させ、アクセス状態を表すデータに基づいて当該ファイルサーバの管理する1又は複数のファイルの管理主体を動的に変更させる。
【0011】
本発明のファイル管理プログラムによれば、ファイルサーバ間での通信により相互にアクセス状態を表すデータを送受信し、これに基づいて自己の管理するファイルを動的に変更するファイルサーバ(管理主体)を実現することができる。これにより、特定のファイルツリーのファイルにアクセスが集中した場合、当該ファイルツリーを更に分割して、当該ファイルツリーを管理するファイルサーバの負荷を減らし、負荷を分散することができる。また、ファイル管理(又は管理主体)の動的変更のためにファイルサーバの定義情報を書き換える必要がないので、システム管理者の負担なしで、アクセスが集中するファイルが動的に変化する場合に対応することができる。従って、ユーザ(クライアント)からのアクセス形態にかかわらず、動的な負荷分散を実現することができる。更に、ファイルサーバ間での通信の間隔でファイル管理の動的変更が行われるので、レプリカを保持することなく、どのクライアントから見ても高速の応答が得られる。従って、膨大なストレージ領域やデータの整合性を維持する通信なしで、高速の応答性を備えるファイルシステムを得ることができる。
【0012】
また、本発明のファイル管理装置は、ファイルシステムを管理するファイル管理装置であって、複数のファイル管理装置で共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理する管理手段と、他のファイル管理装置との間で、各々のファイル管理装置の管理するファイルについてのアクセス状態を表すデータを、所定の間隔で送受信する通信手段と、アクセス状態を表すデータに基づいて、自己の管理する1又は複数のファイルを、動的に変更する変更手段とを備える。
【0013】
本発明のファイル管理装置によれば、ファイル管理装置間での通信により相互にアクセス状態を表すデータを送受信し、これに基づいて、自己の管理するファイルを動的に変更する。これにより、前述のように、局所的なアクセスの集中に対して、ファイルツリーを更に分割して、ファイル管理装置の負荷を分散することができる。また、局所的なアクセスの集中に対応して、システム管理者の負担なしで、動的な負荷分散を実現することができる。更に、ファイル管理(又は管理主体)の動的変更により、どのクライアントも高速の応答が得られるファイルシステムを得ることができる。
【0014】
【発明の実施の形態】
図1はファイル管理システム構成図であり、特に、図1(A)は本発明のファイル管理プログラムが実現するファイル管理装置を備えるファイル管理システムの構成を示す。
【0015】
ファイル管理システムは、複数のコンピュータ1と、複数のコンピュータ1上に存在する複数のファイルサーバ2と、1又は複数のクライアント(要求クライアント)3と、1又は複数のストレージ装置4と、これらの間を接続するネットワーク6とを備える。この例では、ファイル管理システムは、4個のコンピュータ1(1A〜1D)、4個のファイルサーバ2(2A〜2D)、1個のストレージ装置4、1個のクライアント3を含んでいる。ネットワーク6は、例えばLAN(Local Area Network)、WAN(Wide Area Network )等からなる。
【0016】
ストレージ装置4は、複数のコンピュータ1の各々から即ち複数のファイルサーバ2の各々から共用可能とされる。ストレージ装置4上には、階層構造とされた複数のファイルからなるファイルシステム5が設けられる。ファイルサーバ2は、ファイル管理装置であって、ファイルシステム5を分割して管理する。即ち、ファイルサーバ2は、ファイルシステム5における1又は複数のファイル51を管理する。クライアント3は、ファイルサーバ2に対して、ファイル51へのアクセス要求を発行する。
【0017】
図1(B)は、本発明を説明するための概念図であり、本発明のファイル管理プログラムが実現するファイルサーバ2により管理されるファイルシステム5の構成を示す。
【0018】
ファイルシステム5は、複数のファイルを階層的に管理するものであり、一般ファイルとディレクトリファイルにより構成される。一般ファイルはプログラムで利用するデータを格納するファイルであり、ディレクトリファイルはファイル(一般ファイル及びディレクトリファイル)を管理するためのファイルである。ディレクトリファイルは配下のファイルを特定する情報を保持しており、図1(B)においては枝分かれしている線図として描かれている。
【0019】
図1(B)において、太線により各々のファイルサーバ2の管理範囲を表す。例えば、領域5A内のディレクトリファイル51配下のファイルツリーはファイルサーバ2Aにより管理される。例えば、ファイルサーバ2Aが領域5Bの管理をファイルサーバ2Bに移管することにより、ファイルツリーの分割管理の変更が成立する。領域5C及び5Dについても同様である。結果として、ファイルサーバ2Aは、領域5Aの中のファイルサーバ2B〜2Dに移管した領域5B〜5D以外の部分を管理する。このように、複数のファイルサーバ2は、ファイルシステム5を構成する頂点の1個のディレクトリ配下を、階層的に分割管理し、かつ管理範囲を動的に変更する。これにより、高度な負荷分散を実現する。
【0020】
なお、例えば個々のコンピュータ1を区別する場合には、コンピュータ1A等と示す。他についても同様である。1個のコンピュータ1上には、ファイルシステム5を管理するファイルサーバ2が1個のみ存在し、複数存在することはない。クライアント3は、各々のコンピュータ上に、1又は複数存在するか、又は、存在しなくてもよい。クライアント3は、複数のコンピュータ1上のいずれかに存在すればよい。ストレージ装置4を共用することができないコンピュータ1上には、ファイルサーバ2及びクライアント3は存在しない。
【0021】
図2はファイルサーバ構成図であり、本発明のファイル管理プログラムが実現するファイルサーバ2の構成を示す。
【0022】
ファイルサーバ2は、管理手段21、通信手段22、変更手段23、ファイル管理用制御表24、稼働状況テーブル26、ファイルリスト27を備える。ファイルサーバ2、即ち、その管理手段21、通信手段22及び変更手段23は、本発明のファイル管理プログラムを、コンピュータ1のCPUにおいて実行することにより実現される。本発明のファイル管理プログラムは、フレキシィブルディスク、CD−ROM、CDR/W、DVD等の種々のプログラム記録媒体に記録して提供されることができる。これにより、本発明のファイルサーバ2をコンピュータ1上に容易に実現することができる。ファイル管理用制御表24、稼働状況テーブル26、ファイルリスト27はファイル管理プログラムにより、当該コンピュータ1の主記憶(図示せず)上に作成される。
【0023】
管理手段21は、複数のファイルサーバ2で共用可能なストレージ装置4に設けられたファイルシステム5において、1又は複数のファイル51(及びディレクトリ52)を管理する。管理対象は、当該ファイルサーバ2(即ち、当該管理手段21)が管理すべきファイル51(及びディレクトリ52、以下同じ)である。即ち、管理手段21は、自己が管理すべきファイル51に対するアクセスが発生すると、当該アクセス対象ファイル51に対応したファイル管理用制御表24が自コンピュータ1の主記憶内に存在するか否かを調べ、存在しない場合、ファイル管理用制御表24を作成する。なお、ファイル管理用制御表24は、当該ファイル51がアクセスされている間は主記憶内に常駐するので、存在しない場合は、当該アクセスが新規のアクセスであることを意味する。
【0024】
ファイル管理用制御表24の一例を図3に示す。ファイル管理用制御表24は、ある1個のファイル51について、その種類、アクセス権、所有者、最終更新時刻等の属性情報に加えて、当該ファイル51がどのコンピュータ1から連続的にアクセスされているか(連続操作情報)、また、どのコンピュータ1から連続的にデータ転送要求があったか(連続転送情報)を記録する。管理手段21は、当該ファイル51へのアクセスに応じて、連続操作情報及び連続転送情報を逐次更新する。
【0025】
例えば、当該ファイル51がコンピュータ1Dから初めてオープンされる(オープンのアクセス要求がある)と、図3の連続操作要求計算機名に「コンピュータD」と記録され、連続操作要求数に「1」と記録される。続いて、当該ファイル51についての属性情報取得のアクセス要求が発行されると、連続操作要求計算機名が等しいので、連続操作要求数が「2」に更新される。連続転送要求計算機名及び連続転送要求量も、同様に、当該ファイル51に対して読み出し又は書き込みの要求が発行される都度に、記録され更新される。なお、連続転送要求量の単位はMB(メガバイト)である。
【0026】
例えば、コンピュータ1D(即ち、ファイルサーバ1D)からのアクセスの後に異なるコンピュータ1B(即ち、ファイルサーバ1B)からアクセス要求があった場合、連続操作要求計算機名は変更され、連続操作要求数は「0」にリセットされる。連続転送要求計算機名及び連続転送要求量も同様である。従って、連続操作情報及び連続転送情報は、同一のコンピュータ1又はファイルサーバ2からのアクセスの頻度を表す情報である。
【0027】
管理手段21は、ファイル51についてファイル管理用制御表24を作成した場合、最初のアクセス時であると判断して、その旨を変更手段23に通知する。また、管理手段21は、連続操作情報又は連続転送情報が所定の状態を示す場合、高アクセス頻度時であると判断して、その旨を変更手段23に通知する。例えば、特定のコンピュータ1からの連続操作数が16回(32回、64回等であってもよい)を超えた場合、当該コンピュータ1から多数の操作要求を受け付けた高アクセス頻度時であると判断する。又は、特定のコンピュータ1への連続転送量が32MB(16MB、64MB等であってもよい)を超えた場合、当該コンピュータ1から多量のデータ転送要求を受け付けた高アクセス頻度時であると判断する。
【0028】
通信手段22は、他のファイルサーバ2との間で、各々のファイルサーバ2の管理するファイル51についてのアクセス状態を表すデータを、所定の間隔で送受信する。この例において、通信手段22はサーバ間通信手段である。即ち、ファイルサーバ2は、他ファイルサーバ2が正常に動作していることを確認するために、所定の間隔で、相互に定期送信情報25を送受信する通信を行う。所定の間隔は、例えば10秒とされる。この例では、このサーバ間通信の際に送受信される定期送信情報25に、アクセス状態を表すデータが含まれる。
【0029】
定期送信情報25の一例を図4(A)に示す。定期送信情報25は、本来のサーバ間通信のメッセージである「通常のメッセージ」に加えて、アクセス状態を表すデータ、即ち、過去10秒間に自己(当該ファイルサーバ2)がどれだけの要求を処理したかを示すデータ(付加情報)を含む。なお、「過去10秒間」とは、先のサーバ間通信から今回のサーバ間通信までの間隔である。
【0030】
アクセス状態を表すデータは、「過去10秒間の平均操作要求数」及び「過去10秒間の平均転送速度」からなる。「過去10秒間の平均操作要求数」は、過去10秒間で、当該ファイルサーバ2が管理する全てのファイル51に対する操作要求を、1秒当たり平均何個処理したかを示す。即ち、所定の時間あたりの平均アクセス要求数である。「過去10秒間の平均転送速度」は、過去10秒間で、当該ファイルサーバ2が管理する全てのファイル51に対する入出力要求を、1秒当たり平均何MB分処理したかを示す。即ち、所定の時間あたりの平均データ転送速度(の実績)である。
【0031】
アクセス状態を表すデータは、例えば管理手段21が当該10秒毎に作成して通信手段22に渡す。このために、管理手段21は、当該ファイルサーバ2が管理する全てのファイル51について、その操作要求を受け付けた(処理した)回数、及び、その入出力要求を処理した量(MB)を、当該10秒毎に記録し、前記平均を求める。
【0032】
ファイルサーバ2の稼動状況を評価するためにこれらの2個のパラメータを使用するのは、入出力系の処理(ほぼ「平均転送速度」で表される)とそうでない処理(ほぼ「平均操作要求数」で表される)とでは性能の評価対象値が異なるからである。入出力系の処理はほぼ「平均転送速度」で表され、そうでない処理はほぼ「平均操作要求数」で表されると考えてよい。これらの値が大きい程、当該ファイルサーバ2の処理能力(即ち、アクセス状態を表すデータ)にまだ余裕があることを意味する。
【0033】
変更手段23は、アクセス状態を表すデータに基づいて、自己の管理する1又は複数のファイル51を、動的に変更する。このために、通信手段22は、他のファイルサーバ2との間におけるサーバ間通信により受信した定期送信情報25からアクセス状態を表すデータを取り出して、変更手段23に渡す。変更手段23は、通信手段22からのアクセス状態を表すデータに基づいて、稼働状況テーブル26を作成する。これにより、変更手段23は、ストレージ装置4を共用しファイルシステム5にアクセスする全てのファイルサーバ2の各々について、過去10秒間における稼動状況を把握する。
【0034】
稼働状況テーブル26の一例を図4(B)に示す。稼働状況テーブル26は、ファイルサーバ2毎に、「過去10秒間の平均操作要求数」及び「過去10秒間の平均転送速度」を格納するものである。例えば、ファイルサーバ2Aの備える稼働状況テーブル26においては、ファイルサーバ2Aについてのこれらのデータは自己のデータを入力し、ファイルサーバ2B〜2Dについてのこれらのデータは通信手段22から得たデータを使用する。平均操作要求数については、ファイルサーバ2Cが最高スコアを示し、この観点からの処理能力に最も余裕が残っている(当該データが最も優れている、以下同じ)。平均転送速度についても、ファイルサーバ2Cが最高スコアを示し、この観点からの処理能力に最も余裕が残っている。
【0035】
変更手段23は、稼働状況テーブル26を用いて、ファイル51の管理を移管する(即ち、管理するファイルサーバ2を変更する)か否かの判断処理を行なう。この判断処理は、管理手段21からの最初のアクセス時である旨の通知又は高アクセス頻度時である旨の通知を受け取った場合に行なわれる。即ち、ファイル51に対する初めてのアクセス時(ファイル51の作成時を含む)、及び、特定のコンピュータ1から多数の操作要求または多量のデータ転送要求を受け付けた場合に行なわれる。
【0036】
最初のアクセス時である旨の通知を受け取った場合、変更手段23は、最初のアクセス時の判定処理を行なう。これについては、図8を参照して後述する。これにより、変更手段23は、クライアント3の存在するコンピュータ1上にファイルサーバ2が存在し、かつ、当該ファイルサーバ2が現在当該ファイル51を管理しているファイルサーバ2(現ファイルサーバ2)と比べて処理能力(即ち、アクセス状態を表すデータ、以下同じ)に余裕がある場合、当該ファイルサーバ2に管理の移管を要求する。また、変更手段23は、クライアント3の存在するコンピュータ1上にファイルサーバ2が存在しないが、処理能力に余裕があるファイルサーバ2が他に存在する場合、当該余裕のあるファイルサーバ2に管理の移管を要求する。
【0037】
高アクセス頻度時である旨の通知を受け取った場合、変更手段23は、高アクセス頻度時の判定処理を行なう。これについては、図9を参照して後述する。これにより、変更手段23は、クライアント3の存在するコンピュータ1上にファイルサーバ2が存在し、かつ、当該ファイルサーバ2が現ファイルサーバ2と比べて処理能力に余裕がある場合、当該ファイルサーバ2に管理の移管を要求する。この移管要求の後、変更手段23は、自己のファイルリスト27を変更する。また、この例では、管理の移管を要求されたファイルサーバ2は、当該管理の移管を他のファイルサーバ2に通知する。これに応じて、他のファイルサーバ2は自己のファイルリスト27を変更する。なお、変更前のファイルサーバ2が当該管理の移管を他のファイルサーバ2に通知するようにしてもよい。
【0038】
ファイルリスト27の一例を図4(C)に示す。ファイルリスト27は、ファイルサーバ2毎に、当該ファイルサーバ2の管理するファイル51の名前及びディレクトリ52の名前を格納してなる。この例では、ストレージ装置4を共用してファイルシステム5を使用する全てのファイルサーバ2が、同一のファイルリスト27を備える。従って、ファイル51の管理の移管とは、ファイルリスト27を変更することによる。即ち、この例では、ファイル51の管理情報(管理するファイルサーバ2を示す情報)は、定義情報において固定的に定められることなく、ファイルリスト27により動的に変更され管理される。
【0039】
また、変更手段23は、自己を管理するファイルサーバ2が変更されたファイル51を使用しているクライアント3に対して、新しいファイルサーバ2を通知する。これにより、クライアント3は、次回のアクセス時から、新しいファイルサーバ2に対してアクセス要求を発行することができる。
【0040】
以上により、この例のファイル管理システムでは、ファイルサーバ2の負荷が高くなった場合又は高くなることが予想される場合、当該ファイルサーバ2は、その管理するファイルツリーの一部の管理を、他の負荷の低いファイルサーバ2に移管する。これにより、ファイルサーバ2の負荷を軽減し、ファイルサーバ2の全体の負荷を分散することができる。また、あるファイルツリー内のファイル51が特定のコンピュータ1から高い頻度でアクセスされていることを検出した場合又は多量のデータ転送の要求があった場合、当該ファイル51の管理を、当該コンピュータ1上のファイルサーバ2に移管する。これにより、アクセス要求元のクライアント3とファイルサーバ2とが同一のコンピュータ1上に存在することになり、より高速なファイル操作、データ転送が可能となる。
【0041】
なお、ファイル管理システムの構成は、図1の構成に限られず、例えば図5及び図6に示すような構成としてもよい。図5(A)乃至図6(B)は、各々、図1(A)に対応し、本発明のファイル管理プログラムが実現する他のファイル管理装置を備えるファイル管理システムの構成を示す。
【0042】
図5(A)に示すように、クライアント3はコンピュータ1E上に存在してもよい。コンピュータ1Eは、ファイルサーバ2A乃至2Dの存在しないコンピュータである。従って、クライアント3とファイルサーバ2とは、必ずしも同一のコンピュータ1上に存在する必要はない。この場合のクライアント3は、他のコンピュータ1A乃至1Dに存在するファイルサーバ2A乃至2Dに対してアクセス要求を送ることにより、ファイルシステム5を使用する。
【0043】
図5(B)に示すように、クライアント3はコンピュータ1F上に存在してもよい。コンピュータ1Fは、ネットワーク6Aに接続された他のネットワーク6Bを介して接続されたコンピュータである。従って、クライアントは他のネットワーク6Bに存在してもよい。この場合のクライアント3も、他のコンピュータ1A乃至1Dに存在するファイルサーバ2A乃至2Dに対してアクセス要求を送ることにより、ファイルシステム5を使用する。
【0044】
図6(A)に示すように、複数のコンピュータ1即ちファイルサーバ2により共用される第1及び第2(複数)のストレージ装置4A及び4Bが設けられ、かつ、これらの上に1個のファイルシステム5が設けられていてもよい。従って、ストレージ装置4A及び4Bは物理的に複数であって、ファイルシステム5は論理的に1個であってもよい。この場合のクライアント3は、ストレージ装置4A及び4Bを意識する必要はない。
【0045】
図6(B)に示すように、複数のコンピュータ1即ちファイルサーバ2による複数のファイル管理システムを併存させてもよい。第1のファイル管理システムは、第1ストレージ装置4A上の第1ファイルシステム5Aを共用する。即ち、コンピュータ1B即ちその上の第1ファイルサーバ2B及びコンピュータ1D即ちその上の第1ファイルサーバ2Dが、第1ファイルシステム5Aを共用する。第1のファイル管理システムの第1クライアント3Aは、当該第1ファイルサーバ2B及び2Dの存在しないコンピュータ1A上に存在する。しかし、前述のように、第1クライアント3Aは、他のコンピュータ1B及び1Dに存在する第1ファイルサーバ2B又は2Dに対してアクセス要求を送ることにより、第1ファイルシステム5Aを使用する。第2のファイル管理システムも、同様に、第2ストレージ装置4B上の第2ファイルシステム5Bを、コンピュータ1A即ちその上の第2ファイルサーバ2A及びコンピュータ1C即ちその上の第2ファイルサーバ2Cが共用する。
【0046】
図7は、ファイル管理処理フローであり、本発明のファイルサーバ2が実行するファイル管理処理を示す。
【0047】
管理手段21が、ファイルリスト27を参照して、クライアント(要求クライアント)3からのアクセス要求が自己の管理するファイル51についてのものであれば、当該アクセス要求を受け付け(受信し)、その旨を変更手段23に通知する(ステップS11)。この際、管理手段21は、必要に応じてファイル管理用制御表24を作成又は更新し、また、当該操作要求を受け付けた回数又は当該入出力要求を処理した量(MB)を記録する。更に、アクセス要求の受け付けに先立つ所定の10秒間について、定期送信情報25の送受信に基づく稼働状況テーブル26が作成されている。
【0048】
通知を受けた変更手段23が、当該アクセス要求をトリガとして、最初のアクセス時の判定処理を行うか否かを調べる(ステップS12)。当該判定処理を行なわない場合、変更手段23が、更に、高アクセス頻度時の判定処理を行うか否かを調べる(ステップS13)。当該判定処理を行なわない場合、この旨を変更手段23が管理手段21に通知すると、これに応じて管理手段21がクライアント3から受信した当該アクセス要求を実行して(ステップS14)、処理を終了する。
【0049】
ステップS12において最初のアクセス時の判定処理を行なう場合、変更手段23が当該判定処理を行う(ステップS15)。最初のアクセス時の判定処理については、図8を参照して後述する。また、ステップS13において高アクセス頻度時の判定処理を行う場合、変更手段23が当該判定処理を行う(ステップS16)。高アクセス頻度時の判定処理については、図9を参照して後述する。
【0050】
ステップS15及びS16の後、変更手段23が、これらにおける判定処理の結果、他のファイルサーバ2に対して管理の移管の要求を行なうか否かを調べる(ステップS17)。管理の移管の要求を行なわない場合、この旨を変更手段23が管理手段21に通知すると、これに応じて管理手段21がステップS14を実行する。管理の移管の要求を行なう場合、変更手段23が、当該他のファイルサーバ2に対して管理の移管の要求を行ない、かつ、自己のファイルリスト27を変更して(ステップS18)、処理を終了する。この移管の要求は、当該アクセス要求と共に、当該他のファイルサーバ2に送信される。これにより、当該アクセス要求は、当該他のファイルサーバ2により実行される。
【0051】
図8は、ファイル管理処理フローであり、図7のステップS15において変更手段23が実行する最初のアクセス時の判定処理を示す。
【0052】
変更手段23が、当該ファイルサーバ2はアクセス要求を発行したクライアント3の存在するコンピュータ1上に存在する(両者が同一のコンピュータ1上に存在する)か否かを調べる(ステップS21)。例えば、図1において、クライアント3がファイルシステム5の領域5A(領域5B〜5Dを除く領域)内のファイル51についてのアクセスする場合、ファイルサーバ2Aにアクセス要求を発行する。従って、この場合、ファイルサーバ2Aはクライアント3の存在するコンピュータ1A上に存在する。
【0053】
存在しない場合、変更手段23が、更に、当該アクセス要求がファイル51の内容の入出力を伴う処理か否かを調べる(ステップS22)。入出力を伴なわない処理である場合、次のステップS23を省略する。入出力を伴う処理である場合、変更手段23が、稼働状況テーブル26を参照し、平均転送速度が最高スコアのファイルサーバ2が存在するか否かを調べる(ステップS23)。存在しない場合、変更手段23が、更に、稼働状況テーブル26を参照し、平均操作要求数が最高スコアのファイルサーバ2が存在するか否かを調べる(ステップS24)。存在しない場合、変更手段23は、当該アクセス要求については現ファイルサーバ2が処理すると判断して(ステップS25)、判定処理を終了する。従って、当該ファイル51の移管処理は行なわれない。
【0054】
ステップS23において平均転送速度が最高スコアのファイルサーバ2が存在する場合、及び、ステップS24において平均操作要求数が最高スコアのファイルサーバ2が存在する場合、変更手段23は、当該ファイル51を、当該最高スコアのファイルサーバ2に移管すると判断し(ステップS26)、判定処理を終了する。従って、当該アクセス要求については、当該最高スコアのファイルサーバ2が、当該ファイル51の移管処理の後に処理することになる。
【0055】
ステップS21においてファイルサーバ2はクライアント3の存在するコンピュータ1上に存在する場合、変更手段23が、当該アクセス要求がファイル51の内容の入出力を伴う処理か否かを調べる(ステップS27)。入出力を伴なわない処理である場合、次のステップS28を省略する。入出力を伴う処理である場合、変更手段23が、クライアント3の存在するコンピュータ1上のファイルサーバ2の平均転送速度が現ファイルサーバ2の平均転送速度に比べて25%以上高いか否かを調べる(ステップS28)。25%以上高くない場合、変更手段23が、更に、クライアント3の存在するコンピュータ1上のファイルサーバ2の平均操作要求数が現ファイルサーバ2の平均操作要求数に比べて25%以上高いか否かを調べる(ステップS29)。25%以上高くない場合、前述のステップS22に進む。
【0056】
ステップS28において当該サーバの平均転送速度が25%以上高い場合、及び、ステップS29において当該サーバの平均操作要求数が25%以上高い場合、変更手段23は、当該ファイル51を、クライアント3のコンピュータ1上のファイルサーバ2に移管すると判断し(ステップS210)、判定処理を終了する。従って、当該アクセス要求については、クライアント3の存在するコンピュータ1上のファイルサーバ2が、当該ファイル51の移管処理の後に処理することになる。
【0057】
図9は、ファイル管理処理フローであり、図7のステップS16において変更手段23が実行する高アクセス頻度時の判定処理を示す。
【0058】
変更手段23が、ステップS21と同様に、当該ファイルサーバ2はアクセス要求を発行したクライアント3の存在するコンピュータ1上に存在するか否かを調べる(ステップS31)。
【0059】
存在しない場合、次のステップS32及びS33を省略して、ステップS34を実行する。存在する場合、変更手段23が、更に、ファイル管理用制御表24を参照して、特定のファイルサーバ2からの連続操作要求数が所定の回数(この例では、16回)を超えたか否かを調べる(ステップS32)。超えていない場合、変更手段23が、更に、ファイル管理用制御表24を参照して、特定のファイルサーバ2からの連続転送量が所定の量(この例では、32MB)を超えたか否かを調べる(ステップS33)。超えていない場合、変更手段23は、当該アクセス要求については現ファイルサーバ2が処理すると判断して(ステップS34)、判定処理を終了する。従って、当該ファイル51の移管処理は行なわれない。
【0060】
ステップS32において連続操作要求数が所定の回数を超えている場合、変更手段23が、更に、当該特定のファイルサーバ2からの平均操作要求数が現ファイルサーバ2の平均操作要求数に比べて25%以上高いか否かを調べる(ステップS35)。25%以上高くない場合、前述のステップS33を実行する。
【0061】
ステップS33において連続転送量が所定の量を超えている場合、変更手段23が、更に、当該特定のファイルサーバ2の平均転送速度が現ファイルサーバ2の平均転送速度に比べて25%以上高いか否かを調べる(ステップS36)。25%以上高くない場合、前述のステップS34を実行する。
【0062】
ステップS35において当該特定のファイルサーバ2の平均操作要求数が25%以上高い場合、及び、ステップS36において当該特定のファイルサーバ2の平均転送速度が25%以上高い場合、変更手段23は、当該ファイル51を、クライアント3のコンピュータ1上のファイルサーバ2に移管すると判断し(ステップS37)、判定処理を終了する。従って、当該アクセス要求については、クライアント3の存在するコンピュータ1上のファイルサーバ2が、当該ファイル51の移管処理の後に処理することになる。
【0063】
なお、図9の処理においては、平均操作要求数が25%以上高くない場合、及び、平均転送速度が25%以上高くない場合でも、平均処理数や平均転送速度が最高スコアのファイルサーバ2に移管せず、現ファイルサーバ2での管理を維持する。この点で、図8の最初のアクセス時の判定処理と異なる。この理由は、高アクセス頻度時においては、クライアント3の存在するコンピュータ1上のファイルサーバ2に移管しない限り、有効な性能向上が期待できないからである。
【0064】
図10は、ファイル管理処理フローであり、本発明のファイルサーバ2が図7のステップS18においてファイル51の管理の移管の要求を受信した場合に実行するファイル移管処理を示す。
【0065】
他のファイルサーバ2の変更手段23が、図7のステップS18において発行されたファイル51の管理の移管要求を当該アクセス要求と共に受け付けると(ステップS41)、この要求に基づいて、自己のファイルリスト27を変更して、かつ、これを更に他のファイルサーバ2へ通知して(ステップS42)、その上で、以上の処理により他のファイルサーバ2から移管した当該アクセス要求についての処理を行い(ステップS43)、処理を終了する。
【0066】
図11は、他のファイル管理システム構成図であり、図1(A)に対応し、本発明のファイル管理プログラムが実現する他のファイル管理装置を備えるファイル管理システムの構成を示す。
【0067】
この例のファイル管理システムでは、各々のファイルサーバ2が独自に割り当てることができる領域(データブロック、ファイル格納領域)を各々のファイルサーバ2に予め分配する。データブロックやファイル格納領域が不足しない限りは、当該ファイルサーバ2は、他ファイルサーバ2に問い合わせることなく、自己に分配された(自己が管理する)領域を優先的に使用してファイル51等を作成したり格納領域を確保する。これにより、ファイルサーバ2の独立性を高め、より高速なファイル51の処理を実現することができる。特に、前述のファイル51を移管された場合において、その移管処理において有効である。
【0068】
なお、ファイルサーバ2を複数のコンピュータ1上に分散して配置しても、ファイル51を配置する領域の管理を1個のファイルサーバ2で行なうのでは、それが律速(性能上のネック)となってしまう。即ち、ファイル51を配置する領域の管理のために、当該管理を行なうファイルサーバ2に問い合わせていては、それが高速化の制約となってしまう。
【0069】
図11において、ストレージ装置4の全てのデータブロック(データ格納領域)を4分割し、領域4A乃至4Dを、各々、ファイルサーバ2A乃至2Dに予め分配し、管理させる。ファイルサーバ2Aは、自己が管理するファイル51に対してデータブロックを割り当てる場合、自己の領域4Aからファイル51を格納するデータブロックを割り当てる。これにより、例えば当該ファイル51を他のファイルサーバ2から移管された場合でも、高速に格納領域を割り当て、移管処理を実行することができる。
【0070】
ファイルサーバ2Aは、自己の領域4Aが不足した場合、例えば他のファイルサーバ2Bに依頼して、その管理する領域4Bから自己が管理するファイル51に対してデータブロックを割り当ててもらう。なお、ファイルサーバ2A乃至2Dの性能が等しければ、領域4A乃至4Dの大きさは最終的には等しい大きさに収束すると予想される。従って、ストレージ装置4の全てのデータブロックをファイルサーバ2の数で均等に分割すればよい。
【0071】
以上から判るように、本発明の実施の形態の特徴を列記すると以下の通りである。
(付記1) ファイルシステムを管理するファイルサーバ2を実現するプログラムであって、
前記プログラムは、コンピュータに、
複数のファイルサーバで共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理するファイルサーバを用意させ、
当該ファイルサーバと他のファイルサーバとの間で、各々のファイルサーバの管理するファイルについてのアクセス状態を表すデータを、所定の間隔で送受信させ、
前記アクセス状態を表すデータに基づいて、当該ファイルサーバの管理する前記1又は複数のファイルの管理主体を、動的に変更させる
ことを特徴とするファイル管理プログラム。
(付記2) 前記アクセス状態を表すデータは、所定の時間あたりの平均操作要求数を含む
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記3) 前記アクセス状態を表すデータは、所定の時間あたりの平均転送速度を含む
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記4) 前記ファイルシステムは、複数のファイルとその階層化情報である複数のディレクトリとからなり、頂点の1個のディレクトリの配下に複数のディレクトリにより複数のファイルを階層化している
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記5) 前記ファイルサーバは、当該ファイルについての最初のアクセス時において、
クライアントの存在するコンピュータ上にファイルサーバが存在し、かつ、当該ファイルサーバが現在当該ファイルを管理しているファイルサーバと比べて前記アクセス状態を表すデータに基づいて性能的に余裕があると判断した場合、当該ファイルサーバに当該ファイルの管理の移管を要求し、
前記クライアントの存在するコンピュータ上にファイルサーバが存在しないが、前記アクセス状態を表すデータに基づいて性能的に余裕があるファイルサーバが他に存在すると判断した場合、当該余裕のあるファイルサーバに当該ファイルの管理の移管を要求する
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記6) 前記クライアントの存在するコンピュータ上に存在するファイルサーバの前記アクセス状態を表すデータが、前記現在当該ファイルを管理しているファイルサーバの前記アクセス状態を表すデータよりも所定の値だけ優れている場合、当該データに余裕があるとされる
ことを特徴とする付記5に記載のファイル管理プログラム。
(付記7) 前記クライアントの存在するコンピュータ上にファイルサーバが存在しない場合、前記アクセス状態を表すデータに余裕があるファイルサーバは、前記アクセス状態を表すデータが最も優れているファイルサーバとされる
ことを特徴とする付記5に記載のファイル管理プログラム。
(付記8) 前記プログラムは、コンピュータに、更に、
前記アクセス状態を表すデータの送受信に基づいて、稼働状況テーブルを作成させ、
前記稼働状況テーブルに基づいて、前記アクセス状態を表すデータに余裕があるか否かを判断する
ことを特徴とする付記5に記載のファイル管理プログラム。
(付記9) 前記ファイルサーバは、当該ファイルについての高アクセス頻度時において、
クライアントの存在するコンピュータ上にファイルサーバが存在し、かつ、当該ファイルサーバが現在当該ファイルを管理しているファイルサーバと比べて前記アクセス状態を表すデータに余裕がある場合、当該ファイルサーバに管理の移管を要求する
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記10) 前記クライアントの存在するコンピュータ上に存在するファイルサーバの前記アクセス状態を表すデータが、前記現在当該ファイルを管理しているファイルサーバの前記アクセス状態を表すデータよりも所定の値だけ優れている場合、当該データに余裕があるとされる
ことを特徴とする付記9に記載のファイル管理プログラム。
(付記11) 前記プログラムは、コンピュータに、更に、
前記ファイルサーバの管理する前記1又は複数のファイルの各々についての連続操作要求数及び連続転送要求量を記録させ、
前記連続操作要求数及び連続転送要求量が所定の値より大きい場合に、当該ファイルについての高アクセス頻度時であると判断させる
ことを特徴とする付記9に記載のファイル管理プログラム。
(付記12) 前記プログラムは、コンピュータに、更に、
前記ストレージ装置におけるデータ格納領域を、前記複数のファイルサーバに予め分配して管理させ、
前記ファイルサーバは、各々、自己が管理するファイルに対してデータ格納領域を割り当てる場合、前記ストレージ装置における自己の管理する領域から、前記データ格納領域を割り当てる
ことを特徴とする付記1に記載のファイル管理プログラム。
(付記13) 前記ファイルサーバは、前記自己の管理する領域が不足した場合、他のファイルサーバに依頼して、当該他のファイルサーバの管理する領域から自己が管理するファイルに対してデータ格納領域を割り当ててもらう
ことを特徴とする付記12に記載のファイル管理プログラム。
(付記14) ファイルシステムを管理するファイル管理装置であって、
複数のファイル管理装置で共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理する管理手段と、
他のファイル管理装置との間で、各々のファイル管理装置の管理するファイルについてのアクセス状態を表すデータを、所定の間隔で送受信する通信手段と、
前記アクセス状態を表すデータに基づいて、自己の管理する前記1又は複数のファイルを、動的に変更する変更手段とを備える
ことを特徴とするファイル管理装置。
【0072】
【発明の効果】
以上説明したように、本発明によれば、ファイル管理プログラムにおいて、ファイルサーバ間での通信により相互にアクセス状態を表すデータを送受信し、これに基づいて自己の管理するファイルを動的に変更するファイルサーバを実現することができる。これにより、局所的なアクセスの集中に対して、ファイルツリーを更に分割して、ファイルサーバの負荷を分散することができる。また、局所的なアクセスの集中に対応して、システム管理者の負担なしで、動的な負荷分散を実現することができる。更に、ファイル管理の動的変更により、どのクライアントも高速の応答が得られるファイルシステムを得ることができる。
【0073】
また、本発明によれば、ファイル管理装置において、ファイル管理装置間での通信により相互にアクセス状態を表すデータを送受信し、これに基づいて、自己の管理するファイルを動的に変更する。これにより、前述のように、局所的なアクセスの集中に対して、ファイルツリーを更に分割して、ファイル管理装置の負荷を分散することができる。また、局所的なアクセスの集中に対応して、システム管理者の負担なしで、動的な負荷分散を実現することができる。更に、ファイル管理の動的変更により、どのクライアントも高速の応答が得られるファイルシステムを得ることができる。
【図面の簡単な説明】
【図1】ファイル管理システム構成図であり、本発明のファイル管理装置を備えるファイル管理システムの構成を示す。
【図2】ファイルサーバ構成図であり、本発明のファイル管理プログラムが実現するファイルサーバの構成を示す。
【図3】ファイル管理用制御表の一例を示す図である。
【図4】ファイル管理の説明図である。
【図5】他のファイル管理システム構成図である。
【図6】他のファイル管理システム構成図である。
【図7】ファイル管理処理フローであり、ファイル管理処理を示す。
【図8】ファイル管理処理フローであり、最初のアクセス時の判定処理を示す。
【図9】ファイル管理処理フローであり、高アクセス頻度時の判定処理を示す。
【図10】ファイル管理処理フローであり、ファイル移管処理を示す。
【図11】他のファイル管理システム構成図であり、本発明の他のファイル管理装置を備えるファイル管理システムの構成を示す。
【符号の説明】
1  コンピュータ
2  ファイルサーバ
3  クライアント
4  ストレージ装置
5  ファイルシステム
6  ネットワーク
21  管理手段
22  通信手段
23  変更手段
24  ファイル管理用制御表
25  定期送信情報
26  稼働状況テーブル
27  ファイルリスト
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a file management program and a file management device, and more particularly, to a file management program and a file management device in which a plurality of file servers perform distributed management of a plurality of files.
[0002]
[Prior art]
When managing a large number of files, the load is distributed by dividing and managing the files by a plurality of file servers. In many cases, multiple files are managed in a tree structure. Therefore, a plurality of files (file tree or file system) having a tree structure are managed by a plurality of file servers. The division management of the file system is performed by any of the following methods.
[0003]
First, in a general way, each file server manages the file tree completely independently. That is, each file server independently and completely manages a part of the file tree predetermined by the definition information as its own management area. In this case, in order to access a certain file, the client (request client) needs to make an access request to a file server that manages the file. If the file servers to which access is requested are scattered appropriately, there is an effect of load distribution (for example, see Patent Document 1).
[0004]
Second, a method used in a large (or expensive) computer system, in which each file server holds and manages a replica (copy) of a file. That is, each file server holds and manages all or some replicas of the file tree. Replicas are managed while ensuring validity (data consistency between replicas). Therefore, when an effective replica exists in the computer where the client exists, a high-speed response is obtained, and as a result, there is an effect of load distribution (for example, see Patent Document 2).
[0005]
[Patent Document 1]
JP-A-5-233417
[Patent Document 2]
Japanese Patent Publication No. 10-510935
[0006]
[Problems to be solved by the invention]
However, according to the above-described first file system division management method, load cannot be distributed for local access. That is, when accesses concentrate on files under a specific file tree, the load on only the file server that manages the file tree increases. Therefore, the merit of dividing the file server cannot be obtained. It is possible to distribute the load by further dividing the file tree where access is concentrated. However, for this purpose, the definition information of the file server that manages that part of the file tree must be rewritten. This is bothersome and burdensome for the system administrator. Further, it is not possible to cope with a case where a file to which access is concentrated dynamically changes by rewriting the definition information.
[0007]
Further, according to the second file system division management method, a large amount of storage area (storage capacity) is required for holding a replica. That is, in this method, the load can be distributed only by accessing the nearest replica from the client. Therefore, it is necessary to arrange a certain number of replicas so that there is a replica closest to any client (that is, a replica that can return a high-speed response). However, in recent years, the amount of data stored in a file tree is enormous and is often important and cannot be omitted. For this reason, many storage areas are required to arrange the replicas. In addition, communication with considerable data transfer is required in order to maintain consistency between huge amounts of data.
[0008]
An object of the present invention is to provide a file management program for performing distributed management of a plurality of files while dynamically distributing a load by a plurality of file servers.
[0009]
It is another object of the present invention to provide a file management apparatus that performs distributed management of a plurality of files while dynamically distributing a load by a plurality of file servers.
[0010]
[Means for Solving the Problems]
A file management program of the present invention is a program for realizing a file server that manages a file system, wherein the program stores one or more files in a file system provided in a storage device that can be shared by a plurality of file servers. A file server that manages the file is prepared, and data representing the access state of the file managed by each file server is transmitted and received at predetermined intervals between the file server and another file server, and the access state is represented. The management subject of one or more files managed by the file server is dynamically changed based on the data.
[0011]
ADVANTAGE OF THE INVENTION According to the file management program of this invention, the file server (management subject) which mutually transmits and receives the data showing an access state by communication between file servers, and dynamically changes the file which self manages based on this is shown. Can be realized. Thus, when access to a file in a specific file tree is concentrated, the file tree can be further divided to reduce the load on the file server that manages the file tree and distribute the load. In addition, since it is not necessary to rewrite the definition information of the file server for the dynamic change of the file management (or the management entity), it is possible to cope with a case where a file to which access is concentrated dynamically changes without a burden on a system administrator. can do. Therefore, dynamic load distribution can be realized regardless of the access form from the user (client). Further, since the file management is dynamically changed at intervals of communication between the file servers, a high-speed response can be obtained from any client without holding a replica. Therefore, it is possible to obtain a file system having a high-speed response without a huge storage area or communication for maintaining data consistency.
[0012]
Further, the file management device of the present invention is a file management device for managing a file system, and a management means for managing one or a plurality of files in a file system provided in a storage device that can be shared by a plurality of file management devices. Communication means for transmitting and receiving, at predetermined intervals, data indicating an access state of a file managed by each file management apparatus to and from another file management apparatus; and Changing means for dynamically changing one or a plurality of files managed by the program.
[0013]
ADVANTAGE OF THE INVENTION According to the file management apparatus of this invention, the data which shows an access state mutually is transmitted and received by communication between file management apparatuses, and the file which self manages is dynamically changed based on this. As a result, as described above, the file tree can be further divided for the local concentration of access, and the load on the file management device can be distributed. In addition, it is possible to realize dynamic load distribution without burdening the system administrator in response to local access concentration. Further, by dynamically changing the file management (or the management entity), any client can obtain a file system in which a high-speed response can be obtained.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a configuration diagram of a file management system. In particular, FIG. 1A shows the configuration of a file management system including a file management device realized by the file management program of the present invention.
[0015]
The file management system includes a plurality of computers 1, a plurality of file servers 2 existing on the plurality of computers 1, one or a plurality of clients (request clients) 3, one or a plurality of storage devices 4, and And a network 6 for connecting In this example, the file management system includes four computers 1 (1A to 1D), four file servers 2 (2A to 2D), one storage device 4, and one client 3. The network 6 includes, for example, a LAN (Local Area Network) and a WAN (Wide Area Network).
[0016]
The storage device 4 can be shared by each of the plurality of computers 1, that is, each of the plurality of file servers 2. On the storage device 4, a file system 5 composed of a plurality of files having a hierarchical structure is provided. The file server 2 is a file management device, and manages the file system 5 by dividing it. That is, the file server 2 manages one or a plurality of files 51 in the file system 5. The client 3 issues an access request to the file 51 to the file server 2.
[0017]
FIG. 1B is a conceptual diagram for explaining the present invention, and shows a configuration of a file system 5 managed by a file server 2 realized by the file management program of the present invention.
[0018]
The file system 5 manages a plurality of files in a hierarchical manner, and includes a general file and a directory file. The general file is a file for storing data used in the program, and the directory file is a file for managing files (general file and directory file). The directory file holds information for specifying files under the directory file, and is drawn as a branch diagram in FIG.
[0019]
In FIG. 1B, the management range of each file server 2 is represented by a thick line. For example, the file tree under the directory file 51 in the area 5A is managed by the file server 2A. For example, when the management of the area 5B is transferred to the file server 2B by the file server 2A, the division management of the file tree is changed. The same applies to the regions 5C and 5D. As a result, the file server 2A manages a part of the area 5A other than the areas 5B to 5D transferred to the file servers 2B to 2D. As described above, the plurality of file servers 2 hierarchically divide and manage one directory under the apex of the file system 5 and dynamically change the management range. Thereby, advanced load distribution is realized.
[0020]
Note that, for example, when the individual computers 1 are distinguished from each other, the computers 1A and the like are indicated. The same applies to other cases. There is only one file server 2 for managing the file system 5 on one computer 1, and there is no plurality of file servers. One or more clients 3 may or may not exist on each computer. The client 3 only needs to exist on any one of the plurality of computers 1. The file server 2 and the client 3 do not exist on the computer 1 that cannot share the storage device 4.
[0021]
FIG. 2 is a configuration diagram of the file server, showing the configuration of the file server 2 realized by the file management program of the present invention.
[0022]
The file server 2 includes a management unit 21, a communication unit 22, a change unit 23, a file management control table 24, an operation status table 26, and a file list 27. The file server 2, that is, the management unit 21, the communication unit 22, and the change unit 23 thereof are realized by executing the file management program of the present invention in the CPU of the computer 1. The file management program of the present invention can be provided by being recorded on various program recording media such as a flexible disk, a CD-ROM, a CDR / W, and a DVD. Thus, the file server 2 of the present invention can be easily realized on the computer 1. The file management control table 24, the operation status table 26, and the file list 27 are created on the main storage (not shown) of the computer 1 by the file management program.
[0023]
The management unit 21 manages one or a plurality of files 51 (and a directory 52) in the file system 5 provided in the storage device 4 that can be shared by the plurality of file servers 2. The management target is a file 51 (and a directory 52, the same applies hereinafter) to be managed by the file server 2 (that is, the management unit 21). That is, when access to the file 51 to be managed by itself occurs, the management unit 21 checks whether or not the file management control table 24 corresponding to the access target file 51 exists in the main storage of the computer 1. If the file does not exist, the file management control table 24 is created. The file management control table 24 is resident in the main storage while the file 51 is being accessed. If the file 51 does not exist, it means that the access is a new access.
[0024]
An example of the file management control table 24 is shown in FIG. The file management control table 24 indicates that, for one file 51, in addition to attribute information such as its type, access right, owner, last update time, etc., from which computer 1 Record (continuous transfer information) and from which computer 1 a continuous data transfer request has been made (continuous transfer information). The management unit 21 sequentially updates the continuous operation information and the continuous transfer information according to the access to the file 51.
[0025]
For example, when the file 51 is first opened from the computer 1D (there is an open access request), “computer D” is recorded in the continuous operation request computer name in FIG. 3, and “1” is recorded in the continuous operation request number. Is done. Subsequently, when an access request for acquiring attribute information for the file 51 is issued, the number of continuous operation requests is updated to "2" because the names of the continuous operation request computers are equal. Similarly, the continuous transfer request computer name and the continuous transfer request amount are recorded and updated each time a read or write request is issued to the file 51. The unit of the continuous transfer request amount is MB (megabyte).
[0026]
For example, if there is an access request from a different computer 1B (ie, the file server 1B) after access from the computer 1D (ie, the file server 1D), the continuous operation request computer name is changed, and the number of continuous operation requests is “0”. Is reset to The same applies to the continuous transfer request computer name and the continuous transfer request amount. Therefore, the continuous operation information and the continuous transfer information are information indicating the frequency of access from the same computer 1 or file server 2.
[0027]
When the file management control table 24 is created for the file 51, the management unit 21 determines that it is the first access, and notifies the change unit 23 of that. In addition, when the continuous operation information or the continuous transfer information indicates a predetermined state, the management unit 21 determines that the access frequency is high, and notifies the change unit 23 of the determination. For example, when the number of continuous operations from a specific computer 1 exceeds 16 (may be 32, 64, etc.), it is a high access frequency when a large number of operation requests are received from the computer 1. to decide. Alternatively, when the amount of continuous transfer to a specific computer 1 exceeds 32 MB (may be 16 MB, 64 MB, or the like), it is determined that a high access frequency at which a large data transfer request has been received from the computer 1. .
[0028]
The communication unit 22 transmits and receives data indicating the access state of the file 51 managed by each file server 2 to the other file servers 2 at predetermined intervals. In this example, the communication means 22 is an inter-server communication means. That is, the file server 2 performs communication for mutually transmitting and receiving the periodic transmission information 25 at predetermined intervals in order to confirm that the other file server 2 is operating normally. The predetermined interval is, for example, 10 seconds. In this example, the data indicating the access state is included in the periodic transmission information 25 transmitted and received during the communication between the servers.
[0029]
An example of the periodic transmission information 25 is shown in FIG. The periodic transmission information 25 includes, in addition to the "ordinary message" which is the message of the original server communication, data indicating the access state, that is, how many requests the self (the file server 2) has processed in the past 10 seconds. Data (additional information) indicating whether or not the data has been processed. The “last 10 seconds” is an interval from the previous server communication to the current server communication.
[0030]
The data representing the access state is composed of “average number of operation requests in the past 10 seconds” and “average transfer rate in the past 10 seconds”. The “average number of operation requests in the last 10 seconds” indicates the average number of operation requests per second processed for all the files 51 managed by the file server 2 in the last 10 seconds. That is, it is the average number of access requests per predetermined time. The “average transfer speed in the past 10 seconds” indicates the average number of MB processed per second for input / output requests for all the files 51 managed by the file server 2 in the past 10 seconds. That is, it is the (average data transfer rate) per predetermined time.
[0031]
For example, the management means 21 creates the data indicating the access state every 10 seconds and passes it to the communication means 22. For this purpose, the management unit 21 determines the number of times the operation request has been received (processed) and the amount (MB) of processing the input / output request for all the files 51 managed by the file server 2. Record every 10 seconds and determine the average.
[0032]
The use of these two parameters for evaluating the operation status of the file server 2 is based on the processing of the input / output system (approximately represented by “average transfer speed”) and the processing that does not (substantially “average operation request”). This is because the performance evaluation target value is different from that of the number. It can be considered that the processing of the input / output system is substantially represented by “average transfer rate”, and the processing that is not so is represented by “average number of operation requests”. The larger these values are, the more the processing capability of the file server 2 (that is, the data indicating the access state) has more room.
[0033]
The change unit 23 dynamically changes one or a plurality of files 51 managed by itself based on the data indicating the access state. For this purpose, the communication unit 22 extracts the data indicating the access state from the periodic transmission information 25 received by the server-to-server communication with another file server 2 and passes the data to the change unit 23. The change unit 23 creates the operation status table 26 based on the data indicating the access state from the communication unit 22. As a result, the change unit 23 grasps the operation status in the past 10 seconds for each of all the file servers 2 that share the storage device 4 and access the file system 5.
[0034]
An example of the operation status table 26 is shown in FIG. The operation status table 26 stores the “average number of operation requests in the past 10 seconds” and the “average transfer speed in the past 10 seconds” for each file server 2. For example, in the operation status table 26 provided in the file server 2A, the data for the file server 2A is input by itself, and the data for the file servers 2B to 2D uses the data obtained from the communication unit 22. I do. Regarding the average number of operation requests, the file server 2C shows the highest score, and the processing capacity from this viewpoint has the most margin (the data is the best, the same applies hereinafter). As for the average transfer speed, the file server 2C has the highest score, and the processing capacity from this viewpoint has the most margin.
[0035]
The change unit 23 uses the operation status table 26 to determine whether to transfer the management of the file 51 (that is, change the file server 2 to be managed). This determination process is performed when a notification indicating the first access or a notification indicating the high access frequency is received from the management unit 21. That is, the process is performed when the file 51 is accessed for the first time (including when the file 51 is created) and when a large number of operation requests or a large number of data transfer requests are received from the specific computer 1.
[0036]
Upon receiving the notification indicating the first access, the changing unit 23 performs a determination process for the first access. This will be described later with reference to FIG. As a result, the change unit 23 determines that the file server 2 exists on the computer 1 where the client 3 exists, and that the file server 2 currently manages the file 51 (the current file server 2). If the processing capacity (that is, the data indicating the access state, the same applies hereinafter) has a margin, the file server 2 is requested to transfer the management. Further, when the file server 2 does not exist on the computer 1 where the client 3 exists, but there is another file server 2 having a sufficient processing capacity, the changing unit 23 manages the file server 2 having the sufficient margin. Request transfer.
[0037]
When the notification indicating that the access frequency is high is received, the changing unit 23 performs a determination process at the time of high access frequency. This will be described later with reference to FIG. Thus, the change unit 23 determines that the file server 2 exists on the computer 1 where the client 3 exists and that the file server 2 has more processing capacity than the current file server 2. Require management transfer. After this transfer request, the change means 23 changes its own file list 27. In this example, the file server 2 requested to transfer the management notifies the other file servers 2 of the transfer of the management. In response, the other file server 2 changes its own file list 27. The file server 2 before the change may notify another file server 2 of the transfer of the management.
[0038]
An example of the file list 27 is shown in FIG. The file list 27 stores the name of the file 51 and the name of the directory 52 managed by the file server 2 for each file server 2. In this example, all the file servers 2 sharing the storage device 4 and using the file system 5 have the same file list 27. Therefore, the transfer of the management of the file 51 is performed by changing the file list 27. That is, in this example, the management information of the file 51 (information indicating the file server 2 to be managed) is dynamically changed and managed by the file list 27 without being fixedly defined in the definition information.
[0039]
Further, the change unit 23 notifies the client 3 using the changed file 51 of the file server 2 that manages itself of the new file server 2 of the new file server 2. As a result, the client 3 can issue an access request to the new file server 2 from the next access.
[0040]
As described above, in the file management system of this example, when the load on the file server 2 increases or is expected to increase, the file server 2 manages a part of the file tree managed by the Is transferred to the file server 2 with a low load. As a result, the load on the file server 2 can be reduced, and the overall load on the file server 2 can be distributed. When it is detected that a file 51 in a certain file tree is accessed from a specific computer 1 at a high frequency, or when a large amount of data transfer is requested, the management of the file 51 is Is transferred to the file server 2. As a result, the client 3 and the file server 2 that have issued the access request are present on the same computer 1, and higher-speed file operations and data transfer can be performed.
[0041]
The configuration of the file management system is not limited to the configuration shown in FIG. 1, but may be a configuration as shown in FIGS. 5 and 6, for example. FIGS. 5A to 6B respectively correspond to FIG. 1A and show the configuration of a file management system including another file management device realized by the file management program of the present invention.
[0042]
As shown in FIG. 5A, the client 3 may exist on the computer 1E. The computer 1E is a computer without the file servers 2A to 2D. Therefore, the client 3 and the file server 2 need not necessarily be present on the same computer 1. In this case, the client 3 uses the file system 5 by sending an access request to the file servers 2A to 2D existing in the other computers 1A to 1D.
[0043]
As shown in FIG. 5B, the client 3 may exist on the computer 1F. The computer 1F is a computer connected via another network 6B connected to the network 6A. Therefore, the client may exist in another network 6B. The client 3 in this case also uses the file system 5 by sending an access request to the file servers 2A to 2D existing in the other computers 1A to 1D.
[0044]
As shown in FIG. 6A, first and second (plural) storage devices 4A and 4B shared by a plurality of computers 1, that is, a file server 2, are provided, and one file is placed on them. A system 5 may be provided. Therefore, the storage devices 4A and 4B may be physically plural, and the file system 5 may be logically one. In this case, the client 3 does not need to be aware of the storage devices 4A and 4B.
[0045]
As shown in FIG. 6B, a plurality of file management systems using a plurality of computers 1, that is, a plurality of file servers 2 may coexist. The first file management system shares the first file system 5A on the first storage device 4A. That is, the computer 1B, that is, the first file server 2B thereon, and the computer 1D, that is, the first file server 2D thereon, share the first file system 5A. The first client 3A of the first file management system exists on the computer 1A where the first file servers 2B and 2D do not exist. However, as described above, the first client 3A uses the first file system 5A by sending an access request to the first file server 2B or 2D existing in the other computers 1B and 1D. Similarly, in the second file management system, the computer 1A, that is, the second file server 2A thereon, and the computer 1C, that is, the second file server 2C thereon, share the second file system 5B on the second storage device 4B. I do.
[0046]
FIG. 7 is a flowchart of the file management process, and shows the file management process executed by the file server 2 of the present invention.
[0047]
The management means 21 refers to the file list 27 and, if the access request from the client (request client) 3 is for the file 51 managed by itself, accepts (receives) the access request and informs the effect. The change unit 23 is notified (step S11). At this time, the management unit 21 creates or updates the file management control table 24 as necessary, and records the number of times the operation request has been accepted or the amount (MB) of processing the input / output request. Further, an operation status table 26 based on the transmission and reception of the periodic transmission information 25 is created for a predetermined 10 seconds before the reception of the access request.
[0048]
The changing unit 23 that has received the notification checks whether or not to perform the first access determination process using the access request as a trigger (step S12). When the determination process is not performed, the changing unit 23 further checks whether or not to perform the high access frequency determination process (step S13). When the determination process is not performed, when the change unit 23 notifies the management unit 21 of this fact, the management unit 21 executes the access request received from the client 3 accordingly (step S14), and ends the process. I do.
[0049]
When performing the determination process at the time of the first access in step S12, the changing unit 23 performs the determination process (step S15). The determination process at the time of the first access will be described later with reference to FIG. Further, when performing the determination processing at the time of high access frequency in step S13, the changing unit 23 performs the determination processing (step S16). The determination process at the time of high access frequency will be described later with reference to FIG.
[0050]
After steps S15 and S16, as a result of the determination processing in these steps, the change unit 23 checks whether or not to make a request for transfer of management to another file server 2 (step S17). When the request for the transfer of the management is not made, when the change unit 23 notifies the management unit 21 of this fact, the management unit 21 executes step S14 accordingly. When a request for transfer of management is made, the changing means 23 makes a request for transfer of management to the other file server 2 and changes its own file list 27 (step S18), and ends the processing. I do. The transfer request is transmitted to the other file server 2 together with the access request. Thus, the access request is executed by the other file server 2.
[0051]
FIG. 8 is a flowchart of the file management process, and shows a determination process at the time of the first access executed by the changing unit 23 in step S15 of FIG.
[0052]
The change unit 23 checks whether or not the file server 2 exists on the computer 1 where the client 3 that has issued the access request exists (both exist on the same computer 1) (step S21). For example, in FIG. 1, when the client 3 accesses the file 51 in the area 5A (excluding the areas 5B to 5D) of the file system 5, the client 3 issues an access request to the file server 2A. Therefore, in this case, the file server 2A exists on the computer 1A where the client 3 exists.
[0053]
If not present, the change unit 23 further checks whether the access request is a process involving input / output of the contents of the file 51 (step S22). If the processing does not involve input / output, the next step S23 is omitted. If the process involves input / output, the change unit 23 refers to the operation status table 26 and checks whether or not there is a file server 2 with the highest average transfer speed (step S23). If the file server 2 does not exist, the changing unit 23 further refers to the operation status table 26 and checks whether or not the file server 2 with the highest average operation request number exists (step S24). If the access request does not exist, the changing unit 23 determines that the current file server 2 processes the access request (step S25), and ends the determination process. Therefore, the transfer processing of the file 51 is not performed.
[0054]
If there is a file server 2 with the highest average transfer speed in step S23, and if there is a file server 2 with the highest average number of operation requests in step S24, the changing unit 23 stores the file 51 It is determined to transfer to the file server 2 with the highest score (step S26), and the determination processing ends. Therefore, the access request is processed by the file server 2 with the highest score after the transfer processing of the file 51.
[0055]
If the file server 2 exists on the computer 1 where the client 3 exists in step S21, the change unit 23 checks whether the access request is a process involving input / output of the contents of the file 51 (step S27). If the process does not involve input / output, the next step S28 is omitted. If the process involves input / output, the change unit 23 determines whether the average transfer speed of the file server 2 on the computer 1 where the client 3 is located is higher than the average transfer speed of the current file server 2 by 25% or more. Check (step S28). If the average number of operation requests of the file server 2 on the computer 1 where the client 3 is located is higher by 25% or more than the average number of operation requests of the current file server 2, Is checked (step S29). If not higher than 25%, the process proceeds to step S22 described above.
[0056]
If the average transfer speed of the server is higher by 25% or more in step S28, and if the average number of operation requests of the server is higher by 25% or more in step S29, the changing unit 23 stores the file 51 in the computer 1 of the client 3. It is determined that the file is to be transferred to the above file server 2 (step S210), and the determination process ends. Therefore, the access request is processed by the file server 2 on the computer 1 where the client 3 exists after the transfer processing of the file 51.
[0057]
FIG. 9 is a flowchart of the file management process, and shows the determination process at the time of high access frequency executed by the changing unit 23 in step S16 of FIG.
[0058]
The changing unit 23 checks whether or not the file server 2 exists on the computer 1 where the client 3 that has issued the access request exists, as in step S21 (step S31).
[0059]
If not, the next steps S32 and S33 are omitted and step S34 is executed. If there is, the changing unit 23 further refers to the file management control table 24 to determine whether the number of continuous operation requests from the specific file server 2 has exceeded a predetermined number (16 in this example). Is checked (step S32). If not, the change unit 23 further refers to the file management control table 24 to determine whether or not the continuous transfer amount from the specific file server 2 has exceeded a predetermined amount (32 MB in this example). Check (step S33). If not, the changing unit 23 determines that the current file server 2 processes the access request (step S34), and ends the determination process. Therefore, the transfer processing of the file 51 is not performed.
[0060]
If the number of continuous operation requests exceeds the predetermined number in step S32, the changing unit 23 further determines that the average number of operation requests from the specific file server 2 is 25 compared to the average number of operation requests of the current file server 2. It is checked whether it is higher by at least% (step S35). If not higher than 25%, the above-described step S33 is executed.
[0061]
If the continuous transfer amount exceeds the predetermined amount in step S33, the changing unit 23 further checks whether the average transfer speed of the specific file server 2 is higher than the average transfer speed of the current file server 2 by 25% or more. It is checked whether or not it is (step S36). If not higher than 25%, the aforementioned step S34 is executed.
[0062]
If the average number of operation requests of the specific file server 2 is higher by 25% or more in step S35, and if the average transfer speed of the specific file server 2 is higher than 25% in step S36, the changing unit 23 It is determined that 51 is to be transferred to the file server 2 on the computer 1 of the client 3 (step S37), and the determination processing ends. Therefore, the access request is processed by the file server 2 on the computer 1 where the client 3 exists after the transfer processing of the file 51.
[0063]
In the process of FIG. 9, even when the average number of operation requests is not higher than 25% and the average transfer speed is not higher than 25%, the file server 2 with the highest number of processes and the average transfer speed has the highest score. Without the transfer, the management in the current file server 2 is maintained. This is different from the determination process at the time of the first access in FIG. The reason is that at the time of high access frequency, effective performance improvement cannot be expected unless the file is transferred to the file server 2 on the computer 1 where the client 3 exists.
[0064]
FIG. 10 is a flowchart of a file management process, and shows a file transfer process executed when the file server 2 of the present invention receives a request to transfer the management of the file 51 in step S18 of FIG.
[0065]
When the change unit 23 of the other file server 2 receives the transfer request for management of the file 51 issued in step S18 of FIG. 7 together with the access request (step S41), based on the request, the own file list 27 is generated. Is changed, and this is further notified to another file server 2 (step S42). Then, the processing for the access request transferred from the other file server 2 by the above processing is performed (step S42). S43), the process ends.
[0066]
FIG. 11 is a configuration diagram of another file management system, corresponding to FIG. 1A, and showing a configuration of a file management system including another file management device realized by the file management program of the present invention.
[0067]
In the file management system of this example, an area (data block, file storage area) that can be uniquely assigned by each file server 2 is distributed to each file server 2 in advance. As long as the data blocks and file storage areas are not insufficient, the file server 2 preferentially uses the area distributed to itself (managed by itself) without inquiring of the other file servers 2 to store the file 51 or the like. Create and secure storage area. As a result, the independence of the file server 2 is enhanced, and higher-speed processing of the file 51 can be realized. In particular, when the file 51 is transferred, it is effective in the transfer processing.
[0068]
Even if the file servers 2 are distributed and arranged on a plurality of computers 1, if the management of the area where the files 51 are arranged is performed by one file server 2, it is limited (a bottleneck in performance). turn into. That is, in order to manage the area where the file 51 is to be arranged, if the file server 2 that performs the management is inquired, this is a constraint on speeding up.
[0069]
In FIG. 11, all data blocks (data storage areas) of the storage device 4 are divided into four, and the areas 4A to 4D are respectively distributed to the file servers 2A to 2D in advance and managed. When allocating a data block to the file 51 managed by itself, the file server 2A allocates a data block for storing the file 51 from its own area 4A. Thereby, for example, even when the file 51 is transferred from another file server 2, a storage area can be allocated at high speed and the transfer processing can be executed.
[0070]
When the area 4A of the file server 2A is insufficient, the file server 2A requests, for example, another file server 2B to allocate a data block to the file 51 managed by the file server 2A from the area 4B managed by the file server 2A. If the performances of the file servers 2A to 2D are equal, it is expected that the sizes of the areas 4A to 4D will eventually converge to the same size. Therefore, all data blocks in the storage device 4 may be evenly divided by the number of file servers 2.
[0071]
As can be seen from the above, the features of the embodiments of the present invention are listed as follows.
(Supplementary Note 1) A program for implementing a file server 2 for managing a file system,
The program is stored in a computer,
A file server that manages one or more files in a file system provided in a storage device that can be shared by a plurality of file servers;
Between the file server and another file server, the data representing the access state of the file managed by each file server, transmitted and received at predetermined intervals,
Based on the data indicating the access status, dynamically change the management entity of the one or more files managed by the file server.
A file management program, characterized in that:
(Supplementary Note 2) The data indicating the access state includes an average number of operation requests per predetermined time.
3. The file management program according to claim 1, wherein
(Supplementary Note 3) The data indicating the access state includes an average transfer rate per predetermined time.
3. The file management program according to claim 1, wherein
(Supplementary Note 4) The file system includes a plurality of files and a plurality of directories as hierarchical information, and a plurality of files are hierarchized by a plurality of directories under one directory at the top.
3. The file management program according to claim 1, wherein
(Supplementary Note 5) When the file server first accesses the file,
It is determined that the file server exists on the computer where the client is located, and that the file server has a margin in performance based on the data indicating the access state as compared with the file server currently managing the file. In this case, the file server is requested to transfer the management of the file,
If the file server does not exist on the computer where the client exists, but it is determined that there is another file server with performance margin based on the data indicating the access state, the file server with the margin has the file server. Request transfer of management
3. The file management program according to claim 1, wherein
(Supplementary Note 6) The data indicating the access status of the file server existing on the computer where the client exists is superior to the data indicating the access status of the file server currently managing the file by a predetermined value. If the data is available,
6. The file management program according to claim 5, wherein
(Supplementary Note 7) If no file server exists on the computer where the client is located, a file server having sufficient data indicating the access state is regarded as a file server having the best data indicating the access state.
6. The file management program according to claim 5, wherein
(Supplementary Note 8) The program is further stored in a computer.
Based on the transmission and reception of the data representing the access state, to create an operation status table,
Based on the operation status table, it is determined whether there is room in the data indicating the access status.
6. The file management program according to claim 5, wherein
(Supplementary Note 9) When the file server has a high access frequency to the file,
If the file server exists on the computer where the client is located, and the file server has more room for the data indicating the access status than the file server currently managing the file, the file server manages the file. Request transfer
3. The file management program according to claim 1, wherein
(Supplementary Note 10) The data indicating the access status of the file server existing on the computer where the client exists is superior to the data indicating the access status of the file server currently managing the file by a predetermined value. If the data is available,
10. The file management program according to claim 9, wherein:
(Supplementary Note 11) The program is further stored in a computer,
The number of continuous operation requests and the number of continuous transfer requests for each of the one or more files managed by the file server are recorded,
When the number of continuous operation requests and the amount of continuous transfer requests are larger than predetermined values, it is determined that the file is at a high access frequency.
10. The file management program according to claim 9, wherein:
(Supplementary Note 12) The program is further stored in a computer.
A data storage area in the storage device is distributed and managed in advance to the plurality of file servers,
When allocating a data storage area to a file managed by the file server, the file server allocates the data storage area from an area managed by the file server in the storage apparatus.
3. The file management program according to claim 1, wherein
(Supplementary Note 13) When the area managed by the file server runs short, the file server requests another file server to store a data storage area for the file managed by the file server from the area managed by the other file server. Get assigned
13. The file management program according to supplementary note 12, wherein
(Supplementary Note 14) A file management device that manages a file system,
Management means for managing one or more files in a file system provided in a storage device that can be shared by a plurality of file management devices;
Communication means for transmitting and receiving, at predetermined intervals, data indicating an access state of a file managed by each file management device to and from another file management device;
Changing means for dynamically changing the one or more files managed by itself based on the data representing the access state.
A file management device, characterized in that:
[0072]
【The invention's effect】
As described above, according to the present invention, in a file management program, data representing an access state is mutually transmitted and received by communication between file servers, and a file managed by itself is dynamically changed based on the data. A file server can be realized. This makes it possible to further divide the file tree with respect to the local concentration of access, thereby distributing the load on the file server. In addition, it is possible to realize dynamic load distribution without burdening the system administrator in response to local access concentration. Furthermore, a dynamic change in file management can provide a file system in which any client can obtain a high-speed response.
[0073]
Further, according to the present invention, in the file management device, data representing the access state is mutually transmitted and received by communication between the file management devices, and based on this, the file managed by itself is dynamically changed. As a result, as described above, the file tree can be further divided for the local concentration of access, and the load on the file management device can be distributed. In addition, it is possible to realize dynamic load distribution without burdening the system administrator in response to local access concentration. Furthermore, a dynamic change in file management can provide a file system in which any client can obtain a high-speed response.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a file management system, showing a configuration of a file management system including a file management device of the present invention.
FIG. 2 is a configuration diagram of a file server, showing a configuration of a file server realized by a file management program of the present invention.
FIG. 3 is a diagram illustrating an example of a file management control table.
FIG. 4 is an explanatory diagram of file management.
FIG. 5 is a configuration diagram of another file management system.
FIG. 6 is a configuration diagram of another file management system.
FIG. 7 is a file management processing flow, showing file management processing.
FIG. 8 is a file management processing flow, showing a determination processing at the time of the first access.
FIG. 9 is a flow chart of a file management process, showing a determination process at the time of high access frequency.
FIG. 10 is a file management processing flow, showing a file transfer processing.
FIG. 11 is a configuration diagram of another file management system, showing a configuration of a file management system including another file management device of the present invention.
[Explanation of symbols]
1 computer
2 File server
3 clients
4 Storage device
5 File system
6 Network
21 Management means
22 Communication means
23 Changing means
24 File management control table
25 Periodical transmission information
26 Operation status table
27 File List

Claims (5)

ファイルシステムを管理するファイルサーバを実現するプログラムであって、
前記プログラムは、コンピュータに、
複数のファイルサーバで共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理するファイルサーバを用意させ、
当該ファイルサーバと他のファイルサーバとの間で、各々のファイルサーバの管理するファイルについてのアクセス状態を表すデータを、所定の間隔で送受信させ、
前記アクセス状態を表すデータに基づいて、当該ファイルサーバの管理する前記1又は複数のファイルの管理主体を、動的に変更させる
ことを特徴とするファイル管理プログラム。
A program for implementing a file server for managing a file system,
The program is stored in a computer,
A file server that manages one or more files in a file system provided in a storage device that can be shared by a plurality of file servers;
Between the file server and another file server, the data representing the access state of the file managed by each file server, transmitted and received at predetermined intervals,
A file management program for dynamically changing a management entity of the one or more files managed by the file server based on the data indicating the access state.
前記ファイルサーバは、当該ファイルについての最初のアクセス時において、
クライアントの存在する前記コンピュータ上に前記ファイルサーバが存在し、かつ、当該ファイルサーバが現在当該ファイルを管理しているファイルサーバと比べて前記アクセス状態を表すデータに基づいて性能的に余裕があると判断した場合、当該ファイルサーバに当該ファイルの管理の移管を要求し、
前記クライアントの存在する前記コンピュータ上に前記ファイルサーバが存在しないが、前記アクセス状態を表すデータに基づいて性能的に余裕があるファイルサーバが他に存在すると判断した場合、当該余裕のあるファイルサーバに当該ファイルの管理の移管を要求する
ことを特徴とする請求項1に記載のファイル管理プログラム。
The file server, upon the first access to the file,
If the file server exists on the computer where the client is located, and the file server has a margin in performance based on the data indicating the access state compared to the file server currently managing the file. If judged, the file server is requested to transfer the management of the file,
If the file server does not exist on the computer where the client is present, but it is determined that there is another file server with performance margin based on the data indicating the access state, the file server with margin 2. The file management program according to claim 1, wherein the file management program requests a transfer of the management of the file.
前記ファイルサーバは、当該ファイルについての高アクセス頻度時において、
クライアントの存在する前記コンピュータ上に前記ファイルサーバが存在し、かつ、当該ファイルサーバが現在当該ファイルを管理しているファイルサーバと比べて前記アクセス状態を表すデータに余裕がある場合、当該ファイルサーバに管理の移管を要求する
ことを特徴とする請求項1に記載のファイル管理プログラム。
The file server, at the time of high access frequency for the file,
If the file server exists on the computer where the client is present, and the file server has room for data indicating the access state compared to the file server that currently manages the file, the file server The file management program according to claim 1, wherein the file management program requests a transfer of management.
前記プログラムは、コンピュータに、更に、
前記ストレージ装置におけるデータ格納領域を、前記複数のファイルサーバに予め分配して管理させ、
前記ファイルサーバは、各々、自己が管理するファイルに対してデータ格納領域を割り当てる場合、前記ストレージ装置における自己の管理する領域から、前記データ格納領域を割り当てる
ことを特徴とする請求項1に記載のファイル管理プログラム。
The program is further stored on a computer.
A data storage area in the storage device is distributed and managed in advance to the plurality of file servers,
2. The file server according to claim 1, wherein when the file server allocates a data storage area to a file managed by the file server, the file server allocates the data storage area from an area managed by the file server. File management program.
ファイルシステムを管理するファイル管理装置であって、
複数のファイル管理装置で共用可能なストレージ装置に設けられたファイルシステムにおける1又は複数のファイルを管理する管理手段と、
他のファイル管理装置との間で、各々のファイル管理装置の管理するファイルについてのアクセス状態を表すデータを、所定の間隔で送受信する通信手段と、
前記アクセス状態を表すデータに基づいて、自己の管理する前記1又は複数のファイルを、動的に変更する変更手段とを備える
ことを特徴とするファイル管理装置。
A file management device for managing a file system,
Management means for managing one or more files in a file system provided in a storage device that can be shared by a plurality of file management devices;
Communication means for transmitting and receiving, at predetermined intervals, data indicating an access state of a file managed by each file management device to and from another file management device;
A file management device comprising: a change unit configured to dynamically change the one or more files managed by itself based on the data indicating the access state.
JP2002301233A 2002-10-16 2002-10-16 File management program Expired - Fee Related JP4224279B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002301233A JP4224279B2 (en) 2002-10-16 2002-10-16 File management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002301233A JP4224279B2 (en) 2002-10-16 2002-10-16 File management program

Publications (2)

Publication Number Publication Date
JP2004139200A true JP2004139200A (en) 2004-05-13
JP4224279B2 JP4224279B2 (en) 2009-02-12

Family

ID=32449628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002301233A Expired - Fee Related JP4224279B2 (en) 2002-10-16 2002-10-16 File management program

Country Status (1)

Country Link
JP (1) JP4224279B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005338893A (en) * 2004-05-24 2005-12-08 Hitachi Ltd Data processing system, disk access control method and processing program therefor
JP2007115140A (en) * 2005-10-21 2007-05-10 Hitachi Ltd Storage system and control method of the storage system
JP2009098941A (en) * 2007-10-17 2009-05-07 Internatl Business Mach Corp <Ibm> Controller for controlling data copy between storage devices, method, program, and storage system
JP2010250476A (en) * 2009-04-14 2010-11-04 Fujitsu Ltd Storage control program, storage system and storage control method
US7836145B2 (en) 2008-07-09 2010-11-16 Hitachi, Ltd. Computer system, management method, and management computer for managing data archiving storage extents based on server performance management information and storage utilization information
JP2011215677A (en) * 2010-03-31 2011-10-27 Hitachi Ltd Storage system, load distribution management method for the same and program
WO2014174671A1 (en) * 2013-04-26 2014-10-30 株式会社日立製作所 Computer system and load dispersion method
US10175907B2 (en) 2016-05-25 2019-01-08 Yahoo Japan Corporation Storage device, file writing method, and non-transitory computer readable storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005338893A (en) * 2004-05-24 2005-12-08 Hitachi Ltd Data processing system, disk access control method and processing program therefor
JP2007115140A (en) * 2005-10-21 2007-05-10 Hitachi Ltd Storage system and control method of the storage system
JP2009098941A (en) * 2007-10-17 2009-05-07 Internatl Business Mach Corp <Ibm> Controller for controlling data copy between storage devices, method, program, and storage system
US7836145B2 (en) 2008-07-09 2010-11-16 Hitachi, Ltd. Computer system, management method, and management computer for managing data archiving storage extents based on server performance management information and storage utilization information
JP2010250476A (en) * 2009-04-14 2010-11-04 Fujitsu Ltd Storage control program, storage system and storage control method
JP2011215677A (en) * 2010-03-31 2011-10-27 Hitachi Ltd Storage system, load distribution management method for the same and program
WO2014174671A1 (en) * 2013-04-26 2014-10-30 株式会社日立製作所 Computer system and load dispersion method
US10175907B2 (en) 2016-05-25 2019-01-08 Yahoo Japan Corporation Storage device, file writing method, and non-transitory computer readable storage medium

Also Published As

Publication number Publication date
JP4224279B2 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
US9971823B2 (en) Dynamic replica failure detection and healing
US7530115B2 (en) Access to content addressable data over a network
AU757667B2 (en) Access to content addressable data over a network
US7035931B1 (en) Volume location service for a distributed file system
JP5902716B2 (en) Large-scale storage system
US8463867B2 (en) Distributed storage network
US8341118B2 (en) Method and system for dynamically replicating data within a distributed storage system
KR100974149B1 (en) Methods, systems and programs for maintaining a namespace of filesets accessible to clients over a network
US7171459B2 (en) Method and apparatus for handling policies in an enterprise
US7395352B1 (en) Managing data replication relationships
US7444395B2 (en) Method and apparatus for event handling in an enterprise
US20110153606A1 (en) Apparatus and method of managing metadata in asymmetric distributed file system
US20030078944A1 (en) Remote access program, remote access request-processing program, and client computer
US20050203908A1 (en) Managing data replication policies
US20080147997A1 (en) Systems and methods for facilitating storage operations using network attached storage devices
US20080271130A1 (en) Minimizing client-side inconsistencies in a distributed virtual file system
JP2003248611A (en) Storage management integration system and its storage management control method
US10503693B1 (en) Method and system for parallel file operation in distributed data storage system with mixed types of storage media
KR101236477B1 (en) Method of processing data in asymetric cluster filesystem
US8782372B2 (en) Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ESS) cells
JP4224279B2 (en) File management program
KR20110070697A (en) Apparatus and method of controlling metadata in asymmetric distributed file system
JP3672483B2 (en) Content distribution apparatus, content distribution method, and recording medium recording content distribution program
KR100785774B1 (en) Obeject based file system and method for inputting and outputting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20081020

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081020

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: 20081118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees