JP5514041B2 - Identifier assignment method and program - Google Patents
Identifier assignment method and program Download PDFInfo
- Publication number
- JP5514041B2 JP5514041B2 JP2010188877A JP2010188877A JP5514041B2 JP 5514041 B2 JP5514041 B2 JP 5514041B2 JP 2010188877 A JP2010188877 A JP 2010188877A JP 2010188877 A JP2010188877 A JP 2010188877A JP 5514041 B2 JP5514041 B2 JP 5514041B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- node
- identifiers
- assigned
- node device
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本発明は、複数のノードが協調して動作する分散システムに関し、より詳細には、分散システムにおいてノード間の負荷の分散を可能にするノードに対する識別子割当て方法及びプログラムに関する。 The present invention relates to a distributed system in which a plurality of nodes operate in cooperation with each other, and more particularly to a method and program for assigning identifiers to nodes that enable load distribution among nodes in the distributed system.
一般に、複数のノードが協調して動作する分散システムでは、分散システム内の個々のノードを認識し識別するための識別子が割り当てられる。一部の分散システムでは、識別子は、単に個々のノードの識別を可能にしさえすればよいという役割しか有していない。その場合、識別子の割当ては、ノード間で同じ値が使われることがないよう、一意な値を割当てるものであればよい。一方で、コンシステント・ハッシング(非特許文献1)のように、識別子の役割が、識別子の値によって個々のノードが担当する処理負荷量等が決定されるなど、個々のノードの識別以上の意味を持つような分散システムも存在する。 Generally, in a distributed system in which a plurality of nodes operate in cooperation, an identifier for recognizing and identifying each node in the distributed system is assigned. In some distributed systems, identifiers only have a role that needs to be able to identify individual nodes. In that case, the identifier may be assigned as long as it assigns a unique value so that the same value is not used between nodes. On the other hand, as in the case of consistent hashing (Non-patent Document 1), the role of the identifier is more than the identification of the individual node, such as the amount of processing load assigned to the individual node is determined by the value of the identifier. Some distributed systems have
このような分散システムにおいて、コンシステント・ハッシング(Consistent Hashing)などに基づくデータ管理方法が利用されている。コンシステント・ハッシングによると、各ノードを識別するための識別子と、これらのノードにより管理される各データを識別するための識別子とが割り当てられる。あるノードが管理するデータの識別子の範囲は、典型的には、当該ノードの識別子と、当該ノードより小さな値の識別子を有するノードのうち最も大きな値の識別子を有するノードの識別子との間で定められる。そして、これらのノードやデータの識別子をハッシュ関数などを用いて返される無作為な値により割当てることによって、個々のノードが担当するデータの量は確率的に均等になり、このような分散データ管理プログラムによりノード間の負荷を均等にすることが可能となる。 In such a distributed system, a data management method based on consistent hashing or the like is used. According to the consistent hashing, an identifier for identifying each node and an identifier for identifying each data managed by these nodes are assigned. The range of identifiers of data managed by a node is typically determined between the identifier of the node and the identifier of the node having the largest identifier among the nodes having identifiers smaller than the node. It is done. By assigning these nodes and data identifiers with random values returned using a hash function, etc., the amount of data handled by each node is stochastically equalized, and such distributed data management It is possible to equalize the load between nodes by the program.
図1は、従来技術による無作為な識別子割当て方法による単一の識別子の割当ての一例を示す。図1では、識別子の値の小さいものから、円形にノードが並べて示されている。ここで円形に並べているのは、コンシステント・ハッシング等では識別子の最大値の次に最小値が来るためである。この円のことを、コンシステント・ハッシングの用語に倣いID空間と呼称する。ID空間上に数字とともに配置されている丸や四角等の記号はノードの識別子を表し、数字はそのノードが何番目に分散システムに追加されたものかを表している。なお、ID空間上では時計周りに行くほど識別子の値が大きくなるものとする。ここで、ノードの担当する領域とは、そのノードの識別子から反時計周りに別のノードの識別子までの円弧に相当する。図1に示される例では、ノード1の担当する領域とは、ノード1とノード2との間の円弧のことである。この領域の大小に比例して、ノードの担当するデータや処理の負荷量が決まる。図1は、コンシステント・ハッシングにおける最も基本的なノードの識別子の割り当て方法の具体例である。ここではノードは5つまで追加されており、それぞれに無作為な値の識別子が与えられてID空間上に存在している。識別子の値が無作為に決められているため、ノード間の領域の大きさにもばらつきが見られる。
FIG. 1 shows an example of a single identifier assignment according to a random identifier assignment method according to the prior art. In FIG. 1, the nodes are arranged in a circle from the one with the smallest identifier value. The reason why they are arranged in a circle is that in the consistent hashing or the like, the minimum value comes after the maximum value of the identifier. This circle is called an ID space following the consistent hashing terminology. Symbols such as circles and squares arranged along with numbers in the ID space represent node identifiers, and the numbers represent the number of nodes added to the distributed system. In the ID space, it is assumed that the identifier value increases as it goes clockwise. Here, the area in charge of a node corresponds to an arc from the identifier of the node to the identifier of another node counterclockwise. In the example shown in FIG. 1, the area in charge of
このように、このコンシステント・ハッシングにおいては、ノードとデータの識別子の割り当ては、ハッシュ関数によって行われる。ハッシュ関数は入力に対して、無作為な出力を返す関数である。ある入力に対しては常に同じ出力を返すことから、完全にランダムな値を返す関数ではなく、元々の入力の持っていた意味等を無視した出力を返すという意味で、無作為な出力を行う関数である。このハッシュ関数に、ノードやデータ毎に決まった一意な値、例えばノードの名前やアドレス、データの名前等を入力することで得られた値を、識別子として利用する。 Thus, in this consistent hashing, the node and data identifiers are assigned by a hash function. A hash function is a function that returns a random output in response to an input. Since the same output is always returned for a certain input, it is not a function that returns a completely random value, but a random output in the sense that it returns an output that ignores the meaning of the original input. It is a function. For this hash function, a unique value determined for each node or data, for example, a value obtained by inputting a node name or address, a data name, or the like is used as an identifier.
このような識別子の割り当て方法を用いる場合、個々のノードの担当するデータの識別子の範囲は、高い確率で平均値よりも大きくなる。これはランダウの漸近記法によって記すならば、各ノードの担当する負荷の量が、平均負荷のΘ(logN)倍になると記述することができる(Nはノードの総数)。これは、ノード数が多いほど平均よりも多くの負荷を担当しなければならないノードが存在することを意味する。コンシステント・ハッシングではこの問題の緩和のために、1つのノードに対し複数の識別子を割り当てることによって、確率的にこの担当する負荷を均一化することを行っている。 When such an identifier allocation method is used, the range of identifiers of data handled by individual nodes is higher than the average value with high probability. If this is described by Landau's asymptotic notation, it can be described that the amount of load in charge of each node is Θ (logN) times the average load (N is the total number of nodes). This means that as the number of nodes increases, there are nodes that have to handle more loads than the average. In order to alleviate this problem, consistent hashing probabilistically equalizes the load in charge by assigning a plurality of identifiers to one node.
図2は、従来技術による無作為な識別子割当て方法による複数の識別子の割当ての一例を示す。図2では、ノード1つにつき複数の識別子が割り当てられている。コンシステント・ハッシングでは、負荷の分散のためにこの方法を用いることが言及されている。図2では、ノード1つにつき3つの識別子を割り当てる場合に、3つのノードが追加されている状態を表している。各ノードは3つの識別子のそれぞれの担当する3つの領域を束ねただけの領域を担当する形となる。大数の法則により、1つのノードに割り当てる識別子の数を増やすほど、ノード単位での領域は平均化される。 FIG. 2 shows an example of assignment of a plurality of identifiers by a random identifier assignment method according to the prior art. In FIG. 2, a plurality of identifiers are assigned to each node. In consistent hashing, it is mentioned to use this method for load distribution. FIG. 2 shows a state in which three nodes are added when three identifiers are assigned to one node. Each node is in charge of an area obtained by bundling three areas in charge of three identifiers. As the number of identifiers assigned to one node is increased according to the law of large numbers, the area in units of nodes is averaged.
上述したような従来技術による1つのノードに対し複数の識別子を割り当てるという方法は、一定の効果を持つものの、より均一性の高い負荷分散を行いたいような分散システムにおいては、更なる改善が求められる。 Although the above-described method of assigning a plurality of identifiers to one node according to the prior art has a certain effect, further improvement is required in a distributed system in which load distribution with higher uniformity is desired. .
より効果的な識別子の割当て方法を検討する際に、以下のような事項を考慮する必要がある。1つには、ノードの識別子を割り当てた後、これを変更してはならないということである。これは、ノードの識別子を変更すると幾つかのノードの担当する量が変化し、ノード間でのデータの移動というノード間の通信コストが大きい処理が発生するためである。このコストは場合によってはそもそものデータ管理の処理自体を阻害しうるものであり、負荷の均一化以前に回避しなければならない。 When considering a more effective method for assigning identifiers, it is necessary to consider the following items. For one thing, after assigning an identifier for a node, it should not be changed. This is because when the identifier of a node is changed, the amount handled by some nodes changes, and processing with a high communication cost between the nodes, such as movement of data between the nodes, occurs. This cost may hinder the data management process itself in some cases, and must be avoided before the load is equalized.
もう1つは、分散システムにおいては、分散システムを構成するノードの数が動的に変化しうるという点である。分散システム全体で処理すべきデータの量が増加しているような場合には、ノードを追加しノード数を増やす。処理すべきデータの量が減ったり、あるいは何らかの故障によってノードがノードとして処理を継続することができなくなった場合には、当該ノードを削除して全体のノード数を減らす。ここで、ノード数が減る場合、削除されたノードが担当していた範囲は、担当範囲の決定方法(あるノードが管理するデータの識別子の範囲を、ノード自身の識別子と、当該ノードより小さな値の識別子を持つノードの中で最も大きい値の識別子を持つノードの識別子との間と定める)に従って、削除されたノードよりも大きい識別子を持つ直近のノードによって引き継がれることになる。そのため、仮に各ノードによって担当する量が完全に均一であった場合でも、いずれかのノードの削除が行われると、そのノードの担当していた量が隣のノードに引き継がれ、引き継いだノードは担当量がそれまでの2倍になってしまうことになる。 The other is that in a distributed system, the number of nodes constituting the distributed system can change dynamically. When the amount of data to be processed in the entire distributed system is increasing, nodes are added to increase the number of nodes. When the amount of data to be processed decreases or when a node cannot continue processing as a node due to some failure, the node is deleted to reduce the total number of nodes. Here, when the number of nodes decreases, the range handled by the deleted node is determined by the method of determining the range (the identifier range of the data managed by a certain node is the node's own identifier and a value smaller than that node) Between the nodes having the largest identifier among those having the largest identifier, and the node having the largest value is inherited by the nearest node having an identifier larger than the deleted node. Therefore, even if the amount handled by each node is completely uniform, if one of the nodes is deleted, the amount handled by that node is taken over by the next node, and the node that took over is The amount of charge will be doubled.
本発明の課題は、上記問題点に鑑み、分散システムのノード数が変動しても個々のノードの負荷を均一化することを可能にする識別子割当て方法及びプログラムを提供することである。 In view of the above problems, an object of the present invention is to provide an identifier assignment method and program that make it possible to equalize the load of individual nodes even if the number of nodes in a distributed system varies.
上記課題を解決するため、本発明の一態様は、複数のノード装置が協調して動作する分散システムにおいて、前記ノード装置に識別子を割り当てる方法であって、前記分散システムのノード装置に対する識別子割当てイベントを検出するステップと、前記識別子割当てイベントを検出すると、前記分散システムにおける割当て済みの識別子を格納した識別子一覧表にアクセスするステップと、前記識別子一覧表を参照して、前記識別子一覧表に格納されている隣り合う識別子の間の領域が最大となる隣り合う識別子を決定するステップと、前記決定された隣り合う識別子の間の領域内の何れかの識別子を前記ノード装置に割り当てるステップとを有する方法に関する。 In order to solve the above-described problem, an aspect of the present invention provides a method for assigning an identifier to a node device in a distributed system in which a plurality of node devices operate in cooperation, and an identifier assignment event for the node device in the distributed system Detecting the identifier assignment event, accessing the identifier list storing the assigned identifiers in the distributed system, referring to the identifier list, and storing the identifier list in the identifier list A method comprising: determining an adjacent identifier having a maximum area between adjacent identifiers; and assigning any identifier in the area between the determined adjacent identifiers to the node device. About.
本発明によると、分散システムの識別子の間隔を均一化することにより、各ノードの担当する処理量やデータ量を均一化し、ノード間の負担量を均等にすることが可能になる。また、分散システムにおけるノードの追加・削除などの状況に関わらず、ノード間の負担を公平化することができ、システム全体の利用効率を向上させることが可能になる。 According to the present invention, it is possible to equalize the processing amount and data amount handled by each node by equalizing the intervals of the identifiers of the distributed system, and to equalize the burden amount between the nodes. In addition, regardless of the situation of addition / deletion of nodes in the distributed system, the burden between the nodes can be made fair, and the utilization efficiency of the entire system can be improved.
以下、図面に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
まず、本発明の原理を説明する。本発明では、ノードへの識別子の割り当てに際して、各ノードに1つの識別子ではなく複数の識別子を割り当てることが可能である。各識別子はそれぞれに担当する範囲を持ち、それらを1つのノードがまとめて管理する形になる。個々の識別子の担当する範囲は、従来技術に関して述べたようにΘ(logN)倍になる確率が高いが、複数の識別子で担当される範囲を総合することで、大数の法則により均一性が向上する。 First, the principle of the present invention will be described. In the present invention, when assigning identifiers to nodes, it is possible to assign a plurality of identifiers to each node instead of one identifier. Each identifier has a range in charge of each identifier, and one node collectively manages them. The range assigned to each identifier has a high probability of Θ (logN) times as described in the related art, but by combining the ranges handled by a plurality of identifiers, uniformity can be achieved by the law of a large number. improves.
また、ノードが削除される場合、個々の識別子の担当範囲は、各識別子よりも値が大きい直近の識別子によって引き継がれる。これらの引き継ぎ先の識別子を持つノードは1つのノードでなく、いくつかのノードである可能性が高い。これにより、ノードの削除時の負荷が隣のノードに引き継がれ、負荷の均一性が崩れるという従来技術による問題を軽減することができる。 Further, when a node is deleted, the assigned range of each identifier is inherited by the latest identifier having a value larger than each identifier. There is a high possibility that a node having these takeover destination identifiers is not one node but several nodes. As a result, it is possible to reduce the problem caused by the prior art that the load at the time of node deletion is taken over by the adjacent node and the uniformity of the load is lost.
また、個々の識別子の割り当てに際して、従来技術のようにハッシュ関数を用いて無作為な値を割り当てるのではなく、偏りが生じている部分を平均化するような値を作為的に割り当てる。すなわち、識別子を割り当てる時点での識別子間の間隔の大きい順に、ノードに割り当てる領域を識別子の数だけ選択し、その領域の中のある値を識別子として割り当てることで、ノードの担当範囲の決定方法に従って、それまで間隔の大きかった領域を2つに分割するものである。 In addition, when assigning individual identifiers, a random value is not assigned using a hash function as in the prior art, but a value that averages a portion where deviation occurs is assigned intentionally. That is, according to the method of determining the assigned range of a node by selecting an area to be assigned to a node by the number of identifiers in descending order of the interval between identifiers at the time of assigning the identifier, and assigning a certain value in the area as an identifier. The area having a large interval until then is divided into two.
これは、従来技術のように確率的に識別子間の間隔の平均化を行うのではなく、決定的に識別子間の間隔の均一化を行うことを意味する。これにより、従来技術では平均よりも間隔の大きい領域がある場合も、次に追加されたノードがこの領域を分割するような識別子を持つかどうかはランダムであったものが、この決定的な方法では確実に大きな領域を分割するような識別子を持つことになる。 This means that the intervals between identifiers are not deterministically averaged as in the prior art, but the intervals between identifiers are deterministically uniform. As a result, even if there is a region with a larger interval than the average in the prior art, it is this decisive method whether the next added node has an identifier that divides this region is random. Then, it will have an identifier that will definitely divide a large area.
ここで、単純にノード追加時の識別子の間隔の均一性だけを考えるならば、1つのノードに複数の識別子を割り当てる必要はなく、上記の決定的な方法によってノードに1つだけ識別子を割り当てればよい。一方で、識別子が1つしか割り当てられない場合、ノードが削除された場合に生じた不均一性は、次にノードが追加されるまで均一化されることはない。本発明では、複数の識別子の割り当てと、決定的な識別子の割り当てを併用することで、従来技術による問題点であるノード数の変動における均一性の欠如を生じさせることなく、個々のノードの負荷の均一化を実現することができる。 Here, if only the uniformity of identifier intervals when adding nodes is considered, there is no need to assign a plurality of identifiers to one node, and only one identifier can be assigned to a node by the above decisive method. That's fine. On the other hand, if only one identifier is assigned, the non-uniformity that occurs when a node is deleted is not equalized until the next node is added. In the present invention, the load of individual nodes can be obtained without causing the lack of uniformity in the fluctuation of the number of nodes, which is a problem with the prior art, by using the assignment of a plurality of identifiers together with the assignment of a definitive identifier. Can be made uniform.
次に、本発明の一実施例による識別子割当て装置を説明する。図3は、本発明の一実施例による識別子割当て装置の構成を示す。識別子割当て装置100は、典型的には、補助記憶装置、メモリ装置、CPU、通信装置などの各種ハードウェアリソースの1以上から構成される。補助記憶装置は、ハードディスクやフラッシュメモリなどから構成され、後述される各種処理及び機能を実現するプログラムやデータを格納する。メモリ装置は、RAM(Random Access Memory)などから構成され、プログラムの起動指示があった場合に、補助記憶装置からプログラムを読み出して格納する。CPUは、情報を処理するプロセッサとして機能し、メモリ装置に格納されたプログラムに従って後述される各種機能を実現する。通信装置は、ネットワークを介し他の装置と接続するための各種通信回路から構成される。通信装置は、典型的には、各種ネットワークと接続するための通信インタフェースなどを有する。なお、識別子割当て装置100は、上述したハードウェア構成に限定されるものでなく、ネットワークを介し各ノードと双方向通信するための機能を有する他の何れか適切なハードウェア構成を有してもよい。
Next, an identifier assigning apparatus according to an embodiment of the present invention will be described. FIG. 3 shows a configuration of an identifier assigning device according to an embodiment of the present invention. The
なお、識別子割当て装置100は、図4に示されるように、サーバ・クライアントタイプの分散システムのサーバとして配置されてもよい。すなわち、識別子割当て装置100は、分散システムの各ノードと接続することで、ノードから識別子割当て要求を受け、これに応答して識別子を割当てるサーバとして機能する。
The
あるいは、識別子割当て装置100は、図5に示されるように、分散システムの各ノード内に配置されてもよい。すなわち、識別子割当て装置100は、分散システムのノード上に、独立した装置又はプログラムもしくは分散システムのプログラムの一部として組み込まれてもよい。
Alternatively, the
なお、本発明の識別子割当て装置100は、独立した物理的装置である必要はなく、プロセッサとメモリとを備えた汎用コンピュータに後述される識別子割当て機能及び方法を実行させるためのコンピュータプログラムとして実現されてもよい。この場合、そのプログラムの動作する位置は限定されず、分散システムから識別子割当て要求が受けられ、分散システムのノードの識別子の一覧表を保持し、もしくは参照可能であれば、どのような接続構成であっても動作可能である。
The
なお、本明細書で記述するノードとは、分散システムの処理の構成要素のことであり、具体的には分散システムを構成する各計算機がノードとして実現される。一方で、複数の仮想マシンを用いたり、分散システムのプログラムを複数起動することで、1つの計算機上で複数のノードが存在する形を実現することも可能である。 The node described in this specification is a component of processing of the distributed system. Specifically, each computer constituting the distributed system is realized as a node. On the other hand, by using a plurality of virtual machines or by starting a plurality of distributed system programs, it is possible to realize a form in which a plurality of nodes exist on one computer.
図3に示されるように、識別子割当て装置100は、識別子一覧表格納部101と、識別子決定部110とからなる。
As shown in FIG. 3, the
識別子一覧表格納部101は、分散システム内のノードに対してすでに割当てられている識別子を記述した識別子一覧表を格納する。上述したように、本発明による識別子は、個々のノードを特定するだけでなく、識別子の値によって個々のノードが担当する処理負荷の量等が決定されるなど、個々のノードの識別以上の意味を有している。識別子一覧表は、典型的には、分散システム内の既存のノードに割当て済みの識別子を、ノード名やノードが分散システムに接続された順番などに関連付けて格納する。これにより、ノード削除時に、削除対象のノードに割り当てられている識別子を迅速に特定することができる。
The identifier
識別子決定部110は、新たなノードの追加など識別子割当てイベントに応答して、識別子一覧表を参照して、後述される処理により割り当てるべき識別子を決定する。さらに、識別子を決定した後、識別子決定部110は、当該識別子を識別子一覧表格納部101に通知し、識別子一覧表を更新させる。
In response to an identifier allocation event such as addition of a new node, the
識別子決定部110は、決定的識別子決定部111と、複数識別子割当て部112とを有する。決定的識別子決定部111は、まず識別子一覧表を参照することで、分散システムの全ノードの識別子を取得し、それらを識別子の大きさの順に並べ、識別子間の距離を計算する。この識別子間の距離は、例えば、図1及び2に示されたID空間上の距離であり、隣り合う識別子間の距離は、当該識別子間の円弧の長さ、当該識別子と円の中心とにより画成される扇型領域の面積などとして定義されてもよい。なお、本明細書における「隣り合う」、「値の間隔が大きい」、「領域が大きい」などの表現は、このような識別子間の距離の定義に基いた表現である。一般に、距離の定義にはユークリッドノルムや排他論理和等が用いられる。本明細書では特に断りなくユークリッドノルムを距離の定義として用いるが、本発明はこれに限定されるものでなく、排他論理和やあるいはその他の距離の定義を用いてもよい。
The
決定的識別子決定部111は、計算した距離の情報をもとに、識別子間の間隔の大きい順に、分散システムから要求された識別子の個数だけ領域(上述したID空間では、識別子間の円弧)を選択する。選択した個々の領域中に含まれる値をそれぞれ識別子として設定し、分散システムにこの複数の識別子を通知する。このような識別子決定方法によると、領域内の何れかの値を識別子に取ることで、この識別子を割り当てられたノードが、それまでに存在し不均一性の原因となっていた領域を大きい順に分割することになる。
Based on the calculated distance information, the deterministic
なお、識別子の割り当ての際に識別子の間隔が大きい順に領域を選択するものとしたが、この間隔の大きさが同じものが複数あった場合に、そのいずれかを選択するかを決定する選択方法については、本明細書においては特に限定しない。ここでは、一例として領域内の識別子の値が小さい領域、すなわち、図1及び2に示されるようなID空間では、反時計回りの方向にある領域から選択するものとする。 In addition, when assigning identifiers, the regions are selected in descending order of identifier intervals. When there are a plurality of regions having the same interval size, a selection method for determining which one to select is selected. Is not particularly limited in the present specification. Here, as an example, it is assumed that an area having a small identifier value, that is, an ID space as shown in FIGS. 1 and 2, is selected from an area in a counterclockwise direction.
ここで、選択された領域をどのように分割するか、すなわち、選択された領域内の何れの識別子を決定するかについては、いくつかの方法が考えられる。例えば、最もシンプルな例は均等に2分割する方法である。この場合、新しいノードが分散システムに追加されるたびに最大領域の大きさが半分に分割されていくことで、識別子間の間隔の偏りを補正していく形となる。他の実施例では、各ノードの計算能力や記憶容量に応じて、割り当てる領域を調整するようにしてもよい。すなわち、任意の比率で領域を分割するようにしてもよい。しかしながら、本発明は、上述した分割の比率について限定されるものでなく、他の適切な任意の比率による分割方法が利用されてもよい。 Here, several methods are conceivable as to how to divide the selected area, that is, which identifier in the selected area is determined. For example, the simplest example is a method of equally dividing into two. In this case, every time a new node is added to the distributed system, the size of the maximum area is divided in half, thereby correcting the deviation in the interval between identifiers. In another embodiment, the allocated area may be adjusted according to the calculation capability and storage capacity of each node. That is, the area may be divided at an arbitrary ratio. However, the present invention is not limited to the above-described division ratio, and any other appropriate division method may be used.
上述した識別子の決定方法により、各ノードの担当する領域が均一化され、各ノードの担当する処理の量やデータの量についても均一化されることになる。なお、コンシステント・ハッシングの仕組みを使って、データの格納位置の決定ではなく分散システムの処理を行う位置を決定する場合がある。本明細書では以下特に断りなく、データの分散の仕組みにおいて本発明による識別子割当て装置を適用することを前提として説明を行うが、分散システムの処理を行う位置を決定する場合にも本発明を適用可能であり、データの格納位置の決定のみに本発明の適用対象を限定するものではない。 According to the identifier determination method described above, the area in charge of each node is made uniform, and the amount of processing and the amount of data in charge of each node are also made uniform. In some cases, the consistent hashing mechanism is used to determine the location for processing the distributed system rather than determining the data storage location. In the present specification, the description will be made on the premise that the identifier assigning apparatus according to the present invention is applied in the data distribution mechanism, but the present invention is also applied to the determination of the position where the processing of the distributed system is performed. It is possible, and the application target of the present invention is not limited only to the determination of the data storage position.
複数識別子割当て部112は、分散システムから要求された個数だけ、1つのノードに対して決定的識別子決定部111を使用して複数の識別子を割り当てる。具体的には、複数識別子割当て部112は、分散システムから要求された識別子の個数に対応して、上述した決定的識別子決定部111の処理を複数回実行させ、決定された複数の識別子を当該ノードに割当てる。
The multiple
次に、図6〜9を参照して、本発明の上述した識別子割当て装置による識別子割当ての具体例を説明する。図6〜9では、図1及び2と同様に、識別子の値の小さいものから、円形にノードが並べて示されている。この円により示されるID空間上に数字とともに配置されている丸や四角等の記号はノードの識別子を表し、数字はそのノードが何番目に分散システムに追加されたものかを表している。なお、ID空間上では時計周りに行くほど識別子の値が大きくなるものとする。ここで、ノードの担当する領域とは、そのノードの識別子から反時計周りに別のノードの識別子までの円弧に相当する。この領域の大小に比例して、ノードの担当するデータや処理の負荷量が決まる。 Next, a specific example of identifier assignment by the above-described identifier assignment device of the present invention will be described with reference to FIGS. In FIGS. 6 to 9, similarly to FIGS. 1 and 2, nodes are arranged in a circle from the smallest identifier value. Symbols such as circles and squares arranged with numbers in the ID space indicated by the circles represent node identifiers, and the numbers represent the number of the node added to the distributed system. In the ID space, it is assumed that the identifier value increases as it goes clockwise. Here, the area in charge of a node corresponds to an arc from the identifier of the node to the identifier of another node counterclockwise. In proportion to the size of this area, the data handled by the node and the amount of processing load are determined.
図6は、本発明の決定的な識別子割り当て方法を用いて、5つのノードに単一の識別子を割り当てた際の状態を表している。ここでは、一例として領域を均等に2分割する形で識別子を割り当てている。一切の領域が存在しない初期状態では、ノード1への識別子の割り当てには任意の値が割り当てられ、ノード2以降は、それぞれ存在する領域のうち最大の領域の中間に新しい識別子が割り当てられる。図6の例では、同じ大きさの領域が複数存在する場合は、円の最も上側の点(図6ではノード1が存在する場所)を始点として、最も識別子の小さい領域を選択することとしている。このため、ノード4まで追加された時点で正確に4分割されていたID空間において、次のノード5は、ノード3の管理する領域、すなわち、ノード1とノード3との間の領域の中央に識別子を割り当てられ、ノード3の担当していた領域を2分割することとなる。
FIG. 6 shows a state when a single identifier is assigned to five nodes using the definitive identifier assignment method of the present invention. Here, as an example, the identifier is assigned in such a manner that the area is equally divided into two. In an initial state where no area exists, an arbitrary value is assigned to the assignment of an identifier to the
図7は、図6に示した決定的な識別子の割り当て手法を用いて、3つのノードのそれぞれに3つの識別子を割り当てた場合の状態を表している。図2の場合と同様に、大数の法則により図6の例よりも個々のノードの担当する領域が均一になっていることがわかる。また、図2の例とは異なり、決定的に識別子の値が決定されているため、確率によってばらつきが生じることのない、常に同じ形でID空間上に識別子が配置されていく形となる。そのため、図1,2の従来技術による識別子割当て方法及び図6の単一の識別子割当て方法と比較して、図7に示される本発明の複数識別子割当て方法は、確率に依らず安定していて、かつ最も領域が均一化される方法であることがわかる。 FIG. 7 shows a state when three identifiers are assigned to each of three nodes using the definitive identifier assignment method shown in FIG. As in the case of FIG. 2, it can be seen that the areas handled by the individual nodes are more uniform than the example of FIG. 6 by the law of large numbers. Further, unlike the example of FIG. 2, since the identifier value is determined deterministically, the identifier is always arranged in the ID space in the same form without variation depending on the probability. Therefore, compared with the conventional identifier assignment method of FIGS. 1 and 2 and the single identifier assignment method of FIG. 6, the multiple identifier assignment method of the present invention shown in FIG. 7 is stable regardless of the probability. It can be seen that this is the method in which the region is most uniform.
図8,9はノードの削除時におけるノードの担当領域の変化を表したものである。このようなノードの削除は、例えば、分散システムの管理者などからのノードの削除指示、ノードの故障、分散システムからのノードの接続解除などによりトリガーされる。図8は、各ノードに単一の識別子が割り当てられる図1の例において、ノード1が削除された場合のノードの担当領域の変化を示している。図8の左側に示されるように、ノード1が削除される前は、ノード1は円弧201の領域を担当し、ノード4は円弧200の領域を担当していた。これが、図8の右側に示されるように、ノード1が削除されると、ノード1の担当していた円弧201の領域全体がそのまま隣接するノード4に引き継がれ、ノード4の担当領域が円弧202にまで増大する。
8 and 9 show changes in the assigned area of the node when the node is deleted. Such node deletion is triggered by, for example, a node deletion instruction from the administrator of the distributed system, a node failure, or a node disconnection from the distributed system. FIG. 8 shows a change in the assigned area of the node when
一方、図9は、各ノードに複数の識別子が割り当てられる図2の例において、ノード1が削除された場合のノードの担当領域の変化を示している。図9の左側に示されるように、ノード1が削除される前は、ノード1は3つの円弧301,303,305を担当している。これが、図9の右側に示されるように、ノード1が削除されると、その担当していた3つの領域は、円弧301の領域はノード2の担当する円弧300に引き継がれ、円弧306となる。円弧303の領域はノード2の担当する円弧302に引き継がれ、円弧307となる。円弧305の領域はノード3の担当する円弧304に引き継がれ、円弧308となる。このように、ノード1つにつき複数の識別子を割り当てることによって、図8の例と比較して、図8の例では削除されたノード1の担当領域はそのままノード4が引き継ぎ、担当領域間の不均一を増大させていたが、図9の例ではノード1の3つの担当領域をノード2,3の2つのノードで引き継いだため、不均一の増大が抑えられている。また、1つのノードに割り当てる識別子の個数を増加させることで、更にノードの削除時の不均一を抑えることができる。
On the other hand, FIG. 9 shows a change in the assigned area of the node when
なお、ここでは図1と図2の例を用いてノードが削除された場合の1つのノードに複数の識別子を割り当てる識別子割当て方法の優位点を説明したが、図6と図7の例においても複数の識別子を割当てることにより同様の優位点が得られることは明らかであろう。
これまでの例によっても、本発明の複数識別子割当て方法を用いた図7の例が、ノードの追加の状態とノードの削除の状態の何れにおいても、各ノードの担当する負荷が最も均一に分散していることが理解されるであろう。
Here, the advantage of the identifier assignment method for assigning a plurality of identifiers to one node when the node is deleted has been described using the examples of FIGS. 1 and 2, but the example of FIGS. 6 and 7 is also used. It will be apparent that a similar advantage can be obtained by assigning multiple identifiers.
Even in the examples so far, the example of FIG. 7 using the multi-identifier allocation method of the present invention distributes the load assigned to each node most evenly in both the node addition state and the node deletion state. It will be understood that
次に、図10を参照して、本発明の一実施例による識別子割当て方法を説明する。図10は、本発明の一実施例による決定的な複数識別子割当て方法の処理を示すフロー図である。なお、図10に示される処理フローは例示的なものにすぎず、本発明は図示された処理フローに限定されるものでない。 Next, an identifier assignment method according to an embodiment of the present invention will be described with reference to FIG. FIG. 10 is a flow diagram illustrating processing of a definitive multiple identifier assignment method according to one embodiment of the present invention. Note that the processing flow shown in FIG. 10 is merely exemplary, and the present invention is not limited to the illustrated processing flow.
本実施例による識別子割り当て方法は、新たに追加されたノードに対する識別子の割当て要求により開始される(ステップS101)。次に、ステップS102において、1ノードごとに割当てる識別子の個数vと、この時点で存在している全ての識別子の総数aと、これらの識別子を記述した識別子一覧表とが入力される。その後、ステップS103において、初期化処理としてカウンタ変数iに0が設定される。 The identifier assignment method according to the present embodiment is started by an identifier assignment request for a newly added node (step S101). Next, in step S102, the number v of identifiers assigned to each node, the total number a of all identifiers existing at this time, and an identifier list describing these identifiers are input. Thereafter, in step S103, 0 is set to the counter variable i as an initialization process.
次に、ステップ104において、現時点で割当て済みの識別子の総数が0であるか、すなわち、a=0であるか判定される。現時点で割当て済みの識別子の総数が0である場合(ステップS104:yes)、すなわち、現在割当てようとしている識別子がこの分散システムにおける最初のノードの最初の識別子である場合、ステップS105において、割当てられる識別子の値を0に設定する。例えば、これは、図7に示される上端のノード1の識別子に相当する。
Next, in step 104, it is determined whether the total number of identifiers allocated at present is 0, that is, if a = 0. If the total number of currently assigned identifiers is 0 (step S104: yes), that is, if the identifier to be currently assigned is the first identifier of the first node in this distributed system, it is assigned in step S105. Set the identifier value to 0. For example, this corresponds to the identifier of the
他方、現時点で割当て済みの識別子の総数が0でない場合(ステップS104:no)、ステップS106において、さらに現時点で割当て済みの識別子の総数が1であるか、すなわち、a=1であるか判定される。現時点で割当て済みの識別子の総数が1である場合(S106:yes)、すなわち、現在割当てようとしている識別子がこの分散システムにおける2番目の識別子である場合、ステップS107において、割当てられる識別子の値を(識別子の取りうる上限値÷2)に設定する。例えば、これは、図7に示される下端のノード1の識別子に相当する。
On the other hand, if the total number of currently assigned identifiers is not 0 (step S104: no), it is further determined in step S106 whether the total number of currently assigned identifiers is 1, that is, a = 1. The If the total number of identifiers assigned at present is 1 (S106: yes), that is, if the identifier to be currently assigned is the second identifier in this distributed system, the value of the assigned identifier is set in step S107. Set to (upper limit of identifiers divided by 2). For example, this corresponds to the identifier of
他方、現時点で割当て済みの識別子の総数が1でない場合(S106:no)、本実施例の複数識別子割当て方法は、ステップS108以降において、識別子一覧表を参照して割当てる識別子の値を決定する。ステップS108において、識別子一覧表を参照し、隣り合う識別子間の距離が最大となる領域を決定する。次に、ステップS109において、決定された領域の開始点及び終了点に相当する識別子をそれぞれIDk及びIDk+1としたとき、割当てられる識別子は、この領域を2等分する値、すなわち、(IDk+IDk+1)÷2により算出される識別子に設定される。なお、厳密には、最大の領域|IDk−IDk+1|が識別子の上限値をまたいで存在する場合がある。この場合、上記の式では2等分することができないが、その場合も適切に領域の中央値を返す式を適用するものとする。 On the other hand, when the total number of identifiers allocated at the present time is not 1 (S106: no), the multiple identifier allocation method of the present embodiment determines the identifier value to be allocated with reference to the identifier list in step S108 and subsequent steps. In step S108, the identifier list is referred to determine a region where the distance between adjacent identifiers is maximum. Next, in step S109, when identifiers corresponding to the start point and end point of the determined area are ID k and ID k + 1 , respectively, the assigned identifier is a value that bisects this area, that is, (ID It is set to the identifier calculated by k + ID k + 1 ) / 2. Strictly speaking, the maximum area | ID k −ID k + 1 | may exist across the upper limit of the identifier. In this case, although the above equation cannot be divided into two equal parts, an equation that appropriately returns the median value of the region is applied.
このようにしてステップS105,S107及びS109で新しい識別子が取得された後、ステップS110において、カウンタ変数iと識別子の総数aの値をそれぞれ1だけインクリメントすると共に、識別子一覧表を更新する。 After a new identifier is acquired in steps S105, S107, and S109 in this way, in step S110, the counter variable i and the total number of identifiers a are each incremented by 1, and the identifier list is updated.
ステップS111において、カウンタ変数iが1ノード毎に割当てられる識別子の個数vに満たない場合(S111:no)、更なる識別子を割当てるため、ステップS106に戻って、同様の手順を実行することによって更なる識別子を割り当てる。他方、カウンタ変数iが1ノード毎に割当てられる識別子の個数vに等しい場合(S111:yes)、必要なv個の識別子の割当てが完了したことになるため、当該処理を終了する(ステップS112)。 In step S111, if the counter variable i is less than the number of identifiers v assigned to each node (S111: no), the process returns to step S106 to perform further procedures by assigning further identifiers and executing the same procedure. Is assigned. On the other hand, when the counter variable i is equal to the number of identifiers v assigned to each node (S111: yes), the necessary processing of v identifiers has been completed, so the processing is terminated (step S112). .
本発明の識別子割当て装置及び方法では、ノードによって管理されるデータのそれぞれに識別子を割当て、あるノードが管理するデータの識別子の範囲を、ノード自身の識別子と、当該ノードよりも値の小さい識別子を持つノードの中では最も大きい値の識別子を持つノードの識別子との間と定める。また、各ノードの担当するデータ量等の負荷が均等に分散されるよう識別子の間隔が最も大きい領域から順に、1つのノードにつき複数の識別子を割り当てる。 In the identifier assigning apparatus and method of the present invention, an identifier is assigned to each of the data managed by the node, the range of the identifier of the data managed by a certain node, the identifier of the node itself, and an identifier having a value smaller than that of the node. It is determined between the identifier of the node having the largest identifier among the possessed nodes. In addition, a plurality of identifiers are assigned to each node in order from the region having the largest identifier interval so that the load such as the amount of data handled by each node is evenly distributed.
なお、上述した実施例では、主にコンシステント・ハッシングのフレームワークにおいて、本発明の識別子割当て装置及び方法を用いる場合が説明されるが、本発明は、これに限定されるものでなく、識別子が識別以上の意味を持つ任意の分散プログラムに適用可能である。 In the above-described embodiment, the case where the identifier assigning apparatus and method of the present invention are used mainly in the consistent hashing framework is described. However, the present invention is not limited to this, and the identifier is not limited to this. Can be applied to any distributed program that has more meaning than identification.
本発明の識別子割当て装置及び方法によると、分散システムの識別子の間隔を均一化することができ、それによりノードの担当する処理量やデータ量を均一化し、ノード間の負担量が公平になる。また、ノードの削除時に均一性が崩れる問題についても、各ノードに複数の識別子を割り当てることによって、これを軽減する。これらの特性により、分散システムにおいて、ノードの追加・削除などの状況に関わらずに、ノード間の負担を公平化することができ、システム全体の利用効率を上昇させることが可能になる。 According to the identifier assigning apparatus and method of the present invention, it is possible to make the intervals of identifiers in the distributed system uniform, thereby making the amount of processing and data handled by the nodes uniform, and the burden amount between the nodes becomes fair. Also, the problem of uniformity being lost when a node is deleted is alleviated by assigning a plurality of identifiers to each node. With these characteristics, in a distributed system, the burden between nodes can be equalized regardless of the situation of addition / deletion of nodes, and the utilization efficiency of the entire system can be increased.
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment mentioned above, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
100 識別子割当て装置
101 識別子一覧表格納部
110 識別子決定部
111 決定的識別子決定部
112 複数識別子割当て部
DESCRIPTION OF
Claims (5)
前記分散システムのノード装置に対する識別子割当てイベントを検出する第一のステップと、
前記識別子割当てイベントを検出すると、前記分散システムにおける割当て済みの識別子を格納した識別子一覧表にアクセスする第二のステップと、
前記識別子一覧表を参照して、前記識別子一覧表に格納されている隣り合う識別子の間の領域が最大となる隣り合う識別子を決定する第三のステップと、
前記決定された隣り合う識別子の間の領域内の何れかの識別子を前記ノード装置に割り当てる第四のステップと、
を有し、
前記第三のステップと前記第四のステップとを所定数の回数繰り返してノード装置に複数の識別子を割り当てる方法。 A plurality of node devices operate in a coordinated manner , an identifier is assigned to each node device and each data managed by the node device, and a node device in charge of managing each data is determined by the value of the identifier. In a distributed system in which a plurality of identifiers are assigned to a device and each data identifier is assigned by a hash function having a unique value as an input, the identifier is assigned to the node device,
A first step of detecting an identifier assignment event for a node device of the distributed system;
Upon detecting the identifier assignment event, a second step of accessing an identifier list storing assigned identifiers in the distributed system;
Referring to the identifier list, a third step of determining adjacent identifiers having a maximum area between adjacent identifiers stored in the identifier list;
A fourth step of assigning any identifier in the area between the determined adjacent identifiers to the node device;
I have a,
How to assign multiple identifiers to the third step and the fourth step and the node device number of repetitions of the predetermined number.
前記ノード装置削除イベントを検出すると、前記ノード装置に割り当てられていた識別子を割当解放し、前記削除されたノード装置の処理負荷を前記識別子一覧表の割当解放された識別子に隣り合う識別子を有するノード装置に再割当てするステップと、
をさらに有する、請求項1記載の方法。 Detecting a node device deletion event of deleting a node device to which an identifier has been assigned in the distributed system;
When the node device deletion event is detected, the identifier assigned to the node device is deallocated, and the processing load of the deleted node device is a node having an identifier adjacent to the deallocated identifier in the identifier list. Reassigning to the device;
Further comprising The method of claim 1.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010188877A JP5514041B2 (en) | 2010-08-25 | 2010-08-25 | Identifier assignment method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010188877A JP5514041B2 (en) | 2010-08-25 | 2010-08-25 | Identifier assignment method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012048424A JP2012048424A (en) | 2012-03-08 |
| JP5514041B2 true JP5514041B2 (en) | 2014-06-04 |
Family
ID=45903231
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010188877A Active JP5514041B2 (en) | 2010-08-25 | 2010-08-25 | Identifier assignment method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5514041B2 (en) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9628438B2 (en) * | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
| JP6008964B2 (en) * | 2012-06-11 | 2016-10-19 | 株式会社Murakumo | Information processing system, method and program |
| JP6092874B2 (en) * | 2012-08-02 | 2017-03-08 | 株式会社Murakumo | Load balancing apparatus, information processing system, method and program |
| WO2014102997A1 (en) | 2012-12-28 | 2014-07-03 | 株式会社日立製作所 | Computer, control device for computer system, and recording medium |
| US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
| EP3008647A4 (en) | 2013-06-12 | 2017-01-25 | Exablox Corporation | Hybrid garbage collection |
| WO2014205286A1 (en) | 2013-06-19 | 2014-12-24 | Exablox Corporation | Data scrubbing in cluster-based storage systems |
| US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
| US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
| US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
| US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
| WO2015120071A2 (en) | 2014-02-04 | 2015-08-13 | Exablox Corporation | Content based organization of file systems |
| JP6058576B2 (en) * | 2014-03-20 | 2017-01-11 | 日本電信電話株式会社 | Slot group generation device, slot group generation method, and load distribution system |
| JP6361254B2 (en) * | 2014-04-15 | 2018-07-25 | 日本電気株式会社 | Object placement apparatus, object placement method, and program |
| US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
| US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
| JP6553562B2 (en) * | 2016-08-30 | 2019-07-31 | 日本電信電話株式会社 | Identifier assignment method and program |
| JP7363510B2 (en) * | 2020-01-21 | 2023-10-18 | 株式会社オートネットワーク技術研究所 | Management device, identification information assignment method for in-vehicle devices, in-vehicle system, and data structure |
| US11902363B2 (en) * | 2020-07-20 | 2024-02-13 | Nippon Telegraph And Telephone Corporation | Load distribution method, load distribution device, load distribution system and program |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4862463B2 (en) * | 2006-04-11 | 2012-01-25 | ブラザー工業株式会社 | Information communication system, content catalog information search method, node device, etc. |
| JP2008090564A (en) * | 2006-09-29 | 2008-04-17 | Brother Ind Ltd | Content distribution system, identification information allocation method in the system, identification information allocation apparatus in the system, and program of the apparatus |
-
2010
- 2010-08-25 JP JP2010188877A patent/JP5514041B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012048424A (en) | 2012-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5514041B2 (en) | Identifier assignment method and program | |
| US10733026B2 (en) | Automated workflow selection | |
| CN108475207B (en) | Joint auto-scaling of cloud applications | |
| CN103534687B (en) | Scalable Centralized Dynamic Resource Allocation in Clustered Data Grids | |
| US20210385171A1 (en) | Software load balancer to maximize utilization | |
| EP4068725B1 (en) | Topology-based load balancing for task allocation | |
| JP6881575B2 (en) | Resource allocation systems, management equipment, methods and programs | |
| US10394782B2 (en) | Chord distributed hash table-based map-reduce system and method | |
| CN113382077A (en) | Micro-service scheduling method and device, computer equipment and storage medium | |
| JP6275119B2 (en) | System and method for partitioning a one-way linked list for allocation of memory elements | |
| CN107111517A (en) | The virtual machine of business is had a high regard for optimize distribution and/or generate for reduction | |
| CN113835823B (en) | Resource scheduling method and device, electronic equipment and computer readable storage medium | |
| Zhu et al. | Reliable resource allocation for optically interconnected distributed clouds | |
| CN114090220A (en) | Hierarchical CPU and memory resource scheduling method | |
| JP5445739B2 (en) | Resource allocation apparatus, resource allocation method, and program | |
| CN110178119B (en) | Method, device and storage system for processing service request | |
| CN103428260A (en) | System and method for allocating server to terminal and efficiently delivering messages to the terminal | |
| CN113268329A (en) | Request scheduling method, device and storage medium | |
| CN105607955A (en) | Calculation task distribution method and apparatus | |
| CN109005071B (en) | A decision-making deployment method and scheduling device | |
| CN104104611B (en) | A kind of method and device for realizing cluster load balance scheduling | |
| US11019139B2 (en) | Ranked session affinity to improve load balancing efficiency for stateful requests | |
| Mao et al. | Sharing based virtual network embedding algorithm with dynamic resource block generation | |
| CN116261846B (en) | Methods, systems, media, and computer programs for reducing placement conflicts | |
| JP6553562B2 (en) | Identifier assignment method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121025 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130624 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130905 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20131001 |
|
| 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: 20140325 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140328 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5514041 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |