JP2010182011A - Distributed file system, and distributed file management method - Google Patents

Distributed file system, and distributed file management method Download PDF

Info

Publication number
JP2010182011A
JP2010182011A JP2009023751A JP2009023751A JP2010182011A JP 2010182011 A JP2010182011 A JP 2010182011A JP 2009023751 A JP2009023751 A JP 2009023751A JP 2009023751 A JP2009023751 A JP 2009023751A JP 2010182011 A JP2010182011 A JP 2010182011A
Authority
JP
Japan
Prior art keywords
metadata
file
server
object server
response information
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
JP2009023751A
Other languages
Japanese (ja)
Inventor
Kinichi Sugimoto
欽一 杉本
Sumiaki Sakae
純明 榮
Masumi Ichien
真澄 一圓
Yasuo Itabashi
康雄 板橋
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 JP2009023751A priority Critical patent/JP2010182011A/en
Publication of JP2010182011A publication Critical patent/JP2010182011A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a distributed file system for generating comfortable file provision environment, by improving response in file input and output, so as to achieve smooth response. <P>SOLUTION: The distributed file system includes an object server 103, a meta-server 102, and a client 101. The client 101 includes a network I/F 114 for transmitting a meta-data request and for receiving it as first response information, and a file control unit 111 for inputting/outputting files. The meta-server 102 includes a network I/F 124 for transmitting the meta-data to the client 101 as the first response information, and for transmitting the meta-data to the object server 103 as second response information. The object server 103 includes a second meta-data reception unit 136 for receiving the second response information, and an input/output control unit 132 for executing auxiliary operation to a file corresponding to the meta-data. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、分散型ファイルシステムおよび分散型ファイル管理方法に関する。   The present invention relates to a distributed file system and a distributed file management method.

分散型ファイルシステムでは、ファイルサービスを行うクライアントが、まずメタサーバにファイル管理用メタデータ(以下、これをメタデータという。)を要求する。そして、クライアントは、メタデータを取得して、そのメタデータに基づいて、ファイルサーバであるオブジェクトサーバに対して改めてデータの入出力要求を行う。このように、分散型ファイルシステムでは、クライアントは、2段階の取得処理を行うことによって、データを取得していた。   In the distributed file system, a client that performs a file service first requests file management metadata (hereinafter referred to as metadata) from a meta server. Then, the client acquires the metadata and makes a data input / output request to the object server, which is a file server, based on the metadata. As described above, in the distributed file system, the client acquires data by performing two-stage acquisition processing.

そして、このような構成を採用することより、分散型ファイルシステムは、オブジェクトサーバの追加などが容易となり、拡張性の高いストレージサービスを提供することができる。   By adopting such a configuration, the distributed file system can easily add an object server, and can provide a highly scalable storage service.

一方、クライアントとメタサーバとの間において、メタデータの送受信が必要となるため、上述した分散型ファイルシステムでは、通常のファイル入出力動作に対して、余計なプロトコルオーバーヘッドが発生していた。また、このようなプロトコルオーバーヘッドの発生を避けるため、メタデータを一時的にキャッシュするなどして、性能改善を行うなどの対策が必要となっていた。   On the other hand, since it is necessary to transmit and receive metadata between the client and the meta server, the above-described distributed file system has an extra protocol overhead for a normal file input / output operation. In addition, in order to avoid the occurrence of such protocol overhead, it is necessary to take measures such as temporarily caching metadata to improve performance.

また、メタデータのキャッシュにおいては、ファイルの属性情報などに基づいて、メタデータキャッシュを管理するなどの対策が必要となり、メタサーバの管理が複雑化し、メタサーバの処理負荷が増大を招いていた。   Further, in the metadata cache, measures such as management of the metadata cache are required based on file attribute information and the like, which complicates the management of the metaserver and increases the processing load of the metaserver.

例えば、特許文献1には、分散型のファイルシステムにおいて、メタデータサーバマシン(メタサーバ)に対して、メタデータを要求後にデータサーバマシン(オブジェクトサーバ)にデータを要求するデータ処理システムの記載がある。また、そのメタデータのアクセスのオーバーヘッドを軽減するために、メタデータキャッシュ機構をクライアントマシンに導入し、メタデータキャッシュのヒット率を向上することで、性能を向上させる旨の記載がある。また、その際に、メタデータの属性が類似しているメタデータを検索してキャッシュヒット率の向上を図る方式の記載がある。   For example, Patent Document 1 describes a data processing system that requests data from a data server machine (object server) after requesting metadata from a metadata server machine (metaserver) in a distributed file system. . In addition, in order to reduce the overhead of accessing the metadata, there is a description that the performance is improved by introducing a metadata cache mechanism into the client machine and improving the hit rate of the metadata cache. In addition, there is a description of a method for searching for metadata having similar metadata attributes to improve the cache hit rate.

図13は、特許文献1に記載されたデータ処理システムの構成図を示した図である。図13に示したデータ処理システムでは、メタデータキャッシュの効率を向上するために、メタデータサーバ、すなわちファイルサーバ側でメタデータを検索し、クライアント側にキャッシュする構成が開示されている。
特開平07−073085号公報
FIG. 13 is a diagram showing a configuration diagram of the data processing system described in Patent Document 1. As shown in FIG. In the data processing system shown in FIG. 13, a configuration is disclosed in which metadata is searched on the metadata server, that is, the file server side, and cached on the client side in order to improve the efficiency of the metadata cache.
Japanese Patent Application Laid-Open No. 07-073085

ところで、第一の課題として、一般的な分散型ファイルシステムでは、クライアントの要求に対する応答性が悪かった。なぜなら、一般的な分散型ファイルシステムでは、クライアントがメタサーバに対してファイルの構成情報を示したメタデータを問い合わせた後、実際のデータを保持しているオブジェクトサーバに、データを要求する手順をとる必要があった。そのため、メタデータを送受信する必要があり、送受信プロトコルのオーバーヘッドが発生し、クライアントを介しての入出力要求の応答性が悪くなる、という課題があった。   By the way, as a first problem, a general distributed file system has poor response to a client request. This is because, in a general distributed file system, after a client inquires metadata that indicates file configuration information to a meta server, a procedure is performed to request data from an object server holding actual data. There was a need. For this reason, it is necessary to transmit / receive metadata, which causes overhead of a transmission / reception protocol, resulting in poor responsiveness of input / output requests via a client.

また、第二の課題として、分散型ファイルシステムの応答性を改善するためには、メタサーバの処理負荷が増大して処理能力が低下する可能性があった。例えば、一般的な分散型ファイルシステムでは、メタサーバにおいて各種のファイル管理データを管理している。そこで、メタデータキャッシュを導入することによって応答性の改善を図る場合には、メタデータに対するアクセスを予め予測して、メタデータを読み出すなどの対策を行う必要が生じるため、メタサーバの負荷が増大する結果となっていた。したがって、メタサーバの処理内容を複雑化せずに、ファイル入出力処理の応答性を改善する、ということが課題であった。   As a second problem, in order to improve the responsiveness of the distributed file system, there is a possibility that the processing load of the meta server increases and the processing capacity decreases. For example, in a general distributed file system, various file management data are managed in a meta server. Therefore, when improving responsiveness by introducing a metadata cache, it is necessary to take measures such as predicting access to the metadata in advance and reading out the metadata, which increases the load on the metadata server. It was a result. Therefore, there has been a problem of improving the responsiveness of the file input / output processing without complicating the processing contents of the metaserver.

本発明は上記事情に鑑みてなされたものであり、その目的とするところは、分散型ファイルシステムのファイル入出力における応答性を改善し、スムーズな応答を行うことにより、快適なファイル提供環境を生成する分散型ファイルシステムおよび分散型ファイル管理方法を提供することにある。   The present invention has been made in view of the above circumstances, and the object of the present invention is to improve the responsiveness in file input / output of a distributed file system and to provide a smooth file response, thereby providing a comfortable file providing environment. A distributed file system to be generated and a distributed file management method are provided.

本発明によれば、ファイルを記憶するオブジェクトサーバと、前記ファイルに対応づけられたメタデータを格納するメタサーバと、前記オブジェクトサーバに対して前記ファイルの入出力を行うクライアントと、を備える分散型ファイルシステムであって、
前記クライアントは、
前記メタサーバに対し、前記ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信手段と、
前記メタサーバから前記要求に応じて送信されたメタデータを、第1のレスポンス情報として受信する第1のメタデータ受信手段と、
前記第1のメタデータ受信手段によって受信されたメタデータが示す所在情報に対応するファイルを記憶する前記オブジェクトサーバに対し、当該ファイルの入出力を行うファイル入出力手段と、を備え、
前記メタサーバは、
前記メタデータ要求送信手段によって送信された前記要求を受信するメタデータ要求受信手段と、
前記メタデータ要求受信手段によって受信された前記要求に基づいて、当該メタデータを前記第1のレスポンス情報として前記クライアントに送信する第1のメタデータ送信手段と、
前記メタデータ要求受信手段によって受信された前記要求に基づいて、当該メタデータに対応づけられたファイルが記憶されている前記オブジェクトサーバに、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信手段と、を備え、
前記オブジェクトサーバは、
前記第2のメタデータ送信手段によって送信された前記第2のレスポンス情報を受信する第2のメタデータ受信手段と、
前記第2のメタデータ受信手段によって受信された前記第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を実行する予備動作手段と、
を備えることを特徴とする分散型ファイルシステムが提供される。
According to the present invention, a distributed file comprising: an object server that stores a file; a meta server that stores metadata associated with the file; and a client that inputs / outputs the file to / from the object server. A system,
The client
Metadata request transmission means for transmitting a request for metadata indicating the location information of the file to the metadata server;
First metadata receiving means for receiving metadata transmitted in response to the request from the meta server as first response information;
File input / output means for inputting / outputting the file to / from the object server storing the file corresponding to the location information indicated by the metadata received by the first metadata receiving means;
The metaserver is
Metadata request receiving means for receiving the request transmitted by the metadata request transmitting means;
First metadata transmission means for transmitting the metadata as the first response information to the client based on the request received by the metadata request reception means;
Based on the request received by the metadata request receiving means, a second response information is transmitted as second response information to the object server storing a file associated with the metadata. Metadata transmission means,
The object server
Second metadata receiving means for receiving the second response information transmitted by the second metadata transmitting means;
Preliminary operation means for performing a preliminary operation on a file associated with the metadata based on the second response information received by the second metadata reception means;
A distributed file system is provided.

本発明によれば、ファイルを記憶するオブジェクトサーバと、前記ファイルに対応づけられたメタデータを格納するメタサーバと、前記オブジェクトサーバに対して前記ファイルの入出力を行うクライアントと、を備える分散型ファイル管理方法であって、
前記クライアントが、前記メタサーバに対し、前記ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信ステップと、
前記メタサーバが、前記メタデータ要求送信ステップで送信された前記要求を受信するメタデータ要求受信ステップと、
前記メタサーバが、前記メタデータ要求受信ステップで受信された前記要求に基づいて、当該メタデータを第1のレスポンス情報として前記クライアントに送信する第1のメタデータ送信ステップと、
前記メタサーバが、前記メタデータ要求受信ステップで受信された前記要求に基づいて、当該メタデータに対応づけられたファイルが記憶されている前記オブジェクトサーバに、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信ステップと、
前記クライアントが、前記第1のメタデータ送信ステップで送信された前記第1のレスポンス情報を受信する第1のメタデータ受信ステップと、
前記オブジェクトサーバが、前記第2のメタデータ送信ステップで送信された前記第2のレスポンス情報を受信する第2のメタデータ受信ステップと、
前記オブジェクトサーバが、前記第2のメタデータ受信ステップで受信された前記第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を実行する予備動作ステップと、
前記クライアントが、前記第1のメタデータ受信ステップで受信されたメタデータが示す所在情報に対応するファイルを記憶する前記オブジェクトサーバに対し、当該ファイルの入出力を行うファイル入出力ステップと、
を含むことを特徴とする分散型ファイル管理方法が提供される。
According to the present invention, a distributed file comprising: an object server that stores a file; a meta server that stores metadata associated with the file; and a client that inputs / outputs the file to / from the object server. A management method,
A metadata request sending step in which the client sends a metadata request indicating the location information of the file to the metadata server;
A metadata request receiving step in which the metadata server receives the request transmitted in the metadata request transmitting step;
A first metadata transmission step in which the metadata server transmits the metadata to the client as first response information based on the request received in the metadata request reception step;
Based on the request received in the metadata request reception step, the metadata server transmits the metadata as second response information to the object server in which a file associated with the metadata is stored. A second metadata transmission step,
A first metadata reception step in which the client receives the first response information transmitted in the first metadata transmission step;
A second metadata receiving step in which the object server receives the second response information transmitted in the second metadata transmitting step;
A preliminary operation step in which the object server performs a preliminary operation on a file associated with the metadata based on the second response information received in the second metadata reception step;
A file input / output step in which the client inputs / outputs the file to / from the object server storing the file corresponding to the location information indicated by the metadata received in the first metadata reception step;
A distributed file management method is provided.

本発明によれば、分散型ファイルシステムのファイル入出力における応答性を改善して、スムーズな応答を行うことにより、快適なファイル提供環境を生成する分散型ファイルシステムおよび分散型ファイル管理方法が提供される。   According to the present invention, a distributed file system and a distributed file management method for generating a comfortable file providing environment by improving the responsiveness in file input / output of the distributed file system and performing a smooth response are provided. Is done.

本発明の第1の実施の形態に係る分散型ファイルシステムの構成を示す構成図である。It is a block diagram which shows the structure of the distributed file system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るクライアントの処理動作を示したフローチャートである。It is the flowchart which showed the processing operation of the client which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るクライアントからメタサーバに送付されるコマンドの例を示した図である。It is the figure which showed the example of the command sent to the metaserver from the client which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るメタサーバからクライアントに送付されるレスポンスの例を示した図である。It is the figure which showed the example of the response sent to the client from the metaserver which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るメタサーバの処理動作を示したフローチャートである。It is the flowchart which showed the processing operation of the metaserver which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るメタデータの例を示した図である。It is the figure which showed the example of the metadata which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るオブジェクトサーバの処理動作を示したフローチャートである。It is the flowchart which showed the processing operation of the object server which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係る分散型ファイルシステムの構成を示す構成図である。It is a block diagram which shows the structure of the distributed file system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るオブジェクトサーバの処理動作を示したフローチャートである。It is the flowchart which showed the processing operation of the object server which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係る分散型ファイルシステムの構成を示す構成図である。It is a block diagram which shows the structure of the distributed file system which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係るオブジェクトサーバの処理動作を示したフローチャートである。It is the flowchart which showed the processing operation of the object server which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係るオペレーションコマンドの説明図である。It is explanatory drawing of the operation command which concerns on the 3rd Embodiment of this invention. 特許文献1に記載されたデータ処理システムの構成を示す構成図である。1 is a configuration diagram illustrating a configuration of a data processing system described in Patent Literature 1. FIG.

(第1の実施の形態)
以下、本発明の実施の形態について、図面を用いて詳細に説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

図1は、第1の実施の形態に係る分散型ファイルシステムの構成図を示した図である。図1に示す分散型ファイルシステムは、ファイルを記憶するオブジェクトサーバと、ファイルに対応づけられたメタデータを格納するメタサーバと、オブジェクトサーバに対してファイルの入出力を行うクライアントと、を備える分散型ファイルシステムである。   FIG. 1 is a diagram showing the configuration of the distributed file system according to the first embodiment. The distributed file system shown in FIG. 1 includes a distributed server that includes an object server that stores a file, a meta server that stores metadata associated with the file, and a client that inputs and outputs files to the object server. It is a file system.

クライアント101は、メタサーバ102に対し、ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信部115と、メタサーバ102から要求に応じて送信されたメタデータを、第1のレスポンス情報として受信する第1のメタデータ受信部116と、第1のメタデータ受信部116によって受信されたメタデータが示す所在情報に対応するファイルを記憶するオブジェクトサーバ103に対し、当該ファイルの入出力を行うファイル制御部(ファイル入出力手段)111と、を備えている。   The client 101 sends a metadata request transmission unit 115 that transmits a metadata request indicating the location information of a file to the meta server 102, and the metadata transmitted in response to the request from the meta server 102 as first response information. Input / output of the file to / from the first metadata receiving unit 116 to receive and the object server 103 storing the file corresponding to the location information indicated by the metadata received by the first metadata receiving unit 116 A file control unit (file input / output means) 111.

そして、メタデータ要求送信部115と、第1のメタデータ受信部116は、ネットワークI/F114に設けられている。従って、ネットワークI/F114は、メタデータ要求送信部115の有する機能と、第1のメタデータ受信部116の有する機能を持ち合わせている。   The metadata request transmission unit 115 and the first metadata reception unit 116 are provided in the network I / F 114. Therefore, the network I / F 114 has the function of the metadata request transmission unit 115 and the function of the first metadata reception unit 116.

メタサーバ102は、メタデータ要求送信部115によって送信された要求を受信するメタデータ要求受信部125と、メタデータ要求受信部125によって受信された要求に基づいて、当該メタデータを第1のレスポンス情報としてクライアントに送信する第1のメタデータ送信部126と、メタデータ要求受信部125によって受信された要求に基づいて、当該メタデータに対応づけられたファイルが記憶されているオブジェクトサーバ103に、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信部127と、を備えている。   The metadata server 102 receives the request transmitted by the metadata request transmission unit 115, and based on the request received by the metadata request reception unit 125, the metadata is received as first response information. As the first metadata transmission unit 126 that transmits to the client and the request received by the metadata request reception unit 125, the object server 103 in which the file associated with the metadata is stored is stored in the object server 103. And a second metadata transmission unit 127 that transmits metadata as second response information.

そして、メタデータ要求受信部125と、第1のメタデータ送信部126と、第2のメタデータ送信部127は、ネットワークI/F124に設けられている。従って、ネットワークI/F124は、メタデータ要求受信部125の有する機能と、第1のメタデータ送信部126の有する機能と、第2のメタデータ送信部127の有する機能を持ち合わせている。   The metadata request reception unit 125, the first metadata transmission unit 126, and the second metadata transmission unit 127 are provided in the network I / F 124. Therefore, the network I / F 124 has the function of the metadata request receiving unit 125, the function of the first metadata transmission unit 126, and the function of the second metadata transmission unit 127.

オブジェクトサーバ103は、第2のメタデータ送信部127によって送信された第2のレスポンス情報を受信する第2のメタデータ受信部136と、第2のメタデータ受信部136によって受信された第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を開始する入出力制御部(予備動作手段)132と、を備えている。   The object server 103 includes a second metadata reception unit 136 that receives the second response information transmitted by the second metadata transmission unit 127, and a second metadata reception unit 136 that receives the second response information received by the second metadata reception unit 136. And an input / output control unit (preliminary operation means) 132 for starting a preliminary operation on the file associated with the metadata based on the response information.

そして、第2のメタデータ受信部136は、ネットワークI/F134に設けられている。従って、ネットワークI/F134は、第2のメタデータ受信部136の機能を持ち合わせている。   The second metadata receiving unit 136 is provided in the network I / F 134. Therefore, the network I / F 134 has the function of the second metadata receiving unit 136.

本実施の形態では、ファイルとは、オブジェクトで構成されていることとする。そして、オブジェクトサーバ103は、ファイルもしくはファイルを構成するオブジェクトを保持している。クライアント101は、クライアント101内に格納されているアプリケーションを実行することによって、オブジェクトサーバ103に格納されているファイルまたはオブジェクトの入出力動作を行う。また、メタサーバ102は、オブジェクトサーバ103が保持しているファイルやオブジェクトを管理する。   In the present embodiment, it is assumed that a file is composed of objects. The object server 103 holds a file or an object constituting the file. The client 101 performs an input / output operation of a file or object stored in the object server 103 by executing an application stored in the client 101. The meta server 102 manages files and objects held by the object server 103.

ここで、メタデータとは、ファイルやオブジェクトに関する情報であり、例えば、ファイルやオブジェクトが格納されている所在を示す所在情報である。また、メタデータの要求とは、クライアント101が、メタサーバ102に対して、オブジェクトサーバ103に保持されているファイルやオブジェクトの所在情報を要求することをいう。また、第1のレスポンス情報とは、メタデータの要求に対して、メタサーバ102からクライアント101に送信されるメタデータのことである。また、第2のレスポンス情報とは、メタサーバ102において受信されたメタデータの要求に対して、メタサーバ102からオブジェクトサーバ103に送信されるメタデータのことである。   Here, the metadata is information regarding a file or object, for example, location information indicating a location where the file or object is stored. The request for metadata means that the client 101 requests the meta server 102 for location information of files and objects held in the object server 103. The first response information is metadata transmitted from the meta server 102 to the client 101 in response to a metadata request. The second response information is metadata transmitted from the meta server 102 to the object server 103 in response to a metadata request received by the meta server 102.

また、予備動作とは、メタデータに対応づけられたファイルに対して、クライアント101から入出力の要求が来る前に、オブジェクトサーバ103が、そのファイルの入出力に対して所定の動作を開始することをいう。この所定の動作には、例えば、データやファイルの入出力動作または先読み動作などが該当する。   Further, the preliminary operation refers to the object server 103 starting a predetermined operation for input / output of a file associated with metadata before the input / output request is received from the client 101. That means. This predetermined operation corresponds to, for example, data / file input / output operation or prefetching operation.

具体的には、データやファイルの入出力動作は、メタサーバ102から送信された第2のレスポンス情報に基づいて、所定のデータ(ファイル)の入出力動作を予め開始することである。この場合、例えば、出力されるべきデータやファイルを検索したり、出力されるべきデータのアドレス値の設定などが該当する。また、先読み動作は、出力されるべきデータに関連づけられたファイルやデータの事前読み出しや、スクリプトファイルの設定などが該当する。   Specifically, the data / file input / output operation is to start the input / output operation of predetermined data (file) in advance based on the second response information transmitted from the meta server 102. In this case, for example, searching for data and files to be output, setting of address values of data to be output, and the like are applicable. The prefetch operation corresponds to a file or data pre-read associated with data to be output, a script file setting, or the like.

また、入力動作に関しては、書き込むべき領域の確保や関連するデータの検索などが該当する。このように、オブジェクトサーバ103は、第2のレスポンス情報に基づいて、クライアント101から要求される動作について、予め開始することができる。   In addition, as for the input operation, securing of an area to be written, retrieval of related data, and the like are applicable. As described above, the object server 103 can start in advance the operation requested from the client 101 based on the second response information.

本実施の形態では、以上の構成を備えることにより、分散型ファイルシステム全体として、以下のように動作する。   In the present embodiment, with the above configuration, the entire distributed file system operates as follows.

まず、クライアント101は、メタサーバ102にファイルの所在場所を問合せる。ここで、メタサーバ102は、ファイル及びその一部を構成するオブジェクトの所在を管理しているメタデータをデータベース(記憶装置)として保持している。そのため、メタサーバ102は、データベースを検索し、問合せのあったファイルのメタデータ(第1のレスポンス情報)をクライアント101に送信する。   First, the client 101 inquires of the meta server 102 about the location of the file. Here, the meta server 102 holds, as a database (storage device), metadata that manages the location of files and the objects that form part of the file. For this reason, the meta server 102 searches the database and transmits the metadata (first response information) of the file for which an inquiry has been made to the client 101.

また、メタサーバ102は、メタデータバスMBを介して、メタデータ情報(第2のレスポンス情報)を、オブジェクトサーバ103に送信する。そして、オブジェクトサーバ103は、受信したメタデータ情報(第2のレスポンス情報)に基づいて、予備動作を開始する。クライアント101は、受け取ったメタデータ(第1のレスポンス情報)に基づいて、ファイルを保持するオブジェクトサーバ103に、ファイルもしくはデータの入出力を要求する。そして、オブジェクトサーバ103は、クライアント101との間で、ファイルもしくはデータを送受信する。   Further, the meta server 102 transmits metadata information (second response information) to the object server 103 via the metadata bus MB. Then, the object server 103 starts a preliminary operation based on the received metadata information (second response information). Based on the received metadata (first response information), the client 101 requests the object server 103 holding the file to input / output a file or data. The object server 103 transmits / receives a file or data to / from the client 101.

これにより、本実施の形態では、分散型ファイルシステムのファイルの入出力における応答性を改善し、スムーズな応答を行うことにより、快適なファイル提供環境を生成する分散型ファイルシステムを実現できる。   Thus, in this embodiment, it is possible to realize a distributed file system that generates a comfortable file providing environment by improving the responsiveness in file input / output of the distributed file system and performing a smooth response.

なお、本実施の形態では、メタデータバスMBとして、専用の通信経路を記載しているが、分散型ファイルシステムにおいては、コマンドデータのやり取りを行うチャネル、あるいはネットワークなどと同じ通信経路を使用しても実現できる。   In the present embodiment, a dedicated communication path is described as the metadata bus MB. However, in the distributed file system, the same communication path as a channel for exchanging command data or a network is used. Can be realized.

また、図1では、クライアント101とオブジェクトサーバ103は、それぞれ1台によって構成されているが、これは例示であって、複数台の構成においても同様に適用可能である。   In FIG. 1, the client 101 and the object server 103 are each constituted by one unit, but this is an example, and the present invention can be similarly applied to a configuration of a plurality of units.

次に、図1に示した分散型ファイルシステムの各構成について、詳細に説明する。   Next, each configuration of the distributed file system shown in FIG. 1 will be described in detail.

まず、クライアント101は、ネットワークI/F114と、ファイル制御部111と、ユーザーアプリケーション実行部110とを備えている。また、ネットワークI/F114は、メタデータ要求送信部115と、第1のメタデータ受信部116とを備えている。   First, the client 101 includes a network I / F 114, a file control unit 111, and a user application execution unit 110. The network I / F 114 includes a metadata request transmission unit 115 and a first metadata reception unit 116.

クライアント101は、ユーザーアプリケーション実行部110が、オブジェクトサーバ103に記憶されているファイルの参照を行うためのプログラムを実行する。   In the client 101, the user application execution unit 110 executes a program for referring to a file stored in the object server 103.

このとき行われるファイル参照要求は、プログラムが実行されることによって、ユーザーアプリケーション実行部110からファイル制御部111に送られる。また、ファイル参照要求は、ファイルの所在を特定した上で、該当するファイルを構成するオブジェクトが記憶されているオブジェクトサーバ103へネットワークI/F114経由で送られる。このように、クライアント101は、ファイルやオブジェクトのファイル参照要求を送付することにより、ファイルの入出力要求をオブジェクトサーバ103に送信することができる。   The file reference request made at this time is sent from the user application execution unit 110 to the file control unit 111 by executing the program. Further, the file reference request is sent via the network I / F 114 to the object server 103 in which the objects constituting the corresponding file are stored after specifying the location of the file. As described above, the client 101 can send a file input / output request to the object server 103 by sending a file reference request for a file or object.

なお、ファイル制御部111において、ファイルの所在を特定できる情報を保持していないときは、ネットワークI/F114を経由して、ファイルの所在をメタサーバ102に問合せる。そして、クライアント101は、ファイルの所在情報を示すメタデータをメタサーバ102から取得する。そして、クライアント101は、取得したメタデータを元に、ファイルの入出力要求を送付する動作を行う。   If the file control unit 111 does not hold information that can identify the location of the file, the file control unit 111 inquires of the meta server 102 about the location of the file via the network I / F 114. Then, the client 101 acquires metadata indicating the location information of the file from the meta server 102. Then, the client 101 performs an operation of sending a file input / output request based on the acquired metadata.

次に、メタサーバ102の構成について説明する。メタサーバ102は、ネットワークI/F124と、メタデータ管理部121と、入出力制御部122と、記憶装置123とを備えている。また、ネットワークI/F124は、メタデータ要求受信部125と、第1のメタデータ送信部126と、第2のメタデータ送信部127とを備えている。   Next, the configuration of the meta server 102 will be described. The meta server 102 includes a network I / F 124, a metadata management unit 121, an input / output control unit 122, and a storage device 123. The network I / F 124 includes a metadata request receiving unit 125, a first metadata transmitting unit 126, and a second metadata transmitting unit 127.

メタサーバ102は、ネットワークI/F124を経由して受信したファイルの入出力要求に基づいて、メタデータ管理部121に、該当するファイルのメタデータの入出力処理を要求する。   Based on the file input / output request received via the network I / F 124, the meta server 102 requests the metadata management unit 121 to perform input / output processing of the metadata of the corresponding file.

記憶装置123は、ファイルやデータのメタデータを格納している。   The storage device 123 stores file and data metadata.

メタデータ管理部121では、入出力要求に記述されたファイルID(identifier)で識別されるファイルのメタデータを、入出力制御部122経由で記憶装置123から読み出す。そして、メタデータ管理部121は、読み出した結果(すなわち第1のレスポンス情報である。)を、ネットワークI/F124経由でクライアント101に送信する。   The metadata management unit 121 reads the metadata of the file identified by the file ID (identifier) described in the input / output request from the storage device 123 via the input / output control unit 122. Then, the metadata management unit 121 transmits the read result (that is, the first response information) to the client 101 via the network I / F 124.

ここで、メタデータの記憶装置123への格納方法は、通常のデータベース管理と同様に、ファイルIDをキーとしてメタデータを取得できる機構であれば良い。また、単純な表形式のデータとして保持する形態であっても構わない。   Here, the storage method of the metadata in the storage device 123 may be any mechanism that can acquire metadata using the file ID as a key, as in normal database management. Further, the data may be stored as simple tabular data.

次に、オブジェクトサーバ103の構成について説明する。オブジェクトサーバ103は、ネットワークI/F134と、データ管理部131と、入出力制御部132と、記憶装置133とを備えている。また、ネットワークI/F134は、第2のメタデータ受信部136を備えている。   Next, the configuration of the object server 103 will be described. The object server 103 includes a network I / F 134, a data management unit 131, an input / output control unit 132, and a storage device 133. Further, the network I / F 134 includes a second metadata receiving unit 136.

オブジェクトサーバ103は、ネットワークI/F134経由で受信したオブジェクトの入出力要求に基づいて、データ管理部131に、該当するオブジェクトのデータ入出力処理を要求する。   Based on the object input / output request received via the network I / F 134, the object server 103 requests the data management unit 131 to perform data input / output processing of the corresponding object.

データ管理部131は、オブジェクトのデータの読み出し動作の場合には、オブジェクトのデータを入出力制御部132経由で記憶装置133から読み出す。そして、データ管理部131は、読み出された結果を、ネットワークI/F134経由でクライアント101に送信する。   In the case of an object data read operation, the data management unit 131 reads the object data from the storage device 133 via the input / output control unit 132. Then, the data management unit 131 transmits the read result to the client 101 via the network I / F 134.

一方、データ管理部131は、データの書き込みの場合には、ネットワークI/F134経由でクライアント101から書き込むデータを受信した後、入出力制御部132経由で記憶装置133に書き込みを行う。   On the other hand, in the case of data writing, the data management unit 131 receives data to be written from the client 101 via the network I / F 134 and then writes to the storage device 133 via the input / output control unit 132.

ここで、オブジェクトのデータの読み出し動作の場合には、データ管理部131は、読み出すオブジェクトのデータを特定する。なお、本実施の形態では、キャッシュやバッファにそのデータをストアしてもよい。また、データを書き込む場合には、書き込み領域の確保を行う。また、読み出し動作および書き込み動作ともにメモリ上にリソースを確保する形態であってもよい。   Here, in the case of an object data read operation, the data management unit 131 identifies the object data to be read. In the present embodiment, the data may be stored in a cache or a buffer. In addition, when writing data, a write area is secured. Further, a resource may be secured on the memory for both the read operation and the write operation.

また、記憶装置133へ書き込みを行う方法としては、ディスクの領域管理を行う分散型ファイルシステムでは、オブジェクトIDをファイル名として、データエリアをオブジェクトとして管理しても良い。また、オブジェクトは、固定長でも可変長でもよい。また、単に固定長のブロックで管理し、それぞれのインデックスをオブジェクトIDとして管理する形態であってもよい。   In addition, as a method for writing data to the storage device 133, in a distributed file system that manages disk areas, an object ID may be managed as a file name, and a data area may be managed as an object. The object may be fixed length or variable length. Alternatively, the management may be performed by simply using a fixed-length block and managing each index as an object ID.

また、本実施の形態では、データの記憶装置133として、主に磁気ディスク装置を想定して記述しているが、これは特に限定されるものではなく、光ディスク、シリコンディスク、コントローラ上のメモリにより代用した記憶装置などであっても適用できる。   Further, in this embodiment, the data storage device 133 is described mainly assuming a magnetic disk device, but this is not particularly limited, and is based on an optical disk, a silicon disk, or a memory on the controller. Even a storage device that has been substituted can be applied.

次に、第1の実施の形態におけるファイル入出力動作について、図面を用いて説明する。図2は、クライアント101のファイル制御部111における処理動作を示したフローチャートである。   Next, a file input / output operation in the first embodiment will be described with reference to the drawings. FIG. 2 is a flowchart showing processing operations in the file control unit 111 of the client 101.

まず、クライアント101は、ユーザーアプリケーション実行部110によって、ユーザーアプリケーションが起動する。そして、ユーザーアプリケーション実行部110は、ユーザーアプリケーションを動作して、ファイルの入出力要求を発行すると、クライアントコマンド処理が起動される。そして、クライアント101は、要求のあったファイルの入出力要求をメタサーバ102に発行する(ステップS101)。   First, in the client 101, a user application is started by the user application execution unit 110. When the user application execution unit 110 operates the user application and issues a file input / output request, client command processing is started. Then, the client 101 issues an input / output request for the requested file to the meta server 102 (step S101).

この入出力要求は、例えば、図3に示すように、対象となるファイルを特定するファイルIDと、それに対する入出力要求のコマンド、アクセスする位置を与えるoffset、アクセスする長さを与えるlengthなどから構成される。   For example, as shown in FIG. 3, the input / output request is based on a file ID for specifying a target file, an input / output request command for the file, an offset for giving an access position, and a length for giving an access length. Composed.

ここで、コマンド自体を特定するためのコマンドIDや、ハンドルID、入出力要求を行ったクライアントを識別するクライアントIDおよび要求先のメタサーバを識別するメタサーバIDなども格納しておく。これらのIDは、それぞれを一意に識別するための情報であるが、ハンドルIDは、ファイルを操作している間、操作対象のファイルを一意に特定するためのIDである。   Here, a command ID for specifying the command itself, a handle ID, a client ID for identifying a client that has made an input / output request, a meta server ID for identifying a meta server at a request destination, and the like are also stored. These IDs are information for uniquely identifying each, but the handle ID is an ID for uniquely identifying the operation target file while operating the file.

次に、クライアント101は、この入出力要求に対して、メタサーバ102からクライアント101への応答結果を取得する(ステップS102)。例えば、図4に示すように、入出力要求コマンドに含まれていた、コマンドID/ハンドルID、クライアントID、サーバIDなどに加え、レスポンス結果を格納する。   Next, the client 101 acquires a response result from the meta server 102 to the client 101 in response to this input / output request (step S102). For example, as shown in FIG. 4, in addition to the command ID / handle ID, client ID, server ID, etc. included in the input / output request command, the response result is stored.

これらの応答は、必要に応じて大きなデータを伴うため、パラメータとして、後述するようなメタデータを付加する以外に、別途別のブロックをパケットとして返すプロトコルを利用しても良い。   Since these responses are accompanied by a large amount of data as necessary, in addition to adding metadata as will be described later as a parameter, a protocol that returns another block as a packet may be used.

クライアント101は、メタサーバ102から送信された第1のレスポンスに基づいて、実際のコマンド処理を実行する。具体的には、データの入出力要求のように、メタデータに基づいた入出力処理の要否を判断する(ステップS103)。   The client 101 executes actual command processing based on the first response transmitted from the meta server 102. Specifically, it is determined whether or not input / output processing based on the metadata is necessary as in the case of data input / output requests (step S103).

そして、送信された第1のレスポンスがデータの入出力を伴わない場合には(ステップS103のNo)、そのまま処理を終了する。   Then, if the transmitted first response does not involve data input / output (No in step S103), the processing ends.

一方、送信された第1のレスポンスが、データの入出力処理を伴う場合には(ステップS103のYes)、オブジェクトサーバ103への入出力要求を発行する(ステップS104)。そして、クライアント101は、入出力要求に対する入出力結果がオブジェクトサーバ103から送信されるのを待ち受け、結果を取得し(ステップS105)、処理を終了する。以下、クライアントコマンド処理を繰り返すことになる。   On the other hand, if the transmitted first response involves data input / output processing (Yes in step S103), an input / output request to the object server 103 is issued (step S104). Then, the client 101 waits for an input / output result corresponding to the input / output request to be transmitted from the object server 103, acquires the result (step S105), and ends the processing. Thereafter, the client command process is repeated.

次に、メタサーバ102のメタデータ管理部121における処理動作について、フローチャートを用いて説明する。図5は、メタサーバ102のメタデータ管理部121における処理動作を示したフローチャートである。   Next, a processing operation in the metadata management unit 121 of the meta server 102 will be described using a flowchart. FIG. 5 is a flowchart showing processing operations in the metadata management unit 121 of the meta server 102.

メタサーバ102は、クライアント101から、ネットワークI/F124を経由して、メタデータを要求するコマンドをメタデータ管理部121が受信すると(ステップS201)、メタサーバコマンド処理を起動する。そして、メタデータ管理部121は、そのコマンドに含まれる処理要求内容が、Open,Closeなどのファイル管理だけを目的としたコマンドであるか否かを判断する(ステップS202)。   When the metadata management unit 121 receives a command for requesting metadata from the client 101 via the network I / F 124 (step S201), the metadata server 102 activates metadata server command processing. Then, the metadata management unit 121 determines whether or not the processing request content included in the command is a command for the purpose of file management such as Open or Close (step S202).

ここで、ファイル管理だけを目的としたコマンドの場合には(ステップS202のYes)、メタサーバ102が保持しているメモリ上のオープン管理テーブルに、対象のファイルのメタデータを記憶装置123から読み込む。そして、その対象ファイルを展開し、もしくは書き戻しを実行する(ステップS209)。そして、ファイル管理の結果に基づいたレスポンスを生成して、ステップS207に移行する。   Here, in the case of a command intended only for file management (Yes in step S202), the metadata of the target file is read from the storage device 123 into the open management table on the memory held by the meta server 102. Then, the target file is expanded or written back (step S209). Then, a response based on the result of file management is generated, and the process proceeds to step S207.

一方、ステップS202において、Open,Closeなどのファイル管理の処理でないと判断された場合には(ステップS202のNo)、メタデータの取得が必要な処理か否かを判断する(ステップS203)。もし、メタデータの取得が必要な処理の場合には(ステップS203のYes)、メタデータを取得する動作を実行し(ステップS206)、ステップS207に移行する。   On the other hand, if it is determined in step S202 that the file management process is not Open or Close (No in step S202), it is determined whether the process requires acquisition of metadata (step S203). If the process requires acquisition of metadata (Yes in step S203), an operation for acquiring metadata is executed (step S206), and the process proceeds to step S207.

ステップS207において、メタサーバ102は、メタデータを含む形態の第1のレスポンス情報を生成し、クライアント101に送付する(ステップS207)。   In step S207, the meta server 102 generates first response information including metadata and sends the first response information to the client 101 (step S207).

なお、ここで生成される第1のレスポンス情報は、例えば、図6に示すように、図4のレスポンスに、ファイルのメタデータを付加したメタデータ情報を生成する。ここで、メタデータとしては、ファイルの属性としてのAttributeに加え、ファイルを構成するオブジェクトを保持しているObject Server ID、オブジェクトサーバ103内でのオブジェクトを識別するObject IDを保持している。また、オブジェクトサーバ103内での有効範囲を示すOffset、lengthなどの情報も保持している。また、メタサーバ102は、メタデータ情報にオブジェクトIDとして記載されている関連するオブジェクトサーバ103に対して、メタデータを含む同様のレスポンス(第2のレスポンス情報)を送付する(ステップS208)。   Note that the first response information generated here is, for example, metadata information in which file metadata is added to the response shown in FIG. 4 as shown in FIG. Here, as metadata, in addition to Attribute as an attribute of a file, an Object Server ID holding an object constituting the file and an Object ID identifying an object in the object server 103 are held. Information such as Offset and length indicating the effective range in the object server 103 is also held. Further, the meta server 102 sends a similar response (second response information) including metadata to the related object server 103 described as the object ID in the metadata information (step S208).

ここで、本実施の形態では、メタサーバ102のネットワークI/F124は、第2のレスポンス情報としてのメタデータに対応づけられたファイルの入出力を命令するコマンド(コマンド情報)を、第2のレスポンス情報とともに送信するようにしてもよい。すなわち、メタサーバ102は、メタデータを含む第2のレスポンス情報に相当するレスポンスを送信するだけでなく、そのメタデータに対するコマンドを併せて送信するようにしてもよい。この場合、送信されるコマンドは、命令されるコマンドに限定されるものではなく、例えば、複数のコマンドをバッチファイルとしてコマンド情報を生成し、そのコマンド情報を送信するようにしてもよい。   Here, in the present embodiment, the network I / F 124 of the meta server 102 sends a command (command information) instructing input / output of a file associated with the metadata as the second response information to the second response information. You may make it transmit with information. That is, the meta server 102 may not only transmit a response corresponding to the second response information including metadata, but also transmit a command for the metadata. In this case, the command to be transmitted is not limited to the command to be commanded. For example, command information may be generated by using a plurality of commands as a batch file, and the command information may be transmitted.

また、ネットワークI/F124は、第2のレスポンス情報としてのメタデータに対応づけられたファイルに関連する関連データについて、入出力が行われた履歴を示すログ情報(実行ログ情報)を、第2のレスポンス情報とともに送信するようにしてもよい。この関連データのログ情報は、メタデータ管理部121の任意の設定により、必要な関連データのログ情報だけ送信するように設定することができる。   Further, the network I / F 124 outputs log information (execution log information) indicating a history of input / output of related data related to a file associated with metadata serving as second response information to the second. The response information may be transmitted together. The log information of the related data can be set so as to transmit only the log information of the necessary related data by any setting of the metadata management unit 121.

ここで、関連データとは、あるファイルを構成するオブジェクトであったり、任意のオブジェクトに関連づけられているオブジェクトや、あるいは関連するファイルなどが該当する。   Here, the related data corresponds to an object constituting a certain file, an object associated with an arbitrary object, or a related file.

また、ログ情報とは、例えば、クライアント101からメタデータの取得要求があったことを示す履歴情報や、クライアント101へ第1のレスポンス情報を送信したことを示す履歴情報などが該当する。また、履歴情報とは、例えば、関連データ名、実行された実行コマンド名、または実行時刻などの情報が該当する。   The log information corresponds to, for example, history information indicating that there is a metadata acquisition request from the client 101, history information indicating that the first response information is transmitted to the client 101, and the like. The history information corresponds to, for example, information such as a related data name, an executed command name, or an execution time.

また、第2のレスポンス情報の送付の際には、メタデータバスMBなどの通知専用のバスなどを利用して通知してもよく、もしくはコマンド、レスポンスと同様のネットワークI/F124を使用して通知してもよい。   Further, when sending the second response information, it may be notified using a notification-dedicated bus such as the metadata bus MB, or the network I / F 124 similar to the command and response is used. You may be notified.

一方、ステップS203において、メタデータの取得が不要のコマンドの場合には(ステップS203のNo)、コマンドの処理を実行する(ステップS204)。そして、メタサーバ102は、その処理結果であるレスポンス(第1のレスポンス情報に相当する。)をクライアント101に送信し(ステップS205)、処理を終了する。   On the other hand, in step S203, if the command does not require acquisition of metadata (No in step S203), command processing is executed (step S204). Then, the meta server 102 transmits a response (corresponding to the first response information) that is the processing result to the client 101 (step S205), and ends the processing.

次に、オブジェクトサーバ103のデータ管理部131における処理動作について、フローチャートを用いて説明する。図7は、オブジェクトサーバ103のデータ管理部131における処理動作を示したフローチャートである。   Next, a processing operation in the data management unit 131 of the object server 103 will be described using a flowchart. FIG. 7 is a flowchart showing processing operations in the data management unit 131 of the object server 103.

オブジェクトサーバ103のネットワークI/F134は、クライアント101またはメタサーバ102から送信されたコマンドを受信する(ステップS301)。オブジェクトサーバ103は、ネットワークI/F134を経由して、データ管理部131がコマンドを受信すると、オブジェクトサーバ処理を起動する。   The network I / F 134 of the object server 103 receives the command transmitted from the client 101 or the meta server 102 (step S301). When the data management unit 131 receives a command via the network I / F 134, the object server 103 starts object server processing.

すなわち、ネットワークI/F134は、メタサーバ102から送信された第2のレスポンス情報を受信する。また、ネットワークI/F134は、第2のレスポンス情報としてのメタデータに対応づけられたファイルに関連する関連データについて、入出力が行われた履歴を示すログ情報がある場合には、このログ情報も受信する。   That is, the network I / F 134 receives the second response information transmitted from the meta server 102. In addition, when there is log information indicating the history of input / output regarding the related data related to the file associated with the metadata as the second response information, the network I / F 134 has this log information. Also receive.

データ管理部131は、そのコマンドに含まれる処理要求内容がクライアント101とのデータの入出力を伴うコマンドか否かを判断する(ステップS302)。ここで、データの入出力を伴うコマンドの場合には(ステップS302のYes)、入出力コマンド要求に沿ったデータの入出力を実行し、その結果をクライアント101に送信する(ステップS303)。   The data management unit 131 determines whether the processing request content included in the command is a command that involves data input / output with the client 101 (step S302). Here, in the case of a command that involves data input / output (Yes in step S302), data input / output is executed in accordance with the input / output command request, and the result is transmitted to the client 101 (step S303).

すなわち、オブジェクトサーバ103の入出力制御部132は、データ管理部131によって受信されたコマンドに基づいて、当該メタデータに対応づけられたデータ(ファイル)の入出力動作または先読み動作を実行する。   That is, the input / output control unit 132 of the object server 103 executes an input / output operation or a prefetching operation of data (file) associated with the metadata based on the command received by the data management unit 131.

一方、データの入出力を伴うコマンドでない場合には(ステップS302のNo)、メタサーバ102からの入出力コマンド実行に関するログ情報であるため、その入出力コマンド実行の内容を解析する(ステップS304)。   On the other hand, if the command is not a command that involves data input / output (No in step S302), the log information is related to the execution of the input / output command from the meta server 102, and the contents of the input / output command execution are analyzed (step S304).

すなわち、オブジェクトサーバ103のデータ管理部131は、メタサーバ102から送信されたログ情報(実行ログ情報)と第2のレスポンス情報とを受信し、コマンドの内容を解析する。   That is, the data management unit 131 of the object server 103 receives the log information (execution log information) and the second response information transmitted from the meta server 102, and analyzes the contents of the command.

そして、オブジェクトサーバ103の入出力制御部132は、クライアント101によるファイル制御部111の動作が開始する前に、ログ情報に示された関連データの読込みまたは領域確保動作を開始する。   Then, the input / output control unit 132 of the object server 103 starts reading related data indicated in the log information or an area securing operation before the operation of the file control unit 111 by the client 101 starts.

具体的には、データ管理部131は、ログ情報に記載されているコマンドについて、時系列に沿ったコマンドの順番で、近い将来に実行されるコマンドと推測する。例えば、クライアント101からファイルの入出力の要求を予測したり、他の実行されるであろうコマンドを予測する。   Specifically, the data management unit 131 estimates that the command described in the log information is a command to be executed in the near future in the order of commands in time series. For example, a file input / output request from the client 101 is predicted, or another command to be executed is predicted.

そのため、オブジェクトサーバ103のリソースの使用状況などを考慮し、バッファなどのリソースに余裕があると判断されるときには、投機的な実行が可能と判断する(ステップS305のYes)。そして、ログ情報に基づくデータの投機的な読み込み、領域確保動作などの処理動作を開始する(ステップS306)。   For this reason, in consideration of the resource usage status of the object server 103 and the like, when it is determined that there are enough resources such as buffers, it is determined that speculative execution is possible (Yes in step S305). Then, processing operations such as speculative reading of data based on log information and an area securing operation are started (step S306).

ここで、投機的な実行とは、クライアント101によるファイル制御部111の動作が開始する前に、ログに示された関連データの読込みまたは領域確保動作を開始することである。これは、クライアント101の次の動作を予測して、予測された動作を先行して予め処理を開始することを意味している。また、関連データの読み込みや領域確保動作は、投機的な実行の例示であって、これらに限定されるものではない。   Here, speculative execution is to start reading related data or area securing operation shown in the log before the operation of the file control unit 111 by the client 101 is started. This means that the next operation of the client 101 is predicted and the process is started in advance with the predicted operation. The related data reading and area securing operations are examples of speculative execution, and are not limited to these.

一方、オブジェクトサーバ103のリソースの使用状況などを考慮し、バッファなどのリソースに余裕がないと判断されるときには投機的に実行が不可能と判断し(ステップS305のNo)、そのまま処理を終了する。   On the other hand, considering the resource usage status of the object server 103 and the like, when it is determined that there is no room for resources such as a buffer, it is determined that speculative execution is impossible (No in step S305), and the processing is terminated as it is. .

以上説明したように本実施の形態によれば、クライアント101からオブジェクトサーバ103に対してファイルの要求が発生する前に、オブジェクトサーバ103は、メタサーバ102から第2のレスポンス情報(メタデータ)を受信することができる。そして、オブジェクトサーバ103は、通知された第2のレスポンス情報に基づいて、ファイルの入出力に関する入出力動作や読み出し動作などの予備動作を予め開始することができる。   As described above, according to the present embodiment, the object server 103 receives the second response information (metadata) from the meta server 102 before a file request is generated from the client 101 to the object server 103. can do. Then, based on the notified second response information, the object server 103 can start in advance a preliminary operation such as an input / output operation and a read operation related to file input / output.

このように、本実施の形態によれば、オブジェクトサーバ103が、ファイルデータの入出力に関する入出力動作や読み出し動作を開始することができるので、分散型ファイルシステムの応答性を改善することができる。   As described above, according to the present embodiment, the object server 103 can start an input / output operation and a read operation related to input / output of file data, so that the responsiveness of the distributed file system can be improved. .

また、本実施の形態によれば、オブジェクトサーバ103は、クライアント101からの次のデータの入出力要求を高い確率で予測することができる。したがって、オブジェクトサーバ103は、オブジェクトサーバ103上に入出力されるデータ、バッファを確保し、先読み動作用キャッシュにデータを読み込むことができる。これにより、分散型ファイルシステムの応答性を改善することができる。   Also, according to the present embodiment, the object server 103 can predict the next data input / output request from the client 101 with a high probability. Therefore, the object server 103 can secure data and buffers input / output on the object server 103, and can read the data into the prefetch operation cache. Thereby, the responsiveness of the distributed file system can be improved.

また、本実施の形態によれば、メタデータに関する関連情報をオブジェクトサーバ間で共有することができるので、メタサーバ102の負荷を増大させること無く、分散型ファイルシステムの応答性の改善を実現することができる。   Also, according to the present embodiment, since related information related to metadata can be shared between object servers, the responsiveness of the distributed file system can be improved without increasing the load on the meta server 102. Can do.

また、本実施の形態によれば、クライアント101にメタデータキャッシュ機構を導入しなくても、メタサーバ102がメタデータの属性などに基づいた検索動作などの複雑な処理を行うことができるので、メタサーバ102の負荷を増大させないで、分散型ファイルシステムの応答性を改善することができる。   Further, according to the present embodiment, the meta server 102 can perform a complicated process such as a search operation based on the attribute of the metadata or the like without introducing the metadata cache mechanism in the client 101. Therefore, the meta server The responsiveness of the distributed file system can be improved without increasing the load of 102.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図8は、第2の実施の形態に係る分散型ファイルシステムの構成図を示した図である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 is a diagram showing a configuration diagram of a distributed file system according to the second embodiment.

第1の実施の形態と異なる点は、オブジェクトサーバ303を構成する2台のオブジェクトサーバ303a、303bが、データ管理部131a、131b内に、メタデータを一時的にキャッシュするメタデータキャッシュ135a、135bを備えている点である。また、オブジェクトサーバ303a、303bは、メタデータバスMBを介して、メタデータの送受信ができる構成となっている。   The difference from the first embodiment is that metadata caches 135a and 135b in which the two object servers 303a and 303b constituting the object server 303 temporarily cache metadata in the data management units 131a and 131b. It is a point equipped with. Further, the object servers 303a and 303b are configured to be able to transmit and receive metadata via the metadata bus MB.

これらの点以外は、第1の実施の形態と同じであるため、詳細な構成の説明は省略する。また、同一の処理には同一のステップを付し、適宜、説明を省略する。   Except for these points, the second embodiment is the same as the first embodiment, and a detailed description of the configuration is omitted. In addition, the same step is attached to the same process, and the description is omitted as appropriate.

すなわち、第2の実施の形態では、少なくとも第1のオブジェクトサーバ303aと、当該第1のオブジェクトサーバが受信した第2のレスポンス情報としてのメタデータに対応づけられた関連ファイルを記憶する第2のオブジェクトサーバ303bと、を有している。   That is, in the second embodiment, at least the first object server 303a and the second file that stores the associated file associated with the metadata as the second response information received by the first object server. And an object server 303b.

そして、第1のオブジェクトサーバ303aは、入出力制御部132aにより予備動作が実行されると、当該予備動作が実行されたことを示す動作ログ情報を、第2のオブジェクトサーバ303bに送信することができる。   When the preliminary operation is executed by the input / output control unit 132a, the first object server 303a may transmit operation log information indicating that the preliminary operation has been executed to the second object server 303b. it can.

ここで、動作ログ情報とは、例えば、オブジェクトサーバ303aが予備動作として実行されたコマンド情報、コマンドが開始された時刻、オブジェクトサーバ303aの識別情報またはメタデータなどを含んでいる。但し、動作ログ情報は、これらに限定されるものではなく、必要に応じて、他の動作履歴情報を付加したり、あるいは不要な履歴情報を削除してもよい。   Here, the operation log information includes, for example, command information executed by the object server 303a as a preliminary operation, a time when the command is started, identification information or metadata of the object server 303a, and the like. However, the operation log information is not limited to these, and other operation history information may be added or unnecessary history information may be deleted as necessary.

図9は、オブジェクトサーバ303aのデータ管理部131aおよびオブジェクトサーバ303bのデータ管理部131bにおける処理動作を示したフローチャートである。   FIG. 9 is a flowchart showing processing operations in the data management unit 131a of the object server 303a and the data management unit 131b of the object server 303b.

オブジェクトサーバ303aのデータ管理部131aは、クライアント101またはメタサーバ102から、ネットワークI/F134aを経由してコマンドを受信すると(ステップS301)、オブジェクトサーバ処理を起動する。   When the data management unit 131a of the object server 303a receives a command from the client 101 or the meta server 102 via the network I / F 134a (step S301), it starts object server processing.

データ管理部131aは、そのコマンドに含まれる処理要求内容がクライアント101とのデータの入出力を伴うコマンドか否かを判断する(ステップS302)。ここで、データの入出力を伴うコマンドの場合には(ステップS302のYes)、入出力コマンド要求に沿ったデータの入出力を実行し、その結果をクライアント101に送信する(ステップS303)。   The data management unit 131a determines whether the processing request content included in the command is a command that involves data input / output with the client 101 (step S302). Here, in the case of a command that involves data input / output (Yes in step S302), data input / output is executed in accordance with the input / output command request, and the result is transmitted to the client 101 (step S303).

ここで、第2の実施の形態では、データの入出力処理を実行した際に、この入出力処理の動作ログ情報を、他の関連するオブジェクトサーバ(例えば、オブジェクトサーバ303bである。)に対して送信する。具体的には、オブジェクトサーバ303aが実行した入出力処理に関連したメタデータが、メタデータキャッシュ135a、135bにあるかどうかを判断する(ステップS307)。   Here, in the second embodiment, when data input / output processing is executed, the operation log information of the input / output processing is sent to other related object servers (for example, the object server 303b). To send. Specifically, it is determined whether or not metadata related to the input / output processing executed by the object server 303a is in the metadata caches 135a and 135b (step S307).

もし、メタデータキャッシュ135aおよび135bにメタデータが無い場合には(ステップS307のNo)、データ管理部131aはメタサーバ102に要求することにより、メタデータを取得する(ステップS308)。   If there is no metadata in the metadata caches 135a and 135b (No in step S307), the data management unit 131a acquires the metadata by making a request to the meta server 102 (step S308).

そして、データ管理部131aは、このメタデータキャッシュ135a、135b上に取得し、保持されたメタデータをチェックし、今回のコマンドに関連する他の関連するオブジェクトサーバの有無を判断する(ステップ309)。本実施の形態では、オブジェクトサーバ303bがオブジェクトサーバ303aに関連する他のオブジェクトサーバ(関連オブジェクトサーバともいう。)に該当する。   The data management unit 131a acquires the metadata caches 135a and 135b, checks the held metadata, and determines whether there is another related object server related to the current command (step 309). . In the present embodiment, the object server 303b corresponds to another object server related to the object server 303a (also referred to as a related object server).

そこで、他の関連オブジェクトサーバ303bが存在する場合には(ステップS309のYes)、データ管理部131aは、発生した入出力コマンドの動作ログ情報を、他の関連オブジェクトサーバ303bに対して送付して通知する(ステップS310)。   Therefore, when another related object server 303b exists (Yes in step S309), the data management unit 131a sends the operation log information of the generated input / output command to the other related object server 303b. Notification is made (step S310).

すなわち、オブジェクトサーバ303bは、オブジェクトサーバ303aから送信された動作ログ情報を、ネットワークI/F134bを経由して受信する。   That is, the object server 303b receives the operation log information transmitted from the object server 303a via the network I / F 134b.

一方、もし、他の関連オブジェクトサーバが存在しない場合には(ステップS309のNo)、処理を終了する。   On the other hand, if there is no other related object server (No in step S309), the process ends.

ステップS302において、入出力コマンドでなかった場合には(ステップS302のNo)、ステップS301で受信したコマンドは、メタサーバ102からの入出力コマンド実行に関するログ情報であることを意味している。このため、オブジェクトサーバ303aは、ログ情報から入出力コマンド実行の内容を解析する(ステップS304)。   If the command is not an input / output command in step S302 (No in step S302), it means that the command received in step S301 is log information regarding execution of the input / output command from the meta server 102. Therefore, the object server 303a analyzes the contents of the input / output command execution from the log information (step S304).

ここで、ログ情報に記載されている入出力コマンドは、近い将来に実行されるコマンドと推測されるため、オブジェクトサーバ303aのリソースの使用状況などを考慮して、上述と同様に、投機的に実行が可能か否か判断する(ステップS305)。そして、投機的な実行が可能な場合には(ステップS305のYes)、ログ情報に基づくデータの投機的な読み込みまたは領域確保動作などを実行する(ステップS306)。   Here, since the input / output commands described in the log information are presumed to be executed in the near future, speculatively in the same manner as described above in consideration of the resource usage status of the object server 303a. It is determined whether or not execution is possible (step S305). If speculative execution is possible (Yes in step S305), speculative reading of data based on log information or an area securing operation is executed (step S306).

すなわち、オブジェクトサーバ303aの入出力制御部132aは、ログ情報に示されたデータ(例えば、関連ファイルなど)の読込みまたは領域確保動作を実行することができる。   That is, the input / output control unit 132a of the object server 303a can read data (for example, related files) indicated in the log information or perform an area securing operation.

一方、投機的な実行が可能でない場合には(ステップS305のNo)、そのまま処理を終了する。   On the other hand, if speculative execution is not possible (No in step S305), the processing is terminated as it is.

以上説明したように第2の実施の形態によれば、第1のオブジェクトサーバ303aは、入出力制御部132aによって予備動作が実行されると、当該予備動作が実行されたことを示す動作ログ情報を、第2のオブジェクトサーバ303bに送信することができる。これにより、従来、メタサーバ102からオブジェクトサーバ103に送信されていた動作ログ情報を、オブジェクトサーバ間で送受信することができるので、メタサーバ102の負荷を軽減することができる。   As described above, according to the second embodiment, when the preliminary operation is executed by the input / output control unit 132a, the first object server 303a has the operation log information indicating that the preliminary operation has been executed. Can be transmitted to the second object server 303b. Thereby, since the operation log information that has been conventionally transmitted from the meta server 102 to the object server 103 can be transmitted and received between the object servers, the load on the meta server 102 can be reduced.

また、第2の実施の形態において、オブジェクトサーバ303aは、メタサーバ102からの入出力コマンド実行に関するログ情報を取得することがある。この場合、オブジェクトサーバ303aは、その入出力コマンド実行の内容を解析することができる。   In the second embodiment, the object server 303a may acquire log information regarding execution of input / output commands from the meta server 102. In this case, the object server 303a can analyze the contents of the input / output command execution.

これにより、第2の実施の形態によれば、ログ情報に記載された入出力コマンドを解析することにより、リソースの使用状況やバッファを考慮して、ログ情報に基づくデータの投機的な読み込みまたは領域確保動作などを開始することができる。   Thus, according to the second embodiment, by analyzing the input / output command described in the log information, the speculative reading of the data based on the log information or the resource usage status and the buffer is considered. An area securing operation or the like can be started.

(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。図10は、第3の実施の形態に係る分散型ファイルシステムの構成図を示したブロック図である。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. FIG. 10 is a block diagram showing a configuration diagram of a distributed file system according to the third embodiment.

第3の実施の形態の分散型ファイルシステムの構成が第1の実施の形態の構成と異なる点は、オブジェクトサーバ403がデータ管理部131の指示に基づいて、オブジェクトに対して特定のデータを実行するデータ処理部135を備えている点である。このデータ処理部135を除いては、第1の実施の形態と同じであるため、詳細な構成の説明は省略する。   The configuration of the distributed file system of the third embodiment is different from the configuration of the first embodiment in that the object server 403 executes specific data for an object based on an instruction from the data management unit 131. The data processing unit 135 is provided. Except for the data processing unit 135, the configuration is the same as that of the first embodiment, and thus detailed description of the configuration is omitted.

具体的には、オブジェクトサーバ403は、ネットワークI/F134によって受信された第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルの少なくとも一部を構成するオブジェクトに対し、予備動作として特定の実行コマンドを実行するデータ処理部135を備えることができる。   Specifically, based on the second response information received by the network I / F 134, the object server 403 performs a preliminary operation on an object that constitutes at least a part of the file associated with the metadata. A data processing unit 135 that executes a specific execution command can be provided.

次に、図10を用いて、第3の実施の形態におけるオブジェクトサーバ403のファイル入出力動作について説明する。なお、第1の実施の形態で説明した同一の処理については説明を省略する。   Next, a file input / output operation of the object server 403 in the third embodiment will be described with reference to FIG. Note that description of the same processing described in the first embodiment is omitted.

まず、クライアント101のファイル制御部111における処理動作について説明する。基本的には、第1の実施の形態と同様の動作となるため、処理動作自体は同じものとなる。ただし、ステップS102(図2)において取得したメタデータに基づいて、各オブジェクトに対して、情報の加工を指示する場合、図6に示したオブジェクトID毎に実施すべきオペレーションの設定を行う。そして、オブジェクトサーバ403に対するコマンドを生成し直した後、ステップS104(図2)以降の処理を実施する。以降は、クライアントコマンド処理を繰り返すことになる。   First, the processing operation in the file control unit 111 of the client 101 will be described. Since the operation is basically the same as that of the first embodiment, the processing operation itself is the same. However, when instructing each object to process information based on the metadata acquired in step S102 (FIG. 2), an operation to be performed is set for each object ID shown in FIG. Then, after generating a command for the object server 403 again, the processing after step S104 (FIG. 2) is performed. Thereafter, the client command processing is repeated.

次に、メタサーバ102のメタデータ管理部121における処理動作について説明する。基本的には、第1の実施の形態と同様の処理動作となるため、処理動作自体は同じものとなる。ただし、ステップS206(図5)において実施するコマンド処理内容に基づいて、各オブジェクトに対して、情報の加工を指示する場合、図6に示したオブジェクトID毎に実施すべきオペレーションの設定を行う。そして、オブジェクトサーバ403に対するコマンドを生成し直す。この場合、ステップS208の処理を実施することになる。以下、メタサーバコマンド処理を繰り返すことになる。   Next, a processing operation in the metadata management unit 121 of the meta server 102 will be described. Since the processing operation is basically the same as in the first embodiment, the processing operation itself is the same. However, when instructing each object to process information based on the command processing content executed in step S206 (FIG. 5), the operation to be executed is set for each object ID shown in FIG. Then, a command for the object server 403 is generated again. In this case, the process of step S208 is performed. Thereafter, the metaserver command process is repeated.

次に、オブジェクトサーバ403のデータ管理部131における処理動作について説明する。図11は、データ管理部131の処理動作を示したフローチャートである。   Next, a processing operation in the data management unit 131 of the object server 403 will be described. FIG. 11 is a flowchart showing the processing operation of the data management unit 131.

まず、オブジェクトサーバ403のデータ管理部131は、ネットワークI/F134を経由して、クライアント101あるいはメタサーバ102からコマンドを受信すると(ステップS401)、オブジェクトサーバ処理が起動される。データ管理部131は、そのコマンドに含まれる処理要求内容が、クライアント101とのオペレーションコマンド(特定の実行コマンド)か否かを判断する(ステップS402)。   First, when the data management unit 131 of the object server 403 receives a command from the client 101 or the meta server 102 via the network I / F 134 (step S401), the object server process is started. The data management unit 131 determines whether or not the processing request content included in the command is an operation command (specific execution command) with the client 101 (step S402).

ここで、オペレーションコマンドでない場合には(ステップS402のNo)、データ管理部131は、通常の入出力コマンド要求に沿ったデータの入出力を実行し、その実行結果をネットワークI/F134を経由してクライアント101に送信する(ステップS403)。   If it is not an operation command (No in step S402), the data management unit 131 executes data input / output in accordance with a normal input / output command request, and the execution result is transmitted via the network I / F 134. To the client 101 (step S403).

ここで、オペレーションコマンドとは、任意のオブジェクトに対する特定の実行コマンドである。例えば、任意のオブジェクトに対し、予備動作の一部を構成する検索処理または圧縮/伸張処理を実行させるコマンドなどが該当する。なお、このオペレーションコマンドは、オブジェクトに限定されるものではなく、ファイルに対して実行してもよい。また、特定の実行コマンドは、検索処理または圧縮/伸張処理に限定されるものではなく、ファイルの展開やオブジェクトの関連づけなどであってもよい。   Here, the operation command is a specific execution command for an arbitrary object. For example, a command for executing a search process or a compression / decompression process that constitutes a part of the preliminary operation corresponds to an arbitrary object. This operation command is not limited to an object, and may be executed on a file. The specific execution command is not limited to the search process or the compression / decompression process, and may be a file expansion or an object association.

一方、メタサーバ102やクライアント101からのオペレーションコマンドの場合には(ステップS402のYes)、そのコマンドの内容を解析する(ステップS404)。   On the other hand, in the case of an operation command from the meta server 102 or the client 101 (Yes in step S402), the contents of the command are analyzed (step S404).

そして、オペレーションコマンドを解析した結果、オブジェクト毎のオペレーションコマンドが実行可能もしくは投機的に実行可能と判断される場合には(ステップS404のYes)、そのオペレーションコマンドによる処理を実行する(ステップS405)。   As a result of analyzing the operation command, if it is determined that the operation command for each object is executable or speculatively executable (Yes in step S404), processing based on the operation command is executed (step S405).

また、他の関連オブジェクトサーバに対応するオペレーションコマンドがある場合には(ステップS406のYes)、他の関連オブジェクトサーバへオペレーションコマンドを送付する(ステップS407)。以下、オブジェクトサーバ処理を繰り返すことになる。   If there is an operation command corresponding to another related object server (Yes in step S406), the operation command is sent to the other related object server (step S407). Thereafter, the object server process is repeated.

図12は、ある特定のファイルに関連するファイルのファイルIDを保持するメタデータの例である。この図12を参照して、他のファイルとの関連を示すメタデータを、他のオブジェクトサーバにも転送する動作について説明する。   FIG. 12 is an example of metadata that holds the file ID of a file related to a specific file. With reference to FIG. 12, an operation for transferring metadata indicating a relation with another file to another object server will be described.

図12を参照すると、各ファイルIDに続くメタデータは、図6に示した各ファイルを構成するオブジェクトのオブジェクトIDなどを保持したメタデータである。第3の実施の形態は、このようなメタデータを採用することにより、第1の実施の形態と第2の実施の形態と同様の構成により、関連するオブジェクトサーバにメタデータを通知することができる。   Referring to FIG. 12, the metadata that follows each file ID is metadata that holds the object IDs and the like of the objects constituting each file shown in FIG. In the third embodiment, by adopting such metadata, it is possible to notify the related object server of the metadata with the same configuration as the first embodiment and the second embodiment. it can.

以上説明したように第3の実施の形態では、任意のファイルやオブジェクトに対し、オペレーションコマンドを実行することができる。これにより、分散型ファイルシステムでは、任意のファイルやオブジェクトに対してオペレーションコマンドを実行することができるので、詳細な予備動作を設定することができる。   As described above, in the third embodiment, an operation command can be executed for an arbitrary file or object. As a result, in the distributed file system, an operation command can be executed on an arbitrary file or object, so that a detailed preliminary operation can be set.

また、本実施の形態によれば、オペレーションコマンドとして、任意のファイルやオブジェクトに対して検索処理または圧縮/伸張処理を設定することができる。これにより、ファイルの入出力動作以外のときに、予備動作の少なくとも一部を構成する処理を行うことができるので、更なる応答性の改善を図ることができる。   Further, according to the present embodiment, search processing or compression / decompression processing can be set for an arbitrary file or object as an operation command. As a result, at least a part of the preliminary operation can be performed at a time other than the file input / output operation, so that the response can be further improved.

以上、図面を参照して本発明の実施形態について述べたが、これらは本実施の形態の例示であり、上記以外の様々な構成を採用することもできる。   As mentioned above, although embodiment of this invention was described with reference to drawings, these are illustrations of this embodiment and various structures other than the above are also employable.

第1から第3までの実施の形態では、分散型ファイルシステムを用いて説明したが、本実施の形態はこれに限らず、分散型ファイル管理方法であってもよい。   In the first to third embodiments, the distributed file system has been described. However, the present embodiment is not limited to this, and a distributed file management method may be used.

例えば、本実施の形態に係る分散型ファイル管理方法は、ファイルを記憶するオブジェクトサーバ103と、ファイルに対応づけられたメタデータを格納するメタサーバ102と、オブジェクトサーバ103に対してファイルの入出力を行うクライアント101と、を備える分散型ファイル管理方法であって、クライアント101が、メタサーバ102に対し、ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信ステップと、メタサーバ102が、メタデータ要求送信ステップで送信された要求を受信するメタデータ要求受信ステップと、メタサーバ102が、メタデータ要求受信ステップで受信された要求に基づいて、当該メタデータを第1のレスポンス情報としてクライアント101に送信する第1のメタデータ送信ステップと、メタサーバ102が、メタデータ要求受信ステップで受信された要求に基づいて、当該メタデータに対応づけられたファイルが記憶されているオブジェクトサーバ103に、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信ステップと、クライアント101が、メタサーバ102から要求に応じて送信されたメタデータを、第1のレスポンス情報として受信する第1のメタデータ受信ステップと、オブジェクトサーバ103が、第2のメタデータ送信ステップによって送信された第2のレスポンス情報を受信する第2のメタデータ受信ステップと、オブジェクトサーバ103が、第2のメタデータ受信ステップで受信された第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を実行する予備動作ステップと、クライアント101が、第1のメタデータ受信ステップで受信されたメタデータが示す所在情報に対応するファイルを記憶するオブジェクトサーバ103に対し、当該ファイルの入出力を行うファイル入出力ステップと、を含むことを特徴とする。   For example, in the distributed file management method according to the present embodiment, an object server 103 that stores files, a metaserver 102 that stores metadata associated with files, and input / output of files to and from the object server 103 A distributed file management method comprising: a client 101 that performs a metadata request transmission step in which the client 101 transmits a metadata request indicating file location information to the meta server 102; Based on the request received in the metadata request reception step, the metadata server receives the request transmitted in the data request transmission step, and the metadata is sent to the client 101 as first response information based on the request received in the metadata request reception step. The first metadata to send And the metadata server 102 stores the metadata in the second response information in the object server 103 in which the file associated with the metadata is stored based on the request received in the metadata request receiving step. A second metadata transmission step for transmitting as a first metadata reception step in which the client 101 receives metadata transmitted in response to a request from the meta server 102 as first response information, and an object server 103. The second metadata receiving step for receiving the second response information transmitted in the second metadata transmitting step, and the second response received by the object server 103 in the second metadata receiving step. Based on the information, the file associated with the metadata A preliminary operation step of performing a preliminary operation on the file, and the client 101 stores the file corresponding to the location information indicated by the metadata received in the first metadata reception step with respect to the object server 103 And a file input / output step for performing the input / output of.

また、本実施の形態に係る分散型ファイル管理方法は、第2のメタデータ送信ステップが、第2のレスポンス情報としてのメタデータに対応づけられたファイルの入出力を命令するコマンド情報を、当該第2のレスポンス情報とともに送信し、第2のメタデータ受信ステップが、送信されたコマンド情報と第2のレスポンス情報とを受信して、予備動作ステップは、当該第2のメタデータ受信ステップで受信されたコマンド情報に基づいて、当該メタデータに対応づけられたファイルの入出力動作または先読み動作を実行するようにしてもよい。   Further, in the distributed file management method according to the present embodiment, the second metadata transmission step includes command information for instructing input / output of a file associated with the metadata as the second response information. It is transmitted together with the second response information, and the second metadata reception step receives the transmitted command information and the second response information, and the preliminary operation step is received at the second metadata reception step. Based on the command information, the input / output operation or the prefetch operation of the file associated with the metadata may be executed.

また、本実施の形態に係る分散型ファイル管理方法は、第2のメタデータ送信ステップが、第2のレスポンス情報としてのメタデータに対応づけられたファイルに関連する関連データについて、入出力が行われた履歴を示す実行ログ情報を、当該第2のレスポンス情報とともに送信し、第2のメタデータ受信ステップが、送信された実行ログ情報と第2のレスポンス情報とを受信して、予備動作ステップが、クライアント101によりファイル入出力ステップの動作が開始される前に、実行ログ情報に示された関連データの読込みまたは領域確保動作を開始するようにしてもよい。   In the distributed file management method according to the present embodiment, the second metadata transmission step performs input / output with respect to related data related to the file associated with the metadata as the second response information. The execution log information indicating the received history is transmitted together with the second response information, and the second metadata reception step receives the transmitted execution log information and the second response information, and the preliminary operation step. However, before the operation of the file input / output step is started by the client 101, the related data indicated in the execution log information or the area securing operation may be started.

また、本実施の形態に係る分散型ファイル管理方法は、少なくとも第1のオブジェクトサーバ303aと、当該第1のオブジェクトサーバ303aが受信した第2のレスポンス情報としてのメタデータに対応づけられた関連ファイルを記憶する第2のオブジェクトサーバ303bと、を有し、第1のオブジェクトサーバ303aは、予備動作ステップで予備動作が実行されると、当該予備動作が実行されたことを示す動作ログ情報を、第2のオブジェクトサーバに送信するようにしてもよい。   In addition, the distributed file management method according to the present embodiment includes at least a first object server 303a and a related file associated with metadata as second response information received by the first object server 303a. When the preliminary operation is executed in the preliminary operation step, the first object server 303a stores the operation log information indicating that the preliminary operation is executed, You may make it transmit to a 2nd object server.

なお、本実施の形態の各種の構成要素は、その機能を実現するように形成されていればよい。例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたオブジェクトサーバ、コンピュータプログラムによりオブジェクトサーバに実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。   Note that the various components of the present embodiment only need to be formed so as to realize their functions. For example, it is realized as dedicated hardware that exhibits a predetermined function, an object server to which the predetermined function is given by a computer program, a predetermined function that is realized in the object server by a computer program, or any combination thereof. Can do.

また、本実施の形態の各種の構成要素は、個々に独立した存在である必要はない。すなわち、複数の構成要素が一個のデバイスとして形成されていること、一つの構成要素が複数のデバイスで形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   Further, the various components of the present embodiment do not need to be individually independent. That is, a plurality of components are formed as a single device, a single component is formed of a plurality of devices, a certain component is a part of another component, a certain component And a part of other components may overlap.

また、本実施の形態における処理動作に関しては、複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を必ずしも限定するものではない。このため、本実施の形態に係る方法を実施するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。   Further, regarding the processing operation in the present embodiment, a plurality of steps are described in order, but the described order does not necessarily limit the order in which the plurality of steps are executed. For this reason, when implementing the method according to the present embodiment, the order of the plurality of steps can be changed within a range that does not hinder the contents.

また、本実施の形態の上記方法の複数のステップは個々に相違するタイミングで実行されることに限定されない。このため、あるステップの実行中に他のステップが発生すること、あるステップの実行タイミングと他のステップの実行タイミングとの一部ないし全部が重複していること、等でもよい。   Further, the steps of the method of the present embodiment are not limited to being executed at different timings. For this reason, another step may occur during execution of a certain step, or a part or all of the execution timing of a certain step and the execution timing of another step may overlap.

また、本実施の形態に係るクライアント101、メタサーバ102およびオブジェクトサーバ103は、情報処理装置によって構成することができる。また、クライアント101、メタサーバ102およびオブジェクトサーバ103は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の情報処理を実行するように構築された専用の論理回路、これらの組み合わせ、等として実施することができる。   Further, the client 101, the meta server 102, and the object server 103 according to the present embodiment can be configured by an information processing apparatus. The client 101, the meta server 102, and the object server 103 are constructed with general-purpose devices such as a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and an I / F (Interface) unit. It can be implemented as hardware, a dedicated logic circuit constructed to execute predetermined information processing, a combination thereof, or the like.

101 クライアント
102 メタサーバ
103 オブジェクトサーバ
110 ユーザーアプリケーション実行部
111 ファイル制御部
114 ネットワークI/F
115 メタデータ要求送信部
116 第1のメタデータ受信部
121 メタデータ管理部
122 入出力制御部
123 記憶装置
124 ネットワークI/F
125 メタデータ要求受信部
126 第1のメタデータ送信部
127 第2のメタデータ送信部
131 データ管理部
131a データ管理部
131b データ管理部
132 入出力制御部
132a 入出力制御部
132b 入出力制御部
133 記憶装置
133a 記憶装置
133b 記憶装置
134 ネットワークI/F
134a ネットワークI/F
134b ネットワークI/F
135 データ処理部
135a メタデータキャッシュ
135b メタデータキャッシュ
136 第2のメタデータ受信部
136a 第2のメタデータ受信部
136b 第2のメタデータ受信部
303a オブジェクトサーバ
303b オブジェクトサーバ
403 オブジェクトサーバ
MB メタデータバス
101 Client 102 Meta Server 103 Object Server 110 User Application Execution Unit 111 File Control Unit 114 Network I / F
115 Metadata Request Transmission Unit 116 First Metadata Reception Unit 121 Metadata Management Unit 122 Input / Output Control Unit 123 Storage Device 124 Network I / F
125 Metadata request reception unit 126 First metadata transmission unit 127 Second metadata transmission unit 131 Data management unit 131a Data management unit 131b Data management unit 132 Input / output control unit 132a Input / output control unit 132b Input / output control unit 133 Storage device 133a Storage device 133b Storage device 134 Network I / F
134a Network I / F
134b Network I / F
135 Data processing unit 135a Metadata cache 135b Metadata cache 136 Second metadata receiving unit 136a Second metadata receiving unit 136b Second metadata receiving unit 303a Object server 303b Object server 403 Object server MB Metadata bus

Claims (11)

ファイルを記憶するオブジェクトサーバと、前記ファイルに対応づけられたメタデータを格納するメタサーバと、前記オブジェクトサーバに対して前記ファイルの入出力を行うクライアントと、を備える分散型ファイルシステムであって、
前記クライアントは、
前記メタサーバに対し、前記ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信手段と、
前記メタサーバから前記要求に応じて送信されたメタデータを、第1のレスポンス情報として受信する第1のメタデータ受信手段と、
前記第1のメタデータ受信手段によって受信されたメタデータが示す所在情報に対応するファイルを記憶する前記オブジェクトサーバに対し、当該ファイルの入出力を行うファイル入出力手段と、を備え、
前記メタサーバは、
前記メタデータ要求送信手段によって送信された前記要求を受信するメタデータ要求受信手段と、
前記メタデータ要求受信手段によって受信された前記要求に基づいて、当該メタデータを前記第1のレスポンス情報として前記クライアントに送信する第1のメタデータ送信手段と、
前記メタデータ要求受信手段によって受信された前記要求に基づいて、当該メタデータに対応づけられたファイルが記憶されている前記オブジェクトサーバに、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信手段と、を備え、
前記オブジェクトサーバは、
前記第2のメタデータ送信手段によって送信された前記第2のレスポンス情報を受信する第2のメタデータ受信手段と、
前記第2のメタデータ受信手段によって受信された前記第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を実行する予備動作手段と、
を備えることを特徴とする分散型ファイルシステム。
A distributed file system comprising: an object server that stores a file; a meta server that stores metadata associated with the file; and a client that inputs and outputs the file to and from the object server,
The client
Metadata request transmission means for transmitting a request for metadata indicating the location information of the file to the metadata server;
First metadata receiving means for receiving metadata transmitted in response to the request from the meta server as first response information;
File input / output means for inputting / outputting the file to / from the object server storing the file corresponding to the location information indicated by the metadata received by the first metadata receiving means;
The metaserver is
Metadata request receiving means for receiving the request transmitted by the metadata request transmitting means;
First metadata transmission means for transmitting the metadata as the first response information to the client based on the request received by the metadata request reception means;
Based on the request received by the metadata request receiving means, a second response information is transmitted as second response information to the object server storing a file associated with the metadata. Metadata transmission means,
The object server
Second metadata receiving means for receiving the second response information transmitted by the second metadata transmitting means;
Preliminary operation means for performing a preliminary operation on a file associated with the metadata based on the second response information received by the second metadata reception means;
A distributed file system comprising:
前記第2のメタデータ送信手段は、
前記第2のレスポンス情報としてのメタデータに対応づけられたファイルの入出力を命令するコマンド情報を、当該第2のレスポンス情報とともに送信し、
前記第2のメタデータ受信手段は、
送信された前記コマンド情報と前記第2のレスポンス情報とを受信して、
前記予備動作手段は、
当該第2のメタデータ受信手段によって受信されたコマンド情報に基づいて、当該メタデータに対応づけられたファイルの入出力動作または先読み動作を実行する
ことを特徴とする請求項1に記載の分散型ファイルシステム。
The second metadata transmission means includes:
Command information for instructing input / output of a file associated with the metadata as the second response information is transmitted together with the second response information;
The second metadata receiving means is
Receiving the transmitted command information and the second response information;
The preliminary operation means includes
2. The distributed type according to claim 1, wherein an input / output operation or a prefetch operation of a file associated with the metadata is executed based on command information received by the second metadata receiving means. File system.
前記第2のメタデータ送信手段は、
前記第2のレスポンス情報としてのメタデータに対応づけられたファイルに関連する関連データについて、入出力が行われた履歴を示す実行ログ情報を、当該第2のレスポンス情報とともに送信し、
前記第2のメタデータ受信手段は、
送信された前記実行ログ情報と前記第2のレスポンス情報とを受信して、
前記予備動作手段は、
前記クライアントによる前記ファイル入出力手段の動作が開始する前に、前記実行ログ情報に示された前記関連データの読込みまたは領域確保動作を開始する
ことを特徴とする請求項1または2に記載の分散型ファイルシステム。
The second metadata transmission means includes:
For the related data related to the file associated with the metadata as the second response information, execution log information indicating the history of input / output is transmitted together with the second response information,
The second metadata receiving means is
Receiving the transmitted execution log information and the second response information;
The preliminary operation means includes
3. The distribution according to claim 1, wherein before the operation of the file input / output unit by the client starts, reading of the related data indicated in the execution log information or an area securing operation is started. Type file system.
少なくとも第1の前記オブジェクトサーバと、
当該第1のオブジェクトサーバが受信した前記第2のレスポンス情報としてのメタデータに対応づけられた関連ファイルを記憶する第2の前記オブジェクトサーバと、を有し、
前記第1のオブジェクトサーバは、
前記予備動作手段により前記予備動作が実行されると、当該予備動作が実行されたことを示す動作ログ情報を、前記第2のオブジェクトサーバに送信する
ことを特徴とする請求項1ないし3のいずれか1項に記載の分散型ファイルシステム。
At least a first object server;
The second object server for storing a related file associated with the metadata as the second response information received by the first object server,
The first object server is
The operation log information indicating that the preliminary operation is executed is transmitted to the second object server when the preliminary operation is executed by the preliminary operation means. The distributed file system according to claim 1.
前記第2のオブジェクトサーバは、
前記第1のオブジェクトサーバから送信された動作ログ情報を前記メタデータ受信手段が受信して、
前記第2のオブジェクトサーバの前記予備動作手段は、
当該動作ログ情報に示された前記関連ファイルの読込みまたは領域確保動作を開始する
ことを特徴とする請求項4に記載の分散型ファイルシステム。
The second object server is
The metadata receiving means receives the operation log information transmitted from the first object server,
The preliminary operation means of the second object server is:
5. The distributed file system according to claim 4, wherein the related file indicated in the operation log information is read or an area securing operation is started.
前記オブジェクトサーバは、
前記第2のメタデータ受信手段によって受信された前記第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルの少なくとも一部を構成するオブジェクトに対し、前記予備動作の少なくとも一部を構成する特定の実行コマンドを実行するデータ処理手段
を更に備えることを特徴とする請求項1ないし3のいずれか1項に記載の分散型ファイルシステム。
The object server
Based on the second response information received by the second metadata receiving means, at least a part of the preliminary operation is performed on an object constituting at least a part of the file associated with the metadata. The distributed file system according to any one of claims 1 to 3, further comprising data processing means for executing a specific execution command.
前記特定の実行コマンドは、
前記オブジェクトに対し、前記予備動作の一部を構成する検索処理または圧縮/伸張処理である
ことを特徴とする請求項6に記載の分散型ファイルシステム。
The specific execution command is:
The distributed file system according to claim 6, wherein a search process or a compression / decompression process that constitutes a part of the preliminary operation is performed on the object.
ファイルを記憶するオブジェクトサーバと、前記ファイルに対応づけられたメタデータを格納するメタサーバと、前記オブジェクトサーバに対して前記ファイルの入出力を行うクライアントと、を備える分散型ファイル管理方法であって、
前記クライアントが、前記メタサーバに対し、前記ファイルの所在情報を示すメタデータの要求を送信するメタデータ要求送信ステップと、
前記メタサーバが、前記メタデータ要求送信ステップで送信された前記要求を受信するメタデータ要求受信ステップと、
前記メタサーバが、前記メタデータ要求受信ステップで受信された前記要求に基づいて、当該メタデータを第1のレスポンス情報として前記クライアントに送信する第1のメタデータ送信ステップと、
前記メタサーバが、前記メタデータ要求受信ステップで受信された前記要求に基づいて、当該メタデータに対応づけられたファイルが記憶されている前記オブジェクトサーバに、当該メタデータを第2のレスポンス情報として送信する第2のメタデータ送信ステップと、
前記クライアントが、前記第1のメタデータ送信ステップで送信された前記第1のレスポンス情報を受信する第1のメタデータ受信ステップと、
前記オブジェクトサーバが、前記第2のメタデータ送信ステップで送信された前記第2のレスポンス情報を受信する第2のメタデータ受信ステップと、
前記オブジェクトサーバが、前記第2のメタデータ受信ステップで受信された前記第2のレスポンス情報に基づいて、当該メタデータに対応づけられたファイルに対して予備動作を実行する予備動作ステップと、
前記クライアントが、前記第1のメタデータ受信ステップで受信されたメタデータが示す所在情報に対応するファイルを記憶する前記オブジェクトサーバに対し、当該ファイルの入出力を行うファイル入出力ステップと、
を含むことを特徴とする分散型ファイル管理方法。
A distributed file management method comprising: an object server that stores a file; a meta server that stores metadata associated with the file; and a client that inputs and outputs the file to and from the object server,
A metadata request sending step in which the client sends a metadata request indicating the location information of the file to the metadata server;
A metadata request receiving step in which the metadata server receives the request transmitted in the metadata request transmitting step;
A first metadata transmission step in which the metadata server transmits the metadata to the client as first response information based on the request received in the metadata request reception step;
Based on the request received in the metadata request reception step, the metadata server transmits the metadata as second response information to the object server in which a file associated with the metadata is stored. A second metadata transmission step,
A first metadata reception step in which the client receives the first response information transmitted in the first metadata transmission step;
A second metadata receiving step in which the object server receives the second response information transmitted in the second metadata transmitting step;
A preliminary operation step in which the object server performs a preliminary operation on a file associated with the metadata based on the second response information received in the second metadata reception step;
A file input / output step for the client to input / output the file to / from the object server storing the file corresponding to the location information indicated by the metadata received in the first metadata reception step;
A distributed file management method comprising:
前記第2のメタデータ送信ステップは、
前記第2のレスポンス情報としてのメタデータに対応づけられたファイルの入出力を命令するコマンド情報を、当該第2のレスポンス情報とともに送信し、
前記第2のメタデータ受信ステップは、
送信された前記コマンド情報と前記第2のレスポンス情報とを受信して、
前記予備動作ステップは、
当該第2のメタデータ受信ステップで受信されたコマンド情報に基づいて、当該メタデータに対応づけられたファイルの入出力動作または先読み動作を実行する
ことを特徴とする請求項8に記載の分散型ファイル管理方法。
The second metadata transmission step includes:
Command information for instructing input / output of a file associated with the metadata as the second response information is transmitted together with the second response information;
The second metadata receiving step includes:
Receiving the transmitted command information and the second response information;
The preliminary operation step includes:
9. The distributed type according to claim 8, wherein an input / output operation or a prefetch operation of a file associated with the metadata is executed based on the command information received in the second metadata reception step. File management method.
前記第2のメタデータ送信ステップは、
前記第2のレスポンス情報としてのメタデータに対応づけられたファイルに関連する関連データについて、入出力が行われた履歴を示す実行ログ情報を、当該第2のレスポンス情報とともに送信し、
前記第2のメタデータ受信ステップは、
送信された前記実行ログ情報と前記第2のレスポンス情報とを受信して、
前記予備動作ステップは、
前記クライアントによる前記ファイル入出力ステップの動作が開始する前に、前記実行ログ情報に示された前記関連データの読込みまたは領域確保動作を開始する
ことを特徴とする請求項8または9に記載の分散型ファイル管理方法。
The second metadata transmission step includes:
For the related data related to the file associated with the metadata as the second response information, execution log information indicating the history of input / output is transmitted together with the second response information,
The second metadata receiving step includes:
Receiving the transmitted execution log information and the second response information;
The preliminary operation step includes:
10. The distribution according to claim 8, wherein before the operation of the file input / output step by the client starts, reading of the related data indicated in the execution log information or an area securing operation is started. Type file management method.
少なくとも第1の前記オブジェクトサーバと、
当該第1のオブジェクトサーバが受信した前記第2のレスポンス情報としてのメタデータに対応づけられた関連ファイルを記憶する第2の前記オブジェクトサーバと、を有し、
前記第1のオブジェクトサーバは、
前記予備動作ステップにより前記予備動作が実行されると、当該予備動作が実行されたことを示す動作ログ情報を、前記第2のオブジェクトサーバに送信する
ことを特徴とする請求項8ないし10のいずれか1項に記載の分散型ファイル管理方法。
At least a first object server;
The second object server for storing a related file associated with the metadata as the second response information received by the first object server,
The first object server is
The operation log information indicating that the preliminary operation is executed is transmitted to the second object server when the preliminary operation is executed in the preliminary operation step. 2. The distributed file management method according to claim 1.
JP2009023751A 2009-02-04 2009-02-04 Distributed file system, and distributed file management method Pending JP2010182011A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009023751A JP2010182011A (en) 2009-02-04 2009-02-04 Distributed file system, and distributed file management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009023751A JP2010182011A (en) 2009-02-04 2009-02-04 Distributed file system, and distributed file management method

Publications (1)

Publication Number Publication Date
JP2010182011A true JP2010182011A (en) 2010-08-19

Family

ID=42763568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009023751A Pending JP2010182011A (en) 2009-02-04 2009-02-04 Distributed file system, and distributed file management method

Country Status (1)

Country Link
JP (1) JP2010182011A (en)

Similar Documents

Publication Publication Date Title
US11388251B2 (en) Providing access to managed content
CN107943594B (en) Data acquisition method and device
JP3561139B2 (en) File object relay method, computer-readable recording medium storing program of file object relay method, and gateway computer
US8990357B2 (en) Method and apparatus for reducing loading time of web pages
US6883068B2 (en) Methods and apparatus for implementing a chche replacement scheme
US20130117252A1 (en) Large-scale real-time fetch service
US9860332B2 (en) Caching architecture for packet-form in-memory object caching
JP2007066161A (en) Cache system
US20150019676A1 (en) Methods and devices for exchanging data
US6934761B1 (en) User level web server cache control of in-kernel http cache
JP4554723B2 (en) Managing network response buffering behavior
JP2012033113A (en) Printing system, printing device, control method, and program thereof
US8370456B2 (en) Intelligent pre-fetching using compound operations
US20220214832A1 (en) Prefetching metadata in a storage system
EP3125495A1 (en) Content negotiation in a content centric network
US20090157896A1 (en) Tcp offload engine apparatus and method for system call processing for static file transmission
JP6461101B2 (en) Database system, information processing apparatus, method, and program
JP5251701B2 (en) Server device, server-based computing system, and server control program
JP5163171B2 (en) Cache system and server
US7895266B2 (en) Distributed file system and method of replacing cache data in the distributed file system
JP2012033083A (en) Cache control method, node device, manager device, and computer system
JP2010182011A (en) Distributed file system, and distributed file management method
JP6156720B2 (en) Data storage control system, data storage control method, and data storage control program
JPWO2015145586A1 (en) Database system, information processing apparatus, method, and program
US20160253094A1 (en) Information processing device, data cache device, information processing method, and data caching method