JP2011186616A - Distributed file system, and server, method, and program for remote file processing - Google Patents
Distributed file system, and server, method, and program for remote file processing Download PDFInfo
- Publication number
- JP2011186616A JP2011186616A JP2010049308A JP2010049308A JP2011186616A JP 2011186616 A JP2011186616 A JP 2011186616A JP 2010049308 A JP2010049308 A JP 2010049308A JP 2010049308 A JP2010049308 A JP 2010049308A JP 2011186616 A JP2011186616 A JP 2011186616A
- Authority
- JP
- Japan
- Prior art keywords
- file
- server
- information
- remote file
- remote
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、分散ファイルシステム並びにリモートファイル処理サーバ、方法及びプログラムに関し、特に、ネットワークを介して、外部のサーバに格納されたリモートファイルを処理するための分散ファイルシステム並びにリモートファイル処理サーバ、方法及びプログラムに関する。 The present invention relates to a distributed file system, a remote file processing server, a method, and a program, and more particularly to a distributed file system, a remote file processing server, a method and a program for processing a remote file stored in an external server via a network. Regarding the program.
近年、ネットワークを介した複数のサーバ間でファイルを共有するために、NAS(Network Attached Storage)が用いられている。図10は、NASを利用したコンピュータシステムの一例であるネットワークファイルシステム900を示すブロック図である。ネットワークファイルシステム900は、NAS91と、サーバ92と、サーバ93と、サーバ94a、・・・94nとを備え、それぞれネットワーク1を介して接続されている。
In recent years, NAS (Network Attached Storage) has been used to share files among a plurality of servers via a network. FIG. 10 is a block diagram showing a
NAS91は、ネットワーク1に直接接続して、他のサーバにHDD(Hard Disk Drive)910を使用させることができるファイルサーバ専用機である。ここでは、HDD910は、任意のファイルであるリモートファイル911を格納するものとする。サーバ92、サーバ93、サーバ94a、・・・94nは、汎用的なコンピュータシステムであり、いわゆるサーバ装置である。そして、サーバ92、サーバ93、サーバ94a、・・・94nは、任意のOS(Operating System)(不図示)が稼働する。特に、サーバ92は、アプリケーション920が動作する。また、サーバ93は、アプリケーション930が動作する。例えば、アプリケーション920は、任意のファイルを生成する処理を行い、生成したファイルについてネットワーク1を介してHDD910内にリモートファイル911として格納する。そして、アプリケーション930は、ネットワーク1を介してHDD910からリモートファイル911を取得し、取得したリモートファイル911を用いて所定の処理を行う。これにより、サーバ92とサーバ93との間でNAS91によりファイルを共有することができる。同様に、サーバ94a、・・・94nについてもNAS91によりサーバ92及び93とファイルを共有することができる。
The NAS 91 is a file server dedicated machine that can be directly connected to the
特許文献1には、1つまたは複数のネットワークコンピュータを含むコンピュータネットワーク内のコンピュータシステムにおいて、ファイルをキャッシュして共有する方法に関する技術が開示されている。特許文献1にかかる方法は、1つまたは複数のネットワークコンピュータの中から選択された候補ピアサーバのリストを含むピアリストであって、予め定められた数以上の候補ピアサーバを含まないピアリストを構築する動作と、ファイルまたはファイルの一部分に関して、ピアリスト中の候補ピアサーバにクエリを行う動作と、ピアリスト中のピアサーバから、ピアサーバがダウンロードのために利用可能なファイルまたはファイルの一部分を有しているというメッセージを受信する動作と、ピアサーバから、ファイルまたはファイルの一部分をダウンロードする動作と、を備える。
上述したNASを用いたファイル共有については、例えば、同じファイルを繰り返し参照する場合に、都度、NAS91との通信が必要となり、ネットワーク1上に流れるデータ量が増えるため、ネットワーク1の負荷が高くなるという問題がある。
For file sharing using the NAS described above, for example, when the same file is repeatedly referred to, communication with the
また、特許文献1においても、参照するファイルが更新される可能性がある場合には、都度、ピアリスト中の候補ピアサーバにクエリを行う必要があり、やはりネットワークの負荷が高くなるという問題がある。
Also, in
本発明は、このような問題点を解決するためになされたものであり、ネットワークを介したファイルアクセスに伴うネットワークの負荷を軽減するための分散ファイルシステム並びにリモートファイル処理サーバ、方法及びプログラムを提供することを目的とする。 The present invention has been made to solve such problems, and provides a distributed file system, a remote file processing server, a method, and a program for reducing the load on the network associated with file access via the network. The purpose is to do.
本発明の第1の態様にかかる分散ファイルシステムは、ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、前記リモートファイルを格納する第2のサーバと、を備え、前記第1のサーバは、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、前記第2のサーバは、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、前記第1のサーバは、前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信する。 A distributed file system according to a first aspect of the present invention includes a first file information storage unit that stores storage destination server information that identifies a server in which a file is stored, and is a remote file stored in an external server A first server that processes the remote file, and a second server that stores the remote file, and the first server includes a plurality of servers including the second server when referring to the remote file. The remote server transmits a remote file reference request to the first server, and the second server transmits the remote file requested by the reference request to the first server, and the first server transmits the second file to the second server. When the remote file is received from the server, the second server is the storage server information, and the received remote file identification information and When storing and registering in the first file information storage unit and referring to the remote file again, the storage destination server associated with the remote file identification information by referring to the first file information storage unit The information is specified as the second server, and a reference request including the identification information of the remote file is transmitted to the specified second server.
本発明の第2の態様にかかるリモートファイル処理サーバは、ファイルの識別情報と、当該ファイルが格納されているサーバを特定する格納先サーバ情報とを関連付けて格納するファイル情報記憶部と、外部のサーバに格納されたリモートファイルを参照する場合に、前記ファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定する判定部と、前記判定部により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求部と、前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理部と、を備える。 A remote file processing server according to a second aspect of the present invention includes a file information storage unit that stores identification information of a file and storage destination server information that identifies the server in which the file is stored, When referring to a remote file stored in a server, the determination unit determines whether or not the remote file identification information exists in the file information storage unit, and the determination unit determines whether the remote file identification information is When it is determined that it exists, the file information storage unit is referred to, and the remote file reference request is transmitted to the server specified from the storage destination server information associated with the remote file identification information, When it is determined that the identification information of the remote file does not exist, the remote server is notified to a plurality of servers. Comprising a file request portion for transmitting a reference request for the file, upon receiving the remote file as a response from the server that received the reference request, the file processing unit that performs processing based on the remote file the received and.
本発明の第3の態様にかかるリモートファイル処理方法は、ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、前記リモートファイルを格納する第2のサーバと、を備え、前記第1のサーバにおいて、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、前記第2のサーバにおいて、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、前記第1のサーバにおいて、前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信する。 A remote file processing method according to a third aspect of the present invention includes a first file information storage unit that stores storage destination server information that identifies a server in which a file is stored, and is stored in an external server. A first server that processes a file; and a second server that stores the remote file. When the first server refers to the remote file, the first server includes a plurality of second servers. The remote file reference request is transmitted to the server, the second server transmits the remote file requested by the reference request to the first server, and the first server transmits the remote file When the remote file is received from the second server, the second server is used as the storage destination server information and the received remote file is received. When the remote file is registered in the first file information storage unit in association with the file identification information, and the remote file is referenced again, the first file information storage unit is referred to and associated with the remote file identification information. The storage destination server information is specified as the second server, and a reference request including the remote file identification information is transmitted to the specified second server.
本発明の第4の態様にかかるリモートファイル処理プログラムは、外部のサーバに格納されたリモートファイルを参照する場合に、ファイルの識別情報と、当該ファイルが格納されているサーバを特定する格納先サーバ情報とを関連付けて格納するファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定する判定処理と、前記判定処理により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求処理と、前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理と、を含むリモートファイル処理をコンピュータに実行させる。 When a remote file processing program according to the fourth aspect of the present invention refers to a remote file stored in an external server, the storage destination server that identifies the file identification information and the server in which the file is stored A determination process for determining whether or not the remote file identification information exists in the file information storage unit that stores the information in association with each other, and when the determination process determines that the remote file identification information exists , Referring to the file information storage unit, sending a remote file reference request to the server specified from the storage destination server information associated with the remote file identification information, and the remote file identification information If it is determined that the file does not exist, the remote file must be referenced to multiple servers. A remote file process including: a file request process for transmitting a file process; and a file process for performing a process based on the received remote file when the remote file is received as a response from the server that has received the reference request. Let it run.
本発明により、ネットワークを介したファイルアクセスに伴うネットワークの負荷を軽減するための分散ファイルシステム並びにリモートファイル処理サーバ、方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide a distributed file system, a remote file processing server, a method, and a program for reducing the load on the network associated with file access via the network.
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる分散ファイルシステム100の構成を示すブロック図である。分散ファイルシステム100は、サーバ2と、サーバ3と、サーバ4a、・・・4nとを備え、それぞれネットワーク1を介して接続されている。
<
FIG. 1 is a block diagram showing a configuration of a
サーバ2は、汎用的なコンピュータシステムであり、外部のサーバに格納されたリモートファイルを処理する制御部21と、ファイル情報記憶部22とを少なくとも備える。ファイル情報記憶部22は、ファイル識別情報221と、格納先サーバ情報222とを格納する記憶装置である。ファイル情報記憶部22は、例えば、HDD、フラッシュメモリ等の不揮発性の記憶装置であることが望ましい。ファイル識別情報221は、ファイルを識別するための情報である。ファイル識別情報221は、例えば、ファイル名、ファイルIDといったものである。格納先サーバ情報222は、ファイルが格納されているサーバを特定するための情報である。また、格納先サーバ情報222は、ファイルの格納先のサーバの宛先を示す情報である。格納先サーバ情報222は、例えば、ホスト名、IP(Internet Protocol)アドレス等であるとよい。また、格納先サーバ情報222は、サーバ2自身を示す場合には、ローカルホストを示す情報であってもよい。格納先サーバ情報222は、少なくとも分散ファイルシステム100内において、ネットワーク1に接続されたサーバを一意に特定するための情報であればよい。
The
サーバ3は、汎用的なコンピュータシステムであり、少なくともHDD31を備える。HDD31は、リモートファイル311を格納する記憶装置である。リモートファイル311は、任意のファイルであり、例えば、サーバ3内で生成されたファイルである。尚、HDD31は、サーバ3が備える記憶装置の一例である。また、サーバ3は、外部のサーバからのリモートファイル311の参照要求に応じて、HDD31からリモートファイル311を取得し、要求元へ返信する制御部(不図示)を備えるものとする。
The
サーバ4a、・・・4nは、サーバ2又はサーバ3と同等のコンピュータシステムである。また、ネットワーク1は、イントラネット、LAN等の通信ネットワークである。
The
続いて、分散ファイルシステム100におけるリモートファイル取得処理の概要を説明する。まず、サーバ2は、リモートファイル311を参照する場合に、サーバ3を含む複数のサーバに対してリモートファイル311の参照要求を送信する。次に、サーバ3は、参照要求により要求されたリモートファイル311をサーバ2へ送信する。そして、サーバ2は、サーバ3からリモートファイル311を受信した場合に、サーバ3を格納先サーバ情報222とし、受信したリモートファイル311のファイル識別情報221と関連付けてファイル情報記憶部22へ登録する。その後、サーバ2は、リモートファイル311を再度参照する場合に、ファイル情報記憶部22を参照し、リモートファイル311のファイル識別情報221に関連付けられた格納先サーバ情報222がサーバ3であることを特定し、特定されたサーバ3に対してリモートファイル311のファイル識別情報221を含めて参照要求を送信する。
Next, an overview of remote file acquisition processing in the distributed
図2は、本発明の実施の形態1にかかるリモートファイル取得処理の流れを示すシーケンス図である。まず、サーバ2の制御部21において、リモートファイル311の参照が発生する(S11)。そして、制御部21は、ネットワーク1に接続された複数のサーバに対してリモートファイル311の参照要求を送信する。すなわち、制御部21は、サーバ3、4a、・・・4nに対してリモートファイル311の参照要求(S12、S12a、・・・S12n)を送信する。
FIG. 2 is a sequence diagram showing the flow of the remote file acquisition process according to the first embodiment of the present invention. First, the
次に、サーバ3は、ステップS12の参照要求を受信し、当該参照要求により要求されたリモートファイル311がHDD31に格納されていることを確認する。そして、サーバ3は、HDD31からリモートファイル311を取得し、要求元であるサーバ2に対してリモートファイル311を返信する(S13)。このとき、サーバ4a、・・・4nのそれぞれは、ステップS12a、・・・S12nにより受信した参照要求により要求されたリモートファイル311を格納していないため、その旨を返信するか又は返信しなくてもよい。
Next, the
そして、制御部21は、サーバ3からリモートファイル311を受信する。これにより、制御部21は、リモートファイル311について処理を行うことができる。このとき、制御部21は、サーバ3を格納先サーバ情報222とし、リモートファイル311とファイル識別情報221と関連付けてファイル情報記憶部22に登録する(S14)。
Then, the
その後、サーバ2の制御部21において、リモートファイル311の参照が発生する(S15)。そして、制御部21は、ファイル情報記憶部22に対して、リモートファイル311のファイル識別情報221に関連付けられた格納先サーバ情報222を参照する(S16)。制御部21は、ファイル情報記憶部22から格納先サーバ情報222の応答を受け付ける(S17)。このとき、制御部21は、受け付けた格納先サーバ情報222により格納先のサーバがサーバ3であることを特定する。そして、制御部21は、特定されたサーバ3に対してリモートファイル311のファイル識別情報221を含めて参照要求を送信する(S18)。
Thereafter, the
このように、本発明の実施の形態1では、サーバ2は、自己が格納していないファイルであるリモートファイルを参照する場合、当初は、当該リモートファイルがどこに格納されているか不明であるため、ネットワーク1に接続された複数のサーバに対して参照要求を送信する。これにより、分散ファイルシステム100内にリモートファイルが存在する場合に、確実に要求するリモートファイルを取得することができる。そして、サーバ2は、受信したリモートファイルを処理する際に、併せて、当該リモートファイルの識別情報と格納先サーバ情報とを関連付けてファイル情報記憶部22に登録する。これにより、再度、同一のリモートファイルを参照する際に、サーバ2は、ファイル情報記憶部22を参照して格納先のサーバがサーバ3であることを特定することにより、参照要求の送信先を1箇所とすることができる。そのため、同一のリモートファイルに複数回のファイルアクセスが発生する場合であっても、2回目以降は、格納先のサーバと直接の通信とすることができる。そのため、NASのように、各ファイルを集中管理する場合に比べて、ネットワークを介したファイルアクセスに伴うネットワークの負荷を軽減することができる。
As described above, in
<発明の実施の形態2>
発明の実施の形態2にかかるネットワークファイルシステム200は、発明の実施の形態1にかかる分散ファイルシステム100の実施例の一つである。図3は、本発明の実施の形態2にかかるネットワークファイルシステム200の構成を示すブロック図である。ネットワークファイルシステム200は、サーバ2aと、サーバ3aと、サーバ5a、・・・5nとを備え、それぞれネットワーク1を介して接続されている。
<
The
サーバ2aは、汎用的なコンピュータシステムであり、アプリケーション210と、監視デーモン220と、HDD230と、ファイル情報記憶部240とを備える。アプリケーション210は、任意のファイルを生成し、参照し、更新するソフトウェアである。HDD230は、アプリケーション210により生成された生成ファイル231を格納する記憶装置である。尚、HDD230は、サーバ2aが備える記憶装置の一例である。
The
ファイル情報記憶部240は、ファイルパス名241と、ハッシュ値242と、格納先サーバ情報243と、更新日時情報244とを関連付けて格納する記憶装置である。ファイル情報記憶部240は、言い換えると、ファイルの所在に関する情報をキャッシュ情報として管理するデータベースである。ファイル情報記憶部240は、例えば、HDD、フラッシュメモリ等の不揮発性の記憶装置であることが望ましい。ファイルパス名241は、ファイル名及びファイルの格納先のディレクトリパスを示す情報である。つまり、ファイルパス名241は、所定のファイルシステム内で一意に定まる情報である。ハッシュ値242は、ファイルパス名241から所定のハッシュ関数により算出されたハッシュ値である。格納先サーバ情報243は、上述した格納先サーバ情報222と同等の情報である。更新日時情報244は、関連付けられたファイルが少なくとも最後に更新された年月日及び時刻を示す情報である。尚、更新日時情報244は、最後以外の更新日時、例えば、作成日時等を含めても構わない。図4は、本発明の実施の形態2にかかるファイル情報記憶部240に格納されるデータの例を示す図である。
The file
監視デーモン220は、HDD230を監視し、アプリケーション210からHDD230へのファイルアクセスが発生し、当該ファイルアクセスが外部のサーバに格納されたファイルを要求している場合に、外部のサーバに対してファイルの参照要求を行うソフトウェアである。また、監視デーモン220は、参照要求により取得されたファイルの所在に関する情報をファイル情報記憶部240により管理する。
The
サーバ3aは、サーバ2aと同等のコンピュータシステムであり、アプリケーション310、監視デーモン320、HDD330及びファイル情報記憶部340並びに生成ファイル331、ファイルパス名341、ハッシュ値342、格納先サーバ情報343及び更新日時情報344は、それぞれ、サーバ2aにおける各構成要素と対応する同等の構成要素である。そのため、詳細な説明を省略する。
The server 3a is a computer system equivalent to the
サーバ5a、・・・5nは、サーバ2a及び3aと同等のコンピュータシステムである。また、ネットワーク1は、イントラネット、LAN等の通信ネットワークである。
The
続いて、ネットワークファイルシステム200におけるリモートファイル取得処理の概要を説明する。尚、ネットワークファイルシステム200において、分散ファイルシステム100と同等の処理については、説明を省略する。
Next, an overview of remote file acquisition processing in the
サーバ2aのアプリケーション210がサーバ3aにおいて格納される生成ファイル331、すなわちリモートファイルを参照する場合に、監視デーモン220は、ファイル情報記憶部240に当該リモートファイルの識別情報が存在するか否かを判定する。存在すると判定した場合に、監視デーモン220は、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報243から特定されるサーバ3aに対して当該リモートファイルの識別情報を含めて参照要求を送信する。また、存在しないと判定した場合に、監視デーモン220は、サーバ3aを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信する。これにより、ファイル情報記憶部240により生成ファイル331の所在が管理されている場合には、直接、格納先のサーバへ参照要求を送信するため、ネットワークの負荷を軽減することができる。また、ファイル情報記憶部240により生成ファイル331の所在が管理されていない場合であっても、ネットワーク1に接続された複数のサーバに対して参照要求を送信することにより、確実にリモートファイルを参照することができる。
When the
また、サーバ3aのアプリケーション310が生成ファイル331を生成した場合に、監視デーモン320は、自己を格納先サーバ情報343とし、生成ファイル331の識別情報と関連付けてファイル情報記憶部340へ登録する。そして、サーバ2aの監視デーモン220は、生成ファイル331を参照する場合に、生成ファイル331の識別情報を含めて参照要求を送信する。このとき、サーバ3aの監視デーモン320は、サーバ2aから参照要求を受信した場合に、ファイル情報記憶部340を参照し、自己を格納先サーバ情報343として関連付けられているファイルの識別情報の中に、参照要求に含まれる識別情報が存在するか否かを判定する。そして、識別情報が存在すると判定した場合に、監視デーモン320は、生成ファイル331をサーバ2aへ送信する。これにより、外部のサーバからのファイルの識別情報を含むファイルアクセスに対して、対応することができる。特に、ファイルの所在に関する情報の管理方法がファイル情報記憶部240とファイル情報記憶部340とにおいて同等であることにより、効率的に処理することができる。
Further, when the
さらに、サーバ3aのアプリケーション310が生成ファイル331を生成した場合に、監視デーモン320は、生成した生成ファイル331のファイル名からハッシュ値342を算出し、自己を格納先サーバ情報343とし、ハッシュ値342と関連付けてファイル情報記憶部340へ登録する。そして、サーバ2aの監視デーモン220は、生成ファイル331のファイル名からハッシュ値242を算出し、ハッシュ値242を含めて参照要求を送信する。そして、監視デーモン320は、サーバ2aから参照要求を受信した場合に、ファイル情報記憶部340を参照し、自己を格納先サーバ情報343として関連付けられているハッシュ値342の中に、参照要求に含まれるハッシュ値ハッシュ値242が存在するか否かを判定する。監視デーモン320は、ハッシュ値242が存在すると判定した場合に、生成ファイル331をサーバ2aへ送信する。これにより、ネットワーク1に流れるデータであるファイルの識別情報をハッシュ値という小さなデータとすることができ、ネットワークの負荷をさらに軽減することができる。また、ハッシュ値により一意に定まるファイルを特定することができる。
Further, when the
さらに、サーバ2a及び3aは、リモートファイルが格納されているディレクトリ名を含めてハッシュ値を生成するとよい。これにより、ファイルの識別情報によりファイルの特定をより正確に行うことができる。
Further, the
また、サーバ3aのアプリケーション310は、生成ファイル331を更新した場合に、アプリケーション310の更新日時情報344を生成ファイル331のハッシュ値342に関連付けてファイル情報記憶部340へさらに登録する。そして、サーバ3aの監視デーモン320は、サーバ2aから参照要求を受信し、識別情報が存在すると判定した場合に、ファイル情報記憶部340から参照要求に含まれる識別情報に関連付けられた更新日時情報344を取得し、当該取得した更新日時情報344を含めて生成ファイル331をサーバ2aへ送信する。その後、サーバ2aの監視デーモン220は、サーバ3aから生成ファイル331を受信した場合に、更新日時情報344を受信した生成ファイル331の識別情報に関連付けてファイル情報記憶部240へさらに登録する。これにより、サーバ2aにおいても参照の度に、リモートファイルの更新日時情報を管理することができる。
When the
さらに、サーバ2aの監視デーモン220は、生成ファイル331を参照する場合、サーバ3aを含む複数のサーバに対して生成ファイル331の識別情報を含めて参照要求をブロードキャストにより送信するとよい。その場合、サーバ3aの監視デーモン320は、サーバ2aからブロードキャストにより参照要求を受信し、上述した処理を行ったうえで、応答を行う。これにより、リモートファイルの所在が不明であっても、効率的に当該リモートファイルを格納するサーバへ参照要求を送信することができる。
Further, when referring to the generated
図5は、本発明の実施の形態2にかかるサーバ2aの構成を示すブロック図である。尚、サーバ3aの構成は、サーバ2aと同等であるため、図示及び説明を省略する。サーバ2aは、ファイル情報記憶部240と、ハッシュ算出部251と、判定部252と、ファイル要求部253と、ファイル処理部254と、ファイル情報登録部255と、ファイル送信部256と、を備える。
FIG. 5 is a block diagram showing a configuration of the
ここで、サーバ2aは、少なくともファイル情報記憶部240と、判定部252と、ファイル要求部253と、ファイル処理部254とを備える必要がある。この場合、ファイル情報記憶部240は、ファイルの識別情報であるファイルパス名241と格納先サーバ情報243とを少なくとも関連付けて格納する。ここで、まず、判定部252は、外部のサーバに格納されたリモートファイルを参照する場合に、ファイル情報記憶部240に当該リモートファイルの識別情報が存在するか否かを判定する。次に、ファイル要求部253は、判定部252により、リモートファイルの識別情報が存在すると判定された場合に、ファイル情報記憶部240を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報243から特定されるサーバに対して当該リモートファイルの参照要求を送信する。また、ファイル要求部253は、リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信する。そして、ファイル処理部254は、参照要求を受信したサーバからの応答としてリモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行う。これにより、ファイル情報記憶部240によりリモートファイルの所在が管理されている場合には、直接、格納先のサーバへ参照要求を送信するため、ネットワークの負荷を軽減することができる。また、ファイル情報記憶部240によりリモートファイルの所在が管理されていない場合であっても、ネットワーク1に接続された複数のサーバに対して参照要求を送信することにより、確実にリモートファイルを参照することができる。
Here, the
さらに、サーバ2aは、ファイル情報登録部255を備えることが望ましい。この場合、判定部252は、リモートファイルを受信した場合に、ファイル情報記憶部240に当該受信したリモートファイルの識別情報が存在するか否かを判定する。そして、ファイル情報登録部255は、判定部252により、受信したリモートファイルの識別情報が存在しないと判定された場合に、当該リモートファイルの送信元のサーバを格納サーバ情報243とし、当該受信したリモートファイルの識別情報に関連付けてファイル情報記憶部240に登録する。これにより、今回受信したリモートファイルを再度、参照する場合に、格納先のサーバを特定することができ、複数のサーバへ参照要求を送信する必要がないために、不要な参照要求を送信することによるネットワークの負荷を軽減することができる。
Furthermore, the
さらに、ファイル情報登録部255は、ファイル処理部256がファイルを生成した場合に、自己を格納サーバ情報243とし、当該生成したファイルの識別情報に関連付けてファイル情報記憶部240に登録するとよい。これにより、アプリケーション210が生成したファイル231についても外部のサーバに格納されているリモートファイルと併せて管理することができる。
Further, when the
また、サーバ2aは、ファイル送信部256を備えることが望ましい。この場合、判定部252は、外部のサーバから参照要求を受信した場合に、ファイル情報記憶部240を参照し、自己を格納サーバ情報243として関連付けられているファイルの識別情報の中に、当該参照要求により要求されるリモートファイルの識別情報が存在するか否かを判定する。そして、ファイル送信部256は、判定部252により、要求されるリモートファイルの識別情報が存在すると判定された場合に、要求されるリモートファイルの識別情報に対応するファイルを外部のサーバへ送信する。これにより、外部のサーバのアプリケーションからのファイルアクセスに対しても効率的に処理することができる。
The
また、サーバ2aは、ファイルのファイル名からハッシュ値を算出するハッシュ値算出部251をさらに備えることが望ましい。この場合、ファイル情報記憶部240は、ハッシュ値算出部251により算出されたハッシュ値242をファイルの識別情報として格納する。これにより、参照するファイルの特定をより小さいデータにより行うことができる。
The
さらに、ハッシュ値算出部251は、ファイルが格納されているディレクトリ名を含めてハッシュ値242を算出することが望ましい。これにより、ファイルの識別情報によりファイルの特定をより正確に行うことができる。
Furthermore, it is desirable that the hash
また、ファイル情報記憶部240は、ファイルの更新日時情報244を当該ファイルの識別情報に関連付けて格納するとよい。これにより、ファイルの状態を正確に管理することができる。
The file
また、ファイル要求部253は、複数のサーバに対して当該リモートファイルの参照要求をブロードキャストにより送信するとよい。これにより、リモートファイルの所在が不明であっても、効率的に当該リモートファイルを格納するサーバへ参照要求を送信することができる。
In addition, the
図6は、本発明の実施の形態2にかかるサーバのハードウェア構成を示すブロック図である。尚、サーバ3aのハードウェア構成は、サーバ2aと同等であるため、図示及び説明を省略する。
FIG. 6 is a block diagram of a hardware configuration of the server according to the second embodiment of the present invention. Since the hardware configuration of the server 3a is the same as that of the
サーバ2aは、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ROM(Read Only Memory)203と、通信部204と、HDD230とを備える。また、HDD230は、不揮発性記憶装置であり、生成ファイル231、OS232、アプリケーションプログラム233及び監視デーモンプログラム234を格納する。尚、HDD230は、ファイル情報記憶部240をさらに含むものであってもよい。
The
アプリケーションプログラム233は、アプリケーション210が実装されたコンピュータプログラムである。また、アプリケーションプログラム233は、ファイル処理部254の処理を含んでも構わない。監視デーモンプログラム234は、ハッシュ算出部251、判定部252、ファイル要求部253、ファイル情報登録部255及びファイル送信部256が実装されたコンピュータプログラムである。
The
CPU201は、サーバ2aにおける各種処理、RAM202、ROM203、通信部204及びHDD230へのアクセス等を制御する。通信部204は、ネットワーク1を介してサーバ3a、5a、・・・5nとの通信を行う。
The
サーバ2aは、CPU201が、RAM202、ROM203又はHDD230に格納されたOS232、アプリケーションプログラム233及び監視デーモンプログラム234を読み込み、実行する。これにより、サーバ2aは、アプリケーション210及び監視デーモン220として機能し、リモートファイル取得処理及び各種ファイルに対する処理を行うことができる。
In the
図7は、本発明の実施の形態2にかかるファイル情報登録処理の流れを示すフローチャート図である。ここでは、まず、アプリケーション210が生成ファイル231を生成し、HDD230に格納する。このとき、監視デーモン220は、HDD230に格納される生成ファイル231を検出する。そして、監視デーモン220は、生成ファイル231のファイルパス名241からハッシュ値242を算出する(S21)。
FIG. 7 is a flowchart showing the flow of file information registration processing according to the second embodiment of the present invention. Here, first, the
次に、監視デーモン220は、算出されたハッシュ値242がファイル情報記憶部240に未登録であるか否かを判定する(S22)。尚、このとき、監視デーモン220は、ファイルパス名241がファイル情報記憶部240に未登録であるか否かを判定してもよい。
Next, the
ステップS22によりハッシュ値242が未登録であると判定された場合、監視デーモン220は、ファイルパス名241、ハッシュ値242、格納先サーバ情報243及び更新日時情報244を関連付けてファイル情報記憶部240に格納する(S23)。これにより、新規に作成されたファイルの所在に関する情報をファイル情報記憶部240により管理することができる。
When it is determined in step S22 that the
また、ステップS22によりハッシュ値242が未登録でないと判定された場合、監視デーモン220は、算出されたハッシュ値242に関連付けて更新日時情報244を更新する(S24)。例えば、アプリケーション210が生成ファイル231を更新した場合に、監視デーモン220は、HDD230に更新される生成ファイル231を検出する。この場合に、ステップS24の処理が行われる。
If it is determined in step S22 that the
尚、外部のサーバからリモートファイルを受信した場合、監視デーモン220は、同様に、当該受信したリモートファイルを受信し、ステップS21乃至S24の処理を実行する。
Note that when a remote file is received from an external server, the
図8は、本発明の実施の形態2にかかるファイル要求処理の流れを示すフローチャート図である。まず、アプリケーション210においてファイルの参照要求が発生する。例えば、アプリケーション210は、自己が生成したファイルを参照するか、ファイルパスが指示されたファイルについて参照する場合がある。そして、アプリケーション210は、HDD230に対してファイルアクセスを行う。このとき、監視デーモン220は、ファイルアクセスを検出する。
FIG. 8 is a flowchart showing a flow of a file request process according to the second embodiment of the present invention. First, a file reference request is generated in the
そして、監視デーモン220は、検出したファイルアクセスにかかる参照対象がリモートファイルであるか否かを判定する(S31)。具体的には、監視デーモン220は、参照対象におけるファイルパスが生成ファイル231のファイルシステムに存在するか否かを判定する。または、アプリケーション210からHDD230へのファイルアクセスがエラーとなった場合、すなわち、HDD230から参照対象のファイルが存在しない旨のメッセージを検出した場合に、監視デーモン220は、参照対象がリモートファイルであると判定してもよい。
Then, the
ステップS31により参照対象がリモートファイルでないと判定した場合、監視デーモン220は、HDD230から対象ファイルを取得する(S37)。または、アプリケーション210がHDD230から対象ファイルを取得しても構わない。いずれにしても、以後、アプリケーション210は、取得されたファイルについて処理を行う。
If it is determined in step S31 that the reference target is not a remote file, the
また、ステップS31により参照対象がリモートファイルであると判定した場合、監視デーモン220は、リモートファイルのファイルパス名241からハッシュ値242を算出する(S32)。そして、監視デーモン220は、算出されたハッシュ値242がファイル情報記憶部240に未登録であるか否かを判定する(S33)。尚、このとき、監視デーモン220は、ファイルパス名241がファイル情報記憶部240に未登録であるか否かを判定してもよい。
If it is determined in step S31 that the reference target is a remote file, the
ステップS33によりハッシュ値242が未登録であると判定された場合、監視デーモン220は、ブロードキャストによりリモートファイルの参照要求を送信する(S34)。このとき、監視デーモン220は、参照要求にハッシュ値242を含めて送信する。具体的には、監視デーモン220は、送信パケットにハッシュ値242を含める。これにより、参照要求がサーバ3a、5a、・・・5nへ送信される。
If it is determined in step S33 that the
また、ステップS33によりハッシュ値242が未登録でないと判定された場合、監視デーモン220は、ファイル情報記憶部240から格納先サーバ情報243を取得する(S35)。つまり、監視デーモン220は、取得した格納先サーバ情報243により参照対象のリモートファイルが格納されているサーバの宛先を特定することができる。そして、監視デーモン220は、特定されるサーバに対してリモートファイルの参照要求を送信する(S36)。これにより、特定のサーバに対してのみ参照要求を送信することができ、より速く参照対象のリモートファイルを取得することができる。
If it is determined in step S33 that the
図9は、本発明の実施の形態2にかかるファイル送信処理の流れを示すフローチャート図である。まず、監視デーモン320は、サーバ2aから参照要求を受信する(S41)。ここでは、サーバ3aがサーバ2aからのブロードキャスト又は直接の参照要求を受信したものとする。次に、監視デーモン320は、参照要求に含まれるファイルのハッシュ値を抽出する(S42)。
FIG. 9 is a flowchart showing the flow of the file transmission process according to the second embodiment of the present invention. First, the
そして、監視デーモン320は、抽出されたハッシュ値がファイル情報記憶部340に未登録であるか否かを判定する(S43)。具体的には、監視デーモン320は、ファイル情報記憶部340を参照し、抽出されたハッシュ値とファイル情報記憶部340に格納されたハッシュ値342とを比較する。ステップS43によりハッシュ値が未登録であると判定された場合、監視デーモン320は、ファイルが存在しない旨を要求元のサーバ2aに対して応答する(S44)。この場合、監視デーモン220は、サーバ3aからの応答を受信し、その旨をアプリケーション210へ通知する。
Then, the
また、テップS43によりハッシュ値が未登録でないと判定された場合、監視デーモン320は、ハッシュ値に関連付けられたファイルパス名341及び更新日時情報344を取得する(S45)。そして、監視デーモン320は、取得したファイルパス名341に基づき、HDD330から生成ファイル331を取得する(S46)。その後、監視デーモン320は、取得した生成ファイル331を要求元のサーバ2aへ送信する(S47)。このとき、監視デーモン320は、更新日時情報344を含めてサーバ2aへ送信する。
If it is determined in step S43 that the hash value is not yet registered, the
この後、監視デーモン220は、サーバ3aからの応答を受信し、応答に含まれる生成ファイル331をアプリケーション210へ入力する。これにより、アプリケーション210は、生成ファイル331を参照し、生成ファイル331に対する処理を行うことができる。
Thereafter, the
併せて、監視デーモン220は、生成ファイル331について、図7のステップS21乃至S24の処理を実行する。特に、監視デーモン220がブロードキャストにより参照要求を送信した場合には、受信したリモートファイルの所在に関する情報が新規にファイル情報記憶部240へ登録される。その後、アプリケーション210が再度、生成ファイル331についてファイルアクセスを行う場合に、図8のステップS31により参照対象がリモートファイルであると判定され、監視デーモン220は、ステップS32以降の処理を実行する。このとき、ステップS33によりハッシュ値242が未登録でないと判定されるため、監視デーモン220は、ステップS35及びS36の処理を実行する。そのため、監視デーモン220は、ブロードキャストにより不要な参照要求をネットワーク1上に送信する必要がなくなり、ネットワーク1の負荷を軽減することができる。
In addition, the
このように、本発明の実施の形態2により、NASを用いずに、複数のサーバのHDDを用いて分散してファイルを保存し、かつ、各サーバ間でファイルを共有することができる。すなわち、本発明の実施の形態2は、分散型ローカルキャッシュを付加したネットワークファイルシステム200ということができる。
As described above, according to the second embodiment of the present invention, a file can be distributed and stored using HDDs of a plurality of servers without using NAS, and the files can be shared among the servers. That is,
また、個々のサーバ上のHDDにファイルをキャッシュとして保存し、ファイル情報記憶部240及び340により当該キャッシュを管理するため、各サーバにおける各アプリケーションの入出力結果であるファイルについて、ネットワークファイルシステムを介した参照や書き込みを高速に行うことができる。
Further, since the file is stored as a cache in the HDD on each server and the cache is managed by the file
<その他の発明の実施の形態>
上述したように本発明の実施の形態1及び2は、ネットワークで接続されたサーバ上で実行されるプログラムの入出力結果であるファイルに関して、参照や書き込みを高速、かつ、ネットワークの負荷を軽減して行うようにするものである。
<Other embodiments of the invention>
As described above, according to the first and second embodiments of the present invention, a file that is an input / output result of a program executed on a server connected via a network can be referred and written at high speed and the load on the network can be reduced. To do.
尚、図10に示したネットワークファイルシステム900では、例えば、同じファイルを何度も参照する場合又は出力したファイルの読み直しを行う場合等には、ファイル出力の度にNAS91との通信を行う必要がある。この場合、ネットワーク1上に流れるデータ量が増え、ネットワーク1の負荷が高くなり、データの書き込み又は読み込み速度が低下する。これに伴い、各サーバで実行されるプログラムそのものの実行速度にも影響するという問題がある。また、NAS91は、1つのフォルダに大量のファイルを置くと、そのフォルダを参照したときの応答が遅くなるという問題もある。
In the
そこで、本発明の実施の形態1及び2では、各種アプリケーションにより計算を行う個々のサーバ上にある程度の大きさのHDDを接続しておき、各サーバにおけるアプリケーションの出力結果をキャッシュとして各HDDに置くものである。併せて、各サーバに当該出力結果の所在に関する情報をキャッシュデータベースとして管理するファイル情報記憶部22、240及び340等を備えることにより、NAS91を用いることなく、他のサーバから出力結果を参照すること、すなわち、ファイル共有を行うことができ、ネットワークの負荷を軽減することができる。そのため、ネットワークを介したファイルアクセスを行うプログラムを高速に実行することができる。
Therefore, in the first and second embodiments of the present invention, HDDs of a certain size are connected to individual servers that perform calculations using various applications, and the output results of applications in each server are placed in each HDD as a cache. Is. In addition, each server is provided with file
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。また、記録媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、ROM(Read Only Memory)カートリッジ、バッテリバックアップ付きRAM(Random Access Memory)メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。 Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above. For example, in the above-described embodiment, the present invention has been described as a hardware configuration, but the present invention is not limited to this. The present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program. In this case, the computer program can be provided by being recorded on a recording medium, or can be provided by being transmitted via the Internet or another transmission medium. Examples of the recording medium include a flexible disk, a hard disk, a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc), and a BD (Blu-ray (registered trademark) Disc). ROM (Read Only Memory) cartridge, battery-backed RAM (Random Access Memory) memory cartridge, flash memory cartridge, nonvolatile RAM cartridge, and the like. The communication medium includes a wired communication medium such as a telephone line, a wireless communication medium such as a microwave line, and the like.
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。 A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
(付記1)ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、
前記リモートファイルを格納する第2のサーバと、を備え、
前記第1のサーバは、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、
前記第2のサーバは、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバは、
前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、
前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とする分散ファイルシステム。
(Supplementary Note 1) A first server that includes a first file information storage unit that stores storage server information for specifying a server in which a file is stored, and that processes a remote file stored in an external server;
A second server for storing the remote file,
When the first server refers to the remote file, the first server transmits a request for referring to the remote file to a plurality of servers including the second server,
The second server sends the remote file requested by the reference request to the first server;
The first server is
When the remote file is received from the second server, the second server is used as the storage destination server information, and is registered in the first file information storage unit in association with the received remote file identification information. ,
When referring to the remote file again, the storage server information associated with the identification information of the remote file is identified as the second server by referring to the first file information storage unit. A distributed file system, wherein a reference request including identification information of the remote file is transmitted to the second server.
(付記2)前記第1のサーバは、前記リモートファイルを参照する場合に、前記第1のファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定し、存在すると判定した場合に、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報から特定される前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信し、存在しないと判定した場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とする付記1に記載の分散ファイルシステム。
(Supplementary Note 2) When the first server refers to the remote file, it determines whether or not the remote file identification information exists in the first file information storage unit, and determines that it exists When a reference request including the remote file identification information is transmitted to the second server identified from the storage destination server information associated with the remote file identification information, and it is determined that the remote file does not exist The distributed file system according to
(付記3)前記第2のサーバは、
ファイルが格納されているサーバを示す格納先サーバ情報を記憶する第2のファイル情報記憶部をさらに備え、
前記リモートファイルを生成した場合に、自己を前記格納先サーバ情報とし、当該リモートファイルの識別情報と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第1のサーバは、前記リモートファイルを参照する場合に、当該リモートファイルの識別情報を含めて前記参照要求を送信し、
前記第2のサーバは、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているファイルの識別情報の中に、前記参照要求に含まれる識別情報が存在するか否かを判定し、
前記識別情報が存在すると判定した場合に、当該リモートファイルを前記第1のサーバへ送信する
ことを特徴とする付記1又は2に記載の分散ファイルシステム。
(Appendix 3) The second server is
A second file information storage unit for storing storage destination server information indicating a server in which the file is stored;
When the remote file is generated, the self is set as the storage destination server information, and is registered in the second file information storage unit in association with the identification information of the remote file,
When referring to the remote file, the first server transmits the reference request including identification information of the remote file,
The second server is
When the reference request is received from the first server, the reference request is referred to the second file information storage unit, and the reference request is included in the identification information of the file associated as the storage destination server information. To determine whether the identification information contained in exists,
The distributed file system according to
(付記4)前記第2のサーバは、前記リモートファイルを生成した場合に、生成したリモートファイルのファイル名からハッシュ値を算出し、自己を前記格納先サーバ情報とし、当該ハッシュ値と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第1のサーバは、前記リモートファイルのファイル名からハッシュ値を算出し、当該ハッシュ値を含めて前記参照要求を送信し、
前記第2のサーバは、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているハッシュ値の中に、前記参照要求に含まれるハッシュ値が存在するか否かを判定し、
前記ハッシュ値が存在すると判定した場合に、前記リモートファイルを前記第1のサーバへ送信する
ことを特徴とする付記3に記載の分散ファイルシステム。
(Supplementary Note 4) When the second server generates the remote file, the second server calculates a hash value from the file name of the generated remote file, sets itself as the storage destination server information, and associates the hash value with the hash value. Register to the second file information storage unit,
The first server calculates a hash value from the file name of the remote file, transmits the reference request including the hash value,
The second server is
When the reference request is received from the first server, the second file information storage unit is referred to and is included in the reference request in the hash value associated with the storage destination server information. Determine whether there is a hash value to be
The distributed file system according to
(付記5)前記第1のサーバ及び前記第2のサーバは、前記リモートファイルが格納されているディレクトリ名を含めて前記ハッシュ値を生成することを特徴とする付記4に記載の分散ファイルシステム。 (Supplementary note 5) The distributed file system according to supplementary note 4, wherein the first server and the second server generate the hash value including a directory name in which the remote file is stored.
(付記6)前記第2のサーバは、
前記リモートファイルを更新した場合に、当該リモートファイルの更新日時情報を当該リモートファイルの識別情報に関連付けて前記第2のファイル情報記憶部へさらに登録し、
前記第1のサーバから前記参照要求を受信し、前記識別情報が存在すると判定した場合に、前記第2のファイル情報記憶部から前記参照要求に含まれる識別情報に関連付けられた更新日時情報を取得し、当該取得した更新日時情報を含めて当該リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバは、前記第2のサーバから前記リモートファイルを受信した場合に、前記更新日時情報を当該受信したリモートファイルの識別情報に関連付けて前記第1のファイル情報記憶部へさらに登録することを特徴とする付記3乃至5のいずれか1項に記載の分散ファイルシステム。
(Appendix 6) The second server is
When the remote file is updated, the update date and time information of the remote file is further registered in the second file information storage unit in association with the identification information of the remote file,
When the reference request is received from the first server and it is determined that the identification information exists, the update date / time information associated with the identification information included in the reference request is obtained from the second file information storage unit. And sending the remote file including the acquired update date and time information to the first server,
When the first server receives the remote file from the second server, the first server further registers the update date / time information in the first file information storage unit in association with identification information of the received remote file. 6. The distributed file system according to any one of
(付記7)前記第1のサーバは、前記リモートファイルを参照する場合、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求をブロードキャストにより送信し、
前記第2のサーバは、前記第1のサーバからブロードキャストにより前記参照要求を受信することを特徴とする付記1乃至6のいずれか1項に記載の分散ファイルシステム。
(Supplementary note 7) When the first server refers to the remote file, it transmits a reference request including the identification information of the remote file to a plurality of servers including the second server by broadcast,
The distributed file system according to any one of
(付記8)ファイルの識別情報と、当該ファイルが格納されているサーバを特定する格納先サーバ情報とを関連付けて格納するファイル情報記憶部と、
外部のサーバに格納されたリモートファイルを参照する場合に、前記ファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定する判定部と、
前記判定部により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求部と、
前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理部と、
を備えるリモートファイル処理サーバ。
(Additional remark 8) The file information storage part which associates and stores the identification information of a file, and the storage destination server information which specifies the server where the said file is stored,
A determination unit that determines whether or not the remote file identification information exists in the file information storage unit when referring to a remote file stored in an external server;
When the determination unit determines that the identification information of the remote file exists, the file information storage unit is referred to and the server identified from the storage destination server information associated with the identification information of the remote file A file request unit that transmits a remote file reference request to a plurality of servers when it is determined that the remote file identification information does not exist;
A file processing unit that performs processing based on the received remote file when the remote file is received as a response from the server that has received the reference request;
A remote file processing server comprising:
(付記9)前記判定部は、前記リモートファイルを受信した場合に、前記ファイル情報記憶部に当該受信したリモートファイルの識別情報が存在するか否かを判定し、
前記判定部により、前記受信したリモートファイルの識別情報が存在しないと判定された場合に、当該リモートファイルの送信元のサーバを前記格納サーバ情報とし、当該受信したリモートファイルの識別情報に関連付けて前記ファイル情報記憶部に登録するファイル情報登録部をさらに備えることを特徴とする付記8に記載のリモートファイル処理サーバ。
(Additional remark 9) When the said determination part receives the said remote file, it determines whether the identification information of the said received remote file exists in the said file information storage part,
When the determination unit determines that there is no identification information of the received remote file, the server that is the transmission source of the remote file is set as the storage server information, and is associated with the received identification information of the remote file. 9. The remote file processing server according to appendix 8, further comprising a file information registration unit for registering in the file information storage unit.
(付記10)前記ファイル情報登録部は、前記ファイル処理部がファイルを生成した場合に、自己を前記格納サーバ情報とし、当該生成したファイルの識別情報に関連付けて前記ファイル情報記憶部に登録することを特徴とする付記9に記載のリモートファイル処理サーバ。 (Supplementary Note 10) When the file processing unit generates a file, the file information registration unit sets itself as the storage server information and registers it in the file information storage unit in association with identification information of the generated file. The remote file processing server according to appendix 9, characterized by:
(付記11)前記判定部は、外部のサーバから前記参照要求を受信した場合に、前記ファイル情報記憶部を参照し、自己を前記格納サーバ情報として関連付けられているファイルの識別情報の中に、当該参照要求により要求されるリモートファイルの識別情報が存在するか否かを判定し、
前記判定部により、前記要求されるリモートファイルの識別情報が存在すると判定された場合に、前記要求されるリモートファイルの識別情報に対応するファイルを前記外部のサーバへ送信するファイル送信部をさらに備えることを特徴とする付記8乃至10のいずれか1項に記載のリモートファイル処理サーバ。
(Supplementary Note 11) When the determination unit receives the reference request from an external server, the determination unit refers to the file information storage unit, and identifies itself as the storage server information in the identification information of the file. Determine whether the identification information of the remote file requested by the reference request exists,
And a file transmission unit configured to transmit a file corresponding to the requested remote file identification information to the external server when the determination unit determines that the requested remote file identification information exists. 11. The remote file processing server according to any one of appendices 8 to 10, characterized in that:
(付記12)ファイルのファイル名からハッシュ値を算出するハッシュ値算出部をさらに備え、
前記ファイル情報記憶部は、前記ハッシュ値算出部により算出されたハッシュ値を前記ファイルの識別情報として格納することを特徴とする付記8乃至11のいずれか1項に記載のリモートファイル処理サーバ。
(Additional remark 12) It further has the hash value calculation part which calculates a hash value from the file name of a file,
The remote file processing server according to any one of appendices 8 to 11, wherein the file information storage unit stores the hash value calculated by the hash value calculation unit as identification information of the file.
(付記13)前記ハッシュ値算出部は、前記ファイルが格納されているディレクトリ名を含めて前記ハッシュ値を算出することを特徴とする付記12に記載のリモートファイル処理サーバ。 (Supplementary note 13) The remote file processing server according to supplementary note 12, wherein the hash value calculation unit calculates the hash value including a directory name in which the file is stored.
(付記14)前記ファイル情報記憶部は、前記ファイルの更新日時情報を当該ファイルの識別情報に関連付けて格納することを特徴とする付記8乃至13のいずれか1項に記載のリモートファイル処理サーバ。 (Supplementary note 14) The remote file processing server according to any one of supplementary notes 8 to 13, wherein the file information storage unit stores update date information of the file in association with identification information of the file.
(付記15)前記ファイル要求部は、前記複数のサーバに対して当該リモートファイルの参照要求をブロードキャストにより送信することを特徴とする付記8乃至14のいずれか1項に記載のリモートファイル処理サーバ。 (Supplementary note 15) The remote file processing server according to any one of supplementary notes 8 to 14, wherein the file request unit transmits a reference request for the remote file to the plurality of servers by broadcast.
(付記16)ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、
前記リモートファイルを格納する第2のサーバと、を備え、
前記第1のサーバにおいて、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、
前記第2のサーバにおいて、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバにおいて、
前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、
前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、
特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とするリモートファイル処理方法。
(Supplementary Note 16) A first server that includes a first file information storage unit that stores storage server information that identifies a server in which a file is stored, and that processes a remote file stored in an external server;
A second server for storing the remote file,
In the first server, when referring to the remote file, a request to reference the remote file is transmitted to a plurality of servers including the second server,
In the second server, the remote file requested by the reference request is transmitted to the first server,
In the first server,
When the remote file is received from the second server, the second server is used as the storage destination server information, and is registered in the first file information storage unit in association with the received remote file identification information. ,
When referring to the remote file again, refer to the first file information storage unit, specify that the storage destination server information associated with the identification information of the remote file is the second server,
A remote file processing method, comprising: transmitting a reference request including identification information of the remote file to the identified second server.
(付記17)前記第1のサーバにおいて、
前記リモートファイルを参照する場合に、前記第1のファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定し、
存在すると判定した場合に、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報から特定される前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信し、
存在しないと判定した場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とする付記16に記載のリモートファイル処理方法。
(Supplementary Note 17) In the first server,
When referring to the remote file, it is determined whether the identification information of the remote file exists in the first file information storage unit,
If it is determined that it exists, a reference request including the remote file identification information is transmitted to the second server specified from the storage destination server information associated with the remote file identification information;
18. The remote file processing method according to appendix 16, wherein a reference request including identification information of the remote file is transmitted to a plurality of servers including the second server when it is determined that the file does not exist.
(付記18)前記第2のサーバは、ファイルが格納されているサーバを示す格納先サーバ情報を記憶する第2のファイル情報記憶部をさらに備え、
前記第2のサーバにおいて、前記リモートファイルを生成した場合に、自己を前記格納先サーバ情報とし、当該リモートファイルの識別情報と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第1のサーバにおいて、前記リモートファイルを参照する場合に、当該リモートファイルの識別情報を含めて前記参照要求を送信し、
前記第2のサーバにおいて、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているファイルの識別情報の中に、前記参照要求に含まれる識別情報が存在するか否かを判定し、
前記識別情報が存在すると判定した場合に、当該リモートファイルを前記第1のサーバへ送信する
ことを特徴とする付記16又は17に記載のリモートファイル処理方法。
(Supplementary Note 18) The second server further includes a second file information storage unit that stores storage destination server information indicating a server in which a file is stored,
In the second server, when the remote file is generated, the self is used as the storage destination server information, is registered in the second file information storage unit in association with the identification information of the remote file,
In the first server, when referring to the remote file, the reference request including the identification information of the remote file is transmitted,
In the second server,
When the reference request is received from the first server, the reference request is referred to the second file information storage unit, and the reference request is included in the identification information of the file associated as the storage destination server information. To determine whether the identification information contained in exists,
The remote file processing method according to appendix 16 or 17, wherein when it is determined that the identification information exists, the remote file is transmitted to the first server.
(付記19)前記第2のサーバにおいて、前記リモートファイルを生成した場合に、生成したリモートファイルのファイル名からハッシュ値を算出し、自己を前記格納先サーバ情報とし、当該ハッシュ値と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第1のサーバにおいて、前記リモートファイルのファイル名からハッシュ値を算出し、当該ハッシュ値を含めて前記参照要求を送信し、
前記第2のサーバにおいて、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているハッシュ値の中に、前記参照要求に含まれるハッシュ値が存在するか否かを判定し、
前記ハッシュ値が存在すると判定した場合に、前記リモートファイルを前記第1のサーバへ送信する
ことを特徴とする付記18に記載のリモートファイル処理方法。
(Supplementary note 19) In the second server, when the remote file is generated, a hash value is calculated from the file name of the generated remote file, self is used as the storage destination server information, and the hash value is associated with the hash value. Register to the second file information storage unit,
In the first server, a hash value is calculated from the file name of the remote file, the reference request including the hash value is transmitted,
In the second server,
When the reference request is received from the first server, the second file information storage unit is referred to and is included in the reference request in the hash value associated with the storage destination server information. Determine whether there is a hash value to be
The remote file processing method according to appendix 18, wherein the remote file is transmitted to the first server when it is determined that the hash value exists.
(付記20)前記第1のサーバ及び前記第2のサーバにおいて、前記リモートファイルが格納されているディレクトリ名を含めて前記ハッシュ値を生成することを特徴とする付記19に記載のリモートファイル処理方法。 (Supplementary note 20) The remote file processing method according to supplementary note 19, wherein the hash value is generated including a directory name in which the remote file is stored in the first server and the second server. .
(付記21)前記第2のサーバにおいて、
前記リモートファイルを更新した場合に、当該リモートファイルの更新日時情報を当該リモートファイルの識別情報に関連付けて前記第2のファイル情報記憶部へさらに登録し、
前記第1のサーバから前記参照要求を受信し、前記識別情報が存在すると判定した場合に、前記第2のファイル情報記憶部から前記参照要求に含まれる識別情報に関連付けられた更新日時情報を取得し、当該取得した更新日時情報を含めて当該リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバにおいて、
前記第2のサーバから前記リモートファイルを受信した場合に、前記更新日時情報を当該受信したリモートファイルの識別情報に関連付けて前記第1のファイル情報記憶部へさらに登録することを特徴とする付記18乃至20のいずれか1項に記載のリモートファイル処理方法。
(Supplementary note 21) In the second server,
When the remote file is updated, the update date and time information of the remote file is further registered in the second file information storage unit in association with the identification information of the remote file,
When the reference request is received from the first server and it is determined that the identification information exists, the update date / time information associated with the identification information included in the reference request is obtained from the second file information storage unit. And sending the remote file including the acquired update date and time information to the first server,
In the first server,
Appendix 18 wherein when the remote file is received from the second server, the update date and time information is further registered in the first file information storage unit in association with the received remote file identification information. 21. The remote file processing method according to any one of
(付記22)前記第1のサーバにおいて、前記リモートファイルを参照する場合、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求をブロードキャストにより送信し、
前記第2のサーバにおいて、前記第1のサーバからブロードキャストにより前記参照要求を受信することを特徴とする付記16乃至21のいずれか1項に記載のリモートファイル処理方法。
(Supplementary note 22) When referring to the remote file in the first server, a reference request including identification information of the remote file is transmitted by broadcast to a plurality of servers including the second server,
The remote file processing method according to any one of supplementary notes 16 to 21, wherein the second server receives the reference request from the first server by broadcast.
(付記23)外部のサーバに格納されたリモートファイルを参照する場合に、ファイルの識別情報と、当該ファイルが格納されているサーバを特定する格納先サーバ情報とを関連付けて格納するファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定する判定処理と、
前記判定処理により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求処理と、
前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理と、
を含むリモートファイル処理をコンピュータに実行させるリモートファイル処理プログラム。
(Additional remark 23) When referring to the remote file stored in the external server, the file information storage unit for storing the file identification information and the storage destination server information for specifying the server storing the file in association with each other A determination process for determining whether or not the remote file identification information exists,
When it is determined by the determination process that the identification information of the remote file exists, the file information storage unit is referred to and the server specified from the storage destination server information associated with the identification information of the remote file A file request process for transmitting a remote file reference request to a plurality of servers when it is determined that the remote file identification information does not exist;
When the remote file is received as a response from the server that has received the reference request, file processing that performs processing based on the received remote file;
A remote file processing program for causing a computer to execute remote file processing including
(付記24)前記判定処理は、前記リモートファイルを受信した場合に、前記ファイル情報記憶部に当該受信したリモートファイルの識別情報が存在するか否かを判定し、
前記判定処理により、前記受信したリモートファイルの識別情報が存在しないと判定された場合に、当該リモートファイルの送信元のサーバを前記格納サーバ情報とし、当該受信したリモートファイルの識別情報に関連付けて前記ファイル情報記憶部に登録するファイル情報登録処理を前記コンピュータにさらに実行させることを特徴とする付記23に記載のリモートファイル処理プログラム。
(Additional remark 24) When the said determination process receives the said remote file, it determines whether the identification information of the said received remote file exists in the said file information storage part,
If it is determined by the determination processing that the received remote file identification information does not exist, the server of the remote file transmission source is the storage server information, and the remote file identification information is associated with the received remote file identification information. 24. The remote file processing program according to appendix 23, further causing the computer to execute file information registration processing registered in a file information storage unit.
(付記25)前記ファイル情報登録処理は、前記ファイル処理がファイルを生成した場合に、自己を前記格納サーバ情報とし、当該生成したファイルの識別情報に関連付けて前記ファイル情報記憶部に登録することを特徴とする付記24に記載のリモートファイル処理プログラム。 (Supplementary Note 25) When the file processing generates a file, the file information registration processing uses the storage server information as the storage server information and registers it in the file information storage unit in association with identification information of the generated file. 25. The remote file processing program according to supplementary note 24.
(付記26)前記判定処理は、外部のサーバから前記参照要求を受信した場合に、前記ファイル情報記憶部を参照し、自己を前記格納サーバ情報として関連付けられているファイルの識別情報の中に、当該参照要求により要求されるリモートファイルの識別情報が存在するか否かを判定し、
前記判定処理により、前記要求されるリモートファイルの識別情報が存在すると判定された場合に、前記要求されるリモートファイルの識別情報に対応するファイルを前記外部のサーバへ送信するファイル送信処理を前記コンピュータにさらに実行させることを特徴とする付記23乃至25のいずれか1項に記載のリモートファイル処理プログラム。
(Supplementary Note 26) When the determination process receives the reference request from an external server, the file processing unit refers to the file information storage unit, and identifies itself as the storage server information in the file identification information. Determine whether the identification information of the remote file requested by the reference request exists,
If the determination process determines that the requested remote file identification information exists, the computer performs a file transmission process for transmitting a file corresponding to the requested remote file identification information to the external server. 26. The remote file processing program according to any one of appendices 23 to 25, which is further executed.
(付記27)ファイルのファイル名からハッシュ値を算出するハッシュ値算出処理を前記コンピュータにさらに実行させ、
前記ファイル要求処理は、前記リモートファイルのファイル名から前記ハッシュ値算出処理により算出されたハッシュ値を前記リモートファイルの識別情報として含めて前記参照要求を送信し、
前記ファイル情報記憶部には、前記ハッシュ値算出部により算出されたハッシュ値を前記ファイルの識別情報として格納されることを特徴とする付記23乃至26のいずれか1項に記載のリモートファイル処理プログラム。
(Additional remark 27) Let the said computer further perform the hash value calculation process which calculates a hash value from the file name of a file,
The file request process includes the hash value calculated by the hash value calculation process from the file name of the remote file as the identification information of the remote file, and transmits the reference request.
The remote file processing program according to any one of appendices 23 to 26, wherein the file information storage unit stores the hash value calculated by the hash value calculation unit as identification information of the file. .
(付記28)前記ハッシュ値算出処理は、前記ファイルが格納されているディレクトリ名を含めて前記ハッシュ値を算出することを特徴とする付記27に記載のリモートファイル処理プログラム。 (Supplementary note 28) The remote file processing program according to supplementary note 27, wherein the hash value calculation processing calculates the hash value including a directory name in which the file is stored.
(付記29)前記ファイル情報記憶部には、前記ファイルの更新日時情報を当該ファイルの識別情報に関連付けて格納されることを特徴とする付記23乃至28のいずれか1項に記載のリモートファイル処理プログラム。 (Supplementary note 29) The remote file processing according to any one of supplementary notes 23 to 28, wherein the file information storage unit stores update date and time information of the file in association with identification information of the file. program.
(付記30)前記ファイル要求処理は、前記複数のサーバに対して当該リモートファイルの参照要求をブロードキャストにより送信することを特徴とする付記23乃至29のいずれか1項に記載のリモートファイル処理プログラム。 (Supplementary note 30) The remote file processing program according to any one of supplementary notes 23 to 29, wherein in the file request processing, a remote file reference request is transmitted by broadcast to the plurality of servers.
100 分散ファイルシステム
1 ネットワーク
2 サーバ
21 制御部
22 ファイル情報記憶部
221 ファイル識別情報
222 格納先サーバ情報
3 サーバ
31 HDD
311 リモートファイル
4a、・・・4n サーバ
200 ネットワークファイルシステム
2a サーバ
201 CPU
202 RAM
203 ROM
204 通信部
210 アプリケーション
220 監視デーモン
230 HDD
231 生成ファイル
232 OS
233 アプリケーションプログラム
234 監視デーモンプログラム
240 ファイル情報記憶部
241 ファイルパス名
242 ハッシュ値
243 格納先サーバ情報
244 更新日時情報
251 ハッシュ算出部
252 判定部
253 ファイル要求部
254 ファイル処理部
255 ファイル情報登録部
256 ファイル送信部
3a サーバ
310 アプリケーション
320 監視デーモン
330 HDD
331 生成ファイル
340 ファイル情報記憶部
341 ファイルパス名
342 ハッシュ値
343 格納先サーバ情報
344 更新日時情報
5a、・・・5n サーバ
900 ネットワークファイルシステム
91 NAS
910 HDD
911 リモートファイル
92 サーバ
920 アプリケーション
93 サーバ
930 アプリケーション
94a、・・・94n サーバ
DESCRIPTION OF
202 RAM
203 ROM
231 Generated
233
331 Generated
910 HDD
911
Claims (10)
前記リモートファイルを格納する第2のサーバと、を備え、
前記第1のサーバは、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、
前記第2のサーバは、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバは、
前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、
前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とする分散ファイルシステム。 A first server that includes a first file information storage unit that stores storage destination server information that identifies a server in which a file is stored, and that processes a remote file stored in an external server;
A second server for storing the remote file,
When the first server refers to the remote file, the first server transmits a request for referring to the remote file to a plurality of servers including the second server,
The second server sends the remote file requested by the reference request to the first server;
The first server is
When the remote file is received from the second server, the second server is used as the storage destination server information, and is registered in the first file information storage unit in association with the received remote file identification information. ,
When referring to the remote file again, the storage server information associated with the identification information of the remote file is identified as the second server by referring to the first file information storage unit. A distributed file system, wherein a reference request including identification information of the remote file is transmitted to the second server.
ファイルが格納されているサーバを示す格納先サーバ情報を記憶する第2のファイル情報記憶部をさらに備え、
前記リモートファイルを生成した場合に、自己を前記格納先サーバ情報とし、当該リモートファイルの識別情報と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第1のサーバは、前記リモートファイルを参照する場合に、当該リモートファイルの識別情報を含めて前記参照要求を送信し、
前記第2のサーバは、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているファイルの識別情報の中に、前記参照要求に含まれる識別情報が存在するか否かを判定し、
前記識別情報が存在すると判定した場合に、当該リモートファイルを前記第1のサーバへ送信する
ことを特徴とする請求項1又は2に記載の分散ファイルシステム。 The second server is
A second file information storage unit for storing storage destination server information indicating a server in which the file is stored;
When the remote file is generated, the self is set as the storage destination server information, and is registered in the second file information storage unit in association with the identification information of the remote file,
When referring to the remote file, the first server transmits the reference request including identification information of the remote file,
The second server is
When the reference request is received from the first server, the reference request is referred to the second file information storage unit, and the reference request is included in the identification information of the file associated as the storage destination server information. To determine whether the identification information contained in exists,
3. The distributed file system according to claim 1, wherein when it is determined that the identification information exists, the remote file is transmitted to the first server. 4.
前記第1のサーバは、前記リモートファイルのファイル名からハッシュ値を算出し、当該ハッシュ値を含めて前記参照要求を送信し、
前記第2のサーバは、
前記第1のサーバから前記参照要求を受信した場合に、前記第2のファイル情報記憶部を参照し、自己を前記格納先サーバ情報として関連付けられているハッシュ値の中に、前記参照要求に含まれるハッシュ値が存在するか否かを判定し、
前記ハッシュ値が存在すると判定した場合に、前記リモートファイルを前記第1のサーバへ送信する
ことを特徴とする請求項3に記載の分散ファイルシステム。 When the second server generates the remote file, the second server calculates a hash value from the file name of the generated remote file, sets self as the storage destination server information, and associates the hash value with the second file. Register to the information storage unit,
The first server calculates a hash value from the file name of the remote file, transmits the reference request including the hash value,
The second server is
When the reference request is received from the first server, the second file information storage unit is referred to and is included in the reference request in the hash value associated with the storage destination server information. Determine whether there is a hash value to be
4. The distributed file system according to claim 3, wherein when it is determined that the hash value exists, the remote file is transmitted to the first server.
前記リモートファイルを更新した場合に、当該リモートファイルの更新日時情報を当該リモートファイルの識別情報に関連付けて前記第2のファイル情報記憶部へさらに登録し、
前記第1のサーバから前記参照要求を受信し、前記識別情報が存在すると判定した場合に、前記第2のファイル情報記憶部から前記参照要求に含まれる識別情報に関連付けられた更新日時情報を取得し、当該取得した更新日時情報を含めて当該リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバは、前記第2のサーバから前記リモートファイルを受信した場合に、前記更新日時情報を当該受信したリモートファイルの識別情報に関連付けて前記第1のファイル情報記憶部へさらに登録することを特徴とする請求項3乃至5のいずれか1項に記載の分散ファイルシステム。 The second server is
When the remote file is updated, the update date and time information of the remote file is further registered in the second file information storage unit in association with the identification information of the remote file,
When the reference request is received from the first server and it is determined that the identification information exists, the update date / time information associated with the identification information included in the reference request is obtained from the second file information storage unit. And sending the remote file including the acquired update date and time information to the first server,
When the first server receives the remote file from the second server, the first server further registers the update date / time information in the first file information storage unit in association with identification information of the received remote file. The distributed file system according to any one of claims 3 to 5, wherein the file system is a distributed file system.
前記第2のサーバは、前記第1のサーバからブロードキャストにより前記参照要求を受信することを特徴とする請求項1乃至6のいずれか1項に記載の分散ファイルシステム。 When the first server refers to the remote file, it transmits a reference request by broadcast to a plurality of servers including the second server, including identification information of the remote file,
The distributed file system according to claim 1, wherein the second server receives the reference request from the first server by broadcast.
外部のサーバに格納されたリモートファイルを参照する場合に、前記ファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定する判定部と、
前記判定部により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求部と、
前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理部と、
を備えるリモートファイル処理サーバ。 A file information storage unit that stores the identification information of a file in association with storage destination server information that identifies a server in which the file is stored;
A determination unit that determines whether or not the remote file identification information exists in the file information storage unit when referring to a remote file stored in an external server;
When the determination unit determines that the identification information of the remote file exists, the file information storage unit is referred to and the server identified from the storage destination server information associated with the identification information of the remote file A file request unit that transmits a remote file reference request to a plurality of servers when it is determined that the remote file identification information does not exist;
A file processing unit that performs processing based on the received remote file when the remote file is received as a response from the server that has received the reference request;
A remote file processing server comprising:
前記リモートファイルを格納する第2のサーバと、を備え、
前記第1のサーバにおいて、前記リモートファイルを参照する場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの参照要求を送信し、
前記第2のサーバにおいて、前記参照要求により要求された前記リモートファイルを前記第1のサーバへ送信し、
前記第1のサーバにおいて、
前記第2のサーバから前記リモートファイルを受信した場合に、前記第2のサーバを前記格納先サーバ情報とし、当該受信したリモートファイルの識別情報と関連付けて前記第1のファイル情報記憶部へ登録し、
前記リモートファイルを再度参照する場合に、前記第1のファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報が前記第2のサーバであることを特定し、
特定された前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とするリモートファイル処理方法。 A first server that includes a first file information storage unit that stores storage destination server information that identifies a server in which a file is stored, and that processes a remote file stored in an external server;
A second server for storing the remote file,
In the first server, when referring to the remote file, a request to reference the remote file is transmitted to a plurality of servers including the second server,
In the second server, the remote file requested by the reference request is transmitted to the first server,
In the first server,
When the remote file is received from the second server, the second server is used as the storage destination server information, and is registered in the first file information storage unit in association with the received remote file identification information. ,
When referring to the remote file again, refer to the first file information storage unit, specify that the storage destination server information associated with the identification information of the remote file is the second server,
A remote file processing method, comprising: transmitting a reference request including identification information of the remote file to the identified second server.
前記判定処理により、前記リモートファイルの識別情報が存在すると判定された場合に、前記ファイル情報記憶部を参照し、当該リモートファイルの識別情報に関連付けられた前記格納先サーバ情報から特定されるサーバに対して当該リモートファイルの参照要求を送信し、前記リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信するファイル要求処理と、
前記参照要求を受信したサーバからの応答として前記リモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行うファイル処理と、
を含むリモートファイル処理をコンピュータに実行させるリモートファイル処理プログラム。 When referring to a remote file stored in an external server, the remote file is stored in a file information storage unit that stores the file identification information in association with storage destination server information that identifies the server in which the file is stored. Determination processing for determining whether or not the identification information exists;
When it is determined by the determination process that the identification information of the remote file exists, the file information storage unit is referred to and the server specified from the storage destination server information associated with the identification information of the remote file A file request process for transmitting a remote file reference request to a plurality of servers when it is determined that the remote file identification information does not exist;
When the remote file is received as a response from the server that has received the reference request, file processing that performs processing based on the received remote file;
A remote file processing program for causing a computer to execute remote file processing including
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049308A JP2011186616A (en) | 2010-03-05 | 2010-03-05 | Distributed file system, and server, method, and program for remote file processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049308A JP2011186616A (en) | 2010-03-05 | 2010-03-05 | Distributed file system, and server, method, and program for remote file processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011186616A true JP2011186616A (en) | 2011-09-22 |
Family
ID=44792826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010049308A Pending JP2011186616A (en) | 2010-03-05 | 2010-03-05 | Distributed file system, and server, method, and program for remote file processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011186616A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016031043A1 (en) * | 2014-08-29 | 2016-03-03 | 三菱電機株式会社 | Process distributing device, process distributing program, and data processing system |
JP2017162506A (en) * | 2011-12-09 | 2017-09-14 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Access to supplemental data based on identifier derived from corresponding primary application data |
-
2010
- 2010-03-05 JP JP2010049308A patent/JP2011186616A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017162506A (en) * | 2011-12-09 | 2017-09-14 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Access to supplemental data based on identifier derived from corresponding primary application data |
WO2016031043A1 (en) * | 2014-08-29 | 2016-03-03 | 三菱電機株式会社 | Process distributing device, process distributing program, and data processing system |
CN106575267A (en) * | 2014-08-29 | 2017-04-19 | 三菱电机株式会社 | Process distributing device, process distributing program, and data processing system |
JPWO2016031043A1 (en) * | 2014-08-29 | 2017-04-27 | 三菱電機株式会社 | Processing distribution device, processing distribution program, and data processing system |
CN106575267B (en) * | 2014-08-29 | 2018-04-06 | 三菱电机株式会社 | Handle distributor and data handling system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106982236B (en) | Information processing method, device and system | |
JP2016053951A (en) | System and method for maintaining distributed and fault-tolerant state over information centric network | |
JP4714778B2 (en) | Archive device, conversion device, and conversion program | |
US9031906B2 (en) | Method of managing data in asymmetric cluster file system | |
CN108616599B (en) | Method and device for registering and updating application service | |
US20100235509A1 (en) | Method, Equipment and System for Resource Acquisition | |
CN111475483B (en) | Database migration method and device and computing equipment | |
US10911560B2 (en) | Partitioned serialized caching and delivery of large files | |
KR102098415B1 (en) | Cache management | |
JPWO2011071104A1 (en) | Distributed file system, data selection method thereof, and program | |
JP2015507787A (en) | Autonomous network streaming | |
KR102030517B1 (en) | Cache and non-cache usage in a distributed storage system | |
US11341009B1 (en) | Directing placement of data in cloud storage nodes | |
CN103369002A (en) | A resource downloading method and system | |
US20160323379A1 (en) | Distributed storage of software images in computing systems | |
CN108989072B (en) | Method and device for deploying, managing and calling assembly | |
JP2011186616A (en) | Distributed file system, and server, method, and program for remote file processing | |
JP5544521B2 (en) | State management method, processing device, and state management program | |
JP2009289161A (en) | Clustered storage system, node device thereof, and method and program for controlling data read/write | |
CN112698783A (en) | Object storage method, device and system | |
JP2018504689A5 (en) | ||
CN104346101A (en) | Dynamic storage space allocation system and method | |
JP6728744B2 (en) | Data providing system, data providing method, data providing device, update target device, and computer program | |
JP6284395B2 (en) | Data storage control device, data storage control method, and program | |
US20210144217A1 (en) | Service communication proxy apparatus and method |