JP2009537918A - Distributed storage - Google Patents

Distributed storage Download PDF

Info

Publication number
JP2009537918A
JP2009537918A JP2009511432A JP2009511432A JP2009537918A JP 2009537918 A JP2009537918 A JP 2009537918A JP 2009511432 A JP2009511432 A JP 2009511432A JP 2009511432 A JP2009511432 A JP 2009511432A JP 2009537918 A JP2009537918 A JP 2009537918A
Authority
JP
Japan
Prior art keywords
server
file
storage
distributed storage
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009511432A
Other languages
Japanese (ja)
Other versions
JP5584910B2 (en
Inventor
アルシャナブ,サミー・カリル
アル−アタス,サミー・フセイン・サーレム
アリレザ,ムアマー・ムスタファ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Noryan Holding Corp
Original Assignee
Noryan Holding 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
Priority claimed from US11/439,784 external-priority patent/US8255420B2/en
Priority claimed from EP06114443.2A external-priority patent/EP1860846B1/en
Application filed by Noryan Holding Corp filed Critical Noryan Holding Corp
Publication of JP2009537918A publication Critical patent/JP2009537918A/en
Application granted granted Critical
Publication of JP5584910B2 publication Critical patent/JP5584910B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

複数のストレージ装置を含む分散ストレージへのアクセスを管理するためのサーバは、分散ストレージにファイルを保存する要求を受取るためのファイルサービスマネージャと、ファイルを保存する際に用いられる分散ストレージの中のクラスタを選択するための割当マネージャとを含む。割当マネージャは、別のサーバにおける少なくとも1つの他の割当マネージャと通信し、どの割当マネージャが、用いられることになるクラスタを選択するかを判断するよう構成される。  A server for managing access to a distributed storage including a plurality of storage devices, a file service manager for receiving a request to save a file in the distributed storage, and a cluster in the distributed storage used for saving the file And an assignment manager for selecting. The allocation manager is configured to communicate with at least one other allocation manager at another server to determine which allocation manager selects the cluster to be used.

Description

発明の分野
この発明は分散ストレージシステム、分散ストレージ管理システム、および分散ストレージへのアクセスを管理するためのサーバに関する。
The present invention relates to a distributed storage system, a distributed storage management system, and a server for managing access to the distributed storage.

背景技術
個人および商業利用のためのデータストレージに対する要求が絶えず増加している。
BACKGROUND ART The demand for data storage for personal and commercial use is constantly increasing.

たとえば、デジタルカメラおよび音楽再生機のようなデジタル記録および再生装置が多く出回るにつれて、(たとえば10ギガバイトよりも多い)多量のデータを保存することを必要とする個人ユーザの数が増加する。さらに、これらの装置が用いられるにつれて、生成またはダウンロードされるコンテンツの量が蓄積されるので、保存されるべきデータの量も増加する。   For example, as digital recording and playback devices such as digital cameras and music players become more common, the number of individual users that need to store large amounts of data (eg, greater than 10 gigabytes) increases. Furthermore, as these devices are used, the amount of content to be generated or downloaded increases, so the amount of data to be stored also increases.

データストレージに対する要求も変化している。
従来は、デジタル写真のようなデータファイルは、たとえば家のコンピュータ上のような単一の場所にある磁気ハードディスクのようなストレージ装置に保存されてきた。しかしながらユーザは、彼らのデータに対して遠距離から、さらには移動中において、アクセスすることができることを次第に望むようになってきた。さらにユーザは、彼らのデータを他のユーザと共有することを望む場合がある。
The demand for data storage is also changing.
Traditionally, data files such as digital photographs have been stored in a storage device such as a magnetic hard disk in a single location, such as on a home computer. However, users have increasingly wanted to be able to access their data from a long distance and even on the move. In addition, users may wish to share their data with other users.

1つより多いストレージ装置を含むとともに、仮想ファイル(virtual file)システムを用いて管理される分散ストレージが、これらの問題に対する解決策を提供し得る。   Distributed storage that includes more than one storage device and is managed using a virtual file system may provide a solution to these problems.

ストレージ装置は付加的な容量を提供するよう加えられ得る。さらにデータは、時間とともに変化さえし得る多くのストレージ装置にわたって物理的に異なるように保存され得るが、ユーザにとっては、彼らのデータが単一のアクセス可能な「場所」に保存されるように思われる。さらに、ユーザは、友人または仕事の同僚のような他のユーザに、彼または彼女のファイルを読込んだり、さらには更新させたりさえし得るアクセス権限を与え得る。   Storage devices can be added to provide additional capacity. In addition, data can be stored physically different across many storage devices that can even change over time, but for users it appears that their data is stored in a single accessible "location". It is. In addition, the user may give other users, such as friends or business colleagues, access rights that can read or even update his or her files.

仮想ファイルシステムを用いる従来の分散ストレージシステムが公知である。
US−A−5873085は、複数のサーバを有するシステムを記載し、各サーバはそれぞれのファイルシステムを管理するとともに、少なくとも1つのサーバは仮想ファイル管理システムを運用する。当該仮想ファイル管理システムは、仮想ファイル識別子、サーバ名、および各仮想ファイルについての実際のファイル名を保存する管理テーブルを含む。あるサーバがクライアントから、指定されたファイルを読込むまたは修正する要求を受取り、かつ当該サーバがそのファイルを保持しないならば、サーバは他のどのサーバが当該ファイルを保存しているかを特定し、当該他のサーバがクライアントに直接応答するよう命令するように要求を修正し、この修正された要求を他のサーバに転送する。
Conventional distributed storage systems using virtual file systems are known.
US-A-5873308 describes a system having a plurality of servers, each server managing a respective file system and at least one server operating a virtual file management system. The virtual file management system includes a management table that stores a virtual file identifier, a server name, and an actual file name for each virtual file. If a server receives a request from a client to read or modify a specified file, and the server does not hold the file, the server determines which other server stores the file, Modify the request to instruct the other server to respond directly to the client, and forward the modified request to the other server.

このシステムには、サーバもデータを保存するという欠点がある。これにより、任意の1つのサーバに加えられ得るストレージ量を制限し得る。さらに他のサーバを加えることで、付加的なストレージを提供し得るが、これは単に付加的なストレージ装置を加えるよりも高額の費用がかかる。   This system has the disadvantage that the server also stores the data. This can limit the amount of storage that can be added to any one server. Adding additional servers may provide additional storage, but this is more expensive than simply adding additional storage devices.

US−A−20050246393は、仮想ファイルシステムと、複数のインテリジェントストレージノード、および指定されたオブジェクトファイルを保存するインテリジェントストレージノードを特定およびそこにアクセスするための複数の制御ノード(「分散オブジェクトストレージマネージャ」とも言う)を有するストレージクラスタとを有するネットワークストレージシステムを記載する。各分散オブジェクトストレージマネージャは、インテリジェントストレージノードに保存されるオブジェクトファイルの位置を特定するルックアップテーブルと、インテリジェントストレージノードの全体の容量および健全性に関する情報を保存する状態テーブルとを維持する。状態テーブルは、新しいオブジェクトファイルを保存するようインテリジェントストレージノードを選択するのに用いられる。ネットワークストレージシステムが新しいオブジェクトファイルにデータを保存する要求を受取ると、ロードバランシングファブリックが可用性に基づき分散オブジェクトストレージマネージャのうちの1つを選択し、当該要求を選択された分散オブジェクトストレージマネージャに転送する。立ち代わって、分散オブジェクトストレージマネージャは、インテリジェントストレージノードを選択する。   US-A-20050246393 discloses a virtual file system, a plurality of intelligent storage nodes, and a plurality of control nodes ("Distributed Object Storage Manager") for identifying and accessing an intelligent storage node storing a specified object file. A network storage system having a storage cluster with a storage cluster. Each distributed object storage manager maintains a look-up table that locates object files stored on the intelligent storage node and a state table that stores information about the overall capacity and health of the intelligent storage node. The state table is used to select an intelligent storage node to save a new object file. When the network storage system receives a request to store data in a new object file, the load balancing fabric selects one of the distributed object storage managers based on availability and forwards the request to the selected distributed object storage manager. . Instead, the distributed object storage manager selects an intelligent storage node.

異なる分散オブジェクトストレージマネージャは、新しいオブジェクトファイルを保存することを担う。したがって、各分散オブジェクトストレージマネージャは、少なくとも初期では、自身が担うファイルについての情報のみを保存する。したがって、分散オブジェクトストレージマネージャは、自身が担わない所与のファイルへのアクセス要求を受取ると、当該ファイルを求める要求をインテリジェントストレージノードにブロードキャスト送信する。したがって、インテリジェントストレージノードには、このような要求を扱う十分な処理能力が与えられなければならない。これにより、ストレージノードを加えることがさらに難しくなる。   Different distributed object storage managers are responsible for storing new object files. Thus, each distributed object storage manager stores only information about the files it serves at least initially. Therefore, when the distributed object storage manager receives a request to access a given file that it does not carry, the distributed object storage manager broadcasts a request for the file to the intelligent storage node. Therefore, the intelligent storage node must be given sufficient processing capacity to handle such requests. This makes it more difficult to add storage nodes.

この発明は、分散ストレージに対するアクセスを管理するための改善されたサーバ、したがって改善された分散ストレージシステムを提供することに努める。   The present invention seeks to provide an improved server and thus an improved distributed storage system for managing access to distributed storage.

発明の概要
この発明の第1の局面に従えば、複数のストレージ装置を含む分散ストレージへのアクセスを管理するためのサーバが与えられ、このサーバは、少なくとも1つの他のサーバと通信し、これらサーバのうちどれが、データを保存する際に用いられることになる分散ストレージの部分を選択するかを判断するよう構成される。
According to a first aspect of the present invention, there is provided a server for managing access to a distributed storage including a plurality of storage devices, the server communicating with at least one other server, The server is configured to determine which part of the distributed storage to be used when storing data.

したがって、単一のサーバがデータの保存を制御し、これにより、ストレージの同時割当ての問題を避けるのを支援するとともに、当該データについての情報が単一のメタデータサーバに秩序立って保存されることを可能にするのを支援する。   Thus, a single server controls the storage of data, thereby helping to avoid the problem of simultaneous storage allocation and information about the data is stored in an orderly manner on a single metadata server. Help make it possible.

このサーバは、分散ストレージにデータを保存する要求をクライアントから受取るための第1の制御部と、当該データを保存する際に用いる分散ストレージの部分を選択するための第2の制御部とを含んでもよく、第2の制御部は、少なくとも1つの他の第2の制御部と通信し、これら第2の制御部のどれが、用いられることになる分散ストレージの部分を選択するかを判断するよう構成されている。   The server includes a first control unit for receiving a request to save data in the distributed storage from the client, and a second control unit for selecting a portion of the distributed storage used when saving the data. The second controller may communicate with at least one other second controller to determine which of these second controllers will select the portion of the distributed storage that will be used. It is configured as follows.

このサーバは、用いられることになる分散ストレージの部分を別のサーバが選択することになるという判断に応答して、当該他のサーバから分散ストレージの部分の識別情報を受取り、かつ用いられることになる分散ストレージの部分を自身が選択することになるという判断に応答して、分散ストレージの部分を選択するよう構成されてもよい。   In response to a determination that another server will select the portion of the distributed storage that is to be used, this server receives and uses the identification information of the portion of the distributed storage from that other server. The distributed storage portion may be selected in response to determining that it will select the distributed storage portion itself.

このサーバは、分散ストレージの部分の中におけるストレージ装置のうちの1つを選択するよう構成されてもよい。   The server may be configured to select one of the storage devices in the distributed storage portion.

このサーバは、第2の制御部からの命令に応答して、分散ストレージの部分の中のストレージ装置のうちの1つを選択するための第3の制御部をさらに含んでもよい。   The server may further include a third control unit for selecting one of the storage devices in the distributed storage portion in response to a command from the second control unit.

このサーバは、ファイルが1つのストレージ装置に保存された後、分散ストレージの部分の中の他のストレージ装置においてファイルを複製させるよう構成されてもよい。このサーバは、ファイルが保存された後、ファイルに関する情報をメタデータサーバに送信するよう構成されてもよい。このサーバは、ファイルに対応する仮想ファイル識別子をメタデータサーバから受取り、仮想ファイル識別子をクライアントに対して送信するよう構成されてもよい。   The server may be configured to replicate the file in another storage device in the distributed storage portion after the file is stored in one storage device. The server may be configured to send information about the file to the metadata server after the file is saved. The server may be configured to receive a virtual file identifier corresponding to the file from the metadata server and send the virtual file identifier to the client.

このサーバは、あるファイルを読込または更新する要求に応答して、当該ファイルに関する情報を求める要求を少なくとも1つのメタデータサーバのいずれか1つに送信するよう構成されてもよい。   In response to a request to read or update a file, the server may be configured to send a request for information about the file to any one of the at least one metadata server.

ストレージ装置の少なくとも1つは、ストレージアクセスネットワークのような遠隔のストレージシステムによって与えられてもよい。   At least one of the storage devices may be provided by a remote storage system such as a storage access network.

この発明の第2の局面に従うと、複数のアクセス管理サーバと、分散ストレージに保存されるファイルについての情報を保存するためのメタデータサーバとを含む分散ストレージ管理システムが与えられる。   According to a second aspect of the present invention, a distributed storage management system including a plurality of access management servers and a metadata server for storing information about files stored in the distributed storage is provided.

メタデータサーバはアクセス管理サーバから分離されてもよい。
分散ストレージ管理システムは少なくとも1つの追加のメタデータサーバをさらに含んでもよく、アクセス管理サーバは各々、ファイルに関する情報をメタデータサーバに送るが、当該少なくとも1つの追加のメタデータサーバには送らないように構成されている。アクセス管理サーバは各々、ファイルに関する情報を求める要求を当該少なくとも1つの追加のメタデータサーバのいずれかに送るよう構成されてもよい。
この発明の第3の局面に従えば、分散ファイル管理システムと、複数のストレージ装置を含む分散ストレージとを含む分散ストレージシステムが与えられる。
The metadata server may be separated from the access management server.
The distributed storage management system may further include at least one additional metadata server, and each access management server sends information about the file to the metadata server, but not to the at least one additional metadata server. It is configured. Each access management server may be configured to send a request for information about the file to any of the at least one additional metadata server.
According to the third aspect of the present invention, a distributed storage system including a distributed file management system and a distributed storage including a plurality of storage devices is provided.

当該ストレージ装置は複数のタイプのストレージ装置を含む。
この発明の第4の局面に従えば、複数のストレージ装置を含む分散ストレージへのアクセスを管理するためのサーバを運用する方法が与えられ、当該方法は、少なくとも1つの他のサーバと通信し、これらサーバのうちどれが、データを保存する際に用いられることになる分散ストレージの部分を選択するかを判断することを含む。この方法は、分散ストレージにデータを保存する要求をクライアントから受取ることを含んでもよい。
The storage device includes a plurality of types of storage devices.
According to a fourth aspect of the present invention, there is provided a method of operating a server for managing access to a distributed storage including a plurality of storage devices, the method communicating with at least one other server, Including determining which of these servers will select the portion of the distributed storage that will be used in storing the data. The method may include receiving a request from the client to save data in the distributed storage.

この方法は、第1の制御部が、分散ストレージにデータを保存する要求を受取ることと、第2の制御部が、少なくとも1つの他の第2の制御部と通信し、これら第2の制御部のどれが、用いられることになる分散ストレージの部分を選択するかを判断することとを含んでもよい。   In this method, when the first control unit receives a request to save data in the distributed storage, the second control unit communicates with at least one other second control unit, and the second control unit Determining which of the portions of the distributed storage to be used will be selected.

この方法は、用いられることになる分散ストレージの部分を別のサーバが選択することになると判断することと、用いられることになる分散ストレージの部分の識別情報を他のサーバから受取ることとを含んでもよい。この方法は、サーバが、用いられることになる分散ストレージの部分を選択することになると判断することと、用いられることになる分
散ストレージの部分を選択することとを含んでもよい。この方法は、用いられることになる分散ストレージの部分の中におけるストレージ装置のうちの1つを選択することを含んでもよい。この方法は、分散ストレージの選択された部分に当該データを保存することを含んでもよい。
The method includes determining that another server will select the portion of the distributed storage that is to be used, and receiving identification information from the other server that portion of the distributed storage that is to be used. But you can. The method may include determining that the server will select the portion of the distributed storage that is to be used and selecting the portion of the distributed storage that is to be used. The method may include selecting one of the storage devices in the portion of distributed storage that will be used. The method may include storing the data in a selected portion of distributed storage.

この方法は、ファイルが1つのストレージ装置に保存された後、分散ストレージの部分の中の他のストレージ装置においてファイルを複製させることをさらに含んでもよい。この方法は、ファイルが保存された後、ファイルに関する情報をメタデータサーバに送信することを含んでもよい。この方法は、ファイルに対応する仮想ファイル識別子をメタデータサーバから受取ることを含んでもよく、仮想ファイル識別子をクライアントに対して送信することを含んでもよい。   The method may further include replicating the file on another storage device in the distributed storage portion after the file is stored on one storage device. The method may include sending information about the file to the metadata server after the file is saved. The method may include receiving a virtual file identifier corresponding to the file from the metadata server and may include transmitting the virtual file identifier to the client.

この方法は、あるファイルを読込または更新する要求を受取ることと、当該ファイルに関する情報を求める要求を少なくとも1つのメタデータサーバのいずれか1つに送信することとを含んでもよい。   The method may include receiving a request to read or update a file and sending a request for information about the file to any one of the at least one metadata server.

この発明の第5の局面に従えば、コンピュータによって実行される際に、コンピュータに上記の方法を実行させる命令を含むコンピュータプログラムが与えられる。   According to a fifth aspect of the present invention, there is provided a computer program including instructions that, when executed by a computer, cause the computer to execute the above method.

この発明の第6の局面に従えば、上記のコンピュータプログラムを保存するコンピュータ読取可能媒体が与えられる。   According to a sixth aspect of the present invention, there is provided a computer readable medium for storing the above computer program.

添付の図面を参照して、この発明の実施例を例示目的で記載する。   Embodiments of the present invention will now be described for purposes of illustration with reference to the accompanying drawings.

発明の実施例の詳細な説明
図1を参照すると、この発明に従った分散ストレージシステム1が示される。クライアント2,3、この例ではデスクトップパーソナルコンピュータ2および携帯電話ハンドセット3、がインターネットのような通信ネットワーク4を介して分散ストレージシステム1にアクセスし得る。明確さのために、2つのクライアント2,3しか示さないが、1つのクライアントか、または2つよりも多いクライアントがシステム1にアクセスし得るということは理解されるであろう。ネットワーク4は、公衆地上モバイルネットワーク(図示せず)または無線ローカルエリアネットワーク(図示せず)を含む複数の無線および有線ネットワークを含んでもよい。
Detailed Description of the Embodiments of the Invention Referring to FIG. 1, a distributed storage system 1 according to the present invention is shown. Clients 2, 3, in this example desktop personal computer 2 and mobile phone handset 3, can access distributed storage system 1 via communication network 4 such as the Internet. For clarity, only two clients 2 and 3 are shown, but it will be understood that one client or more than two clients can access the system 1. The network 4 may include a plurality of wireless and wired networks including a public land mobile network (not shown) or a wireless local area network (not shown).

分散ストレージシステム1は、分散ストレージへのアクセスを管理するための第1、第2、および第3のサーバ51,52,53を含む(サーバ51,52,53を以下では「ファイルサービスプロバイダ」と呼ぶ)。システム1は、たとえば1つもしくは2つといった、上記よりも少ないか、または上記よりも多い数のファイルサービスプロバイダを有してもよい。ファイルサービスプロバイダ51,52,53は、第3のファイルサービスプロバイダ53によって与えられるハードディスクドライブの形態である第1のストレージ装置61のようなストレージ装置6とローカルに通信するか、または通信ネットワーク4もしくはイントラネットのような別の通信ネットワーク7を介してリモートに通信する。たとえば、ストレージエリアネットワーク(storage area network;SAN)8が第2のストレージ装置62を提供してもよく、ネットワーク接続ストレージ(network attached storage;NAS)9が第3のストレージ装置63を提供してもよく、ファイルサーバ63が第4のストレージ装置64を提供してもよい。ストレージ装置6の数は異なってもよい。たとえば、SAN8またはNAS9は、1つより多いストレージ装置を提供し得、および/または1つより多いSANもしくはNASが与えられてもよく、その各々は少なくとも1つのストレージ装置6を提供する。ストレージ装置6を提供するシステムの他の形態、たとえ
ば共用インターネットファイルシステム(common internet file systems;CIFS)(図示せず)が用いられ得、光学ディスク(たとえばDVD)ドライブおよびUSBドライブが用いられてもよい。ストレージ装置6の数は時とともに変わり得る。たとえば、ストレージ装置6は加えられてもよく、または取除かれてもよい。ストレージ装置6の配置も変化し得る。
The distributed storage system 1 includes first, second, and third servers 5 1 , 5 2 , and 5 3 for managing access to the distributed storage (servers 5 1 , 5 2 , and 5 3 are described below). Called "File Service Provider"). The system 1 may have fewer or more file service providers than the above, for example one or two. The file service provider 5 1, 5 2, 5 3, a third file service provider 5 3 first storage device 6 and either communicating locally, such as storage device 61 in the form of a hard disk drive provided by, Alternatively, communication is performed remotely via the communication network 4 or another communication network 7 such as an intranet. For example, storage area network (storage area network; SAN) 8 is may provide a second storage apparatus 6 2, network attached storage (network attached storage; NAS) 9 is provided a third storage apparatus 6 3 at best, the file server 6 3 may provide a fourth storage apparatus 6 4. The number of storage devices 6 may be different. For example, SAN 8 or NAS 9 may provide more than one storage device and / or more than one SAN or NAS may be provided, each providing at least one storage device 6. Other forms of the system providing the storage device 6 may be used, such as common internet file systems (CIFS) (not shown), even if optical disk (eg DVD) drives and USB drives are used. Good. The number of storage devices 6 can change over time. For example, the storage device 6 may be added or removed. The arrangement of the storage device 6 can also change.

後でさらに詳細に説明するように、ストレージ装置6は集合的に単一のストレージボリューム26(図4)を提供し、クラスタ27(図4)の中に配される。   As will be described in more detail later, the storage apparatus 6 collectively provides a single storage volume 26 (FIG. 4) and is arranged in a cluster 27 (FIG. 4).

ファイルサービスプロバイダ5は、仮想ファイル参照と実際のファイルとの間のマッピングのために、通信ネットワーク7を介して第1のメタデータサーバ111および随意の第2のメタデータサーバ112と通信する。ファイルサービスプロバイダ5は、第1のメタデータサーバ111からメタデータを読込み、そこへメタデータを書込むことができる。しかしながら、ファイルサービスプロバイダ51,52,53は、第2のメタデータサーバ112からはメタデータを読込むことしかできない。第1および第2のメタデータサーバ111,112は、以下ではそれぞれ「アクティブ」および「パッシブ」メタデータサーバ111,112と呼ぶ。アクティブメタデータサーバ111は、たとえば周期的に、要求に応じて、または所定のトリガに応答して、メタデータをパッシブメタデータサーバ112にコピーしてもよい。1つより多いパッシブメタデータサーバ112が設けられてもよい。さらに、各メタデータサーバ111,112は、2つ以上のサーバの間に分散されてもよい。 The file service provider 5 communicates with the first metadata server 11 1 and the optional second metadata server 11 2 via the communication network 7 for mapping between virtual file references and actual files. . File service provider 5, first metadata server 11 1 from the read metadata, there to be able to write metadata. However, the file service providers 5 1 , 5 2 , and 5 3 can only read metadata from the second metadata server 11 2 . The first and second metadata servers 11 1 , 11 2 are hereinafter referred to as “active” and “passive” metadata servers 11 1 , 11 2 , respectively. The active metadata server 11 1 may copy the metadata to the passive metadata server 11 2 , for example, periodically, in response to a request or in response to a predetermined trigger. More than one passive metadata server 11 2 may be provided. Further, each metadata server 11 1 , 11 2 may be distributed between two or more servers.

図2をさらに参照すると、ファイルサービスプロバイダ5およびメタデータサーバ11は、それぞれのコンピュータシステム12上にてソフトウェアで実現される。各コンピュータシステム12は、バス16によって動作可能なように接続されるプロセッサ13、メモリ14、および入力/出力(I/O)インターフェイス15を含む。コンピュータシステム12は1つより多いプロセッサを含んでもよい。I/Oインターフェイス15は、ネットワークインターフェイス17、ハードディスクドライブの形態であるストレージ18、および、随意であるが、取外し可能なストレージ19に動作可能に接続される。キーボード(図示せず)およびディスプレイ(図示せず)のような周辺機器を含む他の要素が一時的または恒久的に設けられてもよい。   Still referring to FIG. 2, the file service provider 5 and the metadata server 11 are implemented by software on the respective computer systems 12. Each computer system 12 includes a processor 13, a memory 14, and an input / output (I / O) interface 15 operably connected by a bus 16. Computer system 12 may include more than one processor. The I / O interface 15 is operatively connected to a network interface 17, a storage 18 in the form of a hard disk drive, and optionally a removable storage 19. Other elements including peripheral devices such as a keyboard (not shown) and a display (not shown) may be provided temporarily or permanently.

コンピュータシステム12によって実行されると、コンピュータシステム12がファイルサービスプロバイダまたはメタデータサーバの処理を与えるようにさせるコンピュータプログラムコード201,202がハードドライブ18上に保存され、プロセッサ13による処理のためにメモリ14にロードされる。コンピュータプログラムコード201,202は、取外し可能なストレージ19上に保存され、そこから転送されてもよく、またはリモートソース(図示せず)からネットワークインターフェイス17を通じて転送されてもよい。 When executed by the computer system 12, computer program code 20 1 , 20 2 that causes the computer system 12 to provide file service provider or metadata server processing is stored on the hard drive 18 for processing by the processor 13. Is loaded into the memory 14. Computer program code 20 1 , 20 2 may be stored on and removable from removable storage 19 or may be transferred through a network interface 17 from a remote source (not shown).

図1および図3を参照すると、各ファイルサービスプロバイダ5は、クライアント2,3とインターフェイス接続するための第1のサービスまたは制御部21と、ストレージクラスタ27(図4)を選択するための第2のサービスまたは制御部22と、クラスタ27(図4)の中のストレージ装置6を選択するための第3のサービスまたは制御部23と、クラスタ27(図4)の中およびそれら同士の間でのデータの複製を制御するための第4のサービスまたは制御部24と、メタデータサーバ111,112とインターフェイス接続するための第5のサービスまたは制御部25とを含む。 1 and 3, each file service provider 5 has a first service or control unit 21 for interfacing with clients 2 and 3, and a second for selecting a storage cluster 27 (FIG. 4). Service or control unit 22, a third service or control unit 23 for selecting the storage device 6 in the cluster 27 (FIG. 4), and the cluster 27 (FIG. 4) or between them. A fourth service or control unit 24 for controlling data replication and a fifth service or control unit 25 for interfacing with the metadata servers 11 1 and 11 2 are included.

第1のサービス21は、ファイルを書込および読込するといったようにファイルにアクセスする、クライアント2,3から受取られた要求を管理し、かつ図3に示される他のコ
ンポーネントも管理する。第1のサービス21は、ここでは「ファイルサービスマネージャ」と呼ばれる。
The first service 21 manages requests received from clients 2 and 3 that access the file, such as writing and reading the file, as well as other components shown in FIG. The first service 21 is referred to herein as a “file service manager”.

第2のサービス22は、データを書込む際にクラスタ27(図4)を選択し、ここでは「割当マネージャ」と呼ばれる。後でさらに詳細に説明するように、割当マネージャ22は他の割当マネージャ22と通信する。1つの割当マネージャ22M(図4)は、「マスタ割当マネージャ」と呼ばれ、クラスタ27(図4)を選択するのを担うよう選ばれ、その他の割当マネージャ22は、マスタ割当マネージャ22M(図4)のためのプロキシとして動作する。選ばれた割当マネージャ22Mは変更し得る。 The second service 22 selects the cluster 27 (FIG. 4) when writing data and is referred to herein as the “allocation manager”. The assignment manager 22 communicates with other assignment managers 22 as will be described in more detail later. One allocation manager 22 M (FIG. 4) is referred to as a “master allocation manager” and is chosen to be responsible for selecting the cluster 27 (FIG. 4), while the other allocation managers 22 are master allocation managers 22 M ( Acts as a proxy for FIG. The selected allocation manager 22M can change.

書込または読込処理において、第3のサービス23はあるストレージ装置6を選択し、その可用性を確認する。ここでは、第3のサービス22は「クラスタマネージャ」と呼ばれる。クラスタマネージャ23は、1つのストレージ装置6におけるファイルストリームを他のストレージ装置6に複製することをトリガする。クラスタマネージャ23はさらに、処理量を増加させるよう、ストレージ装置6同士の間で読込処理を分散させる。クラスタマネージャ23はさらに、クライアントからストレージ装置への処理量に関するデータを集める。処理量データは、クライアント2,3に対して、より速い応答を有するストレージ装置6を選択するよう、書込または読込処理中に用いられ得る。   In the writing or reading process, the third service 23 selects a certain storage device 6 and confirms its availability. Here, the third service 22 is called a “cluster manager”. The cluster manager 23 triggers to replicate the file stream in one storage device 6 to the other storage device 6. The cluster manager 23 further distributes the read processing among the storage apparatuses 6 so as to increase the processing amount. The cluster manager 23 further collects data regarding the processing amount from the client to the storage apparatus. The throughput data can be used during the write or read process to select the storage device 6 that has a faster response to the clients 2, 3.

第4のサービス24はここでは「複製サービス」と呼ばれる。先に説明したように、複製サービス24はクラスタ27(図4)の中、およびクラスタ27同士の間でデータの複製を制御する。クラスタマネージャ23は、ストレージ装置6のいずれかが利用可能でない場合、複製トランザクションのログを取る。   The fourth service 24 is referred to herein as a “replication service”. As described above, the replication service 24 controls data replication in the cluster 27 (FIG. 4) and between the clusters 27. The cluster manager 23 logs a replication transaction when any of the storage apparatuses 6 is not available.

第5のサービス25は、ここでは「メタデータサーバインターフェイス」と呼ばれる。メタデータサーバインターフェイス25は、たとえばファイルについての情報のようなメタデータをアクティブメタデータサーバ111に送り、アクティブまたはパッシブメタデータサーバ111,112からメタデータを抽出する。 The fifth service 25 is referred to herein as a “metadata server interface”. The metadata server interface 25 sends metadata such as information about a file to the active metadata server 11 1 and extracts metadata from the active or passive metadata servers 11 1 and 11 2 .

図4を参照すると、ストレージ装置6は単一のストレージボリュームまたはストレージスペース26を提供する。ストレージ装置6はクラスタ27の中に配され、クラスタ27では、各ストレージ装置6が同じクラスタ27にある別のストレージ装置6と同じデータを保存する。すなわち、1つのクラスタ27におけるストレージ装置6同士は互いのミラーである。明確さのため、2つのクラスタ27のみを示す。一方のクラスタ27において、ストレージ装置6は、たとえばネットワークアドレスのような異なるアクセス構成を有する。各ファイルサービスプロバイダ5は、各クラスタ27における少なくとも1つのストレージ装置6にアクセスし得る。   Referring to FIG. 4, the storage device 6 provides a single storage volume or storage space 26. The storage device 6 is arranged in the cluster 27, and each storage device 6 stores the same data as another storage device 6 in the same cluster 27. That is, the storage apparatuses 6 in one cluster 27 are mirrors of each other. For clarity, only two clusters 27 are shown. In one cluster 27, the storage apparatus 6 has a different access configuration such as a network address. Each file service provider 5 can access at least one storage device 6 in each cluster 27.

メタデータサーバ111,112は、第1、第2、第3、第4、および第5のメタデータテーブル28,29,30,31,32を保存する。メタデータは、仮想ファイル参照を物理ファイル参照にマッピングするための情報と、(ファイル圧縮およびウイルスチェックのような)フィルタが適用される前のファイルの属性とを含む。メタデータはさらに、フォルダツリー、フォルダの中身のデータ、さらには各ファイルおよびフォルダについてのアクセス制御リストのような他の情報を含む。 The metadata servers 11 1 and 11 2 store the first, second, third, fourth, and fifth metadata tables 28, 29, 30, 31, and 32. The metadata includes information for mapping virtual file references to physical file references and the attributes of the file before filters are applied (such as file compression and virus checking). The metadata further includes other information such as a folder tree, folder contents data, and an access control list for each file and folder.

第1のテーブル28(以下、「仮想ファイルシステムエンティティテーブル」と呼ぶ)は、仮想エンティティ識別子33と、クラスタ識別子34と、ファイルまたはディレクトリのような各エンティティについてのエンティティタイプ35と、物理ストレージ識別子36におけるパスとを保存する。   A first table 28 (hereinafter referred to as a “virtual file system entity table”) includes a virtual entity identifier 33, a cluster identifier 34, an entity type 35 for each entity such as a file or directory, and a physical storage identifier 36. Save the path at.

第2のテーブル29(以下「仮想ファイルシステムアクセス制御リスト」と呼ぶ)は、仮想エンティティ識別子37と、各エンティティについてのアクセスリスト38とを保存し、ユーザ、すなわちクライアントユーザのセキュリティ権限を規定する。仮想ファイルシステムアクセス制御リスト29は、エンティティに関するアクセス権限のセットとともに、読込、書込、作成、削除、および変更権限といったようなエンティティに対するアクセス権限を有するユーザをリストアップする。   The second table 29 (hereinafter referred to as “virtual file system access control list”) stores a virtual entity identifier 37 and an access list 38 for each entity, and defines the security authority of the user, that is, the client user. The virtual file system access control list 29 lists the users who have access rights to the entity, such as read, write, create, delete, and change rights, along with a set of access rights for the entity.

クライアント2,3が送った、エンティティへのアクセスの各要求は、ユーザの識別情報を特定する。したがって、ファイルサービスプロバイダ5は、所与のエンティティへのアクセスの要求を受取るたびごとに、たとえば当該エンティティおよびユーザに関するリスト29の部分を抽出することによって、仮想ファイルシステムアクセス制御リスト29に問合せを行ない、これによりユーザのアクセス権限を照合する。   Each request for access to an entity sent by the clients 2 and 3 specifies the identification information of the user. Thus, each time a file service provider 5 receives a request for access to a given entity, it queries the virtual file system access control list 29, for example by extracting a portion of the list 29 for that entity and user. This verifies the user's access authority.

第3のテーブル30(以下、「仮想ファイルシステムエンティティ共有リスト」と呼ぶ)は、各エンティティについて、仮想エンティティ識別子39と、アクセスリスト40とを保存し、ファイルの閲覧を共有するよう登録ユーザによって招待される登録されていないユーザ(「共有閲覧者」と呼ぶ)のためのアクセス権限を規定する。仮想ファイルシステムアクセス制御リスト30は、アクセス権限が通常、たとえば読込のみに制限されるという点を除いて、仮想ファイルシステムアクセス制御リスト29に類似する。   A third table 30 (hereinafter referred to as a “virtual file system entity sharing list”) stores virtual entity identifiers 39 and access lists 40 for each entity and invites registered users to share file browsing. Specifies access rights for unregistered users (called “shared viewers”). The virtual file system access control list 30 is similar to the virtual file system access control list 29, except that access rights are typically limited to, for example, read only.

共有閲覧者は、登録ユーザとは異なった形で識別および認証される。識別および認証は、分散ストレージシステム1と確立された信頼関係を有する外部のシステム(図示せず)によって行なわれ得る。   Shared viewers are identified and authenticated differently than registered users. Identification and authentication can be performed by an external system (not shown) having a trust relationship established with the distributed storage system 1.

仮想ファイルシステムアクセス制御リスト30は、たとえば、共有閲覧者が分散ストレージシステム1にアクセスすることを許可されない場合、省略されてもよい。   The virtual file system access control list 30 may be omitted, for example, when a shared viewer is not permitted to access the distributed storage system 1.

第4のテーブル31(以下、「論理クラスタメタデータテーブル」と呼ぶ)は、各クラスタ27について、(論理)クラスタ識別子41と(物理)ストレージ装置識別子42とを保存する。論理クラスタメタデータテーブル31は、クラスタマネージャ23がクラスタ27におけるストレージ装置6を識別することを可能にする。   The fourth table 31 (hereinafter referred to as “logical cluster metadata table”) stores a (logical) cluster identifier 41 and a (physical) storage device identifier 42 for each cluster 27. The logical cluster metadata table 31 enables the cluster manager 23 to identify the storage device 6 in the cluster 27.

第5のテーブル32(以下、「論理クラスタリレーションテーブル」と呼ぶ)は、各クラスタ27について、第1のクラスタ識別子43、第2のクラスタ識別子44、および関係タイプ45を保存し、かつクラスタ27同士の間の関係を記載する。たとえば、論理クラスタリレーションテーブル32は、第1のクラスタ27Aが第2のクラスタ27Bの複製物(すなわちミラー)であると特定してもよい。代替的には、論理クラスタリレーションテーブル32は、第1のクラスタ27Aが、事前に規定された基準に従って保存された、第2のクラスタ27Bに保存されたファイルについてのアーカイブであると特定してもよい。アーカイブは、ほとんどアクセスされないファイルか、または特定の日時より前に作成されたファイルを含み得る。したがって、第1のクラスタ27Aは、第2のクラスタ27Bにアーカイブされるファイルを保存する必要はない。アーカイブされたファイルは、たとえばテープストレージシステムに保存されてもよい。 The fifth table 32 (hereinafter referred to as “logical cluster relation table”) stores the first cluster identifier 43, the second cluster identifier 44, and the relationship type 45 for each cluster 27, and the clusters 27 to each other. Describe the relationship between. For example, the logical cluster relation table 32 may specify that the first cluster 27 A is a replica (ie, a mirror) of the second cluster 27 B. Alternatively, the logical cluster relation table 32 identifies that the first cluster 27 A is an archive for files stored in the second cluster 27 B stored according to pre-defined criteria. May be. An archive may include files that are rarely accessed or created before a certain date and time. Therefore, the first cluster 27 A does not need to store the files that are archived in the second cluster 27 B. Archived files may be stored, for example, in a tape storage system.

以下にさらに詳細に記載されるように、システム1は、ファイルサービスをクライアント2,3に提供するよう用いられ得る。要求および応答はセッションなしで交換されるため、異なるファイルサービスプロバイダ5は、同じクライアント2,3からの異なる要求を扱い得る。したがって、ファイルサービスプロバイダ5は、クライアント2,3の状態についてのいかなる情報も保存する必要はない。その代わり、クライアント2,3は、自身の状態についての情報を保存し得、かつファイルサービスプロバイダ5に要求を送る際
にこの情報を供給し得る。たとえば、要求は、ユーザが仮想ファイルシステムアクセス制御リスト29に保存されるアクセス権限に対して照合されるのに必要とされる認証情報を含んでもよい。
As described in further detail below, the system 1 can be used to provide file services to clients 2, 3. Since the requests and responses are exchanged without a session, different file service providers 5 can handle different requests from the same client 2, 3. Therefore, the file service provider 5 does not need to store any information about the state of the clients 2 and 3. Instead, the clients 2, 3 can store information about their state and supply this information when sending requests to the file service provider 5. For example, the request may include authentication information required for the user to be verified against the access rights stored in the virtual file system access control list 29.

書込(ファイルの作成)
図4、図5a、および図5bを参照して、ここでファイル書込処理を記載する。
Write (create file)
The file writing process will now be described with reference to FIGS. 4, 5a and 5b.

クライアント、この例ではパーソナルコンピュータ2、がファイル書込要求46をファイルサービスプロバイダ5のファイルサービスマネージャ21に送る(ステップW1)。ファイルサービスプロバイダ5は、ルーティングメカニズムに従ってか、またはネットワーク4(図1)におけるロードバランサ(図示せず)によって選択される。ファイル書込要求46は、ファイルデータ48と、ファイルタイプおよびファイルサイズのようなファイル属性49とを含む、書込まれることになるファイル47を含む。   The client, in this example, the personal computer 2 sends a file write request 46 to the file service manager 21 of the file service provider 5 (step W1). The file service provider 5 is selected according to a routing mechanism or by a load balancer (not shown) in the network 4 (FIG. 1). File write request 46 includes file 47 to be written, including file data 48 and file attributes 49 such as file type and file size.

ファイルサービスマネージャ21は、クラスタ割当要求50を割当マネージャ22に転送する(ステップW2)。要求50は、クラスタ27を選択するのに用いられてもよいファイル属性49を含んでもよい。   The file service manager 21 transfers the cluster allocation request 50 to the allocation manager 22 (step W2). Request 50 may include a file attribute 49 that may be used to select cluster 27.

マスタ割当マネージャ22Mは、たとえばファイル属性49、および/もしくはクラスタ属性、および利用可能なスペースおよび利用率といった状態(図示せず)に基づくか、または総当りといったような他の何らかの基準で、クラスタ27を選択する(ステップW3)。 Master allocation manager 22 M, for example the file attributes 49, and / or cluster attributes, and be based on conditions such as available space and utilization (not shown), or some other criteria such as round robin, cluster 27 is selected (step W3).

クラスタ27が選択される前に、割当マネージャ22は、自身がマスタ割当マネージャ22Mであるかどうか判断する。割当マネージャ22は、マスタ割当マネージャ22Mであるならば、クラスタ27を選択する。そうでなければ、割当マネージャ22は要求をマスタ割当マネージャ22Mに転送し、マスタ割当マネージャ22Mがクラスタ27を割当て、クラスタ識別子を返す。 Before the cluster 27 is selected, the allocation manager 22, itself determines whether the master allocation manager 22 M. Allocation manager 22, if a master allocation manager 22 M, selects the cluster 27. Otherwise, the allocation manager 22 forwards the request to the master allocation manager 22 M, the master allocation manager 22 M is assigned a cluster 27, and returns the cluster identifier.

割当マネージャ22は、選択されたクラスタ27の中のストレージ装置6を選択するよう、命令51でクラスタマネージャ23を呼出す(ステップW4)。クラスタマネージャ23はあるストレージ装置6を選択する(ステップW5)。クラスタマネージャ23は、ファイルサービスマネージャ21とストレージ装置6との間の最も高いネットワーク可用性に基づき当該選択を行なう。ネットワーク可用性は、割当マネージャ22とクラスタマネージャ23とによって所定の時間、たとえば周期的、に集められるネットワーク状態情報を用いて判断され得る。   The allocation manager 22 calls the cluster manager 23 with an instruction 51 so as to select the storage device 6 in the selected cluster 27 (step W4). The cluster manager 23 selects a certain storage device 6 (step W5). The cluster manager 23 makes the selection based on the highest network availability between the file service manager 21 and the storage device 6. Network availability may be determined using network status information collected by the allocation manager 22 and cluster manager 23 at a predetermined time, eg, periodically.

クラスタマネージャ23は、ストレージ装置6における所与のパスを有するファイルストリーム53を作成するよう、命令52をストレージ装置6に送る(ステップW6)。ストレージ装置6はファイルストリーム53を作成する(ステップW7)。ユニークファイルハンドラーが当該ファイルストリーム53と関連付けられ、それはストレージ装置6におけるファイルストリーム53の中の第1の書込可能ブロックを(ポインタPで)指し示す。(ファイルストリーム53を識別する)ファイルハンドラーの識別情報54がクラスタマネージャ23に返される(ステップW8)。   The cluster manager 23 sends an instruction 52 to the storage apparatus 6 so as to create a file stream 53 having a given path in the storage apparatus 6 (step W6). The storage device 6 creates a file stream 53 (step W7). A unique file handler is associated with the file stream 53, which points to the first writable block in the file stream 53 in the storage device 6 (with a pointer P). The identification information 54 of the file handler (identifying the file stream 53) is returned to the cluster manager 23 (step W8).

クラスタマネージャ23は、ファイルハンドラー識別情報54と、パス55と、クラスタ識別情報56とを割当マネージャ22に返す(ステップW9)。立ち代わって、割当マネージャ22はこの情報をファイルサービスマネージャ21に返す(ステップW10)。   The cluster manager 23 returns the file handler identification information 54, the path 55, and the cluster identification information 56 to the allocation manager 22 (step W9). Instead, the allocation manager 22 returns this information to the file service manager 21 (step W10).

ファイルサービスマネージャ21は、ファイルデータ48に対して、圧縮および/また
はウイルスチェックのような書込フィルタを適用し、フィルタされたファイルデータ57を開かれたファイルストリーム53に書込む(ステップW12)。ファイルストリーム53は、フィルタされたファイルデータ57で充填される。ブロックが充填されると、ストレージ装置は、次の利用可能なフリーブロックを指し示すようポインタPを前進させる。
The file service manager 21 applies a write filter such as compression and / or virus check to the file data 48, and writes the filtered file data 57 to the opened file stream 53 (step W12). File stream 53 is filled with filtered file data 57. When the block is filled, the storage device advances the pointer P to point to the next available free block.

フィルタされたファイルデータ57がひとたび書込まれると、ファイルサービスマネージャ21は、ファイルストリーム53を閉じるよう、命令59をクラスタマネージャ23に送る(ステップW13)。クラスタマネージャ23は、ファイルストリーム53を閉じるよう命令60をストレージ装置6に送る(ステップW14)。ストレージ装置6はエンドオブファイル(end of file;EOF)マーカ61をファイルストリーム52に書込み(ステップW15)、ポインタを解放し、ストレージ装置6が提供するファイル割当テーブルのようなストレージシステム割当テーブル(図示せず)を更新する。   Once the filtered file data 57 is written, the file service manager 21 sends an instruction 59 to the cluster manager 23 to close the file stream 53 (step W13). The cluster manager 23 sends an instruction 60 to the storage apparatus 6 to close the file stream 53 (step W14). The storage apparatus 6 writes an end of file (EOF) marker 61 to the file stream 52 (step W15), releases the pointer, and stores a storage system allocation table (not shown) such as a file allocation table provided by the storage apparatus 6. Update).

クラスタマネージャ23は次いで、複製サービス24(図2)に命令(図示せず)を送ることにより、保存されたファイルストリーム53を同じクラスタ27における他のストレージ装置6に複製することをトリガする(ステップW16)。   The cluster manager 23 then triggers replication of the stored file stream 53 to other storage devices 6 in the same cluster 27 by sending instructions (not shown) to the replication service 24 (FIG. 2) (steps). W16).

ファイルサービスマネージャ21は、メタデータサーバインターフェイス25を介して、メタデータを仮想ファイルシステムエンティティテーブル28と、仮想ファイルシステムアクセス制御リスト29と、仮想ファイルシステムエンティティ共有リストテーブル30と、論理クラスタメータテーブル31と、論理クラスタリレーションテーブル32とに必要に応じて書込むよう、命令62をメタデータサーバ111に送る。メタデータサーバ111は、ファイル情報を書込み(ステップW18)、仮想ファイル識別子63をファイルサービスマネージャ21に返す(ステップW19)。ファイルサービスマネージャ21は、ファイルが仮想ファイル識別子63を含むよう書込まれたという確認情報64をクライアント2に送る(ステップW20)。 The file service manager 21 converts the metadata into a virtual file system entity table 28, a virtual file system access control list 29, a virtual file system entity shared list table 30, and a logical cluster meter table 31 via the metadata server interface 25. When, as written as needed to the logical cluster relations table 32, and sends an instruction 62 to the metadata server 11 1. The metadata server 11 1 writes the file information (step W18), and returns the virtual file identifier 63 to the file service manager 21 (step W19). The file service manager 21 sends confirmation information 64 that the file has been written to include the virtual file identifier 63 to the client 2 (step W20).

先に述べたように、割当マネージャ22は、自身がマスタ割当マネージャ22Mであるかどうか判断する。ここで、これを達成する処理をさらに詳細に記載する。 As previously mentioned, the allocation manager 22, itself determines whether the master allocation manager 22 M. The process for achieving this will now be described in more detail.

マスタ割当マネージャの選択
図4および図6を参照すると、割当マネージャ22は、クラスタ27を割当てる要求48(図5a)を受取る(ステップS1)。割当マネージャ22は、マスタ割当マネージャ22Mが既知であるかどうかチェックする(ステップS2)。
Selection of Master Assignment Manager With reference to FIGS. 4 and 6, the assignment manager 22 receives a request 48 (FIG. 5a) to assign a cluster 27 (step S1). The assignment manager 22 checks whether the master assignment manager 22 M is known (step S2).

割当マネージャ22がマスタ割当マネージャ22Mの識別情報を知っている場合、当該割当マネージャ22は自身がマスタ割当マネージャ22Mであるかどうか判断する(ステップS3)。そうであるならば、割当マネージャ22はこの要求を処理し、上述したようにクラスタ27を選択する(ステップS4)。そうでない場合、割当マネージャ22はこの要求をマスタ割当マネージャ22Mに転送する(ステップS5)。割当マネージャ22は、マスタ割当マネージャ22Mからクラスタ識別子を受取る。 If the allocation manager 22 knows the identity of the master allocation manager 22 M, the allocation manager 22 itself determines whether the master allocation manager 22 M (step S3). If so, the allocation manager 22 processes this request and selects the cluster 27 as described above (step S4). Otherwise, the assignment manager 22 forwards this request to the master assignment manager 22 M (step S5). Allocation manager 22 receives a cluster identifier from the master allocation manager 22 M.

割当マネージャ22がマスタ割当マネージャ22Mの識別情報を知らない場合、割当マネージャ22は、マスタの識別情報を求めるクエリ65を他の割当マネージャ22に送る。割当マネージャ22は返事を待ち(ステップS7)、当該クエリが「タイムアウト」するかどうか、すなわち所定の期間が過ぎる前に応答が受取られるかどうかチェックする(ステップS8)。 If the assignment manager 22 does not know the identification information of the master assignment manager 22 M , the assignment manager 22 sends a query 65 for the master identification information to the other assignment managers 22. The assignment manager 22 waits for a reply (step S7) and checks whether the query is “timed out”, ie whether a response is received before a predetermined period of time (step S8).

割当マネージャ22は、クエリがタイムアウトする前に返事66を受取る場合、マスタ割当マネージャ22Mの識別情報を保存し(ステップS9)、要求をマスタ割当マネージ
ャ22Mに転送する(ステップS5)。
If the allocation manager 22 receives the reply 66 before the query times out, it saves the identification information of the master allocation manager 22 M (step S9) and forwards the request to the master allocation manager 22 M (step S5).

割当マネージャ22は、クエリがタイムアウトする前に返事を受取らなかった場合、自身がマスタであると表明するメッセージ67を送る(ステップS11)。割当マネージャ22は異議を待ち(ステップS11)、メッセージ67がタイムアウトするかどうかをチェックする(ステップS12)。   If the assignment manager 22 does not receive a reply before the query times out, it sends a message 67 stating that it is the master (step S11). The allocation manager 22 waits for an objection (step S11) and checks whether the message 67 times out (step S12).

要求がタイムアウトする前に何も異議を受取らなければ、割当マネージャ22は自身をマスタ割当マネージャ22Mとして記録し(ステップS13)、要求を処理し、クラスタを選択する(ステップS4)。 If no objection is received before the request times out, the assignment manager 22 records itself as the master assignment manager 22 M (step S13), processes the request, and selects a cluster (step S4).

しかしながら、異議68を受取った場合、割当マネージャ22は識別クエリ65を他の割当マネージャ22に再送する(ステップS6)。   However, when the objection 68 is received, the assignment manager 22 retransmits the identification query 65 to another assignment manager 22 (step S6).

割当マネージャ22は、クエリ65およびメッセージ67を連続的に検出しようとする。   The allocation manager 22 tries to detect the query 65 and the message 67 continuously.

クエリ65またはメッセージ67を受取り、かつ自身がマスタ割当マネージャ22Mである場合、それは応答66または異議68をそれぞれ送る。マスタ割当マネージャ22Mは、別の割当マネージャ22からメッセージ67を受取った場合か、またはファイルサービスプロバイダ5が不活性化される、たとえばシャットダウンされる場合に、降格され得る。 If it receives a query 65 or message 67 and it is the master assignment manager 22 M , it sends a response 66 or an objection 68, respectively. The master assignment manager 22 M may be demoted if it receives a message 67 from another assignment manager 22 or if the file service provider 5 is deactivated, eg shut down.

書込(ファイルの更新)
図4、図7a、および図7bを参照して、ここで、ファイル更新処理を記載する。
Write (update file)
The file update process will now be described with reference to FIGS. 4, 7a and 7b.

ファイル更新処理は、上述したファイル書込処理に類似する。短く言えば、割当マネージャ22は、あるファイルの古いバージョンに割当てられたスペースを解放し、まるで新たに作成されたファイルであるかのように、当該ファイルのより新しいバージョンにスペースを割当て、当該ファイルの新しいバージョンを書込む。   The file update process is similar to the file write process described above. In short, the allocation manager 22 frees the space allocated to the old version of a file, allocates space to the newer version of the file as if it were a newly created file, Write a new version of

クライアント2は、ファイルサービスプロバイダ5のファイルサービスマネージャ21にファイル更新要求69を送る(ステップU1)。ファイル書込要求69は、新しいファイルデータ71と新しいファイル属性72とを含む更新されたファイル70、および古いファイル、たとえば以前に保存されたファイル47、についての仮想ファイル識別子73を含む。   The client 2 sends a file update request 69 to the file service manager 21 of the file service provider 5 (step U1). The file write request 69 includes a virtual file identifier 73 for the updated file 70 that includes the new file data 71 and the new file attributes 72 and the old file, eg, the previously saved file 47.

ファイルサービスマネージャ21は、どのクラスタ27に古いファイルが保存されているかを見つけるよう、クエリ74をアクティブメタデータサーバ111に送る(ステップU2)。代替的には、ファイルサーバマネージャ21はこのクエリ74をパッシブメタデータサーバ112に送ってもよい。アクティブメタデータサーバ111は、古いクラスタ識別子75と、ストレージ装置6におけるパス76と、古いファイル属性77とを返す(ステップU3)。 File service manager 21, to find out the old file to which cluster 27 is stored, sends a query 74 to the active metadata server 11 1 (step U2). Alternatively, the file server manager 21 may send the query 74 to the passive metadata server 11 2. Active metadata server 11 1 returns the old cluster identifier 75, a path 76 in the storage apparatus 6, and the old file attributes 77 (step U3).

更新処理(ステップU4からU22)は、前述の書込処理のステップW2からW20と類似した態様で進む。   The update process (steps U4 to U22) proceeds in a manner similar to steps W2 to W20 of the write process described above.

ファイルサービスマネージャ21はクラスタ割当要求78を割当マネージャ22に転送し(ステップU4)、マスタ割当マネージャ22Mはクラスタ27を選択する(ステップU5)。 File service manager 21 forwards the cluster allocation request 78 to the allocation manager 22 (step U4), the master allocation manager 22 M selects the cluster 27 (Step U5).

割当マネージャ22は、選択されたクラスタ27の中のストレージ装置6を選択するよう、命令79を送る(ステップU6)。クラスタマネージャ23は、ストレージ装置6を選択する(ステップU7)。クラスタマネージャ23は、当該ストレージ装置6において所与のパスを有する新しいファイルストリーム81を作り出すよう、命令80をストレージ装置6に送る(ステップU8)。ストレージ装置6は、ファイルストリーム81を作成し(ステップU9)、新しいファイルハンドラー識別子82をクラスタマネージャ23に渡す(ステップU10)。クラスタマネージャ23は、新しいファイルストリーム81、対応するパス83、およびクラスタ識別子84を割当マネージャ22に返す(ステップU11)。割当マネージャ22は、この情報をファイルサービスマネージャ21に転送する(ステップU12)。   The allocation manager 22 sends an instruction 79 to select the storage device 6 in the selected cluster 27 (step U6). The cluster manager 23 selects the storage device 6 (step U7). The cluster manager 23 sends an instruction 80 to the storage apparatus 6 so as to create a new file stream 81 having a given path in the storage apparatus 6 (step U8). The storage device 6 creates a file stream 81 (step U9) and passes a new file handler identifier 82 to the cluster manager 23 (step U10). The cluster manager 23 returns the new file stream 81, the corresponding path 83, and the cluster identifier 84 to the allocation manager 22 (step U11). The allocation manager 22 transfers this information to the file service manager 21 (step U12).

ファイルサービスマネージャ21は、新しいファイルデータ71に対して書込フィルタを適用し(ステップU13)、新しいフィルタされたファイルデータ85を開かれたファイルストリーム81に書込む(ステップU14)。   The file service manager 21 applies a write filter to the new file data 71 (step U13), and writes the new filtered file data 85 to the opened file stream 81 (step U14).

新しいフィルタされたストリーム85がひとたび書込まれると、ファイルサービスマネージャ21は、当該ファイルストリーム81を閉じるよう命令87をクラスタマネージャ23に送る(ステップU15)。   Once the new filtered stream 85 is written, the file service manager 21 sends an instruction 87 to the cluster manager 23 to close the file stream 81 (step U15).

クラスタマネージャ23は、ファイルストリーム81を閉じるよう命令88をストレージ装置6に送る(ステップU16)。ストレージ装置6は、ファイルストリーム81にエンドオブファイル(EOF)マーカ89を書込み、ポインタを解放し、ストレージ装置ファイルシステム割当テーブル(図示せず)を更新する。   The cluster manager 23 sends an instruction 88 to close the file stream 81 to the storage device 6 (step U16). The storage apparatus 6 writes an end-of-file (EOF) marker 89 in the file stream 81, releases the pointer, and updates the storage apparatus file system allocation table (not shown).

クラスタマネージャ23は、複製サービス24(図2)に命令(図示せず)を送ることにより、同じクラスタ27における他のストレージ装置6にファイルストリーム81を複製することをトリガする(ステップU18)。   The cluster manager 23 sends a command (not shown) to the replication service 24 (FIG. 2) to trigger the replication of the file stream 81 to another storage device 6 in the same cluster 27 (step U18).

ファイルサービスマネージャ21は、メタデータサーバインターフェイス25を介して、必要に応じて、更新されたメタデータを書込むよう、命令90をメタデータサーバ111に送る(ステップU19)。メタデータサーバ111は、更新されたファイル情報を書込み(ステップU20)、新しい仮想ファイル識別子91をファイルサービスマネージャ21に返す(ステップU21)。ファイルサービスマネージャ21は、クライアント2に、ファイルが書込まれたという確認情報92を送る(ステップU22)。 The file service manager 21 sends an instruction 90 to the metadata server 11 1 via the metadata server interface 25 to write updated metadata as necessary (step U19). The metadata server 11 1 writes the updated file information (step U20), and returns a new virtual file identifier 91 to the file service manager 21 (step U21). The file service manager 21 sends confirmation information 92 that the file has been written to the client 2 (step U22).

ファイルサービスマネージャ21は、古いファイルを削除するよう、命令93をクラスタマネージャ23に送る(ステップU23)。クラスタマネージャ22は、古いファイルストリームを保存するストレージ装置6を見つけ(ステップU24)、古いファイルストリームを削除するよう命令94をストレージ装置6に送る(ステップU25)。クラスタマネージャ23は、ストレージ装置6の複製をトリガする(ステップU26)。   The file service manager 21 sends an instruction 93 to the cluster manager 23 to delete the old file (step U23). The cluster manager 22 finds the storage device 6 that stores the old file stream (step U24), and sends an instruction 94 to the storage device 6 to delete the old file stream (step U25). The cluster manager 23 triggers replication of the storage device 6 (step U26).

読込
図4および図8を参照して、ここでファイル読込処理を記載する。
Reading The file reading process will now be described with reference to FIGS.

クライアント2は、ファイルサービスプロバイダ5のファイルサービスマネージャ21にファイル読込要求95を送る(ステップR1)。ファイル読込要求95は、たとえば以前に保存されたファイル42または更新されたファイル68のような、ファイルについての仮想ファイル識別子96を含む。   The client 2 sends a file read request 95 to the file service manager 21 of the file service provider 5 (step R1). File read request 95 includes a virtual file identifier 96 for the file, eg, previously saved file 42 or updated file 68.

ファイルサービスマネージャ21は、どのクラスタ27に当該ファイルが保存されているかを見つけ出すよう、クエリ97をパッシブメタデータサーバ112に送る(ステップR2)。ファイルサーバマネージャ21は、クエリ97をアクティブメタデータサーバ111に送ってもよい。 File service manager 21, to find whether the file to which the cluster 27 is stored, sends a query 97 to the passive metadata server 11 2 (step R2). The file server manager 21 may send the query 97 to the active metadata server 11 1 .

パッシブメタデータサーバ112は、クラスタ識別子98と、ストレージ装置6におけるパス99と、ファイル属性100とを返す(ステップR3)。 Passive metadata server 11 2 returns a cluster identifier 98, a path 99 in the storage apparatus 6, and a file attribute 100 (step R3).

ファイルサービスマネージャ21は、あるストレージ装置6を選択するよう、要求101をクラスタマネージャ23に送る(ステップR4)。クラスタマネージャ23は、最も高いネットワーク可用性に従って、クラスタ識別子98によって識別されるクラスタ27においてあるストレージ装置6を選択し(ステップR5)、ファイルストリーム103を開くよう、命令102をストレージ装置6に送る(ステップR6)。クラスタマネージャ23は、ストレージ装置6へのアクセスが失敗すると、クラスタ27がミラーリングまたはアーカイブされているかどうか判断するよう論理クラスタ関係テーブル32を参照する。されていれば、クラスタマネージャ23は新しい命令(図示せず)を別のストレージ装置6に送る。ストレージ装置6はファイルストリーム99からファイルデータ104を抽出し、それをクラスタマネージャ23に転送する(ステップR7)。クラスタマネージャ23はファイルデータ104をファイルサービスマネージャ21に渡す(ステップR8)。ファイルサービスマネージャ21は、ファイルデータ104に対して読込フィルタを適用し(ステップR9)、フィルタされたファイルストリーム105をクライアント2に転送する(ステップR10)。   The file service manager 21 sends a request 101 to the cluster manager 23 to select a certain storage device 6 (step R4). The cluster manager 23 selects a storage device 6 in the cluster 27 identified by the cluster identifier 98 according to the highest network availability (step R5) and sends an instruction 102 to the storage device 6 to open the file stream 103 (step R5). R6). When the access to the storage apparatus 6 fails, the cluster manager 23 refers to the logical cluster relation table 32 so as to determine whether the cluster 27 is mirrored or archived. If so, the cluster manager 23 sends a new command (not shown) to another storage device 6. The storage device 6 extracts the file data 104 from the file stream 99 and transfers it to the cluster manager 23 (step R7). The cluster manager 23 passes the file data 104 to the file service manager 21 (step R8). The file service manager 21 applies a read filter to the file data 104 (step R9), and transfers the filtered file stream 105 to the client 2 (step R10).

上で説明したように、ユーザは「共有閲覧者」と呼ばれる他のユーザに対してアクセス権限を与え得る。当該ユーザは、ある共有閲覧者にアクセス権限を与え得、たとえばファイルサービスプロバイダ5および仮想ファイルを識別するユニフォームリソースロケータ(uniform resource locator;URL)の形態である、ファイルまたはフォルダにアクセスするためのリンクを含むメッセージを共有閲覧者にEメールまたはテキスト送信することによって、当該ファイルまたはフォルダの場所を共有閲覧者に知らせ得る。共有閲覧者はこのリンクを選択し、これにより、ファイルまたはフォルダを抽出するよう要求をファイルサービスプロバイダ5に送る。   As explained above, a user may grant access rights to other users called “shared viewers”. The user may grant access rights to a shared viewer, for example a link to access a file or folder in the form of a uniform resource locator (URL) identifying the file service provider 5 and the virtual file. The shared viewer can be informed of the location of the file or folder by e-mailing or text sending a message containing The shared viewer selects this link, thereby sending a request to the file service provider 5 to extract the file or folder.

上述したシステム1は、ストレージインフラストラクチャに関わらず、ファイルサービスを提供するよう用いられ得る。それは、冗長サイト(redundant site)にわたって取扱うプラグ可能ストリームを、統合されたストレージスペースにわたる分散ファイル入力および出力に与え得る。   The system 1 described above can be used to provide file services regardless of the storage infrastructure. It can provide pluggable streams to handle across redundant sites for distributed file input and output across integrated storage space.

ファイルサービスは、携帯電話ネットワークプロバイダによって、技術インテグレータによって、および会社によって、携帯電話ハンドセットを有するユーザに与えられ得る。   File services may be provided to users with mobile phone handsets by mobile phone network providers, by technology integrators, and by companies.

システム1は、ファイルデータからファイルメタデータを切離し、実際のファイルシステム同士、すなわちストレージ装置同士を一体化するので、それらは単一のストレージユニットのように思われる。これにより、ストレージ容量およびストレージ装置処理量などといったストレージ装置の制限を最小限にするまたは免れるのを助け得る。   Since the system 1 separates the file metadata from the file data and integrates the actual file systems, that is, the storage apparatuses, they seem to be a single storage unit. This may help minimize or avoid storage device limitations such as storage capacity and storage device throughput.

システム1は、ファイルストリームを取扱い得、取扱のためにファイルストリームをブロックに分ける必要はない。   System 1 can handle file streams and does not need to divide the file stream into blocks for handling.

上述した実施例に対して多くの修正例がなされ得ることは理解されるであろう。   It will be appreciated that many modifications can be made to the embodiments described above.

この発明に従った分散ストレージシステムの概略図である。1 is a schematic diagram of a distributed storage system according to the present invention. FIG. 図1に示されるサーバのためのコンピュータシステムを示す図である。FIG. 2 is a diagram showing a computer system for the server shown in FIG. 1. 分散ストレージに対するアクセスを管理するためのサーバのブロック図である。It is a block diagram of a server for managing access to a distributed storage. 図1に示されるシステムのブロック図である。FIG. 2 is a block diagram of the system shown in FIG. 1. 図4に示されるシステムにおいて行なわれるファイル書込処理を示す図である。FIG. 5 is a diagram showing a file writing process performed in the system shown in FIG. 4. 図4に示されるシステムにおいて行なわれるファイル書込処理を示す図である。FIG. 5 is a diagram showing a file writing process performed in the system shown in FIG. 4. 割当マネージャを運用する方法の処理フロー図である。It is a processing flow figure of the method of operating an allocation manager. 図4に示されるシステムにおいて行なわれるファイル更新処理を示す図である。It is a figure which shows the file update process performed in the system shown by FIG. 図4に示されるシステムにおいて行なわれるファイル更新処理を示す図である。It is a figure which shows the file update process performed in the system shown by FIG. 図4に示されるシステムにおいて行なわれるファイル読込処理を示す図である。It is a figure which shows the file reading process performed in the system shown by FIG.

Claims (32)

複数のストレージ装置を含む分散ストレージへのアクセスを管理するためのサーバであって、前記サーバは、少なくとも1つの他のサーバと通信し、これらサーバのうちどれが、データを保存する際に用いられることになる分散ストレージの部分を選択するかを判断するよう構成されている、サーバ。   A server for managing access to a distributed storage including a plurality of storage devices, wherein the server communicates with at least one other server, and any of these servers is used for storing data. A server that is configured to determine which part of the distributed storage will be selected. 前記分散ストレージにデータを保存する要求をクライアントから受取るための第1の制御部と、
前記データを保存する際に用いる前記分散ストレージの前記部分を選択するための第2の制御部とを含み、前記第2の制御部は、少なくとも1つの他の第2の制御部と通信し、これら第2の制御部のうちどれが、用いられることになる分散ストレージの前記部分を選択するかを判断するよう構成されている、請求項1に記載のサーバ。
A first controller for receiving a request to store data in the distributed storage from a client;
A second control unit for selecting the portion of the distributed storage used when storing the data, the second control unit communicating with at least one other second control unit; The server of claim 1, configured to determine which of these second controllers will select the portion of the distributed storage to be used.
用いられることになる分散ストレージの前記部分を別のサーバが選択することになるという判断に応答して、前記他のサーバから前記分散ストレージの前記部分の識別情報を受取るよう構成されている、請求項1または請求項2に記載のサーバ。   In response to determining that another server will select the portion of the distributed storage to be used, the device is configured to receive identification information for the portion of the distributed storage from the other server. Item 3. The server according to item 1 or item 2. 用いられることになる分散ストレージの前記部分を自身が選択することになるという判断に応答して、分散ストレージの前記部分を選択するよう構成されている、請求項1または請求項2に記載のサーバ。   3. A server according to claim 1 or claim 2, configured to select the portion of distributed storage in response to a determination that it will select the portion of distributed storage to be used. . 前記分散ストレージの前記部分の中における前記ストレージ装置のうちの1つを選択するよう構成されている、先行する請求項のいずれかに記載のサーバ。   A server according to any preceding claim, configured to select one of the storage devices in the portion of the distributed storage. 前記第2の制御部からの命令に応答して、分散ストレージの前記部分の中の前記ストレージ装置のうちの1つを選択するための第3の制御部をさらに含む、請求項2に従属する場合の請求項5に記載のサーバ。   3. Dependent on claim 2, further comprising a third controller for selecting one of the storage devices in the portion of distributed storage in response to an instruction from the second controller. The server according to claim 5 in the case. 前記ファイルが1つの前記ストレージ装置に保存された後、前記分散ストレージの前記部分の中の他のストレージ装置において前記データを複製させるよう構成されている、請求項5または請求項6に記載のサーバ。   The server according to claim 5 or 6, wherein after the file is stored in one storage device, the data is replicated in another storage device in the portion of the distributed storage. . 前記データが保存された後、前記データに関する情報をメタデータサーバに送信するよう構成されている、先行する請求項のいずれかに記載のサーバ。   A server according to any preceding claim, wherein the server is configured to send information about the data to a metadata server after the data is stored. 前記データに対応する仮想ファイル識別子を前記メタデータサーバから受取るよう構成されている、請求項8に記載のサーバ。   The server of claim 8, configured to receive a virtual file identifier corresponding to the data from the metadata server. 前記仮想ファイル識別子をクライアントに対して送信するよう構成されている、請求項9に記載のサーバ。   The server of claim 9, configured to send the virtual file identifier to a client. あるファイルを読込または更新する要求に応答して、前記ファイルに関する情報を求める要求を少なくとも1つのメタデータサーバのいずれか1つに送信するよう構成されている、先行する請求項のいずれかに記載のサーバ。   Any of the preceding claims, configured to send a request for information about the file to any one of at least one metadata server in response to a request to read or update a file. Server. 前記ストレージ装置の少なくとも1つは、遠隔のストレージシステムによって与えられる、先行する請求項のいずれかに記載のサーバ。   A server according to any preceding claim, wherein at least one of the storage devices is provided by a remote storage system. 前記遠隔のストレージシステムは、ストレージアクセスネットワークを含む、請求項1
2に記載のサーバ。
The remote storage system includes a storage access network.
2. The server according to 2.
先行する請求項のいずれかに記載の複数のアクセス管理サーバと、
前記分散ストレージに保存されるファイルについての情報を保存するためのメタデータサーバとを含む、分散ストレージ管理システム。
A plurality of access management servers according to any of the preceding claims;
A distributed storage management system, including a metadata server for storing information about files stored in the distributed storage.
前記メタデータサーバは前記アクセス管理サーバから分離される、請求項14に記載の分散ストレージ管理システム。   The distributed storage management system according to claim 14, wherein the metadata server is separated from the access management server. 少なくとも1つの追加のメタデータサーバをさらに含み、前記アクセス管理サーバは各々、ファイルに関する情報を前記メタデータサーバに送るが、前記少なくとも1つの追加のメタデータサーバには送らないように構成されている、請求項14または請求項15に記載の分散ストレージ管理システム。   And further including at least one additional metadata server, wherein each of the access management servers is configured to send information about files to the metadata server, but not to the at least one additional metadata server. The distributed storage management system according to claim 14 or 15. 前記アクセス管理サーバは各々、ファイルに関する情報を求める要求を前記少なくとも1つの追加のメタデータサーバのいずれかに送るよう構成されている、請求項16に記載の分散ストレージ管理システム。   The distributed storage management system of claim 16, wherein each of the access management servers is configured to send a request for information about a file to any of the at least one additional metadata server. 請求項14から請求項17のいずれか1つの記載の分散ファイル管理システムと、
複数のストレージ装置を含む分散ストレージとを含む、分散ストレージシステム。
A distributed file management system according to any one of claims 14 to 17,
A distributed storage system including a distributed storage including a plurality of storage devices.
前記ストレージ装置は複数のタイプのストレージ装置を含む、請求項18に記載の分散ストレージ管理システム。   The distributed storage management system according to claim 18, wherein the storage device includes a plurality of types of storage devices. 複数のストレージ装置を含む分散ストレージへのアクセスを管理するためのサーバを運用する方法であって、
少なくとも1つの他のサーバと通信し、これらサーバのうちどれが、データを保存する際に用いられることになる分散ストレージの部分を選択するかを判断することを含む、方法。
A method of operating a server for managing access to a distributed storage including a plurality of storage devices,
A method comprising communicating with at least one other server and determining which of those servers selects a portion of distributed storage that will be used in storing data.
第1の制御部が、前記分散ストレージにデータを保存する要求を受取ることと、第2の制御部が、少なくとも1つの他の第2の制御部と通信し、これら第2の制御部のうちどれが、用いられることになる分散ストレージの前記部分を選択するかを判断することとを含む、請求項20に記載の方法。   When the first control unit receives a request to store data in the distributed storage, the second control unit communicates with at least one other second control unit, and among these second control units 21. The method of claim 20, comprising determining which one of the distributed storage to be used is selected. 用いられることになる分散ストレージの前記部分を別のサーバが選択することになると判断することと、用いられることになる前記分散ストレージの前記部分の識別情報を前記他のサーバから受取ることとを含む、請求項20または請求項21に記載の方法。   Determining that another server will select the portion of the distributed storage that is to be used and receiving identification information of the portion of the distributed storage that is to be used from the other server. 22. A method according to claim 20 or claim 21. 前記サーバが、用いられることになる分散ストレージの部分を選択することになると判断することと、用いられることになる前記分散ストレージの部分を選択することとを含む、請求項20から請求項22のいずれか1つに記載の方法。   23. The method of claims 20-22, comprising determining that the server will select a portion of distributed storage to be used and selecting a portion of the distributed storage to be used. The method according to any one of the above. 用いられることになる前記分散ストレージの前記部分の中における前記ストレージ装置のうちの1つを選択することをさらに含む、請求項20から請求項23のいずれか1つに記載の方法。   24. A method as claimed in any one of claims 20 to 23, further comprising selecting one of the storage devices in the portion of the distributed storage to be used. 前記ファイルが1つの前記ストレージ装置に保存された後、前記分散ストレージの前記部分の中の他のストレージ装置において前記ファイルを複製させることをさらに含む、請求項24に記載の方法。   25. The method of claim 24, further comprising replicating the file on another storage device in the portion of the distributed storage after the file is stored on one of the storage devices. 前記ファイルが保存された後、前記ファイルに関する情報をメタデータサーバに送信することを含む、請求項20から請求項25のいずれか1つに記載の方法。   26. A method according to any one of claims 20 to 25 comprising sending information about the file to a metadata server after the file is saved. 前記ファイルに対応する仮想ファイル識別子を前記メタデータサーバから受取ることを含む、請求項26に記載の方法。   27. The method of claim 26, comprising receiving a virtual file identifier corresponding to the file from the metadata server. 前記仮想ファイル識別子をクライアントに対して送信することを含む、請求項27に記載の方法。   28. The method of claim 27, comprising sending the virtual file identifier to a client. あるファイルを読込または更新する要求を受取ることと、前記ファイルに関する情報を求める要求を少なくとも1つのメタデータサーバのいずれか1つに送信することとを含む、請求項20から請求項28のいずれか1つに記載の方法。   29. Any of claims 20 to 28, comprising receiving a request to read or update a file and sending a request for information about the file to any one of at least one metadata server. The method according to one. 前記分散ストレージの選択された部分に前記データを保存することを含む、請求項20から請求項28のいずれか1つに記載の方法。   29. A method according to any one of claims 20 to 28, comprising storing the data in a selected portion of the distributed storage. コンピュータによって実行される際に、前記コンピュータに請求項20から請求項30のいずれか1つに記載の方法を実行させる命令を含む、コンピュータプログラム。   A computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 20 to 30. 請求項31に記載のコンピュータプログラムを格納した、コンピュータ読取可能媒体。   A computer readable medium storing the computer program according to claim 31.
JP2009511432A 2006-05-23 2007-04-13 Distributed storage Expired - Fee Related JP5584910B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP06114443.2 2006-05-23
US11/439,784 US8255420B2 (en) 2006-05-23 2006-05-23 Distributed storage
US11/439,784 2006-05-23
EP06114443.2A EP1860846B1 (en) 2006-05-23 2006-05-23 Method and devices for managing distributed storage
PCT/EP2007/053657 WO2007134918A1 (en) 2006-05-23 2007-04-13 Distributed storage

Publications (2)

Publication Number Publication Date
JP2009537918A true JP2009537918A (en) 2009-10-29
JP5584910B2 JP5584910B2 (en) 2014-09-10

Family

ID=38269044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009511432A Expired - Fee Related JP5584910B2 (en) 2006-05-23 2007-04-13 Distributed storage

Country Status (3)

Country Link
JP (1) JP5584910B2 (en)
KR (1) KR101366220B1 (en)
WO (1) WO2007134918A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682845B2 (en) * 2008-07-09 2014-03-25 The Boeing Company Secure high performance multi-level security database systems and methods
SE533007C2 (en) 2008-10-24 2010-06-08 Ilt Productions Ab Distributed data storage
KR101092658B1 (en) 2008-12-22 2011-12-13 한국전자통신연구원 Distributed File System And Metadata Server Selection Method In The Same
KR101312573B1 (en) * 2009-12-18 2013-09-30 한국전자통신연구원 Apparatus and method of accessing a metadata
EP2585946A2 (en) * 2010-03-08 2013-05-01 Universitat Politécnica De Catalunya Virtual shell
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (en) * 1993-03-22 1994-12-02 Hitachi Ltd File server system and file access controlling method therefor
JP2000207370A (en) * 1999-01-20 2000-07-28 Matsushita Electric Ind Co Ltd Distributed file management device and distributed file management system
JP2004280485A (en) * 2003-03-17 2004-10-07 Hitachi Ltd Computer system
JP2006113663A (en) * 2004-10-12 2006-04-27 Nec Fielding Ltd Data storage system, its method, file server, terminal and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103421A (en) * 1995-11-20 1998-01-06 Matsushita Electric Ind Co Ltd Virtual file management system
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP2005266933A (en) * 2004-03-16 2005-09-29 Fujitsu Ltd Storage management system and storage management method
JP4448719B2 (en) * 2004-03-19 2010-04-14 株式会社日立製作所 Storage system
US7634566B2 (en) * 2004-06-03 2009-12-15 Cisco Technology, Inc. Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (en) * 1993-03-22 1994-12-02 Hitachi Ltd File server system and file access controlling method therefor
JP2000207370A (en) * 1999-01-20 2000-07-28 Matsushita Electric Ind Co Ltd Distributed file management device and distributed file management system
JP2004280485A (en) * 2003-03-17 2004-10-07 Hitachi Ltd Computer system
JP2006113663A (en) * 2004-10-12 2006-04-27 Nec Fielding Ltd Data storage system, its method, file server, terminal and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system
US9396290B2 (en) 2011-06-09 2016-07-19 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets
US9672267B2 (en) 2011-06-09 2017-06-06 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets

Also Published As

Publication number Publication date
JP5584910B2 (en) 2014-09-10
KR20090047393A (en) 2009-05-12
KR101366220B1 (en) 2014-02-21
WO2007134918A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
JP5584910B2 (en) Distributed storage
US8255420B2 (en) Distributed storage
US9413825B2 (en) Managing file objects in a data storage system
KR100974149B1 (en) Methods, systems and programs for maintaining a namespace of filesets accessible to clients over a network
JP5160408B2 (en) Method, system, and computer program for selecting a resource manager to satisfy a service request
US9122397B2 (en) Exposing storage resources with differing capabilities
US8315999B2 (en) Policy-based file management for a storage delivery network
US20090112921A1 (en) Managing files using layout storage objects
US9462056B1 (en) Policy-based meta-data driven co-location of computation and datasets in the cloud
US20090112789A1 (en) Policy based file management
US7783737B2 (en) System and method for managing supply of digital content
JP2008537816A5 (en)
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
US8627446B1 (en) Federating data between groups of servers
US9817832B1 (en) Unified framework for policy-based metadata-driven storage services
US11221993B2 (en) Limited deduplication scope for distributed file systems
EP3296895B1 (en) File storage
KR20030043837A (en) P2P-based virtual network storage method
EP1860846B1 (en) Method and devices for managing distributed storage
RU2656739C1 (en) Data storage method and system
WO2023040504A1 (en) Data processing system, data processing method and related apparatus
CN117955701A (en) Method, system, electronic equipment and storage medium for realizing data security exchange
JPH09179771A (en) Filing system and object retrieving method to be applied to the filling system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121030

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130529

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130605

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140702

R150 Certificate of patent or registration of utility model

Ref document number: 5584910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees