JP2015156111A - Placement destination determination device, placement destination determination method, and placement destination determination program - Google Patents
Placement destination determination device, placement destination determination method, and placement destination determination program Download PDFInfo
- Publication number
- JP2015156111A JP2015156111A JP2014030746A JP2014030746A JP2015156111A JP 2015156111 A JP2015156111 A JP 2015156111A JP 2014030746 A JP2014030746 A JP 2014030746A JP 2014030746 A JP2014030746 A JP 2014030746A JP 2015156111 A JP2015156111 A JP 2015156111A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- unit
- storage
- storage device
- placement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、オブジェクトの配置先を決定する技術に関する。 The present invention relates to a technique for determining an arrangement destination of an object.
複数の記憶装置のいずれかに配置されているオブジェクトにアクセスするためには、そのオブジェクトの配置先を特定する必要がある。例えば、配置されている全てのオブジェクトに対して、オブジェクトの識別子とそのオブジェクトが配置されている記憶装置の識別子の組み合わせを記録しておくことにより、オブジェクトの配置先を特定することができる。オブジェクトの配置先を特定するためには、オブジェクトの識別子及び記憶装置の識別子の組み合わせが記録されている配置先データにおいて、配置先を特定したいオブジェクトの識別子を探索すればよい。配置先を特定したいオブジェクトの識別子を見つけることができれば、そのオブジェクトの識別子に組み合わされている識別子によって、そのオブジェクトが配置されている記憶装置を特定することができる。 In order to access an object arranged in any of a plurality of storage devices, it is necessary to specify the arrangement destination of the object. For example, by recording the combination of the identifier of the object and the identifier of the storage device where the object is arranged for all the arranged objects, the arrangement destination of the object can be specified. In order to specify the object placement destination, it is only necessary to search for the identifier of the object whose placement destination is to be specified in the placement destination data in which the combination of the identifier of the object and the identifier of the storage device is recorded. If the identifier of the object whose placement destination is desired can be found, the storage device in which the object is placed can be identified by the identifier combined with the identifier of the object.
しかし、配置されているオブジェクトの数の増大に伴って、配置先データのデータ量は増大する。配置先データのデータ量が増大すると、一般に、配置先を特定したいオブジェクトの識別子をその配置先データにおいて探索するために要する時間は増大する。すなわち、オブジェクトの配置先を特定するために要する時間が増大する。オブジェクトの配置先を特定するために要する時間が増大すると、オブジェクトに高速にアクセスすることは難しい。すなわち、多数のオブジェクトが配置されている場合、一般に、上述の配置先データを使用してオブジェクトに高速にアクセスすることは難しい。 However, as the number of objects arranged increases, the data amount of the arrangement destination data increases. When the data amount of the placement destination data increases, generally, the time required for searching for the identifier of the object whose placement destination is to be specified in the placement destination data increases. That is, the time required to specify the object placement destination increases. If the time required to specify the location of an object increases, it is difficult to access the object at high speed. That is, when a large number of objects are arranged, it is generally difficult to access the object at high speed using the above-described arrangement destination data.
多数のオブジェクトが複数の記憶装置に配置されている場合に、オブジェクトへのアクセスを高速化する方法の例が、例えば特許文献1に記載されている。
An example of a method for speeding up access to an object when a large number of objects are arranged in a plurality of storage devices is described in
特許文献1には、配置されるオブジェクトの識別子に基づき、複数の配置先の候補から、そのオブジェクトが配置される配置先を決定するオブジェクト配置装置が記載されている。特許文献1に記載されているオブジェクト配置装置は、配置されるオブジェクトの識別子と、疑似乱数を使用して、配置先を決定する。オブジェクト配置装置は、決定した配置先にオブジェクトを配置する。疑似乱数を発生する際与えるシードが同一であれば、発生する疑似乱数も同じである。オブジェクトの配置先を特定する場合、オブジェクト配置装置がオブジェクトの配置先を決定する処理と同じ処理を行うことによって、配置先データを探索することなく、オブジェクトの配置先を特定することができる。
例えば、オブジェクトのバックアップを保存しておきたい場合のように、オブジェクトとそのオブジェクトのコピーを異なる複数の配置先にそれぞれ配置する場合、同じオブジェクトに対して、異なる複数の配置先を決定する必要がある。 For example, if you want to store an object and a copy of that object in different locations, such as when you want to save a backup of the object, you need to determine different locations for the same object. is there.
特許文献1に記載されているオブジェクト配置装置は、複数の配置先を選ぶ場合においても、一種類の方法によってオブジェクトの配置先を決定する。従って、特許文献1の技術をそのまま使用して、オブジェクトに対して、複数の異なる目的に応じた配置先を決定することはできない。
The object placement device described in
本発明の目的の一つは、同じオブジェクトに対して、異なる複数の目的に応じた配置先を決定することができる配置先決定装置を提供することにある。 One of the objects of the present invention is to provide an arrangement destination determination apparatus capable of determining arrangement destinations corresponding to a plurality of different purposes for the same object.
本発明の配置先決定装置は、オブジェクトに関連付けられている第1の属性に基づき、第1の選択手段によって、複数の配置先の中から、前記オブジェクトが格納される配置先として選択された第1の配置先を除く、前記複数の配置先の中から、前記第2の属性に基づき、前記オブジェクトが格納される第2の配置先を選択する第2の選択手段と、前記第2の配置先の識別子を出力する出力手段と、を備える。 The placement destination determination device of the present invention is based on a first attribute associated with an object, and is selected by a first selection means as a placement destination in which the object is stored from among a plurality of placement destinations. Second selection means for selecting, from the plurality of arrangement destinations excluding one arrangement destination, a second arrangement destination in which the object is stored based on the second attribute; and the second arrangement Output means for outputting the previous identifier.
本発明の配置先決定方法は、オブジェクトに関連付けられている第1の属性に基づき、複数の配置先の中から、前記オブジェクトが格納される配置先として選択された第1の記憶装置を除く、前記複数の配置先の中から、前記第2の属性に基づき、前記オブジェクトが格納される第2の配置先を選択し、前記第2の配置先の識別子を出力する。 The placement destination determination method of the present invention excludes a first storage device selected as a placement destination where the object is stored from a plurality of placement destinations based on a first attribute associated with the object. Based on the second attribute, a second arrangement destination in which the object is stored is selected from the plurality of arrangement destinations, and an identifier of the second arrangement destination is output.
本発明の配置先決定プログラムは、コンピュータを、オブジェクトに関連付けられている第1の属性に基づき、第1の選択手段によって、複数の配置先の中から、前記オブジェクトが格納される配置先として選択された第1の配置先を除く、前記複数の配置先の中から、前記第2の属性に基づき、前記オブジェクトが格納される第2の配置先を選択する第2の選択手段と、前記第2の配置先の識別子を出力する出力手段と、して動作させる。 The placement destination determination program of the present invention selects a computer as a placement destination where the object is stored from among a plurality of placement destinations by a first selection unit based on a first attribute associated with the object. Second selection means for selecting a second placement destination in which the object is stored based on the second attribute from the plurality of placement destinations excluding the first placement destination, It operates as an output means for outputting the identifier of the second arrangement destination.
本発明には、同じオブジェクトに対して、異なる複数の目的に応じた配置先を決定することができるという効果がある。 The present invention has an effect that it is possible to determine an arrangement destination corresponding to a plurality of different purposes for the same object.
次に、本発明の実施形態について、図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
<第1の実施形態>
図1は、第1の実施形態の配置先決定装置1の構成の例を表すブロック図である。図1を参照すると、本実施形態の配置先決定装置1は、第1の選択部10と、第2の選択部11と、対象受信部12と、属性導出部13と、属性受信部14と、出力部15とを含む。図1に示す例では、配置先決定装置1は1つの第2の選択部11を含んでいるが、配置先決定装置1は複数の第2の選択部11を含んでいてもよい。
<First Embodiment>
FIG. 1 is a block diagram illustrating an example of a configuration of an arrangement
図2は、本実施形態の情報処理システム100の例を模式的に表すブロック図である。 FIG. 2 is a block diagram schematically illustrating an example of the information processing system 100 according to the present embodiment.
図2を参照すると、情報処理システム100は、通信ネットワークであるネットワーク5によって接続された、クライアント装置3と、複数の記憶サーバ7を含む。情報処理システム100は、ネットワーク5に接続された複数のクライアント装置3を含んでいてもよい。
Referring to FIG. 2, the information processing system 100 includes a
クライアント装置3は、処理部30と、処理部30に接続されているアクセス指示装置2とを含む。記憶サーバ7は、アクセス実行装置6と、アクセス実行装置6に接続されている記憶装置40とを含む。各記憶サーバ7に含まれる記憶装置40は、まとめて、記憶装置群4とも表記される。
The
図3は、本実施形態のクライアント装置3及び記憶サーバ7の構成の例を表すブロック図である。図3を参照すると、クライアント装置3は、処理部30と、アクセス指示装置2とを含む。処理部30は、例えば、クライアント装置3のプロセッサによって実現される。記憶サーバ7は、記憶装置40と、アクセス実行装置6とを含む。記憶装置40は、例えば、ハードディスクやSSD(Solid State Drive)等によって実現される。また、本実施形態では、記憶サーバ7は、1台の記憶装置40を含む。図3には、1台の記憶サーバ7だけが描かれているが、クライアント装置3は、ネットワーク5を介して、複数の記憶サーバ7に接続されている。図3において、他の記憶サーバ7は、省略されている。
FIG. 3 is a block diagram illustrating an example of the configuration of the
クライアント装置3に含まれるアクセス指示装置2は、命令受信部20と、指示決定部21と、候補記憶部22と、指示送信部23と、結果転送部24と、配置先決定装置1とを含む。
The
記憶サーバ7に含まれるアクセス実行装置6は、指示受信部60と、格納部64及び読み出し部65を含む実行部67と、結果送信部66とを含む。命令受信部20と結果転送部24はクライアント装置3に接続されている。格納部64と読み出し部65は、記憶装置40に接続されている。アクセス実行装置6は、さらに、指示決定部61と、候補記憶部62と、指示送信部63と、復元部68と、配置先決定装置1とを含む。
The
次に、アクセス指示装置2及びアクセス実行装置6の各構成要素について詳細に説明する。
Next, each component of the
本実施形態では、オブジェクトは、例えば、ひとまとまりのデータである。オブジェクトは、分割されたデータ、すなわちデータの一部であってもよい。オブジェクトの属性は、例えば、オブジェクトに関連付けられたデータ値である。属性は、例えば、オブジェクトの識別子を含む。属性は、オブジェクトの特性、種類、サイズ等の、オブジェクトを表す値であってもよい。処理部30が、オブジェクト及び属性を生成してもよい。処理部30は、例えばネットワーク5に接続されている他の装置から、オブジェクト及び属性を取得してもよい。オブジェクトの配置先は、いずれかの記憶装置40である。
In the present embodiment, the object is a set of data, for example. The object may be divided data, that is, a part of the data. The attribute of the object is, for example, a data value associated with the object. The attribute includes, for example, an object identifier. The attribute may be a value representing the object, such as the characteristic, type, and size of the object. The
クライアント装置3の処理部30は、オブジェクトへのアクセス命令を、命令受信部20に送信する。アクセス命令は、例えば、配置先にオブジェクトを配置する命令である格納命令である。また、アクセス命令は、例えば、配置先からオブジェクトを取り出す取り出し命令であってもよい。本実施形態では、アクセス命令のうちの格納命令は、例えば、オブジェクトを記憶装置群4が含むいずれかの記憶装置40に格納する命令である格納命令である。アクセス命令が格納命令である場合、処理部30は、格納命令に加えて、オブジェクトの識別子を送信する。処理部30は、格納命令に加えて、例えば、オブジェクトと、オブジェクトの識別子以外のオブジェクトの属性とを送信してもよい。処理部30は、オブジェクト及びオブジェクトの属性を含む格納命令を送信してもよい。処理部30は、格納命令として、オブジェクト及びオブジェクトの属性を送信してもよい。
The
本発明の各実施形態において、オブジェクトの属性のうち、あらかじめ定められた一部の属性は、第1の属性と表記される。オブジェクトの属性のうち、あらかじめ定められた、第1の属性と必ずしも一致しない一部の属性は、第2の属性と表記される。後述されるように、第1の属性は、例えば、オブジェクトの識別子である。そして、第2の属性は、例えば、オブジェクトのメタデータである。処理部30が送信する属性、第1の属性、及び第2の属性は、以上に限られない。
In each embodiment of the present invention, a part of predetermined attributes among the attributes of the object are referred to as first attributes. Among the attributes of the object, a part of attributes that are not necessarily consistent with the first attribute are denoted as second attributes. As will be described later, the first attribute is, for example, an identifier of an object. The second attribute is, for example, object metadata. The attribute, the first attribute, and the second attribute transmitted by the
処理部30が格納命令を送信する際に送信するオブジェクトの属性は、例えば、後述される第1の属性及び第2の属性を含んでいればよい。後述される属性導出部13が、第2の属性を導出する場合、処理部30は格納命令を送信する際に送信する属性に、第2の属性が含まれていなくてよい。後述される属性導出部13が、第1の属性を導出する場合、処理部30は格納命令を送信する際に送信する属性に、第1の属性が含まれていなくてよい。後述される属性導出部13が、第1の属性及び第2の属性の全てを導出する場合、処理部30は格納命令を送信する際に属性を送信しなくてよい。
The attributes of the object transmitted when the
本実施形態では、アクセス命令のうち取り出し命令は、例えば、記憶装置群4が含むいずれかの記憶装置40に格納されているオブジェクトを読み出す命令である、読み出し命令である。アクセス命令が読み出し命令である場合、処理部30は、読み出し命令に加えて、オブジェクトの属性を送信する。処理部30は、読み出しの対象であるオブジェクト及びそのオブジェクトが格納されている記憶装置40を特定できるオブジェクトの属性を送信する。処理部30が読み出し命令に加えて送信するオブジェクトの属性は、後述される第1の属性と第2の属性の少なくともいずれかを含んでいればよい。処理部30は、オブジェクトの属性を含む読み出し命令を送信してもよい。オブジェクトの属性を伴う読み出し命令は、その属性に関連付けられている全てのオブジェクトを読み出す命令であってもよい。
In the present embodiment, the fetch command among the access commands is, for example, a read command that is a command for reading an object stored in any of the
候補記憶部22には、記憶装置群4に含まれる、オブジェクトが格納される記憶装置40の識別子が格納されている。候補記憶部22は、各記憶装置40に対して、記憶装置40の識別子を、その記憶装置40が含まれる記憶サーバ7の識別子に関連付けて記憶していればよい。例えば情報処理システム100の管理者が、記憶装置40の識別子を、その記憶装置40が含まれる記憶サーバ7の識別子に関連付けて、あらかじめ候補記憶部22に格納しておけばよい。前述のように、本実施形態では、各記憶サーバ7は1台の記憶装置40を含む。従って、記憶サーバ7を特定することにより、記憶装置40が特定される。従って、記憶装置40の識別子は、記憶サーバ7の識別子であってもよい。
The
候補記憶部22が記憶する記憶装置群4は、重複しない複数のグループに分割されていてもよい。その場合、それぞれのグループは、1台以上の記憶装置40を含んでいればよい。第1の選択部10と第2の選択部11は、それぞれ異なるグループに関連付けられていてもよい。そして、第1の選択部10は、第1の選択部10が関連付けられているグループに含まれる記憶装置40から、第1の記憶装置を選択してもよい。第1の記憶装置は、第1の選択部10が選択した記憶装置40である。さらに、第2の選択部11は、その第2の選択部11に関連付けられているグループに含まれる記憶装置40から、第2の記憶装置を選択してもよい。第2の記憶装置は、第2の選択部11が選択した記憶装置40である。配置先決定装置1が複数の第2の選択部11を含む場合、第2の選択部11の各々に対して、異なるグループが関連付けられていてもよい。
The storage device group 4 stored in the
指示決定部21は、アクセス指示装置2が含む配置先決定装置1に対して、オブジェクトと、オブジェクトの属性とを送信する。配置先決定装置1が配置先を決定する際に使用する属性の全てが、指示決定部21が送信する属性に含まれている場合、指示決定部21は、アクセス指示装置2が含む配置先決定装置1に対して、オブジェクトを送信しなくてもよい。指示決定部21は、さらに、配置先決定装置1に対して、複数の記憶装置40の識別子を送信する。指示決定部21は、例えば、候補記憶部22が記憶する記憶装置40の識別子を、アクセス指示装置2に含まれる配置先決定装置1に対して送信する。
The
指示送信部23は、アクセス指示装置2が含む配置先決定装置1から、オブジェクトの配置先の識別子を受信する。本実施形態では、指示送信部23は、配置先決定装置1から、オブジェクトの配置先である記憶装置40の識別子を受信する。
The
指示送信部23は、第1の記憶装置を含む記憶サーバ7に対して、オブジェクトと、オブジェクトの属性と、アクセス命令とを送信する。指示送信部23が送信するオブジェクトの属性には、オブジェクトの識別子が含まれていればよい。アクセス命令がオブジェクトを格納する格納命令ではなく、第1の属性及び第2の属性の全てが、オブジェクトに基づき導出される属性ではない場合、指示送信部23は、オブジェクトを送信しなくてよい。
The
指示受信部60は、指示送信部23から、オブジェクトと、オブジェクトの属性と、アクセス命令とを受信する。アクセス命令がオブジェクトを格納する格納命令ではなく、第1の属性及び第2の属性の全てが、オブジェクトに基づき導出される属性ではない場合、指示受信部60は、オブジェクトを受信しなくてよい。
The
実行部67は、記憶装置40に対して、アクセス命令に応じたオブジェクトに関する処理を行う。具体的には、アクセス命令が格納命令である場合、実行部67に含まれる格納部64は、記憶装置40に、クライアント装置3から受信したオブジェクトを格納する。アクセス命令が読み出し命令である場合、実行部67に含まれる読み出し部65は、例えば、クライアント装置3から受信した属性によって特定されるオブジェクトを、記憶装置40から読み出す。
The
結果送信部66は、実行部67によるアクセスの結果を、クライアント装置3に送信する。アクセス指示装置2の結果転送部24に送信する。
The
結果転送部24は、受信したアクセスの結果を、クライアント装置3に送信する。
The
具体的には、アクセス命令が格納命令である場合、書き込みが成功したのであれば、アクセスの結果は、例えば、書き込みが成功したことを表す信号である。書き込みが失敗したのであれば、アクセスの結果は、例えば、書き込みが失敗したことを表す信号である。アクセス命令が読み出し命令である場合、アクセスの結果は、読み出されたオブジェクトである。オブジェクトの読み出しに失敗した場合、アクセスの結果は、例えば、読み出しに失敗したことを表す信号である。 Specifically, when the access instruction is a storage instruction and the write is successful, the access result is, for example, a signal indicating that the write is successful. If the writing has failed, the access result is, for example, a signal indicating that the writing has failed. If the access instruction is a read instruction, the result of the access is the read object. When the object reading fails, the access result is, for example, a signal indicating that the reading has failed.
候補記憶部62は、複数の記憶装置40の識別子を記憶する。候補記憶部62が記憶する複数の記憶装置40の識別子は、候補記憶部22が記憶する複数の記憶装置40の識別子と同じである。
The
指示受信部60が受信したアクセス命令が格納命令である場合、指示決定部61は、指示受信部60が受信したオブジェクトとオブジェクトの属性とを、アクセス実行装置6が含む配置先決定装置1に送信する。第1の属性及び第2の属性の全てがオブジェクトから導出される属性ではない場合、指示決定部21は、オブジェクトをアクセス実示装置6が含む配置先決定装置1に送信しなくてよい。第1の属性及び第2の属性の全てがオブジェクトから導出される属性である場合、指示決定部21は、オブジェクトの属性をアクセス実示装置6が含む配置先決定装置1に送信しなくてよい。
When the access instruction received by the
指示決定部61は、さらに、候補記憶部62に格納されている、記憶装置40の識別子を、配置先決定装置1に送信する。
The
後述されるように、アクセス実行装置6が含む配置先決定装置1は、受信したオブジェクト及びオブジェクトの属性の少なくともいずれかに基づき、識別子を受信した記憶装置40の中から、第1の記憶装置と第2の記憶装置を選択する。アクセス実行装置6が含む配置先決定装置1は、第1の記憶装置の識別子と、第2の記憶装置の識別子とを出力する。
As will be described later, the placement
指示送信部63は、配置先決定装置1から、第1の記憶装置の識別子と、第2の記憶装置の識別子とを受信する。指示送信部63は、例えば、その指示送信部63が含まれる記憶サーバ7が含む記憶装置40が第1の記憶装置である場合、第2の記憶装置を含む記憶サーバ7に対して、オブジェクトと、オブジェクトの識別子と、オブジェクトの格納命令を送信する。指示送信部63が送信するオブジェクトの属性には、オブジェクトの識別子が含まれていればよい。アクセス命令がオブジェクトを格納する格納命令ではなく、第1の属性及び第2の属性の全てが、オブジェクトに基づき導出される属性ではない場合、指示送信部63は、オブジェクトを送信しなくてよい。
The
復元部68は、その復元部68が含まれる記憶サーバ7が含む記憶装置40に格納されているオブジェクトと、そのオブジェクトの第1の属性及び第2の属性に基づき、他の記憶サーバ7にそのオブジェクトを復元する。復元部68については、以下の第2の実施形態の説明において、詳細に説明する。
Based on the object stored in the
次に、配置先決定装置1の各構成要素について詳細に説明する。
Next, each component of the arrangement
まず、属性を受信した配置先決定装置1が、受信した属性に基づき、複数の記憶装置40から記憶装置を選択する場合の、属性受信部14について説明する。
First, the
属性受信部14が属性を受信する。受信した属性に第1の属性が含まれている場合、属性受信部14は、第1の属性を、第1の選択部10に送信する。第1の属性は、前述のように、例えば、オブジェクトの識別子である。受信した属性に第2の属性が含まれている場合、属性受信部14は、第2の属性を、第2の選択部11に送信する。第2の属性は、前述のように、例えば、オブジェクトに関連付けられたメタデータである。第2の属性として、例えば、種類、サイズ、生成された日付と時刻、生成者の識別子、オブジェクトに基づき算出されたハッシュ等がある。第2の属性は、オブジェクトそのものであってもよい。第1の属性及び第2の属性は、以上に限られない。
The
オブジェクトを受信した配置先決定装置1が、受信したオブジェクトに基づき、複数の記憶装置40から記憶装置を選択する場合の、対象受信部12と属性導出部13について説明する。
The
対象受信部12は、オブジェクトを受信する。
The
第1の属性が、オブジェクトに基づき導出される属性である場合、属性導出部13は、オブジェクトに基づき、第1の属性を導出する。属性導出部13は、導出した第1の属性を、第1の選択部10に送信する。第2の属性が、オブジェクトに基づき導出される属性である場合、属性導出部13は、オブジェクトに基づき、第2の属性を導出する。属性導出部13は、導出した第2の属性を、第2の選択部11に送信する。属性導出部13は、導出した属性を属性受信部14に送信してもよい。そして、属性を受信した属性受信部14は、受信した属性に第1の属性が含まれる場合、その第1の属性を第1の選択部10に送信してもよい。属性を受信した属性受信部14は、受信した属性に第2の属性が含まれる場合、その第2の属性を第2の選択部11に送信してもよい。なお、属性導出部13は、属性受信部14が受信した属性及び属性導出部13が導出した属性の少なくともいずれかに基づき、他の属性を導出してもよい。
When the first attribute is an attribute derived based on the object, the
次に、第1の選択部10及び第2の選択部11について説明する。
Next, the
第1の選択部10は、複数の記憶装置40の識別子を受信する。以下の説明において、複数の記憶装置40の識別子を、記憶装置40の識別子のリスト、あるいは、識別子リストと表記する。第1の選択部10は、第1の属性に基づき、リストに識別子が含まれる記憶装置40から、オブジェクトの配置先として、第1の記憶装置を選択する。記憶装置40の識別子のグループが第1の選択部10に関連付けられている場合、第1の選択部10は、第1の選択部10に関連付けられているグループに識別子が含まれる記憶装置40から、第1の記憶装置を選択する。第1の選択部10は、第1の属性に対して、第1の記憶装置を一意に選択する。すなわち、第1の選択部10は、同じ第1の属性に対して、常に同じ第1の記憶装置を選択する。
The
出力部15は、第1の選択部10が選択した第1の記憶装置の識別子を出力する。出力部15が、第1の選択部10が選択した第1の記憶装置の識別子を出力することを、本発明の各実施形態の説明では「第1の選択部10が第1の記憶装置の識別子を出力する」とも表記することにする。
The
第2の選択部11は、第2の属性と、リストに識別子が含まれる記憶装置40から、オブジェクトの配置先として、第2の記憶装置を選択する。第2の選択部11は、第2の属性に対して、第2の記憶装置を一意に選択する。すなわち、第2の選択部11は、同じ第2の属性に対して、常に同じ第2の記憶装置を選択する。第2の選択部11は、第1の選択部10から、第1の記憶装置の識別子を受信してもよい。そして、第2の選択部11は、第2の属性と、第1の記憶装置を除く、リストに識別子が含まれる記憶装置40から、第2の記憶装置を選択してもよい。記憶装置40の識別子のグループが第2の選択部11に関連付けられている場合、第2の選択部11は、第2の選択部11に関連付けられているグループに識別子が含まれる記憶装置40から、第2の記憶装置を選択する。
The
出力部15は、さらに、第2の選択部11が選択した第2の記憶装置の識別子を出力する。出力部15が、第2の選択部11が選択した第2の記憶装置の識別子を出力することを、本発明の各実施形態の説明では「第2の選択部11が第2の記憶装置の識別子を出力する」とも表記することにする。
The
アクセス指示装置2に含まれる配置先決定装置1は、オブジェクトの属性、オブジェクト、及び識別子リストを、指示決定部21から受信する。配置先決定装置1は、識別子リストを、候補記憶部22から読み出してもよい。また、配置先決定装置1が候補記憶部22を含んでいてもよい。また、アクセス指示装置2に含まれる配置先決定装置1は、第1の記憶装置の識別子だけを出力すればよい。アクセス指示装置2に含まれる配置先決定装置1は、第1の記憶装置の識別子を指示送信部23に出力する。
The placement
アクセス実行装置6に含まれる配置先決定装置1は、オブジェクトの属性、オブジェクト、及び識別子リストを、指示決定部61から受信する。配置先決定装置1は、識別子リストを、候補記憶部62から読み出してもよい。配置先決定装置1が候補記憶部62を含んでいてもよい。また、アクセス実行装置6に含まれる配置先決定装置1は、第1の記憶装置の識別子及び第2の記憶装置の識別子を、指示送信部63に出力する。
The placement
次に、本実施形態の配置先決定装置1の動作について、図面を参照して詳細に説明する。
Next, the operation of the placement
図4は、本実施形態の配置先決定装置1の動作の例を表すフローチャートである。図4は、配置先決定装置1が第1の記憶装置の識別子及び第2の記憶装置の識別子を出力する場合における、配置先決定装置1の動作の例を表す。図4に示す動作は、アクセス要求が書き込み要求である場合における、アクセス実行装置6に含まれる配置先決定装置1の動作に相当する。
FIG. 4 is a flowchart illustrating an example of the operation of the placement
図4を参照すると、まず、属性受信部14が、オブジェクトの属性を受信する。加えて、対象受信部12が、オブジェクトを受信する(ステップS101)。
Referring to FIG. 4, first, the
受信した属性に第1の属性が含まれる場合、属性受信部14は、第1の属性を第1の選択部10に送信する。受信した属性に第2の属性が含まれる場合、属性受信部14は、第2の属性を第2の選択部11に送信する。
If the received attribute includes the first attribute, the
属性受信部14が、オブジェクトの属性として、例えば、オブジェクトの識別子である第1の属性を受信した場合、属性受信部14は、オブジェクトの識別子を、第1の選択部10に送信する。
When the
なお、第1の属性及び第2の属性の全てが、オブジェクトに基づき算出される場合、属性受信部14は、オブジェクトの属性を受信しなくてよい。また、属性受信部14が、第1の属性及び第2の属性の全てを受信する場合、対象受信部12は、オブジェクトを受信しなくてよい。
When all of the first attribute and the second attribute are calculated based on the object, the
次に、第1の選択部10及び第2の選択部11は、複数の記憶装置40の各々の識別子を受信する(ステップS102)。すなわち、第1の選択部10及び第2の選択部11は、識別子リストを受信する。第1の選択部10及び第2の選択部11は、指示決定部21から識別子リストを受信してもよい。第1の選択部10及び第2の選択部11のそれぞれに対して、記憶装置40の識別子のグループが関連付けられている場合、第1の選択部10及び第2の選択部11のそれぞれは、関連付けられているグループを指示決定部21から受信すればよい。アクセス指示装置2に含まれる第1の選択部10及び第2の選択部11のそれぞれは、識別子リストを、候補記憶部22から読み出してもよい。同様に、アクセス実行装置6に含まれる第1の選択部10及び第2の選択部11のそれぞれは、識別子リストを、候補記憶部62から読み出してもよい。第1の選択部10及び第2の選択部11のそれぞれに対して、識別子のグループが関連付けられている場合、第1の選択部10及び第2の選択部11のそれぞれは、関連付けられているグループを読み出してもよい。
Next, the
次に、属性導出部13は、オブジェクトに基づき、オブジェクトの属性を導出する(ステップS103)。例えば、オブジェクトの属性はオブジェクトのハッシュである場合、属性導出部13は、オブジェクトに基づき、ハッシュ関数を使用して、オブジェクトのハッシュを算出すればよい。導出された属性に第1の属性が含まれる場合、属性導出部13は、その第1の属性を、第1の選択部10に送信する。導出された属性に第2の属性が含まれる場合、属性導出部13は、その第2の属性を、第2の選択部11に送信する。属性導出部13は、導出した属性を、属性受信部14に送信してもよい。そして、受信した属性に第1の属性が含まれる場合、属性受信部14は、第1の属性を第1の選択部10に送信してもよい。受信した属性に第2の属性が含まれる場合、属性受信部14は、第1の属性を第2の選択部11に送信してもよい。
Next, the
次に、第1の選択部10は、オブジェクトの属性のうち第1の属性に基づき、複数の記憶装置40の中から、第1の記憶装置を選択する(ステップS104)。第1の選択部10に上述の記憶装置40のグループが関連付けられている場合、第1の選択部10は、第1の選択部10に関連付けられているグループに含まれる記憶装置40から、第1の記憶装置を選択すればよい。
Next, the
第1の選択部10は、例えば、複数の記憶装置40の各々が第1の記憶装置として選択される確率が均等あるいはほぼ均等になる手順に従って、第1の記憶装置を選択すればよい。その場合、第1の選択部10は、例えば、第1の属性をシードとして使用して、疑似乱数を導出すればよい。第1の選択部10は、疑似乱数の値域を、例えば記憶装置40の台数と同じ数の領域にあらかじめ分割しておけばよい。第1の選択部10は、分割された領域の各々を、異なる記憶装置40にあらかじめ関連付けておけばよい。そして、第1の選択部10は、導出された疑似乱数が含まれる領域に関連付けられている記憶装置を、第1の記憶装置として選択すればよい。
For example, the
第1の記憶装置を選択する方法は、以上の方法に限られない。例えば、第1の選択部10は、第1の属性のハッシュ値をシードとして使用して、疑似乱数を導出してもよい。第1の選択部10は、ハッシュ関数の値域を、記憶装置40の台数と同じ数の領域に分割しておいてもよい。さらに、第1の選択部10は、それらの領域の各々に、異なる記憶装置40を関連付けておいてもよい。そして、第1の選択部10は、第1の属性をキーとして使用して、そのハッシュ関数によってハッシュ値を導出してもよい。第1の選択部10は、導出されたハッシュ値が含まれる領域に関連付けられている記憶装置40を、第1の記憶装置として選択すればよい。第1の選択部10は、導出されたハッシュ値を記憶装置40の個数で割った余りを算出してもよい。そして、第1の選択部10は、算出された余りが含まれる領域に関連付けられている記憶装置40を、第1の記憶装置として選択してもよい。その場合、余りの値域に含まれるそれぞれの整数に対して、それぞれ異なる記憶装置40が関連付けられていればよい。第1の記憶装置を選択する方法は、以上の方法に限られない。第1の選択部10は、後述されるステップS106における選択方法の例と同様の方法によって、第1の記憶装置を選択してもよい。
The method for selecting the first storage device is not limited to the above method. For example, the
第1の選択部10は、選択した第1の記憶装置の識別子を出力する(ステップS105)。
The
次に、第2の選択部11は、第2の属性に基づき、複数の記憶装置40の中から、第2の記憶装置を選択する(ステップS106)。第2の選択部11は、第1の記憶装置を除く、複数の記憶装置40の中から、第2の記憶装置を選択してもよい。その場合、第1の選択部10は、第2の選択部11に、第1の記憶装置の識別子を送信すればよい。第2の選択部11は、第1の選択部10から、第1の記憶装置の識別子を受信すればよい。そして、第2の選択部11は、受信した記憶装置40の識別子から、第1の記憶装置の識別子を除外すればよい。第2の選択部11に、上述の記憶装置40のグループが関連付けられている場合、第2の選択部11は、その第2の選択部11に関連付けられているグループから、第2の記憶装置を選択してもよい。第2の選択部11は、第1の選択部10が第1の記憶装置を選択する方法と異なる方法で、第2の記憶装置を選択すればよい。
Next, the
第2の属性は、例えば、オブジェクトの類似性や同一性の評価を行える値であってもよい。 The second attribute may be, for example, a value that can evaluate the similarity or identity of objects.
例えば、第2の属性が、あらかじめオブジェクトに付与されたオブジェクトの種類である場合、それぞれの種類に、いずれかの記憶装置40があらかじめ関連付けられていればよい。オブジェクトの種類は、例えば、類似するオブジェクトのグループにあらかじめ付与された、オブジェクトのグループの識別子であってもよい。そして、第2の選択部11は、第2の属性に関連付けられている記憶装置40を、第2の記憶装置として選択すればよい。
For example, in the case where the second attribute is the type of the object previously assigned to the object, any
内容が同一である、異なる複数のオブジェクトが、記憶装置群4に含まれる記憶装置40に格納される場合、第2の属性は、オブジェクトのハッシュであってもよい。その場合、属性導出部13は、オブジェクトのハッシュ値を第2の属性として導出すればよい。第2の選択部11は、ハッシュ値と記憶装置40の識別子を関連付けて記憶していればよい。そして、第2の選択部11は、導出された第2の属性が、いずれかの記憶装置40の識別子に関連付けられているか判定すればよい。導出された第2の属性が関連付けられている記憶装置40が存在する場合、第2の選択部11は、導出された第2の属性が関連付けられている記憶装置40を、第2の記憶装置として選択すればよい。導出された第2の属性が関連付けられている記憶装置40が存在しない場合、第2の選択部11は、例えば、複数の記憶装置40から、所定の基準によりいずれかの記憶装置40を、第2の記憶装置として選択すればよい。その場合、第2の選択部11は、例えば、複数の記憶装置40から、無作為に、いずれかの記憶装置40を、第2の記憶装置として選択してもよい。第2の選択部11は、例えば、空き容量の最も多い記憶装置40を、第2の記憶装置として選択してもよい。第2の選択部11は、例えば、識別子等の順番に、記憶装置40を、第2の記憶装置として選択してもよい。
When a plurality of different objects having the same content are stored in the
また、第2の選択部11は、類似したキーに対して類似した値を返すハッシュ関数によって、第2の属性をキーにしてハッシュ値を算出してもよい。その場合、第2の属性は、オブジェクトの内容が類似している場合に、類似した値をとる属性であればよい。第2の属性は、例えば、オブジェクトそのものであってもよい。そして、第2の選択部11は、例えば、第2の属性が最も近いオブジェクトが格納されている記憶装置40を、第2の記憶装置として選択してもよい。第2の記憶装置を選択する方法は、以上の方法に限られない。第2の選択部11は、上述のステップS104における選択方法の例と同様の方法によって、第2の記憶装置を選択してもよい。
The
そして、第2の選択部11は、選択された第2の記憶装置の識別子を出力する(ステップS107)。
Then, the
次に、配置先決定装置1が第1の記憶装置の識別子のみを出力する場合における、配置先決定装置1の動作について説明する。
Next, the operation of the placement
図5は、本実施形態の配置先決定装置1の動作の第2の例を表すフローチャートである。図5は、配置先決定装置1が第1の記憶装置の識別子のみを出力する場合における、配置先決定装置1の動作の例を表す。図5の動作は、アクセス要求が書き込み要求である場合における、アクセス指示装置2に含まれる配置先決定装置1の動作に相当する。
FIG. 5 is a flowchart illustrating a second example of the operation of the placement
図5に示す各ステップの動作は、以下を除き、図4に示す、同じ符号が付与されたステップの動作と同じである。 The operation of each step shown in FIG. 5 is the same as the operation of the step given the same reference numeral shown in FIG. 4 except for the following.
ステップS101において、属性受信部14は、第2の属性を第2の選択部11に送信しない。
In step S <b> 101, the
ステップS103において、属性導出部13又は属性受信部14は、第2の属性を第2の選択部11に送信しない。
In step S <b> 103, the
図5に示す動作において、図4に示すステップS106及びステップS107の動作は行われない。 In the operation shown in FIG. 5, the operations in steps S106 and S107 shown in FIG. 4 are not performed.
次に、アクセス命令が格納命令である場合における、情報処理システム100全体の動作について説明する。 Next, the overall operation of the information processing system 100 when the access instruction is a storage instruction will be described.
まず、格納命令を発行するクライアント装置3について説明する。
First, the
処理部30が、オブジェクトの格納命令に加えて、オブジェクトと、オブジェクトの属性とを、命令受信部20に送信する。
The
指示決定部21は、配置先決定装置1が第1の記憶装置を選択するために必要な、受信したオブジェクト及びオブジェクトの属性の少なくとも一方を、アクセス指示装置2が含む配置先決定装置1に送信する。
The
アクセス指示装置2が含む配置先決定装置1は、第1の記憶装置を選択し、第1の記憶装置の識別子を出力する。
The placement
指示送信部23は、第1の記憶装置の識別子を受信する。指示送信部23は、第1の記憶装置を含む記憶サーバ7に対して、格納命令に加えて、オブジェクトと、オブジェクトの属性とを送信する。指示送信部23は、例えば、候補記憶部22に格納されている、記憶装置40の識別子に関連付けられている記憶サーバ7の識別子に基づき、第1の記憶装置を含む記憶サーバ7を特定すればよい。
The
結果転送部24は、格納命令を送信先である記憶サーバ7から、書き込みの結果を表す信号を受信する。書き込みの結果を表す信号は、たとえば、書き込みが成功したことを表す信号や、書き込みが失敗したことを表す信号である。結果転送部24は、受信した、書き込みの結果を表す信号を、処理部30に転送する。
The
次に、格納命令を受信する記憶サーバ7について説明する。
Next, the
指示受信部60が、格納命令に加えて、オブジェクトと、オブジェクトの属性とを受信する。記憶サーバ7が受信した格納命令が、指示送信部23によって、第1の記憶装置を含む記憶サーバ7に対して送信された格納命令であれば、格納命令を受信した記憶サーバ7に含まれる記憶装置40が第1の記憶装置である。あるいは、後述されるように、記憶サーバ7が受信した格納命令が、他の記憶サーバ7の指示送信部63によって、第2の記憶装置を含む記憶サーバ7に対して送信された格納命令である場合もある。その場合、格納命令を受信した記憶サーバ7に含まれる記憶装置40が第2の記憶装置である。
The
実行部67に含まれる格納部64は、受信したオブジェクトを、記憶装置40に書き込む。書き込みが成功した場合、結果送信部66が、例えば、書き込みが成功したことを表す信号を結果転送部24に送信する。書き込みが失敗した場合、結果送信部66が、例えば、書き込みが失敗したことを表す信号を結果転送部24に送信する。
The
さらに、指示決定部61が、第1及び第2の記憶装置を導出するために必要な、オブジェクト及びオブジェクトの属性の少なくとも一方を、アクセス実行装置6に含まれる配置先決定装置1に送信する。
Further, the
アクセス実行装置6に含まれる配置先決定装置1は、第1の記憶装置の識別子と、第2の記憶装置の識別子とを、指示送信部63に送信する。
The placement
指示送信部63はその指示送信部63が含まれる記憶サーバ7が含む記憶装置40が、第1の記憶装置であるか否かを判定する。その指示送信部63が含まれる記憶サーバ7が含む記憶装置40が、第1の記憶装置である場合、指示受信部60が受信した格納命令は、クライアント装置3から受信した格納命令である。その場合、指示送信部63は、第2の記憶装置を含む記憶サーバ7に対して、格納命令に加えて、オブジェクトとオブジェクトとを送信する。その指示送信部63が含まれる記憶サーバ7が含む記憶装置40が、第1の記憶装置でない場合、その記憶装置40は、第2の記憶装置である。そして、指示受信部60が受信した格納命令は、第2の記憶装置を含む記憶サーバ7に対して送信された格納命令である。すなわち、指示受信部60が受信した格納命令は、第1の記憶装置を含む他の記憶サーバ7から送信された格納命令である。その場合、指示送信部63は、格納命令を送信しない。
The
次に、アクセス命令がオブジェクトの読み出し命令である場合における、情報処理システム100全体の動作について説明する。 Next, the overall operation of the information processing system 100 when the access command is an object read command will be described.
まず、オブジェクトの読み出し命令を発行するクライアント装置3について説明する。
First, the
処理部30が、オブジェクトの読み出し命令を発行する。処理部30は、発行した読み出し命令に加えて、読み出されるオブジェクトを特定でき第1の記憶装置を特定できる属性を命令受信部20に送信する。情報処理システム100は、読み出されるオブジェクトを特定でき第1の記憶装置を特定できる属性は、オブジェクトの識別子であるように、設計されていてもよい。
The
指示決定部21は、オブジェクトの属性を、アクセス指示装置2が含む配置先決定装置1に送信する。
The
アクセス指示装置2が含む配置先決定装置1は、第1の記憶装置を選択し、選択された第1の記憶装置の識別子を出力する。
The placement
指示送信部23は第1の記憶装置の識別子を受信する。そして、指示送信部23は、第1の記憶装置を含む記憶サーバ7に対して、読み出し命令と、読み出されるオブジェクトを特定できる属性とを送信する。読み出されるオブジェクトを特定できる属性は、例えばオブジェクトの識別子である。
The
結果転送部24は、読み出し命令の送信先である記憶サーバ7から、読み出しの結果を受信する。読み出しの結果は、例えば、読み出されたオブジェクト、あるいは、読み出しが失敗したことを表す信号である。
The
次に、オブジェクトの読み出し命令を受信した記憶サーバ7について説明する。
Next, the
指示受信部60は、読み出し命令と、例えばオブジェクトの識別子である、読み出されるオブジェクトを特定できる属性を受信する。
The
実行部67に含まれる読み出し部65は、受信した属性によって特定されるオブジェクトを、記憶装置40から読み出す。
The
読み出しが成功した場合、結果送信部66は、読み出されたオブジェクトを、結果転送部24に送信する。読み出しが失敗した場合、結果送信部66は、例えば、読み出しが失敗したことを表す信号を、結果転送部24に送信する。
When the reading is successful, the
以上で説明した本実施形態には、同じオブジェクトに対して、異なる複数の目的に応じた配置先を決定することができるという効果がある。 The present embodiment described above has an effect that it is possible to determine placement destinations corresponding to a plurality of different purposes for the same object.
その理由は、第1の選択部10が第1の属性に基づき選択した配置先とは別に、第2の選択部11が、第2の属性に基づいて配置先を選択するからである。第1の選択部10が選択した配置先と、第2の選択部11が選択した配置先の双方に、同じオブジェクトが配置される。目的の例として、例えば、複数の配置先のいずれかに格納されている複数のオブジェクトに、ランダムにアクセスする際の、配置先の負荷を減少させることがある。目的の他の例として、データであるオブジェクトがバックアップとして記憶装置である配置先に配置されている場合に、複数のオブジェクトをまとめて圧縮する際の圧縮率を向上させることがある。第1の属性は、第1の選択部10が、所定の目的に適した配置先を選択するよう、あらかじめ選択されていればよい。第2の属性は、第2の選択部11が、他の所定の目的に適した配置先を選択するよう、あらかじめ選択されていればよい。その場合、本実施形態の配置先決定装置1は、異なる複数の目的に応じた配置先を決定する。
This is because the
<第1の実施形態の変形例>
図1は、本変形例の配置先決定装置1の構成を表すブロック図である。本変形例の配置先決定装置1の各構成要素は、以下で説明する点を除き、同じ符号が付与された、第1の実施形態の配置先決定装置1の構成要素と同じである。
<Modification of First Embodiment>
FIG. 1 is a block diagram illustrating a configuration of an arrangement
図10は、本変形例のオブジェクト処理システム100Bの構成を模式的に表すブロック図である。図10を図2と比較すると、記憶サーバ7の代わりに配置先装置7Bがネットワーク5に接続されている。ネットワーク5は、例えば、後述される搬送装置による搬送ネットワークを含む。ネットワーク5は、さらに、通信ネットワークを含んでいてもよい。
FIG. 10 is a block diagram schematically illustrating the configuration of an object processing system 100B according to this modification. Comparing FIG. 10 with FIG. 2, the
図11は、本変形例のクライアント装置3と、配置先装置7Bの構成を表す図である。クライアント装置3及び配置先装置7Bの各構成要素は、以下で説明する点を除き、同じ不要が付与された、第1の実施形態のクライアント装置3または配置先装置7Bの構成要素と同じである。図10と図1とを比較すると、本変形例のクライアント装置3と、第1の実施形態のクライアント装置3の構成は同じである。また、本変形例の配置先装置7Bの構成は、実行部67の代わりに実行部67Bを含み、記憶装置40を含まない点が、第1の実施形態の記憶サーバ7の構成と異なる。また、配置先装置7Bは、配置先40Bに、オブジェクトの格納と取り出しが可能なように接続されている。実行部67Bは、第1の実施形態の実行部67と比較すると、格納部64の代わりに格納部64Bを含み、読み出し部65の代わりに取り出し部65Bを含む。
FIG. 11 is a diagram illustrating the configuration of the
第1の実施形態では、オブジェクトがひとまとまりのデータである場合について説明した。しかし、オブジェクトは、必ずしもひとまとまりのデータでなくてもよい。 In the first embodiment, the case where the object is a group of data has been described. However, an object is not necessarily a piece of data.
本変形例では、オブジェクトは、例えば、製品やその他の物体である。そして、配置先は、例えば、物体を格納することができる場所である。また、アクセス命令のうち格納命令は、配置先に物体を配置する命令である。本変形例の説明において、配置先に物体(あるいはオブジェクト)を配置することを、「配置先に物体(あるいはオブジェクト)を格納する」とも表記する。また、アクセス命令のうち取り出し命令は、配置先に配置(あるいは格納)されている物体を取り出す命令である。 In this variation, the object is, for example, a product or other object. The placement destination is, for example, a place where an object can be stored. In addition, the storage command among the access commands is a command for placing an object at the placement destination. In the description of this modification, the arrangement of an object (or object) at the arrangement destination is also referred to as “store the object (or object) at the arrangement destination”. Also, the fetch command of the access commands is a command for fetching an object placed (or stored) at the placement destination.
本変形例では、オブジェクトは、例えばベルトコンベアやその他の搬送装置により、装置間及び装置の構成要素間で搬送される。本変形例は、決定される配置先の個数と同じ個数のオブジェクトに、同じ識別子が付与される。同じ識別子が付与される複数のオブジェクトには、同じ属性が付与される。また、同じ識別子が付与される複数のオブジェクトとして、後述されるように属性導出部13によって計測される計測値が同じであるオブジェクトが選択される。本変形例の説明においては、オブジェクトを搬送することを、「オブジェクトを送信する」とも表記することにする。
In this modification, an object is conveyed between apparatuses and between the components of an apparatus, for example with a belt conveyor or another conveying apparatus. In this modification, the same identifier is assigned to the same number of objects as the number of placement destinations to be determined. The same attribute is assigned to a plurality of objects to which the same identifier is assigned. In addition, as a plurality of objects to which the same identifier is assigned, objects having the same measurement value measured by the
本変形例では、オブジェクトの属性の少なくとも一部とアクセス命令は、例えば、光学的に読み取り可能なタグに、あるいは、無線によって読み取り可能なタグに、例えばオブジェクトの識別子に関連付けて、記録されていてもよい。そして、そのタグは、例えば、物体であるオブジェクトに添付されていてもよい。オブジェクトは、搬送用容器に格納された状態で搬送されてもよい。その場合、タグは、搬送用容器に添付されていてもよい。 In this modification, at least a part of the attribute of the object and the access command are recorded in, for example, an optically readable tag or a wirelessly readable tag, for example, in association with the identifier of the object. Also good. And the tag may be attached to the object which is an object, for example. The object may be transported while being stored in the transport container. In that case, the tag may be attached to the container for conveyance.
オブジェクトの属性の少なくとも一部とアクセス命令は、例えば、信号線を介した通信や無線通信によって、例えばオブジェクトの識別子に関連付けて、送信されてもよい。 At least a part of the attribute of the object and the access command may be transmitted, for example, in association with the identifier of the object, for example, by communication via a signal line or wireless communication.
オブジェクトの属性がタグに記録されている場合、属性受信部14は、タグに記録されている属性を表すデータを読み取ることにより、オブジェクトの属性を受信する。
When the attribute of the object is recorded in the tag, the
処理部30は、アクセス命令が格納命令である場合、格納先と同数の、同一の識別子が付与されている上述のオブジェクトと、アクセス命令と、オブジェクトの属性とを、アクセス指示装置2に送信する。
When the access instruction is a storage instruction, the
対象受信部12は、処理部30によって送信され、搬送されている、同一の識別子が付与されているオブジェクトの少なくとも一つを受け入れる。
The
属性導出部13は、例えば、受け入れられたオブジェクトの少なくとも1つを、いずれか1個以上のセンサによって計測する。属性導出部13は、計測によって得られた計測値から、オブジェクトの属性を導出する。あるいは、属性導出部13は、計測によって得られた計測値を、オブジェクトの属性にする。
For example, the
出力部15は、選択された配置先の識別子を、例えば、信号線を介した通信や無線通信によって、指示送信部23に送信する。対象受信部12がオブジェクトを受け入れる場合、出力部15は、対象受信部12が受け入れたオブジェクトを、指示送信部23に送る。その場合、出力部15は、選択された配置先の識別子を、前述のタグに追記してもよい。そして、出力部15は、オブジェクト及びそのタグを、指示送信部23に送ってもよい。
The
指示受信部60は、同一の識別子が付与された複数のオブジェクトを受け取った場合、その複数のオブジェクトのうちの一つと、受信したアクセス命令とを、実行部67Bに送信する。オブジェクトを実行部67Bに送信した後、オブジェクトが残っている場合、指示受信部60は、残ったオブジェクトと、受信したアクセス命令とを、指示決定部61に送信する。
When receiving a plurality of objects with the same identifier, the
本変形例では、格納部64の代わりに格納部64Bが動作する。また、読み出し部65の代わりに、取り出し部65Bが動作する。
In this modification, the
格納部64Bは、1個のオブジェクトを、格納先40Bに格納する。本変形例では、第1の実施形態における格納部64がオブジェクトを記憶装置40に格納する動作の代わりに、格納部64がオブジェクトを格納先40Bに格納する動作を行う。
The
取り出し部65Bは、格納先40Bに格納されているオブジェクトを取り出す。本変形例では、第1の実施形態における読み出し部65が記憶装置40からオブジェクトを読み出す動作の代わりに、取り出し部65Bが格納先40Bからオブジェクトを取り出す動作を行う。
The
本実施形態の各装置は、以上で説明されない点においては、第1の実施形態と同様の動作を行う。 Each device of the present embodiment performs the same operation as that of the first embodiment in a point not described above.
なお、本変形例では、復元部68は存在しなくてよい。
In the present modification, the
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図2は、本実施形態の情報処理システム100の構成を表すブロック図である。本実施形態の情報処理システム100の構成は、第1の実施形態の情報処理システム100の構成と同じである。 FIG. 2 is a block diagram illustrating a configuration of the information processing system 100 according to the present embodiment. The configuration of the information processing system 100 of the present embodiment is the same as the configuration of the information processing system 100 of the first embodiment.
図3は、本実施形態のクライアント装置3及び記憶サーバ7の構成を表すブロック図である。本実施形態のクライアント装置3及び記憶サーバ7の構成は、それぞれ、第1の実施形態のクライアント装置3及び記憶サーバ7の構成と同じである。
FIG. 3 is a block diagram showing the configuration of the
図1は、本実施形態の配置決定装置1の構成を表すブロック図である。本実施形態の配置決定装置1の構成は、第1の実施形態の配置決定装置1の構成と同じである。
FIG. 1 is a block diagram showing the configuration of the
また、図4及び図5は、それぞれ、本実施形態の配置先決定装置1の動作の例を表す。
4 and 5 each show an example of the operation of the placement
本実施形態の情報処理システム100は、以下を除き、第1の実施形態の情報処理システム100と同じである。 The information processing system 100 of the present embodiment is the same as the information processing system 100 of the first embodiment except for the following.
本実施形態では、第1の属性は、オブジェクトの識別子である。また、第2の属性は、ひとまとまりのデータであるオブジェクトのハッシュである。 In the present embodiment, the first attribute is an object identifier. The second attribute is a hash of an object which is a group of data.
そして、格納部64は、オブジェクトを記憶装置40に格納する際、同一内容のデータが記憶装置40に格納されている場合に重複排除を行うなど、データの圧縮を行う。格納部64は、既存の方法いずれかの方法により、データの圧縮を行えばよい。
Then, when storing the object in the
本実施形態の情報処理システムは、オブジェクトを記憶装置群4のいずれかに格納する際、オブジェクトのマスターデータとレプリケーションデータを保存することにより、二重化された状態でオブジェクトを保存する。オブジェクトのマスターデータは、例えば、第1の記憶装置に格納されるデータである。オブジェクトのレプリケーションデータは、例えば、第2の記憶装置に格納されるデータである。 When the object is stored in any of the storage device groups 4, the information processing system according to the present embodiment stores the object in a duplicated state by storing the master data and replication data of the object. The master data of the object is data stored in the first storage device, for example. The object replication data is, for example, data stored in the second storage device.
本実施形態の第1の選択部10が第1の記憶装置を選択する方法は、例えば上述の、複数の記憶装置40の各々が第1の記憶装置として選択される確率が均等あるいはほぼ均等である方法である。さらに、本実施形態の第1の選択部10が第1の記憶装置を選択する方法は、第1の属性に対して、第1の記憶装置が一意に定まる方法である。本実施形態の第1の選択部10は、以上の条件を満たす方法によって、オブジェクトの識別子に基づき、第1の記憶装置を選択する。このことにより、オブジェクトの識別子に基づき、そのオブジェクトのマスターデータが格納されている記憶装置40を特定することができる。さらに、複数のオブジェクトが記憶装置群4に格納される場合、各オブジェクトが格納される記憶装置40は分散される。そのため、オブジェクトにアクセスする際、高速にアクセスすることができる。
The
第1の記憶装置を含む記憶サーバ7の格納部64は、オブジェクトの書き込み要求を受信すると、オブジェクトを、そのオブジェクトの識別子に関連付けて、第1の記憶装置である記憶装置40に格納する。第1の記憶装置を含む記憶サーバ7の格納部64は、オブジェクトを、さらに、そのオブジェクトがマスターデータであることを表す値に関連付けて、第1の記憶装置である記憶装置40に格納してもよい。
When receiving the object write request, the
第2の選択部11は、例えば上述の、第2の属性に対して一意に第2の記憶装置が定まる方法によって、オブジェクトのハッシュである第2の属性に基づき第2の記憶装置を選択する。このことにより、内容が同一であるオブジェクトのレプリケーションデータは、同じ記憶装置に格納される。従って、同じ内容のデータを圧縮する重複排除が効率よく実行される。従って、記憶装置群4が備える記憶容量を効率よく利用することができる。
The
第2の記憶装置を含む記憶サーバ7の格納部64は、オブジェクトの書き込み要求を受信すると、オブジェクトを、そのオブジェクトの識別子に関連付けて、第2の記憶装置である記憶装置40に格納する。第2の記憶装置を含む記憶サーバ7の格納部64は、オブジェクトを、さらに、そのオブジェクトがレプリケーションデータであることを表す値に関連付けて、第2の記憶装置である記憶装置40に格納してもよい。
When receiving the object write request, the
また、本実施形態では、オブジェクトのマスターデータを読み出すことができなくなっても、読み出せなくなったマスターデータを他の記憶サーバ7の記憶装置40に復元することができる。また、オブジェクトのレプリケーションデータを読み出すことができなくなっても、読み出せなくなったレプリケーションを他の記憶サーバ7の記憶装置40に復元することができる。
Further, in the present embodiment, even if the master data of the object cannot be read, the master data that cannot be read can be restored to the
オブジェクトのマスターデータやレプリケーションデータを読み出すことができなくなる状態は、例えば、それらのデータを記憶する記憶装置40やその記憶装置40を含む記憶サーバ7の故障によって生じる。
The state in which the master data and the replication data of the object cannot be read occurs, for example, due to a failure of the
以下の説明において、記憶装置40にマスターデータが格納されている記憶サーバ7を、「マスターデータを記憶する記憶サーバ7」と表記することにする。同様に、記憶装置40にレプリケーションデータが格納されている記憶サーバ7を、レプリケーションデータを記憶する記憶サーバ7と表記する。記憶サーバ7が、その記憶サーバ7が記憶するマスターデータあるいはレプリケーションデータを読み出せない状態である場合、その記憶サーバ7が故障していると表記する。
In the following description, the
まず、マスターデータを記憶する記憶サーバ7が故障した場合におけるマスターデータの復元について説明する。
First, restoration of master data when the
記憶サーバ7は、オブジェクトのマスターデータを、例えば、マスターデータであることを表す値を関連付けて、記憶装置40に格納していればよい。記憶サーバ7は、オブジェクトのレプリケーションデータを、例えば、レプリケーションであることを表す値を関連付けて、記憶装置40に格納していればよい。
The
レプリケーションデータを記憶する記憶サーバ7の復元部68は、各レプリケーションデータのマスターデータを記憶する記憶サーバ7が故障しているか否かを判定する。復元部68は、レプリケーションデータに関連付けられているオブジェクトの識別子によって、マスターデータを記憶する記憶サーバ7を特定することができる。復元部68は、例えば、レプリケーションデータに関連付けられているオブジェクトの識別子を、配置先決定装置1に送信する。オブジェクトの識別子を受信した配置先決定装置1は、第1の記憶装置の識別子を出力する。復元部68は、その第1の記憶装置の識別子によって、その第1の記憶装置を含む記憶サーバ7を特定できる。復元部68は、その第1の記憶装置を含む記憶サーバ7に対して、レプリケーションデータに関連付けられているオブジェクトの識別子によって特定されるオブジェクトの読み出し命令を送信すればよい。復元部68は、送信した読み出し命令によるオブジェクトの読み出しが成功しなかった場合に、マスターデータを記憶する記憶サーバ7が故障していると判定すればよい。
The
マスターデータを記憶する記憶サーバ7が故障している場合、復元部68は、故障している記憶サーバ7の代替記憶サーバ7を特定する。各記憶サーバ7に対する代替記憶サーバ7は、あらかじめ決められていればよい。そして、復元部68は、その代替記憶サーバ7に、レプリケーションデータの複製をマスターデータとして記憶させることにより、マスターデータを復元する。
When the
次に、レプリケーションデータを記憶する記憶サーバ7が故障した場合におけるレプリケーションデータの復元について説明する。
Next, restoration of replication data when the
マスターデータを記憶する記憶サーバ7の復元部68は、各マスターデータのレプリケーションデータを記憶する記憶サーバ7が故障しているか否かを判定する。復元部68は、マスターデータに関連付けられているオブジェクトから導出されるハッシュによって、レプリケーションデータを記憶する記憶サーバ7を特定することができる。復元部68は、例えば、レプリケーションデータとして記憶装置40に格納されているオブジェクトを、配置先決定装置1に送信する。オブジェクトを受信した配置先決定装置1は、そのオブジェクトのハッシュを導出する。配置先決定装置1は、導出されたハッシュに基づき、第2の記憶装置を選択する。そして、配置先決定装置1は、第2の記憶装置の識別子を出力する。復元部68は、その第2の記憶装置の識別子によって、その第2の記憶装置を含む記憶サーバ7を特定できる。復元部68は、その第2の記憶装置を含む記憶サーバ7に対して、マスターデータに関連付けられているオブジェクトの識別子によって特定されるオブジェクトの読み出し命令を送信すればよい。復元部68は、送信した読み出し命令によるオブジェクトの読み出しが成功しなかった場合に、レプリケーションデータを記憶する記憶サーバ7が故障していると判定すればよい。
The
レプリケーションデータを記憶する記憶サーバ7が故障している場合、復元部68は、故障している記憶サーバ7の代替記憶サーバ7を特定する。各記憶サーバ7に対する代替記憶サーバ7は、あらかじめ決められていればよい。そして、復元部68は、その代替記憶サーバ7に、マスターデータの複製をレプリケーションデータとして記憶させることにより、レプリケーションデータを復元する。
When the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason why the first embodiment occurs.
本実施形態には、さらに、二重化された状態で保存されたオブジェクトの、一方のデータに対して高速なアクセスを可能にするのに加えて、他方のデータに対して容量効率の高い保存を可能にするという効果がある。 In this embodiment, in addition to enabling high-speed access to one data of an object stored in a duplicated state, capacity-efficient storage is possible for the other data. There is an effect that.
その理由は、第1の選択部10がオブジェクトの識別子に基づき第1の記憶装置を選択するのに加えて、第2の選択部11が、オブジェクトのハッシュに基づき第2の記憶装置を選択するからである。そして、第1の記憶装置と第2の記憶装置には、それぞれ、同じオブジェクトのマスターデータとレプリケーションデータが格納される。あるオブジェクトに識別子に対して、それぞれの記憶装置40が第1の記憶装置として選択される確率は、同じあるいはほぼ同じである。すなわち、オブジェクトのマスターデータは、オブジェクトのデータによらず、複数の記憶装置40に均等あるいはほぼ均等に格納される。従って、オブジェクトに対するアクセスは、複数の記憶装置40に分散される。よって、オブジェクトに対するアクセスは高速化される。
The reason is that, in addition to the
一方、異なる複数のオブジェクトのデータが同一であれば、それらのオブジェクトのハッシュは同一である。一方、第2の選択部11は、同じ第2の属性に対して、同じ第2の記憶装置を選択する。そして、本実施形態では、第2の属性はオブジェクトのハッシュである。従って、データが同一である異なる複数のオブジェクトに対して、同じ第2の記憶装置が選択される。すなわち、オブジェクトのレプリケーションデータは、データが同一であれば同じ記憶装置40に格納される。従って、レプリケーションデータが格納されている記憶装置40に対して、例えば重複排除によって、格納されているデータの圧縮を行うと、データの圧縮率が向上することが期待できる。
On the other hand, if the data of a plurality of different objects is the same, the hash of those objects is the same. On the other hand, the
<第3の実施形態>
次に、本発明の第3の実施形態について、図面を参照して詳細に説明する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
図2は、本実施形態の情報処理システム100の構成を表すブロック図である。本実施形態の情報処理システム100の構成は、第1の実施形態の情報処理システム100の構成と同じである。 FIG. 2 is a block diagram illustrating a configuration of the information processing system 100 according to the present embodiment. The configuration of the information processing system 100 of the present embodiment is the same as the configuration of the information processing system 100 of the first embodiment.
図3は、本実施形態のクライアント装置3及び記憶サーバ7の構成を表すブロック図である。本実施形態のクライアント装置3及び記憶サーバ7の構成は、それぞれ、第1の実施形態のクライアント装置3及び記憶サーバ7の構成と同じである。
FIG. 3 is a block diagram showing the configuration of the
図1は、本実施形態の配置決定装置1の構成を表すブロック図である。本実施形態の配置決定装置1の構成は、第1の実施形態の配置決定装置1の構成と同じである。
FIG. 1 is a block diagram showing the configuration of the
また、図4及び図5は、それぞれ、本実施形態の配置先決定装置1の動作の例を表す。
4 and 5 each show an example of the operation of the placement
本実施形態の情報処理システム100は、以下を除き、第1の実施形態の情報処理システム100と同じである。 The information processing system 100 of the present embodiment is the same as the information processing system 100 of the first embodiment except for the following.
本実施形態では、第1の属性は、同じ第1の属性に関連付けら得たオブジェクトの数が偏らないよう選択されたメタデータである。そのような第1の属性は、例えば、オブジェクトの識別子である。 In the present embodiment, the first attribute is metadata selected so that the number of objects associated with the same first attribute is not biased. Such a first attribute is, for example, an object identifier.
また、本実施形態では第2の属性は、例えば、オブジェクトのデータとしての分類を表すメタデータである。第2の属性は、分類を表す属性であれば、いずれの属性でもよい。第2の属性は、オブジェクトにあらかじめ関連付けられていればよい。 In the present embodiment, the second attribute is, for example, metadata representing a classification as object data. The second attribute may be any attribute as long as it represents the classification. The second attribute only needs to be associated with the object in advance.
第2の属性は、例えば、クライアント装置3の使用者によって設定される。そして、クライアント装置3の処理部30がオブジェクトの格納命令を発行する際に、処理部30がアクセス指示装置2に送信する。処理部30によって送信される第2の属性は、例えば、分類の識別子である。さらに、アクセス指示装置2の指示送信部23がオブジェクトの格納命令を送信する際、指示送信部23は、さらに、第2の属性を送信する。指示決定部61は、配置先決定部1に対して、第1の属性及び第2の属性を送信する。
The second attribute is set by the user of the
そして、図4に示すステップS103において、属性導出部13は、第2の属性を導出しない。
In step S103 illustrated in FIG. 4, the
図4に示すステップS104において、本実施形態の第1の選択部10は、第2の実施形態の第1の選択部10と同じように、第1の記憶装置を選択する。すなわち、それぞれのオブジェクトに対して、オブジェクトのデータによらず、それぞれの記憶装置40が第1の記憶装置として選択される確率が同等又はほぼ同等になるように、第1の記憶装置を選択する。
In step S104 shown in FIG. 4, the
図4に示すステップS106において、第2の選択部11は、オブジェクトの分類を表す第2の属性に基づき、第2の記憶装置を選択する。本実施形態の第2の選択部11も、同じ第2の属性に対して、同じ第2の記憶装置を選択する。よって、本実施形態の第2の選択部11は、異なる複数のオブジェクトの分類が同一であれば、それらのオブジェクトに対して、同じ第2の記憶装置を選択する。すなわち、分類が同じオブジェクトは、同じ記憶装置40に格納される。
In step S106 shown in FIG. 4, the
以下の説明において、第2の実施形態と同様、第1の記憶装置に格納されるオブジェクトを、オブジェクトのマスターデータと表記する。そして、第2の記憶装置に格納されるオブジェクトを、オブジェクトのレプリケーションデータと表記する。 In the following description, as in the second embodiment, an object stored in the first storage device is referred to as object master data. The object stored in the second storage device is expressed as object replication data.
本実施形態でも、第2の実施形態と同様、マスターデータは、データの内容や分類等によらず、複数の記憶装置40に均等又はほぼ均等に格納される。従って、マスターデータに対するアクセスの負荷は、複数の記憶装置40に分散される。従って、マスターデータに対するアクセスは高速化される。
Also in the present embodiment, as in the second embodiment, master data is stored in a plurality of
一方、本実施形態では、レプリケーションデータは、オブジェクトの分類が同じであれば同じ記憶サーバ7に格納される。従って、レプリケーションデータに対してアクセスする際、一つの分類に含まれる全てのオブジェクトに対する処理を効率よく行うことができる。
On the other hand, in this embodiment, replication data is stored in the
例えば、クライアント装置3が一つの分類に含まれる多数のオブジェクトを読み出す場合、それらのオブジェクトは同じ記憶サーバ7から読み出される。クライアント装置3とオブジェクトが読み出される記憶サーバ7を接続するネットワーク5が、ポート間の通信が他のポート間の通信と独立して行われるネットワークスイッチによって実現されている場合、オブジェクトの読み出しは、他の装置間の通信に影響を与えない。その場合、オブジェクトの読み出しは、他の装置間の通信に影響されない。すなわち、効率のよい読み出しが可能である。
For example, when the
また、例えば、記憶サーバ7が汎用の情報処理装置を使用して実現されている場合、クライアント装置3からに指示に基づき、記憶サーバ7がオブジェクトに対するように、記憶サーバ7を構築することができる。そのような記憶サーバ7に、その記憶サーバ7が記憶する、一つの分類に含まれる多数のオブジェクトに対する処理を実行させる場合、他の記憶サーバ7からオブジェクトの読み出しを行う必要がない。一つの分類に含まれる多数のオブジェクトに対する処理としては、例えば、統計処理や、特定の条件に合致するオブジェクトの抽出などがある。一般に、情報処理装置に直接接続された記憶装置からのデータの読み出しの方が、他の情報処理装置に接続された記憶装置に格納されているデータの、ネットワークを介する受信より高速である。従って、その処理の際、ネットワーク5を介してオブジェクトを転送する必要がない。すなわち、高速な処理が可能になる。
Further, for example, when the
また、本実施形態では、第2の実施形態と同様に、オブジェクトのマスターデータを読み出すことができなくなっても、読み出せなくなったマスターデータを他の記憶サーバ7の記憶装置40に復元することができる。また、オブジェクトのレプリケーションデータを読み出すことができなくなっても、読み出せなくなったレプリケーションを他の記憶サーバ7の記憶装置40に復元することができる。
Further, in the present embodiment, similarly to the second embodiment, even if the master data of the object cannot be read, the master data that cannot be read can be restored to the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason why the first embodiment occurs.
本実施形態には、さらに、記憶装置群4に格納されている複数のオブジェクトに対して異なるアクセスパターンによってアクセスを行う場合に、アクセスパターンに応じた効率のよいアクセスが可能になるという効果がある。 The present embodiment further has an effect that when a plurality of objects stored in the storage device group 4 are accessed with different access patterns, efficient access according to the access patterns becomes possible. .
その理由は、第1の選択部10が第1の属性に基づき選択した第1の記憶装置と、第2の選択部11が第2の属性に基づき選択した第2の記憶装置とに、それぞれオブジェクトデータが格納されるからである。本実施形態では、複数のアクセスパターンによるアクセスにおいて効率がよくなるようあらかじめ選択した、第1の属性と第2の属性とを指定して、オブジェクトを格納することができる。アクセスパターンに応じて、アクセスするデータを、例えばマスターデータ及びレプリケーションデータから選択することによって、効率のよいアクセスを行うことができる。
The reason is that each of the first storage device selected by the
<第4の実施形態>
次に、本発明の第4の実施形態について、図面を参照して詳細に説明する。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
図6は、本実施形態の含む情報処理システム100Aの構成を表すブロック図である。図6を参照すると、情報処理システム100Aは、通信ネットワークであるネットワーク5によって接続された、クライアント装置3と、複数の記憶サーバ7Aとを含む。情報処理システム100Aは、ネットワーク5に接続された複数のクライアント装置3を含んでいてもよい。
FIG. 6 is a block diagram showing the configuration of an information processing system 100A included in this embodiment. Referring to FIG. 6, an information processing system 100A includes a
図7は、本実施形態のクライアント装置3と及び記憶サーバ7Aの構成を表すブロック図である。図7には1台の記憶サーバ7だけが描かれているが、複数の記憶サーバ7Aがネットワーク5を介してクライアント装置3に接続されている。
FIG. 7 is a block diagram showing the configuration of the
本実施形態のクライアント装置3の構成は、図3に示す第1の実施形態のクライアント装置3の構成と同じである。本実施形態のクライアント装置3の各構成要素は、以下で説明する点を除き、同じ番号が付与された、クライアント装置3の構成要素と同じである。
The configuration of the
また、本実施形態の記憶サーバ7Aと、図3に示す第1の実施形態の記憶サーバ7とを比較すると、アクセス実行装置6Aは、アクセス実行装置6の代わりにアクセス実行装置6Aを含む。本実施形態のアクセス実行装置6Aを第1の実施形態のアクセス実行装置6とを比較すると、アクセス実行装置6Aは、指示決定部61と、候補記憶部62と、指示送信部63と、配置先決定装置1とを含まない。アクセス指示装置2の配置先決定装置1に含まれる第1の選択部10は、アクセス実行装置6の配置先決定装置1に含まれる第1の選択部10と同じ動作を行う。同様に、アクセス指示装置2の配置先決定装置1に含まれる第2の選択部11は、アクセス実行装置6の配置先決定装置1に含まれる第2の選択部11と同じ動作を行う。記憶サーバ7Aの他の構成要素は、以下の説明以外は、同じ番号が付与された、記憶サーバ7の構成要素と同じであればよい。
When comparing the storage server 7A of the present embodiment with the
指示決定部21は、アクセス指示装置2が含む配置先決定装置1に対して、オブジェクト及びオブジェクトの属性を送信する。そして、指示送信部23は、アクセス指示装置2が含む配置先決定装置1から、配置先の識別子を受信する。指示送信部23が、アクセス指示装置2が含む配置先決定装置1から識別子を受信する配置先は、アクセス命令によるアクセスの対象であるオブジェクトの配置先である。本実施形態では、指示送信部23は、配置先決定装置1から、配置先である記憶装置40の識別子を受信する。
The
本実施形態では、アクセス指示装置2が含む配置先決定装置1に含まれる第1の選択部10が、あらかじめ定められた第1の属性に基づき、第1の記憶装置を選択する。アクセス指示装置2が含む配置先決定装置1に含まれる第1の選択部10は、さらに、あらかじめ定められた第2の属性に基づき、第2の記憶装置を選択する。第1の属性及び第2の属性は、オブジェクトから導出された属性と受信したオブジェクトの属性との、少なくともいずれかに含まれる。第1の属性及び第2の属性の全てがオブジェクトから導出される属性に含まれない場合、指示決定部21は、アクセス指示装置2が含むオブジェクトを配置先決定装置1に送信しなくてよい。第1の属性及び第2の属性の全てがオブジェクトから導出される属性にのみ含まれる場合、指示決定部21は、アクセス指示装置2が含むオブジェクトの属性を配置先決定装置1に送信しなくてよい。
In the present embodiment, the
本実施形態の配置先決定装置1は、指示決定部21が送信したオブジェクト及びオブジェクトの属性の少なくともいずれかに基づき導出した、第1の記憶装置の識別子及び第2の記憶装置の識別子を出力する。本実施形態の説明において、配置先決定装置1は、一つの第2の選択部11を含む。しかし、上述のように、配置先決定装置1は、複数の第2の選択部11を含んでいてもよい。その場合、複数の第2の選択部11のそれぞれは、例えば異なる方法で、第2の記憶装置を選択する。配置先決定装置1が複数の第2の選択部11を含む場合、配置先決定装置1は、複数の第2の選択部11の各々が選択した第2の記憶装置の識別子を出力する。すなわち、その場合、配置先決定装置1は、複数の第2の記憶装置の識別子を出力する。
The placement
アクセス命令が読み出し命令である場合、指示決定部21は、受信した、第1の属性及び第2の属性の少なくともいずれかを、配置先決定装置1に送信する。指示決定部21が第1の属性を送信した場合、配置先決定装置1は、第1の記憶装置の識別子を返送する。指示決定部21が、第2の属性を送信した場合、配置先決定装置1は、第2の記憶装置の識別子を出力する。
When the access command is a read command, the
指示送信部23は、配置先決定装置1から、第1の記憶装置の識別子と、第2の記憶装置の識別子とを受信する。
The
アクセス命令が格納命令である場合、指示送信部23は、第1の記憶装置を含む記憶サーバ7Aに対して、オブジェクトと、オブジェクトの識別子と、オブジェクトを書き込む命令である格納命令を送信する。処理部30が命令受信部20に対してオブジェクトの識別子以外の属性を送信する場合、指示送信部23は、さらに、オブジェクトのその属性を記憶サーバ7Aに送信してもよい。
When the access instruction is a storage instruction, the
アクセス命令が格納命令である場合、指示送信部23は、さらに、第2の記憶装置を含む記憶サーバ7Aに対して、オブジェクトと、オブジェクトを書き込む命令である格納命令を送信する。指示送信部23は、記憶装置40の識別子と、その記憶装置40を含む記憶サーバ7Aの識別子とを、関連付けて記憶していればよい。例えば、候補記憶部22に格納されている記憶装置40の識別子に、記憶サーバ7Aの識別子が関連付けられていてもよい。
When the access command is a storage command, the
以上のように、本実施形態では、クライアント装置3に含まれる指示送信部23が、第2の記憶装置を含む記憶サーバ7Aに対して、オブジェクトを書き込む格納命令を送信する。また、本実施形態では、第1の実施形態とは異なり、第1の記憶装置を含む記憶サーバ7Aは、格納命令をした場合に、第2の記憶装置を含む他の記憶サーバ7Aに対して、格納命令を送信する動作を行わない。
As described above, in this embodiment, the
また、図4及び図5は、本実施形態の配置先決定装置1の動作を表すフローチャートである。図4は、命令受信部20が処理部30からアクセス命令を受信した場合の、配置先決定装置1の動作を表す。
4 and 5 are flowcharts showing the operation of the placement
指示決定部21が、アクセス命令の対象であるオブジェクトとそのオブジェクトの属性とを、配置先決定装置1に送信すると、配置先決定装置1は、図4に示す動作を開始する。この場合のアクセス命令は、例えば格納命令である。
When the
アクセス要求が書き込み要求である場合における、アクセス指示装置2に含まれる配置先決定装置1の動作では、ステップS105において第1の記憶装置の識別子は、指示送信部23に出力される。また、その場合、さらに、ステップS107において第2の記憶装置の識別子は、指示送信部23に出力される。
In the operation of the placement
指示送信部23は、第1の記憶装置を含む記憶サーバ7Aに対して、オブジェクトと、オブジェクトの書き込み指示とを送信する。第1の記憶装置を含む記憶サーバ7Aは、オブジェクトと、オブジェクトの書き込み指示とを受信すると、オブジェクトを第1の記憶装置に書き込む。指示送信部23は、第2の記憶装置を含む記憶サーバ7Aに対して、オブジェクトと、オブジェクトの書き込み指示とを送信する。第2の記憶装置を含む記憶サーバ7Aは、オブジェクトと、オブジェクトの書き込み指示とを受信すると、オブジェクトを第2の記憶装置に書き込む。記憶サーバ7Aがオブジェクトを第2の記憶装置に書き込む動作は、記憶サーバ7がオブジェクトを第2の記憶装置に書き込む動作と同じである。
The
図5は、アクセス命令が、例えば、第1の属性に基づき定まる第1の記憶装置に格納されているオブジェクトを読み出す読み出し命令である場合の、配置先決定装置1の動作を表す。
FIG. 5 shows the operation of the placement
本実施形態では、ステップS105において、第1の記憶装置の識別子は、指示送信部23に出力される。アクセス命令が読み出し命令であるなら、指示送信部23は、例えば、命令受信部20が受信した、オブジェクトの属性と、読み出し命令を、第1の記憶装置を含む記憶サーバ7Aに送信する。読み出し命令を受信した記憶サーバ7Aの動作は、読み出し命令を受信した記憶サーバ7の動作と同じである。
In the present embodiment, in step S105, the identifier of the first storage device is output to the
本実施形態の記憶サーバ7Aは、第2及び第3の実施形態の記憶サーバ7と同様に、マスターデータ及びレプリケーションデータの復旧を行ってもよい。その場合、記憶サーバ7Aは前述の復旧部と、配置先決定装置1を含んでいればよい。
The storage server 7A of the present embodiment may recover master data and replication data in the same manner as the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。
<第4の実施形態の変形例>
第4の実施形態に対して、第1の実施形態に対する、第1の実施形態の変形における変形と同様の変形を行うことができる。
The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
<Modification of Fourth Embodiment>
The fourth embodiment can be modified in the same manner as the modification of the first embodiment with respect to the first embodiment.
<第5の実施形態>
次に、本発明の第5の実施形態について、図面を参照して詳細に説明する。
<Fifth Embodiment>
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings.
図8は、本実施形態の配置先決定装置1Aの構成を表すブロック図である。
FIG. 8 is a block diagram showing the configuration of the placement
図8を参照すると、本実施形態の配置先決定装置1Aは、オブジェクトに関連付けられている第1の属性に基づき、第1の選択部10によって、複数の配置先の中から、前記オブジェクトが格納される配置先として選択された第1の配置先を除く、前記複数の配置先の中から、前記第2の属性に基づき、前記オブジェクトが格納される第2の配置先を選択する第2の選択部11と、前記第2の配置先の識別子を出力する出力部15と、を備える。
Referring to FIG. 8, in the placement
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
配置先決定装置1、配置先決定装置1A、アクセス指示装置2、クライアント装置3、アクセス実行装置6、アクセス実行装置6A、アクセス実行装置6B、記憶サーバ7、記憶サーバ7A、配置先装置7Bは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
The placement
図9は、配置先決定装置1、配置先決定装置1A、アクセス指示装置2、クライアント装置3、アクセス実行装置6、アクセス実行装置6A、アクセス実行装置6B、記憶サーバ7、記憶サーバ7A、配置先装置7Bを実現することができる、コンピュータ1000の構成の一例を表す図である。図9を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、接続されている記憶サーバ7あるいは記憶サーバ7Aにアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、配置先決定装置1、配置先決定装置1A、アクセス指示装置2、クライアント装置3、アクセス実行装置6、アクセス実行装置6A、アクセス実行装置6B、記憶サーバ7、記憶サーバ7A、又は配置先装置7Bとして動作させるプログラムが格納されている。
9 shows an arrangement
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、配置先決定装置1、配置先決定装置1A、アクセス指示装置2、クライアント装置3、アクセス実行装置6、アクセス実行装置6A、アクセス実行装置6B、記憶サーバ7、記憶サーバ7A、又は配置先装置7Bとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、配置先決定装置1、配置先決定装置1A、アクセス指示装置2、クライアント装置3、アクセス実行装置6、アクセス実行装置6A、アクセス実行装置6B、記憶サーバ7、記憶サーバ7A、又は配置先装置7Bとして動作する。
The
第1の選択部10、第2の選択部11、対象受信部12、属性導出部13、属性受信部14、命令受信部20、指示決定部21、指示送信部23、結果転送部24、処理部30指示受信部60、指示決定部61、指示送信部63、格納部64、格納部64B、読み出し部65、取り出し部65B、結果送信部66、実行部67、実行部67B、復元部68は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、候補記憶部22、候補記憶部62は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、第1の選択部10、第2の選択部11、対象受信部12、属性導出部13、属性受信部14、命令受信部20、指示決定部21、指示送信部23、結果転送部24、処理部30指示受信部60、指示決定部61、指示送信部63、格納部64、格納部64B、読み出し部65、取り出し部65B、結果送信部66、実行部67、実行部67B、復元部68、候補記憶部22、候補記憶部62の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
1、1A 配置先決定装置
2 アクセス指示装置
3 クライアント装置
4 記憶装置群
5 ネットワーク
6、6A、6B アクセス実行装置
7、7A 記憶サーバ
7B 配置先装置
10 第1の選択部
11 第2の選択部
12 対象受信部
13 属性導出部
14 属性受信部
15 出力部
20 命令受信部
21、61 指示決定部
22、62 候補記憶部
23、63 指示送信部
24 結果転送部
30 処理部
40 記憶装置
60 指示受信部
64、64B 格納部
65 読み出し部
65B 取り出し部
66 結果送信部
67、67B 実行部
68 復元部
100、100A 情報処理システム
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体
1, 1A placement
Claims (10)
前記第2の配置先の識別子を出力する出力手段と、
を備える配置先決定装置。 A plurality of the plurality of arrangement destinations, excluding the first arrangement destination selected as the arrangement destination in which the object is stored from the plurality of arrangement destinations by the first selection unit based on the first attribute associated with the object; Second selection means for selecting a second arrangement destination in which the object is stored based on the second attribute from among the arrangement destinations of
Output means for outputting an identifier of the second arrangement destination;
An arrangement destination determination device comprising:
前記第2の選択手段は、前記第2の属性に対して、一意に前記第2の配置先を選択する
請求項1に記載の配置先決定装置。 The first selection means uniquely selects the first placement destination for the first attribute,
The placement destination determination device according to claim 1, wherein the second selection unit uniquely selects the second placement destination with respect to the second attribute.
前記配置先は記憶装置である
請求項1又は2に記載の配置先決定装置。 The object is data;
The placement destination determination device according to claim 1, wherein the placement destination is a storage device.
前記第2の属性は、前記オブジェクト、又は、前記オブジェクトに基づき前記第2の属性を導出する属性導出手段によって、受信した前記オブジェクトに基づき導出された前記第2の属性である
請求項1乃至3のいずれかに記載の配置先決定装置。 A target receiving means for receiving the object;
The second attribute is the second attribute derived based on the received object by attribute deriving means for deriving the second attribute based on the object or the object. The placement destination determination device according to any one of the above.
前記第2の属性は、前記オブジェクトが類似する程度の判定に用いることができる値であり、
前記第2の選択手段は、前記第2の属性に基づき、類似する程度が高い複数のオブジェクトが同一の配置先に格納されるように、前記第2の配置先を選択する
請求項1乃至4のいずれかに記載の配置先決定装置。 The first selection unit is configured so that the probability that an arrangement destination included in the plurality of arrangement destinations is selected as the first arrangement destination is equal to or substantially equal to the first attribute. Select 1 location,
The second attribute is a value that can be used to determine the degree to which the objects are similar.
The second selection unit selects the second placement destination based on the second attribute so that a plurality of objects having a high degree of similarity are stored in the same placement destination. The placement destination determination device according to any one of the above.
前記複数のアクセス実行装置の各々は、
前記複数の配置先のいずれかに接続され、
前記オブジェクトを受信するのに応じて、接続されている前記配置先に前記オブジェクトを格納する格納手段を備え、
前記第1の選択手段は、前記第1の配置先の識別子を前記出力手段に送信し、
前記出力手段は、前記第1の配置先に接続された前記アクセス実行装置と、前記第2の配置先に接続された前記アクセス実行装置とに、前記オブジェクトを送信する
情報処理システム。 The plurality of placement destinations, a plurality of access execution devices, and the placement destination determination device according to any one of claims 1 to 5,
Each of the plurality of access execution devices includes:
Connected to any of the plurality of placement destinations,
In response to receiving the object, the storage device stores the object in the connected placement destination,
The first selection means transmits the identifier of the first arrangement destination to the output means,
The output means transmits the object to the access execution device connected to the first placement destination and the access execution device connected to the second placement destination.
前記第2の配置先の識別子を出力する
配置先決定方法。 Based on the first attribute associated with the object, from among the plurality of placement destinations, excluding the first placement destination selected as the placement destination in which the object is stored, from among the plurality of placement destinations, Based on the second attribute, a second placement destination where the object is stored is selected,
An arrangement destination determination method for outputting an identifier of the second arrangement destination.
オブジェクトに関連付けられている第1の属性に基づき、第1の選択手段によって、複数の配置先の中から、前記オブジェクトが格納される配置先として選択された第1の配置先を除く、前記複数の配置先の中から、前記第2の属性に基づき、前記オブジェクトが格納される第2の配置先を選択する第2の選択手段と、
前記第2の配置先の識別子を出力する出力手段と、
して動作させる配置先決定プログラム。 Computer
A plurality of the plurality of arrangement destinations, excluding the first arrangement destination selected as the arrangement destination in which the object is stored from the plurality of arrangement destinations by the first selection unit based on the first attribute associated with the object; Second selection means for selecting a second arrangement destination in which the object is stored based on the second attribute from among the arrangement destinations of
Output means for outputting an identifier of the second arrangement destination;
Placement location determination program to be operated.
前記第2の属性に対して、一意に前記第2の配置先を選択する前記第2の選択手段と
して動作させ、
前記第1の選択手段は、前記第1の属性に対して、一意に前記第1の配置先を選択する
請求項8に記載の配置先決定プログラム。 Computer
The second attribute is operated as the second selection means for uniquely selecting the second placement destination,
The placement destination determination program according to claim 8, wherein the first selection unit uniquely selects the first placement destination with respect to the first attribute.
前記オブジェクトを受信する対象受信手段として動作させ、
前記第2の属性は、前記オブジェクト、又は、前記オブジェクトに基づき前記第2の属性を導出する属性導出手段によって、受信した前記オブジェクトに基づき導出された前記第2の属性である
請求項8又は9に記載の配置先決定プログラム。 Computer
Act as a target receiving means for receiving the object,
The second attribute is the second attribute derived based on the received object by attribute deriving means for deriving the second attribute based on the object or the object. Placement location determination program described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014030746A JP2015156111A (en) | 2014-02-20 | 2014-02-20 | Placement destination determination device, placement destination determination method, and placement destination determination program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014030746A JP2015156111A (en) | 2014-02-20 | 2014-02-20 | Placement destination determination device, placement destination determination method, and placement destination determination program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015156111A true JP2015156111A (en) | 2015-08-27 |
Family
ID=54775392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014030746A Pending JP2015156111A (en) | 2014-02-20 | 2014-02-20 | Placement destination determination device, placement destination determination method, and placement destination determination program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015156111A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204206A (en) * | 2007-02-20 | 2008-09-04 | Nec Corp | Data distribution and storage system, data distribution method, device to be used for this and its program |
JP2010271798A (en) * | 2009-05-19 | 2010-12-02 | Nippon Telegr & Teleph Corp <Ntt> | Distributed data management device, method, and program |
JP2012221419A (en) * | 2011-04-13 | 2012-11-12 | Hitachi Ltd | Information storage system and data duplication method thereof |
WO2013018808A1 (en) * | 2011-08-02 | 2013-02-07 | 日本電気株式会社 | Distributed storage system and method |
JP2015141451A (en) * | 2014-01-27 | 2015-08-03 | 富士通株式会社 | Storage device, replication method, and replication program |
-
2014
- 2014-02-20 JP JP2014030746A patent/JP2015156111A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204206A (en) * | 2007-02-20 | 2008-09-04 | Nec Corp | Data distribution and storage system, data distribution method, device to be used for this and its program |
JP2010271798A (en) * | 2009-05-19 | 2010-12-02 | Nippon Telegr & Teleph Corp <Ntt> | Distributed data management device, method, and program |
JP2012221419A (en) * | 2011-04-13 | 2012-11-12 | Hitachi Ltd | Information storage system and data duplication method thereof |
WO2013018808A1 (en) * | 2011-08-02 | 2013-02-07 | 日本電気株式会社 | Distributed storage system and method |
JP2015141451A (en) * | 2014-01-27 | 2015-08-03 | 富士通株式会社 | Storage device, replication method, and replication program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965539B2 (en) | Computer implemented method for dynamic sharding | |
US9195668B2 (en) | Log access method storage control apparatus, archive system, and method of operation | |
US8285690B2 (en) | Storage system for eliminating duplicated data | |
CN110309336B (en) | Image retrieval method, device, system, server and storage medium | |
TWI554893B (en) | Method and system for transmitting data | |
CN111247518B (en) | Method and system for database sharding | |
US8898351B2 (en) | Dynamic compression of an I/O data block | |
US20120011101A1 (en) | Integrating client and server deduplication systems | |
JP5886447B2 (en) | Location independent files | |
US20140222770A1 (en) | De-duplication data bank | |
CN102782643A (en) | Index searching using a bloom filter | |
CN107247729B (en) | File processing method and device | |
JP5464269B2 (en) | File storage device, data storage method, and data storage program | |
JP2020506444A (en) | Expired backup processing method and backup server | |
JP2018005299A (en) | Database management device, database management method and database management program | |
CN110019056B (en) | Container metadata separation for cloud layer | |
CN112579591B (en) | Data verification method, device, electronic equipment and computer readable storage medium | |
US10083121B2 (en) | Storage system and storage method | |
JP2018185562A (en) | Control program, control method, and information processing apparatus | |
US20190370224A1 (en) | Identifying common file-segment sequences | |
JP2017142664A (en) | Data processing apparatus, data processing system, data processing method, and data processing program | |
US20150088958A1 (en) | Information Processing System and Distributed Processing Method | |
JP2015156111A (en) | Placement destination determination device, placement destination determination method, and placement destination determination program | |
US9747299B2 (en) | Heterogeneous storing server and file storing method thereof | |
CN114331745A (en) | Data processing method, system, program product, medium, and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180410 |