(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023104388
(43)【公開日】2023-07-28
(54)【発明の名称】負荷分散装置、負荷分散方法およびプログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20230721BHJP
【FI】
G06F9/50 150D
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022005336
(22)【出願日】2022-01-17
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】林 俊宏
(72)【発明者】
【氏名】香西 将樹
(72)【発明者】
【氏名】松本 信幸
(57)【要約】
【課題】情報処理装置の負荷を均等化させる。
【解決手段】情報処理を実行する装置を選択する要求を端末から取得する選択要求取得部と、複数の装置の運用状況を示す運用情報を取得する運用情報取得部と、前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択する選択部と、を備える負荷分散装置である。
【選択図】
図2
【特許請求の範囲】
【請求項1】
情報処理を実行する装置を選択する要求を端末から取得する選択要求取得部と、
複数の装置の運用状況を示す運用情報を取得する運用情報取得部と、
前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択する選択部と、を備える、
負荷分散装置。
【請求項2】
前記運用情報取得部は、電力、プロセッサまたはネットワークにかけられている負荷に関連する前記運用情報を取得し、
前記選択部は、電力、プロセッサまたはネットワークにかけられている前記負荷が小さい装置を選択する、
請求項1に記載の負荷分散装置。
【請求項3】
前記運用情報取得部は、電力供給容量と電力使用量を含む前記運用情報を取得し、
前記選択部は、前記電力供給容量と前記電力使用量との差分に基づいて、前記情報処理を実行する装置を選択する、
請求項2に記載の負荷分散装置。
【請求項4】
取得された前記運用情報に基づいて、情報処理を実行すべき装置を選択できないと判定した場合に、前記端末に待機を指示する待機指示部をさらに備える、
請求項1から3のいずれか1項に記載の負荷分散装置。
【請求項5】
前記運用情報取得部は、電力供給容量と電力使用量を含む前記運用情報を取得し、
前記待機指示部は、前記電力供給容量と前記電力使用量との差分があらかじめ規定された閾値を超えるか否かに基づいて、前記情報処理を実行すべき装置であるか否かを判定する、
請求項4に記載の負荷分散装置。
【請求項6】
コンピュータが実行する負荷分散方法であって、
情報処理を実行する装置を選択する要求を端末から取得するステップと、
複数の装置の運用状況を示す運用情報を取得するステップと、
前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択するステップと、を備える、
負荷分散方法。
【請求項7】
コンピュータを、請求項1から5のいずれか1項に記載の負荷分散装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、負荷分散装置、負荷分散方法およびプログラムに関する。
【背景技術】
【0002】
情報処理装置の負荷を分散するための装置が知られている。例えば、非特許文献1には、情報処理を依頼する装置(例えばクライアント)からのリクエストを情報処理装置(例えばサーバ)に均等に転送するラウンドロビン方式などの負荷分散の方式が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Load Balancer - Round Robin / Ratio / Least Connection / Fastest,[online],インターネット<URL:https://www.infraexpert.com/study/loadbalancer4.html>
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、情報処理装置の負荷を均等化することができないという問題がある。そのため、情報処理を依頼する装置から情報処理装置に軽い負荷の処理要求と重い負荷の処理要求が交互に行われる場合、特定の情報処理装置に負荷が集中するおそれがある。
【0005】
開示の技術は、情報処理装置の負荷を均等化させることを目的とする。
【課題を解決するための手段】
【0006】
開示の技術は、情報処理を実行する装置を選択する要求を端末から取得する選択要求取得部と、複数の装置の運用状況を示す運用情報を取得する運用情報取得部と、前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択する選択部と、を備える負荷分散装置である。
【発明の効果】
【0007】
開示の技術によれば、情報処理装置の負荷を均等化させることができる。
【図面の簡単な説明】
【0008】
【
図1】情報処理システムの構成の一例を示す図である。
【
図2】負荷分散装置の機能構成の一例を示す図である。
【
図3】負荷分散処理の流れの一例を示す第一のシーケンス図である。
【
図4】電力供給容量と電力使用量との関係について説明するための図である。
【
図5】負荷分散処理の流れの一例を示す第二のシーケンス図である。
【
図6】電力供給容量と電力使用量との関係に応じた機器群の応答例について説明するための図である。
【
図7】コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0010】
(情報処理システムの構成)
図1は、情報処理システムの構成の一例を示す図である。情報処理システム1は、負荷分散装置10と、端末20と、複数の機器群(第一機器群30-1、第二機器群30-2、第三機器群30-3、第四機器群30-4)と、を備える。
【0011】
負荷分散装置10は、複数の機器群への負荷を分散させるための装置であって、例えばロードバランサである。分散の対象となる負荷は、例えば、電力、プロセッサ、ネットワーク等にかけられる負荷を含む。なお、ネットワークにかけられる負荷とは、ネットワーク通信に関わる負荷であって、例えば、複数の機器群に含まれるサーバ、ルータ、ストレージ等のような様々なICT機器のうち、ルータにおける通信処理にかけられる負荷であってもよい。
【0012】
端末20は、複数の機器群に情報処理を要求する機器である。端末20は、負荷分散装置10および複数の機器群と、それぞれ通信可能に接続されている。具体的には、端末20は、負荷分散装置10に情報処理を実行する機器群の選択を要求し、応答結果に指定された機器群に情報処理を要求する。なお、端末20は、1つでも複数でもよい。
【0013】
複数の機器群のそれぞれは、監視機器と、情報通信機器群とを含む。すなわち、第一機器群30-1は、第一監視機器31-1と第一情報通信機器群32-1とを含み、第二機器群30-2は、第二監視機器31-2と第二情報通信機器群32-2とを含み、第三機器群30-3は、第三監視機器31-3と第三情報通信機器群32-3とを含み、第四機器群30-4は、第四監視機器31-4と第四情報通信機器群32-4とを含む。ここで、各情報通信機器群は、情報処理を実行する情報処理装置の一例である。
【0014】
なお、
図1では4つの機器群を有する例を示しているが、機器群の数は、3つ以下でも5つ以上でもよい。
【0015】
監視機器は、それぞれ同一の機器群に含まれる情報通信機器群の運用状況を監視する機器である。具体的には、各監視機器は、各情報通信機器群の運用状況を示す運用情報を負荷分散装置10に送信する。
【0016】
情報通信機器群は、サーバ、ルータ、ストレージ等のような1つまたは複数の機器を含む機器群である。情報通信機器群は、端末20から要求された情報処理を実行する。
【0017】
負荷分散装置10および複数の機器群は、具体的には、1つのデータセンタ設備に含まれる機器であってもよく、端末20は、当該データセンタの外部に存在する機器であってもよい。この場合、負荷分散装置10および複数の機器群は、データセンタ設備の内部のLAN(Local Area Network)等を介して互いに接続されていてもよい。また、端末20は、インターネットを介して当該LANと接続されていてもよい。
【0018】
そして、端末20は、TCP/IP(Transmission Control Protocol/Internet Protocol)等のプロトコルを用いて、負荷分散装置10または複数の機器群と通信してもよい。具体的には、端末20は、ユーザの操作等に応じて、URL(Uniform Resource Locator)によって識別されるウェブページにアクセスすることによって、負荷分散装置10または複数の機器群に通信してもよい。
【0019】
(負荷分散装置の機能構成)
次に、負荷分散装置10の機能構成について説明する。
【0020】
図2は、負荷分散装置の機能構成の一例を示す図である。負荷分散装置10は、選択要求取得部11と、運用情報取得部12と、選択部13と、待機指示部14と、を備える。
【0021】
選択要求取得部11は、端末20から情報通信機器群を選択する要求を取得する。なお、選択要求取得部11は、端末20から情報通信機器群を選択する明示的な要求を取得してもよいし、端末20から情報処理の要求を取得することによって暗示的に情報通信機器群を選択する要求を受けてもよい。すなわち、端末20は、情報処理の要求を負荷分散装置10に送信してもよく、負荷分散装置10は、情報処理の要求を取得して、情報通信機器群を選択する処理を実行してもよい。
【0022】
運用情報取得部12は、各機器群から運用情報を取得する。運用情報は、各情報通信機器群の負荷に関連する情報であればよく、例えば、電力、プロセッサ、ネットワーク等にかけられている負荷を示す情報であってもよい。
【0023】
選択部13は、取得された運用情報に基づいて、情報処理を実行する情報通信機器群を選択する。具体的には、選択部13は、取得された運用情報から負荷が最も低い情報通信機器群を選択してもよい。例えば、選択部13は、電力、プロセッサ、ネットワーク等の複数の種類の負荷を総合的に判断するように、あらかじめ規定された演算を行うことによって、負荷が最も低い情報通信機器群を選択してもよい。
【0024】
待機指示部14は、取得された運用情報に基づいて、情報処理を実行すべき情報通信機器群を選択できない(すなわち、いずれの情報通信機器群も情報処理を実行すべきでない)と判定した場合に、端末20に待機を指示する。待機指示部14は、取得された運用情報に明示的に処理不能であることを示す情報を取得し、当該情報に基づいて情報処理を実行すべきか否かを判断してもよい。また、待機指示部14は、取得された運用情報があらかじめ規定された基準を満たすか否かを判断して、情報処理を実行すべきか否かを判定してもよい。
【0025】
(情報処理システムの動作概要)
次に、情報処理システム1の動作について、図面を参照して説明する。
【0026】
図3は、負荷分散処理の流れの一例を示す第一のシーケンス図である。端末20は、負荷分散装置10に、情報処理を実行する機器群の選択を要求する(ステップS11)。負荷分散装置10の選択要求取得部11が、機器群の選択の要求を取得すると、運用情報取得部12は、各機器群に運用情報の送信を要求する(ステップS12)。
【0027】
各機器群に含まれる各監視機器は、要求に応じて各情報通信機器群の運用状況を示す運用情報を負荷分散装置10に送信する(ステップS13)。
【0028】
負荷分散装置10の運用情報取得部12が、各機器群の運用情報を取得すると、選択部13は、情報処理を実行する機器群を選択し、処理を実行する機器群を指示する情報を端末20に送信する(ステップS14)。例えば、選択部13は、運用情報に基づいて、第二情報通信機器群32-2の負荷が最も小さいと判断すると、第二機器群30-2を指示する情報を端末20に送信する。
【0029】
なお、処理を実行する機器群を指示する情報は、例えば、機器群のIPアドレスを示す情報であってもよい。
【0030】
端末20は、処理を実行する機器群を指示する情報を受信すると、当該情報に示される機器群(例えば第二機器群30-2)に、処理要求を送信する(ステップS15)。
【0031】
(運用情報および選択方法の具体例)
次に、運用情報および選択方法の具体例について説明する。
【0032】
図4は、電力供給容量と電力使用量との関係について説明するための図である。運用情報は、
図4に示すように、各機器群の電力供給容量と電力使用量とを含む情報であってもよい。ここで、「電力使用量」とは、各情報通信機器群を稼働させるために消費される電力量である。また、「電力供給容量」とは、各情報通信機器群を稼働させるための電源設備における、各時点において供給可能な電力容量である。例えば、電源設備として太陽光発電設備を含む場合は、日射量の変動によって電力供給容量が変動するため、天候が悪い時間帯では、
図4の第四機器群のように、電力使用量が電力供給容量を上回る場合もあると考えられる。
【0033】
電力供給容量をX、電力使用量をYとすると、選択部13は、
図4に示される情報に基づいて、例えば、電力にかけられる負荷が最も小さい機器群を、X-Yが最大となる機器群(
図4の例では第二機器群)として判断してもよい。
【0034】
(待機指示の場合における動作概要)
次に、待機指示が実行される場合における動作について説明する。
【0035】
図5は、負荷分散処理の流れの一例を示す第二のシーケンス図である。ステップS21およびステップS22の処理は、
図3に示される負荷分散処理と同様である。ステップS23において、運用情報取得部12が、全ての機器が対応不可であることを示す運用情報を取得すると、待機指示部14は、処理の待機指示を端末20に送信する(ステップS24)。
【0036】
続いて、運用情報取得部12は、いずれかの機器群が対応可能となると、当該機器群(例えば
図5の例では第二機器群30-2)から対応可能であることを示す運用情報を受信する(ステップS25)。そして、選択部13は、当該運用情報を送信した機器群を、情報処理を実行する機器群として選択し、処理を実行する機器群を指示する情報を端末20に送信する(ステップS26)。
【0037】
端末20は、
図3に示される負荷分散処理と同様に、処理を実行する機器群を指示する情報を受信すると、当該情報に示される機器群(例えば第二機器群30-2)に、処理要求を送信する(ステップS27)。
【0038】
(対応可能か否かの判定方法の具体例)
次に、各機器群が対応可能か否かを判定する方法について説明する。
【0039】
図6は、電力供給容量と電力使用量との関係に応じた機器群の応答例について説明するための図である。
【0040】
各機器群は、例えば電力供給容量901(X)と電力使用量902(Y)との差分(X-Y)があらかじめ規定された余力として規定された値(閾値Th)を超過するか否かを判定する。そして、各機器群は、差分(X-Y)が閾値Thを超えている場合、対応可能であると判定し、差分(X-Y)が閾値Thを超えていない場合、対応不可であると判定してもよい。なお、待機指示部14が、上述した判定方法と同様の判定を行ってもよい。
【0041】
(負荷分散装置のハードウェア構成例)
負荷分散装置10は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
【0042】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0043】
図7は、上記コンピュータのハードウェア構成例を示す図である。
図7のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0044】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0045】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。なお、上記コンピュータは、CPU1004の代わりにGPU(Graphics Processing Unit)またはTPU(Tensor processing unit)を備えていても良く、CPU1004に加えて、GPUまたはTPUを備えていても良い。その場合、例えば特殊な演算が必要な処理をGPUまたはTPUが実行し、その他の処理をCPU1004が実行する、というように処理を分担して実行しても良い。
【0046】
(変形例)
上述した実施の形態には、種々の変形を加えてもよい。例えば、負荷分散装置10は、選択した機器群を指示する情報を端末20に送信する代わりに、選択した機器群に情報処理を要求してもよい。
【0047】
また、負荷分散装置10は、従来の負荷分散方式(例えばラウンドロビン方式)と、上述の方式とを併用してもよい。具体的には、負荷分散装置10は、上述した運用情報が十分であるか否かを判定し、十分でないと判定した場合には、従来の負荷分散方式によって機器群を選択してもよい。
【0048】
(本実施の形態の効果)
本実施の形態に係る負荷分散装置10によれば、各情報処理装置の運用情報を取得して、当該運用情報に基づいて処理を実行すべき情報処理装置を選択することができる。これによって、情報処理装置の負荷を均等化させることができる。
【0049】
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載した負荷分散装置、負荷分散方法およびプログラムが記載されている。
(第1項)
情報処理を実行する装置を選択する要求を端末から取得する選択要求取得部と、
複数の装置の運用状況を示す運用情報を取得する運用情報取得部と、
前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択する選択部と、を備える、
負荷分散装置。
(第2項)
前記運用情報取得部は、電力、プロセッサまたはネットワークにかけられている負荷に関連する前記運用情報を取得し、
前記選択部は、電力、プロセッサまたはネットワークにかけられている前記負荷が小さい装置を選択する、
第1項に記載の負荷分散装置。
(第3項)
前記運用情報取得部は、電力供給容量と電力使用量を含む前記運用情報を取得し、
前記選択部は、前記電力供給容量と前記電力使用量との差分に基づいて、前記情報処理を実行する装置を選択する、
第2項に記載の負荷分散装置。
(第4項)
取得された前記運用情報に基づいて、情報処理を実行すべき装置を選択できないと判定した場合に、前記端末に待機を指示する待機指示部をさらに備える、
第1項から第3項のいずれか1項に記載の負荷分散装置。
(第5項)
前記運用情報取得部は、電力供給容量と電力使用量を含む前記運用情報を取得し、
前記待機指示部は、前記電力供給容量と前記電力使用量との差分があらかじめ規定された閾値を超えるか否かに基づいて、前記情報処理を実行すべき装置であるか否かを判定する、
第4項に記載の負荷分散装置。
(第6項)
コンピュータが実行する負荷分散方法であって、
情報処理を実行する装置を選択する要求を端末から取得するステップと、
複数の装置の運用状況を示す運用情報を取得するステップと、
前記運用情報に基づいて、前記複数の装置のうち、前記情報処理を実行する装置を選択するステップと、を備える、
負荷分散方法。
(第7項)
コンピュータを、第1項から第5項のいずれか1項に記載の負荷分散装置における各部として機能させるためのプログラム。
【0050】
上記構成のいずれによっても、情報処理装置の負荷を均等化させることを可能とする技術が提供される。第2項によれば、電力、プロセッサまたはネットワークにかけられている負荷を最小化する情報処理装置を選択することができる。第3項によれば、電力供給容量と電力使用量との差分に基づいて、情報処理装置を選択することができる。第4項によれば、情報処理を実行すべき装置を選択できないと判定した場合に、端末に待機を指示することができる。第5項によれば、電力供給容量と電力使用量との差分に基づいて、端末に待機を指示することができる。
【0051】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0052】
1 情報処理システム
10 負荷分散装置
11 選択要求取得部
12 運用情報取得部
13 選択部
14 待機指示部
20 端末
30-1 第一機器群
30-2 第二機器群
30-3 第三機器群
30-4 第四機器群
31-1 第一監視機器
31-2 第二監視機器
31-3 第三監視機器
31-4 第四監視機器
32-1 第一情報通信機器群
32-2 第二情報通信機器群
32-3 第三情報通信機器群
32-4 第四情報通信機器群
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置