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 PDF

Info

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
Application number
JP2010049308A
Other languages
Japanese (ja)
Inventor
Arihiro Kanda
有洋 神田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010049308A priority Critical patent/JP2011186616A/en
Publication of JP2011186616A publication Critical patent/JP2011186616A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a network load accompanied by file access via a network. <P>SOLUTION: When referring to a remote file, a first server transmits a reference request of the remote file to a plurality of servers including a second server. The second server transmits the remote file requested by the reference request to the first server. On receiving the remote file from the second server, the first server registers the second server into a first file information storage as storage target server information by relating to the identification information of the received remote file. When referring to the remote file again, the first server refers to the first file information storage, specifies that the storage destination server information related to the remote file identification information to is for the second server, and transmits a reference request including the remote file identification information to the specified second server. <P>COPYRIGHT: (C)2011,JPO&INPIT

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 network file system 900 which is an example of a computer system using NAS. The network file system 900 includes a NAS 91, a server 92, a server 93, and servers 94a,... 94n, which are connected via the network 1.

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 network 1 to allow another server to use an HDD (Hard Disk Drive) 910. Here, it is assumed that the HDD 910 stores a remote file 911 which is an arbitrary file. The servers 92, 93, 94a,... 94n are general-purpose computer systems, which are so-called server devices. As for the server 92, the server 93, the server 94a,... 94n, an arbitrary OS (Operating System) (not shown) operates. In particular, in the server 92, the application 920 operates. Further, the server 93 runs an application 930. For example, the application 920 performs processing for generating an arbitrary file, and stores the generated file as a remote file 911 in the HDD 910 via the network 1. Then, the application 930 acquires the remote file 911 from the HDD 910 via the network 1 and performs a predetermined process using the acquired remote file 911. Thereby, the file can be shared by the NAS 91 between the server 92 and the server 93. Similarly, files can be shared with the servers 92 and 93 by the NAS 91 for the servers 94a,.

特許文献1には、1つまたは複数のネットワークコンピュータを含むコンピュータネットワーク内のコンピュータシステムにおいて、ファイルをキャッシュして共有する方法に関する技術が開示されている。特許文献1にかかる方法は、1つまたは複数のネットワークコンピュータの中から選択された候補ピアサーバのリストを含むピアリストであって、予め定められた数以上の候補ピアサーバを含まないピアリストを構築する動作と、ファイルまたはファイルの一部分に関して、ピアリスト中の候補ピアサーバにクエリを行う動作と、ピアリスト中のピアサーバから、ピアサーバがダウンロードのために利用可能なファイルまたはファイルの一部分を有しているというメッセージを受信する動作と、ピアサーバから、ファイルまたはファイルの一部分をダウンロードする動作と、を備える。   Patent Document 1 discloses a technique related to a method of caching and sharing a file in a computer system in a computer network including one or a plurality of network computers. The method according to Patent Literature 1 is a peer list including a list of candidate peer servers selected from one or a plurality of network computers, and constructing a peer list that does not include a predetermined number of candidate peer servers or more. Querying candidate peer servers in the peer list for operations, files or portions of files, and from peer servers in the peer list that the peer server has a file or portion of a file available for download An operation of receiving a message and an operation of downloading a file or a part of a file from a peer server.

特表2009−506455号公報Special table 2009-506455 gazette

上述した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 NAS 91 is required each time, and the amount of data flowing on the network 1 increases, so the load on the network 1 increases. There is a problem.

また、特許文献1においても、参照するファイルが更新される可能性がある場合には、都度、ピアリスト中の候補ピアサーバにクエリを行う必要があり、やはりネットワークの負荷が高くなるという問題がある。   Also, in Patent Document 1, when there is a possibility that a file to be referred to is updated, it is necessary to query a candidate peer server in the peer list every time, and there is a problem that the load on the network also increases. .

本発明は、このような問題点を解決するためになされたものであり、ネットワークを介したファイルアクセスに伴うネットワークの負荷を軽減するための分散ファイルシステム並びにリモートファイル処理サーバ、方法及びプログラムを提供することを目的とする。   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.

本発明の実施の形態1にかかる分散ファイルシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the distributed file system concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるリモートファイル取得処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the remote file acquisition process concerning Embodiment 1 of this invention. 本発明の実施の形態2にかかるネットワークファイルシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the network file system concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるファイル情報の例を示す図である。It is a figure which shows the example of the file information concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるサーバの構成を示すブロック図である。It is a block diagram which shows the structure of the server concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるサーバのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the server concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるファイル情報登録処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of the file information registration process concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるファイル要求処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of the file request | requirement process concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるファイル送信処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of the file transmission process concerning Embodiment 2 of this invention. 課題の発生を説明するための図である。It is a figure for demonstrating generation | occurrence | production of a subject.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。   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を介して接続されている。
<Embodiment 1 of the Invention>
FIG. 1 is a block diagram showing a configuration of a distributed file system 100 according to the first exemplary embodiment of the present invention. The distributed file system 100 includes a server 2, a server 3, and servers 4 a,... 4 n, which are connected via the network 1.

サーバ2は、汎用的なコンピュータシステムであり、外部のサーバに格納されたリモートファイルを処理する制御部21と、ファイル情報記憶部22とを少なくとも備える。ファイル情報記憶部22は、ファイル識別情報221と、格納先サーバ情報222とを格納する記憶装置である。ファイル情報記憶部22は、例えば、HDD、フラッシュメモリ等の不揮発性の記憶装置であることが望ましい。ファイル識別情報221は、ファイルを識別するための情報である。ファイル識別情報221は、例えば、ファイル名、ファイルIDといったものである。格納先サーバ情報222は、ファイルが格納されているサーバを特定するための情報である。また、格納先サーバ情報222は、ファイルの格納先のサーバの宛先を示す情報である。格納先サーバ情報222は、例えば、ホスト名、IP(Internet Protocol)アドレス等であるとよい。また、格納先サーバ情報222は、サーバ2自身を示す場合には、ローカルホストを示す情報であってもよい。格納先サーバ情報222は、少なくとも分散ファイルシステム100内において、ネットワーク1に接続されたサーバを一意に特定するための情報であればよい。   The server 2 is a general-purpose computer system and includes at least a control unit 21 that processes a remote file stored in an external server and a file information storage unit 22. The file information storage unit 22 is a storage device that stores file identification information 221 and storage destination server information 222. The file information storage unit 22 is preferably a non-volatile storage device such as an HDD or a flash memory. The file identification information 221 is information for identifying a file. The file identification information 221 is, for example, a file name or a file ID. The storage destination server information 222 is information for specifying the server in which the file is stored. The storage destination server information 222 is information indicating the destination of the server where the file is stored. The storage destination server information 222 may be, for example, a host name, an IP (Internet Protocol) address, or the like. The storage destination server information 222 may be information indicating the local host when indicating the server 2 itself. The storage destination server information 222 may be information for uniquely identifying a server connected to the network 1 at least in the distributed file system 100.

サーバ3は、汎用的なコンピュータシステムであり、少なくともHDD31を備える。HDD31は、リモートファイル311を格納する記憶装置である。リモートファイル311は、任意のファイルであり、例えば、サーバ3内で生成されたファイルである。尚、HDD31は、サーバ3が備える記憶装置の一例である。また、サーバ3は、外部のサーバからのリモートファイル311の参照要求に応じて、HDD31からリモートファイル311を取得し、要求元へ返信する制御部(不図示)を備えるものとする。   The server 3 is a general-purpose computer system and includes at least an HDD 31. The HDD 31 is a storage device that stores the remote file 311. The remote file 311 is an arbitrary file, for example, a file generated in the server 3. The HDD 31 is an example of a storage device provided in the server 3. The server 3 includes a control unit (not shown) that acquires the remote file 311 from the HDD 31 and returns it to the request source in response to a reference request for the remote file 311 from an external server.

サーバ4a、・・・4nは、サーバ2又はサーバ3と同等のコンピュータシステムである。また、ネットワーク1は、イントラネット、LAN等の通信ネットワークである。   The servers 4a,..., 4n are computer systems equivalent to the server 2 or the server 3. The network 1 is a communication network such as an intranet or a LAN.

続いて、分散ファイルシステム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 file system 100 will be described. First, when referring to the remote file 311, the server 2 transmits a reference request for the remote file 311 to a plurality of servers including the server 3. Next, the server 3 transmits the remote file 311 requested by the reference request to the server 2. When the server 2 receives the remote file 311 from the server 3, the server 2 sets the server 3 as storage destination server information 222 and registers it in the file information storage unit 22 in association with the file identification information 221 of the received remote file 311. Thereafter, when referring to the remote file 311 again, the server 2 refers to the file information storage unit 22 and specifies that the storage destination server information 222 associated with the file identification information 221 of the remote file 311 is the server 3. Then, a reference request including the file identification information 221 of the remote file 311 is transmitted to the specified server 3.

図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 control unit 21 of the server 2 refers to the remote file 311 (S11). Then, the control unit 21 transmits a reference request for the remote file 311 to a plurality of servers connected to the network 1. That is, the control unit 21 transmits a reference request (S12, S12a,... S12n) of the remote file 311 to the servers 3, 4a,.

次に、サーバ3は、ステップS12の参照要求を受信し、当該参照要求により要求されたリモートファイル311がHDD31に格納されていることを確認する。そして、サーバ3は、HDD31からリモートファイル311を取得し、要求元であるサーバ2に対してリモートファイル311を返信する(S13)。このとき、サーバ4a、・・・4nのそれぞれは、ステップS12a、・・・S12nにより受信した参照要求により要求されたリモートファイル311を格納していないため、その旨を返信するか又は返信しなくてもよい。   Next, the server 3 receives the reference request in step S <b> 12 and confirms that the remote file 311 requested by the reference request is stored in the HDD 31. Then, the server 3 acquires the remote file 311 from the HDD 31, and returns the remote file 311 to the server 2 that is the request source (S13). At this time, each of the servers 4a,..., 4n does not store the remote file 311 requested by the reference request received in steps S12a,. May be.

そして、制御部21は、サーバ3からリモートファイル311を受信する。これにより、制御部21は、リモートファイル311について処理を行うことができる。このとき、制御部21は、サーバ3を格納先サーバ情報222とし、リモートファイル311とファイル識別情報221と関連付けてファイル情報記憶部22に登録する(S14)。   Then, the control unit 21 receives the remote file 311 from the server 3. As a result, the control unit 21 can perform processing on the remote file 311. At this time, the control unit 21 sets the server 3 as the storage destination server information 222 and registers it in the file information storage unit 22 in association with the remote file 311 and the file identification information 221 (S14).

その後、サーバ2の制御部21において、リモートファイル311の参照が発生する(S15)。そして、制御部21は、ファイル情報記憶部22に対して、リモートファイル311のファイル識別情報221に関連付けられた格納先サーバ情報222を参照する(S16)。制御部21は、ファイル情報記憶部22から格納先サーバ情報222の応答を受け付ける(S17)。このとき、制御部21は、受け付けた格納先サーバ情報222により格納先のサーバがサーバ3であることを特定する。そして、制御部21は、特定されたサーバ3に対してリモートファイル311のファイル識別情報221を含めて参照要求を送信する(S18)。   Thereafter, the remote unit 311 is referred to in the control unit 21 of the server 2 (S15). Then, the control unit 21 refers to the storage destination server information 222 associated with the file identification information 221 of the remote file 311 with respect to the file information storage unit 22 (S16). The control unit 21 receives a response of the storage destination server information 222 from the file information storage unit 22 (S17). At this time, the control unit 21 specifies that the storage destination server is the server 3 based on the received storage destination server information 222. Then, the control unit 21 transmits a reference request including the file identification information 221 of the remote file 311 to the specified server 3 (S18).

このように、本発明の実施の形態1では、サーバ2は、自己が格納していないファイルであるリモートファイルを参照する場合、当初は、当該リモートファイルがどこに格納されているか不明であるため、ネットワーク1に接続された複数のサーバに対して参照要求を送信する。これにより、分散ファイルシステム100内にリモートファイルが存在する場合に、確実に要求するリモートファイルを取得することができる。そして、サーバ2は、受信したリモートファイルを処理する際に、併せて、当該リモートファイルの識別情報と格納先サーバ情報とを関連付けてファイル情報記憶部22に登録する。これにより、再度、同一のリモートファイルを参照する際に、サーバ2は、ファイル情報記憶部22を参照して格納先のサーバがサーバ3であることを特定することにより、参照要求の送信先を1箇所とすることができる。そのため、同一のリモートファイルに複数回のファイルアクセスが発生する場合であっても、2回目以降は、格納先のサーバと直接の通信とすることができる。そのため、NASのように、各ファイルを集中管理する場合に比べて、ネットワークを介したファイルアクセスに伴うネットワークの負荷を軽減することができる。   As described above, in Embodiment 1 of the present invention, when the server 2 refers to a remote file that is not stored by itself, it is initially unknown where the remote file is stored. A reference request is transmitted to a plurality of servers connected to the network 1. As a result, when a remote file exists in the distributed file system 100, it is possible to reliably acquire the requested remote file. Then, when processing the received remote file, the server 2 also registers the remote file identification information and the storage destination server information in association with each other in the file information storage unit 22. As a result, when referring to the same remote file again, the server 2 refers to the file information storage unit 22 and specifies that the storage destination server is the server 3, thereby determining the destination of the reference request. One place can be provided. Therefore, even when multiple file accesses occur to the same remote file, direct communication with the storage destination server can be made after the second time. Therefore, compared to the case where each file is centrally managed as in the case of NAS, it is possible to reduce the load on the network associated with file access via the network.

<発明の実施の形態2>
発明の実施の形態2にかかるネットワークファイルシステム200は、発明の実施の形態1にかかる分散ファイルシステム100の実施例の一つである。図3は、本発明の実施の形態2にかかるネットワークファイルシステム200の構成を示すブロック図である。ネットワークファイルシステム200は、サーバ2aと、サーバ3aと、サーバ5a、・・・5nとを備え、それぞれネットワーク1を介して接続されている。
<Embodiment 2 of the Invention>
The network file system 200 according to the second embodiment of the invention is one example of the distributed file system 100 according to the first embodiment of the invention. FIG. 3 is a block diagram showing the configuration of the network file system 200 according to the second embodiment of the present invention. The network file system 200 includes a server 2a, a server 3a, and servers 5a,... 5n, which are connected via the network 1, respectively.

サーバ2aは、汎用的なコンピュータシステムであり、アプリケーション210と、監視デーモン220と、HDD230と、ファイル情報記憶部240とを備える。アプリケーション210は、任意のファイルを生成し、参照し、更新するソフトウェアである。HDD230は、アプリケーション210により生成された生成ファイル231を格納する記憶装置である。尚、HDD230は、サーバ2aが備える記憶装置の一例である。   The server 2a is a general-purpose computer system, and includes an application 210, a monitoring daemon 220, an HDD 230, and a file information storage unit 240. The application 210 is software that generates, references, and updates an arbitrary file. The HDD 230 is a storage device that stores the generated file 231 generated by the application 210. The HDD 230 is an example of a storage device provided in the server 2a.

ファイル情報記憶部240は、ファイルパス名241と、ハッシュ値242と、格納先サーバ情報243と、更新日時情報244とを関連付けて格納する記憶装置である。ファイル情報記憶部240は、言い換えると、ファイルの所在に関する情報をキャッシュ情報として管理するデータベースである。ファイル情報記憶部240は、例えば、HDD、フラッシュメモリ等の不揮発性の記憶装置であることが望ましい。ファイルパス名241は、ファイル名及びファイルの格納先のディレクトリパスを示す情報である。つまり、ファイルパス名241は、所定のファイルシステム内で一意に定まる情報である。ハッシュ値242は、ファイルパス名241から所定のハッシュ関数により算出されたハッシュ値である。格納先サーバ情報243は、上述した格納先サーバ情報222と同等の情報である。更新日時情報244は、関連付けられたファイルが少なくとも最後に更新された年月日及び時刻を示す情報である。尚、更新日時情報244は、最後以外の更新日時、例えば、作成日時等を含めても構わない。図4は、本発明の実施の形態2にかかるファイル情報記憶部240に格納されるデータの例を示す図である。   The file information storage unit 240 is a storage device that stores the file path name 241, the hash value 242, the storage destination server information 243, and the update date / time information 244 in association with each other. In other words, the file information storage unit 240 is a database that manages information about the location of a file as cache information. The file information storage unit 240 is preferably a nonvolatile storage device such as an HDD or a flash memory. The file path name 241 is information indicating the file name and the directory path where the file is stored. That is, the file path name 241 is information uniquely determined within a predetermined file system. The hash value 242 is a hash value calculated from the file path name 241 by a predetermined hash function. The storage destination server information 243 is information equivalent to the storage destination server information 222 described above. The update date / time information 244 is information indicating the date and time when the associated file was last updated at least. The update date / time information 244 may include an update date / time other than the last, for example, a creation date / time. FIG. 4 is a diagram illustrating an example of data stored in the file information storage unit 240 according to the second embodiment of the present invention.

監視デーモン220は、HDD230を監視し、アプリケーション210からHDD230へのファイルアクセスが発生し、当該ファイルアクセスが外部のサーバに格納されたファイルを要求している場合に、外部のサーバに対してファイルの参照要求を行うソフトウェアである。また、監視デーモン220は、参照要求により取得されたファイルの所在に関する情報をファイル情報記憶部240により管理する。   The monitoring daemon 220 monitors the HDD 230, and when the file access from the application 210 to the HDD 230 occurs and the file access requests a file stored in the external server, It is software that makes reference requests. In addition, the monitoring daemon 220 manages information on the location of the file acquired by the reference request by the file information storage unit 240.

サーバ3aは、サーバ2aと同等のコンピュータシステムであり、アプリケーション310、監視デーモン320、HDD330及びファイル情報記憶部340並びに生成ファイル331、ファイルパス名341、ハッシュ値342、格納先サーバ情報343及び更新日時情報344は、それぞれ、サーバ2aにおける各構成要素と対応する同等の構成要素である。そのため、詳細な説明を省略する。   The server 3a is a computer system equivalent to the server 2a, and includes an application 310, a monitoring daemon 320, an HDD 330, a file information storage unit 340, a generated file 331, a file path name 341, a hash value 342, storage destination server information 343, and an update date and time. The information 344 is an equivalent component corresponding to each component in the server 2a. Therefore, detailed description is omitted.

サーバ5a、・・・5nは、サーバ2a及び3aと同等のコンピュータシステムである。また、ネットワーク1は、イントラネット、LAN等の通信ネットワークである。   The servers 5a,..., 5n are computer systems equivalent to the servers 2a and 3a. The network 1 is a communication network such as an intranet or a LAN.

続いて、ネットワークファイルシステム200におけるリモートファイル取得処理の概要を説明する。尚、ネットワークファイルシステム200において、分散ファイルシステム100と同等の処理については、説明を省略する。   Next, an overview of remote file acquisition processing in the network file system 200 will be described. Note that in the network file system 200, description of processing equivalent to that of the distributed file system 100 is omitted.

サーバ2aのアプリケーション210がサーバ3aにおいて格納される生成ファイル331、すなわちリモートファイルを参照する場合に、監視デーモン220は、ファイル情報記憶部240に当該リモートファイルの識別情報が存在するか否かを判定する。存在すると判定した場合に、監視デーモン220は、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報243から特定されるサーバ3aに対して当該リモートファイルの識別情報を含めて参照要求を送信する。また、存在しないと判定した場合に、監視デーモン220は、サーバ3aを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信する。これにより、ファイル情報記憶部240により生成ファイル331の所在が管理されている場合には、直接、格納先のサーバへ参照要求を送信するため、ネットワークの負荷を軽減することができる。また、ファイル情報記憶部240により生成ファイル331の所在が管理されていない場合であっても、ネットワーク1に接続された複数のサーバに対して参照要求を送信することにより、確実にリモートファイルを参照することができる。   When the application 210 of the server 2a refers to the generated file 331 stored in the server 3a, that is, the remote file, the monitoring daemon 220 determines whether or not the remote file identification information exists in the file information storage unit 240. To do. If it is determined that the file exists, the monitoring daemon 220 transmits a reference request including the remote file identification information to the server 3a specified from the storage destination server information 243 associated with the remote file identification information. . If the monitoring daemon 220 determines that the file does not exist, the monitoring daemon 220 transmits a reference request including the identification information of the remote file to a plurality of servers including the server 3a. Accordingly, when the location of the generated file 331 is managed by the file information storage unit 240, the reference request is directly transmitted to the storage destination server, so that the load on the network can be reduced. Even if the location of the generated file 331 is not managed by the file information storage unit 240, it is possible to reliably refer to the remote file by sending a reference request to a plurality of servers connected to the network 1. can do.

また、サーバ3aのアプリケーション310が生成ファイル331を生成した場合に、監視デーモン320は、自己を格納先サーバ情報343とし、生成ファイル331の識別情報と関連付けてファイル情報記憶部340へ登録する。そして、サーバ2aの監視デーモン220は、生成ファイル331を参照する場合に、生成ファイル331の識別情報を含めて参照要求を送信する。このとき、サーバ3aの監視デーモン320は、サーバ2aから参照要求を受信した場合に、ファイル情報記憶部340を参照し、自己を格納先サーバ情報343として関連付けられているファイルの識別情報の中に、参照要求に含まれる識別情報が存在するか否かを判定する。そして、識別情報が存在すると判定した場合に、監視デーモン320は、生成ファイル331をサーバ2aへ送信する。これにより、外部のサーバからのファイルの識別情報を含むファイルアクセスに対して、対応することができる。特に、ファイルの所在に関する情報の管理方法がファイル情報記憶部240とファイル情報記憶部340とにおいて同等であることにより、効率的に処理することができる。   Further, when the application 310 of the server 3 a generates the generation file 331, the monitoring daemon 320 sets itself as storage destination server information 343 and registers it in the file information storage unit 340 in association with the identification information of the generation file 331. Then, when referring to the generated file 331, the monitoring daemon 220 of the server 2a transmits a reference request including the identification information of the generated file 331. At this time, when the monitoring daemon 320 of the server 3a receives a reference request from the server 2a, the monitoring daemon 320 refers to the file information storage unit 340, and identifies itself as the storage destination server information 343 in the identification information of the associated file. Then, it is determined whether or not the identification information included in the reference request exists. If it is determined that the identification information exists, the monitoring daemon 320 transmits the generated file 331 to the server 2a. As a result, it is possible to cope with file access including file identification information from an external server. In particular, since the file information storage unit 240 and the file information storage unit 340 have the same information management method regarding the location of the file, the file can be efficiently processed.

さらに、サーバ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 application 310 of the server 3a generates the generation file 331, the monitoring daemon 320 calculates the hash value 342 from the file name of the generated generation file 331, sets itself as the storage destination server information 343, and the hash value 342 Are registered in the file information storage unit 340. Then, the monitoring daemon 220 of the server 2a calculates a hash value 242 from the file name of the generated file 331, and transmits a reference request including the hash value 242. When the monitoring daemon 320 receives a reference request from the server 2 a, the monitoring daemon 320 refers to the file information storage unit 340 and includes itself in the hash value 342 associated with the storage destination server information 343 in the reference request. It is determined whether or not the hash value hash value 242 exists. If the monitoring daemon 320 determines that the hash value 242 exists, the monitoring daemon 320 transmits the generated file 331 to the server 2a. Thereby, the identification information of the file which is data flowing in the network 1 can be made into small data called a hash value, and the load on the network can be further reduced. In addition, a file uniquely determined by a hash value can be specified.

さらに、サーバ2a及び3aは、リモートファイルが格納されているディレクトリ名を含めてハッシュ値を生成するとよい。これにより、ファイルの識別情報によりファイルの特定をより正確に行うことができる。   Further, the servers 2a and 3a may generate a hash value including the name of the directory where the remote file is stored. As a result, the file can be specified more accurately based on the file identification information.

また、サーバ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 application 310 of the server 3a updates the generated file 331, the update date / time information 344 of the application 310 is further registered in the file information storage unit 340 in association with the hash value 342 of the generated file 331. When the monitoring daemon 320 of the server 3a receives the reference request from the server 2a and determines that the identification information exists, the update date / time information 344 associated with the identification information included in the reference request from the file information storage unit 340. And the generated file 331 including the acquired update date / time information 344 is transmitted to the server 2a. Thereafter, when receiving the generated file 331 from the server 3a, the monitoring daemon 220 of the server 2a further registers the update date / time information 344 in the file information storage unit 240 in association with the identification information of the received generated file 331. Thereby, the update date / time information of the remote file can be managed each time the server 2a is referred to.

さらに、サーバ2aの監視デーモン220は、生成ファイル331を参照する場合、サーバ3aを含む複数のサーバに対して生成ファイル331の識別情報を含めて参照要求をブロードキャストにより送信するとよい。その場合、サーバ3aの監視デーモン320は、サーバ2aからブロードキャストにより参照要求を受信し、上述した処理を行ったうえで、応答を行う。これにより、リモートファイルの所在が不明であっても、効率的に当該リモートファイルを格納するサーバへ参照要求を送信することができる。   Further, when referring to the generated file 331, the monitoring daemon 220 of the server 2a may transmit a reference request including the identification information of the generated file 331 to a plurality of servers including the server 3a by broadcasting. In that case, the monitoring daemon 320 of the server 3a receives a reference request from the server 2a by broadcast, and performs a response after performing the above-described processing. Thereby, even if the location of the remote file is unknown, the reference request can be efficiently transmitted to the server that stores the remote file.

図5は、本発明の実施の形態2にかかるサーバ2aの構成を示すブロック図である。尚、サーバ3aの構成は、サーバ2aと同等であるため、図示及び説明を省略する。サーバ2aは、ファイル情報記憶部240と、ハッシュ算出部251と、判定部252と、ファイル要求部253と、ファイル処理部254と、ファイル情報登録部255と、ファイル送信部256と、を備える。   FIG. 5 is a block diagram showing a configuration of the server 2a according to the second embodiment of the present invention. In addition, since the structure of the server 3a is equivalent to the server 2a, illustration and description are abbreviate | omitted. The server 2a includes a file information storage unit 240, a hash calculation unit 251, a determination unit 252, a file request unit 253, a file processing unit 254, a file information registration unit 255, and a file transmission unit 256.

ここで、サーバ2aは、少なくともファイル情報記憶部240と、判定部252と、ファイル要求部253と、ファイル処理部254とを備える必要がある。この場合、ファイル情報記憶部240は、ファイルの識別情報であるファイルパス名241と格納先サーバ情報243とを少なくとも関連付けて格納する。ここで、まず、判定部252は、外部のサーバに格納されたリモートファイルを参照する場合に、ファイル情報記憶部240に当該リモートファイルの識別情報が存在するか否かを判定する。次に、ファイル要求部253は、判定部252により、リモートファイルの識別情報が存在すると判定された場合に、ファイル情報記憶部240を参照し、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報243から特定されるサーバに対して当該リモートファイルの参照要求を送信する。また、ファイル要求部253は、リモートファイルの識別情報が存在しないと判定された場合に、複数のサーバに対して当該リモートファイルの参照要求を送信する。そして、ファイル処理部254は、参照要求を受信したサーバからの応答としてリモートファイルを受信した場合に、当該受信したリモートファイルに基づき処理を行う。これにより、ファイル情報記憶部240によりリモートファイルの所在が管理されている場合には、直接、格納先のサーバへ参照要求を送信するため、ネットワークの負荷を軽減することができる。また、ファイル情報記憶部240によりリモートファイルの所在が管理されていない場合であっても、ネットワーク1に接続された複数のサーバに対して参照要求を送信することにより、確実にリモートファイルを参照することができる。   Here, the server 2 a needs to include at least a file information storage unit 240, a determination unit 252, a file request unit 253, and a file processing unit 254. In this case, the file information storage unit 240 stores the file path name 241 that is the file identification information and the storage destination server information 243 in association with each other. Here, first, when referring to a remote file stored in an external server, the determination unit 252 determines whether or not identification information of the remote file exists in the file information storage unit 240. Next, when the determination unit 252 determines that the remote file identification information exists, the file request unit 253 refers to the file information storage unit 240 and stores the storage destination server associated with the remote file identification information. The remote file reference request is transmitted to the server specified from the information 243. Further, when it is determined that the remote file identification information does not exist, the file request unit 253 transmits the remote file reference request to a plurality of servers. When the file processing unit 254 receives a remote file as a response from the server that has received the reference request, the file processing unit 254 performs processing based on the received remote file. Thereby, when the location of the remote file is managed by the file information storage unit 240, the reference request is directly transmitted to the storage destination server, so that the load on the network can be reduced. Further, even when the location of the remote file is not managed by the file information storage unit 240, the remote file is reliably referred to by transmitting a reference request to a plurality of servers connected to the network 1. be able to.

さらに、サーバ2aは、ファイル情報登録部255を備えることが望ましい。この場合、判定部252は、リモートファイルを受信した場合に、ファイル情報記憶部240に当該受信したリモートファイルの識別情報が存在するか否かを判定する。そして、ファイル情報登録部255は、判定部252により、受信したリモートファイルの識別情報が存在しないと判定された場合に、当該リモートファイルの送信元のサーバを格納サーバ情報243とし、当該受信したリモートファイルの識別情報に関連付けてファイル情報記憶部240に登録する。これにより、今回受信したリモートファイルを再度、参照する場合に、格納先のサーバを特定することができ、複数のサーバへ参照要求を送信する必要がないために、不要な参照要求を送信することによるネットワークの負荷を軽減することができる。   Furthermore, the server 2a preferably includes a file information registration unit 255. In this case, when receiving a remote file, the determination unit 252 determines whether or not the received remote file identification information exists in the file information storage unit 240. Then, when the determination unit 252 determines that the received remote file identification information does not exist, the file information registration unit 255 sets the transmission source server of the remote file as the storage server information 243, and receives the received remote file. The file information is registered in the file information storage unit 240 in association with the file identification information. As a result, when referring to the remote file received this time again, it is possible to specify the storage destination server, and it is not necessary to send a reference request to multiple servers, so an unnecessary reference request is sent. Can reduce the load on the network.

さらに、ファイル情報登録部255は、ファイル処理部256がファイルを生成した場合に、自己を格納サーバ情報243とし、当該生成したファイルの識別情報に関連付けてファイル情報記憶部240に登録するとよい。これにより、アプリケーション210が生成したファイル231についても外部のサーバに格納されているリモートファイルと併せて管理することができる。   Further, when the file processing unit 256 generates a file, the file information registration unit 255 may register itself in the file information storage unit 240 in association with the identification information of the generated file. Thereby, the file 231 generated by the application 210 can also be managed together with the remote file stored in the external server.

また、サーバ2aは、ファイル送信部256を備えることが望ましい。この場合、判定部252は、外部のサーバから参照要求を受信した場合に、ファイル情報記憶部240を参照し、自己を格納サーバ情報243として関連付けられているファイルの識別情報の中に、当該参照要求により要求されるリモートファイルの識別情報が存在するか否かを判定する。そして、ファイル送信部256は、判定部252により、要求されるリモートファイルの識別情報が存在すると判定された場合に、要求されるリモートファイルの識別情報に対応するファイルを外部のサーバへ送信する。これにより、外部のサーバのアプリケーションからのファイルアクセスに対しても効率的に処理することができる。   The server 2a preferably includes a file transmission unit 256. In this case, when the determination unit 252 receives a reference request from an external server, the determination unit 252 refers to the file information storage unit 240 and includes the reference information in the identification information of the file associated with the storage server information 243 as a reference. It is determined whether or not the remote file identification information requested by the request exists. Then, when the determination unit 252 determines that the requested remote file identification information exists, the file transmission unit 256 transmits a file corresponding to the requested remote file identification information to an external server. Thereby, it is possible to efficiently process a file access from an application of an external server.

また、サーバ2aは、ファイルのファイル名からハッシュ値を算出するハッシュ値算出部251をさらに備えることが望ましい。この場合、ファイル情報記憶部240は、ハッシュ値算出部251により算出されたハッシュ値242をファイルの識別情報として格納する。これにより、参照するファイルの特定をより小さいデータにより行うことができる。   The server 2a preferably further includes a hash value calculation unit 251 that calculates a hash value from the file name of the file. In this case, the file information storage unit 240 stores the hash value 242 calculated by the hash value calculation unit 251 as file identification information. Thereby, the file to be referred to can be specified with smaller data.

さらに、ハッシュ値算出部251は、ファイルが格納されているディレクトリ名を含めてハッシュ値242を算出することが望ましい。これにより、ファイルの識別情報によりファイルの特定をより正確に行うことができる。   Furthermore, it is desirable that the hash value calculation unit 251 calculates the hash value 242 including the directory name in which the file is stored. As a result, the file can be specified more accurately based on the file identification information.

また、ファイル情報記憶部240は、ファイルの更新日時情報244を当該ファイルの識別情報に関連付けて格納するとよい。これにより、ファイルの状態を正確に管理することができる。   The file information storage unit 240 may store the file update date / time information 244 in association with the identification information of the file. As a result, the state of the file can be managed accurately.

また、ファイル要求部253は、複数のサーバに対して当該リモートファイルの参照要求をブロードキャストにより送信するとよい。これにより、リモートファイルの所在が不明であっても、効率的に当該リモートファイルを格納するサーバへ参照要求を送信することができる。   In addition, the file request unit 253 may transmit the remote file reference request to a plurality of servers by broadcasting. Thereby, even if the location of the remote file is unknown, the reference request can be efficiently transmitted to the server that stores the remote file.

図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 server 2a, illustration and description are omitted.

サーバ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 server 2a includes a CPU (Central Processing Unit) 201, a RAM (Random Access Memory) 202, a ROM (Read Only Memory) 203, a communication unit 204, and an HDD 230. The HDD 230 is a nonvolatile storage device, and stores a generation file 231, an OS 232, an application program 233, and a monitoring daemon program 234. The HDD 230 may further include a file information storage unit 240.

アプリケーションプログラム233は、アプリケーション210が実装されたコンピュータプログラムである。また、アプリケーションプログラム233は、ファイル処理部254の処理を含んでも構わない。監視デーモンプログラム234は、ハッシュ算出部251、判定部252、ファイル要求部253、ファイル情報登録部255及びファイル送信部256が実装されたコンピュータプログラムである。   The application program 233 is a computer program in which the application 210 is installed. Further, the application program 233 may include processing of the file processing unit 254. The monitoring daemon program 234 is a computer program in which a hash calculation unit 251, a determination unit 252, a file request unit 253, a file information registration unit 255, and a file transmission unit 256 are installed.

CPU201は、サーバ2aにおける各種処理、RAM202、ROM203、通信部204及びHDD230へのアクセス等を制御する。通信部204は、ネットワーク1を介してサーバ3a、5a、・・・5nとの通信を行う。   The CPU 201 controls various processes in the server 2a, access to the RAM 202, ROM 203, communication unit 204, and HDD 230, and the like. The communication unit 204 communicates with the servers 3a, 5a,... 5n via the network 1.

サーバ2aは、CPU201が、RAM202、ROM203又はHDD230に格納されたOS232、アプリケーションプログラム233及び監視デーモンプログラム234を読み込み、実行する。これにより、サーバ2aは、アプリケーション210及び監視デーモン220として機能し、リモートファイル取得処理及び各種ファイルに対する処理を行うことができる。   In the server 2a, the CPU 201 reads and executes the OS 232, the application program 233, and the monitoring daemon program 234 stored in the RAM 202, the ROM 203, or the HDD 230. Thereby, the server 2a functions as the application 210 and the monitoring daemon 220, and can perform remote file acquisition processing and processing on various files.

図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 application 210 generates the generation file 231 and stores it in the HDD 230. At this time, the monitoring daemon 220 detects the generated file 231 stored in the HDD 230. Then, the monitoring daemon 220 calculates a hash value 242 from the file path name 241 of the generated file 231 (S21).

次に、監視デーモン220は、算出されたハッシュ値242がファイル情報記憶部240に未登録であるか否かを判定する(S22)。尚、このとき、監視デーモン220は、ファイルパス名241がファイル情報記憶部240に未登録であるか否かを判定してもよい。   Next, the monitoring daemon 220 determines whether or not the calculated hash value 242 is unregistered in the file information storage unit 240 (S22). At this time, the monitoring daemon 220 may determine whether or not the file path name 241 is unregistered in the file information storage unit 240.

ステップS22によりハッシュ値242が未登録であると判定された場合、監視デーモン220は、ファイルパス名241、ハッシュ値242、格納先サーバ情報243及び更新日時情報244を関連付けてファイル情報記憶部240に格納する(S23)。これにより、新規に作成されたファイルの所在に関する情報をファイル情報記憶部240により管理することができる。   When it is determined in step S22 that the hash value 242 is not registered, the monitoring daemon 220 associates the file path name 241, the hash value 242, the storage destination server information 243, and the update date / time information 244 in the file information storage unit 240. Store (S23). Thus, the file information storage unit 240 can manage information regarding the location of the newly created file.

また、ステップS22によりハッシュ値242が未登録でないと判定された場合、監視デーモン220は、算出されたハッシュ値242に関連付けて更新日時情報244を更新する(S24)。例えば、アプリケーション210が生成ファイル231を更新した場合に、監視デーモン220は、HDD230に更新される生成ファイル231を検出する。この場合に、ステップS24の処理が行われる。   If it is determined in step S22 that the hash value 242 is not registered, the monitoring daemon 220 updates the update date / time information 244 in association with the calculated hash value 242 (S24). For example, when the application 210 updates the generated file 231, the monitoring daemon 220 detects the generated file 231 that is updated in the HDD 230. In this case, the process of step S24 is performed.

尚、外部のサーバからリモートファイルを受信した場合、監視デーモン220は、同様に、当該受信したリモートファイルを受信し、ステップS21乃至S24の処理を実行する。   Note that when a remote file is received from an external server, the monitoring daemon 220 similarly receives the received remote file and executes the processes of steps S21 to S24.

図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 application 210. For example, the application 210 may refer to a file generated by itself or refer to a file whose file path is designated. Then, the application 210 performs file access to the HDD 230. At this time, the monitoring daemon 220 detects file access.

そして、監視デーモン220は、検出したファイルアクセスにかかる参照対象がリモートファイルであるか否かを判定する(S31)。具体的には、監視デーモン220は、参照対象におけるファイルパスが生成ファイル231のファイルシステムに存在するか否かを判定する。または、アプリケーション210からHDD230へのファイルアクセスがエラーとなった場合、すなわち、HDD230から参照対象のファイルが存在しない旨のメッセージを検出した場合に、監視デーモン220は、参照対象がリモートファイルであると判定してもよい。   Then, the monitoring daemon 220 determines whether or not the reference object related to the detected file access is a remote file (S31). Specifically, the monitoring daemon 220 determines whether or not the file path for the reference target exists in the file system of the generated file 231. Alternatively, when the file access from the application 210 to the HDD 230 results in an error, that is, when a message indicating that the reference target file does not exist is detected from the HDD 230, the monitoring daemon 220 determines that the reference target is a remote file. You may judge.

ステップS31により参照対象がリモートファイルでないと判定した場合、監視デーモン220は、HDD230から対象ファイルを取得する(S37)。または、アプリケーション210がHDD230から対象ファイルを取得しても構わない。いずれにしても、以後、アプリケーション210は、取得されたファイルについて処理を行う。   If it is determined in step S31 that the reference target is not a remote file, the monitoring daemon 220 acquires the target file from the HDD 230 (S37). Alternatively, the application 210 may acquire the target file from the HDD 230. In any case, after that, the application 210 processes the acquired file.

また、ステップ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 monitoring daemon 220 calculates a hash value 242 from the file path name 241 of the remote file (S32). Then, the monitoring daemon 220 determines whether or not the calculated hash value 242 is unregistered in the file information storage unit 240 (S33). At this time, the monitoring daemon 220 may determine whether or not the file path name 241 is unregistered in the file information storage unit 240.

ステップS33によりハッシュ値242が未登録であると判定された場合、監視デーモン220は、ブロードキャストによりリモートファイルの参照要求を送信する(S34)。このとき、監視デーモン220は、参照要求にハッシュ値242を含めて送信する。具体的には、監視デーモン220は、送信パケットにハッシュ値242を含める。これにより、参照要求がサーバ3a、5a、・・・5nへ送信される。   If it is determined in step S33 that the hash value 242 is unregistered, the monitoring daemon 220 transmits a remote file reference request by broadcasting (S34). At this time, the monitoring daemon 220 transmits the reference request including the hash value 242. Specifically, the monitoring daemon 220 includes the hash value 242 in the transmission packet. Thereby, the reference request is transmitted to the servers 3a, 5a,.

また、ステップS33によりハッシュ値242が未登録でないと判定された場合、監視デーモン220は、ファイル情報記憶部240から格納先サーバ情報243を取得する(S35)。つまり、監視デーモン220は、取得した格納先サーバ情報243により参照対象のリモートファイルが格納されているサーバの宛先を特定することができる。そして、監視デーモン220は、特定されるサーバに対してリモートファイルの参照要求を送信する(S36)。これにより、特定のサーバに対してのみ参照要求を送信することができ、より速く参照対象のリモートファイルを取得することができる。   If it is determined in step S33 that the hash value 242 is not registered, the monitoring daemon 220 acquires storage destination server information 243 from the file information storage unit 240 (S35). That is, the monitoring daemon 220 can specify the destination of the server in which the remote file to be referenced is stored based on the acquired storage destination server information 243. Then, the monitoring daemon 220 transmits a remote file reference request to the identified server (S36). Thereby, a reference request can be transmitted only to a specific server, and a remote file to be referenced can be acquired more quickly.

図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 monitoring daemon 320 receives a reference request from the server 2a (S41). Here, it is assumed that the server 3a has received a broadcast or direct reference request from the server 2a. Next, the monitoring daemon 320 extracts the hash value of the file included in the reference request (S42).

そして、監視デーモン320は、抽出されたハッシュ値がファイル情報記憶部340に未登録であるか否かを判定する(S43)。具体的には、監視デーモン320は、ファイル情報記憶部340を参照し、抽出されたハッシュ値とファイル情報記憶部340に格納されたハッシュ値342とを比較する。ステップS43によりハッシュ値が未登録であると判定された場合、監視デーモン320は、ファイルが存在しない旨を要求元のサーバ2aに対して応答する(S44)。この場合、監視デーモン220は、サーバ3aからの応答を受信し、その旨をアプリケーション210へ通知する。   Then, the monitoring daemon 320 determines whether or not the extracted hash value is unregistered in the file information storage unit 340 (S43). Specifically, the monitoring daemon 320 refers to the file information storage unit 340 and compares the extracted hash value with the hash value 342 stored in the file information storage unit 340. If it is determined in step S43 that the hash value has not been registered, the monitoring daemon 320 responds to the requesting server 2a that the file does not exist (S44). In this case, the monitoring daemon 220 receives a response from the server 3a and notifies the application 210 to that effect.

また、テップ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 monitoring daemon 320 acquires the file path name 341 and the update date / time information 344 associated with the hash value (S45). Then, the monitoring daemon 320 acquires the generated file 331 from the HDD 330 based on the acquired file path name 341 (S46). Thereafter, the monitoring daemon 320 transmits the acquired generation file 331 to the requesting server 2a (S47). At this time, the monitoring daemon 320 transmits the update date and time information 344 to the server 2a.

この後、監視デーモン220は、サーバ3aからの応答を受信し、応答に含まれる生成ファイル331をアプリケーション210へ入力する。これにより、アプリケーション210は、生成ファイル331を参照し、生成ファイル331に対する処理を行うことができる。   Thereafter, the monitoring daemon 220 receives a response from the server 3 a and inputs the generated file 331 included in the response to the application 210. As a result, the application 210 can refer to the generation file 331 and perform processing on the generation file 331.

併せて、監視デーモン220は、生成ファイル331について、図7のステップS21乃至S24の処理を実行する。特に、監視デーモン220がブロードキャストにより参照要求を送信した場合には、受信したリモートファイルの所在に関する情報が新規にファイル情報記憶部240へ登録される。その後、アプリケーション210が再度、生成ファイル331についてファイルアクセスを行う場合に、図8のステップS31により参照対象がリモートファイルであると判定され、監視デーモン220は、ステップS32以降の処理を実行する。このとき、ステップS33によりハッシュ値242が未登録でないと判定されるため、監視デーモン220は、ステップS35及びS36の処理を実行する。そのため、監視デーモン220は、ブロードキャストにより不要な参照要求をネットワーク1上に送信する必要がなくなり、ネットワーク1の負荷を軽減することができる。   In addition, the monitoring daemon 220 executes the processes of steps S21 to S24 in FIG. 7 for the generated file 331. In particular, when the monitoring daemon 220 transmits a reference request by broadcasting, information regarding the location of the received remote file is newly registered in the file information storage unit 240. Thereafter, when the application 210 accesses the generated file 331 again, it is determined in step S31 in FIG. 8 that the reference target is a remote file, and the monitoring daemon 220 executes the processing from step S32 onward. At this time, since it is determined in step S33 that the hash value 242 has not been registered, the monitoring daemon 220 executes the processes of steps S35 and S36. Therefore, the monitoring daemon 220 does not need to transmit unnecessary reference requests on the network 1 by broadcasting, and can reduce the load on the network 1.

このように、本発明の実施の形態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, Embodiment 2 of the present invention can be said to be a network file system 200 to which a distributed local cache is added.

また、個々のサーバ上の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 information storage units 240 and 340, the file that is the input / output result of each application in each server is passed through the network file system. Reference and writing can be performed at high speed.

<その他の発明の実施の形態>
上述したように本発明の実施の形態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 network file system 900 shown in FIG. 10, for example, when the same file is referred to many times or when the output file is reread, it is necessary to communicate with the NAS 91 every time the file is output. is there. In this case, the amount of data flowing on the network 1 increases, the load on the network 1 increases, and the data writing or reading speed decreases. Along with this, there is a problem that the execution speed of the program itself executed on each server is also affected. The NAS 91 also has a problem that when a large number of files are placed in one folder, the response when referring to the folder is delayed.

そこで、本発明の実施の形態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 information storage units 22, 240, 340, etc. that manage the location of the output result as a cache database, so that the output result can be referred from another server without using NAS 91. That is, file sharing can be performed and the load on the network can be reduced. Therefore, a program that performs file access via a network can be executed at high speed.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、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 appendix 1, wherein a reference request including identification information of the remote file is transmitted to a plurality of servers including the second server.

(付記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 appendix 1 or 2, wherein the remote file is transmitted to the first server when it is determined that the identification information exists.

(付記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 appendix 3, wherein the remote file is transmitted to the first server when it is determined that the hash value exists.

(付記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 appendices 3 to 5, characterized in that:

(付記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 appendices 1 to 6, wherein the second server receives the reference request from the first server by broadcast.

(付記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 items 1 to 20.

(付記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 SYMBOLS 100 Distributed file system 1 Network 2 Server 21 Control part 22 File information storage part 221 File identification information 222 Storage destination server information 3 Server 31 HDD
311 Remote file 4a,... 4n Server 200 Network file system 2a Server 201 CPU
202 RAM
203 ROM
204 Communication Unit 210 Application 220 Monitoring Daemon 230 HDD
231 Generated file 232 OS
233 Application program 234 Monitoring daemon program 240 File information storage unit 241 File path name 242 Hash value 243 Storage destination server information 244 Update date / time information 251 Hash calculation unit 252 Judgment unit 253 File request unit 254 File processing unit 255 File information registration unit 256 file Transmission unit 3a server 310 application 320 monitoring daemon 330 HDD
331 Generated file 340 File information storage unit 341 File path name 342 Hash value 343 Storage destination server information 344 Update date / time information 5a,... 5n Server 900 Network file system 91 NAS
910 HDD
911 remote file 92 server 920 application 93 server 930 application 94a, ... 94n server

Claims (10)

ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、
前記リモートファイルを格納する第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.
前記第1のサーバは、前記リモートファイルを参照する場合に、前記第1のファイル情報記憶部に当該リモートファイルの識別情報が存在するか否かを判定し、存在すると判定した場合に、当該リモートファイルの識別情報に関連付けられた格納先サーバ情報から特定される前記第2のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信し、存在しないと判定した場合に、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求を送信することを特徴とする請求項1に記載の分散ファイルシステム。   When the first server refers to the remote file, the first server determines whether or not the remote file identification information exists in the first file information storage unit. When 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 file identification information, and the second request is determined not to exist, the second The distributed file system according to claim 1, wherein a reference request including identification information of the remote file is transmitted to a plurality of servers including the server. 前記第2のサーバは、
ファイルが格納されているサーバを示す格納先サーバ情報を記憶する第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.
前記第2のサーバは、前記リモートファイルを生成した場合に、生成したリモートファイルのファイル名からハッシュ値を算出し、自己を前記格納先サーバ情報とし、当該ハッシュ値と関連付けて前記第2のファイル情報記憶部へ登録し、
前記第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.
前記第1のサーバ及び前記第2のサーバは、前記リモートファイルが格納されているディレクトリ名を含めて前記ハッシュ値を生成することを特徴とする請求項4に記載の分散ファイルシステム。   The distributed file system according to claim 4, wherein the first server and the second server generate the hash value including a directory name in which the remote file is stored. 前記第2のサーバは、
前記リモートファイルを更新した場合に、当該リモートファイルの更新日時情報を当該リモートファイルの識別情報に関連付けて前記第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.
前記第1のサーバは、前記リモートファイルを参照する場合、前記第2のサーバを含む複数のサーバに対して当該リモートファイルの識別情報を含めて参照要求をブロードキャストにより送信し、
前記第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:
ファイルが格納されているサーバを特定する格納先サーバ情報を記憶する第1のファイル情報記憶部を備え、外部のサーバに格納されたリモートファイルを処理する第1のサーバと、
前記リモートファイルを格納する第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
JP2010049308A 2010-03-05 2010-03-05 Distributed file system, and server, method, and program for remote file processing Pending JP2011186616A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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