JP4014095B2 - Load distribution device, load distribution method, and load distribution program - Google Patents
Load distribution device, load distribution method, and load distribution program Download PDFInfo
- Publication number
- JP4014095B2 JP4014095B2 JP2003150823A JP2003150823A JP4014095B2 JP 4014095 B2 JP4014095 B2 JP 4014095B2 JP 2003150823 A JP2003150823 A JP 2003150823A JP 2003150823 A JP2003150823 A JP 2003150823A JP 4014095 B2 JP4014095 B2 JP 4014095B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- load
- processing device
- data
- processing data
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、処理データを生成する負荷発生装置から受け取った処理データを複数の処理装置に配分するための負荷配分装置、負荷配分方法、及び負荷配分プログラムに関するものである。
【0002】
【従来の技術】
従来、処理データを生成する負荷発生装置から受け取った処理データを複数の処理装置に配分するための負荷配分装置としては以下に示す3種類が典型的である。
【0003】
1.負荷発生装置から受け取る処理データを処理するために必要とする処理量は一定であると仮定して、各処理装置に順番に処理データを配分する負荷配分装置(例えば、非特許文献1参照)。
【0004】
2.上記1を性能の異なる処理装置に対して実行するために、各処理装置に一定の重み付けを行い、重みの比率に従って各処理装置に順番に処理データを配分する負荷配分装置(例えば、非特許文献2参照)。
【0005】
3.各処理装置の処理負荷を示す負荷データを各処理装置から取得し、その処理負荷を数値化して処理負荷の低い処理装置に処理データを配分する負荷配分装置(例えば、非特許文献3参照)。
【0006】
【非特許文献1】
F5 Networks, "BIG-IP(登録商標)Controller Reference Guide", version 3.3, F5 Networks, p. 1-46
【0007】
【非特許文献2】
F5 Networks, "BIG-IP(登録商標)Controller Reference Guide", version 3.3, F5 Networks, p. 1-47
【0008】
【非特許文献3】
F5 Networks, "BIG-IP(登録商標)Controller Reference Guide", version 3.3, F5 Networks, pp. 1-47, 1-48
【0009】
【発明が解決しようとする課題】
上記1又は2のように、各処理装置に順番に処理データを配分する負荷配分装置では、各処理装置の性能が同一であって、配分される各処理データの内容が均等で、かつ、各処理時間が一定であれば各処理装置の処理負荷は同一になる。しかし、ほとんどの場合、処理データの内容は各処理データ間で少しずつ異なっており、順番に処理データを配分してゆくと処理装置の負荷が不均等になってしまう。
また、負荷配分装置によって選択された処理装置が配分された処理データの処理をいったん滞らせると、この処理データの処理が終わらないうちに、後続の処理データが次々と配分されてしまう。その結果、その処理装置はますます処理を滞らせてしまうという悪循環に陥ってしまう。
【0010】
上記3のように、処理負荷の低い処理装置に処理データを配分する負荷配分装置では、処理装置が処理を滞らせてしまうことは避けられる。しかし、負荷配分装置が処理装置から負荷データを取得する動作が処理装置に一定の負担を与えてしまい、処理装置全体が単位時間に処理することが可能な処理データ量が少なくなってしまう。すなわち、処理装置全体のパフォーマンスが低下してしまう。
【0011】
また、処理装置が多数であればあるほど、それらの処理装置を対象として処理データを配分しようとした場合に、負荷配分装置は全ての処理装置の負荷データを取得しなければ処理データを配分する処理装置を決定することができない。多数の処理装置から負荷データを取得する必要があるため、負荷配分装置が取得する負荷データの取得間隔が長くなってしまう。負荷データの取得間隔が長くなると、負荷配分装置が処理データを配分する時点で、収集した負荷データが既に各処理装置の処理負荷の実情を反映しないものになる可能性が高くなってしまう。負荷配分装置がこれらの負荷データを使用すると、各処理処置への処理データの配分が均等でなくなる可能性が高くなる。
換言すれば、全ての処理装置の負荷を同時に知ることはできないため、処理装置によって取得時間の異なる各処理装置の処理負荷を、仮想的な時刻における処理負荷と仮定して処理データを配分する処理装置の選択基準としなければならず、実情に合っていない場合が多い。その結果として、各処理処置への処理データの配分が均等でなくなる可能性が高くなる。
【0012】
本発明は、上述した従来の技術に鑑み、処理装置に余計な処理をさせることなく、実態に即した処理負荷の低い処理装置を選択してこの処理装置に処理データを配分するための負荷配分装置、負荷配分方法、及び負荷配分プログラムを提供することを目的とする。
【0013】
本発明の負荷配分装置は、処理データを入力する入力手段と、前記処理データを配分することが可能な複数の処理装置を識別する識別手段と、前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出する算出手段と、前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行する検出手段と、前記検出処理によって検出された処理負荷を蓄積してゆく蓄積手段と、前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行する判定手段と、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分する配分手段と、を具備し、前記判定手段は、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする。
【0014】
本発明の負荷配分方法は、処理データを入力し、前記処理データを配分することが可能な複数の処理装置を識別し、前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出し、前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行し、前記検出処理によって検出された処理負荷を蓄積し、前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行し、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分することを具備し、前記判定処理を実行することは、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする。
【0015】
本発明の負荷配分プログラムは、コンピュータを、処理データを入力する入力手段と、前記処理データを配分することが可能な複数の処理装置を識別する識別手段と、前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出する算出手段と、前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行する検出手段と、前記検出処理によって検出された処理負荷を蓄積してゆく蓄積手段と、前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行する判定手段と、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分する配分手段と、として機能させるためのものであり、前記判定手段は、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする。
【0016】
以上によれば、処理負荷を検出する処理装置を限定するので、ほとんどの処理装置に余計な処理をさせることがなくなる。また、処理装置に処理データを配分するときは、この処理装置の処理負荷を検出した直後に配分するので、実態に即した処理負荷の低い処理装置を選択してこの処理装置に処理データを配分することが可能になる。
【0017】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態に係る負荷配分装置、負荷配分方法、及び負荷配分プログラムを説明する。
【0018】
図1は、本発明の実施形態に係る負荷配分装置20を含むシステム例を示す図である。
本実施形態に係る負荷配分装置20を含むシステムは、例えば、図1に示すように、複数の負荷発生装置10、1つの負荷配分装置20、及び、複数の処理装置30を備えている。
【0019】
各負荷発生装置10は、ある処理データを生成する。各負荷発生装置10は、その処理データを負荷配分装置20にそれぞれ出力する。それらの処理データの内容は様々であり、負荷配分装置20に出力される時刻も一般に一様ではない。
負荷配分装置20は、複数の負荷発生装置10から処理データを入力する。負荷配分装置20は、複数の処理装置30から順に処理装置の処理負荷を示している負荷データを入力する。この負荷データに基づいて、負荷配分装置20はある処理装置を選択し、この処理装置に、入力した処理データを配分する。
処理装置30は、負荷配分装置20に負荷データを出力する。その後、負荷配分装置20から処理データが出力されてきた場合に、その処理データを処理する。
【0020】
図2は、図1の負荷配分装置のブロック図である。
処理データ入力部21は、各負荷発生装置10から処理データを入力する。処理データ配分部22は、後述の判定部26が判定した判定結果に基づいて、処理データ入力部21から入力した処理データをある処理装置30に配分する。
処理装置識別部23は、処理データを処理することが可能な処理装置30を把握するために、処理装置30を識別する。処理装置識別部23は、複数の処理装置30に対して処理データを処理することが可能であるか否かを確認するために確認信号を送信し、応答があった各処理装置30に対応して何らかの識別名称を付与する。すなわち、負荷配分装置20内で応答があった各処理装置30が一意的に定まるように名称が付与される。例えば、処理装置識別部23は、応答があった各処理装置30に対応して番号を付与する。この結果、処理装置識別部23は、処理データを処理することが可能な処理装置数を把握することができる。
【0021】
負荷検出部24は、処理装置識別部23が識別した処理装置30からある処理装置30を選択し、この処理装置30の負荷データを負荷配分装置20に出力するように処理装置30に指示信号を出力する。この指示信号を出力する処理装置30をどのように選択するかは後述される。
【0022】
選択決断順位算出部25は、処理装置識別部23から処理データを処理することが可能な処理装置数を入力し、この処理装置数に基づいて、処理装置数分(正確には処理装置数−1の個数)の選択決断順位を算出する。選択決断順位とは、この選択決断順位に対応する処理装置30に処理データを処理するように指示するか否かを判定するための閾値である(詳細は、後に図3を参照して説明する)。換言すれば、第i番目(1≦i≦N−1)に負荷検出部24によって選択された処理装置30の、最初のi個の処理装置の中での相対順位が第i番目の選択決断順位より下位である場合はこの処理装置30に処理データを処理させず、一方、最初のi個の処理装置の中での処理装置30の相対順位が第i番目の選択決断順位と同一又はその選択決断順位よりも上位である場合はこの処理装置30に処理データを処理させる。これは判定部26が実行する処理である。
ここで、第i番目に負荷検出部24によって選択された処理装置30の、最初のi個の処理装置の中での相対順位とは、第i番目までに負荷検出部24によって選択された処理装置30の処理負荷の小さい順の順位がs1、・・・、siであるとすると、s1、・・・、siのうちのsiと同一又はその順位よりも上位である処理装置30の個数のことである。
【0023】
メモリ27は、処理装置識別部23が識別した処理装置数を記憶している。また、メモリ27は、処理装置識別部23が識別した処理装置30のうち、負荷検出部24が検出した処理装置30の処理負荷を、検出した処理装置30ごとに記憶している。
【0024】
判定部26は、処理装置識別部23から付与された識別名称の一覧を入力する。また、判定部26は、負荷検出部24から負荷データを負荷配分装置20に出力するように指示された処理装置30の負荷データを入力する。さらに、判定部26は、選択決断順位算出部25から処理装置数分の選択決断順位を入力する。判定部26は、メモリ27を参照して、判定部26が今回入力した負荷データを出力した処理装置30が第何番目に負荷データを出力したものかを確認する。判定部26は、この順番に対応する選択決断順位を探し出し、その選択決断順位と、判定部26が今回入力した負荷データが示す処理負荷が前回までに取得したメモリに記憶されている処理負荷で決まる相対順位と比較される。
すなわち、今回、負荷検出部24によって選択された処理装置30であって、メモリ27に記憶されている処理装置30の中での相対順位が対応する選択決断順位より下位である場合はこの処理装置30に処理データを処理させず、一方、メモリ27に記憶されている処理装置の中での処理装置30の相対順位が対応する選択決断順位と同一又はその選択決断順位よりも上位である場合はこの処理装置30に処理データを処理させる。
【0025】
図3は、図1の選択決断順位算出部で利用される数式及びテーブルを示す図である。図2の選択決断順位算出部25が選択決断順位を算出する計算手順を示す。
本実施形態の負荷配分装置20は、N個の処理装置30がある場合に、この処理装置30の処理負荷を順番に調査して、小さい処理負荷の処理装置30を効率よく発見するためのアルゴリズムを備えるものである。ここで、小さい処理負荷の処理装置30を決定するときは、処理負荷を調査したその時のものとする。すなわち、処理装置30の処理負荷は時々刻々と変化しているので、以前に調査した処理装置を選択することはしない。例えば、第5回目に処理装置30の処理負荷を調査したとする。このとき、第5回目の処理装置30の処理負荷よりも第2回目の処理装置30の処理負荷が小さいとしても、もはや第2回目の処理装置を「小さい処理負荷の処理装置」と決定することはしない。
さらに、処理装置30は、処理負荷が小さいものから順に、1位からN位までの順位付けが可能であり、その並び方はN!通りの順列が等確率で現れるものと仮定する。以上の条件の下で、より小さい処理負荷の処理装置30を選択する順位の期待値を最小、すなわち、より小さい処理負荷の処理装置30を選択するためのアルゴリズムが本実施形態には必要となる。
【0026】
このアルゴリズムは、Chow, Moriguti, Robbins, and Samuels, “Optimal selection based on relative rank”, Israel J. of Math., voL2 (1964), pp. 81-90、又は、「海辺の美女の問題」、森口繁一、日本評論社、“数学セミナー増刊数学100の問題”、1984年9月25日発行、pp.39によれば、以下のように定式化される。
選択決断順位算出部25は、処理装置識別部23から処理データを処理することが可能な処理装置数Nを入力する。このNによって定まる数列{s(1),s(2),・・・s(i)}があり、第i番目の処理装置30の相対順位y(i)がs(i)よりも大きい場合はiを1だけ増加させて次の処理装置30に進み、一方、y(i)がs(i)以下である場合はその第i番目の処理装置30が「小さい処理負荷の処理装置」であると見なす。この手順を最初の処理装置30であるi=1から、最後の処理装置30の直前の処理装置30であるi=N−1まで行う。i=N−1まで処理データを配分する処理装置30が決定しない場合は、最後の処理装置30であるN番目の処理装置30に処理データを配分する。
このとき第i番目までに「小さい処理負荷の処理装置」であると見なすことのできる処理装置30がなかったという条件の下での順位の期待値c(i)とすると、c(i)及びs(i)は図3に示したように定式化される。ここで[x]の括弧はガウス記号を示し、[x]は実数xを超えない最大の整数を示す。また、図3で順位の期待値c(i−1)では、i=N−1,・・・,2であり、選択決断順位s(i)では、i=N−1,・・・,2,1である。
【0027】
選択決断順位算出部25が入力した処理装置数Nにより、最終期待順位c(N−1)が決定する。図3の選択決断順位s(i)の数式よりc(i)が決定するとs(i)が決定するので、c(N−1)が決定するとs(N−1)が決定する。図3の順位の期待値の数式c(i−1)によりc(i)及びs(i)が決定すれば、c(i−1)が決定する。この様に、c(N−1)、s(N−1)、c(N−2)、s(N−2)、・・・、c(1)、s(1)の順で全ての選択決断順位s(j)(1≦j≦N−1)が算出される。
【0028】
図4は、図1の処理装置30の数が10である場合の計算例を示す図である。図4は、具体的な例であり、N=10の場合である。図4の左に示したテーブルは、図3に示した数式によりN=10の場合に算出した順位の期待値c(i)及び選択決断順位s(i)(1≦i≦9)を示す。この場合テーブルの左端に示したi(i=1,・・・,9)は各処理装置30に付与された識別番号である。図4の右に示したフローは判定部26で実行される。
第1から第3の処理装置30は選択決断順位が0であるので、これらの処理装置30は選択されない。ここでは、第1から第3の処理装置30の各処理負荷がメモリ27に記憶されるだけである(ステップS1)。
【0029】
第4及び第5の処理装置30は選択決断順位が1であるので、それまでに調査した処理負荷の中で1番低い場合は、その処理装置30が選択される(ステップS2)。例えば、第4の処理装置30の相対順位が2で、かつ第5の処理装置30の相対順位が1である場合は、第5の処理装置30が選択される。一方、それまでに調査した処理負荷の中で1番低くない場合は、第4及び第5の処理装置30の各処理負荷がメモリ27に記憶される。
【0030】
第6及び第7の処理装置30は選択決断順位が2であるので、それまでに調査した処理負荷の中で1番低いか、又は2番目に低い場合は、その処理装置30が選択される(ステップS3)。例えば、第6の処理装置30の相対順位が4で、かつ第7の処理装置30の相対順位が2である場合は、第7の処理装置30が選択される。一方、それまでに調査した処理負荷の中で2番以内に低くない場合は、第6及び第7の処理装置30の各処理負荷がメモリ27に記憶される。
【0031】
第8の処理装置30は選択決断順位が3であるので、それまでに調査した処理負荷の中で3番目以内に低い場合は、第8の処理装置30が選択される(ステップS4)。例えば、第8の処理装置30の相対順位が2である場合は、第8の処理装置30が選択される。一方、それまでに調査した処理負荷の中で3番以内に低くない場合は、第8の処理装置30の処理負荷がメモリ27に記憶される。
【0032】
第9の処理装置30は選択決断順位が5であるので、それまでに調査した処理負荷の中で5番目以内に低い場合は、第9の処理装置30が選択される(ステップS5)。例えば、第9の処理装置30の相対順位が4である場合は、第9の処理装置30が選択される。一方、それまでに調査した処理負荷の中で5番以内に低くない場合は、次のステップで選択される処理装置30は1つしかないので、第9の処理装置30の処理装置に関する処理負荷をメモリ27に記憶することはしない。
【0033】
上記のステップS1から上記のステップS5までで選択すべき処理装置30が決定されない場合は、残りは1つの処理装置30しか選択する余地はないので処理負荷を調査することなく、第10の処理装置30が選択される(ステップS6)。
【0034】
以上に示したように、本実施形態の負荷配分装置20は、従来全ての処理装置30にわたって負荷状況を取得しなければ処理の配分が行えなかったものを、上述したアルゴリズムを用いることで、負荷データを取得する処理装置30の数を減らしながらも負荷の低い処理装置30に処理データを配分することが可能になる。
また、図4に示した例では、最初の処理装置30の順位の期待値は2.5579であるので、平均して約3位の処理負荷を有する処理装置30を選択することになる。
また、メモリ27に記憶された処理負荷は、処理データを配分する処理装置30が選択された時点でメモリ27から消去される。
【0035】
本実施形態の負荷配分装置20は、全ての処理装置30について処理負荷を取得することは稀であり、確率的に処理負荷を示している負荷データを取得する処理を少なくすることができる。したがって、処理装置30は、負荷データに関する処理の負担を受けることが少なくなり、処理装置30は本来の処理に能力を集中することができる。
【0036】
また、過去に取得した処理装置30の負荷データは、負荷配分装置20が各処理装置30の負荷データを取得した時系列において各処理装置30に相対的な順位を定める目的のみに利用される。さらに、本実施形態の負荷配分装置20は、処理データを配分する処理装置30を決定するとき、決定する直前に負荷データを取得した処理装置30を選択するため、選択された処理装置30の負荷データは実態に即している。その結果、負荷配分装置20は、最適な処理装置30に負荷データを配分する確率を高くすることが可能になる。
【0037】
図5は、図4の場合の処理装置30を決定する様子を示す図である。図6は、図4の場合の処理装置30を決定する、図5とは別の例の様子を示す図である。
図5は、上述したアルゴリズムをそのまま用いた、単純な例である。この場合は、処理装置識別部23が負荷データを配分する処理装置30に1からNまでの固定的な番号を付ける。図5の例では、N=10である。まず、1回目に処理データを配分する処理装置30を決定する。処理データ入力部21に処理データが入力されると、まず、負荷検出部24は番号1の処理装置30から処理負荷を調査する。以後、上述したアルゴリズムにしたがい、負荷検出部24が番号i(iは2から始まる)の処理装置30の処理負荷を調査する。判定部26がその処理装置30の処理負荷に対する相対順位と選択決断順位s(i)を比較する。その処理装置30の処理負荷に対する相対順位が選択決断順位s(i)と同一又はs(i)よりも上位である場合は、処理データ配分部22が番号iの処理装置に処理を配分し、一方、相対順位が選択決断順位s(i)よりも下位である場合はiを1増やして負荷検出部24が番号i+1の処理装置30の処理負荷を調査して、判定部26が選択決断順位s(i+1)と順位を比較する。
【0038】
2回目に処理データを配分する処理装置30を決定する際に、図5の例では、再び番号1の処理装置30から処理負荷を調査しはじめる。以下の手順は上述した1回目の場合と同様である。図5の例では、2回目以降の全ての場合において、処理データを配分する処理装置30を決定する際に、常に、番号1の処理装置30から処理負荷を調査しはじめる。
【0039】
常に、番号1の処理装置30から処理負荷を調査しはじめると、最初の約4分の1の処理装置は処理負荷を調査されるだけで処理データを配分されることがない。図5の例ではN=10だから、番号1、番号2、及び番号3の処理装置30は処理データが配分されることはない。したがって、図5の例では、処理を配分されることが全くない処理装置30が存在し、それらよりも大きな番号が付与されている処理装置30にのみ処理データが配分されることになり、全ての処理装置30において処理負荷が偏ってしまう。
【0040】
図6の例では、処理データを選択された処理装置30に配分した後に、毎回、番号1の処理装置30から開始していた処理装置30の負荷調査を、前回処理データを配分した処理装置30に続く次の処理装置30から開始する。例えば、図6に示したように1回目に番号4の処理装置30が選択された場合は、2回目に処理データを配分する処理装置30を決定する際は、1回目に選択された番号4の次の番号である番号5の処理装置30から処理負荷の調査を開始する。
【0041】
2回目以降に処理負荷の調査を開始する直前に、処理装置識別部23が、前回に選択された処理装置30の次の処理装置30から番号を1から順に付与して、負荷検出部24は、常に番号1の処理装置30から各処理装置30の処理負荷を調査する。
また、各処理装置30に付与されている番号は固定のままにしておき、前回に選択された処理装置30の番号をメモリ27に記憶しておいてもよい。そして、今回の処理負荷の調査する際は、メモリ27に記憶されている前回に選択された処理装置30の番号が参照されて、その番号+1の番号が付与されている処理装置30から処理負荷が調査されてもよい。以後は、図5を参照して説明したように相対順位と選択決断順位を比較して、処理データを配分する処理装置30を決定する。
【0042】
このように前回選択された処理装置30の次の処理装置30から処理負荷を調査しはじめると、図5の例では存在した、処理負荷を調査されるだけで処理データを配分されることがない処理装置30はなくなると期待される。その結果、図6を参照して説明した手順によって処理装置30を選択すれば、処理負荷を調査する対象を処理装置30全体にすることが可能になる。したがって、処理データを配分する回数が増えるにしたがい、全ての処理装置30において処理負荷が均一に近づくと期待することができる。
また、処理データを選択された処理装置30に配分した後に、前回処理データを配分した処理装置30とは無関係に、ランダムに処理装置30を選択し、選択されたこの処理装置30の処理負荷を調査してもよい。すなわち、処理負荷を調査する処理装置30はランダムに毎回選択してもよい。処理装置30の処理負荷をランダムに調査することは、図6に示した例と同様な効果を奏する。
【0043】
以上に述べたように、本実施形態の負荷配分装置20によれば、ほとんどの場合、選択決断順位が、最初の処理装置30の順位の期待値を超えた時点で処理負荷を配分する処理装置30を決定できる。例えば、図4では、最初の処理装置30の順位の期待値は2.5579であり、選択決断順位がこの値を超えるのは識別名称が番号8の処理装置30を選択した場合である。図4の例では処理装置30がN=10と少ないため効果が明確ではないが、Nが1000のオーダーになると、選択決断順位が、最初の処理装置30の順位の期待値を超えるのは識別名称が番号約500の処理装置30を選択した場合になることを上記に示したアルゴリズムによって示すことができる。
したがって、本実施形態の負荷配分装置20によれば、負荷を調べる処理装置数を約半分に減らすことができる。逆に、処理装置30に対する処理負荷調査の負担が同じ場合、約2倍の頻度で処理負荷を調べることができ、処理装置30の処理負荷をより正確に知ることができる。
【0044】
図7は、図2の負荷配分装置が2つある場合のシステム例を示す図である。図7を参照して、負荷配分装置が複数ある場合の特徴を説明する。
従来の、例えば全ての処理装置30の処理負荷を調査して処理データを配分する処理装置30を選択する方法では、負荷配分装置20が最初に全ての処理装置30の処理負荷を調査する。そして、負荷配分装置20が最も処理負荷が小さい処理装置30を選択して、処理データを配分する。次に、負荷配分装置20が2番目に処理負荷の小さい処理装置30を第2の負荷配分装置40に通知して、負荷配分装置40がその2番目に処理負荷の小さい処理装置30を選択して、処理データを配分する。
【0045】
本実施形態の負荷配分装置20の実行するアルゴリズムは、全ての処理負荷を調べる必要がなく、確率論的に処理装置30は選択されるので、上述したように、負荷配分装置20と負荷配分装置40との間で処理データの配分方法を調整する必要はない。ただし、調査を開始する処理装置30は負荷配分装置20と負荷配分装置40とで異なるように設定することが望ましい。このように設定しておけば、負荷配分装置20と負荷配分装置40が同一の処理装置30を選択して1つの処理装置30にのみ処理負荷が莫大にかかってしまうということはほとんど発生しないと期待することができる。
【0046】
したがって、本実施形態の負荷配分装置20では、複数の負荷配分装置があったとしても、それらの負荷配分装置間は互いの負荷配分装置とはほとんど無関係に各処理装置30の処理負荷を計測し、効率的に処理データを配分することができる。図7のように負荷配分装置が複数存在していても、負荷配分装置間でほぼ完全に独立して処理を配分することができる。
【0047】
負荷配分装置のこの特徴により、負荷配分装置自体の処理能力が不足した場合でも、単純に負荷配分装置を増設するだけで、負荷配分装置の数にほぼ比例した負荷配分の能力を発揮させることが可能になる。
【0048】
また、負荷配分装置が複数ある場合でも、負荷配分装置間で独立して処理負荷の調査と処理データを配分する処理装置30の決定を行うことができるため、負荷配分装置間での調整に負担をかける必要がなくなる。
【0049】
また、上述の実施形態の中で示した手順に示された指示、及び流れ図の各ステップに示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の負荷配分装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVDなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の負荷配分装置と同様な動作を実現することができる。
【0050】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0051】
【発明の効果】
本発明の負荷配分装置、負荷配分方法、及び負荷配分プログラムによれば、処理装置に余計な処理をさせることなく、実態に即した処理負荷の低い処理装置を選択してこの処理装置に処理データを配分することができる。
【図面の簡単な説明】
【図1】 本発明の実施形態に係る負荷配分装置を含むシステム例を示す図。
【図2】 図1の負荷配分装置のブロック図。
【図3】 図1の選択決断順位算出部で利用される数式及びテーブルを示す図。
【図4】 図1の処理装置の数が10である場合の計算例を示す図。
【図5】 図4の場合の処理装置を決定する様子を示す図。
【図6】 図4の場合の処理装置を決定する、図5とは別の例の様子を示す図。
【図7】 図2の負荷配分装置が2つある場合のシステム例を示す図。
【符号の説明】
10・・・負荷発生装置、20・・・負荷配分装置、21・・・処理データ入力部、22・・・処理データ配分部、23・・・処理装置識別部、24・・・負荷検出部、25・・・選択決断順位算出部、26・・・判定部、27・・・メモリ、30・・・処理装置、40・・・負荷配分装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a load distribution device, a load distribution method, and a load distribution program for distributing processing data received from a load generating device that generates processing data to a plurality of processing devices.
[0002]
[Prior art]
Conventionally, the following three types of load distribution devices for allocating processing data received from a load generating device that generates processing data to a plurality of processing devices are typical.
[0003]
1. A load distribution device that distributes processing data to each processing device in order, assuming that the processing amount required to process the processing data received from the load generation device is constant (see, for example, Non-Patent Document 1).
[0004]
2. In order to execute the above 1 on processing devices having different performances, a load distribution device (for example, non-patent literature) that assigns a certain weight to each processing device and distributes processing data to each processing device in order according to the weight ratio. 2).
[0005]
3. A load distribution device that acquires load data indicating the processing load of each processing device from each processing device, quantifies the processing load, and distributes the processing data to a processing device with a low processing load (see, for example, Non-Patent Document 3).
[0006]
[Non-Patent Document 1]
F5 Networks, "BIG-IP (TM) Controller Reference Guide", version 3.3, F5 Networks, p. 1-46
[0007]
[Non-Patent Document 2]
F5 Networks, "BIG-IP (TM) Controller Reference Guide", version 3.3, F5 Networks, p. 1-47
[0008]
[Non-Patent Document 3]
F5 Networks, "BIG-IP (R) Controller Reference Guide", version 3.3, F5 Networks, pp. 1-47, 1-48
[0009]
[Problems to be solved by the invention]
As described in 1 or 2 above, in the load distribution device that distributes processing data to each processing device in order, the performance of each processing device is the same, the contents of each processing data to be distributed are equal, and each If the processing time is constant, the processing load of each processing device is the same. However, in most cases, the contents of the processing data are slightly different between the processing data, and if the processing data is distributed in order, the load on the processing device becomes uneven.
Further, once the processing of the processing data distributed by the processing device selected by the load distribution device is delayed, subsequent processing data is sequentially distributed before the processing of the processing data is completed. As a result, the processing apparatus falls into a vicious circle in which processing is increasingly delayed.
[0010]
As described in 3 above, in a load distribution device that distributes processing data to a processing device with a low processing load, the processing device can avoid delaying processing. However, the operation of the load distribution device acquiring load data from the processing device places a certain burden on the processing device, and the amount of processing data that can be processed by the entire processing device per unit time is reduced. That is, the performance of the entire processing apparatus is degraded.
[0011]
In addition, as the number of processing devices increases, when processing data is to be distributed to those processing devices, the load distribution device distributes the processing data unless load data of all the processing devices is acquired. The processing device cannot be determined. Since load data needs to be acquired from a large number of processing devices, the load data acquisition interval acquired by the load distribution device becomes long. When the load data acquisition interval becomes long, there is a high possibility that the collected load data will not reflect the actual processing load of each processing device at the time when the load distribution device distributes the processing data. When the load distribution device uses these load data, there is a high possibility that the distribution of the processing data to each processing procedure is not uniform.
In other words, since it is not possible to know the loads of all the processing devices at the same time, the processing load of each processing device having a different acquisition time depending on the processing device is assumed to be the processing load at a virtual time, and the processing data is distributed. It must be a selection criterion for the device and often does not match the actual situation. As a result, there is a high possibility that the distribution of processing data to each processing procedure is not uniform.
[0012]
In view of the above-described conventional technology, the present invention selects a processing device having a low processing load in accordance with the actual situation and distributes processing data to the processing device without causing the processing device to perform extra processing. An object is to provide a device, a load distribution method, and a load distribution program.
[0013]
The load distribution device according to the present invention includes: an input unit that inputs processing data; an identification unit that identifies a plurality of processing devices capable of distributing the processing data; and the processing data based on the number of the processing devices. The Instruct to process Calculation means for calculating a plurality of numerical values, detection means for executing a detection process for detecting a processing load of a certain processing apparatus among the processing apparatuses, and storage means for accumulating the processing load detected by the detection process And the processing device corresponding to the processing load accumulated in the past in the past based on one of the plurality of numerical values corresponding to the certain processing device and the plurality of accumulated processing loads is the processing data. The Instruct to process A determination unit that executes a determination process for determining whether or not the processing device corresponding to the processing load accumulated in the past is the processing device to which the processing data is to be allocated. A distribution means for distributing the processing data to an apparatus; And the determination means includes When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is not a processing device to which the processing data should be allocated, the detection processing and the determination processing are executed with respect to another processing device. In addition, each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with the order given in ascending order of the processing load value among the plurality of detected processing loads. Characterize .
[0014]
The load distribution method of the present invention inputs processing data, identifies a plurality of processing devices capable of distributing the processing data, and determines the processing data based on the number of the processing devices. Instruct to process Calculating a plurality of numerical values, executing a detection process for detecting a processing load of a certain processing device among the processing devices, storing a processing load detected by the detection processing, and corresponding to the certain processing device, Based on one of a plurality of numerical values and the plurality of accumulated processing loads, a processing device corresponding to the processing load accumulated in the past in the past stores the processing data. Instruct to process When it is determined that the processing device corresponding to the closest processing load accumulated in the past is a processing device to which the processing data is to be distributed, the processing device Distribute processing data Comprising And Executing the determination process includes When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is not a processing device to which the processing data should be allocated, the detection processing and the determination processing are executed with respect to another processing device. In addition, each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with the order given in ascending order of the processing load value among the plurality of detected processing loads. Characterize .
[0015]
The load distribution program of the present invention is based on the number of the processing devices, input means for inputting processing data, identification means for identifying a plurality of processing devices capable of distributing the processing data, and The processing data Instruct to process Calculation means for calculating a plurality of numerical values, detection means for executing a detection process for detecting a processing load of a certain processing apparatus among the processing apparatuses, and storage means for accumulating the processing load detected by the detection process And the processing device corresponding to the processing load accumulated in the past in the past based on one of the plurality of numerical values corresponding to the certain processing device and the plurality of accumulated processing loads is the processing data. The Instruct to process A determination unit that executes a determination process for determining whether or not the processing device corresponding to the processing load accumulated in the past is the processing device to which the processing data is to be allocated. A distribution means for distributing the processing data to an apparatus; And the determination means includes: When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is not a processing device to which the processing data should be allocated, the detection processing and the determination processing are executed with respect to another processing device. In addition, each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with the order given in ascending order of the processing load value among the plurality of detected processing loads. Characterize .
[0016]
According to the above, since the processing devices that detect the processing load are limited, it is possible to prevent most processing devices from performing extra processing. Also, when processing data is allocated to a processing device, it is allocated immediately after the processing load of this processing device is detected. Therefore, a processing device with a low processing load in accordance with the actual situation is selected and processing data is allocated to this processing device. It becomes possible to do.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a load distribution device, a load distribution method, and a load distribution program according to an embodiment of the present invention will be described with reference to the drawings.
[0018]
FIG. 1 is a diagram illustrating a system example including a
A system including the
[0019]
Each
The
The
[0020]
FIG. 2 is a block diagram of the load distribution apparatus of FIG.
The processing
The processing
[0021]
The
[0022]
The selection decision
Here, the relative rank among the first i processing devices of the
[0023]
The
[0024]
The
That is, when the
[0025]
FIG. 3 is a diagram illustrating mathematical formulas and tables used in the selection decision order calculation unit of FIG. The calculation procedure in which the selection decision
The
Furthermore, the
[0026]
This algorithm can be used in Chow, Moriguti, Robbins, and Samuels, “Optimal selection based on relative rank”, Israel J. of Math., VoL2 (1964), pp. 81-90, or Shigekazu Moriguchi, Nippon Critics Company, “Mathematics Seminar Special Issue on Mathematics 100”, published on September 25, 1984, pp. 39 is formulated as follows.
The selection determination
At this time, assuming that there is no
[0027]
The final expected rank c (N−1) is determined by the number N of processing devices input by the selection determination
[0028]
FIG. 4 is a diagram illustrating a calculation example when the number of the
Since the selection decision order of the first to
[0029]
Since the selection decision order of the fourth and
[0030]
Since the selection decision order of the sixth and
[0031]
Since the selection decision order of the
[0032]
Since the selection decision order of the
[0033]
If the
[0034]
As described above, the
In the example shown in FIG. 4, since the expected value of the rank of the
The processing load stored in the
[0035]
The
[0036]
In addition, the load data of the
[0037]
FIG. 5 is a diagram showing how the
FIG. 5 is a simple example using the algorithm described above as it is. In this case, the
[0038]
When determining the
[0039]
When the processing load is always started from the
[0040]
In the example of FIG. 6, after distributing the processing data to the selected
[0041]
Immediately before starting the investigation of the processing load after the second time, the processing
Alternatively, the number assigned to each
[0042]
As described above, when the processing load is started from the
Further, after allocating the processing data to the selected
[0043]
As described above, according to the
Therefore, according to the
[0044]
FIG. 7 is a diagram illustrating a system example when there are two load distribution apparatuses in FIG. 2. With reference to FIG. 7, characteristics when there are a plurality of load distribution apparatuses will be described.
In the conventional method of selecting, for example, the
[0045]
The algorithm executed by the
[0046]
Therefore, in the
[0047]
Due to this feature of the load distribution device, even if the load distribution device itself has insufficient processing capacity, it is possible to demonstrate load distribution capability almost proportional to the number of load distribution devices simply by adding additional load distribution devices. It becomes possible.
[0048]
In addition, even when there are a plurality of load distribution devices, it is possible to investigate the processing load and determine the
[0049]
In addition, the instructions shown in the procedure shown in the above-described embodiment and the instructions shown in the steps of the flowchart can be executed based on a program that is software. The general-purpose computer system stores this program in advance and reads this program, so that the same effect as that obtained by the load distribution device of the above-described embodiment can be obtained. The instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD, etc.), semiconductors, and the like. It is recorded on a memory or a similar recording medium. If the computer reads the program from the recording medium and causes the CPU to execute an instruction described in the program based on the program, the same operation as that of the load distribution device of the above-described embodiment can be realized.
[0050]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
[0051]
【The invention's effect】
According to the load distribution device, load distribution method, and load distribution program of the present invention, a processing device having a low processing load in accordance with the actual situation is selected and processing data is processed in this processing device without causing the processing device to perform extra processing. Can be allocated.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a system including a load distribution device according to an embodiment of the present invention.
FIG. 2 is a block diagram of the load distribution device in FIG. 1;
FIG. 3 is a diagram illustrating mathematical formulas and tables used in the selection decision order calculation unit of FIG. 1;
4 is a diagram showing a calculation example when the number of processing apparatuses in FIG. 1 is 10. FIG.
FIG. 5 is a diagram showing how a processing device in the case of FIG. 4 is determined.
6 is a diagram showing a state of an example different from FIG. 5 for determining a processing apparatus in the case of FIG. 4;
7 is a diagram showing a system example when there are two load distribution apparatuses in FIG.
[Explanation of symbols]
DESCRIPTION OF
Claims (9)
前記処理データを配分することが可能な複数の処理装置を識別する識別手段と、
前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出する算出手段と、
前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行する検出手段と、
前記検出処理によって検出された処理負荷を蓄積してゆく蓄積手段と、
前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行する判定手段と、
最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分する配分手段と、を具備し、
前記判定手段は、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、
前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする負荷分配装置。An input means for inputting processing data;
Identifying means for identifying a plurality of processing devices capable of distributing the processing data;
Calculating means for calculating a plurality of numerical values for instructing to process the processing data based on the number of the processing devices;
Detection means for executing a detection process for detecting a processing load of a certain processing device among the processing devices;
Storage means for storing the processing load detected by the detection processing;
Corresponding to the certain processing unit, wherein one of a plurality of numerical values, based on said accumulated in the plurality are the processing load, the closest past corresponding to accumulated processing load processing device processes the processing data Determination means for executing a determination process for determining whether or not to instruct to do;
If the processing device corresponding to the nearest accumulated in the past processing load is determined to be a processing device should allocate the processing data, comprising: a distribution unit for distributing the process data to the processing unit, the ,
When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is not a processing device to which the processing data should be allocated , the determination unit performs the detection processing and the determination processing with respect to another certain processing device. the execution,
Each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with a ranking given in ascending order of the processing load value among the plurality of detected processing loads. Load distribution device.
前記処理データを配分することが可能な複数の処理装置を識別し、
前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出し、
前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行し、
前記検出処理によって検出された処理負荷を蓄積し、
前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行し、
最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分することを具備し、
前記判定処理を実行することは、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、
前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする負荷配分方法。Enter processing data,
Identifying a plurality of processing devices capable of allocating the processing data;
Based on the number of the processing devices, calculate a plurality of numerical values for instructing to process the processing data,
Performing a detection process for detecting a processing load of a certain processing device among the processing devices;
Accumulating the processing load detected by the detection process,
Corresponding to the certain processing unit, wherein one of a plurality of numerical values, based on said accumulated in the plurality are the processing load, the closest past corresponding to accumulated processing load processing device processes the processing data Execute a determination process for determining whether or not to instruct
If the processing device corresponding to the nearest accumulated in the past processing load is determined to be a processing device should allocate the processing data, comprising to allocate the processing data to the processing unit,
The execution of the determination processing is performed when the processing device corresponding to the processing load accumulated in the nearest past is determined not to be a processing device to which the processing data should be allocated, with respect to another processing device. And executing the determination process ,
Each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with a ranking given in ascending order of the processing load value among the plurality of detected processing loads. Load distribution method to do.
処理データを入力する入力手段と、
前記処理データを配分することが可能な複数の処理装置を識別する識別手段と、
前記処理装置の数に基づいて、前記処理データを処理するように指示する複数の数値を算出する算出手段と、
前記処理装置のうちのある処理装置の処理負荷を検出する検出処理を実行する検出手段と、
前記検出処理によって検出された処理負荷を蓄積してゆく蓄積手段と、
前記ある処理装置に対応する、前記複数の数値のうちの1つと、前記蓄積されている複数の処理負荷に基づいて、最も近い過去に蓄積した処理負荷に対応する処理装置が前記処理データを処理するように指示するか否かを判定する判定処理を実行する判定手段と、
最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置であると判定された場合に、該処理装置に前記処理データを配分する配分手段と、として機能させるためのものであり、
前記判定手段は、最も近い過去に蓄積した処理負荷に対応する前記処理装置が前記処理データを配分すべき処理装置でないと判定された場合に、他のある処理装置に関して前記検出処理及び前記判定処理を実行し、
前記複数の数値の各数値は、処理負荷を検出する順番に対応していて、検出された複数の処理負荷のうちで処理負荷の値が小さい順に付与される順位と比較されることを特徴とする負荷配分プログラム。Computer
An input means for inputting processing data;
Identifying means for identifying a plurality of processing devices capable of distributing the processing data;
Calculating means for calculating a plurality of numerical values for instructing to process the processing data based on the number of the processing devices;
Detection means for executing a detection process for detecting a processing load of a certain processing device among the processing devices;
Storage means for storing the processing load detected by the detection processing;
Corresponding to the certain processing unit, wherein one of a plurality of numerical values, based on said accumulated in the plurality are the processing load, the closest past corresponding to accumulated processing load processing device processes the processing data Determination means for executing a determination process for determining whether or not to instruct to do;
When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is a processing device to which the processing data is to be distributed, the processing device is caused to function as a distribution unit that distributes the processing data . Is for
When it is determined that the processing device corresponding to the processing load accumulated in the past in the past is not a processing device to which the processing data should be allocated , the determination unit performs the detection processing and the determination processing with respect to another certain processing device. the execution,
Each numerical value of the plurality of numerical values corresponds to the order in which the processing load is detected, and is compared with a ranking given in ascending order of the processing load value among the plurality of detected processing loads. load distribution program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003150823A JP4014095B2 (en) | 2003-05-28 | 2003-05-28 | Load distribution device, load distribution method, and load distribution program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003150823A JP4014095B2 (en) | 2003-05-28 | 2003-05-28 | Load distribution device, load distribution method, and load distribution program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004355227A JP2004355227A (en) | 2004-12-16 |
JP4014095B2 true JP4014095B2 (en) | 2007-11-28 |
Family
ID=34046525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003150823A Expired - Fee Related JP4014095B2 (en) | 2003-05-28 | 2003-05-28 | Load distribution device, load distribution method, and load distribution program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4014095B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10749852B2 (en) * | 2018-05-10 | 2020-08-18 | Rovi Guides, Inc. | Systems and methods for connecting private devices to public devices according to connection parameters |
US10757109B2 (en) | 2018-05-10 | 2020-08-25 | Rovi Guides, Inc. | Systems and methods for connecting a public device to a private device with pre-installed content management applications |
-
2003
- 2003-05-28 JP JP2003150823A patent/JP4014095B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004355227A (en) | 2004-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5845809B2 (en) | Efficient parallelization of software analysis in distributed computing environment by intelligent and dynamic load balancing | |
JP5418610B2 (en) | Failure cause extraction apparatus, failure cause extraction method, and program storage medium | |
US20100046375A1 (en) | Congestion Control Using Application Slowdown | |
US7890620B2 (en) | Monitoring system and monitoring method | |
JP5742125B2 (en) | Program, information generation apparatus, and information generation method | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
US9355008B2 (en) | Performance analyzer for self-tuning system controller | |
US20080162081A1 (en) | Data analysis apparatus and method | |
JP2012099109A (en) | Dynamic and intelligent partial computation management for efficient parallelization of software analysis in distributed computing environment | |
JP6200076B2 (en) | Method and system for evaluating measurements obtained from a system | |
JP2003178040A (en) | Web site constitution determination supporting method | |
JP5845810B2 (en) | Efficient partial computation for parallel analysis of software in distributed computing environments | |
JP2010086160A (en) | Fault analysis system, fault analysis method, and program for fault analysis | |
US20220276129A1 (en) | Priority-based dynamic resource allocation for product testing | |
JP4014095B2 (en) | Load distribution device, load distribution method, and load distribution program | |
JP6060969B2 (en) | Event correlation detection system | |
US20200333170A1 (en) | Missing value imputation device, missing value imputation method, and missing value imputation program | |
JP2000132535A (en) | Estimation method for optimum combination of parameters, recording medium recording program of the estimation method and device | |
WO2021082939A1 (en) | Virtual machine tuning method and apparatus | |
JP4952309B2 (en) | Load analysis system, method, and program | |
JP2008234407A (en) | Automatic load testing device and automatic load testing method | |
Hekmati et al. | Nested performance profiles for benchmarking software | |
JP2004302547A (en) | Response monitoring method and device for server system | |
KR20170108315A (en) | Method and apparatus for monitoring fault of system | |
KR101907455B1 (en) | Server resource allocating method of real-time processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070613 |
|
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: 20070904 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20070906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070906 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130921 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |