JP2013182553A - Management device and program - Google Patents
Management device and program Download PDFInfo
- Publication number
- JP2013182553A JP2013182553A JP2012047725A JP2012047725A JP2013182553A JP 2013182553 A JP2013182553 A JP 2013182553A JP 2012047725 A JP2012047725 A JP 2012047725A JP 2012047725 A JP2012047725 A JP 2012047725A JP 2013182553 A JP2013182553 A JP 2013182553A
- Authority
- JP
- Japan
- Prior art keywords
- server
- space
- data
- region
- servers
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、協調してデータ処理を行うクラスタを構成する複数のサーバを管理する管理装置に関する。 The present invention relates to a management apparatus that manages a plurality of servers constituting a cluster that performs data processing in a coordinated manner.
近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。 In recent years, with the rise of cloud computing, it has been required to efficiently process and retain a large amount of data. Thus, distributed processing technology has been developed that realizes efficient processing by operating a plurality of servers in a coordinated manner.
分散処理を行う際には、処理対象(管理対象)のデータを、クラスタを構成する各サーバ(以下、「クラスタメンバ」または「メンバ」とも称する。)に振り分けておく必要がある。このとき、クラスタ全体での処理能力を高めるためには、各クラスタメンバが担当するデータ数(データ量)は平均化されていることが望ましい。 When performing distributed processing, it is necessary to distribute processing target (management target) data to each server constituting the cluster (hereinafter also referred to as “cluster member” or “member”). At this time, in order to increase the processing capacity of the entire cluster, it is desirable that the number of data (data amount) handled by each cluster member is averaged.
代表的なデータの振り分け手法として、各データのkeyをハッシュ関数にかけた値(以下、「hash(key)」と称する。)をクラスタメンバ数Nで割った余り、すなわち「hash(key) mod N」を番号として持つクラスタメンバにデータを振り分ける手法がある。この場合、各クラスタメンバに事前に「0」から「N−1」までの番号を割り当てていることが前提となる。このような振り分け手法を用いた場合、クラスタメンバを追加すると、Nの値が変化して、多くのデータについて、担当するクラスタメンバが変更になるため、担当するデータの再配置が必要になる。 As a typical data distribution method, a remainder obtained by dividing a value obtained by multiplying the key of each data by a hash function (hereinafter referred to as “hash (key)”) by the number N of cluster members, that is, “hash (key) mod N There is a method of distributing data to cluster members having "" as a number. In this case, it is assumed that numbers “0” to “N−1” are assigned to each cluster member in advance. When such a distribution method is used, if a cluster member is added, the value of N changes, and the cluster member in charge of a lot of data is changed, so that the data in charge must be rearranged.
そこで、クラスタメンバの追加に伴い担当するクラスタメンバが変更になるデータ数を約1/Nに抑える方法として、コンシステント・ハッシュ法[Consistent Hashing](非特許文献1参照)を用いた振り分け手法がある。このコンシステント・ハッシュ法は、Amazon Dynamo(非特許文献2参照)等で用いられている。 Therefore, as a method for suppressing the number of data that the cluster member in charge changes with the addition of the cluster member to about 1 / N, there is a distribution method using a consistent hashing method (see Non-Patent Document 1). is there. This consistent hash method is used in Amazon Dynamo (see Non-Patent Document 2) and the like.
このコンシステント・ハッシュ法を用いたデータ振り分け手法では、クラスタメンバとデータの双方にID(IDentifier)を割り当て、データのIDからID空間を時計回りに辿った場合に最初に出合ったクラスタメンバをそのデータの担当とする。 In this data distribution method using the consistent hash method, an ID (IDentifier) is assigned to both the cluster member and the data, and when the ID space is traced clockwise from the data ID, the first cluster member encountered is Take charge of data.
また、多量のデータの管理をクラスタ構成の分散処理システムで行う場合、あるクラスタメンバに障害が発生した場合でも他のクラスタメンバで処理を継続できるように、データの複製を保持することでデータ冗長化を実現する必要がある。これは、コンシステント・ハッシュ法によるデータ管理手法を用いた分散処理システムにおいても同様である。 In addition, when managing a large amount of data in a cluster-structured distributed processing system, data redundancy is maintained by maintaining a copy of the data so that even if a failure occurs in one cluster member, processing can be continued on other cluster members. Needs to be realized. The same applies to a distributed processing system that uses a data management technique based on the consistent hash method.
図7に示すように、コンシステント・ハッシュ法では、クラスタメンバ(メンバ1〜4)とデータ(データA〜D。黒丸(●)で表示)の双方にIDを割り当て、データのIDからID空間を時計回りに辿り最初に出合ったクラスタメンバをそのデータの担当として決定する。そして、担当するクラスタメンバのさらに右隣(時計回りに次)のクラスタメンバに複製データを担当させる。
As shown in FIG. 7, in the consistent hash method, IDs are assigned to both cluster members (
例えば、図7においては、データAはID空間上を時計回りに辿り最初に出合ったメンバ1が担当となり、その複製データはID空間上でメンバ1の右隣にあたるメンバ2に担当させる。このように原本データ・複製データを担当するクラスタメンバを決定することで、クラスタメンバに離脱があった場合でも複製データを所持しているクラスタメンバが新しくデータを担当するクラスタメンバとなることで対応できるという利点がある。なお、複製データを複数個とる場合には、さらに右隣のクラスタメンバに2個目の複製データを担当させるようにすることもできる。
For example, in FIG. 7, data A is traced clockwise in the ID space and is assigned to the
前記したように、コンシステント・ハッシュ法によるデータ管理手法では、データを担当するクラスタメンバの右隣に複製データを配置する方法を採用する。ここで、図8に示すように、クラスタを構成するメンバは、地理的に離れたK個(ここでは5個)のデータセンタエリア(サーバを管理するデータセンタが管轄するエリア)内から選択されているとする。 As described above, the data management method based on the consistent hash method employs a method in which replicated data is arranged on the right side of the cluster member in charge of data. Here, as shown in FIG. 8, the members constituting the cluster are selected from K (in this case, five) data center areas (areas managed by the data center that manages the server) that are geographically separated. Suppose that
このとき、通常、コンシステント・ハッシュ法のID空間上では、サーバについて物理位置(物理的な位置)を考慮せずにランダムに配置しているため、ID空間上で隣り合うクラスタメンバ同士が物理的に遠く離れていることがある。そうなると、ID空間上で右隣のクラスタメンバに複製データを作成する際のネットワークコストが膨大になり、処理遅延を発生させる懸念がある。なお、クラスタメンバ間の物理的距離とは、サーバ間通信に要するNW(ネットワーク)のコストを表しており、具体例としては、物理的な距離だけでなく、トポロジー、NW帯域等を考慮して決定することが可能である。 At this time, usually, in the ID space of the consistent hash method, the servers are randomly arranged without considering the physical position (physical position), so that adjacent cluster members in the ID space are physically connected to each other. May be far away. In that case, there is a concern that the network cost when creating duplicate data for the cluster member on the right side in the ID space becomes enormous, causing processing delay. The physical distance between cluster members represents the cost of the NW (network) required for server-to-server communication. As a specific example, not only the physical distance but also the topology, NW band, etc. are considered. It is possible to determine.
そこで、本発明は、前記した事情に鑑みてなされたものであり、分散処理システムにおける管理装置が、クライアントマシンからのリクエストを複数のサーバのいずれに振り分けるかを決定する際に、サーバの物理位置を考慮したサーバ選択を行うことで、データ複製時に発生する処理負荷を低減することを課題とする。 Therefore, the present invention has been made in view of the above-described circumstances, and when the management apparatus in the distributed processing system determines which of a plurality of servers a request from a client machine is distributed to, the physical location of the server It is an object of the present invention to reduce the processing load that occurs during data replication by performing server selection in consideration of the above.
前記課題を解決するために、本発明は、環状のID空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、前記ID空間における前記データの管理を担当するサーバを管理するID空間管理情報、前記ID空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたID空間との対応付けを管理するID・地域割当情報、および、前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、前記クラスタに対して前記待機中のサーバを増設する場合、当該増設するサーバについての前記ID空間における挿入位置に基づき、前記ID・地域割当情報を参照して当該挿入位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該挿入位置の情報を用いて前記ID空間管理情報を更新する処理部と、を有することを特徴とする。 In order to solve the above-described problem, the present invention allocates a plurality of data to be managed and a plurality of servers that manage the data and constitute a cluster in a circular ID space, and each of the servers includes: Managing the data located between itself and the next server around the predetermined direction in the ID space, and located between the next server and the next server around the predetermined direction. In a distributed processing system that stores a copy of data, a management device that determines to which of the plurality of servers a request from a client machine is distributed, and manages a server in charge of managing the data in the ID space ID space management information, the ID space is divided into a predetermined number of physical regions, and the regions and the ID / region allocation information for managing the association with the designated ID space, and server management for managing the association between the plurality of servers physically present in the region and the standby server for each region When adding the storage server that stores information and the standby server to the cluster, based on the insertion position in the ID space for the server to be added, refer to the ID / region allocation information. The area corresponding to the insertion position is specified, the server management information is referred to, a server physically existing in the specified area is selected, and the ID space is determined using the selected server and the insertion position information. And a processing unit for updating the management information.
これによれば、クラスタに対して待機中のサーバを増設する場合、ID空間における挿入位置に対応する地域に物理的に存在するサーバを選択することで、データ複製時に発生する処理負荷を低減することができる。 According to this, when adding a standby server to a cluster, a server that physically exists in an area corresponding to the insertion position in the ID space is selected, thereby reducing the processing load generated during data replication. be able to.
また、本発明は、環状のID空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて 、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、前記ID空間における前記データの管理を担当するサーバを管理するID空間管理情報、前記ID空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたID空間との対応付けを管理するID・地域割当情報、および、前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、前記クラスタに対して前記待機中のサーバを増設する場合、前記ID空間管理情報を参照して前記ID空間において前記サーバ同士の間が最も広い箇所を特定し、前記ID・地域割当情報を参照して前記ID空間における当該箇所の中央の位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該中央の位置の情報を用いて前記ID空間管理情報を更新する処理部と、を有することを特徴とする。 Further, according to the present invention, a plurality of data to be managed and a plurality of servers that manage the data and constitute a cluster are allocated to the annular ID space, and each of the servers is assigned to itself in the ID space. Manages the data located between the next server around the predetermined direction and stores a copy of the data located between the next server and the next server around the predetermined direction. In a distributed processing system, a management device that determines to which of the plurality of servers a request from a client machine is assigned, ID space management information for managing a server in charge of managing the data in the ID space, The ID space is divided into a predetermined number of physical regions, and the region and the divided ID space Storage for storing ID / region allocation information for managing association, and server management information for managing association between the plurality of servers physically present in the region and a standby server for each region When the standby server is added to the cluster and the cluster, the ID space management information is referred to specify the widest portion between the servers in the ID space, and the ID / region allocation information The region corresponding to the center position of the location in the ID space is identified with reference to the server, the server management information is referenced to select a server physically existing in the identified region, and the selected server And a processing unit that updates the ID space management information using the information on the center position.
これによれば、複数のサーバに対して待機中のサーバを増設する場合、ID空間においてサーバ同士の間が最も広い箇所の中央の位置に対応する地域に物理的に存在するサーバを選択することで、データ複製時に発生する処理負荷を低減するとともに、各サーバにおける処理負荷をより平均化することができる。なお、本明細書および特許請求の範囲において、「中央の位置」とは、厳密な中央の位置だけでなく、中央付近の位置も含む。 According to this, when adding a standby server to a plurality of servers, selecting a server physically present in an area corresponding to the central position of the widest portion between the servers in the ID space. Thus, it is possible to reduce the processing load generated at the time of data replication and to further average the processing load on each server. In the present specification and claims, the “center position” includes not only the exact center position but also the position near the center.
また、本発明は、前記地域が、前記サーバを管理するデータセンタが管轄するデータセンタエリアであることを特徴とする。 Further, the present invention is characterized in that the area is a data center area managed by a data center that manages the server.
これによれば、地域としてデータセンタエリアを採用することで、クラスタや管理装置の運用がより容易になる。 According to this, by adopting the data center area as a region, the operation of the cluster and the management apparatus becomes easier.
また、本発明は、コンピュータを前記管理装置として機能させるためのプログラムである。 Further, the present invention is a program for causing a computer to function as the management device.
これによれば、このようなプログラムを実装したコンピュータを管理装置として機能させることができる。 According to this, a computer in which such a program is installed can be caused to function as a management device.
本発明によれば、分散処理システムにおける管理装置が、クライアントマシンからのリクエストを複数のサーバのいずれに振り分けるかを決定する際に、サーバの物理位置を考慮したサーバ選択を行うことで、データ複製時に発生する処理負荷を低減することができる。 According to the present invention, when a management apparatus in a distributed processing system determines which of a plurality of servers a request from a client machine is distributed to, data replication is performed by performing server selection in consideration of the physical location of the server. The processing load sometimes generated can be reduced.
以下、本発明を実施するための形態(以下、実施形態と称する。)について、図面を参照(言及図以外の図も適宜参照)しながら説明する。なお、理解を容易にするために、まず、図1を参照して本実施形態の概要について説明し、その後、実施形態について説明する。 Hereinafter, modes for carrying out the present invention (hereinafter referred to as embodiments) will be described with reference to the drawings (refer to drawings other than the referenced drawings as appropriate). In order to facilitate understanding, the outline of the present embodiment will be described first with reference to FIG. 1, and then the embodiment will be described.
(本実施形態の概要)
図1に示すように、データセンタエリアの数(ここでは5個)に応じて、ID空間を事前に分割しておく。そして、クラスタにサーバを追加する場合には、ID空間における新たなクラスタメンバの挿入先(「挿入位置」と同義。ID)を決定する(図1の(1))。
(Outline of this embodiment)
As shown in FIG. 1, the ID space is divided in advance according to the number of data center areas (here, 5). When a server is added to the cluster, a new cluster member insertion destination (synonymous with “insertion position”, ID) in the ID space is determined ((1) in FIG. 1).
ID空間における新たなクラスタメンバの挿入先を決定した(図1の(1))後に、その挿入先に対応するデータセンタエリアを特定し、そのデータセンタエリアに物理的に存在するサーバを選択し(図1の(2))、クラスタメンバに組み込む。このようなアルゴリズムにより、サーバの物理位置を考慮したサーバ選択を行うことができ、データ複製時に発生する処理負荷を低減することができるとともに、各サーバにおける処理負荷をより平均化することができる。 After determining the insertion destination of the new cluster member in the ID space ((1) in FIG. 1), the data center area corresponding to the insertion destination is specified, and the server physically existing in the data center area is selected. ((2) in FIG. 1), it is incorporated in the cluster member. With such an algorithm, server selection can be performed in consideration of the physical location of the server, the processing load generated during data replication can be reduced, and the processing load on each server can be further averaged.
(実施形態)
次に、本実施形態について説明する。図2に示すように、本実施形態の分散処理システム1000は、負荷分散装置3、管理装置4、クラスタ100を構成する複数のサーバ5を備えている。負荷分散装置3は、インターネット等のネットワーク2を介して、複数のクライアントマシン1と接続されている。
(Embodiment)
Next, this embodiment will be described. As illustrated in FIG. 2, the distributed
全体の主な動作について説明すると、クライアントマシン1からのデータ処理リクエストを、ネットワーク2経由で負荷分散装置3が受け取る。負荷分散装置3は、データのID空間上のサーバ割当表(ID空間管理情報)に基づいて、そのリクエストを、データ処理を行う複数のサーバ5のいずれかに振り分ける。振り分けられたサーバ5は、そのリクエストの処理を行う。管理装置4は、ID空間管理情報を管理する。
The main operation will be described. The data distribution request from the
次に、負荷分散装置3と管理装置4の構成について説明する。
負荷分散装置3は、記憶部31、処理部32、通信部33を備える。
記憶部31は、情報を記憶する手段であり、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ、HDD(Hard Disk Drive)などによって構成される。記憶部31には、管理装置4から受信したID空間管理情報411が、ID空間管理情報311として格納されている。なお、記憶部31には、処理部32の動作プログラムなども格納されている(図示を省略)。
Next, the configuration of the
The
The
処理部32は、記憶部31に格納された情報に基づいて演算処理を行う手段であり、例えばCPU(Central Processing Unit)によって構成される。
The
通信部33は、外部装置との通信に用いられる通信インタフェースである。
なお、負荷分散装置3は、ほかに、負荷分散装置3のユーザが情報を入力する入力部や、情報を表示する表示部などを備えていてもよい。
The
In addition, the
管理装置4は、コンシステント・ハッシュ法に基づいて、クライアントマシン1からのリクエストを複数のサーバ5のいずれに振り分けるかを決定するコンピュータ装置である。なお、前記したように、このコンシステント・ハッシュ法では、環状のID空間に、管理対象の複数のデータ、および、データを管理しクラスタ100を構成する複数のサーバ5(クラスタメンバ)、が割り振られ、それぞれのサーバ5が、ID空間において自身から時計回り(所定方向回り)に次のサーバ5までの間に位置するデータを管理(担当)するとともに、当該次のサーバ5から時計回りにさらに次のサーバ5までの間に位置するデータの複製を記憶することを前提とする。
The management device 4 is a computer device that determines to which of the plurality of servers 5 a request from the
管理装置4は、記憶部41、処理部42、入力部43、表示部44、通信部45を備える。
記憶部41は、情報を記憶する手段であり、RAMやROMなどのメモリ、HDDなどによって構成される。記憶部41には、ID空間管理情報411、ID・地域割当情報412、サーバ管理情報413が格納されている。なお、記憶部41には、処理部42の動作プログラムなども格納されている(図示を省略)。
The management device 4 includes a
The
ID空間管理情報411は、管理対象のデータについて所定のハッシュ値変換を行って算出されたIDを用いて、そのデータを担当するサーバ5を管理する情報である(図3で後記)。
The ID
ID・地域割当情報412は、ID空間が所定の複数の物理的な地域の数に分割されているという前提の下、その地域と分割されたID空間との対応付けを管理する情報である(図4で後記)。
The ID /
サーバ管理情報413は、地域ごとに、当該地域に物理的に存在する複数のサーバ5との対応付けを管理する情報である(図5で後記)。
The
処理部42は、記憶部41に格納された情報に基づいて演算処理を行う手段であり、例えばCPUによって構成される。処理部42は、クラスタ100に対して新たな(待機中の)サーバ5を増設する場合、まず、当該新たなサーバ5についてID空間における挿入位置を決定する。次に、処理部42は、ID・地域割当情報412を参照して当該挿入位置に対応する地域を特定する。次に、処理部42は、サーバ管理情報413を参照して当該特定した地域に物理的に存在するサーバ5を選択する。次に、処理部42は、当該選択したサーバと当該挿入位置の情報を用いてID空間管理情報411を更新する。詳細は図6の説明で後記する。
The
また、処理部42は、クラスタ100に対して新たなサーバ5を増設する場合、一例として、ID空間管理情報411を参照してID空間においてサーバ5同士の間が最も広い箇所を特定する、次に、処理部42は、ID・地域割当情報412を参照してID空間における当該箇所の中央の位置に対応する地域を特定する。次に、処理部42は、サーバ管理情報413を参照して当該特定した地域に物理的に存在するサーバ5を選択する。次に、処理部42は、当該選択したサーバと当該中央の位置の情報を用いてID空間管理情報411を更新する。詳細は図6の説明で後記する。
Further, when adding a
入力部43は、管理装置4のユーザが情報を入力する手段であり、例えば、キーボードやマウスによって実現される。
表示部44は、情報を表示する手段であり、例えば、LCD(Liquid Crystal Display)によって実現される。
通信部45は、外部装置との通信に用いられる通信インタフェースである。
The
The
The
次に、ID空間管理情報411について説明する。図3に示すように、ID空間管理情報411は、ID、サーバの各カラムから構成され、IDの値の大きさでソートされている。
IDは、ID空間におけるIDであり、サーバ5が管理を担当するデータの領域を特定するために格納される。
サーバは、クラスタ100を構成するサーバ5の識別子を表す。
Next, the ID
The ID is an ID in the ID space, and is stored in order to specify an area of data for which the
The server represents an identifier of the
例えば、図3に示す、第1行目のIDの値が「0056」の場合は、識別子が「0000」〜「0056」の領域に属するデータを「サーバA」が担当することを示す。また、第2行目のIDの値が「0172」の場合は、1つ前の行のIDの値に1をプラスした「0057」〜「0172」の識別子に属するデータを「サーバB」が担当することを示す。 For example, when the ID value in the first row shown in FIG. 3 is “0056”, this indicates that “server A” is in charge of data belonging to the area having identifiers “0000” to “0056”. When the ID value of the second row is “0172”, “Server B” stores the data belonging to the identifiers “0057” to “0172” obtained by adding 1 to the ID value of the previous row. Indicates that you are in charge.
次に、ID・地域割当情報412について説明する。図4に示すように、ID・地域割当情報412は、地域ID、IDの各カラムから構成される。
地域IDは、所定の複数の物理的な地域の識別子を表す。
IDは、その行の地域IDの地域に対応するID空間におけるIDの範囲を表す。
Next, the ID /
The region ID represents an identifier of a predetermined plurality of physical regions.
ID represents a range of IDs in the ID space corresponding to the area of the area ID in the row.
次に、サーバ管理情報413について説明する。図5に示すように、サーバ管理情報413は、地域ID、サーバの各カラムから構成される。
地域IDは、所定の複数の物理的な地域の識別子を表す。
サーバは、対応する地域IDの地域に物理的に存在するサーバ5の識別子を表す。なお、このサーバ5には、まだクラスタ100として使用されていないものも含まれている。
Next, the
The region ID represents an identifier of a predetermined plurality of physical regions.
The server represents the identifier of the
次に、管理装置4による処理について説明する。
図6に示すように、ステップS1において、管理装置4の処理部42は、クラスタ構成変更要求があるか否かを判定し、Yesの場合はステップS2に進み、Noの場合はステップS1に戻る。なお、ここでのクラスタ構成変更要求は、例えば、管理装置4のユーザによるその旨の入力や、他の装置からのその旨のリクエストの受信などが考えられる。
Next, processing by the management device 4 will be described.
As shown in FIG. 6, in step S1, the
ステップS2において、処理部42は、そのクラスタ構成変更要求がクラスタメンバの追加か否かを判定し、Yesの場合はステップS3に進み、Noの場合はステップS7に進む。
In step S2, the
ステップS3において、処理部42は、ID空間において、追加するクラスタメンバの挿入先(ID)を決定する。
In step S3, the
どこに挿入するかは、入力部43を通じて保守者から指定を受けてもよいし、あるいは、処理部42が任意の方法で算出することもできる。なお、ID空間において選択する位置は任意でよく、必須事項は、そのID空間において選択した位置に対応するデータセンタエリア(地域)に物理的に存在するサーバ5を選択することである。これにより、サーバ5の物理位置を考慮したサーバ選択を行うことができ、データ複製時に発生する処理負荷を低減することができる。
Where to insert may be designated by the maintenance person through the
例えば、処理部42が、記憶部41のID空間管理情報411を参照して、ID空間の中でクラスタメンバ間の距離(ID空間上の距離)が最も広い個所を検索(特定)し、そのクラスタメンバ間の中央の位置を新たなクラスタメンバのIDの挿入先として決定する。なお、このような位置を選択する理由は、クラスタ構成の分散処理システムでは、クラスタメンバ間で負荷がなるべく平均化されていることが望ましく、統計的に、データ数がクラスタメンバ数よりも格段に多い場合には、各クラスタメンバが担当するデータ数はID空間上のクラスタメンバ間の距離にほぼ比例するためである。
For example, the
続いて、ステップS4において、処理部42は、記憶部41のID・地域割当情報412を参照して、決定したIDを担当するデータセンタエリア(地域ID)を特定する。
Subsequently, in step S <b> 4, the
続いて、ステップS5において、処理部42は、記憶部41のサーバ管理情報413を参照して、そのデータセンタエリアに物理的に存在する(つまり、ステップS4で特定した地域IDに対応する)サーバ5を選択する。
Subsequently, in step S5, the
ステップS6において、処理部42は、ID空間管理情報411を更新して、処理を終了する。具体的には、ステップS3〜S5を経由した場合は、ID空間管理情報411において、新たな行を挿入し、該当するIDおよび追加するサーバ5の識別子を書き込む。また、例えば、ステップS3〜S5を経由せず、障害等によりクラスタメンバの一部を削除する場合は、ID空間管理情報411において、該当する行を削除する。
In step S6, the
なお、この後、負荷分散装置3は、管理装置4から最新のID空間管理情報411を受信して記憶部31にID空間管理情報311として保存する。そして、負荷分散装置3は、そのID空間管理情報311に基づいて、コンシステント・ハッシュ法によって、クライアントマシン1から受け取ったリクエストを、複数のサーバ5のいずれかに振り分ける。
また、複数のサーバ5は、管理装置4から最新のID空間管理情報411を受信して記憶部(不図示)に保存し、コンシステント・ハッシュ法に基づく前記したデータの複製を行う。
Thereafter, the
Further, the plurality of
このようにして、本実施形態の管理装置4によれば、クラスタ100を構成するサーバ5を増設する場合、増設するサーバ5について決定したID空間における位置に対応する地域に物理的に存在するサーバ5を選択することで、データ複製時に発生する処理負荷(ネットワークコスト)を低減し、高速な処理を実現することができる。なお、この手法は、特に、データの更新や複製の頻度が高い場合や、複製対象のデータサイズが大きい場合等に、大きく奏効する。
As described above, according to the management device 4 of the present embodiment, when adding the
また、増設するサーバ5についてID空間における位置を決定する際、ID空間においてサーバ5同士の間が最も広い箇所の中央の位置を選択することで、データ複製時に発生する処理負荷を低減するとともに、各サーバ5における負荷をより平均化することができる。
また、地域としてデータセンタエリアを採用することで、クラスタ100や管理装置4の運用がより容易になる。
Moreover, when determining the position in the ID space for the
Further, by adopting the data center area as a region, the operation of the cluster 100 and the management apparatus 4 becomes easier.
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、管理装置4と負荷分散装置3を同一のハードウエアに並存させる構成としてもよい。
また、本実施形態ではコンシステント・ハッシュ法を前提としたが、他の手法を前提としてもよい。
Although description of this embodiment is finished above, the aspect of the present invention is not limited to these.
For example, the management device 4 and the
In the present embodiment, the consistent hash method is assumed, but another method may be assumed.
また、負荷分散装置3を使用せず、それぞれのクライアントマシン1が管理装置4から受信したID空間管理情報411を保持して、ネットワーク2経由で複数のサーバ5のいずれかに直接アクセスするようにしてもよい。
Further, without using the
また、地域として、データセンタエリアを単位とする場合を例にとって説明したが、データセンタエリアをさらに分割したものや都道府県等の別の単位を採用してもよい。
また、本発明は、コンピュータを管理装置4として機能させるためのプログラムとしても具現化可能である。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
Moreover, although the case where the data center area is used as a unit as an area has been described as an example, another unit such as a further divided data center area or a prefecture may be adopted.
The present invention can also be embodied as a program for causing a computer to function as the management device 4.
In addition, about a concrete structure, it can change suitably in the range which does not deviate from the main point of this invention.
1 クライアントマシン
2 ネットワーク
3 負荷分散装置
4 管理装置
5 サーバ
31 記憶部
32 処理部
33 通信部
41 記憶部
42 処理部
43 入力部
44 表示部
45 通信部
100 クラスタ
311 ID空間管理情報
411 ID空間管理情報
412 ID・地域割当情報
413 サーバ管理情報
1000 分散処理システム
DESCRIPTION OF
Claims (4)
前記ID空間における前記データの管理を担当するサーバを管理するID空間管理情報、
前記ID空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたID空間との対応付けを管理するID・地域割当情報、および、
前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、
前記クラスタに対して前記待機中のサーバを増設する場合、当該増設するサーバについての前記ID空間における挿入位置に基づき、前記ID・地域割当情報を参照して当該挿入位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該挿入位置の情報を用いて前記ID空間管理情報を更新する処理部と、
を有することを特徴とする管理装置。 In a circular ID (IDentifier) space, a plurality of data to be managed and a plurality of servers that manage the data and constitute a cluster are allocated, and each of the servers rotates in a predetermined direction from itself in the ID space. A distributed processing system for managing the data located between the next server and storing a copy of the data located between the next server and the next server around the predetermined direction. In the management device for determining which of the plurality of servers the request from the client machine is distributed,
ID space management information for managing a server in charge of managing the data in the ID space;
ID / region allocation information for managing the association between the region and the divided ID space, wherein the ID space is divided into a predetermined number of physical regions; and
A storage unit that stores, for each region, server management information that manages the association between the plurality of servers physically present in the region and the standby server;
When adding the standby server to the cluster, the region corresponding to the insertion position is identified by referring to the ID / region allocation information based on the insertion position in the ID space for the added server. A processing unit that refers to the server management information, selects a server that physically exists in the specified area, and updates the ID space management information using the selected server and the information on the insertion position;
A management apparatus comprising:
前記ID空間における前記データの管理を担当するサーバを管理するID空間管理情報、
前記ID空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたID空間との対応付けを管理するID・地域割当情報、および、
前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、
前記クラスタに対して前記待機中のサーバを増設する場合、前記ID空間管理情報を参照して前記ID空間において前記サーバ同士の間が最も広い箇所を特定し、前記ID・地域割当情報を参照して前記ID空間における当該箇所の中央の位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該中央の位置の情報を用いて前記ID空間管理情報を更新する処理部と、
を有することを特徴とする管理装置。 In a circular ID (IDentifier) space, a plurality of data to be managed and a plurality of servers that manage the data and constitute a cluster are allocated, and each of the servers rotates in a predetermined direction from itself in the ID space. A distributed processing system for managing the data located between the next server and storing a copy of the data located between the next server and the next server around the predetermined direction. In the management device for determining which of the plurality of servers the request from the client machine is distributed,
ID space management information for managing a server in charge of managing the data in the ID space;
ID / region allocation information for managing the association between the region and the divided ID space, wherein the ID space is divided into a predetermined number of physical regions; and
A storage unit that stores, for each region, server management information that manages the association between the plurality of servers physically present in the region and the standby server;
When adding the standby server to the cluster, refer to the ID space management information to identify the widest part between the servers in the ID space, and refer to the ID / region allocation information. The region corresponding to the center position of the location in the ID space is identified, the server management information is referenced to select a server physically existing in the identified region, and the selected server and the center A processing unit for updating the ID space management information using the position information of
A management apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047725A JP5745445B2 (en) | 2012-03-05 | 2012-03-05 | Management device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047725A JP5745445B2 (en) | 2012-03-05 | 2012-03-05 | Management device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013182553A true JP2013182553A (en) | 2013-09-12 |
JP5745445B2 JP5745445B2 (en) | 2015-07-08 |
Family
ID=49273136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012047725A Expired - Fee Related JP5745445B2 (en) | 2012-03-05 | 2012-03-05 | Management device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5745445B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017037445A (en) * | 2015-08-10 | 2017-02-16 | 日本電信電話株式会社 | Server management device and server management method |
US11863371B2 (en) | 2019-08-05 | 2024-01-02 | Nippon Telegraph And Telephone Corporation | IoT device management apparatus, IoT device management method, and program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191449A1 (en) * | 2003-04-30 | 2011-08-04 | Akamai Technologies, Inc. | Automatic migration of data via a distributed computer network |
JP2012044487A (en) * | 2010-08-20 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Network design system, network design method and network design device |
-
2012
- 2012-03-05 JP JP2012047725A patent/JP5745445B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191449A1 (en) * | 2003-04-30 | 2011-08-04 | Akamai Technologies, Inc. | Automatic migration of data via a distributed computer network |
JP2012044487A (en) * | 2010-08-20 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Network design system, network design method and network design device |
Non-Patent Citations (2)
Title |
---|
入江 道生: "コンシステント・ハッシュ法におけるデータの複製を意識した負荷分散手法", 電子情報通信学会技術研究報告, vol. 110, no. 224, JPN6015000753, 7 October 2010 (2010-10-07), JP, pages 69 - 74, ISSN: 0002983006 * |
土井 賢治: "ノードの近接性を考慮したP2P DHTの構築手法", 電子情報通信学会技術研究報告, vol. 106, no. 420, JPN6015000754, 7 December 2006 (2006-12-07), JP, pages 139 - 144, ISSN: 0002983007 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017037445A (en) * | 2015-08-10 | 2017-02-16 | 日本電信電話株式会社 | Server management device and server management method |
US11863371B2 (en) | 2019-08-05 | 2024-01-02 | Nippon Telegraph And Telephone Corporation | IoT device management apparatus, IoT device management method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP5745445B2 (en) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095317B (en) | Distributed data base service management system | |
JP5701398B2 (en) | Computer system, data management method and program | |
CN106888245B (en) | Data processing method, device and system | |
CN101984632A (en) | Load distributing method, device and server in distributed cache system | |
JP5629281B2 (en) | Management device and program | |
JP5544523B2 (en) | Distributed processing system, distributed processing method, load distribution apparatus, load distribution method, and load distribution program | |
JP5723309B2 (en) | Server and program | |
Rajalakshmi et al. | An improved dynamic data replica selection and placement in cloud | |
JP5745445B2 (en) | Management device and program | |
KR20130038517A (en) | System and method for managing data using distributed containers | |
JP6055197B2 (en) | Database system | |
JP6085266B2 (en) | Server resource management device | |
KR101654969B1 (en) | Method and apparatus for assigning namenode in virtualized cluster environments | |
JP5690296B2 (en) | Load balancing program and load balancing apparatus | |
JP2024514467A (en) | Geographically distributed hybrid cloud cluster | |
JP6007340B2 (en) | Computer system, computer system management method and program | |
JP5544524B2 (en) | Distributed processing system, distributed processing method, load distribution apparatus, load distribution method, and load distribution program | |
JP6093320B2 (en) | Distributed processing system | |
JP6053712B2 (en) | Management device and program | |
JP5711771B2 (en) | Node leave processing system | |
CN108153484A (en) | Shared storage system and its management method under a kind of virtualized environment | |
Lin et al. | A job-oriented load-distribution scheme for cost-effective NameNode service in HDFS | |
JP6506156B2 (en) | Node and gravitation suppression method | |
JP6387333B2 (en) | Node and slot optimization methods | |
JP6093319B2 (en) | Cluster system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140305 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140502 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5745445 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |