JP4824807B2 - 負荷管理装置、情報処理システムおよび負荷管理方法 - Google Patents

負荷管理装置、情報処理システムおよび負荷管理方法 Download PDF

Info

Publication number
JP4824807B2
JP4824807B2 JP2009228704A JP2009228704A JP4824807B2 JP 4824807 B2 JP4824807 B2 JP 4824807B2 JP 2009228704 A JP2009228704 A JP 2009228704A JP 2009228704 A JP2009228704 A JP 2009228704A JP 4824807 B2 JP4824807 B2 JP 4824807B2
Authority
JP
Japan
Prior art keywords
state
load
unit
server group
request 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.)
Expired - Fee Related
Application number
JP2009228704A
Other languages
English (en)
Other versions
JP2011076470A (ja
Inventor
友雄 三崎
和彦 松政
真也 沖
敏宏 幸田
甫 小林
諭 岡野
毅 保呂
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2009228704A priority Critical patent/JP4824807B2/ja
Publication of JP2011076470A publication Critical patent/JP2011076470A/ja
Application granted granted Critical
Publication of JP4824807B2 publication Critical patent/JP4824807B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)

Description

本発明は、並列処理における負荷管理装置、方法およびその装置を備える情報処理システムに関する。
地球温暖化と言う問題が、昨今聞かれる。地球温暖化対策の一つとしては電力需要を減らすことがある。電力は一般的に水力発電、太陽光発電、風力発電、地熱発電などの自然由来の発電や、原子力を使う原子力発電や、ガス、石油、石炭などを燃料として燃やし発電を行う火力発電によって供給されている。この中でも特に火力発電は地球温暖化を進める大きな要因となっている。電力需要を減らせば火力発電の発電量も減らすことができるので、その分地球温暖化も抑止されうる。
IT(Information Technology)やICT(Information and Communication Technology)の分野でも、コンピュータやネットワーク機器、データセンタ機器が消費する電力を低減する必要性が指摘され始めている。
近年のインターネットの普及により、多くのデータセンタは、ネットワーク接続型の形態を有しており、インターネットなどの外部のネットワークからの仕事要求を受けて処理を行う。これらのデータセンタのなかには、一度に多くのアクセスを処理するために複数の並列に配置されたサーバを備える構成を採用したものがある(特許文献1参照)。
このようなデータセンタを管理する運用管理システムとしては、株式会社野村総合研究所が提供する千手(登録商標)や株式会社日立製作所が提供するOpenTP1(登録商標)や富士通株式会社が提供するシステムウォーカーがある。
また、ネットワーク接続装置の消費電力低減装置が知られている(特許文献2参照)。
特開2008−225793号公報 特開2007−97126号公報
城田 真琴、クラウドの衝撃、東洋経済新報社、2009年
現行の運用管理システムはロードバランサを備え、アクセス数が少ない場合でも個々のサーバに要求を分散させる。アクセス数によっては一部のサーバに要求が振られない場合もあり、そのようなサーバはアイドル状態で要求を待ち受けることになる。しかしながら、ユーザからのアクセスがなく仕事が発生していないアイドル状態でも、基本OS(operating system)機能とネットワークモニタリング等のタスクとが稼動しており相当の電力が消費されている。サーバ機器にもよるが、アイドル状態の消費電力は、概ね最大性能発揮時の消費電力の30%から70%であると考えられる。省エネの観点から見ると、サーバをアイドル状態に置いておくことは電力の無駄使いと言える。
また、近年クラウドと呼ばれるデータセンタサービスの形態が現れたが(非特許文献1参照)、上述の課題はこのクラウドにおいても生じうる。
本発明はこうした課題に鑑みてなされたものであり、その目的は、要求の並列処理において消費電力を低減できる負荷管理装置の提供にある。
本発明のある態様は負荷管理装置に関する。この負荷管理装置は、互いにネットワークによって接続された複数の情報処理装置を管理する負荷管理装置である。この負荷管理装置は、各情報処理装置の運用に必要な電気料金を記憶する電気料金テーブルと、電気料金テーブルを参照し、電気料金がより高い情報処理装置に含まれる、ネットワークからの要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安い情報処理装置に含まれる、第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別する電気料金ルーティング部と、電気料金ルーティング部において代替可能と判別された場合に、第1状態となっている要求処理ユニットを第2状態に設定し、第2状態となっている要求処理ユニットを第1状態に設定する状態設定部と、を備える。
「要求」は、例えば情報処理装置に対する処理の要求であってもよい。
この態様によると、電気料金を考慮して要求を処理させる要求処理ユニットを代替できる。
本発明の別の態様は、情報処理システムである。この情報処理システムは、互いにネットワークによって接続された複数の情報処理装置と、複数の情報処理装置を管理する負荷管理装置と、を備える。負荷管理装置は、各情報処理装置の運用に必要な電気料金を記憶する電気料金テーブルと、電気料金テーブルを参照し、電気料金がより高い情報処理装置に含まれる、ネットワークからの要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安い情報処理装置に含まれる、第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別する電気料金ルーティング部と、電気料金ルーティング部において代替可能と判別された場合に、第1状態となっている要求処理ユニットを第2状態に設定し、第2状態となっている要求処理ユニットを第1状態に設定する状態設定部と、を含む。
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、要求の並列処理において消費電力を低減できる。
第1の実施の形態に係る情報処理システムおよびその周辺を示す概略図である。 図1におけるアクセスの流れを説明するための説明図である。 図1のロードバランサの機能および構成を示すブロック図である。 図3の接続テーブルを示すデータ構造図である。 図3の第1サーバ群状態テーブルを示すデータ構造図である。 図1の負荷管理装置およびその周辺の機能および構成を示すブロック図である。 図6の負荷履歴テーブルを示すデータ構造図である。 図8(a)〜(d)は、ステータス画面の代表画面図である。 警告画面の代表画面図である。 状態設定画面の代表画面図である。 図1の負荷管理装置における一連の処理を時系列に沿って示すチャートである。 図1の情報処理システムが証券会社のインターネット株取引システムを提供するデータセンタとして使用される場合の、負荷履歴テーブルの一例を示すデータ構造図である。 図1の情報処理システムが検索サービスを提供するデータセンタとして使用される場合の、負荷履歴テーブルの一例を示すデータ構造図である。 第2の実施の形態に係る負荷管理装置を有するクラウドコンピューティングシステムを示す概略図である。 図14の負荷管理装置およびその周辺の機能および構成を示すブロック図である。 図14の負荷履歴テーブルを示すデータ構造図である。 図14のリソース状態テーブルを示すデータ構造図である。 図14の電気料金テーブルを示すデータ構造図である。 図14の表示制御部によってディスプレイに表示されるステータス画面の代表画面図である。 オーバヘッドと性能のかねあいを説明するための、各サーバ群の稼働率を示すグラフである。 本発明のある実施の形態を大学の共用データセンタに適用した場合の負荷履歴テーブルを示すデータ構造図である。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
(第1の実施の形態)
第1の実施の形態に係る負荷管理装置は、複数の並列に配置されたサーバ群でユーザからのアクセスを処理している情報処理システムの管理サーバとして好適に利用される。負荷管理装置は、ネットワークから情報処理システム宛に到来する要求の負荷を過去の運用実績から予測し、その予測値が少ない場合は不必要なサーバ群のOSを休眠させたり、サーバ群の電源自体をオフにする。そして残りのサーバ群に要求を割り当てる。これにより無駄な待機電力を削り情報処理システム全体の消費電力を低減できる。
図1は、第1の実施の形態に係る情報処理システム2およびその周辺を示す概略図である。情報処理システム2は、ネットワーク接続型のデータセンタであり、例えば証券会社のインターネット株取引システムを提供するデータセンタである。情報処理システム2はネットワーク4と接続され、同じくネットワーク4に接続されている少なくともひとつのユーザ端末6から要求を受ける。ここで要求とは、例えばネットワーク4のユーザからのアクセスである。アクセスとは、ユーザ端末6と情報処理システム2のひとつのサーバ群とが接続を確立して一連の情報をやりとりすることである。異なるユーザ端末からのアクセスは異なるアクセスであり、同じユーザ端末からでも異なるアクセスがなされうる。
ネットワーク4は、例えばLAN(Local Area Network)・WAN(Wide Area Network)・インターネットである。ユーザ端末6は、ユーザが使用するコンピュータであり、例えば有線でネットワーク4に接続された家庭用デスクトップコンピュータや、無線でネットワーク4に接続されたラップトップコンピュータである。
情報処理システム2は、負荷管理装置10と、情報処理装置20と、ロードバランサ30と、を備える。
ロードバランサ30は、ネットワーク4と接続され、また情報処理装置20に含まれる個々のサーバ群とバスBUSを介して接続される。ロードバランサ30は、データの流れの観点からは情報処理装置20とネットワーク4との間に位置し、ネットワーク4からの情報処理装置20に対するアクセスを仲介する。
ロードバランサ30はさらに、情報処理装置20に含まれる複数のサーバ群のうちアクセスを受付可能な状態(以下、稼動状態と称する)に設定されたサーバ群に、ユーザからのアクセスを割り当てる。
負荷管理装置10は、情報処理装置20およびロードバランサ30を管理する管理サーバである。負荷管理装置10は以下で説明する負荷予測機能などの他に、例えば株式会社野村総合研究所が提供する先手(登録商標)と同様のサーバ運用管理のための機能を搭載する。
負荷管理装置10は、ネットワーク4からの負荷をロードバランサ30から取得して記録する一方、過去に要求された負荷をもとに今後発生する負荷を予測し、その予測された負荷が所定のモード切替値Moより少なくなると省電力モードに入る。この省電力モードでは負荷管理装置10は、アクセスの処理に不要なサーバ群を稼動状態よりも省電力の状態(以下、省電力状態と称する)に設定する。ここで負荷とは、例えばサーバ群が行う仕事の量を表す値であり、単位時間当たりのアクセスの数を基に定められる。例えば負荷は、単位時間当たりのアクセスの数と比例関係などの数学的関係を有する値であってもよい。また、負荷は単位時間当たりのアクセスの数に上限値または下限値若しくはその両方を課した値であってもよい。以下では、負荷が単に単位時間当たりのアクセスの数(以下、アクセス数と称す)である場合について説明する。
なお、予測された負荷がモード切替値Mo以上の場合は負荷管理装置10は全てのサーバ群を稼動状態に設定する。このモードを通常モードと呼ぶ。
情報処理装置20は、ネットワーク4からのアクセスを処理する。情報処理装置20は、並列に配置された複数のサーバ群を含み、そのそれぞれのサーバ群はアクセスの処理単位である要求処理ユニットとして機能する。本実施の形態では情報処理装置20は、第1サーバ群22aと、第2サーバ群22bと、第3サーバ群22cと、第4サーバ群22dと、第5サーバ群22eと、を含む。しかしながら情報処理装置20が2つ以上の任意の数のサーバ群を含んでよいことは本明細書に触れた当業者には理解される。
第1サーバ群22aは、第1フロントエンドサーバ24aと、第1アプリケーションサーバ26aと、第1データベースサーバ28aと、を含む。これはいわゆる3階層のサーバ群であり、これら1セットでアクセスの処理単位を構成する。第1フロントエンドサーバ24aはバスBUSと接続される。第1フロントエンドサーバ24aは、ウェブサーバとも呼ばれ、HTTP(HyperText Transfer Protocol)に則り、ユーザ端末6のウェブブラウザに対して、HTML(HyperText Markup Language)や画像などのオブジェクトの表示を提供するサービスが動作するサーバコンピュータである。第1アプリケーションサーバ26aは、第1フロントエンドサーバ24aからジャバサーブレット(Java Servlet、ジャバは登録商標)の処理などのアプリケーションに関する機能を切り出して実現するサーバコンピュータである。第1データベースサーバ28aは、第1アプリケーションサーバ26aのアプリケーションが使用するデータが格納されるサーバコンピュータである。第1フロントエンドサーバ24a、第1アプリケーションサーバ26a、および第1データベースサーバ28aは、公知の情報処理技術を使用して実現される。本実施の形態では、第1フロントエンドサーバ24aと第1アプリケーションサーバ26aと第1データベースサーバ28aとは別個のサーバであり、この順に直列に接続されている。
第2サーバ群22b、第3サーバ群22c、第4サーバ群22d、および第5サーバ群22eは、それぞれ第1サーバ群22aと同等の構成を有する。情報処理装置20では、第1サーバ群22a〜第5サーバ群22eのアクセスの処理能力はほぼ等しく設定される。第1サーバ群22a〜第5サーバ群22eはそれぞれ負荷管理装置10と接続され、負荷管理装置10によって管理される。
なお、個々のサーバ群に含まれるサーバは個々にもしくは全体としてOSに管理されている。個々のサーバ群の稼動状態は、ユーザからのアクセスを即時処理可能な状態である。この状態は、サーバ群がユーザからのアクセスを処理しつつ新たなアクセスを処理可能である状態と、ユーザからのアクセスがなく仕事が発生していないアイドル状態と、を含む。稼動状態では、たとえアイドル状態であっても少なくとも基本OS機能とネットワークモニタリングのタスクは稼動しており、その分電力を消費する。本発明者の当業者としての経験から、このアイドル状態での消費電力は、サーバ機器の種類によってピークアクセス数での稼動時のおよそ30%から70%の範囲にある。特に標準的なサーバ機器を用いる場合は60%程度である。ここでピークアクセス数とは、サーバ群がその処理速度を落とさずに稼動できるアクセス数の範囲の上限値であり、サーバ群ごとにその仕様を基に予め定められている。ここで処理速度とは、サーバ群におけるユーザからのアクセスの処理速度である。
個々のサーバ群の省電力状態は、ユーザからのアクセスを即時処理できない状態である。この状態は、サーバ群へ電源は供給されているがそのサーバ群はユーザからのアクセスを処理できないOS休眠状態を含む。サーバ群は負荷管理装置10から休眠導入信号を受信するとOS休眠状態となる。このOS休眠状態では、サーバ群のOSは休眠(ハイボネート)しており、ユーザからのアクセスがあってもそれを受け付けない。OS休眠状態にあるサーバ群は負荷管理装置10から休眠解除信号を受信すると、稼動状態に復帰する。OS休眠状態から稼動状態に復帰するためには通常数秒から数十秒かかる。また本発明者の当業者としての経験から、OS休眠状態におけるサーバ群の消費電力は、ピークアクセス数での稼働時のおよそ5%から10%である。
サーバ群の省電力状態はさらに、サーバ群への電源が遮断されている電源オフ状態を含む。サーバ群は負荷管理装置10から電源オフ信号を受信すると電源オフ状態となる。サーバ群は負荷管理装置10からWOL(Wake Up on LAN)信号などの電源オン信号を受信すると、稼動状態に復帰する。電源オフ状態から稼動状態に復帰するためには通常数分かかる。
詳細は後述するが、本実施の形態ではサーバ群が省電力状態から稼動状態に復帰するためにかかる時間(以下、オーバヘッドと称す)と、省電力状態で低減される消費電力とのかねあいで、省電力状態とされるサーバ群の数が決定される。つまり、予測されるアクセス数を処理するのに必要なぎりぎりの数のサーバ群だけを稼動状態とすると、突然のアクセス数の増大に対して対処できなくなる可能性がある。一方で稼動状態のサーバ群の数が多いほど待機電力由来の消費電力も大きくなる。そこでそれらの影響が拮抗するように、省電力状態とされるサーバ群の数が決定される。
図2は、図1におけるアクセスの流れを説明するための説明図である。以下、1回のアクセスにおいて、少なくともひとつのパケットがユーザ端末6とアクセスが割り当てられたサーバ群との間でやりとりされる場合について説明する。このパケットは、送信元のIPアドレスであるソースIPアドレスSrcと、受信先のIPアドレスであるあて先IPアドレスDstと、後述するシーケンス番号と、を含む。多くの場合において一回のアクセスにつき複数個のパケットがユーザ端末6とサーバ群との間を行き来する。図2では第3サーバ群22cがアクセスに割り当てられたとする。ユーザ端末6のIPアドレスを「175.34.11.21」、ロードバランサ30のIPアドレスを「100.10.10.10」、第3サーバ群22cに含まれる第3フロントエンドサーバ24cのIPアドレスを「121.21.15.3」とする。
ロードバランサ30は、ユーザ端末6に対して仮想サーバとして働く。つまり、ネットワーク4では、ユーザが情報処理装置20が有する情報資源にアクセスしようとする場合、かかる情報資源のURL(Uniform Resource Locator)がロードバランサ30のIPアドレス「100.10.10.10」に名前解決されるよう設定されている。
まずユーザは、ユーザ端末6のウェブブラウザに対して情報処理装置20が有する情報資源のURLを指定する。ユーザ端末6のウェブブラウザによってソースIPアドレスSrcを「175.34.11.21」、あて先IPアドレスDstを「100.10.10.10」とした第1パケットP1が生成され、ネットワーク4に送られる。ロードバランサ30は第1パケットP1を受信し、稼動状態にあるサーバ群のなかから第3サーバ群22cを選択してこのアクセスを割り当てる。ロードバランサ30は、第1パケットP1のソースIPアドレスSrcはそのままにしてあて先IPアドレスDstを「121.21.15.3」とした第2パケットP2をバスBUSに送出する。第3サーバ群22cの第3フロントエンドサーバ24cは自己宛の第2パケットP2を受信し、第2パケットP2の指示にしたがい処理を行う。その処理の結果ユーザ端末6へ戻すべき情報は、ソースIPアドレスSrcを「121.21.15.3」、あて先IPアドレスDstを「175.34.11.21」とした第3パケットP3に含められ、第3フロントエンドサーバ24cからバスBUSに送出される。ロードバランサ30は第3パケットP3を受信する。ロードバランサ30は、第3パケットP3のあて先IPアドレスDstはそのままにしてソースIPアドレスSrcを「100.10.10.10」とした第4パケットP4をネットワーク4に送る。ユーザ端末6は自己宛の第4パケットP4をネットワーク4から受信する。
以下、ユーザ端末6からロードバランサ30に送られるパケット(第1パケットP1)を総称して行きパケット、ロードバランサ30から情報処理装置20へ送られるパケット(第2パケットP2)を総称して割当パケットという。
図3は、ロードバランサ30の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
ロードバランサ30は、第1記憶装置32と、要求取得部34と、要求割当部36と、負荷検出部38と、を備える。
第1記憶装置32は、第1サーバ群状態テーブル322と、接続テーブル324と、を含む。第1サーバ群状態テーブル322は、現在設定されているであろうサーバ群の状態を記憶するテーブルである。第1サーバ群状態テーブル322の詳細は後述する。
接続テーブル324は、同一アクセス内のパケットは同じサーバ群へ送られること(以下、アクセスの同一性と称す)を保証するためのテーブルである。図4は、接続テーブル324を示すデータ構造図である。接続テーブル324には、後述する接続テーブル更新部368によってアクセスに対応するエントリ118が生成される。一回のアクセスに対してひとつのエントリが対応する。接続テーブル324のエントリ118は、アクセスしてきたユーザ端末6のIPアドレスであるユーザ端末IPアドレス210と、ロードバランサ30のIPアドレスであるロードバランサIPアドレス212と、ロードバランサ30によってそのアクセスに割り当てられたサーバ群のフロントエンドサーバのIPアドレスである割当サーバ群IPアドレス214と、ユーザ端末6が同一の場合にアクセスの異同を判別するためのシーケンス番号216と、を有する。同一ユーザ端末6において、異なるアクセスには異なるシーケンス番号216が割り振られる。以下、サーバ群のフロントエンドサーバのIPアドレスを単にサーバ群のIPアドレスと称す。
図3に戻る。要求取得部34は、ネットワーク4と接続される。要求取得部34は、ネットワーク4から到来するユーザ端末6からのアクセスの行きパケットを取得する。この際、要求取得部34は行きパケットに含まれるあて先IPアドレスDstを基に自己宛のパケットであるか否かを判別する。要求取得部34は、取得した行きパケットを要求割当部36に渡す。
なお、本明細書において「渡す」とは、ある機能ブロックからある機能ブロックに情報要素に対する処理が移ることを意味する。要求取得部34と要求割当部36との間で言うと、渡すとは、例えば要求取得部34が図示しない一時メモリを有し、取得した行きパケットをそこに蓄えた上で、要求割当部36からの要請に応じて適宜行きパケットを一時メモリから要求割当部36に伝達することである。また渡すとは、第1記憶装置32が図示しない記憶領域を有し、要求取得部34は取得した行きパケットをその記憶領域に書き込み、要求割当部36は適宜その記憶領域から必要な行きパケットを読み出して処理することであってもよい。
要求割当部36は、ユーザ端末6からのアクセスの行きパケットを稼動状態にあるサーバ群のうちのひとつに割り当てる。要求割当部36は、同一接続判断部362と、サーバ群選択部364と、アドレス変換部366と、接続テーブル更新部368と、を含む。
同一接続判断部362は、要求取得部34から行きパケットを取得し、その行きパケットが新規のアクセスによるものか否かを判別する。同一接続判断部362は、取得した行きパケットのソースIPアドレスSrcとシーケンス番号とを読み取る。同一接続判断部362は、読み取られたソースIPアドレスSrcとシーケンス番号とをキーとして接続テーブル324のエントリ118を検索し、それらと一致するエントリ118が存在する場合、そのエントリ118に含まれる割り当てられたサーバ群の割当サーバ群IPアドレス214を取得する。同一接続判断部362は、この取得された割当サーバ群IPアドレス214と行きパケットとをアドレス変換部366に渡す。
なお、このように一致するエントリ118が存在する場合は、当該行きパケットは既にあるサーバ群(エントリ118の割当サーバ群IPアドレス214で指定されるサーバ群)に割り当てられたアクセスのなかのひとつのパケットである。アドレス変換部366は、渡された行きパケットのあて先IPアドレスDstを、同一接続判断部362によって接続テーブル324から取得された割当サーバ群IPアドレス214に変換する。このようにあて先IPアドレスDstが変換された行きパケットはアドレス変換部366から割当パケットとしてバスBUSに送出される。
一致するエントリ118が存在しない場合は、同一接続判断部362は当該行きパケットをサーバ群選択部364に渡す。この場合は同一接続判断部362は新規のアクセスを検知したと言うことができる。
サーバ群選択部364は、同一接続判断部362から新規のアクセスに対応する行きパケットを受け取ると、第1サーバ群状態テーブル322を参照してそのアクセスを処理させるサーバ群を選択する。第1サーバ群状態テーブル322は、負荷管理装置10におけるアクセス数の予測に基づき負荷管理装置10によって更新される。
図5は、第1サーバ群状態テーブル322を示すデータ構造図である。第1サーバ群状態テーブル322は、サーバ群のIPアドレス202と、サーバ群の状態204と、サーバ群の稼働率206と、を対応付けて記憶する。サーバ群の稼働率206は、サーバ群のピークアクセス数に対する現在そのサーバ群が処理しているアクセス数の割合を%単位で示す。この稼働率206は、図示されない稼働率更新部によって、予め定められているサーバ群のピークアクセス数と、接続テーブル324から分かるサーバ群に現在割り当てられているアクセス数とから演算され更新されてもよい。あるいは、図示されない稼働率更新部が稼動状態にあるサーバ群から稼働率を取得し、第1サーバ群状態テーブル322の稼働率206を更新してもよい。または、負荷管理装置10によって更新されてもよい。
図3に戻る。サーバ群選択部364は、第1サーバ群状態テーブル322に登録されたサーバ群のなかからサーバ群の状態204を参照して稼動状態にあるサーバ群を抽出する。後述する負荷管理装置10によってロードバランサ30が省電力モードに設定されているか通常モードに設定されているかによって、サーバ群選択部364が稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択するアルゴリズムは異なる。以下それぞれの場合について説明する。
1.省電力モード
省電力モードでは、サーバ群選択部364は、稼動状態にあるサーバ群の稼働率が100%となるように、稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択する。例えば図5の例では、サーバ群選択部364は新規のアクセスを処理させるサーバ群として第3サーバ群22cを選択する。また、例えば第1サーバ群22a、第2サーバ群22b、第3サーバ群22cが稼動状態に設定されており、第1サーバ群22aの稼働率が100%、第2サーバ群22bの稼働率が80%、第3サーバ群22cの稼働率が0%の場合、サーバ群選択部364は新規のアクセスを処理させるサーバ群として第2サーバ群22bを選択する。
2.通常モード
通常モードでは、全てのサーバ群が稼動状態にある。サーバ群選択部364は、予め設定されている負荷分散アルゴリズムにしたがって、新規のアクセスを処理させるのに最適なサーバ群を選択する。ここで使用される負荷分散アルゴリズムは、順番にサーバ群が選択されるラウンドロビン方式や、処理しているアクセス数が最小のサーバ群を選択する最小接続方式や、1番早く応答しているサーバ群を選択する最速方式などの公知のアルゴリズムである。
サーバ群選択部364は、選択されたサーバ群のIPアドレスと新規のアクセスに対応する行きパケットとをアドレス変換部366に渡す。アドレス変換部366は、渡された行きパケットのあて先IPアドレスDstを、サーバ群選択部364によって選択されたサーバ群のIPアドレスに変換する。このようにあて先IPアドレスDstが変換された行きパケットはアドレス変換部366から割当パケットとしてバスBUSに送出される。
接続テーブル更新部368は、サーバ群選択部364で新規のアクセスに対してサーバ群の選択が行われる毎に、その選択に関する情報をサーバ群選択部364から取得し、接続テーブル324に対応するエントリを追加する。この選択に関する情報は、新規のアクセスを行ったユーザのユーザ端末6のユーザ端末IPアドレス210と、ロードバランサIPアドレス212と、新規のアクセスに対して選択されたサーバ群の割当サーバ群IPアドレス214と、シーケンス番号216と、を含む。
また、接続テーブル更新部368は、適宜不要となったエントリを削除する。
負荷検出部38は、要求取得部34によって取得されたアクセスのアクセス数を周期的に検出する。負荷検出部38は、接続テーブル324を参照してエントリ118の数をカウントすることで、所定の時間間隔で情報処理装置20全体へのアクセス数(以下、総アクセス数と称す)を取得する。また負荷検出部38は、要求取得部34と要求割当部36との間の行きパケットの流れを監視し、所定の時間間隔でアクセスの数をカウントし、そのカウント数から単位時間当たりのアクセスの数、つまりアクセス数を導出してもよい。なお、負荷検出部38は要求取得部34の前段や要求割当部36の後段など、ロードバランサ30の任意の箇所で負荷を監視してもよい。負荷検出部38は、検出した総アクセス数を負荷管理装置10に渡す。
負荷検出部38における上述の時間間隔は負荷管理装置10のモードを更新する基準となる時間間隔であり、負荷管理装置10によって定められる。以下、この時間間隔の長さを有する期間を時間帯と呼ぶ。つまり、時間間隔は例えば15分間隔であり、時間帯は例えば2009年9月16日の09:00−09:15である。
図6は、負荷管理装置10およびその周辺の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
負荷管理装置10は、第2記憶装置110と、負荷取得部120と、学習部130と、状態設定部140と、乖離判定部150と、オーバライド部160と、表示制御部170と、を備える。第2記憶装置110は、負荷履歴テーブル112と、第2サーバ群状態テーブル114と、を含む。
負荷取得部120は、ロードバランサ30の負荷検出部38からそこで検出された総アクセス数を取得する。つまり、負荷取得部120はネットワーク4からの情報処理装置20に対するアクセスの総アクセス数を取得する。負荷取得部120はこの総アクセス数をテーブル更新部132および乖離判定部150に渡す。後述する適応モードでは、負荷取得部120は取得した総アクセス数を予測総アクセス数の代わりに負荷比較部142に渡す。
学習部130は、テーブル更新部132と、負荷予測部134と、を含む。学習部130は、テーブル更新部132によって総アクセス数の履歴を負荷履歴テーブル112に記憶し、その記憶をふまえて負荷予測部134によって今後発生しうる総アクセス数を予測する。これにより、運用実績が長いほど省エネの観点からより賢くなる運用管理が可能となる。
テーブル更新部132は、負荷取得部120によって取得された総アクセス数をもとに事前にないし事後的に、負荷履歴テーブル112を更新する。負荷履歴テーブル112はしたがって、過去に要求された総アクセス数を記録する。ここで事前に更新する、とは例えば総アクセス数にカウントされているアクセスがサーバ群によって処理される前若しくは処理されている間に更新するという意味であり、事後的に更新するとは例えばそのようなアクセスがサーバ群によって処理されてしまった後に更新するという意味である。あるいはまた、事前に更新するとは、総アクセス数にカウントされているアクセスがサーバ群によって確かに処理されることを前提として更新することであってもよく、事後的に更新するとはそのようなアクセスがサーバ群によって処理されたことを確認した後に更新することであってもよい。
図7は、負荷履歴テーブル112を示すデータ構造図である。負荷履歴テーブル112は、時間帯218と、その時間帯が属する属性220と、その時間帯に取得された総アクセス数222と、その時間帯に稼動状態に設定される稼動サーバ群の数224と、その時間帯の平均稼動率226と、を対応付けて記憶する。時間帯が属する属性220とは、例えば月曜日、火曜日などの曜日や、平日休日の別や、年末年始とそれ以外の別や、午前午後の別や、それらの任意の組み合わせである。平均稼働率226は、稼動状態に設定されるサーバ群の稼働率の平均値である。
テーブル更新部132は、稼動状態に設定される稼動サーバ群の数224を取得するために第2サーバ群状態テーブル114を参照してもよい。
図6に戻る。負荷予測部134は、過去に要求された総アクセス数をもとに今後発生する総アクセス数を予測する。負荷予測部134は、未来の時間帯毎に総アクセス数を予測する。後述の状態設定部140もまた、この時間帯毎に必要に応じてサーバ群の状態を設定する。特に負荷予測部134は、総アクセス数予測の対象となる時間帯(以下、予測対象の時間帯と称す)について負荷履歴テーブル112を参照して総アクセス数を予測する。以下、負荷予測部134によって予測される総アクセス数を予測総アクセス数と称す。
負荷予測部134では、情報処理システム2が使用される目的に応じた総アクセス数の傾向(トレンド)を負荷履歴テーブル112から抽出する処理と、抽出された傾向に基づいて予測対象の時間帯の総アクセス数を予測する処理とが行われる。特に負荷予測部134では、時間帯の属性をキーとして総アクセス数の傾向が抽出される。
負荷予測部134は予測対象の時間帯が属する属性に対応する総アクセス数を負荷履歴テーブル112から取得してその時間帯に対する予測総アクセス数とする。
例えば、曜日がキーとして設定された場合、負荷予測部134は負荷履歴テーブル112を参照し、曜日毎の総アクセス数の平均値を演算する。負荷予測部134は、これらの平均値のうち予測対象の時間帯の曜日にマッチする曜日の平均値を予測総アクセス数とする。また、例えば平日休日の別がキーとして設定された場合、負荷予測部134は負荷履歴テーブル112を参照し、平日の総アクセス数の平均値と休日の総アクセス数の平均値を演算する。負荷予測部134は、これらの平均値のうち予測対象の時間帯が平日であれば平日の、休日であれば休日の平均値を予測総アクセス数とする。
なお、ここでは一例として平均値を用いたが、代表値などの他の統計的なパラメータであってもよい。
負荷予測部134は予測総アクセス数を乖離判定部150および状態設定部140の負荷比較部142に渡す。
状態設定部140は、予測総アクセス数がモード切替値Moより少ない場合、予測対象の時間帯において情報処理装置20に含まれる少なくともひとつのサーバ群を省電力状態に設定し、負荷管理装置10およびロードバランサ30を省電力モードに設定する。なお、負荷管理装置10およびロードバランサ30は、状態設定部140によって省電力モードに設定されなければ、通常モードで動作するよう設定されている。
状態設定部140におけるモード切替値Moは、情報処理装置20の性能が落ちない範囲に設定される。ここで性能とは、例えばどれだけのアクセス数をどの程度の速さで処理できるかということである。あるいは性能とは、ひとつのアクセスが処理されるのにかかる時間などのレスポンスタイムであってもよい。また、情報処理装置20の性能が落ちる、とは、例えばあるサーバ群に対してピークアクセス数を越える数のアクセスが割り当てられ、その結果そのサーバ群の処理速度が落ちることにより情報処理装置20全体のアクセスの処理速度が落ちることである。
例えば第1サーバ群22aから第5サーバ群22eのピークアクセス数が全て2000であるとする。この場合モード切替値Moを9000に設定すると、予測総アクセス数が8500であっても予測対象の時間帯で少なくともひとつのサーバ群を省電力状態に設定しなくてはならない。ここでは第5サーバ群22eを省電力状態に設定したとする。残りの4つのサーバ群22a〜22dのトータルのピークアクセス数は8000であり、予測総アクセス数8500よりも少ない。したがってこの場合、予測対象の時間帯が到来したときに、残りの4つのサーバ群22a〜22dのうちの少なくともひとつのサーバ群がピークアクセス数以上のアクセスを処理しなくてはならなくなる可能性が高くなり、その場合そのサーバ群の処理速度は低下する。これにより情報処理装置20全体の処理速度が落ちる可能性がある。このような状況を避けるために、モード切替値Moは情報処理装置20の性能が落ちない範囲に設定される。上述の例ではモード切替値Moは8000以下に設定されればよい。
状態設定部140は、サーバ群の最大性能を発揮せしめる前提で、アクセスを処理させるサーバ群を決定し、予測対象の時間帯において残りのサーバ群を省電力状態に設定する。この場合サーバ群の最大性能を発揮せしめる、とは、例えばサーバ群にピークアクセス数でアクセス処理を行わせることであり、言い換えるとサーバ群を100%の稼働率で使用することである。さらに状態設定部140は、予測総アクセス数の変動により情報処理装置20の性能が落ちると予測される場合には、予測対象の時間帯において省電力状態に設定されている少なくともひとつのサーバ群を稼動状態に設定する。
サーバ群を省電力状態または稼動状態に設定することに関して、状態設定部140では、予測対象の時間帯において稼動状態にするサーバ群の数に応じた予測総アクセス数の範囲が定められている。状態設定部140は例えば予測総アクセス数が0から第1しきい値T1の範囲にあれば予測対象の時間帯においてひとつのサーバ群のみを稼動状態とし、他のサーバ群を省電力状態とする。表1は、状態設定部140における状態設定に関して、稼動状態とするサーバ群の数と、OS休眠状態とするサーバ群の数と、電源オフ状態とするサーバ群の数と、予測総アクセス数の範囲と、の関係を示す。T2は第2しきい値、T3は第3しきい値であり、T1<T2<T3である。個々のしきい値は予め情報処理システム2の管理者によって設定される。
Figure 0004824807
第1しきい値T1、第2しきい値T2、第3しきい値T3はそれぞれサーバ群を100%の稼働率で使用することを前提に設定される。つまり上述の第1サーバ群22aから第5サーバ群22eのピークアクセス数が全て2000であるとする例では、T1=2000、T2=4000、T3=6000である。この場合、予測総アクセス数のアクセスを処理するのに必要最低限の数のサーバ群が予測対象の時間帯において稼動状態とされる。また、例えば第1しきい値T1と第2しきい値T2との間にあった予測総アクセス数が増大して第2しきい値T2を越えた場合、そのままだと予測対象の時間帯において少なくともひとつのサーバ群の稼働率が100%を上回ると予測されるので、予測対象の時間帯において稼動状態とするサーバ群の数をひとつ増やして情報処理装置20の処理速度の低下を回避する。
状態設定部140は、負荷比較部142と、稼動サーバ群決定部144と、状態信号生成部146と、を含む。
負荷比較部142は、負荷予測部134から取得した予測総アクセス数と、第1しきい値T1、第2しきい値T2、第3しきい値T3、モード切替値Moとの大小関係を判別する。この大小関係は例えば「T2<予測総アクセス数<T3」という情報である。負荷比較部142はこの大小関係に関する情報を稼動サーバ群決定部144に渡す。
稼動サーバ群決定部144は、この情報を基に表1のストラテジにしたがい、次の時間帯で状態の切替が必要な場合には、稼動状態とするサーバ群とOS休眠状態とするサーバ群と電源オフ状態とするサーバ群を決定する。稼動サーバ群決定部144は次の時間帯の到来に合わせて、この決定に基づき第2サーバ群状態テーブル114およびロードバランサ30の第1サーバ群状態テーブル322を更新する。稼動サーバ群決定部144は、次の時間帯の到来に合わせて、状態の切り替えが必要なサーバ群の情報を状態信号生成部146に渡す。稼動サーバ群決定部144は、状態の切り替えが必要ない場合には処理を中断または終了し、次の情報を待ち受ける。
第2サーバ群状態テーブル114は図5に示される第1サーバ群状態テーブル322と同様のテーブルである。なお、負荷管理装置10またはロードバランサ30のいずれか一方がサーバ群状態テーブルを備え、そのテーブルを備えない方が備える方のテーブルを参照する構成としてもよい。
稼動サーバ群決定部144は、表1のストラテジから稼動状態、OS休眠状態および電源オフ状態とするサーバ群の数をまず決める。次に稼動サーバ群決定部144は第2サーバ群状態テーブル114を参照し、次の時間帯でサーバ群の状態を切り替える必要があるか、言い換えると負荷予測部134が予測した次の時間帯での予測総アクセス数に対応する各状態のサーバ群の数と第2サーバ群状態テーブル114に登録されている現在の各状態のサーバ群の数とが一致するか否かを判断する。そこで一致する場合は稼動サーバ群決定部144は処理を中断または終了する。
一致しない場合は、稼動サーバ群決定部144は次の時間帯でそれぞれの状態にするサーバ群を決める。ここでそれぞれの状態にするサーバ群を決めるアルゴリズムは、例えば稼動状態、OS休眠状態、電源オフ状態の順番で第1サーバ群22aから第5サーバ群22eに順番に割り当てる方式である。言い換えると、サーバ群の状態を切り替える必要がある場合、稼動状態にあるサーバ群はなるべく稼動状態のままでおいておく方式である。この場合、サーバ群の状態を切り替える回数が少なくてすみ、切り替えに伴うオーバヘッドの低減、レスポンスの高速化に寄与する。また、オーバヘッドが気にならない間隔(例えば、一週間や一月)でランダムに設定してもよい。この場合、サーバ機器のHDD(Hard Disk Drive)などの消耗品の耐用年数を平均化できる。また、サーバ群の性能が異なる場合は、その異なる性能に基づき決めてもよい。
なお、稼動サーバ群決定部144でのサーバ群を決める上述のアルゴリズムでは、特に稼動状態を省電力状態に切り替える場合は、アクセスの同一性が考慮されてもよい。例えば、稼動サーバ群決定部144は、稼動状態を省電力状態に切り替える場合、次の時間帯の到来に合わせて第2サーバ群状態テーブル114および第1サーバ群状態テーブル322を更新して省電力状態に切り替えるべきサーバ群への新規アクセスの割り当てを制限する一方、ロードバランサ30の接続テーブル324を参照し、省電力状態に切り替えるべきサーバ群へのアクセスがなくなったことを確認してから状態の切り替えが必要なサーバ群の情報を状態信号生成部146に渡してもよい。これによりアクセスの同一性が保証されうる。
状態信号生成部146は第1サーバ群22a〜第5サーバ群22eに接続される。
状態信号生成部146は、状態の切り替えが必要なサーバ群の情報に基づきそのサーバ群に対して切替に対応する休眠導入信号、休眠解除信号、電源オフ信号、および電源オン信号のうちのいずれかを送る。例えば第3サーバ群22cを稼動状態(OS休眠状態)からOS休眠状態(稼動状態)とする必要がある場合、状態信号生成部146は第3サーバ群22cに対して休眠導入信号(休眠解除信号)を送出する。また、第3サーバ群22cを稼動状態(電源オフ状態)から電源オフ状態(稼動状態)とする必要がある場合、状態信号生成部146は第3サーバ群22cに対して電源オフ信号(電源オン信号)を送出する。
状態信号生成部146によって省電力状態から稼動状態に設定されたサーバ群は、それが稼動状態であることが稼動サーバ群決定部144によってロードバランサ30の第1サーバ群状態テーブル322に記録されるので、ロードバランサ30の要求割当部36によって新規のアクセスが割り当てられる。
ロードバランサ30の負荷検出部38における検出の時間間隔に関し、負荷管理装置10は図示しない時間間隔設定部を有し、時間間隔設定部は総アクセス数の変動率を監視し、変動率が大きいほど時間間隔を短く設定してもよい。これにより、より適応的なサーバ群状態の制御が可能となる。また、処理を簡素化するという観点からは時間間隔は情報処理システム2の管理者によって予め定められてもよい。
負荷管理装置10は、予測総アクセス数を基に状態設定部140でサーバ群の状態を設定する上述の負荷予測モードの他に、負荷取得部120で取得された総アクセス数を基に状態設定部140でサーバ群の状態を適応的に設定する適応モードを有する。以下、この適応モードについて説明する。
乖離判定部150は、予測された総アクセス数と実際の総アクセス数との差が大きい、つまりその差の絶対値が所定の乖離値よりも大きい場合、状態設定部140に実際の総アクセス数に基づいてサーバ群の状態を設定せしめる。
乖離判定部150は、負荷取得部120からロードバランサ30で検出された現在の時間帯に対応する総アクセス数を取得する。また乖離判定部150は負荷予測部134から現在の時間帯に対して予測された予測総アクセス数も取得する。そして乖離判定部150は、両者の差を演算する。その差の絶対値が乖離値より大きい場合は、乖離判定部150は状態設定部140の負荷比較部142に、予測総アクセス数の代わりに負荷取得部120からの総アクセス数を使用させる。この場合負荷比較部142は、負荷取得部120からの総アクセス数と、第1しきい値T1、第2しきい値T2、第3しきい値T3、モード切替値Moとの大小関係を判別する。状態設定部140はかかる大小関係を使用して上述の処理と同様の処理を行う。これにより状態設定部140は、予測された総アクセス数と実際の総アクセス数との差が大きい場合に、実際の総アクセス数に応じて適応的にサーバ群の状態を設定することができる。
また、負荷管理装置10は、情報処理システム2の管理者がマニュアルでサーバ群の状態を設定できるマニュアル設定モードも有する。オーバライド部160は、負荷管理装置10に付随するキーボードなどの入力装置12から管理者によるマニュアル設定を受け付ける。オーバライド部160はこのマニュアル設定を受け付けると状態設定部140に、このマニュアル設定に基づいてサーバ群の状態を設定せしめる。これにより急激な使用環境の変化にも対応可能となる。
表示制御部170は、負荷取得部120からは現在の時間帯における総アクセス数を、第2サーバ群状態テーブル114からは現在のサーバ群の状態を、取得する。表示制御部170は、負荷管理装置10に付随するディスプレイ14に総アクセス数とサーバ群の状態とを示すステータス画面400a〜400d(図8(a)〜(d)で後述)を表示させる。また、表示制御部170は、乖離判定部150において予測された総アクセス数と実際の総アクセス数との差の絶対値が乖離値よりも大きいと判断された場合、ディスプレイ14に警告画面402(図9で後述)を表示させる。また、表示制御部170は、管理者によるマニュアル設定のための状態設定画面404(図10で後述)をディスプレイ14に表示させる。
図8(a)〜(d)は、ステータス画面400a〜400dの代表画面図である。ここでは、第1サーバ群22aから第5サーバ群22eのピークアクセス数が全て2000であるとする。図8(a)〜図8(d)はそれぞれ現在の時間帯における総アクセス数が1600、2800、4400、7000の場合に対応する。
図8(a)は、現在の時間帯における総アクセス数が1600の場合に対応するステータス画面400aの代表画面図である。ステータス画面400aは、総アクセス数領域406と、グラフ408と、オーバライドボタン410と、を含む。総アクセス数領域406は、現在の時間帯における総アクセス数を示す。グラフ408は、各サーバ群の稼働率を示す。グラフ408において「△」はOS休眠状態を示し、「×」は電源オフ状態を示す。オーバライドボタン410は、押し下げられるとオーバライド部160をトリガする。オーバライドボタン410が押し下げられると表示制御部170は状態設定画面404をディスプレイ14に表示させる。図8(b)〜図8(d)についても同様である。
図9は、警告画面402の代表画面図である。
図10は、状態設定画面404の代表画面図である。状態設定画面404は、設定領域412と、設定ボタン414と、を含む。状態設定画面404を開いた直後の状態では、設定領域412には各サーバ群の現在の状態がラジオボタン方式で示されている。設定領域412では第1サーバ群22a〜第5サーバ群22eはそれぞれサーバ群A〜サーバ群Eという名称で表示されている。管理者はマウスなどの入力装置12を使用して各サーバ群の状態を選択し、設定ボタン414を押し下げる。すると設定領域412に設定された各サーバ群の状態が所望のマニュアル設定としてオーバライド部160に送られる。これにより、第1サーバ群22a〜第5サーバ群22eのそれぞれを稼動状態とするか、OS休眠状態とするか、または電源オフ状態とするかを設定できる。
図11は、負荷管理装置10における一連の処理を時系列に沿って示すチャートである。負荷検出部38における総アクセス数検出の時間間隔は15分間隔である場合を考える。2009年9月16日の9:15に、負荷取得部120はロードバランサ30から総アクセス数を取得する(S502)。テーブル更新部132は、取得された総アクセス数をもとに負荷履歴テーブル112を更新する(S504)。一方、2009年9月16日の9:15−9:30の時間帯内でステップS504の負荷履歴テーブル112更新と重ならないときに、負荷予測部134は負荷履歴テーブル112を参照して次の時間帯(9:30−9:45)の総アクセス数を予測する(S506)。状態設定部140は、予測総アクセス数とモード切替値Mo、第1しきい値T1、第2しきい値T2、第3しきい値T3との大小比較を行う(S508)。状態設定部140は、その大小比較を基に次の時間帯においてサーバ群の状態の切替が必要か否かを判断する(S510)。状態の切替が必要でない場合(S510のN)、次の時間帯が到来してもサーバ群の状態の設定は行わない。状態の切替が必要な場合(S510のY)、状態設定部140は次の時間帯におけるサーバ群の状態を決定する(S512)。次の時間帯が到来すると、つまり2009年9月16日の9:30になると、状態設定部140はサーバ群の状態をステップS512で決定されたように設定する。また、状態設定部140は平行して第2サーバ群状態テーブル114およびロードバランサ30の第1サーバ群状態テーブル322を更新する(S514)。負荷管理装置10はこの処理を時間帯単位で繰り返す。
以上の構成による負荷管理装置10および情報処理システム2の動作を説明する。情報処理システム2は例えばインターネット上のデータセンタであり、ユーザはユーザ端末6を使用してこの情報処理システム2にあるウェブページなどの情報資源にアクセスする。負荷管理装置10はこのようなアクセスの履歴を負荷履歴テーブル112に蓄積する。そして負荷管理装置10はこの負荷履歴テーブル112を解析し、発生しうるアクセス数を予測する。負荷管理装置10はその予測値に基づいて稼動状態とするサーバ群を選択し、残りのサーバ群を省電力状態に設定する。予測対象の時間帯においてユーザからのアクセスは稼動状態にあるサーバ群のうちのひとつのサーバ群に割り当てられ、そこで処理される。したがって、省電力状態としたサーバ群の待機電力分だけ情報処理システム2全体の消費電力を低減できる。また、予測値の増大により情報処理システム2の処理能力を増やす必要が出てくると、負荷管理装置10は稼動状態とするサーバ群の数を増やす。
上述の第1の実施の形態において、記憶装置の例は、ハードディスクやメモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶するメモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
本実施の形態に係る負荷管理装置10によると、データセンタなどの情報処理システム2が使用される目的、例えば証券業務や検索エンジンなど、に応じた総アクセス数の傾向を把握し、それを用いて今後発生しうる総アクセス数を予測できる。そしてこの予測総アクセス数が少ない場合は、予測対象の時間帯において少なくともひとつのサーバ群が省電力状態に設定される。
上述した通り稼動状態のサーバ群の消費電力は、アイドル状態であってもピーク時のおよそ60%である。これに対して省電力状態のサーバ群の消費電力はピーク時のおよそ0〜10%である。本実施の形態では、アクセス数が少ないと予測され、したがってアクセスを処理する必要がないと予測されるサーバ群がある場合はそれらのサーバ群をアイドル状態ではなく省電力状態としている。これにより、情報処理装置20全体の消費電力を低減でき、電力の無駄遣いを抑え、省エネ化を図ることができる。
また本実施の形態に係る負荷管理装置10では、情報処理システム2が使用される目的に応じた総アクセス数の傾向を把握し、それを用いて今後発生しうる総アクセス数を予測しているので、個々の使用目的に対して最適な消費電力低減化、省エネ化を実現できる。
また本実施の形態に係る負荷管理装置10では、負荷履歴テーブル112は、取得された総アクセス数と、その総アクセス数が取得された時間帯が属する属性と、を対応付けて記憶する。したがって、総アクセス数の傾向を属性を基準にして把握することができる。さらに負荷管理装置10では、予測対象の時間帯が属する属性に対応する総アクセス数を負荷履歴テーブル112から取得してその時間帯に対して予測される総アクセス数とする。したがって、属性を情報処理システム2の使用目的に応じて適切に設定することにより、予測される総アクセス数の精度を向上することができる。
図12は、本実施の形態に係る情報処理システム2が証券会社のインターネット株取引システムを提供するデータセンタとして使用される場合の、負荷履歴テーブル112aの一例を示すデータ構造図である。ここでは稼動サーバ群の数および平均稼動率は説明を明瞭とするため省略される。この場合の総アクセス数の傾向としては、証券取引所の取引時間内にアクセスが集中することがある。また、証券取引所が閉まってからしばらくはいわゆるバッチ処理を行うためにいくらかの仕事が発生する。それ以外で証券取引所が閉まっている時間帯、例えば休日などにはアクセスはほとんどない。あっても証券会社の顧客が自己の口座の情報を参照する程度である。したがって、図12に示されるように、時間帯の属性として、証券取引所の取引時間にあたる時間帯に「取引時間」という属性を、バッチ処理が行われる時間帯に「バッチ処理」という属性を、それ以外の時間帯に「時間外」もしくは土日祝日の場合は「休日」を、それぞれ与えてもよい。このような属性を付与することで、証券会社のインターネット株取引システムを提供するデータセンタに発生する総アクセス数をより適切に予測することができる。
図13は、本実施の形態に係る情報処理システム2が検索サービスを提供するデータセンタとして使用される場合の、負荷履歴テーブル112bの一例を示すデータ構造図である。ここでは稼動サーバ群の数および平均稼動率は説明を明瞭とするため省略される。この場合の総アクセス数の傾向としては、平日よりも休日の方が利用が多く、また平日でも午前よりも午後の方が利用が多いことがある。したがって、図13に示されるように、時間帯の属性として、平日休日の別と午前午後の別との組み合わせを与えてもよい。このような属性を付与することで、検索サービスを提供するデータセンタに発生する総アクセス数をより適切に予測することができる。
本実施の形態に係る負荷管理装置10では、省電力モード(予測総アクセス数<モード切替値Mo)においては、表1に示される通りOS休眠状態とするサーバ群と電源オフ状態とするサーバ群との両方を設けている。これにより、予測対象の時間帯において突然総アクセス数が増大した場合は、適応モードに移行した後復帰のためのオーバヘッドが小さいOS休眠状態にあるサーバ群を稼動状態に戻すことで対応できる。また、そのように対応できる限りにおいては他のサーバ群は電力を消費しない電源オフ状態とし、情報処理装置20全体の消費電力をさらに低減している。なお、表1ではOS休眠状態とするサーバ群をひとつだけ確保しているが、この数はオーバヘッドと消費電力とのかねあいで定められればよく、適宜増減可能であることは本明細書に触れた当業者には理解される。
本実施の形態に係る負荷管理装置10では、状態設定部140はサーバ群の最大性能を発揮せしめる前提で、予測対象の時間帯において稼動状態とするサーバ群を決定する。このサーバ群の決定方式によると、所与の予測総アクセス数に対してより多くの数のサーバ群を省電力状態とすることができる。したがって、情報処理装置20全体の消費電力をより低減できる。なお、稼働率によってサーバ群の消費電力が異なるのも事実ではあるが、上述の通りアイドル状態でもピーク時のおよそ60%の電力が消費されることを考えると、稼働率を下げることによる電力削減効果よりもアイドル状態を省電力状態とすることによる電力削減効果のほうが大きいと考えられる。
また、モード切替値Moは情報処理装置20の性能が落ちない範囲に設定される。これにより、予測総アクセス数が多い場合は通常モードで情報処理装置20の並列処理能力をいかんなく発揮させ、予測総アクセス数が少なくなると省電力モードに移行させて性能を保ちつつ電力消費量を低減できる。
また、状態設定部140は予測総アクセス数の変動により情報処理装置20の性能が落ちると予測される場合には、予測対象の時間帯において省電力状態のサーバ群を稼動状態に設定する。これにより、サーバ群をピークアクセス数以上で使用しなければならない状況を回避し、アクセス処理の遅滞を避けることができる。
(第2の実施の形態)
第1の実施の形態では、並列に配置された複数のサーバ群を有するひとつのデータセンタを管理する負荷管理装置10が、負荷の傾向を把握して省エネの観点から適切にサーバ群の状態を管理する場合について説明した。第2の実施の形態では、近年登場したクラウドコンピューティングシステムにおいて省エネの観点から適切にそのリソースを制御する負荷管理装置を説明する。
インターネットの発展により、新たなデータセンタサービスの形態として、クラウドコンピューティング方式が登場した。この方式では、企業などのユーザが自前でデータセンタ機器(ルータなどのネットワーク機器やサーバ、ストレージなどであり、以下リソースと称す)を用意する代わりに、時間貸しや運用アウトソースの形態でクラウドサービス提供事業者のリソースを利用する。
ユーザ側から見ると自分が利用しているサーバやストレージが何処にあるか分からないので、雲(クラウド)の中に居るようなという意味でクラウドコンピューティングと言う名前が発祥した。
クラウドサービス提供事業者によっては、ソフトウエアやアプリケーションのサービスを提供する場合もある。この場合で特にパブリッククラウドと呼ばれる一般の不特定多数のユーザが時間貸しやストレージのデータ量で課金を受けるサービスでは、その利用形態からクラウドサービス提供事業者は多くのリソースを持つ必要がある。クラウドサービス提供事業者は、通常複数のデータセンタを持ち、必要に応じてユーザからの負荷を複数のデータセンタに分散させる方式を取っている。
クラウドコンピューティングシステムにユーザから課される仕事には、サーバのみの利用、ストレージのみの利用、およびサーバやストレージの利用によるルータの負荷などがある。事例としては、米国の大手新聞社が、100年にわたる過去の出版紙面の全ページの電子化プロジェクトを行った。そこでは自前でデータセンタを用意してのデータ処理は行わずに、クラウドサービス提供事業者を利用し、新聞紙面のイメージの電子化の処理(サーバ処理)と電子化された全紙面を一時保存する為のストレージの利用を行った。この利用においては、膨大な量のデータが発生し、ストレージの利用が大きなものとなったが、プロジェクトの終結後には、ストレージからデータが消去されストレージの利用率が大きく下がった。この新聞社のプロジェクトの事例では、予め利用されるサーバとストレージの量が決まっているので、クラウドサービス提供事業者はその利用分のサーバとストレージを用意すればよい。しかし、パブリッククラウドでの利用となると、この新聞社のように決まった分量のサーバ負荷予測とストレージを利用するデータ量の予測が難しい。したがってパブリッククラウドを提供するクラウドサービス提供事業者は、負荷が大きくなっても対処可能なようにできるだけ多くのリソースを保持し必要に応じて運用しなければならない。
しかしながら、負荷が小さい場合は、アイドル状態で仕事を待ち受けるリソースが多数発生する。しかしながら上述の通りアイドル状態でもリソースにおいて相当の電力が消費されている。したがって、省エネの観点から見ると、リソースをアイドル状態に置いておくことは電力の無駄使いと言える。
そこで第2の実施の形態に係る負荷管理装置は、クラウドコンピューティングシステムに対する過去の仕事量から今後発生する仕事量を予測し、その予測された仕事量が少ない場合はクラウドコンピューティングシステムが有する複数のデータセンタ内のリソースを適宜稼動状態から省電力状態に設定する。クラウドコンピューティングシステムは場合によっては数万から数百万台のリソースを有しているのであるが、それらのうち不必要なものを省電力状態とすることで消費電力を大きく削減できる。
ここで、クラウドコンピューティングシステムに対する仕事は計算やデータ処理や通信処理などであり、この仕事が第1の実施の形態における要求(アクセス)に対応する。また、負荷は例えばクラウドコンピューティングシステムに対する仕事を処理するために必要な単位時間当たりのリソースの台数である。
なお、リソースの稼動状態とは、第1の実施の形態で定義したサーバ群の稼動状態と同様の状態であり、例えばクラウドコンピューティングサービスの利用者からの仕事要求を即時実行可能な状態である。リソースの省電力状態もまた第1の実施の形態で定義したサーバ群の省電力状態と同様の状態であり、OS休眠状態と電源オフ状態とを含む。
図14は、第2の実施の形態に係る負荷管理装置510を有するクラウドコンピューティングシステム500を示す概略図である。クラウドコンピューティングシステム500は、米国ニューヨーク市にある第1データセンタ502と、米国サンフランシスコ市にある第2データセンタ504と、米国ホノルル市にある第3データセンタ506と、第2の実施の形態に係る負荷管理装置510と、を備える。
クラウドコンピューティングシステム500は、現実には3つのデータセンタを備えているが、ネットワーク508のユーザに対しては仮想的なひとつのデータセンタである。
負荷管理装置510は、インターネットなどのネットワーク508を通じて第1データセンタ502、第2データセンタ504、第3データセンタ506を管理する。第1データセンタ502、第2データセンタ504、第3データセンタ506はネットワーク508を通じてクラウドコンピューティングシステム500の利用者からの仕事を受ける。
図15は、負荷管理装置510およびその周辺の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
負荷管理装置510は、ネットワーク508からクラウドコンピューティングシステム500のリソースの現在の使用状況を取得して履歴として保存し、その履歴を用いて今後発生する仕事量、必要となるであろうリソースの台数を予測する。負荷管理装置510はその予測に基づきネットワーク508を介してクラウドコンピューティングシステム500の各データセンタのリソースの状態を設定する。特に、負荷管理装置510は稼動状態としなくてもよいと予測されるリソースは省電力状態とする。
負荷管理装置510は、記憶装置580と、負荷取得部520と、学習部530と、状態設定部540と、乖離判定部550と、オーバライド部560と、表示制御部570と、電気料金ルーティング部590と、を備える。
記憶装置580は、負荷履歴テーブル582と、リソース状態テーブル584と、電気料金テーブル586と、を含む。負荷履歴テーブル582、リソース状態テーブル584、はそれぞれ第1の実施の形態における、負荷履歴テーブル112、第2サーバ群状態テーブル114に対応する。電気料金テーブル586は、各データセンタについて時間別に設定された電気料金を記憶する。ここで電気料金とは、電力会社が電気使用者に電気を販売する際の値段である。負荷履歴テーブル582は図16で、リソース状態テーブル584は図17で、電気料金テーブル586は図18で、後述する。
学習部530は、テーブル更新部532と、負荷予測部534と、を含む。状態設定部540は、負荷比較部542と、稼動リソース決定部544と、状態信号生成部546と、を含む。負荷取得部520、学習部530、テーブル更新部532、負荷予測部534、状態設定部540、負荷比較部542、稼動リソース決定部544、状態信号生成部546、乖離判定部550、オーバライド部560、表示制御部570、はそれぞれ第1の実施の形態における、負荷取得部120、学習部130、テーブル更新部132、負荷予測部134、状態設定部140、負荷比較部142、稼動サーバ群決定部144、状態信号生成部146、乖離判定部150、オーバライド部160、表示制御部170、に対応する。負荷管理装置510と接続された入力装置512、ディスプレイ514もまたそれぞれ第1の実施の形態における、入力装置12、ディスプレイ14に対応する。
アクセスをクラウドコンピューティングシステム500に課されたサーバ処理、ストレージ貸しなどの仕事、総アクセス数をクラウドコンピューティングシステム500に課された仕事を処理するために必要な単位時間当たりのリソースの台数(以下リソース必要台数と称す)、予測総アクセス数を過去に要求された仕事をもとに負荷予測部534によって予測されたリソース必要台数、と読み替えることで、第1の実施の形態に係る負荷管理装置10について図6を参照してなされた上の説明と同様の説明が第2の実施の形態に係る負荷管理装置510にも基本的に当てはまる。以下、第1の実施の形態に係る負荷管理装置10と第2の実施の形態に係る負荷管理装置510との主な差異を説明する。
第1の実施の形態における負荷取得部120はロードバランサ30の負荷検出部38からそこで検出された総アクセス数を取得するが、第2の実施の形態における負荷取得部520は、ネットワーク508から第1データセンタ502、第2データセンタ504および第3データセンタ506の現在のリソース必要台数を取得する。
第2の実施の形態に係る稼動リソース決定部544は、電気料金テーブル586を参照し、予測対象の時間帯において電気料金がより安いデータセンタに含まれるリソースに優先的に仕事を処理させてもよい。稼動リソース決定部544は、予測対象の時間帯においてリソースの状態の切替が必要な場合には、稼動状態とするリソースとOS休眠状態とするリソースと電源オフ状態とするリソースを決定する。ここでそれぞれの状態にするリソースを決めるアルゴリズムは、第1の実施の形態で説明したアルゴリズムに加えて、電気料金を考慮して決めるアルゴリズムを有する。この電気料金考慮型のアルゴリズムでは、稼動状態とするリソースの台数を増やす場合は、予測対象の時間帯において電気料金がより安い、好ましくは最も安い、データセンタのリソースを優先的に稼動状態とする。また、稼動状態とするリソースの台数を減らす場合には、予測対象の時間帯において電気料金がより高い、好ましくは最も高い、データセンタのリソースを優先的に省電力状態とする。
第1の実施の形態における状態信号生成部146は第1サーバ群22a〜第5サーバ群22eに接続されるが、第2の実施の形態における状態信号生成部546は、ネットワーク508を介して第1データセンタ502、第2データセンタ504、第3データセンタ506のリソースに状態を切り替えるための信号を送る。
電気料金ルーティング部590は、リソース状態テーブル584および電気料金テーブル586を参照し、電気料金がより高いデータセンタで稼動状態となっているリソースを電気料金がより安いデータセンタで省電力状態となっている同種のリソースで代替することができる場合は、そのような代替を行うように状態信号生成部546に指示を出す。
電気料金ルーティング部590は、リソース状態テーブル584を参照して各データセンタで稼動状態となっているリソースの台数を取得する一方、電気料金テーブル586を参照して各データセンタの現在の電気料金を取得する。電気料金ルーティング部590はそれらの情報を基にクラウドコンピューティングシステム500全体の現在の電気使用量に応じた電力会社への支払い(以下、電気使用料金と称す)を演算する。また電気料金ルーティング部590は、仮に電気料金の安いデータセンタのリソースから順番に使用していった場合の理想的な(最安値の)現在の電気使用料金を演算する。そして電気料金ルーティング部590は、実測値としての現在の電気使用料金と理想的な現在の電気使用料金との差が所定の設定値よりも大きい場合は、電気料金がより高いデータセンタで稼動状態となっているリソースと同種のリソースが、電気料金がより安いデータセンタで省電力状態となっているか否かを電気料金テーブル586およびリソース状態テーブル584を参照して確認する。そして電気料金ルーティング部590は、同種のリソースが電気料金がより安いデータセンタで省電力状態となっていれば、電気料金がより高いデータセンタで稼動状態となっているリソースを省電力状態とし、電気料金がより安いデータセンタで省電力状態となっている同種のリソースを稼動状態とするように状態信号生成部546に指示を出す。その際、図示されていないが、電気料金ルーティング部590は電気料金がより高いデータセンタで稼動状態となっていたリソースで処理されていた仕事を、新しく稼動状態となる電気料金がより安いデータセンタのリソースにルーティングする。
なお、電気料金ルーティング部590における上述の処理は、リソース必要台数の予測に基づくリソースの状態設定とは別系統の処理とされてもよい。
図16は、負荷履歴テーブル582を示すデータ構造図である。負荷履歴テーブル582は、時間帯618と、その時間帯が属する属性620と、その時間帯に稼動状態にあったリソースの種類である必要リソース分類622と、その種類のリソースの台数であるリソース必要台数624と、を対応付けて記憶する。必要リソース分類622は、例えばサーバ、ストレージ、ルータの別である。時間帯618は第1の実施の形態の図7の時間帯218に、属性620は属性220に、必要リソース分類622およびリソース必要台数624は総アクセス数222に、それぞれ対応する。
図17は、リソース状態テーブル584を示すデータ構造図である。リソース状態テーブル584は、データセンタ602ごとにリソース604とその状態606とその稼働率608とを対応付けて記憶する。データセンタ602およびリソース604は第1の実施の形態の図5のIPアドレス202に、状態606は状態204に、稼働率608は稼働率206に、それぞれ対応する。
図18は、電気料金テーブル586を示すデータ構造図である。電気料金テーブル586は、ニューヨーク時間での時間帯626と、その時間帯における各データセンタの電気料金の売値単価628と、を対応付けて記憶する。負荷管理装置510は外部の電力取引所と通信を行い、絶えず相場で売られている電気料金のデータで電気料金テーブル586を更新する。または、負荷管理装置510は過去の電気料金のデータから予測して電気料金テーブル586を生成してもよい。
図19は、表示制御部570によってディスプレイ514に表示されるステータス画面630の代表画面図である。ステータス画面630は、ニューヨーク市にある第1データセンタ502の状態を示す第1表示領域632と、サンフランシスコ市にある第2データセンタ504の状態を示す第2表示領域634と、ホノルル市にある第3データセンタ506の状態を示す第3表示領域636と、を含む。各表示領域は、サーバの稼働状況を示すサーバ運用状況表示領域638と、ストレージの稼働状況を示すストレージ運用状況表示領域640と、ルータの稼働状況を示すルータ運用状況表示領域642と、を含む。サーバ運用状況表示領域638の上段のインジケータは現在予測に基づき稼動状態とされているサーバの台数、下段のインジケータは現在仕事を処理しているサーバの台数を示す。それらの差は現在稼動状態にあるが仕事を行っていない、つまりアイドル状態にあるサーバの台数を示す。ストレージ運用状況表示領域640、ルータ運用状況表示領域642についても同様である。クラウドコンピューティングシステム500の管理者はこのステータス画面630を見ることにより、現況を一目で把握して設定されている予測アルゴリズム(属性の決め方など)が適切か否かを判断でき、そのような予測アルゴリズムを最適化していく一助となる。また、この目的のため、ステータス画面630はクラウドコンピューティングシステム500の現在の消費電力を示す領域644と、アイドル状態にあるリソースの消費電力に対応する、無駄と考えられる消費電力を示す領域646と、を含んでもよい。
第2の実施の形態に係る負荷管理装置510によると、第1の実施の形態で説明した作用効果と同様の作用効果を得ることができる。
特に、クラウドコンピューティングサービスでは複数種類のリソースが使用され、そのそれぞれに対して仕事が発生する。第2の実施の形態では図16に見られるように、負荷履歴テーブル582はその種類毎にリソース必要台数を記録する。したがって、リソースの種類毎に仕事量の傾向を把握し、それに基づいて種類毎に仕事量を予測し、その予測に基づいて種類毎に不必要なリソースを省電力状態とする。したがって、クラウドコンピューティングシステム500においてもこれまで無駄となっていた電力を削減して消費電力を低減できる。
なお、クラウドコンピューティングシステム500における仕事量の傾向としては図16に示されるように、平日は利用が多く休日は少ないことがある。また、クラウドコンピューティングシステム500のワールドワイドな性質上、国毎の祝日によってもまた左右されうる。したがって、予測のための属性としては、平日休日の別と、他国の休日か否かと、を組み合わせることが好ましい。
クラウドコンピューティングシステム500では一般的に複数のデータセンタが地理的に離れて配置される。本実施の形態では、ニューヨーク市とサンフランシスコ市とホノルル市とに配置され、それらの間の時差は3時間、3時間である。また電気料金は地域ごと、電力会社ごと、時間帯ごとに異なる。本発明者はこれらのことから、クラウドコンピューティングシステム500ではデータセンタ間の電力料金の差を利用したコスト削減が図れることに想到した。
そこで第2の実施の形態に係る負荷管理装置510では、稼動リソース決定部544は電気料金テーブル586を参照し、予測対象の時間帯において電気料金がより安いデータセンタに含まれるリソースに優先的に仕事を処理させる。したがって、例えば図18の例では、ニューヨーク時間で2009年4月15日の10:15−10:30の時間帯において仕事を処理させるリソースを決定する際には、ニューヨーク市にある第1データセンタ502のリソースよりもホノルル市にある第3データセンタ506のリソースを優先的に選ぶ。これにより、消費電力だけでなく電気使用料金を低減でき、コストの面でより効率的な管理が可能となる。
また、電気料金ルーティング部590によっても同様の作用効果を得ることができる。つまり、例えば図18の例では、ニューヨーク時間で2009年4月15日の10:15−10:30の時間帯においてニューヨーク市の第1データセンタ502で発生している仕事をホノルル市の第3データセンタ506に回すことで電気使用料金を低減できる。
従来では電気使用料金を低減するためにデータセンタそのものを電気料金の安い土地に移転することは行われていた。しかしながら移転には当然莫大なコストがかかる。そこで本実施の形態に係る手法を用いると、移転を行うことなく電気料金の地域差および時差を利用して電気使用料金を低減できる。
以上、実施の形態に係る負荷管理装置の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。さらには実施の形態同士の組み合わせもまた可能である。例えば、第2の実施の形態におけるクラウドコンピューティングシステム500の各データセンタを、第1の実施の形態に係るデータセンタとしてもよい。
第1の実施の形態では、ユーザ端末6からサーバ群へのパケットの流れを基に説明したが、サーバ群からユーザ端末6へパケットを返すときも負荷管理装置10が適宜接続テーブル324を参照してアドレス変換できることは本明細書に触れた当業者には明らかである。
第1の実施の形態では、モード切替値Mo、第1しきい値T1、第2しきい値T2、および第3しきい値T3が稼動状態のサーバ群の数を決めるしきい値となる場合について説明したが、これに限られない。例えば、それぞれのしきい値にヒステリシスを持たせてもよい。つまり状態設定部は、通常モードから省電力モードへ移行する第1モード切替値Mo1と、省電力モードから通常モードへ移行する第2モード切替値Mo2とを有し、Mo1<Mo2であってもよい。第1しきい値T1、第2しきい値T2、第3しきい値T3についても同様である。この場合、予測総アクセス数がしきい値付近で変動しても、しきい値をまたぐ毎にサーバ群の状態を切り替えなくてもよいので、状態切替に伴うオーバヘッドを低減できる。その結果情報処理システム2全体のレスポンスが向上しうる。なお、第1モード切替値Mo1と第2モード切替値Mo2とは、やはりオーバヘッドと処理速度とのかねあいで定めればよい。
図20は、オーバヘッドと性能のかねあいを説明するための、各サーバ群の稼働率を示すグラフである。ここでは、第1サーバ群22aから第5サーバ群22eのピークアクセス数が全て2000であるとする。また、第1モード切替値Mo1は7700、第2モード切替値Mo2は8300に設定されている。
図20では予測総アクセス数が7500から8200に変わった際の予測対象の時間帯における各サーバ群の稼働率が示される。この場合、変わった後の予測総アクセス数は第2モード切替値Mo2に届かないので、負荷管理装置10は依然として省電力モードに設定されたままである。したがって、予測対象の時間帯が到来し、予測通り8200のアクセスが発生すると例えば第4サーバ群22dにピークアクセス数を越える数のアクセスが割り当てられることとなる。したがって第4サーバ群22dにおける処理速度は低下し、情報処理装置20全体の処理速度が低下する。対して第1の実施の形態のようにヒステリシスを設けない場合は第5サーバ群22eが稼動状態に設定され、そこで第1サーバ群22a〜第4サーバ群22dでは処理しきれない新規のアクセスが処理される。しかしながら、第5サーバ群22eを省電力状態から稼動状態とする際にはオーバヘッドが存在するので、新規のアクセスを第5サーバ群22eに割り当てる前にそのオーバヘッドだけ待たなければならない。これはやはり情報処理装置20全体の処理速度の低下と見ることができる。したがって、サーバ群にピークアクセス数以上のアクセスを課すことによる処理速度の低下と、サーバ群の状態切替に伴うオーバヘッドが引き起こす処理速度の低下と、のかねあいでヒステリシスが決定されてもよい。
第1の実施の形態では、サーバ群をどの状態に置くかについて、状態設定部140において表1に示されるストラテジが使用される場合について説明したが、これに限られない。例えば、省電力状態としてOS休眠状態を使用し、電源オフ状態を使用しなくてもよい。この場合、電源オンオフにかかる比較的長いオーバヘッドがなくなるので、より早いレスポンスが期待できる。また、処理が簡素化される。別の例としては、省電力状態として電源オフ状態を使用し、OS休眠状態を使用しなくてもよい。この場合、消費電力をより低減できる。
第1の実施の形態では、第1サーバ群22a〜第5サーバ群22eの要求の処理能力はほぼ等しく設定される場合について説明したが、これに限られない。情報処理装置20に含まれる複数のサーバ群のうちの少なくとも2つについて、それらの要求の処理能力が異なる場合でも、本実施の形態と同等の作用効果を有することは本明細書に触れた当業者には理解される。
第1の実施の形態では、サーバ群選択部364は省電力モードでは、稼動状態にあるサーバ群の稼働率が100%となるように、稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択する場合について説明したが、これに限られない。例えば、サーバ群選択部364は、稼動状態にあるサーバ群のなかから、ラウンドロビン方式や最速方式などの公知の負荷分散アルゴリズムを使用して新規のアクセスを処理させるサーバ群を選択してもよい。これらの場合でも、依然として省電力モードでは省電力状態(OS休眠状態もしくは電源オフ状態)のサーバ群を設けているので、全体としての電力消費量を低減できる。
第1の実施の形態では、第1フロントエンドサーバ24aと第1アプリケーションサーバ26aと第1データベースサーバ28aとは別個のサーバであり、この順に直列に接続されている場合について説明したが、これに限られない。個々のサーバ群は少なくともひとつのサーバを含めばよく、例えば、サーバ群はフロントエンドサーバとアプリケーションサーバとデータベースサーバの機能を全て併せ持つ1台のサーバを含んでもよい。また、サーバ群は、それら3つのサーバの機能のうちの任意の2つの機能を併せ持つサーバと、残りの機能を持つサーバと、を含んでもよい。
第1の実施の形態では、負荷管理装置10は、負荷がモード切替値Moより少ない場合は省電力モード、以上の場合は通常モードに設定される場合について説明したが、これに限られない。例えば、多くのサーバ群を有する情報処理システムでは、負荷の許容量が大きく、通常モードを設定する必要がない場合もある。このような場合では負荷管理装置は常に省電力モードに設定され、通常モードは設定されないか実装されていなくてもよい。この場合でも第1の実施の形態で説明した効果と同様の効果を得ることができる。
第1の実施の形態では、負荷予測部134は属性をキーとする場合について説明したが、時間帯であってもよい。負荷予測部134は、負荷履歴テーブル112を参照し、予測対象の時間帯に対して過去の同月同日の同じ時間帯の負荷履歴を取得し、これを基に予測対象の時間帯の予測総アクセス数を決定する。例えば、負荷予測部134が2009年7月28日の9:15〜9:30における総アクセス数を予測する場合、負荷予測部134は2008年7月28日の9:15〜9:30における総アクセス数(図7の場合、5400)を負荷履歴テーブル112から取得し、それを予測総アクセス数とする。
第1の実施の形態では、情報処理システム2が使用される例として証券業務や検索エンジンを挙げ、第2の実施の形態では負荷管理装置510がクラウドコンピューティングシステム500を管理する場合について説明したが、これに限られない。本発明は例えば不特定多数のユーザが利用するコンピュータセンタの機器の管理に適用されうる。このコンピュータセンタの例としては、大学等の学術関係で、多くの生徒や研究者が利用するサーバとストレージのシステムがある。
図21は、本発明のある実施の形態を大学の共用データセンタに適用した場合の負荷履歴テーブル112cを示すデータ構造図である。この場合、仕事量の傾向をより正確に把握するために大学のスケジュールに応じた属性が選択されることが望ましい。
以上、実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎないことはいうまでもなく、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能であることはいうまでもない。
2 情報処理システム、 4 ネットワーク、 6 ユーザ端末、 10 負荷管理装置、 20 情報処理装置、 30 ロードバランサ、 110 第2記憶装置、120 負荷取得部、 130 学習部、 140 状態設定部、 150 乖離判定部、 160 オーバライド部、 170 表示制御部、 500 クラウドコンピューティングシステム、 502 第1データセンタ、 504 第2データセンタ、 506 第3データセンタ、 510 負荷管理装置、 520 負荷取得部、 530 学習部、 540 状態設定部、 550 乖離判定部、 560 オーバライド部、 570 表示制御部、 580 記憶装置。

Claims (9)

  1. 互いにネットワークによって接続され、互いに地理的に離れて配置された複数のデータセンタを含むシステムを管理する負荷管理装置であって、各データセンタは複数の要求処理ユニットを有しており、本負荷管理装置は、
    データセンタについて設定された電気料金を記憶する電気料金テーブルと、
    前記電気料金テーブルを参照し、電気料金がより高いデータセンタに含まれる、ネットワークからの前記システムに対する要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安いデータセンタに含まれる、前記第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別する電気料金ルーティング部と、
    前記電気料金ルーティング部において代替可能と判別された場合に、前記第1状態となっている要求処理ユニットを前記第2状態に設定し、前記第2状態となっている要求処理ユニットを前記第1状態に設定する状態設定部と、を備えることを特徴とする負荷管理装置。
  2. 前記システムは複数種類の要求処理ユニットを有し、
    ネットワークからの前記システムに対する要求の負荷を要求処理ユニットの種類毎に取得する負荷取得部と、
    過去に要求された負荷をもとに今後発生する負荷を要求処理ユニットの種類毎に予測する負荷予測部と、をさらに備え、
    前記状態設定部は、前記負荷予測部によって要求処理ユニットの種類のそれぞれについて予測された負荷が所定の値より少ない場合、その種類に属する少なくともひとつの要求処理ユニットを前記第2状態に設定することを特徴とする請求項1に記載の負荷管理装置。
  3. ネットワークからの前記システムに対する要求の負荷を取得する負荷取得部と、
    取得された負荷と、その負荷が取得された時間帯が属する属性と、を対応付けて記憶する負荷履歴テーブルと、
    前記負荷履歴テーブルを参照して今後発生する負荷を予測する負荷予測部と、をさらに備え、
    時間帯が属する属性は、前記システムの使用目的に応じて設定され、
    前記負荷予測部は、負荷予測の対象となる時間帯が属する属性に対応する負荷を前記負荷履歴テーブルから取得し、取得された負荷に基づいて負荷予測の対象となる時間帯における負荷を予測し、
    前記状態設定部は、前記負荷予測部によって予測された負荷が所定の値より少ない場合、少なくともひとつの要求処理ユニットを前記第2状態に設定することを特徴とする請求項1に記載の負荷管理装置。
  4. 前記状態設定部は、要求処理ユニットの最大性能を発揮せしめる前提で、ネットワークからの前記システムに対する要求を処理させる要求処理ユニットを決定し、残りの要求処理ユニットを前記第2状態に設定することを特徴とする請求項2または3に記載の負荷管理装置。
  5. 前記状態設定部は、前記負荷予測部によって予測された負荷の変動により前記システムの性能が落ちると予測される場合には、前記第2状態に設定されている少なくともひとつの要求処理ユニットを前記第1状態に設定することを特徴とする請求項2から4のいずれかに記載の負荷管理装置。
  6. 前記状態設定部は、前記電気料金テーブルを参照し、前記負荷予測部で負荷予測の対象となる時間帯において電気料金がより安いデータセンタに含まれる要求処理ユニットに優先的に要求を処理させることを特徴とする請求項2から5のいずれかに記載の負荷管理装置。
  7. 互いにネットワークによって接続され、互いに地理的に離れて配置された複数のデータセンタを含むシステムと、
    前記複数のデータセンタを管理する負荷管理装置と、を備え、
    各データセンタは複数の要求処理ユニットを有し、
    前記負荷管理装置は、
    データセンタについて設定された電気料金を記憶する電気料金テーブルと、
    前記電気料金テーブルを参照し、電気料金がより高いデータセンタに含まれる、ネットワークからの前記システムに対する要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安いデータセンタに含まれる、前記第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別する電気料金ルーティング部と、
    前記電気料金ルーティング部において代替可能と判別された場合に、前記第1状態となっている要求処理ユニットを前記第2状態に設定し、前記第2状態となっている要求処理ユニットを前記第1状態に設定する状態設定部と、を含むことを特徴とする情報処理システム。
  8. 互いにネットワークによって接続され、互いに地理的に離れて配置された複数のデータセンタを含むシステムを管理する負荷管理方法であって、各データセンタは複数の要求処理ユニットを有しており、本負荷管理方法は、
    データセンタについて設定された電気料金を記憶する電気料金テーブルを生成するステップと、
    前記電気料金テーブルを参照し、電気料金がより高いデータセンタに含まれる、ネットワークからの前記システムに対する要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安いデータセンタに含まれる、前記第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別するステップと、
    代替可能と判別された場合に、前記第1状態となっている要求処理ユニットを前記第2状態に設定し、前記第2状態となっている要求処理ユニットを前記第1状態に設定するステップと、を含むことを特徴とする負荷管理方法。
  9. 互いにネットワークによって接続され、互いに地理的に離れて配置された複数のデータセンタであってそれぞれが複数の要求処理ユニットを有する複数のデータセンタを含むシステムを管理する負荷管理装置に、
    データセンタについて設定された電気料金を記憶する電気料金テーブルを生成する機能と、
    前記電気料金テーブルを参照し、電気料金がより高いデータセンタに含まれる、ネットワークからの前記システムに対する要求を受付可能な第1状態となっている要求処理ユニットを電気料金がより安いデータセンタに含まれる、前記第1状態よりも省電力の第2状態となっている要求処理ユニットで代替することができるかどうかを判別する機能と、
    代替可能と判別された場合に、前記第1状態となっている要求処理ユニットを前記第2状態に設定し、前記第2状態となっている要求処理ユニットを前記第1状態に設定する機能と、を実現させることを特徴とするコンピュータプログラム。
JP2009228704A 2009-09-30 2009-09-30 負荷管理装置、情報処理システムおよび負荷管理方法 Expired - Fee Related JP4824807B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009228704A JP4824807B2 (ja) 2009-09-30 2009-09-30 負荷管理装置、情報処理システムおよび負荷管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228704A JP4824807B2 (ja) 2009-09-30 2009-09-30 負荷管理装置、情報処理システムおよび負荷管理方法

Publications (2)

Publication Number Publication Date
JP2011076470A JP2011076470A (ja) 2011-04-14
JP4824807B2 true JP4824807B2 (ja) 2011-11-30

Family

ID=44020367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228704A Expired - Fee Related JP4824807B2 (ja) 2009-09-30 2009-09-30 負荷管理装置、情報処理システムおよび負荷管理方法

Country Status (1)

Country Link
JP (1) JP4824807B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5729179B2 (ja) * 2011-07-04 2015-06-03 富士通株式会社 振分制御装置、振分制御方法および振分制御プログラム
JPWO2014045549A1 (ja) * 2012-09-19 2016-08-18 日本電気株式会社 マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
JP5892031B2 (ja) 2012-10-22 2016-03-23 富士通株式会社 リソース管理システム、リソース管理方法、およびリソース管理プログラム
JP6819131B2 (ja) 2016-08-18 2021-01-27 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
JP6842673B2 (ja) * 2018-02-26 2021-03-17 日本電信電話株式会社 制御装置、データ処理制御方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302242A (ja) * 1994-04-30 1995-11-14 Mitsubishi Electric Corp 負荷分散方式
US5889989A (en) * 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
JP2003281008A (ja) * 2002-03-26 2003-10-03 Toshiba Corp サーバー計算機負荷分配装置、サーバー計算機負荷分配方法、サーバー計算機負荷分配プログラム及びサーバー計算機システム
JP4043355B2 (ja) * 2002-12-10 2008-02-06 富士通株式会社 サーバ負荷分散プログラム、サーバ負荷分散方法、およびサーバ負荷分散装置
JP2005250823A (ja) * 2004-03-04 2005-09-15 Osaka Gas Co Ltd 複数コンピュータ運用システム
JP4438817B2 (ja) * 2007-04-26 2010-03-24 株式会社日立製作所 ストレージ装置およびストレージ装置の省電力制御方法

Also Published As

Publication number Publication date
JP2011076470A (ja) 2011-04-14

Similar Documents

Publication Publication Date Title
JP4824806B2 (ja) 負荷管理装置、情報処理システムおよび負荷管理方法
Rahman et al. A survey on geographic load balancing based data center power management in the smart grid environment
CN103608747B (zh) 基于上下文信息的电力和负载管理
JP4824807B2 (ja) 負荷管理装置、情報処理システムおよび負荷管理方法
JP4681676B1 (ja) 情報処理システムおよび情報処理方法
CN103491024B (zh) 一种面向流式数据的作业调度方法及装置
Liu et al. An economical and SLO-guaranteed cloud storage service across multiple cloud service providers
Rastogi et al. Analytical literature survey on existing load balancing schemes in cloud computing
US11644804B2 (en) Compute load shaping using virtual capacity and preferential location real time scheduling
Caux et al. IT optimization for datacenters under renewable power constraint
Xu et al. Efficient server provisioning and offloading policies for internet data centers with dynamic load-demand
Liu et al. Cost-effective service provisioning for hybrid cloud applications
Addya et al. A game theoretic approach to estimate fair cost of VM placement in cloud data center
Sultanpure et al. An Efficient Cloud Scheduling Algorithm for the Conservation of Energy through Broadcasting.
Gallego Arrubla et al. Integrating virtualization, speed scaling, and powering on/off servers in data centers for energy efficiency
JP4878394B2 (ja) 運用管理装置および運用管理方法
Zhao et al. On minimizing energy cost in internet-scale systems with dynamic data
Goyal et al. Green Service Level Agreement (GSLA) framework for cloud computing
Zhou et al. P-Aware: a proportional multi-resource scheduling strategy in cloud data center
Imada et al. Power management of distributed web savers by controlling server power state and traffic prediction for QoS
JP4878397B2 (ja) 情報処理システムおよび情報処理方法
JP2011076468A (ja) 負荷管理装置、情報処理システムおよび負荷管理方法
JP5309200B2 (ja) 運用管理装置および情報処理システム
Vernekar et al. Component based resource allocation in cloud computing
Karuppasamy et al. An efficient resource allocation mechanism using intelligent scheduling for managing energy in cloud computing infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110301

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110301

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110617

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4824807

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees