JP2013016041A - Distribution control device, distribution control method, and distribution control program - Google Patents
Distribution control device, distribution control method, and distribution control program Download PDFInfo
- Publication number
- JP2013016041A JP2013016041A JP2011148585A JP2011148585A JP2013016041A JP 2013016041 A JP2013016041 A JP 2013016041A JP 2011148585 A JP2011148585 A JP 2011148585A JP 2011148585 A JP2011148585 A JP 2011148585A JP 2013016041 A JP2013016041 A JP 2013016041A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- command
- distributed server
- distribution control
- processing status
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、振分制御装置、振分制御方法および振分制御プログラムに関する。 The present invention relates to a distribution control device, a distribution control method, and a distribution control program.
従来、ネットワーク上に存在するネットワーク機器にアクセスする処理を行う場合に、複数のサーバに処理を分散して実行する技術が知られている。例えば、複数のサーバに順番に処理を割り当てたり、最もレスポンスの早いサーバに処理を割り当てるなど、全体の負荷を均等にする制御が知られている。 2. Description of the Related Art Conventionally, there has been known a technique for executing processing distributed to a plurality of servers when processing to access a network device existing on a network. For example, there is known control for equalizing the entire load, such as assigning processes to a plurality of servers in order or assigning processes to the server with the fastest response.
図19は、従来技術に係る負荷分散を説明する図である。図19に示すように、このシステムは、管理サーバ1と、コマンドロードバランサ2と、分散サーバ5と、分散サーバ6と、イベントロードバランサ7と、管理対象機器とを有する。
FIG. 19 is a diagram for explaining load distribution according to the prior art. As shown in FIG. 19, this system includes a
管理サーバ1は、管理対象のネットワーク機器に対して、管理コマンドをコマンドロードバランサ2経由で発行する。コマンドロードバランサ2は、管理サーバ1から発行されたコマンドを分散サーバ5または分散サーバ6に振り分けて、分散サーバの負荷を分散させる。分散サーバ5または分散サーバ6は、コマンドロードバランサ2から受信したコマンドを管理対象のネットワーク機器に対して実行し、イベントロードバランサ7から受信したイベントを集約して管理サーバ1へ送信する。
The
イベントロードバランサ7は、管理対象のネットワーク機器から受信した各種イベントを分散サーバ5または分散サーバ6に振り分けて、分散サーバの負荷を分散させる。管理対象ネットワーク機器は、例えばルータ、L3スイッチ、スイッチングハブ、L2スイッチなどのネットワーク機器であり、障害通知やログ情報などのイベントを管理サーバ1に送信する。
The
このように、従来技術に係るシステムでは、コマンドロードバランサ2が管理サーバ1から発行されたコマンドを負荷分散し、イベントロードバランサ7が管理対象のネットワーク機器から発行されたイベントを負荷分散する。
As described above, in the system according to the conventional technique, the
しかしながら、従来の技術では、緊急性がある緊急コマンドを緊急に実行できない場合があり、特定のコマンドの実行効率が劣化するという問題がある。 However, in the conventional technology, there is a case where an urgent emergency command cannot be executed urgently, and there is a problem that the execution efficiency of a specific command is deteriorated.
例えば、従来の負荷分散では、処理が増えるにつれて全体の負荷を平均的にする制御が働き、全体的に高負荷となるので、緊急コマンドを高負荷なサーバに割り振るしかなく、緊急コマンドなど特定のコマンドの実行待ち時間が長くなり、緊急に実行できない。また、常時負荷の低いサーバをシステム内に別途用意する方法も考えられるが、用意するサーバに対してコストがかかるので、好ましい方法ではない。 For example, in conventional load balancing, as the number of processes increases, the overall load is controlled so that the overall load becomes high. Therefore, there is no choice but to allocate emergency commands to high-load servers. The command execution wait time becomes long and cannot be executed urgently. Although a method of separately preparing a server having a low constant load in the system is conceivable, it is not a preferable method because it costs for the server to be prepared.
開示の技術は、上記に鑑みてなされたものであって、緊急コマンドなど特定のコマンドの実行効率の劣化を防止できる振分制御装置、振分制御方法および振分制御プログラムを提供することを目的とする。 The disclosed technology has been made in view of the above, and an object thereof is to provide a distribution control device, a distribution control method, and a distribution control program capable of preventing deterioration in execution efficiency of a specific command such as an emergency command. And
本願の開示する振分制御装置、振分制御方法および振分制御プログラムは、一つの態様において、分散サーバ群を形成するいずれかの分散サーバ装置に、管理サーバ装置から発行されたコマンドを送信する振分制御装置である。振分制御装置は、前記管理サーバ装置によって特定のコマンドが発行された時間までの所定時間ごとに、前記分散サーバ群の処理状況を保持する保持部を有する。振分制御装置は、前記分散サーバ群の処理状況を前記所定時間ごとに収集する収集部と、前記収集部によって収集された処理状況と前記保持部に保持される処理状況とを比較して、前記特定のコマンドの発生を予測する予測部とを有する。振分制御装置は、前記予測部によって特定のコマンドの発生が予測された場合に、前記分散サーバ群を形成するいずれかの分散サーバ装置に対する、前記特定のコマンド以外のコマンドの送信を抑止する抑止制御部を有する。 In one aspect, a distribution control device, a distribution control method, and a distribution control program disclosed in the present application transmit a command issued from a management server device to any distributed server device forming a distributed server group. This is a distribution control device. The distribution control device includes a holding unit that holds the processing status of the distributed server group every predetermined time until a time when a specific command is issued by the management server device. The distribution control device compares the processing status collected by the collection unit and the processing status held in the holding unit with a collection unit that collects the processing status of the distributed server group every predetermined time, A prediction unit for predicting the occurrence of the specific command. The distribution control device suppresses transmission of a command other than the specific command to any one of the distributed server devices forming the distributed server group when occurrence of the specific command is predicted by the prediction unit. It has a control part.
本願の開示する振分制御装置、振分制御方法および振分制御プログラムの一つの態様によれば、特定のコマンドの実行効率の劣化を防止できるという効果を奏する。 According to one aspect of the distribution control device, the distribution control method, and the distribution control program disclosed in the present application, it is possible to prevent the execution efficiency of a specific command from being deteriorated.
以下に、本願の開示する振分制御装置、振分制御方法および振分制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 Hereinafter, embodiments of a distribution control device, a distribution control method, and a distribution control program disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
[全体構成]
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、管理サーバ10と、振分制御装置20と、分散サーバ50と、分散サーバ60と、イベントロードバランサ70と、管理対象機器とを有する。なお、実施例では、特定のコマンドとして、通常のコマンドより優先して緊急に実行することが望まれる緊急コマンドを例にして説明する。なお、緊急コマンドに限定されるものではなく、管理者等が指定する他のコマンドにも同様に適用することができる。
[overall structure]
FIG. 1 is a diagram illustrating an example of the overall configuration of a system according to the first embodiment. As illustrated in FIG. 1, the system includes a
管理サーバ10は、管理対象のネットワーク機器に対して、管理コマンドを振分制御装置20経由で発行するサーバ装置である。振分制御装置20は、管理サーバ10から発行されたコマンドを分散サーバ50または分散サーバ60に振り分けて、分散サーバの負荷を分散させる負荷分散装置である。分散サーバ50または分散サーバ60は、振分制御装置20から受信したコマンドを管理対象のネットワーク機器に対して実行し、イベントロードバランサ70から受信したイベントを集約して管理サーバ10へ送信するサーバ装置である。
The
イベントロードバランサ70は、管理対象のネットワーク機器から受信した各種イベントを分散サーバ50または分散サーバ60に振り分けて、分散サーバの負荷を分散させる負荷分散装置である。管理対象ネットワーク機器は、例えばルータ、L3スイッチ、スイッチングハブ、L2スイッチなどのネットワーク機器であり、障害通知やログ情報などのイベントを管理サーバ10に送信するサーバ装置である。
The
このようなシステムにおいて、振分制御装置20は、管理サーバ10によって緊急コマンドが発行された時間までの所定時間ごとに、分散サーバ群の処理状況を保持する。そして、振分制御装置20は、分散サーバ群の処理状況を所定時間ごとに収集し、収集された処理状況と保持される処理状況とを比較して、緊急コマンドの発生を予測する。その後、振分制御装置20は、緊急コマンドの発生が予測された場合に、分散サーバ群を形成するいずれかの分散サーバに対して、緊急コマンド以外のコマンドの送信を抑止する。
In such a system, the
例えば、振分制御装置20は、管理サーバ10が緊急コマンドを発行すると予測した場合には、分散サーバ50への振分を抑止するとともに、分散サーバ50への振分を抑止する指示をイベントロードバランサ70に送信する。したがって、分散サーバ50への振分を抑止でき、分散サーバ50の負荷が高くなることを抑止できる。このため、振分制御装置20は、管理サーバ10から緊急コマンドが発行された場合でも、通常コマンドの分散先から除外されている分散サーバ50へ振り分けることができるので、緊急コマンドの実行効率の劣化を防止できる。
For example, when it is predicted that the
[装置の構成]
図2は、実施例1に係る振分制御装置の構成を示す機能ブロック図である。図2に示すように、この振分制御装置20は、通信制御I/F部21と記憶部22とプロセッサ25とを有する。
[Device configuration]
FIG. 2 is a functional block diagram illustrating the configuration of the distribution control device according to the first embodiment. As illustrated in FIG. 2, the
通信制御I/F部21は、他の通信との間を制御するインタフェースである。例えば、通信制御I/F部21は、通常コマンドや緊急コマンドを管理サーバ10から受信する。なお、緊急コマンドとは、例えば、管理対象機器からアラームを検知した場合に、トラフィック量の超過箇所を特定し、トラフィックの一部を迂回させるような経路を設定するコマンドであり、緊急に実行したいコマンドである。通常コマンドとは、緊急コマンド以外のコマンドであり、例えば経路情報の取得や負荷情報の取得を実行するコマンドなどである。
The communication control I /
また、通信制御I/F部21は、通常コマンドや緊急コマンドを分散サーバ50または分散サーバ60に送信する。また、通信制御I/F部21は、分散サーバ50または分散サーバ60からイベント情報やコマンド実行結果を受信する。同様に、通信制御I/F部21は、イベント情報やコマンド実行結果を管理サーバ10に送信する。なお、イベント情報とは、例えばSNMP(Simple Network Management Protocol)で監視する監視情報、SNMPトラップで検出された障害情報、管理対象機器のイベントログなどである。
Further, the communication control I /
記憶部22は、半導体メモリ素子やハードディスクなどの記憶装置であり、緊急コマンド情報テーブル22aと統計情報テーブル22bとパターン情報テーブル22cとを有する。また、記憶部22は、緊急パターン情報テーブル22dと重み付け情報テーブル22eと予測結果テーブル22fと構成情報テーブル22gとを有する。 The storage unit 22 is a storage device such as a semiconductor memory element or a hard disk, and includes an emergency command information table 22a, a statistical information table 22b, and a pattern information table 22c. The storage unit 22 includes an emergency pattern information table 22d, a weighting information table 22e, a prediction result table 22f, and a configuration information table 22g.
緊急コマンド情報テーブル22aは、管理者等によって設定された緊急コマンドに関する情報を記憶する。図3は、緊急コマンド情報テーブルに記憶される情報の例を示す図である。図3に示すように、緊急コマンド情報テーブル22aは、「コマンド名、緊急度e、適用日時帯」を対応付けて記憶する。ここで記憶される「コマンド名」は、緊急コマンドの名称である。「緊急度e」は、例えば0から7で表される緊急度であり、7が最も緊急性が高く、0が最も緊急性が低い。「適用日時帯」は、緊急コマンドとして扱われる日時帯を示す。 The emergency command information table 22a stores information related to emergency commands set by an administrator or the like. FIG. 3 is a diagram illustrating an example of information stored in the emergency command information table. As illustrated in FIG. 3, the emergency command information table 22a stores “command name, urgency e, application date and time” in association with each other. The “command name” stored here is the name of the emergency command. “Urgent level e” is an urgent level represented by, for example, 0 to 7, with 7 being the most urgent and 0 being the least urgent. “Applicable date / time zone” indicates a date / time zone treated as an emergency command.
例えば、図3の場合、緊急度が「7」であるコマンド「ChangeRoute」は、終日緊急コマンドと認識されることを示す。また、緊急度が「5」であるコマンド「BlockTraffic」は、21:00〜24:00の間に発行されたものだけ緊急コマンドと認識され、それ以外の時間帯に発行されたものは通常コマンドとして扱われることを示す。 For example, in the case of FIG. 3, the command “ChangeRoute” having an urgency level of “7” indicates that it is recognized as an all-day emergency command. Also, the command “BlockTraffic” with an urgency level of “5” is recognized as an emergency command only if it was issued between 21:00 and 24:00, and commands issued in other time zones are normal commands. To be treated as
統計情報テーブル22bは、分散サーバに発行されたコマンドの数、分散サーバから受信したイベント数のうち所定の条件に一致する特定イベントの数、各分散サーバのCPU(Central Processing Unit)負荷を記憶する。図4は、統計情報テーブルに記憶される情報の例を示す図である。図4に示すように、統計情報テーブル22bは、「収集項目(実行コマンド数、実行コマンド種類数、特定イベント受信数、平均CPU負荷(A)、平均CPU負荷(B))、収集時間、収集値」を対応付けて記憶する。 The statistical information table 22b stores the number of commands issued to the distributed server, the number of specific events that match a predetermined condition among the number of events received from the distributed server, and the CPU (Central Processing Unit) load of each distributed server. . FIG. 4 is a diagram illustrating an example of information stored in the statistical information table. As shown in FIG. 4, the statistical information table 22 b includes “collection items (number of executed commands, number of executed commands, number of received specific events, average CPU load (A), average CPU load (B)), collection time, collection. "Value" is stored in association with each other.
ここで記憶される「実行コマンド数」は、管理サーバ10から発行されたコマンドの数、言い換えると、分散サーバ50または分散サーバ60が実行したコマンドの数を示す。「実行コマンド種類数」は、管理サーバ10から発行されたコマンドの種類の数、言い換えると、分散サーバ50または分散サーバ60が実行したコマンドの種類の数を示す。「特定イベント受信数」は、分散サーバ50または分散サーバ60から受信されたイベントのうち、特定の条件に一致するイベントの数を示す。「平均CPU負荷(A)」は、収集時間における分散サーバ50のCPU負荷の平均値を示し、「平均CPU負荷(B)」は、収集時間における分散サーバ60のCPU負荷の平均値を示す。
The “number of executed commands” stored here indicates the number of commands issued from the
また、「収集値」は、各収集項目に対して収集された値であり、「収集時間」は、収集値が収集された時刻である。なお、実行コマンド数、実行コマンド種類数は、振分制御装置20内で収集され、特定イベント数、平均CPU負荷(A)、平均CPU負荷(B)は、分散サーバから収集される。また、実行コマンド数や実行コマンド種類数には、通常のコマンド以外に緊急コマンドを含んでもよい。
The “collection value” is a value collected for each collection item, and the “collection time” is the time when the collection value is collected. The number of execution commands and the number of execution command types are collected in the
図4の場合、例えば、振分制御装置は、「10:06」に、5つの実行コマンドが分散サーバで実行され、実行されたコマンドの種類数が2であったことを示す。また、振分制御装置は、「10:06」に受信した特定イベントの数が400個であり、「10:06」における分散サーバ50の平均CPU負荷が80%、分散サーバ60の平均CPU負荷が80%であったことを示す。なお、図4では、収集時間を1分単位としているが、これに限定されるものではなく任意に設定できる。また、図4の場合、緊急コマンドの予測を開始した時間が「10:10」であることを示す。
In the case of FIG. 4, for example, the distribution control device indicates that “10:06” indicates that five execution commands are executed by the distributed server and the number of types of executed commands is two. In the distribution control device, the number of specific events received at “10:06” is 400, the average CPU load of the distributed
パターン情報テーブル22cは、統計情報テーブル22bに記憶される情報から各収集項目の傾向を示した情報を記憶する。図5は、パターン情報テーブルに記憶される情報の例を示す図である。図5に示すように、パターン情報テーブル22cは、「収集項目(実行コマンド数、実行コマンド種類数、特定イベント受信数、平均CPU負荷(A)、平均CPU負荷(B))、収集時間、傾向」を対応付けて記憶する。ここで記憶される「収集項目(実行コマンド数、実行コマンド種類数、特定イベント受信数、平均CPU負荷(A)、平均CPU負荷(B))、収集時間」は、図4と同様なので説明を省略する。「傾向」は、各収集項目が全体からみてその時間にどのような傾向にあるかを示す。 The pattern information table 22c stores information indicating the tendency of each collection item from the information stored in the statistical information table 22b. FIG. 5 is a diagram illustrating an example of information stored in the pattern information table. As shown in FIG. 5, the pattern information table 22 c includes “collection items (number of executed commands, number of executed commands, number of received specific events, average CPU load (A), average CPU load (B)), collection time, trend "Is stored in association with each other. The “collected items (number of executed commands, number of executed commands, number of received specific events, average CPU load (A), average CPU load (B)), collection time” stored here is the same as in FIG. Omitted. “Trend” indicates the tendency of each collection item at the time as viewed from the whole.
図5の場合、例えば収集時間「10:08」に収集された「実行コマンド数」は、増加傾向にあり、「実行コマンド種類数」は、変化無しの「維持傾向」にあり、「特定イベント受信数」と「平均CPU負荷(A)」と「平均CPU負荷(B)」は、「減少傾向」にある。 In the case of FIG. 5, for example, the “execution command number” collected at the collection time “10:08” is in an increasing tendency, the “execution command type number” is in a “maintenance tendency” without change, and the “specific event” The “number of receptions”, “average CPU load (A)”, and “average CPU load (B)” are “decreasing”.
緊急パターン情報テーブル22dは、緊急コマンドごとに、緊急コマンドが実行される一定時間前の変化傾向を示す情報を記憶する。図6は、緊急パターン情報テーブルに記憶される情報の例を示す図である。図6に示すように、緊急パターン情報テーブル22dは、「実行コマンド名、収集項目(実行コマンド数、実行コマンド種類数、特定イベント受信数、平均CPU負荷(A)、平均CPU負荷(B))、収集時間、傾向」を対応付けて記憶する。 The emergency pattern information table 22d stores, for each emergency command, information indicating a change tendency before a certain time before the emergency command is executed. FIG. 6 is a diagram illustrating an example of information stored in the emergency pattern information table. As shown in FIG. 6, the emergency pattern information table 22d includes “execution command name, collection item (execution command number, execution command type number, specific event reception number, average CPU load (A), average CPU load (B))”. , “Collection time, trend” ”in association with each other.
ここで記憶される各収集項目の値は、緊急コマンドが実行される一定時間ごとに収集された値である。例えば、図6の場合、「ChangeRoute」が実行された1分前の「9:15」から3分前の「9:12」では、実行コマンド数が増加傾向、実行コマンド種類数が減少傾向、特定イベント受信数と平均CPU負荷(A)と平均CPU負荷(B)が増減傾向にあったことを示す。なお、実行コマンド数や実行コマンド種類数は、緊急コマンドを含んでいてもよい。また、収集時間の間隔は、任意に設定することができるが、図4や図5に示した収集時間の間隔と同じであることが望ましい。 The value of each collection item stored here is a value collected every certain time when the emergency command is executed. For example, in the case of FIG. 6, from “9:15” one minute before “ChangeRoute” is executed to “9:12” three minutes before, the number of execution commands tends to increase, and the number of execution command types tends to decrease. It shows that the number of specific events received, average CPU load (A), and average CPU load (B) tended to increase or decrease. The number of execution commands and the number of execution command types may include emergency commands. The collection time interval can be arbitrarily set, but is preferably the same as the collection time interval shown in FIGS.
重み付け情報テーブル22eは、緊急コマンドごとに重み付け情報を記憶する。図7は、重み付け情報テーブルに記憶される情報の例を示す図である。図7に示すように、重み付け情報テーブル22eは、各収集項目ごとの重みや収集時間に対する重みを記憶する。ここで記憶される「収集項目」や「収集時間」は、図4等で説明したので詳細な説明を省略する。「収集項目重み」は、各収集項目に対して与える重みを示し、「収集時間重み」は、各収集時間に与える重みを示す。 The weighting information table 22e stores weighting information for each emergency command. FIG. 7 is a diagram illustrating an example of information stored in the weighting information table. As shown in FIG. 7, the weighting information table 22e stores a weight for each collection item and a weight for the collection time. The “collection item” and “collection time” stored here have been described with reference to FIG. The “collection item weight” indicates a weight given to each collection item, and the “collection time weight” indicates a weight given to each collection time.
図7の場合、緊急コマンドの予測を開始した時間、言い換えると統計情報を生成した時間から1分前の時間には重み「1」、2分前の時間には重み「0.7」、3分前の時間には重み「0.5」が与えられることを示す。また、緊急コマンドの予測を開始した時間から4分前の時間には重み「0.3」、5分前の時間には重み「0.2」が与えられることを示す。また、収集項目である「実行コマンド」には重み「1」、「実行コマンド種類数」には重み「0.5」、「特定イベント受信数」には重み「1」、「平均CPU負荷(A)」には重み「0.2」、「平均CPU負荷(B)」には重み「0.2」が与えられることを示す。
In the case of FIG. 7, the time when emergency command prediction is started, in other words, the time “1” is 1 minute before the time when the statistical information is generated, and the weight “0.7” is 3 times before the
予測結果テーブル22fは、緊急コマンドが実行されるか否かを予測した結果を記憶する。図8は、予測結果テーブルに記憶される情報の例を示す図である。図8に示すように、予測結果テーブル22fは、「実行コマンド名、過去判定回予測結果、予測成功率」を対応付けて記憶する。ここで記憶される「実行コマンド名」は、予測対象の緊急コマンドを示す情報である。「過去判定回予測結果」は、過去の所定回数の予測判定結果を示す情報である。例えば、予測が成功した場合つまり予測どおり緊急コマンドが発行された場合には「○」が格納され、予測が失敗した場合つまり緊急コマンドが発行されなかった場合には「×」が格納される。「予測成功率」は、過去判定回予測結果から算出した予測の成功率である。 The prediction result table 22f stores a result of predicting whether or not an emergency command is executed. FIG. 8 is a diagram illustrating an example of information stored in the prediction result table. As illustrated in FIG. 8, the prediction result table 22 f stores “execution command name, past determination times prediction result, prediction success rate” in association with each other. The “execution command name” stored here is information indicating the emergency command to be predicted. “Past determination times prediction result” is information indicating a predetermined number of past prediction determination results. For example, when prediction is successful, that is, when an emergency command is issued as predicted, “◯” is stored, and when prediction fails, that is, when an emergency command is not issued, “×” is stored. The “prediction success rate” is the prediction success rate calculated from the past judgment round prediction result.
例えば、図8の場合、緊急コマンド「ChangeRoute」については、予測された過去5回全てが成功しているので、予測成功率が1であることを示す。また、緊急コマンド(Shutdown)については、予測された過去5回のうち4回が成功しているので、予測成功率は4/5=0.8であることを示す。 For example, in the case of FIG. 8, the emergency command “ChangeRoute” indicates that the predicted success rate is 1 because all of the predicted past five times have been successful. Further, regarding the emergency command (Shutdown), four of the predicted five times have succeeded, and thus the prediction success rate is 4/5 = 0.8.
構成情報テーブル22gは、図1に示したシステムを形成する各装置の構成情報を記憶する。図9は、構成情報テーブルに記憶される情報の例を示す図である。図9に示すように、構成情報テーブル22gは、「サーバ名、IP、役割、振り分け可否」を対応付けて記憶する。 The configuration information table 22g stores configuration information of each device forming the system shown in FIG. FIG. 9 is a diagram illustrating an example of information stored in the configuration information table. As illustrated in FIG. 9, the configuration information table 22g stores “server name, IP, role, allocation possibility” in association with each other.
ここで記憶される「サーバ名」は、例えばホスト名など装置の名称を示し、「IP」は、サーバのIP(Internet Protocol)アドレスを示し、「役割」は、装置が実行するシステム内の役割を示し、「振り分け可否」は、負荷分散可能か否かを示す。例えば、サーバ名「MNG」は、IP(A)が割り当てられた、負荷分散の対象外である管理サーバを示す。「DSP1」は、IP(B)が割り当てられた、負荷分散の対象であり、負荷分散可能な分散サーバ50を示す。
The “server name” stored here indicates the name of the device such as a host name, “IP” indicates the IP (Internet Protocol) address of the server, and “role” indicates the role in the system executed by the device. “Distribution availability” indicates whether load distribution is possible. For example, the server name “MNG” indicates a management server to which IP (A) is assigned and is not subject to load distribution. “DSP1” is a load distribution target to which IP (B) is assigned, and indicates a
同様に、「DSP2」は、IP(C)が割り当てられた、負荷分散の対象であり、負荷分散可能な分散サーバ60を示す。また、「ELB」は、IP(D)が割り当てられた、負荷分散の対象外であるイベントロードバランサ70を示す。「CED」は、IP(E)が割り当てられた、負荷分散の対象外である振分制御装置20を示す。なお、「振り分け可否」に「○」が格納されている場合には振り分け可能なことを示し、「振り分け可否」に「−」が格納されている場合には振り分け対象外であることを示し、「×」が格納されている場合には振り分け不可能なことを示す。
Similarly, “DSP2” indicates a distributed
プロセッサ25は、振分制御装置20全体の制御を司るCPUなどの電子回路であり、解析部25aと記録部25bと予測部25cと負荷回避部25dとタイマ制御部25eとを有する。
The processor 25 is an electronic circuit such as a CPU that controls the entire
解析部25aは、管理サーバ10から受信したコマンドを負荷回避部25dに転送するとともに、受信したコマンドが緊急コマンドか通常コマンドかなどを判定するコマンド解析を実行して、記録部25bにコマンドの情報を通知する処理部である。
The analysis unit 25a transfers the command received from the
例えば、解析部25aは、管理サーバ10からコマンドを受信した場合に、当該コマンドのヘッダ等に記憶される情報と、緊急コマンド情報テーブル22aに記憶される情報を比較して、当該コマンドが緊急コマンドか否かを判定する。そして、解析部25aは、緊急コマンドであると判定した場合には、受信したコマンドに緊急コマンドフラグを付加して負荷回避部25dに転送する。また、解析部25aは、通常コマンドであると判定した場合には、受信したコマンドを負荷回避部25dに転送するとともに、受信したコマンドの種類等を特定して記録部25bに通知する。
For example, when the analysis unit 25a receives a command from the
一例を挙げると、解析部25aは、受信したコマンドに「ChangeRoute」を識別する識別子等が含まれている場合には、当該コマンドを緊急コマンドと判定する。また、解析部25aは、受信したコマンドに「ConfigBackup」を識別する識別子等が含まれているとともに、受信時刻が0:00から6:00の間である場合には、当該コマンドを緊急コマンドと判定する。また、解析部25aは、受信したコマンドに「BlockTraffic」を識別する識別子等が含まれているとともに、受信時刻が21:00から24:00の間でない場合には、当該コマンドを通常コマンドと判定する。 For example, when the received command includes an identifier for identifying “ChangeRoute” or the like, the analysis unit 25a determines that the command is an emergency command. The analysis unit 25a also includes an identifier for identifying “ConfigBackup” in the received command, and if the received time is between 0:00 and 6:00, the command is designated as an emergency command. judge. In addition, the analysis unit 25a determines that the received command includes an identifier for identifying “BlockTraffic” and the received command is a normal command when the reception time is not between 21:00 and 24:00. To do.
記録部25bは、解析部25aから通知されたコマンド情報の履歴を記憶し、分散サーバから統計情報を収集してパターン情報を生成する。例えば、記録部25bは、解析部25aから通知されたコマンド情報を記憶部22の作業領域等に順次格納する。そして、記録部25bは、タイマ制御部25eから予測開始指示を受信すると、記憶部22の作業領域に記憶されるコマンド情報を参照し、予測開始指示を受信した時間の1分前から5分前までの実行コマンド数と実行コマンド種類数を生成する。また、記録部25bは、各分散サーバから平均CPU負荷とともに特定イベント数を受信する。そして、記録部25bは、これらを対応付けた統計情報を生成して統計情報テーブル22bに格納する。なお、分散サーバは、監視ソフトウェア等を用いて、平均CPU負荷や特定イベント数を所定間隔で収集し、記録部25bは、分散サーバ各々が収集した情報を取得する。
The recording unit 25b stores a history of command information notified from the analysis unit 25a, collects statistical information from the distributed server, and generates pattern information. For example, the recording unit 25b sequentially stores command information notified from the analysis unit 25a in a work area or the like of the storage unit 22. Then, when the recording unit 25b receives the prediction start instruction from the
その後、記録部25bは、統計情報として収集した各収集項目の5回分の収集値を2次の最小二乗法等を用いてフィッティングした結果から、この5回分の間で増加傾向か、減少傾向か、維持傾向か、増減傾向か、減増傾向かを示す変化パターンを判定する。そして、記録部25bは、上記した例では1分前から5分前までの各収集時間ごとに、判定結果を対応付けたパターン情報を生成して、パターン情報テーブル22cに格納する。なお、ここでは2次関数を用いた例を説明したが、1次関数を用いてもよく、その場合は判定結果が増加または減少のいずれかになる。 After that, the recording unit 25b fits the collected values for 5 times of each collection item collected as statistical information using the second-order least square method, etc. Then, a change pattern indicating whether it is a maintenance tendency, an increase / decrease tendency, or a decrease / increase tendency is determined. In the example described above, the recording unit 25b generates pattern information in which the determination results are associated with each collection time from one minute to five minutes before, and stores the pattern information in the pattern information table 22c. Although an example using a quadratic function has been described here, a linear function may be used, in which case the determination result is either increased or decreased.
予測部25cは、タイマ制御部25eによって起動され、パターン情報テーブル22cに記憶される情報と緊急パターン情報テーブル22dに記憶される情報とを比較する。そして、予測部25cは、比較結果に重み付けを加味して類似度を算出し、パターン予測結果を評価して、緊急コマンドの発生を予測する処理部である。
The
例えば、予測部25cは、緊急コマンドごとに記憶される緊急パターン情報各々とパターン情報テーブル22cに記憶されるパターン情報とを比較し、収集時間ごとにどのくらい情報が一致するかを示した採点表を生成する。続いて、予測部25cは、生成した採点表に対して、重み付けテーブル22eに記憶される収集時間および収集項目ごとの重み付けを加算した重付採点表を生成する。その後、予測部25cは、緊急コマンドごとに算出した重付採点表から各緊急コマンドの重付類似度を算出し、算出した重付類似度各々に予測成功率を加味した予測評価値を算出する。そして、予測部25cは、予測評価値が所定値以上の緊急コマンドが存在する場合に、現時点以降に緊急コマンドの発生が起こりうると予測する。
For example, the
図10から図12を用いて一例を説明する。図10は、予測処理におけるパターン情報の比較例を説明する図である。図11は、予測処理における重み付けを説明する図である。図12は、予測判定例を説明する図である。図10に示すように、予測部25cは、緊急コマンド「ChangeRoute」の過去のパターン情報と、現時点のパターン情報とを比較して、一致する時間には「1」を格納し、不一致の時間には「0」を格納した採点表を生成する。具体的には、予測部25cは、緊急コマンドが実行された時間から2分前の実行コマンド数が「増減」であり、現時点から2分前のパターン情報が「増加」であることから、現時点から2分前の採点結果を「0」とする。
An example will be described with reference to FIGS. FIG. 10 is a diagram for explaining a comparative example of pattern information in the prediction process. FIG. 11 is a diagram illustrating weighting in the prediction process. FIG. 12 is a diagram illustrating an example of prediction determination. As illustrated in FIG. 10, the
続いて、図11に示すように、予測部25cは、図10の処理によって生成した採点表の収集時間と収集項目の各々に対して、重み付けテーブル22eに格納される重みを乗算した重付採点表を生成する。具体的には、予測部25cは、現時点から3分前の収集時間を示す「−3」の採点結果である「1」に対して、収集時間の重み「0.5」と収集項目の重み「0.5」を乗算して、重付採点結果として「0.25」を算出する。そして、予測部25cは、採点表に格納される各収集項目の各収集時間ごとに、上述した重みの乗算を実行して重付採点結果を生成し、重付採点結果各々を加算した値を「重付類似度」として算出する。図11の場合では、予測部25cは、「重付類似度」として「6.15」を算出する。なお、予測部25cは、図10から図11の各処理を、各緊急コマンドごとに実行する。
Subsequently, as shown in FIG. 11, the predicting
その後、図12に示すように、予測部25cは、各緊急コマンドごとに算出した重付類似度に対して、予測結果テーブル22fに格納される過去の予測成功率を乗算し、予測評価値を算出する。具体的には、予測部25cは、重付類似度が「6.15」と算出された「ChangeRoute」の予測成功率が「1」であることから、「6.15」に「1」を乗算した「6.15」を「ChangeRoute」の「予測評価値」として算出する。同様に、予測部25cは、重付類似度が「2.12」と算出された「Shutdown」の予測成功率が「0.8」であることから、「2.12」に「0.8」を乗算した「1.696」を四捨五入した「1.7」を「Shutdown」の「予測評価値」として算出する。
After that, as shown in FIG. 12, the
そして、予測部25cは、このようにして算出された「予測評価値」の最大値が、例えば「5」など所定値以上であれば、緊急コマンドが発生すると予測する。図12の場合、予測部25cは、「ChangeRoute」が発行される可能性が高いと予測する。そして、予測部25cは、緊急コマンドの発生を予測した場合に、負荷回避指示を負荷回避部25dに通知する。
Then, the predicting
図2に戻り、負荷回避部25dは、解析部25aから転送されたコマンドを振り分け可能な分散サーバに振り分ける処理部である。また、負荷回避部25dは、緊急コマンドが予測されたことが予測部25cから通知された場合には、振り分けを抑止する分散サーバを決定し、決定した分散サーバへの振り分けを抑止する。また、負荷回避部25dは、決定した分散サーバへのイベントの振り分けを抑止させる指示をイベントロードバランサ70へ通知する。
Returning to FIG. 2, the load avoidance unit 25d is a processing unit that distributes the command transferred from the analysis unit 25a to a distributed server that can distribute the command. Further, when the
例えば、負荷回避部25dは、解析部25aからコマンドを受信した場合、構成情報テーブル22gを参照して、振り分け可否が「○」である分散サーバのいずれかにコマンドを送信する。そして、負荷回避部25dは、緊急コマンドが予測されたことが予測部25cから通知され、各分散サーバの振り分け可否が「○」である場合に、負荷回避を実行する。なお、負荷回避部25dは、緊急コマンドが予測されたことが予測部25cから通知され、いずれかの分散サーバの振り分け可否が「×」である場合に、既に負荷回避中であるので新たな負荷回避を実行しない。
For example, when the load avoidance unit 25d receives a command from the analysis unit 25a, the load avoidance unit 25d refers to the configuration information table 22g and transmits the command to any of the distributed servers whose distribution possibility is “◯”. The load avoidance unit 25d performs load avoidance when the
負荷回避を具体的に説明すると、負荷回避部25dは、各分散サーバのCPU負荷を各分散サーバから取得し、最もCPU負荷が小さい分散サーバを負荷回避対象のサーバと特定する。ここでは、分散サーバ50を負荷回避対象サーバとする。すると、負荷回避部25dは、構成情報テーブル22gにおける分散サーバ50の振り分け可否を「○」から「×」に変更して、分散サーバ50を負荷回避中に変更する。また、負荷回避部25dは、分散サーバ50への振り分けを抑止することをイベントロードバランサ70へ通知する。こうすることで、負荷回避部25dは、分散サーバ50へ通常のコマンドが発行されることを抑止するとともに、イベントロードバランサ70がイベントを分散サーバ50に振り分けることを抑止する。
More specifically, the load avoidance unit 25d acquires the CPU load of each distributed server from each distributed server, and identifies the distributed server having the smallest CPU load as the load avoidance target server. Here, the distributed
この状態で、つまり、分散サーバ50の振り分け可否が「×」かつ分散サーバ60の振り分け可否が「○」である状態でのコマンド振り分けについて説明する。例えば、負荷回避部25dは、解析部25aから通常コマンドを受信した場合、振り分け可否が「○」である分散サーバ60にコマンドを振り分ける。また、負荷回避部25dは、解析部25aから緊急コマンドを受信した場合、振り分け可否が「×」である分散サーバ50に緊急コマンドを振り分ける。また、上記状態で、例えば1分など一定時間が経過した後、負荷回避部25dは、分散サーバ50の振り分け可否を「○」に変更し、分散サーバ50の振り分け抑止を解除して、両分散サーバへの振り分けを可能にする。
Command distribution in this state, that is, in a state where the
なお、負荷回避部25dは、解析部25aから受信したコマンドが緊急コマンドであるか否かを、当該コマンドに緊急コマンドフラグが付加されているか否かによって判定する。つまり、負荷回避部25dは、コマンドに緊急コマンドフラグが付加されている場合は、当該コマンドを緊急コマンドと判定する。 Note that the load avoidance unit 25d determines whether or not the command received from the analysis unit 25a is an emergency command based on whether or not an emergency command flag is added to the command. That is, the load avoidance unit 25d determines that the command is an emergency command when the emergency command flag is added to the command.
タイマ制御部25eは、記録部25bや予測部25cの予測処理を定期的に起動する処理部である。例えば、タイマ制御部25eは、時間を計時し、例えば5分間隔など所定時間に到達したことを、記録部25bや予測部25cに通知する。この通知を受けることで、記録部25bや予測部25cは、統計情報の収集や予測処理を開始する。
The
[処理の流れ]
次に、図13と図14を用いて、実施例1に係る振分制御装置が実行する処理を説明する。ここでは、コマンド実行時の動作フローおよび予測処理時の動作フローについて説明する。
[Process flow]
Next, processing executed by the distribution control apparatus according to the first embodiment will be described with reference to FIGS. 13 and 14. Here, an operation flow during command execution and an operation flow during prediction processing will be described.
(コマンド実行時の動作フロー)
図13は、実施例1に係る振分制御装置におけるコマンド実行時の処理の流れを示すフローチャートである。図13に示すように、振分制御装置20の解析部25aは、緊急コマンド情報テーブル22aを参照し、管理サーバ10から受信したコマンドが緊急コマンドであるか否かを判定する(S101)。
(Operation flow during command execution)
FIG. 13 is a flowchart illustrating a flow of processing at the time of command execution in the distribution control device according to the first embodiment. As illustrated in FIG. 13, the analysis unit 25a of the
そして、解析部25aは、緊急コマンドであると判定した場合(S101肯定)、当該コマンドに緊急コマンドフラグをセットする(S102)。一方、解析部25aが緊急コマンドでないと判定した場合(S101否定)、記録部25bは、当該コマンドの情報を記憶部22等に記録する(S103)。 If the analysis unit 25a determines that the command is an emergency command (Yes in S101), the analysis unit 25a sets an emergency command flag for the command (S102). On the other hand, when the analysis unit 25a determines that the command is not an emergency command (No in S101), the recording unit 25b records information on the command in the storage unit 22 or the like (S103).
その後、負荷回避部25dは、解析部25aから転送されたコマンドに緊急コマンドフラグがセットされている場合(S104肯定)、構成情報テーブル22gを参照して、負荷回避中の分散サーバが存在するか否かを判定する(S105)。 Thereafter, when the emergency command flag is set in the command transferred from the analysis unit 25a (Yes in S104), the load avoidance unit 25d refers to the configuration information table 22g to determine whether there is a distributed server that is avoiding the load. It is determined whether or not (S105).
そして、負荷回避部25dは、負荷回避中の分散サーバが存在すると判定した場合(S105肯定)、緊急コマンドと判定されたコマンドを負荷回避中の分散サーバに振り分ける(S106)。一方、負荷回避部25dは、負荷回避中の分散サーバが存在しないと判定した場合(S105否定)、一般的な負荷分散処理を用いて特定されたいずれかの分散サーバに、緊急コマンドと判定されたコマンドを振り分ける(S107)。 When it is determined that there is a distributed server that is avoiding the load (Yes in S105), the load avoiding unit 25d distributes the command determined as an emergency command to the distributed server that is avoiding the load (S106). On the other hand, when the load avoidance unit 25d determines that there is no distributed server under load avoidance (No in S105), the load avoidance unit 25d determines that one of the distributed servers identified using general load distribution processing is an emergency command. The commands are distributed (S107).
また、負荷回避部25dは、解析部25aから転送されたコマンドに緊急コマンドフラグがセットされていない場合も(S104否定)、構成情報テーブル22gを参照して、負荷回避中の分散サーバが存在するか否かを判定する(S108)。 Further, even when the emergency command flag is not set in the command transferred from the analysis unit 25a (No in S104), the load avoidance unit 25d refers to the configuration information table 22g and there is a distributed server that is avoiding the load. It is determined whether or not (S108).
そして、負荷回避部25dは、負荷回避中の分散サーバが存在すると判定した場合(S108肯定)、通常コマンドと判定されたコマンドを、負荷回避中の分散サーバ以外の分散サーバに振り分ける(S109)。一方、負荷回避部25dは、負荷回避中の分散サーバが存在しないと判定した場合(S108否定)、一般的な負荷分散処理を用いて特定されたいずれかの分散サーバに、通常コマンドと判定されたコマンドを振り分ける(S107)。 If the load avoidance unit 25d determines that there is a distributed server under load avoidance (Yes in S108), the load avoidance unit 25d distributes the command determined as a normal command to a distributed server other than the distributed server under load avoidance (S109). On the other hand, if the load avoidance unit 25d determines that there is no distributed server under load avoidance (No in S108), the load avoidance unit 25d determines that one of the distributed servers identified using general load distribution processing is a normal command. The commands are distributed (S107).
(予測処理時の動作フロー)
図14は、実施例1に係る振分制御装置における予測処理の流れを示すフローチャートである。図14に示すように、振分制御装置20の記録部25bは、タイマ制御部25eから予測契機に到達したことが通知される(S201肯定)。すると、記録部25bは、統計情報テーブル22bに統計情報を生成し、生成した統計情報からパターン情報を生成してパターン情報テーブル22cに格納する(S202)。
(Operation flow during prediction processing)
FIG. 14 is a flowchart illustrating the flow of the prediction process in the distribution control device according to the first embodiment. As shown in FIG. 14, the recording unit 25b of the
続いて、予測部25cは、記録部25bによって生成されたパターン情報と、緊急パターン情報テーブル22dに格納される緊急パターン情報各々とを比較して、各緊急コマンドごとの採点表を生成する(S203)。そして、予測部25cは、重み付け情報テーブル22eに記憶される重み付け情報を用いて、S203で生成した各緊急コマンドごとの採点表に重み付けを実行し、各緊急コマンドごとに重付採点表を生成する(S204)。
Subsequently, the
続いて、予測部25cは、生成した各緊急コマンドごとの重付採点表の各項目を加算して、各緊急コマンドごとに重付類似度を算出する(S205)。そして、予測部25cは、各緊急コマンドごとの重付類似度各々に対して、予測結果テーブル22fに記憶される予測成功率を乗算して、各緊急コマンドごとの予測評価値を算出する(S206)。
Subsequently, the
その後、負荷回避部25dは、所定値以上の予測評価値がある場合(S207肯定)、構成情報テーブル22gを参照して、負荷回避中の分散サーバがあるか否かを判定する(S208)。そして、負荷回避部25dは、負荷回避中の分散サーバがない場合(S208否定)、各分散サーバからCPU負荷を取得して、CPU負荷が所定値未満の分散サーバがあるか否かを判定する(S209)。 Thereafter, when there is a predicted evaluation value equal to or greater than the predetermined value (Yes in S207), the load avoiding unit 25d refers to the configuration information table 22g and determines whether there is a distributed server that is avoiding the load (S208). Then, when there is no distributed server under load avoidance (No at S208), the load avoiding unit 25d acquires the CPU load from each distributed server and determines whether there is a distributed server with a CPU load less than a predetermined value. (S209).
そして、負荷回避部25dは、CPU負荷が所定値未満の分散サーバがある場合(S209肯定)、最もCPU負荷が小さい分散サーバへの負荷回避を実行する(S210)。つまり、負荷回避部25dは、構成情報テーブル22gにおいて、最もCPU負荷が小さい分散サーバの「振り分け可否」を「×」に変更する。 Then, when there is a distributed server having a CPU load less than the predetermined value (Yes in S209), the load avoiding unit 25d executes load avoidance to the distributed server having the smallest CPU load (S210). In other words, the load avoidance unit 25d changes the “distribution availability” of the distributed server with the smallest CPU load to “x” in the configuration information table 22g.
また、所定値以上の予測評価値がない場合(S207否定)、負荷回避中の分散サーバがある場合(S208肯定)、CPU負荷が所定値未満の分散サーバがない場合(S209否定)、振分制御装置20は、予測処理を終了する。
Further, when there is no predicted evaluation value equal to or greater than the predetermined value (No at S207), when there is a distributed server that is avoiding load (Yes at S208), when there is no distributed server whose CPU load is less than the predetermined value (No at S209), The
[実施例1による効果]
実施例1に係る振分制御装置20は、全体が高負荷な状況においても緊急コマンドが実行可能となるように、特定の分散サーバの処理負荷を他の分散サーバへ回避させ、特定の分散サーバで即時実行したいコマンドの実行を実現できる。また、実施例1に係る振分制御装置20は、緊急コマンド用の特別なサーバを用意することもないので、サーバリソースを有効活用でき、システム構築にかかるコストも削減することができる。
[Effects of Example 1]
The
また、振分制御装置20は、採点表を生成する際に、処理負荷や処理状況そのものではなく、処理負荷の変化や処理状況の変化を比較するので、緊急コマンドが発生した状況だけでなく発生しそうな状況も検出することができる。この結果、振分制御装置20は、緊急コマンドの発生する可能性に幅を持たせて予測することができるので、緊急コマンドの発生回数が比較的少ない状況も検出することができ、緊急コマンドの発生する可能性が低くても漏れなく検出することができる。
In addition, when the
実施例2では、実施例1で説明した予測が成功したか否かに基づいて予測結果や重みを学習する例を説明する。図15は、実施例2に係る振分制御装置の構成を示す機能ブロック図である。図15に示すように、振分制御装置20は、通信制御I/F部21と記憶部22とプロセッサ25とを有する。なお、通信制御I/F部21と記憶部22とプロセッサ25の解析部25aと記録部25bと予測部25cと負荷回避部25dとタイマ制御部25eは、実施例1と同様の機能を有するので、詳細な説明は省略する。
In the second embodiment, an example in which a prediction result and a weight are learned based on whether or not the prediction described in the first embodiment is successful will be described. FIG. 15 is a functional block diagram illustrating the configuration of the distribution control device according to the second embodiment. As illustrated in FIG. 15, the
[装置の構成]
ここでは、実施例1とは異なる機能である学習部26について説明する。学習部26は、解析部25aからの通知を元に緊急パターン情報テーブル22dを更新し、予測部25cから通知された予測判定の成否を判定して予測成功率を再算出し、予測判定の成否に基づいて各種重みを最適化する処理部である。ここで、学習部26が実行する各学習を具体的に説明する。
[Device configuration]
Here, the
(予測判定結果の更新)
学習部26は、解析部25aから緊急コマンドのコマンド情報として、例えばコマンド種別等を受信する。そして、学習部26は、受信したコマンド識別が緊急パターン情報テーブル22d等に格納される緊急コマンドと一致する場合には、予測成功と判定し、一致しない場合には、予測失敗と判定する。なお、学習部26は、予測部25cによって予測が完了してから、例えば1分など所定時間内に受信しなかった場合には、予測失敗と判定する。
(Update prediction judgment result)
The
そして、学習部26は、予測成功または予測失敗と判定した場合に、予測された時間を基準にして、予測結果テーブル22fを更新する。図8に示したテーブルの状態から更新する一例を挙げると、学習部26が予測成功と判定した場合に、実際に実行された緊急コマンドが「ChangeRoute」と「ConfigBachup」であったとする。この場合、学習部26は、「−1、○、×、×、○」を新たな予測結果とし、ここから4分前までの予測結果から予測成功率を算出する。
When the
具体的には、学習部26は、「−1、ChangeRoute:○、BlockTraffic:×、Shutdown:×、ConfigBackup:○」、「−2、ChangeRoute:○、BlockTraffic:○、Shutdown:○、ConfigBackup:×」に更新する。同様に、学習部26は、「−3、ChangeRoute:○、BlockTraffic:○、Shutdown:○、ConfigBackup:×」、「−4、ChangeRoute:○、BlockTraffic:×、Shutdown:○、ConfigBackup:×」に更新する。同様に、学習部26は、「−5、ChangeRoute:○、BlockTraffic:○、Shutdown:×、ConfigBackup:×」に更新する。
Specifically, the
そして、学習部26は、各緊急コマンドごとに、予測が成功した割合を算出する。上記例の場合、学習部26は、「ChangeRoute」については予測した5回中に5回とも予測が成功しているので、「予測成功率」を「1」とする。同様に、学習部26は、「BlockTraffic」については予測した5回中に3回だけ予測が成功しているので、「予測成功率」を「0.6」とする。同様に、学習部26は、「Shutdow」については予測した5回中に3回だけ予測が成功しているので、「予測成功率」を「0.6」とする。同様に、学習部26は、「ConfigBackup」については予測した5回中に1回だけ予測が成功しているので、「予測成功率」を「0.2」とする。なお、学習部26は、予測失敗と判定した場合には、「−1、×、×、×、×」を新たな予測結果とし、ここから4分前までの予測結果から予測成功率を算出する。そして、予測部25cは、学習部26によって更新された予測結果テーブル22fを用いて、以降の緊急コマンドの予測処理を実行する。
Then, the
(緊急パターンの更新)
学習部26は、緊急コマンドが新たに実行された時間を基準にして、緊急パターン情報テーブル22dを更新する。例えば、学習部26は、負荷回避部25dによって「11:03」に緊急コマンドが分散サーバに分散された場合、または、分散サーバが「11:03」に緊急コマンドを実行した場合、「11:03」から5分前までの緊急パターンを生成する。
(Emergency pattern update)
The
具体的には、学習部26は、「11:02」、「11:01」、「11:00」、「10:59」、「10:58」各々の実行コマンド数、実行コマンド種類数、特定イベント受信数、各平均CPU負荷を、記録部25bが記憶部22に格納した情報から収集する。そして、学習部26は、収集した情報を実施例1の記録部25bと同様の手法を用いてパターン化して、緊急パターン情報テーブル22dを更新する。その後、予測部25cは、学習部26によって更新された緊急パターン情報テーブル22dを用いて、以降の緊急コマンドの予測処理を実行する。
Specifically, the
(重みの更新)
学習部26は、予測された緊急コマンドの予測成否に基づいて、重み付けテーブル22eの情報を更新する。例えば、学習部26は、予測部25cが予測処理時に生成した緊急コマンドごとの採点表を予測部25cから取得する。そして、学習部26は、予測が成功したと判定された場合、採点表の収集時間または収集項目のうち、最も一致していた項目の重みを重くし、最も一致していなかった項目の重みを軽くする。
(Weight update)
The
図16は、重みの学習例を示す図である。例えば、学習部26は、重み情報が図16の左図に示す状態で、予測成功と判定したとする。そのときの採点表が図10の右図であったとする。この場合、学習部26は、図10の右図の収集時間を参照し、収集時間「−1」が全て1であるので最も比較結果が一致していたと判定し、収集時間「−5」が最も比較結果が一致していないと判定する。
FIG. 16 is a diagram illustrating an example of weight learning. For example, it is assumed that the
すると、学習部26は、図16に示すように、収集時間「−1」の重みを「0.1」重くし、収集時間「−5」の重みを「0.1」軽くする。なお、ここでは、収集時間の重みを更新する例を説明したが、収集項目の重みを同様の手法で更新してもよい。
Then, as illustrated in FIG. 16, the
[処理の流れ]
図17は、実施例2に係る振分制御装置における学習処理の流れを示すフローチャートである。図17に示すように、学習部26は、緊急コマンドが実行されると、すなわち、緊急コマンドの情報を解析部25aが受信すると(S301肯定)、緊急パターン情報テーブル22dを再生成する(S302)。つまり、学習部26は、緊急コマンドが実行された時間を基準として新たな緊急パターン情報を生成して緊急パターン情報テーブル22dを更新する。
[Process flow]
FIG. 17 is a flowchart illustrating the flow of the learning process in the distribution control device according to the second embodiment. As shown in FIG. 17, when the emergency command is executed, that is, when the analysis unit 25a receives the emergency command information (Yes in S301), the
そして、学習部26は、実行された緊急コマンドが採点表が通知されているコマンド、言い換えると、当該緊急コマンドが採点表に記載されているコマンドである場合(S303肯定)、当該採点表の有効期限が経過していないかを判定する(S304)。
When the executed emergency command is a command for which the scoring table is notified, in other words, the emergency command is a command described in the scoring table (Yes in S303), the
採点表の有効期限が経過していない場合(S304肯定)、学習部26は、予測成功として予測結果テーブル22fを更新し(S305)、重み付け情報テーブル22eを更新する(S306)。また、採点表の有効期限が経過している場合(S304否定)、学習部26は、予測失敗として予測結果テーブル22fを更新する(S307)。
When the expiration date of the scoring table has not elapsed (Yes at S304), the
なお、S303において、実行された緊急コマンドが採点表に記載されていないコマンドである場合(S303否定)、学習部26は、処理を終了する。
In S303, when the executed emergency command is a command that is not described in the scoring table (No in S303), the
[実施例2による効果]
このように、実施例2に係る振分制御装置20は、緊急コマンドを予測するだけでなく、予測が成功したか失敗したかによって、緊急パターン、重み、予測判定結果など予測部25cが予測に使用する情報を更新する。この結果、予測処理の精度を随時向上させることができ、より精度の高い予測処理を実行できる。
[Effects of Example 2]
As described above, the
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, different embodiments will be described below.
(処理状況)
実施例1や2では、分散サーバの処理状況として「実行コマンド数、実行コマンド種類数、特定イベント受信数、平均CPU負荷」を収集する例を説明したが、処理状況はこれに限定されるものではない。例えば、処理状況としてメモリ使用率などを収集してもよく、分散サーバの処理負荷を検出できる任意の情報を収集することができる。
(Processing status)
In the first and second embodiments, an example of collecting “execution command count, execution command type count, specific event reception count, average CPU load” as the processing status of the distributed server has been described. However, the processing status is limited to this. is not. For example, the memory usage rate may be collected as the processing status, and arbitrary information that can detect the processing load of the distributed server can be collected.
(数値等の指定)
実施例1や2では、収集時間として1分単位を例にして説明したが、これに限定されるものではなく、任意の時間間隔を設定することができる。また、収集項目の数や緊急コマンドの種別等を任意に設定することができる。また、学習する項目等は任意に設定することができる。例えば、重みだけを学習したり、重みと予測結果だけを学習するなど、任意の数、任意の組み合わせで学習することができる。
(Specify numerical values, etc.)
In the first and second embodiments, the collection time has been described by taking a unit of one minute as an example. In addition, the number of collection items, the type of emergency command, and the like can be arbitrarily set. In addition, items to be learned can be arbitrarily set. For example, learning can be performed in any number and in any combination, such as learning only the weights or learning only the weights and prediction results.
(緊急パターンとの比較)
実施例1では、予測回避時の統計情報のパターンと、過去の緊急コマンドの実行時のパターンとを比較する例を説明したが、これに限定されるものではない。例えば、予測回避時の統計情報そのものと、過去の緊急コマンドの実行時の統計情報そのものとを比較して、一致する数等を検索し、検索した結果が所定値以上であれば、緊急コマンドが実行されると予測することもできる。
(Comparison with emergency pattern)
In the first embodiment, the example in which the pattern of statistical information at the time of avoiding prediction is compared with the pattern at the time of execution of a past emergency command has been described. However, the present invention is not limited to this. For example, the statistical information at the time of prediction avoidance is compared with the statistical information itself at the time of execution of the past emergency command, and the number of matches is searched. It can also be predicted that it will be executed.
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(system)
In addition, among the processes described in the present embodiment, all or a part of the processes described as being automatically performed can be manually performed. Alternatively, all or part of the processing described as being performed manually can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、例えば、タイマ制御部25eを有しない構成など、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to that shown in the figure. In other words, all or a part thereof is configured to be functionally or physically distributed / integrated in arbitrary units, such as a configuration without the
(ハードウェア構成)
図18は、振分制御プログラムを実行するコンピュータのハードウェア構成の例を示す図である。図18に示すように、コンピュータ100は、CPU102、入力装置103、出力装置104、通信インタフェース105、媒体読取装置106、HDD(Hard Disk Drive)107、RAM(Random Access Memory)108を有する。また、図18に示した各部は、バス101で相互に接続される。
(Hardware configuration)
FIG. 18 is a diagram illustrating an example of a hardware configuration of a computer that executes a distribution control program. As illustrated in FIG. 18, the
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD107は、図2に示した各テーブルに記憶される各情報を記憶する。記録媒体の例としてHDD107を例に挙げたが、ROM(Read Only Memory)、RAM、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。CPU102は、図2に示した各機能を実行する。
The
また、HDD107に、図2に示した各処理部の制御を実行する振分制御プログラム107aを格納しておく。そして、CPU102が、振分制御プログラム107aを読み出してRAM108に展開することで、図2等で説明した各機能を実行する振分制御プロセス108aを動作させることもできる。すなわち、振分制御プロセス108aは、図2や図5に記載した解析部25a、記録部25b、予測部25c、負荷回避部25d、タイマ制御部25e、学習部26と同様の機能を実行する。このようにコンピュータ100は、プログラムを読み出して実行することで振分制御装置の機能を実行する情報処理装置として動作する。
Further, the HDD 107 stores a distribution control program 107a for executing control of each processing unit shown in FIG. Then, the CPU 102 can operate the distribution control process 108a that executes each function described with reference to FIG. 2 and the like by reading the distribution control program 107a and expanding it in the RAM 108. That is, the distribution control process 108a performs the same functions as the analysis unit 25a, the recording unit 25b, the
また、コンピュータ100は、媒体読取装置106によって記録媒体から振分制御プログラム107aを読み出し、読み出された振分制御プログラム107aを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
The
10 管理サーバ
20 振分制御装置
21 通信制御I/F部
22 記憶部
22a 緊急コマンド情報テーブル
22b 統計情報テーブル
22c パターン情報テーブル
22d 緊急パターン情報テーブル
22e 重み付け情報テーブル
22f 予測結果テーブル
22g 構成情報テーブル
25 プロセッサ
25a 解析部
25b 記録部
25c 予測部
25d 負荷回避部
25e タイマ制御部
26 学習部
50、60 分散サーバ
70 イベントロードバランサ
DESCRIPTION OF
Claims (10)
前記管理サーバ装置によって特定のコマンドが発行された時間までの所定時間ごとに、前記分散サーバ群の処理状況を保持する保持部と、
前記分散サーバ群の処理状況を前記所定時間ごとに収集する収集部と、
前記収集部によって収集された処理状況と前記保持部に保持される処理状況とを比較して、前記特定のコマンドの発生を予測する予測部と、
前記予測部によって特定のコマンドの発生が予測された場合に、前記分散サーバ群を形成するいずれかの分散サーバ装置に対する、前記特定のコマンド以外のコマンドの送信を抑止する抑止制御部と、
を有することを特徴とする振分制御装置。 A distribution control device that transmits a command issued from a management server device to any distributed server device forming a distributed server group,
A holding unit for holding the processing status of the distributed server group every predetermined time until a time when a specific command is issued by the management server device;
A collection unit that collects the processing status of the distributed server group every predetermined time;
A prediction unit that predicts the occurrence of the specific command by comparing the processing status collected by the collection unit with the processing status held in the holding unit;
A deterrence control unit that suppresses transmission of a command other than the specific command to any of the distributed server devices forming the distributed server group when occurrence of the specific command is predicted by the prediction unit;
A distribution control device comprising:
前記収集部は、前記分散サーバ群から収集した処理状況から、収集された所定時間における処理状況の変化を検出して保持し、
前記予測部は、前記収集部によって保持される処理状況の変化と前記保持部に保持される処理状況の変化とを比較して、前記特定のコマンドの発生を予測することを特徴とする請求項1に記載の振分制御装置。 The holding unit holds a change in the processing status of the distributed server group during the predetermined time,
The collection unit detects and holds a change in the processing status collected for a predetermined time from the processing status collected from the distributed server group,
The prediction unit compares the change in the processing status held by the collection unit with the change in the processing status held in the holding unit, and predicts the occurrence of the specific command. 2. The distribution control device according to 1.
前記分散サーバ群の処理状況を所定時間ごとに収集し、
前記収集した処理状況と、前記管理サーバ装置によって特定のコマンドが発行された時間までの所定時間ごとに保持される前記分散サーバ群の処理状況とを比較して、前記特定のコマンドの発生を予測し、
前記特定のコマンドの発生を予測した場合に、前記分散サーバ群を形成するいずれかの分散サーバ装置に対する、前記特定のコマンド以外のコマンドの送信を抑止する、
処理を実行することを特徴とする振分制御方法。 A computer that transmits a command issued from the management server device to any of the distributed server devices forming the distributed server group,
Collect the processing status of the distributed server group every predetermined time,
Predict the occurrence of the specific command by comparing the collected processing status with the processing status of the distributed server group held every predetermined time until the time when the specific command is issued by the management server device And
When the occurrence of the specific command is predicted, the transmission of commands other than the specific command is suppressed with respect to any distributed server device forming the distributed server group.
A distribution control method characterized by executing processing.
前記分散サーバ群の処理状況を前記所定時間ごとに収集し、
前記収集した処理状況と、前記管理サーバ装置によって特定のコマンドが発行された時間までの所定時間ごとに保持される前記分散サーバ群の処理状況とを比較して、前記特定のコマンドの発生を予測し、
前記特定のコマンドの発生を予測した場合に、前記分散サーバ群を形成するいずれかの分散サーバ装置に対する、前記特定のコマンド以外のコマンドの送信を抑止する、
処理を実行させることを特徴とする振分制御プログラム。 To any of the distributed server devices forming the distributed server group, to the computer that transmits the command issued from the management server device,
Collect the processing status of the distributed server group every predetermined time,
Predict the occurrence of the specific command by comparing the collected processing status with the processing status of the distributed server group held every predetermined time until the time when the specific command is issued by the management server device And
When the occurrence of the specific command is predicted, the transmission of commands other than the specific command is suppressed with respect to any distributed server device forming the distributed server group.
A distribution control program characterized by causing processing to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011148585A JP5729179B2 (en) | 2011-07-04 | 2011-07-04 | Distribution control device, distribution control method, and distribution control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011148585A JP5729179B2 (en) | 2011-07-04 | 2011-07-04 | Distribution control device, distribution control method, and distribution control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013016041A true JP2013016041A (en) | 2013-01-24 |
JP5729179B2 JP5729179B2 (en) | 2015-06-03 |
Family
ID=47688671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011148585A Expired - Fee Related JP5729179B2 (en) | 2011-07-04 | 2011-07-04 | Distribution control device, distribution control method, and distribution control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5729179B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015095167A (en) * | 2013-11-13 | 2015-05-18 | 富士通株式会社 | Load distribution device, method, and system |
JP2020145498A (en) * | 2019-03-04 | 2020-09-10 | 株式会社東芝 | Communication control device and communication system |
JP2020145499A (en) * | 2019-03-04 | 2020-09-10 | 株式会社東芝 | Communication control device and communication system |
WO2020179707A1 (en) * | 2019-03-04 | 2020-09-10 | 株式会社 東芝 | Communication control device and communication system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000122985A (en) * | 1998-08-11 | 2000-04-28 | Nippon Telegr & Teleph Corp <Ntt> | Access prediction method and device, access load distribution method and device, and recording medium recorded with program for executing these methods |
JP2000132524A (en) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | Wide area load distribution device and method therefor |
JP2007328413A (en) * | 2006-06-06 | 2007-12-20 | Hitachi Ltd | Method for distributing load |
JP2008009800A (en) * | 2006-06-30 | 2008-01-17 | Nec Corp | Load distribution system, monitoring control device, load distribution method and program |
JP2008158996A (en) * | 2006-12-26 | 2008-07-10 | Chugoku Electric Power Co Inc:The | Information processor and information processing method |
JP2011013870A (en) * | 2009-07-01 | 2011-01-20 | Hitachi Ltd | Load distribution system |
JP2011076470A (en) * | 2009-09-30 | 2011-04-14 | Nomura Research Institute Ltd | Load management device, information processing system and load management method |
-
2011
- 2011-07-04 JP JP2011148585A patent/JP5729179B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000122985A (en) * | 1998-08-11 | 2000-04-28 | Nippon Telegr & Teleph Corp <Ntt> | Access prediction method and device, access load distribution method and device, and recording medium recorded with program for executing these methods |
JP2000132524A (en) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | Wide area load distribution device and method therefor |
JP2007328413A (en) * | 2006-06-06 | 2007-12-20 | Hitachi Ltd | Method for distributing load |
JP2008009800A (en) * | 2006-06-30 | 2008-01-17 | Nec Corp | Load distribution system, monitoring control device, load distribution method and program |
JP2008158996A (en) * | 2006-12-26 | 2008-07-10 | Chugoku Electric Power Co Inc:The | Information processor and information processing method |
JP2011013870A (en) * | 2009-07-01 | 2011-01-20 | Hitachi Ltd | Load distribution system |
JP2011076470A (en) * | 2009-09-30 | 2011-04-14 | Nomura Research Institute Ltd | Load management device, information processing system and load management method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015095167A (en) * | 2013-11-13 | 2015-05-18 | 富士通株式会社 | Load distribution device, method, and system |
JP2020145498A (en) * | 2019-03-04 | 2020-09-10 | 株式会社東芝 | Communication control device and communication system |
JP2020145499A (en) * | 2019-03-04 | 2020-09-10 | 株式会社東芝 | Communication control device and communication system |
WO2020179707A1 (en) * | 2019-03-04 | 2020-09-10 | 株式会社 東芝 | Communication control device and communication system |
JP2020145497A (en) * | 2019-03-04 | 2020-09-10 | 株式会社東芝 | Communication control device and communication system |
WO2020179709A1 (en) * | 2019-03-04 | 2020-09-10 | 株式会社 東芝 | Communication control device and communication system |
JP7278807B2 (en) | 2019-03-04 | 2023-05-22 | 株式会社東芝 | Communication controller and communication system |
Also Published As
Publication number | Publication date |
---|---|
JP5729179B2 (en) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3133492B1 (en) | Network service incident prediction | |
US8762304B2 (en) | Policy scheduling | |
US20150189033A1 (en) | Distributed Cache System | |
US9448849B2 (en) | Preventing oscillatory load behavior in a multi-node distributed system | |
US20170155560A1 (en) | Management systems for managing resources of servers and management methods thereof | |
EP2678783B1 (en) | Network event management | |
JP2008158628A (en) | Performance evaluation apparatus, performance evaluation method and program | |
US20130305083A1 (en) | Cloud service recovery time prediction system, method and program | |
US20130151907A1 (en) | Operations management apparatus, operations management method and program | |
US10565021B2 (en) | Automated capacity management in distributed computing systems | |
JP5729179B2 (en) | Distribution control device, distribution control method, and distribution control program | |
US9280741B2 (en) | Automated alerting rules recommendation and selection | |
Rahmani et al. | Burst‐aware virtual machine migration for improving performance in the cloud | |
WO2020090513A1 (en) | Monitoring and maintenance method, monitoring and maintenance device, and monitoring and maintenance program | |
JP5874234B2 (en) | Device management apparatus, device management method, and device management program | |
JP5331878B2 (en) | Network management method and network | |
Ethilu et al. | An efficient switch migration scheme for load balancing in software defined networking | |
US11315693B2 (en) | Method and system for managing operation associated with an object on IoT enabled devices | |
US11734086B2 (en) | Operation-based event suppression | |
JP2019079120A (en) | Information processing device, information processing method and program | |
JP2009259005A (en) | Resource monitoring method and apparatus | |
JP2010170168A (en) | Flow rate control method and system | |
JP2011065469A (en) | Distributed file system and node start-up method in distributed file system | |
Currie et al. | Using correlations for application monitoring in cloud computing | |
JP2020113148A (en) | Virtual base management device, method for managing virtual base, and virtual base management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150113 |
|
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: 20150310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5729179 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |