JP2008097111A - リソース分配方法、プログラム、及びリソース分配装置 - Google Patents

リソース分配方法、プログラム、及びリソース分配装置 Download PDF

Info

Publication number
JP2008097111A
JP2008097111A JP2006275232A JP2006275232A JP2008097111A JP 2008097111 A JP2008097111 A JP 2008097111A JP 2006275232 A JP2006275232 A JP 2006275232A JP 2006275232 A JP2006275232 A JP 2006275232A JP 2008097111 A JP2008097111 A JP 2008097111A
Authority
JP
Japan
Prior art keywords
rule
decomposition
event
server
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006275232A
Other languages
English (en)
Other versions
JP4662068B2 (ja
Inventor
Tadashi Sato
正 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006275232A priority Critical patent/JP4662068B2/ja
Publication of JP2008097111A publication Critical patent/JP2008097111A/ja
Application granted granted Critical
Publication of JP4662068B2 publication Critical patent/JP4662068B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】プログラムにより実行される処理、例えば、ルール処理を実現するリソースを効率的に利用し、リソースが特定の機能に偏ることを防ぐことを課題とする。
【解決手段】リソース全体として実現すべき統合プログラムを指定するステップと、前記統合プログラムを分解した二以上の分解プログラムを算出するステップと、前記分解プログラムを実行する各種のプログラム処理体を単位として、前記各種のプログラム処理体にかかる負荷を算出するステップと、前記各種のプログラム処理体にかかる負荷の比率に基づいて、それぞれの種類のプログラム処理体に、前記リソースを割り当てるステップとを有するリソース分配方法によって解決する。
【選択図】図9

Description

本発明は、リソース分配方法、プログラム、及びリソース分配装置に関する。
図1に、従来のサーバの負荷分散システムを示す。図1において、クライアント103〜105は、サーバ101,102に対して、処理を要求するリクエストメッセージを送信する。振り分け器100は、リクエストメッセージを受信して、受信したリクエストメッセージをいずれかのサーバ101,102に振り分ける。リクエストメッセージを、複数のサーバ101,102に振り分けることで、サーバ101,102における処理の分散化を実現している。サーバを追加することにより、クライアントから送信されるリクエストメッセージ数の増加にも対応できる。しかし、サーバの数を増加しても、振り分け器100がボトルネックとなる可能性がある。
未公開の先願(特願2005−314537号(特許文献1参照))では、アプリケーションから指定されるルールを基に、処理サーバとコンテキスト依存振り分け器にルールが設定される。CPUやメモリを含むリソースが限られている場合、処理サーバに多くのリソースを割り当てると、コンテキスト依存振り分け器がボトルネックとなり、システム全体としての性能が低下する可能性がある。その逆に、コンテキスト依存振り分け器に多くのリソースを割り当てると、処理サーバがボトルネックとなり、システム全体としての性能が低下する可能性がある。
特願2005−314537号
本発明は、プログラムにより実行される処理、例えば、ルール処理を実現するリソースを効率的に利用し、リソースが特定の機能に偏ることを防ぐことを課題とする。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明によるリソース分配方法おいては、指定するステップは、リソース全体として実現すべき統合プログラムを指定する。分解プログラムを算出するステップは、前記統合プログラムを分解した二以上の分解プログラムを算出する。負荷を算出するステップは、前記分解プログラムを実行する各種のプログラム処理体を単位として、前記各種のプログラム処理体にかかる負荷を算出する。割り当てるステップは、前記各種のプログラム処理体にかかる負荷の比率に基づいて、それぞれの種類のプログラム処理体に、前記リソースを割り当てる。
本発明によるリソース分配方法おいては、指定するステップは、リソース全体として実現すべき統合ルールを指定する。分解ルールを算出するステップは、前記統合ルールを分解した二以上の分解ルールを算出する。負荷を算出するステップは、前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出する。割り当てるステップは、前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に、前記リソースを割り当てる。
ある統合ルールを処理するための分解した機能の接続パターンとしては、各種のパターンが考えられるが、図2の直列接続、図3の分岐接続、図4の集約接続に分類できる。図2〜図4においては、矢印にそって各機能60〜69が実行されることになるが、矢印がある場合に、必ず、各機能60〜69を実行してもよいし、途中の機能60〜69で処理を終了してもよい。例えば、図2の直列接続では、まず、[機能1]60の処理が行われ、次に、[機能2]61の処理が行われることになるが、例えば、図2の[機能1]60を実行した結果、[機能2]61を実行する必要がない場合には、[機能1]60の実行後、[機能2]61を実行せずに、処理を完了してもよい。また、図3の分岐接続では、まず、[機能1]62の処理が行われ、次に、[機能2]63、[機能3]64、…、[機能n]65のいずれかの処理が行われるのが基本である。しかしながら、図3の例においても、[機能1]62のみで処理を完了してもよいし、また、[機能1]62の処理後、[機能2]63、[機能3]64、…、[機能n]65における2つ以上の機能を実施してもよい。図5は、図2の直列接続、図3の分岐接続、及び、図4の集約接続を組み合わせて、統合ルールを処理するための機能を表現したものである。図5では、[機能1]71〜[機能5]75が、5種類の分解ルールを実行し、全体として、統合ルールを処理している。
また、本発明によるリソース分配方法においては、前記指定するステップは、イベント発生源から送信されるイベントの中から、一定の条件に合致したイベントを抽出する処理と、当該イベントを所定のアプリケーションに届ける処理とを含む統合ルールを指定する。
また、本発明によるリソース分配方法においては、前記イベントは、属性と、値とを有する。前記一定の条件は、前記イベントの属性と、値とを判別する。前記イベントを抽出する処理は、前記一定の条件によって課される属性と、イベントにおける属性とが一致し、かつ、前記一定の条件によって課される値と、イベントにおける値とが一致した場合に、当該イベントを抽出する。
また、本発明によるリソース分配方法においては、前記分解ルールを算出するステップは、直列的に実行される第一の分解ルールと、第二の分解ルールとが算出されるように、前記統合ルールを分解する。前記第一の分解ルールとして、前記イベントの中から、前記イベントの属性と、前記一定の条件によって課される属性とが一致するイベントを抽出するルールを算出する。前記第二の分解ルールとして、前記イベントの中から、前記イベントの値と、前記一定の条件によって課される値とが一致するイベントを抽出するルールを算出する。
また、本発明によるリソース分配方法においては、前記負荷を算出するステップは、前記ルール処理体が実行する分解ルールについて、受信するイベント数と、一イベント当たりの処理コストとの積を算出し、当該積に基づいて、前記各種のルール処理体にかかる負荷を算出する。
また、本発明によるリソース分配方法においては、前記割り当てるステップは、前記各種のルール処理体にかかる負荷の比率に基づいて、負荷の大きな種類のルール処理体には多くのリソースを割り当て、負荷の小さな種類のルール処理体には少ないリソースを割り当てることによって、リソースの負荷が均一化されるように、それぞれの種類のルール処理体に、前記リソースを割り当てる。
また、本発明によるリソース分配方法においては、前記リソースのそれぞれに、前記分解ルールを設定するステップを有すると共に、前記設定するステップは、二以上の種類のルール処理体を組み合わせて成り、前記統合ルールを実現する第一のグループと、同じく、二以上の種類のルール処理体を組み合わせて成り、前記統合ルールを実現する第二のグループとの、独立したグループが少なくとも二つ形成されるように、前記リソースのそれぞれに、前記分解ルールを設定する。
また、本発明によるプログラムにおいては、以下の手順をコンピュータに実行させる。指定する手順は、リソース全体として実現すべき統合ルールを指定する。分解ルールを算出する手順は、前記統合ルールを分解した二以上の分解ルールを算出する。負荷を算出する手順は、前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出する。割り当てる手順は、前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に前記リソースを割り当てる。
また、本発明によるリソース分配装置においては、ルール指定部(10)は、リソース全体として実現すべき統合ルールを指定する。ルール設定サーバ(11)は、前記統合ルールを分解した二以上の分解ルールを算出すると共に、前記リソースのそれぞれに、前記分解ルールを設定する。リソース分配サーバ(12)は、前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出すると共に、前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に、前記リソースを割り当てる。
本発明によれば、プログラムにより実行される処理、例えば、ルール処理を実現するリソースを効率的に利用し、リソースが特定の機能に偏ることを防ぐことができる。
図6に、本発明によるリソース分配方法を実施したシステムの一例を示す。図6において、ルール指定部10は、コンピュータ上で動作する機能ブロックであり、例えば、ユーザによって入力されたデータに基づき、リソース21〜26が実現すべき統合ルールを指定する。ルール設定サーバ11は、指定された統合ルールに基づき、統合ルールを分解した複数の分解ルールを算出する。リソース分配サーバ12は、各分解ルールの処理コストを算出し、当該処理コストの関係に基づいて、リソース21〜26を分配し、どの分解ルールに、どのリソースを割り当てるかを決定する。ルール設定サーバ11は、リソース21〜26の分配結果に基づき、それぞれのリソース21〜26に分解ルールを設定する。各リソースに、それぞれの分解ルールを設定することによって、リソースは、全体として、メッセージ発生源15から発生するメッセージのルール処理を行い、統合ルールを処理する装置として動作する。
図7に、本発明によるリソース分配方法によって、リソース21〜26を分配した結果の一例を示す。図7において、ルール指定部10は、メッセージ発生源15から発生するメッセージに所定の処理を加える統合ルールを指定している。ルール設定サーバ11は、統合ルールを、二つの分解ルールに分解している。第一の分解ルールは、メッセージ発生源15から発生するメッセージをいずれかの処理サーバに振り分ける振り分け器が実行するものである。第二の分解ルールは、メッセージに所定の処理を加える処理サーバが実行するものである。リソース分配サーバ12は、第一の分解ルールの処理コストと、第二の分解ルールの処理コストとを算出して、その比率が1対2であることを求めている。そして、振り分け器に[リソース1]21と[リソース2]22とを割り当て、処理サーバに[リソース3]23と[リソース4]24と[リソース5]25と[リソース6]26とを割り当てている。このように、処理コストの比率に基づいて、リソース21〜26を1対2に分配し、1/3のリソースを振り分け器に、2/3のリソースを処理サーバに割り当てることによって、リソース21〜26の処理コストを均一化することができる。メッセージ発生源15から[リソース1]21に送信されるメッセージは、[リソース3]23又は[リソース4]24に振り分けられ、メッセージ発生源15から[リソース2]22に送信されるメッセージは、[リソース5]25又は[リソース6]26に振り分けられる。メッセージを受け取る[リソース3]23〜[リソース6]26が、メッセージに所定の処理を加えることによって、リソース21〜26は、全体として統合ルールを実現する。
図6及び7において、破線は矢印の方向へ進むルールの流れを表している。リソース分配サーバ12から出ている太い矢印は、リソース配置を行う制御メッセージの流れを表す。メッセージ発生源15から出ている矢印は、メッセージの流れを表す。ルール設定サーバ11、リソース分配サーバ12、メッセージ発生源15は、クラウド内部のいずれのリソース21〜26とも通信できる。
次に、別の例により、本発明の実施の形態について詳述する。例えば、各リソースが同等の処理能力を有する処理装置であるとする。また、統合ルールは、異なるサービスを提供するサーバAとサーバBの処理を直列的に行うことにより実現されるものとし、いくつでも指定できるとする。ある統合ルールは、サーバAが実行するサーバA分解ルールと、サーバBが実行するサーバB分解ルールとに分解することができる。統合ルールが複数指定される場合、一の統合ルールは、一のサーバA分解ルールと、一のサーバB分解ルールとに分解され、他の統合ルールは、他のサーバA分解ルールと、他のサーバB分解ルールとに分解される。このとき、サーバAは、一のサーバA分解ルールと、他のサーバA分解ルールとを実行し、サーバBは、一のサーバB分解ルールと、他のサーバB分解ルールとを実行する。異なる統合ルールから算出される二以上のサーバA分解ルールが同一の場合には、一のサーバA分解ルールにまとめることができる。同様に、異なる統合ルールから算出される二以上のサーバB分解ルールが同一の場合には、一のサーバB分解ルールにまとめることができる。
図8に、本実施の形態におけるシステム構成例を示し、図9に、図8のシステム構成におけるリソース分配方法の処理ステップを示す。図8及び図9において、[AP1]50と[AP2]51とは、要求するイベント条件として、[マシン1]41〜[マシン6]46が実現すべき統合ルールをルール設定サーバ31に指定している。ルール設定サーバ31は、受信した統合ルールに基づいて、サーバAが実現するサーバA分解ルールと、サーバBが実現するサーバB分解ルールとを算出している。算出したサーバA分解ルールと、サーバB分解ルールとは、リソース分配サーバ32に通知される。リソース分配サーバ32は、サーバA分解ルールを実行するサーバAの処理コストと、サーバB分解ルールを実行するサーバBの処理コストとを算出し、サーバAに割り当てるマシンと、サーバBに割り当てるマシンとを決定する。この決定に従い、リソース分配サーバ32は、サーバAに[マシン1]41と[マシン2]42とを割り当て、サーバBに[マシン3]43〜[マシン6]46を割り当てている。ここで、リソース分配サーバ32は、必要に応じて、[マシン1]41〜[マシン6]46に、サーバAのプログラム又はサーバBのプログラムをインストールする。リソースの割り当て結果は、リソース分配サーバ32からルール設定サーバ31へ通知される。ルール設定サーバ31は、マシンごとに適用する分解ルールを算出し、各マシン41〜46にルール設定を行う。これにより、イベント発生源35〜37から発生するイベントは、統合ルールを実現するサーバAとサーバBとを直列的に経由して処理され、[AP1]50又は[AP2]51に届けられる。
具体例に則して、図8のシステム構成及び図9の処理ステップについて詳述する。図10に、[AP1]50と[AP2]51とが指定する統合ルールの一例を示す。理解を容易にするため、図10では、条件と通知先のみからなる単純な構成の統合ルールを例示している。図10において、[AP1]50は、四つの統合ルールを指定している。最初の統合ルールは、”温度が10℃であれば、AP1に通知する。”というものである。[マシン1]41〜[マシン6]46は、全体として、温度が10℃であるというイベントが発生したら、そのイベントを[AP1]50に通知するように動作すべきことになる。[AP1]50が指定する二つ目の統合ルールは、”温度が20℃であれば、AP1に通知する。”というものであり、三つ目の統合ルールは、”温度が30℃であれば、AP1に通知する。”というものであり、四つ目の統合ルールは、”湿度が50%であれば、AP1に通知する。”というものである。結局、AP1に通知するイベントは、温度が、10℃、20℃、又は30℃のもの、若しくは湿度が50%のものとなる。図10において、[AP2]51も、[AP1]50と同数の四つの統合ルールを指定している。最初の統合ルールは、”温度が15℃であれば、AP2に通知する。”というものであり、二つ目の統合ルールは、”湿度が70%であれば、AP2に通知する。”というものであり、三つ目の統合ルールは、”湿度が80%であれば、AP2に通知する。”というものであり、四つ目の統合ルールは、”湿度が90%であれば、AP2に通知する。”というものである。結局、AP2に通知するイベントは、温度が、15℃のもの、若しくは湿度が、70%、80%、又は90%のものとなる。
図11に、ルール設定サーバ31が、図10の統合ルールを基に算出するサーバA分解ルール、サーバB分解ルールの例を示す。イベント発生源35〜37から発生するイベントは、属性と値とを有している。図11の例では、ルール設定サーバ31には、サーバA分解ルールとして、イベントの属性を参照して、イベントを振り分けるルールを算出すべきこと、かつ、サーバB分解ルールとして、イベントの値を参照して、イベントを振り分けるルールを算出すべきことがプログラミングされている。まず、サーバA分解ルールを算出する。図10に示されるように、[AP1]50及び[AP2]51が指定した統合ルールは、全て、条件において、イベントの属性を参照し、その属性が、”温度”又は”湿度”のものを抽出している。従って、サーバA分解ルールは、図11に示すように、includes”温度”という条件を含む分解ルールと、includes”湿度”という条件を含む分解ルールとなる。ただし、通知すべきサーバBが未だ決まっていないため、通知先を”notify to ?”としている。このサーバA分解ルールによって、例えば、”温度”=25℃というイベントは抽出されるが、”風向き”=東というイベントは破棄され、” 湿度”=30%というイベントは抽出されるが、”降水量”=10mmというイベントは破棄されることになる。次に、サーバB分解ルールを算出する。図10に示されるように、[AP1]50及び[AP2]51が指定した統合ルールは、条件の属性が”温度”の場合には、条件の値が、10℃、15℃、20℃、又は30℃のものを抽出し、条件の属性が”湿度”の場合には、条件の値が、50%、70%、80%、又は90%のものを抽出している。従って、サーバBルールは、図11に示すように、”温度”=10℃という条件を含む分解ルール、”温度”=20℃という条件を含む分解ルール、”温度”=30℃という条件を含む分解ルール、”湿度”=50%という条件を含む分解ルール、”温度”=15℃という条件を含む分解ルール、”湿度”=70%という条件を含む分解ルール、”湿度”=80%という条件を含む分解ルール、”湿度”=90%という条件を含む分解ルールとなる。なお、サーバB分解ルールでは、与えられた統合ルールから通知すべきアプリケーション(AP1又はAP2)が決まってしまうため、通知先を、”notify to AP1”又は”notify to AP2”としている。このサーバB分解ルールによって、例えば、”温度”=30℃というイベントは抽出されるが、”温度”=40℃というイベントは破棄され、”湿度”=50%というイベントは抽出されるが、”湿度”=60%というイベントは破棄されることになる。
図12に、リソース分配サーバ32が行う処理コスト算出方法の一例を示す。当例では、リソースが処理を実行するマシン41〜46となっているため、各マシン41〜46が等しい処理コストを負担することになるように、リソースを分配することが望ましい。図11に示されるように、ルール設定サーバ31によって、統合ルールから分解ルールを算出することができた。リソース分配サーバ32では、まず、この分解ルールに基づいて、サーバA及びサーバBの処理コストを算出する。一般に、処理コストは、受信イベント数と、1イベント当たりの処理コストとの積として算出できる。図12の例では、理解を容易にするため、どの分解ルールも、全て、1イベント当たりの処理コストが”1”であるとしている。また、イベント発生源から送信されるイベント数については、イベントの属性が、”温度”であるもの、 ”湿度”であるもの、 ”風向き”であるもの、”降水量”であるものの比率は、1:1:1:1であるとし、その他の属性のイベントは無いものとする。まず、サーバAの処理コストを計算する。サーバAが受信するイベントは、includes”温度”という条件を含む分解ルールと、includes”湿度”という条件を含む分解ルールとの二つの分解ルールによる処理を経る。各分解ルールの1イベント当たりの処理コストは”1”と定めてあるので、サーバAの1イベント当たりの処理コストは”2”となる。また、サーバAは、イベント発生源から発生するイベントの100%を受信するので、サーバAの処理コストは”2”と求めることができる。次に、サーバBの処理コストを計算する。サーバBが受信するイベントは、”温度”条件を含む四つの分解ルールと、”湿度”条件を含む四つの分解ルールとの合計八つの分解ルールによる処理を経る。各分解ルールの1イベント当たりの処理コストは”1”と定めてあるので、サーバBの1イベント当たりの処理コストは”8”となる。また、イベント数に関しては、イベント発生源から発生するイベントの中で、条件の属性が”風向き”であるもの、”降水量”であるものは、サーバAにおいて破棄されてしまう。従って、サーバBは、イベント発生源から発生するイベントの50%を受信する。よって、サーバBの処理コストは8×1/2=”4”と求めることができる。最後に、サーバAの処理コストとサーバBの処理コストとの比率を求める。この比率は、2:4=1:2である。この場合、リソース分配比率を、サーバA:サーバB=1:2とすることができる。
図13に、ルール設定サーバ31が算出する、各マシン41〜46に設定するルールの例を示す。図13は、サーバAのイベント通知先となるサーバBを制限した例である。図13において、[マシン1]41と、[マシン2]42とは、サーバAに割り当てられている。通知先を制限する図13の例では、ルール設定サーバ31には、サーバAの通知先となるサーバBが、必ず、いずれか一つのサーバAからイベントの通知を受けるように、サーバA分解ルールを算出すべきこと、並びに、サーバAの通知先となるサーバBの数が、サーバA間で同数になるように、サーバA分解ルールを算出すべきこと、がプログラミングされているとする。このプログラムによって、ルール設定サーバ31は、[マシン1]41に設定するサーバA分解ルールの通知先を、”notify to マシン3 or マシン4”とし、[マシン2]42に設定するサーバA分解ルールの通知先を、”notify to マシン5 or マシン6”として、各分解ルールを算出している。これにより、[マシン1]41、[マシン3]43、及び[マシン4]44からなる第一のグループと、[マシン2]42、[マシン5]45、及び[マシン6]46からなる第二のグループとの、独立した二つのグループが形成されることになる。なお、[マシン3]43〜[マシン6]46に設定する分解ルールの通知先は、図11に示したように、統合ルールより、[AP1]50又は[AP2]51に定まっていた。ルール設定サーバ31は、各[マシン1]41〜[マシン6]46に、算出した分解ルールを設定する。以上、図13の例では、サーバAの処理結果を通知するサーバBを制限したが、サーバAの処理結果をどのサーバBに通知するかに関しては特に制限しなくてもよい。[マシン1]41と[マシン2]42は、処理結果を[マシン3]43から[マシン6]46までのいずれのマシンへも通知できることとし、サーバAは、ラウンドロビン方式で、イベント通知先のサーバBを選択するようにしてもよい。
図14に、リソース分配後のシステム構成例を示す。図14に示すように、サーバAとして動作する[マシン1]41及び[マシン2]42と、サーバBとして動作する[マシン3]43〜[マシン6]46とは、階層構造に配置されている。イベント発生源35,37〜39から送信されるイベントは、まず、サーバAとして動作する[マシン1]41又は[マシン2]42によって処理され、次に、サーバBとして動作する[マシン3]43〜[マシン6]46によって処理され、最終的に、[AP1]50又は[AP2]51に届けられる。図14において、[マシン1]41〜[マシン6]46が実現するルール処理は、[マシン1]41、[マシン3]43、[マシン4]44による第一のグループと、[マシン2]42、[マシン5]45、[マシン6]46による第二のグループとに分割されている。これに伴い、イベント発生源35,37〜39も分割され、第一のグループへイベントを送信するイベント発生源35,38と、第二のグループへイベントを送信するイベント発生源37,39とに分割されている。イベントは、どちらのグループによるルール処理を経ても、正しい[AP1]50又は[AP2]51に届けられる。
図15に、各マシン41〜46に分解ルールを設定した後に、イベント発生源35からイベントが発生した場合の処理の流れを示す。例えば、図15のイベントは、イベント発生源35から発生し、属性が”湿度”、値が80%であるとする。当該イベントは、[マシン1]41が受信する。[マシン1]41においては、サーバA分解ルールが実行され、イベントの属性である”湿度”が参照される。図13に示したように、属性が”湿度”であるイベントは、[マシン3]43又は[マシン4]44に通知されることになる。ここでは、ラウンドロビン方式で、イベントは、[マシン4]44に通知されることとする。[マシン4]44においては、サーバB分解ルールが実行され、イベントの値である80%が参照される。図13に示したように、値が80%であるイベントは、[AP2]51に通知されることになる。
以上、サーバAとサーバBとを直列的に処理することでルール処理を実現する例を挙げた。しかし、本発明は、上例に限られるものではなく、ルール処理を複数の機能に分解できる場合に、広く適用することができる。また、ルール設定サーバに指定する統合ルールは、随時、追加することができ、また、削除することができる。統合ルールの追加又は削除により、新たな分解ルールが算出され、リソースの再分配が行われる。
図1は、従来のサーバの負荷分散システムを示す図である。 図2は、直列接続の接続パターンを示す図である。 図3は、分岐接続の接続パターンを示す図である。 図4は、集約接続の接続パターンを示す図である。 図5は、図2〜図4の接続パターンを組み合わせた例を示す図である。 図6は、本発明によるリソース分配方法を実施したシステムの一例を示す図である。 図7は、本発明によるリソース分配方法によって、リソースを分配した結果の一例を示す図である。 図8は、本実施の形態におけるシステム構成例を示す図である。 図9は、図8のシステム構成におけるリソース分配方法の処理ステップを示す図である。 図10は、AP1とAP2とが指定するルールの一例を示す図である。 図11は、図10の統合ルールを基に算出するサーバAルール、サーバBルールの例を示す図である。 図12は、リソース分配サーバが行う処理コスト算出方法の一例を示す図である。 図13は、ルール設定サーバが算出する、各マシンに設定するルールの例を示す図である。 図14は、リソース分配後のシステム構成例を示す図である。 図15は、イベント発生源からイベントが発生した場合の処理の流れを示す図である。
符号の説明
10 ルール指定部
11,31 ルール設定サーバ
12,32 リソース分配サーバ
15 メッセージ発生源
21〜26 リソース
35〜39 イベント発生源
41〜46 マシン
50,51 アプリケーション
60〜69,71〜75 機能
100 振り分け器
101,102 サーバ
103〜105 クライアント

Claims (10)

  1. リソース全体として実現すべき統合プログラムを指定するステップと、
    前記統合プログラムを分解した二以上の分解プログラムを算出するステップと、
    前記分解プログラムを実行する各種のプログラム処理体を単位として、前記各種のプログラム処理体にかかる負荷を算出するステップと、
    前記各種のプログラム処理体にかかる負荷の比率に基づいて、それぞれの種類のプログラム処理体に、前記リソースを割り当てるステップと
    を有するリソース分配方法。
  2. リソース全体として実現すべき統合ルールを指定するステップと、
    前記統合ルールを分解した二以上の分解ルールを算出するステップと、
    前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出するステップと、
    前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に、前記リソースを割り当てるステップと
    を有するリソース分配方法。
  3. 前記指定するステップは、
    イベント発生源から送信されるイベントの中から、一定の条件に合致したイベントを抽出する処理と、当該イベントを所定のアプリケーションに届ける処理とを含む統合ルールを指定する
    請求項2記載のリソース分配方法。
  4. 前記イベントは、属性と、値とを有し、
    前記一定の条件は、前記イベントの属性と、値とを判別し、
    前記イベントを抽出する処理は、前記一定の条件によって課される属性と、イベントにおける属性とが一致し、かつ、前記一定の条件によって課される値と、イベントにおける値とが一致した場合に、当該イベントを抽出する
    請求項3記載のリソース分配方法。
  5. 前記分解ルールを算出するステップは、
    直列的に実行される第一の分解ルールと、第二の分解ルールとが算出されるように、前記統合ルールを分解すると共に、
    前記第一の分解ルールとして、前記イベントの中から、前記イベントの属性と、前記一定の条件によって課される属性とが一致するイベントを抽出するルールを算出し、
    前記第二の分解ルールとして、前記イベントの中から、前記イベントの値と、前記一定の条件によって課される値とが一致するイベントを抽出するルールを算出する
    請求項4記載のリソース分配方法。
  6. 前記負荷を算出するステップは、
    前記ルール処理体が実行する分解ルールについて、受信するイベント数と、一イベント当たりの処理コストとの積を算出し、当該積に基づいて、前記各種のルール処理体にかかる負荷を算出する
    請求項2〜5いずれか1項に記載のリソース分配方法。
  7. 前記割り当てるステップは、
    前記各種のルール処理体にかかる負荷の比率に基づいて、負荷の大きな種類のルール処理体には多くのリソースを割り当て、負荷の小さな種類のルール処理体には少ないリソースを割り当てることによって、リソースの負荷が均一化されるように、それぞれの種類のルール処理体に、前記リソースを割り当てる
    請求項2〜6いずれか1項に記載のリソース分配方法。
  8. 前記リソースのそれぞれに、前記分解ルールを設定するステップを有すると共に、
    前記設定するステップは、
    二以上の種類のルール処理体を組み合わせて成り、前記統合ルールを実現する第一のグループと、同じく、二以上の種類のルール処理体を組み合わせて成り、前記統合ルールを実現する第二のグループとの、独立したグループが少なくとも二つ形成されるように、前記リソースのそれぞれに、前記分解ルールを設定する
    請求項2〜7いずれか1項に記載のリソース分配方法。
  9. リソース全体として実現すべき統合ルールを指定する手順と、
    前記統合ルールを分解した二以上の分解ルールを算出する手順と、
    前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出する手順と、
    前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に前記リソースを割り当てる手順と
    をコンピュータに実行させるためのプログラム。
  10. リソース全体として実現すべき統合ルールを指定するルール指定部と、
    前記統合ルールを分解した二以上の分解ルールを算出すると共に、前記リソースのそれぞれに、前記分解ルールを設定するルール設定サーバと、
    前記分解ルールを実行する各種のルール処理体を単位として、前記各種のルール処理体にかかる負荷を算出すると共に、前記各種のルール処理体にかかる負荷の比率に基づいて、それぞれの種類のルール処理体に、前記リソースを割り当てるリソース分配サーバと
    を有するリソース分配装置。
JP2006275232A 2006-10-06 2006-10-06 リソース分配方法、プログラム、及びリソース分配装置 Expired - Fee Related JP4662068B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006275232A JP4662068B2 (ja) 2006-10-06 2006-10-06 リソース分配方法、プログラム、及びリソース分配装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006275232A JP4662068B2 (ja) 2006-10-06 2006-10-06 リソース分配方法、プログラム、及びリソース分配装置

Publications (2)

Publication Number Publication Date
JP2008097111A true JP2008097111A (ja) 2008-04-24
JP4662068B2 JP4662068B2 (ja) 2011-03-30

Family

ID=39379929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006275232A Expired - Fee Related JP4662068B2 (ja) 2006-10-06 2006-10-06 リソース分配方法、プログラム、及びリソース分配装置

Country Status (1)

Country Link
JP (1) JP4662068B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011010711A1 (ja) * 2009-07-23 2011-01-27 日本電気株式会社 イベント処理システム、分散制御装置、イベント処理方法、分散制御方法、及びプログラム記憶媒体
WO2011070716A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084195A (ja) * 1999-09-10 2001-03-30 Hitachi Ltd イベント制御手段を備えたネットワーク管理システム
JP2003281007A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法
JP2005202894A (ja) * 2004-01-19 2005-07-28 Hitachi Ltd 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
JP2005275440A (ja) * 2004-03-22 2005-10-06 Hitachi Ltd データ分析方法及び情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084195A (ja) * 1999-09-10 2001-03-30 Hitachi Ltd イベント制御手段を備えたネットワーク管理システム
JP2003281007A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法
JP2005202894A (ja) * 2004-01-19 2005-07-28 Hitachi Ltd 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
JP2005275440A (ja) * 2004-03-22 2005-10-06 Hitachi Ltd データ分析方法及び情報処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011010711A1 (ja) * 2009-07-23 2011-01-27 日本電気株式会社 イベント処理システム、分散制御装置、イベント処理方法、分散制御方法、及びプログラム記憶媒体
CN102473143A (zh) * 2009-07-23 2012-05-23 日本电气株式会社 事件处理系统、分配控制器、事件处理方法、分配控制方法和程序存储介质
WO2011070716A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体
US8978048B2 (en) 2009-12-09 2015-03-10 Nec Corporation Information processing system, control method, and non-transitory computer readable medium storing program
JP5724880B2 (ja) * 2009-12-09 2015-05-27 日本電気株式会社 情報処理システム、制御方法およびプログラム

Also Published As

Publication number Publication date
JP4662068B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
US10942792B2 (en) Event driven subscription matching
JP5104489B2 (ja) 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
CN102859961B (zh) 具有自适应的文件处理的分布式视频转码系统
CN112231049A (zh) 基于kubernetes的计算设备共享方法、装置、设备及存储介质
CN112579622B (zh) 业务数据的处理方法、装置及设备
US20200293361A1 (en) Method and distributed database system for computer-aided execution of a program code
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
JP2017168074A (ja) データ伝送制御方法及び装置
CN107423134A (zh) 一种大规模计算集群的动态资源调度方法
US20100100703A1 (en) System For Parallel Computing
JP4662068B2 (ja) リソース分配方法、プログラム、及びリソース分配装置
Imdoukh et al. Optimizing scheduling decisions of container management tool using many‐objective genetic algorithm
CN111049900A (zh) 一种物联网流计算调度方法、装置和电子设备
CN111338778B (zh) 任务调度方法、装置、存储介质及计算机设备
JP7180424B2 (ja) 並列処理装置、データ転送先決定方法およびデータ転送先決定プログラム
US10171570B2 (en) Information processing apparatus
CN114020408A (zh) 一种任务分片配置方法及装置、设备、存储介质
CN107529696B (zh) 一种存储资源访问控制方法及装置
CN107491448A (zh) 一种HBase资源调整方法和装置
JP2006350474A (ja) リアルタイム処理システム、処理装置、リアルタイム処理方式、及びプログラム
CN110597786A (zh) 结构化数据治理方法及装置
US12021997B2 (en) Blockchain tokenization of aircraft and other complex machinery
Gowthami et al. Scheduling job queue on hadoop using hybrid Hadoop fair sojourn protocol
WO2024084582A1 (ja) 連成システム、連成方法および連成プログラム
JP2017073089A (ja) データ配布プログラム、データ配布方法、情報処理装置及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

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: 20101208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101221

R150 Certificate of patent or registration of utility model

Ref document number: 4662068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees