(57)【要約】      （修正有）【課題】並列処理を行うサーバ群の消費電力を低減する。【解決手段】負荷管理装置１０において、要求取得部１２０はネットワーク４からの情報処理装置に対するアクセスを取得する。負荷検出部１４０は、要求取得部１２０によって取得されたアクセスのアクセス数を検出する。状態設定部１５０は、負荷検出部１４０によって検出されたアクセスがモード切替値より少ない場合、情報処理装置に含まれる少なくともひとつのサーバ群を、アクセスを受付可能な稼動状態よりも省電力の省電力状態に設定する。要求割当部１３０は、要求取得部１２０によって取得されたアクセスを情報処理装置に含まれる他のサーバ群に割り当てる。【選択図】図３
2011076468.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークからの情報処理装置に対する要求を取得する要求取得部と、
前記要求取得部によって取得された要求の負荷を検出する負荷検出部と、
前記負荷検出部によって検出された負荷が所定の値より少ない場合、前記情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定する状態設定部と、
前記要求取得部によって取得された要求を前記情報処理装置に含まれる他の要求処理ユニットに割り当てる要求割当部と、を備えることを特徴とする負荷管理装置。
【請求項２】
前記状態設定部は、要求処理ユニットの最大性能を発揮せしめる前提で、前記要求取得部によって取得された要求を処理させる要求処理ユニットを決定し、残りの要求処理ユニットを前記第２状態に設定することを特徴とする請求項１に記載の負荷管理装置。
【請求項３】
前記状態設定部は、前記負荷検出部によって検出された負荷の変動により前記情報処理装置の性能が落ちると予測される場合には、前記第２状態に設定されている少なくともひとつの要求処理ユニットを前記第１状態に設定し、
前記要求割当部は、前記要求取得部によって取得された要求を、前記状態設定部によって前記第２状態から前記第１状態に設定された要求処理ユニットに割り当てることを特徴とする請求項１または２に記載の負荷管理装置。
【請求項４】
過去の稼動履歴を基に負荷を予測する負荷予測部をさらに備え、
前記状態設定部は、前記負荷予測部によって予測された負荷が前記所定の値より少ない場合、少なくともひとつの要求処理ユニットを、前記第２状態に設定することを特徴とする請求項１から３のいずれかに記載の負荷管理装置。
【請求項５】
ネットワークからの要求を処理する情報処理装置と、
前記ネットワークと接続され、前記ネットワークからの前記情報処理装置に対する要求を前記情報処理装置に送る負荷管理装置と、を備え、
前記情報処理装置は、それぞれが要求の処理単位である複数の要求処理ユニットを含み、
前記負荷管理装置は、
前記ネットワークからの前記情報処理装置に対する要求を取得する要求取得部と、
前記要求取得部によって取得された要求の負荷を検出する負荷検出部と、
前記負荷検出部によって検出された負荷が所定の値より少ない場合、前記情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定する状態設定部と、
前記要求取得部によって取得された要求を前記情報処理装置に含まれる他の要求処理ユニットに割り当てる要求割当部と、を含むことを特徴とする情報処理システム。
【請求項６】
ネットワークからの情報処理装置に対する要求を取得するステップと、
取得された要求の負荷を検出するステップと、
検出された負荷が所定の値より少ない場合、前記情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定するステップと、
取得された要求を前記情報処理装置に含まれる他の要求処理ユニットに割り当てるステップと、を含むことを特徴とする負荷管理方法。
【請求項７】
ネットワークからの情報処理装置に対する要求を取得する機能と、
取得された要求の負荷を検出する機能と、
検出された負荷が所定の値より少ない場合、前記情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定する機能と、
取得された要求を前記情報処理装置に含まれる他の要求処理ユニットに割り当てる機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理における負荷管理装置、方法およびその装置を備える情報処理システムに関する。
【背景技術】
【０００２】
地球温暖化と言う問題が、昨今聞かれる。地球温暖化対策の一つとしては電力需要を減らすことがある。電力は一般的に水力発電、太陽光発電、風力発電、地熱発電などの自然由来の発電や、原子力を使う原子力発電や、ガス、石油、石炭などを燃料として燃やし発電を行う火力発電によって供給されている。この中でも特に火力発電は地球温暖化を進める大きな要因となっている。電力需要を減らせば火力発電の発電量も減らすことができるので、その分地球温暖化も抑止されうる。
【０００３】
ＩＴ（Information Technology）やＩＣＴ（Information and Communication Technology）の分野でも、コンピュータやネットワーク機器、データセンタ機器が消費する電力を低減する必要性が指摘され始めている。
【０００４】
近年のインターネットの普及により、多くのデータセンタは、ネットワーク接続型の形態を有しており、インターネットなどの外部のネットワークからの仕事要求を受けて処理を行う。これらのデータセンタのなかには、一度に多くのアクセスを処理するために複数の並列に配置されたサーバを備える構成を採用したものがある（特許文献１参照）。このようなデータセンタは、一般に「ロードバランサ」と呼ばれる負荷分散を行う装置を有する。このロードバランサはネットワーク側の通信機器とサーバとの間に配置され、ネットワークから到来するアクセスを個々のサーバに均等に近い形で分散させている。
また、ネットワーク接続装置の消費電力低減装置が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２５７９３号公報
【特許文献２】特開２００７−９７１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
現行のロードバランサでは、アクセス数が少ない場合でも個々のサーバに要求を分散させる。アクセス数によっては一部のサーバに要求が振られない場合もあり、そのようなサーバはアイドル状態で要求を待ち受けることになる。しかしながら、ユーザからのアクセスがなく仕事が発生していないアイドル状態でも、基本ＯＳ（operating system）機能とネットワークモニタリング等のタスクが稼動しており相当の電力が消費されている。サーバ機器にもよるが、アイドル状態の消費電力は、概ね最大性能発揮時の消費電力の３０％から７０％であると考えられる。省エネの観点から見ると、サーバをアイドル状態に置いておくことは電力の無駄使いと言える。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、要求の並列処理において消費電力を低減できる負荷管理装置の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は負荷管理装置に関する。この負荷管理装置は、ネットワークからの情報処理装置に対する要求を取得する要求取得部と、要求取得部によって取得された要求の負荷を検出する負荷検出部と、負荷検出部によって検出された負荷が所定の値より少ない場合、情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定する状態設定部と、要求取得部によって取得された要求を情報処理装置に含まれる他の要求処理ユニットに割り当てる要求割当部と、を備える。
【０００９】
「要求」とは、例えば情報処理装置に対する処理の要求であってもよい。
「負荷」とは、例えば要求の量を示す値であってもよい。
【００１０】
この態様によると、負荷検出部によって検出された負荷が少ない場合、少なくともひとつの要求処理ユニットを省電力の第２状態に設定することで、消費電力を低減できる。
【００１１】
本発明の別の態様は、情報処理システムである。この情報処理システムは、ネットワークからの要求を処理する情報処理装置と、ネットワークと接続され、ネットワークからの情報処理装置に対する要求を情報処理装置に送る負荷管理装置と、を備える。情報処理装置は、それぞれが要求の処理単位である複数の要求処理ユニットを含む。負荷管理装置は、ネットワークからの情報処理装置に対する要求を取得する要求取得部と、要求取得部によって取得された要求の負荷を検出する負荷検出部と、負荷検出部によって検出された負荷が所定の値より少ない場合、情報処理装置に含まれる少なくともひとつの要求処理ユニットを、要求を受付可能な第１状態よりも省電力の第２状態に設定する状態設定部と、要求取得部によって取得された要求を情報処理装置に含まれる他の要求処理ユニットに割り当てる要求割当部と、を含む。
【００１２】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、要求の並列処理において消費電力を低減できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態に係る負荷管理装置を備える情報処理システムおよびその周辺を示す概略図である。
【図２】図１におけるアクセスの流れを説明するための説明図である。
【図３】実施の形態に係る負荷管理装置の機能および構成を示すブロック図である。
【図４】接続テーブルを示すデータ構造図である。
【図５】サーバ群状態テーブルを示すデータ構造図である。
【図６】稼動履歴テーブルを示すデータ構造図である。
【図７】負荷管理装置における一連の処理を示すフローチャートである。
【図８】図８（ａ）〜図８（ｄ）は、全アクセス数に対する各サーバ群の稼働率を示すグラフである。
【図９】オーバヘッドと性能のかねあいを説明するための、各サーバ群の稼働率を示すグラフである。
【発明を実施するための形態】
【００１５】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１６】
本実施の形態に係る負荷管理装置は、複数の並列に配置されたサーバ群でユーザからのアクセスを処理している情報処理システムのゲートウエイとして利用される。負荷管理装置は、ネットワークから情報処理システム宛に到来する要求の負荷が少ない場合は不必要なサーバ群のＯＳを休眠させたり、サーバ群の電源自体をオフにする。そして残りのサーバ群に要求を割り当てる。これにより無駄な待機電力を削り情報処理システム全体の消費電力を低減できる。
【００１７】
図１は、実施の形態に係る負荷管理装置１０を備える情報処理システム２およびその周辺を示す概略図である。情報処理システム２は、ネットワーク接続型のデータセンタであり、例えば証券会社のインターネット株取引システムを提供するデータセンタである。情報処理システム２は、ネットワーク４と接続され同じくネットワーク４に接続されている少なくともひとつのユーザ端末６から要求を受ける。ここで要求とは、例えばネットワーク４のユーザからのアクセスである。アクセスとは、ユーザ端末６と情報処理システム２のひとつのサーバ群とが接続を確立して一連の情報をやりとりすることである。異なるユーザ端末からのアクセスは異なるアクセスであり、同じユーザ端末からでも異なるアクセスがなされうる。
ネットワーク４は、例えばＬＡＮ（Local Area Network）・ＷＡＮ（Wide Area Network）・インターネットである。ユーザ端末６は、ユーザが使用するコンピュータであり、例えば有線でネットワーク４に接続された家庭用デスクトップコンピュータや、無線でネットワーク４に接続されたラップトップコンピュータである。
【００１８】
情報処理システム２は、本実施の形態に係る負荷管理装置１０と、情報処理装置２０と、を備える。負荷管理装置１０は、ネットワーク４と接続され、また情報処理装置２０に含まれる個々のサーバ群とバスＢＵＳを介して接続される。負荷管理装置１０は、データの流れの観点からは情報処理装置２０とネットワーク４との間に位置し、ネットワーク４からの情報処理装置２０に対するアクセスを仲介する。
【００１９】
負荷管理装置１０はさらに、情報処理装置２０に含まれる複数のサーバ群のうちアクセスを受付可能な状態（以下、稼動状態と称する）にあるサーバ群に、ユーザからのアクセスを割り当てる。また、負荷管理装置１０は、ネットワーク４からの負荷を監視し、負荷が所定のモード切替値Ｍｏより少なくなると省電力モードに入る。この省電力モードでは負荷管理装置１０は、アクセスの処理に不要なサーバ群を稼動状態よりも省電力の状態（以下、省電力状態と称する）に設定する。ここで負荷とは、例えばサーバ群が行う仕事の量を表す値であり、単位時間当たりのアクセスの数を基に定められる。例えば負荷は、単位時間当たりのアクセスの数と比例関係などの数学的関係を有する値であってもよい。また、負荷は単位時間当たりのアクセスの数に上限値または下限値若しくはその両方を課した値であってもよい。以下では、負荷が単に単位時間当たりのアクセスの数（以下、アクセス数と称す）である場合について説明する。
なお、負荷がモード切替値Ｍｏ以上の場合は負荷管理装置１０は全てのサーバ群を稼動状態に設定する。このモードを通常モードと呼ぶ。
【００２０】
情報処理装置２０は、ネットワーク４からのアクセスを処理する。情報処理装置２０は、複数のサーバ群を含み、そのそれぞれのサーバ群はアクセスの処理単位である要求処理ユニットとして機能する。本実施の形態では情報処理装置２０は、第１サーバ群２２ａと、第２サーバ群２２ｂと、第３サーバ群２２ｃと、第４サーバ群２２ｄと、第５サーバ群２２ｅと、を含む。しかしながら情報処理装置２０が２つ以上の任意の数のサーバ群を含んでよいことは本明細書に触れた当業者には理解される。
【００２１】
第１サーバ群２２ａは、第１フロントエンドサーバ２４ａと、第１アプリケーションサーバ２６ａと、第１データベースサーバ２８ａと、を含む。これはいわゆる３階層のサーバ群であり、これら１セットでアクセスの処理単位を構成する。第１フロントエンドサーバ２４ａは、ウェブサーバとも呼ばれ、ＨＴＴＰ（HyperText Transfer Protocol）に則り、ユーザ端末６のウェブブラウザに対して、ＨＴＭＬ（HyperText Markup Language）や画像などのオブジェクトの表示を提供するサービスが動作するサーバコンピュータである。第１アプリケーションサーバ２６ａは、第１フロントエンドサーバ２４ａからジャバサーブレット（Java Servlet、ジャバは登録商標）の処理などのアプリケーションに関する機能を切り出して実現するサーバコンピュータである。第１データベースサーバ２８ａは、第１アプリケーションサーバ２６ａのアプリケーションが使用するデータが格納されるサーバコンピュータである。第１フロントエンドサーバ２４ａ、第１アプリケーションサーバ２６ａ、および第１データベースサーバ２８ａは、公知の情報処理技術を使用して実現される。本実施の形態では、第１フロントエンドサーバ２４ａと第１アプリケーションサーバ２６ａと第１データベースサーバ２８ａとは別個のサーバであり、この順に直列に接続されている。
【００２２】
第２サーバ群２２ｂ、第３サーバ群２２ｃ、第４サーバ群２２ｄ、および第５サーバ群２２ｅは、それぞれ第１サーバ群２２ａと同等の構成を有する。情報処理装置２０では、第１サーバ群２２ａ〜第５サーバ群２２ｅのアクセスの処理能力はほぼ等しく設定される。第１サーバ群２２ａ〜第５サーバ群２２ｅの第１フロントエンドサーバ２４ａ〜第５フロントエンドサーバ２４ｅはそれぞれバスＢＵＳを介して負荷管理装置１０と接続される。
【００２３】
なお、個々のサーバ群に含まれるサーバは個々にもしくは全体としてＯＳに管理されている。個々のサーバ群の稼動状態は、ユーザからのアクセスを即時処理可能な状態である。この状態は、サーバ群がユーザからのアクセスを処理しつつ新たなアクセスを処理可能である状態と、ユーザからのアクセスがなく仕事が発生していないアイドル状態と、を含む。稼動状態では、たとえアイドル状態であっても少なくとも基本ＯＳ機能とネットワークモニタリングのタスクは稼動しており、その分電力を消費する。本発明者の当業者としての経験から、このアイドル状態での消費電力は、サーバ機器の種類によってピークアクセス数での稼動時のおよそ３０％から７０％の範囲にある。特に標準的なサーバ機器を用いる場合は６０％程度である。ここでピークアクセス数とは、サーバ群がその処理速度を落とさずに稼動できるアクセス数の範囲の上限値であり、サーバ群ごとにその仕様を基に予め定められている。ここで処理速度とは、サーバ群におけるユーザからのアクセスの処理速度である。
【００２４】
個々のサーバ群の省電力状態は、ユーザからのアクセスを即時処理できない状態である。この状態は、サーバ群へ電源は供給されているがそのサーバ群はユーザからのアクセスを処理できないＯＳ休眠状態を含む。サーバ群は負荷管理装置１０から休眠導入信号を受信するとＯＳ休眠状態となる。このＯＳ休眠状態では、サーバ群のＯＳは休眠（ハイボネート）しており、ユーザからのアクセスがあってもそれを受け付けない。ＯＳ休眠状態にあるサーバ群は負荷管理装置１０から休眠解除信号を受信すると、稼動状態に復帰する。ＯＳ休眠状態から稼動状態に復帰するためには通常数秒から数十秒かかる。また本発明者の当業者としての経験から、ＯＳ休眠状態におけるサーバ群の消費電力は、ピークアクセス数での稼働時のおよそ５％から１０％である。
【００２５】
サーバ群の省電力状態はさらに、サーバ群への電源が遮断されている電源オフ状態を含む。サーバ群は負荷管理装置１０から電源オフ信号を受信すると電源オフ状態となる。サーバ群は負荷管理装置１０からＷＯＬ（Wake Up on LAN）信号などの電源オン信号を受信すると、稼動状態に復帰する。電源オフ状態から稼動状態に復帰するためには通常数分かかる。
詳細は後述するが、本実施の形態ではサーバ群が省電力状態から稼動状態に復帰するためにかかる時間（以下、オーバヘッドと称す）と、省電力状態で低減される消費電力とのかねあいで、省電力状態とされるサーバ群の数が決定される。つまり、現在のアクセス数を処理するのに必要なぎりぎりの数のサーバ群だけを稼動状態としていると、突然のアクセス数の増大に対して対処できなくなる可能性がある。一方で稼動状態のサーバ群の数が多いほど待機電力由来の消費電力も大きくなる。そこでそれらの影響が拮抗するように、省電力状態とされるサーバ群の数が決定される。
【００２６】
図２は、図１におけるアクセスの流れを説明するための説明図である。以下、１回のアクセスにおいて、少なくともひとつのパケットがユーザ端末６とアクセスが割り当てられたサーバ群との間でやりとりされる場合について説明する。このパケットは、送信元のＩＰアドレスであるソースＩＰアドレスＳｒｃと、受信先のＩＰアドレスであるあて先ＩＰアドレスＤｓｔと、後述するシーケンス番号と、を含む。多くの場合において一回のアクセスにつき複数個のパケットがユーザ端末６とサーバ群との間を行き来する。図２では第３サーバ群２２ｃがアクセスに割り当てられたとする。ユーザ端末６のＩＰアドレスを「１７５．３４．１１．２１」、負荷管理装置１０のＩＰアドレスを「１００．１０．１０．１０」、第３サーバ群２２ｃに含まれる第３フロントエンドサーバ２４ｃのＩＰアドレスを「１２１．２１．１５．３」とする。
【００２７】
負荷管理装置１０は、ユーザ端末６に対して仮想サーバとして働く。つまり、ネットワーク４では、ユーザが情報処理装置２０が有する情報資源にアクセスしようとする場合、かかる情報資源のＵＲＬ（Uniform Resource Locator）が負荷管理装置１０のＩＰアドレス「１００．１０．１０．１０」に名前解決されるよう設定されている。
【００２８】
まずユーザは、ユーザ端末６のウェブブラウザに対して情報処理装置２０が有する情報資源のＵＲＬを指定する。ユーザ端末６のウェブブラウザによってソースＩＰアドレスＳｒｃを「１７５．３４．１１．２１」、あて先ＩＰアドレスＤｓｔを「１００．１０．１０．１０」とした第１パケットＰ１が生成され、ネットワーク４に送られる。負荷管理装置１０は第１パケットＰ１を受信し、稼動状態にあるサーバ群のなかから第３サーバ群２２ｃを選択してこのアクセスを割り当てる。負荷管理装置１０は、第１パケットＰ１のソースＩＰアドレスＳｒｃはそのままにしてあて先ＩＰアドレスＤｓｔを「１２１．２１．１５．３」とした第２パケットＰ２をバスＢＵＳに送出する。第３サーバ群２２ｃの第３フロントエンドサーバ２４ｃは自己宛の第２パケットＰ２を受信し、第２パケットＰ２の指示にしたがい処理を行う。その処理の結果ユーザ端末６へ戻すべき情報は、ソースＩＰアドレスＳｒｃを「１２１．２１．１５．３」、あて先ＩＰアドレスＤｓｔを「１７５．３４．１１．２１」とした第３パケットＰ３に含められ、第３フロントエンドサーバ２４ｃからバスＢＵＳに送出される。負荷管理装置１０は第３パケットＰ３を受信する。負荷管理装置１０は、第３パケットＰ３のあて先ＩＰアドレスＤｓｔはそのままにしてソースＩＰアドレスＳｒｃを「１００．１０．１０．１０」とした第４パケットＰ４をネットワーク４に送る。ユーザ端末６は自己宛の第４パケットＰ４をネットワーク４から受信する。
以下、ユーザ端末６から負荷管理装置１０に送られるパケット（第１パケットＰ１）を総称して行きパケット、負荷管理装置１０から情報処理装置２０へ送られるパケット（第２パケットＰ２）を総称して割当パケットという。
【００２９】
図３は、実施の形態に係る負荷管理装置１０の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００３０】
負荷管理装置１０は、記憶装置１１０と、要求取得部１２０と、要求割当部１３０と、負荷検出部１４０と、状態設定部１５０と、負荷予測部１６０と、稼動履歴記録部１８０と、を備える。
【００３１】
記憶装置１１０は、稼動履歴テーブル１１２と、サーバ群状態テーブル１１４と、接続テーブル１１６と、を含む。稼動履歴テーブル１１２は、情報処理装置２０の過去の稼動履歴を記憶するテーブルである。サーバ群状態テーブル１１４は、現在のサーバ群の状態を記憶するテーブルである。稼動履歴テーブル１１２およびサーバ群状態テーブル１１４の詳細は後述する。
【００３２】
接続テーブル１１６は、同一アクセス内のパケットは同じサーバ群へ送られること（以下、アクセスの同一性と称す）を保証するためのテーブルである。図４は、接続テーブル１１６を示すデータ構造図である。接続テーブル１１６には、後述する接続テーブル更新部１３８によってアクセスに対応するエントリ１１８が生成される。一回のアクセスに対してひとつのエントリが対応する。接続テーブル１１６のエントリ１１８は、アクセスしてきたユーザ端末６のＩＰアドレスであるユーザ端末ＩＰアドレス２１０と、負荷管理装置１０のＩＰアドレスである負荷管理装置ＩＰアドレス２１２と、負荷管理装置１０によってそのアクセスに割り当てられたサーバ群のフロントエンドサーバのＩＰアドレスである割当サーバ群ＩＰアドレス２１４と、ユーザ端末６が同一の場合にアクセスの異同を判別するためのシーケンス番号２１６と、を有する。同一ユーザ端末６において、異なるアクセスには異なるシーケンス番号２１６が割り振られる。以下、サーバ群のフロントエンドサーバのＩＰアドレスを単にサーバ群のＩＰアドレスと称す。
【００３３】
図３に戻る。要求取得部１２０は、ネットワーク４と接続される。要求取得部１２０は、ネットワーク４から到来するユーザ端末６からのアクセスの行きパケットを取得する。この際、要求取得部１２０は行きパケットに含まれるあて先ＩＰアドレスＤｓｔを基に自己宛のパケットであるか否かを判別する。要求取得部１２０は、取得した行きパケットを要求割当部１３０に渡す。
【００３４】
なお、本明細書において「渡す」とは、ある機能ブロックからある機能ブロックに情報要素に対する処理が移ることを意味する。要求取得部１２０と要求割当部１３０との間で言うと、渡すとは、例えば要求取得部１２０が図示しない一時メモリを有し、取得した行きパケットをそこに蓄えた上で、要求割当部１３０からの要請に応じて適宜行きパケットを一時メモリから要求割当部１３０に伝達することである。また渡すとは、記憶装置１１０が図示しない記憶領域を有し、要求取得部１２０は取得した行きパケットをその記憶領域に書き込み、要求割当部１３０は適宜その記憶領域から必要な行きパケットを読み出して処理することであってもよい。
【００３５】
要求割当部１３０は、ユーザ端末６からのアクセスの行きパケットを稼動状態にあるサーバ群のうちのひとつに割り当てる。要求割当部１３０は、同一接続判断部１３２と、サーバ群選択部１３４と、アドレス変換部１３６と、接続テーブル更新部１３８と、を含む。
【００３６】
同一接続判断部１３２は、要求取得部１２０から行きパケットを取得し、その行きパケットが新規のアクセスによるものか否かを判別する。同一接続判断部１３２は、取得した行きパケットのソースＩＰアドレスＳｒｃとシーケンス番号とを読み取る。同一接続判断部１３２は、読み取られたソースＩＰアドレスＳｒｃとシーケンス番号とをキーとして接続テーブル１１６のエントリ１１８を検索し、それらと一致するエントリ１１８が存在する場合、そのエントリ１１８に含まれる割り当てられたサーバ群の割当サーバ群ＩＰアドレス２１４を取得する。同一接続判断部１３２は、この取得された割当サーバ群ＩＰアドレス２１４と行きパケットとをアドレス変換部１３６に渡す。
【００３７】
なお、このように一致するエントリ１１８が存在する場合は、当該行きパケットは既にあるサーバ群（エントリ１１８の割当サーバ群ＩＰアドレス２１４で指定されるサーバ群）に割り当てられたアクセスのなかのひとつのパケットである。アドレス変換部１３６は、渡された行きパケットのあて先ＩＰアドレスＤｓｔを、同一接続判断部１３２によって接続テーブル１１６から取得された割当サーバ群ＩＰアドレス２１４に変換する。このようにあて先ＩＰアドレスＤｓｔが変換された行きパケットはアドレス変換部１３６から割当パケットとしてバスＢＵＳに送出される。
【００３８】
一致するエントリ１１８が存在しない場合は、同一接続判断部１３２は当該行きパケットをサーバ群選択部１３４に渡す。この場合は同一接続判断部１３２は新規のアクセスを検知したと言うことができる。
【００３９】
サーバ群選択部１３４は、同一接続判断部１３２から新規のアクセスに対応する行きパケットを受け取ると、サーバ群状態テーブル１１４を参照してそのアクセスを処理させるサーバ群を選択する。
図５は、サーバ群状態テーブル１１４を示すデータ構造図である。サーバ群状態テーブル１１４は、サーバ群のＩＰアドレス２０２と、サーバ群の状態２０４と、サーバ群の稼働率２０６と、を対応付けて記憶する。サーバ群の稼働率２０６は、サーバ群のピークアクセス数に対する現在そのサーバ群が処理しているアクセス数の割合を％単位で示す。この稼働率２０６は、図示されない稼働率更新部によって、予め定められているサーバ群のピークアクセス数と、接続テーブル１１６から分かるサーバ群に現在割り当てられているアクセス数とから演算され更新されてもよい。あるいは、図示されない稼働率更新部が稼動状態にあるサーバ群から稼働率を取得し、サーバ群状態テーブル１１４の稼働率２０６を更新してもよい。
【００４０】
図３に戻る。サーバ群選択部１３４は、サーバ群状態テーブル１１４に登録されたサーバ群のなかからサーバ群の状態２０４を参照して稼動状態にあるサーバ群を抽出する。後述する状態設定部１５０によって負荷管理装置１０が省電力モードに設定されているか通常モードに設定されているかによって、サーバ群選択部１３４が稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択するアルゴリズムは異なる。以下それぞれの場合について説明する。
【００４１】
１．省電力モード
省電力モードでは、サーバ群選択部１３４は、稼動状態にあるサーバ群の稼働率が１００％となるように、稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択する。例えば図５の例では、サーバ群選択部１３４は新規のアクセスを処理させるサーバ群として第３サーバ群２２ｃを選択する。また、例えば第１サーバ群２２ａ、第２サーバ群２２ｂ、第３サーバ群２２ｃが稼動状態に設定されており、第１サーバ群２２ａの稼働率が１００％、第２サーバ群２２ｂの稼働率が８０％、第３サーバ群２２ｃの稼働率が０％の場合、サーバ群選択部１３４は新規のアクセスを処理させるサーバ群として第２サーバ群２２ｂを選択する。
【００４２】
２．通常モード
通常モードでは、全てのサーバ群が稼動状態にある。サーバ群選択部１３４は、予め情報処理システム２の管理者によって設定されている負荷分散アルゴリズムにしたがって、新規のアクセスを処理させるのに最適なサーバ群を選択する。ここで使用される負荷分散アルゴリズムは、順番にサーバ群が選択されるラウンドロビン方式や、処理しているアクセス数が最小のサーバ群を選択する最小接続方式や、１番早く応答しているサーバ群を選択する最速方式などの公知のアルゴリズムである。
【００４３】
サーバ群選択部１３４は、選択されたサーバ群のＩＰアドレスと新規のアクセスに対応する行きパケットとをアドレス変換部１３６に渡す。アドレス変換部１３６は、渡された行きパケットのあて先ＩＰアドレスＤｓｔを、サーバ群選択部１３４によって選択されたサーバ群のＩＰアドレスに変換する。このようにあて先ＩＰアドレスＤｓｔが変換された行きパケットはアドレス変換部１３６から割当パケットとしてバスＢＵＳに送出される。
【００４４】
接続テーブル更新部１３８は、サーバ群選択部１３４で新規のアクセスに対してサーバ群の選択が行われる毎に、その選択に関する情報をサーバ群選択部１３４から取得し、接続テーブル１１６に対応するエントリを追加する。この選択に関する情報は、新規のアクセスを行ったユーザのユーザ端末６のユーザ端末ＩＰアドレス２１０と、負荷管理装置ＩＰアドレス２１２と、新規のアクセスに対して選択されたサーバ群の割当サーバ群ＩＰアドレス２１４と、シーケンス番号２１６と、を含む。
また、接続テーブル更新部１３８は、適宜不要となったエントリを削除する。
【００４５】
負荷検出部１４０は、要求取得部１２０によって取得されたアクセスのアクセス数を周期的に検出する。負荷検出部１４０は、接続テーブル１１６を参照してエントリ１１８の数をカウントすることで、所定の時間間隔で情報処理装置２０全体へのアクセス数（以下、全アクセス数と称す）を取得する。また負荷検出部１４０は、要求取得部１２０と要求割当部１３０との間の行きパケットの流れを監視し、所定の時間間隔でアクセスの数をカウントし、そのカウント数から単位時間当たりのアクセスの数、つまりアクセス数を導出してもよい。なお、負荷検出部１４０は要求取得部１２０の前段や要求割当部１３０の後段など、負荷管理装置１０の任意の箇所で負荷を監視してもよい。負荷検出部１４０は、検出した全アクセス数を状態設定部１５０の負荷比較部１５２に渡す。
【００４６】
負荷検出部１４０における上述の時間間隔は負荷管理装置１０のモードを更新する基準となる時間間隔であり、アクセス数の変動率に基づいて定められる。負荷検出部１４０は図示しない時間間隔設定部を有し、時間間隔設定部はアクセス数の変動率を監視し、変動率が大きいほど時間間隔を短く設定する。これにより、より適応的なサーバ群状態の制御が可能となる。また、処理を簡素化するという観点からは時間間隔は情報処理システム２の管理者によって予め定められてもよい。
【００４７】
状態設定部１５０は、全アクセス数がモード切替値Ｍｏより少ない場合、情報処理装置２０に含まれる少なくともひとつのサーバ群を省電力状態に設定し、負荷管理装置１０を省電力モードに設定する。なお、負荷管理装置１０は、状態設定部１５０によって省電力モードに設定されなければ、通常モードで動作するよう設定されている。
【００４８】
状態設定部１５０におけるモード切替値Ｍｏは、情報処理装置２０の性能が落ちない範囲に設定される。ここで性能とは、例えばどれだけのアクセス数をどの程度の速さで処理できるかということである。あるいは性能とは、ひとつのアクセスが処理されるのにかかる時間などのレスポンスタイムであってもよい。また、情報処理装置２０の性能が落ちる、とは、例えばあるサーバ群に対してピークアクセス数を越える数のアクセスが割り当てられ、その結果そのサーバ群の処理速度が落ちることにより情報処理装置２０全体のアクセスの処理速度が落ちることである。
【００４９】
例えば第１サーバ群２２ａから第５サーバ群２２ｅのピークアクセス数が全て２０００であるとする。この場合モード切替値Ｍｏを９０００に設定すると、全アクセス数が８５００であっても少なくともひとつのサーバ群を省電力状態に設定しなくてはならない。ここでは第５サーバ群２２ｅを省電力状態に設定したとする。残りの４つのサーバ群２２ａ〜２２ｄのトータルのピークアクセス数は８０００であり、全アクセス数８５００よりも少ない。したがってこの場合残りの４つのサーバ群２２ａ〜２２ｄのうちの少なくともひとつのサーバ群はピークアクセス数以上のアクセスを処理しなくてはならずそのサーバ群の処理速度は低下する。これにより情報処理装置２０全体の処理速度が落ちることとなる。このような状況を避けるために、モード切替値Ｍｏは情報処理装置２０の性能が落ちない範囲に設定される。上述の例ではモード切替値Ｍｏは８０００以下に設定されればよい。
【００５０】
状態設定部１５０は、サーバ群の最大性能を発揮せしめる前提で、要求取得部１２０によって取得されたアクセスを処理させるサーバ群を決定し、残りのサーバ群を省電力状態に設定する。この場合サーバ群の最大性能を発揮せしめる、とは、例えばサーバ群にピークアクセス数でアクセス処理を行わせることであり、言い換えるとサーバ群を１００％の稼働率で使用することである。さらに状態設定部１５０は、全アクセス数の変動により情報処理装置２０の性能が落ちると予測される場合には、省電力状態に設定されている少なくともひとつのサーバ群を稼動状態に設定する。
【００５１】
サーバ群を省電力状態または稼動状態に設定することに関して、状態設定部１５０では、稼動状態にするサーバ群の数に応じた全アクセス数の範囲が定められている。状態設定部１５０は例えば全アクセス数が０から第１しきい値Ｔ１の範囲にあればひとつのサーバ群のみを稼動状態とし、他のサーバ群を省電力状態とする。表１は、状態設定部１５０における状態設定に関して、稼動状態とするサーバ群の数と、ＯＳ休眠状態とするサーバ群の数と、電源オフ状態とするサーバ群の数と、全アクセス数の範囲と、の関係を示す。Ｔ２は第２しきい値、Ｔ３は第３しきい値であり、Ｔ１＜Ｔ２＜Ｔ３である。個々のしきい値は予め情報処理システム２の管理者によって設定される。
【表１】
2011076468.tif 000003
【００５２】
第１しきい値Ｔ１、第２しきい値Ｔ２、第３しきい値Ｔ３はそれぞれサーバ群を１００％の稼働率で使用することを前提に設定される。つまり上述の第１サーバ群２２ａから第５サーバ群２２ｅのピークアクセス数が全て２０００であるとする例では、Ｔ１＝２０００、Ｔ２＝４０００、Ｔ３＝６０００である。この場合、全アクセス数のアクセスを処理するのに必要最低限の数のサーバ群が稼動状態とされる。また、例えば第１しきい値Ｔ１と第２しきい値Ｔ２との間にあった全アクセス数が増大して第２しきい値Ｔ２を越えた場合、そのままだと少なくともひとつのサーバ群の稼働率が１００％を上回ると予測されるので、稼動状態とするサーバ群の数をひとつ増やして情報処理装置２０の処理速度の低下を回避する。
【００５３】
状態設定部１５０は、負荷比較部１５２と、稼動サーバ群決定部１５４と、状態信号生成部１５６と、を含む。
負荷比較部１５２は、負荷検出部１４０から取得した全アクセス数と、第１しきい値Ｔ１、第２しきい値Ｔ２、第３しきい値Ｔ３、モード切替値Ｍｏとの大小関係を判別する。この大小関係は例えば「Ｔ２＜全アクセス数＜Ｔ３」という情報である。負荷比較部１５２はこの大小関係に関する情報を稼動サーバ群決定部１５４に渡す。
【００５４】
稼動サーバ群決定部１５４は、この情報を基に表１のストラテジにしたがい、状態の切替が必要な場合には、稼動状態とするサーバ群とＯＳ休眠状態とするサーバ群と電源オフ状態とするサーバ群を決定する。稼動サーバ群決定部１５４はこの決定に基づきサーバ群状態テーブル１１４を更新する。稼動サーバ群決定部１５４は、状態の切り替えが必要なサーバ群の情報を状態信号生成部１５６に渡す。稼動サーバ群決定部１５４は、状態の切り替えが必要ない場合には処理を中断または終了し、次の情報を待ち受ける。
【００５５】
稼動サーバ群決定部１５４は、表１のストラテジから稼動状態、ＯＳ休眠状態および電源オフ状態とするサーバ群の数をまず決める。次に稼動サーバ群決定部１５４はサーバ群状態テーブル１１４を参照し、サーバ群の状態を切り替える必要があるか、言い換えると負荷検出部１４０が取得した全アクセス数に対応する各状態のサーバ群の数とサーバ群状態テーブル１１４に登録されている現在の各状態のサーバ群の数とが一致するか否かを判断する。そこで一致する場合は稼動サーバ群決定部１５４は処理を中断または終了する。
【００５６】
一致しない場合は、稼動サーバ群決定部１５４はそれぞれの状態にするサーバ群を決める。ここでそれぞれの状態にするサーバ群を決めるアルゴリズムは、例えば稼動状態、ＯＳ休眠状態、電源オフ状態の順番で第１サーバ群２２ａから第５サーバ群２２ｅに順番に割り当てる方式である。言い換えると、サーバ群の状態を切り替える必要がある場合、稼動状態にあるサーバ群はなるべく稼動状態のままでおいておく方式である。この場合、サーバ群の状態を切り替える回数が少なくてすみ、切り替えに伴うオーバヘッドの低減、レスポンスの高速化に寄与する。また、オーバヘッドが気にならない間隔（例えば、一週間や一月）でランダムに設定してもよい。この場合、サーバ機器のＨＤＤ（Hard Disk Drive）などの消耗品の耐用年数を平均化できる。また、サーバ群の性能が異なる場合は、その異なる性能に基づき決めてもよい。
【００５７】
なお、稼動サーバ群決定部１５４でのサーバ群を決める上述のアルゴリズムでは、特に稼動状態を省電力状態に切り替える場合は、アクセスの同一性が考慮される。つまり、稼動サーバ群決定部１５４は、接続テーブル１１６を参照し、省電力状態に切り替えるべきサーバ群へのアクセスがなくなるまで待機する。稼動サーバ群決定部１５４はそのようなアクセスがなくなると、省電力状態に切り替えるべきサーバ群の情報を状態信号生成部１５６に渡す。これによりアクセスの同一性が保証されうる。
【００５８】
状態信号生成部１５６は、状態の切り替えが必要なサーバ群の情報に基づきそのサーバ群に対して切替に対応する休眠導入信号、休眠解除信号、電源オフ信号、および電源オン信号のうちのいずれかを送る。例えば第３サーバ群２２ｃを稼動状態（ＯＳ休眠状態）からＯＳ休眠状態（稼動状態）とする必要がある場合、状態信号生成部１５６は第３サーバ群２２ｃに対して休眠導入信号（休眠解除信号）をバスＢＵＳを介して送出する。また、第３サーバ群２２ｃを稼動状態（電源オフ状態）から電源オフ状態（稼動状態）とする必要がある場合、状態信号生成部１５６は第３サーバ群２２ｃに対して電源オフ信号（電源オン信号）をバスＢＵＳを介して送出する。
状態信号生成部１５６によって省電力状態から稼動状態に設定されたサーバ群は、それが稼動状態であることが稼動サーバ群決定部１５４によってサーバ群状態テーブル１１４に記録されるので、要求割当部１３０によって新規のアクセスが割り当てられる。
【００５９】
負荷管理装置１０は、負荷検出部１４０で検出された全アクセス数を基に状態設定部１５０でサーバ群の状態を適応的に設定する検出モードの他に、過去の稼動履歴を基に予測されたアクセス数（以下、予測アクセス数と称す）を基に状態設定部１５０でサーバ群の状態を設定する負荷予測モードを有する。以下、この負荷予測モードについて説明する。
【００６０】
稼動履歴記録部１８０は、定期的に情報処理装置２０に含まれるサーバ群２２ａ〜２２ｅの稼動履歴を稼動履歴テーブル１１２に記録する。稼動履歴記録部１８０は、例えば１５分に１度サーバ群状態テーブル１１４を参照してその時点での各サーバ群の状態と稼働率とを取得する。また稼動履歴記録部１８０はその時点で負荷検出部１４０によって検出された全アクセス数を取得する。稼動履歴記録部１８０はそれらの情報を稼動履歴テーブル１１２に書き込む。図６は、稼動履歴テーブル１１２を示すデータ構造図である。稼動履歴テーブル１１２は、日時２１８と、アクセス数２２０と、稼動サーバ群の数２２２と、平均稼働率２２４と、を対応付けて記憶する。日時２１８は、暦の上での日時である。稼動サーバ群の数２２２は、その日時に稼動状態にあったサーバ群の数である。平均稼働率２２４は、稼動状態にあったサーバ群の稼働率の平均値である。
【００６１】
図３に戻る。負荷予測部１６０は、過去の稼動履歴を基に負荷を予測する。負荷予測部１６０は、稼動履歴テーブル１１２を参照し、予測対象の時間帯に対して一年以上前の同月同日の同じ時間帯の稼動履歴を取得し、これを基に予測対象の時間帯の予測アクセス数を決定する。例えば、負荷予測部１６０が２００９年７月２８日の９：１５〜９：３０におけるアクセス数を予測する場合、負荷予測部１６０は２００８年７月２８日の９：１５〜９：３０におけるアクセス数（図６の場合、５４００）を稼動履歴テーブル１１２から取得し、それを予測アクセス数とする。この予測アクセス数の取得は、負荷検出部１４０における時間間隔と同様の時間間隔で行われる。
【００６２】
負荷予測部１６０は予測アクセス数を負荷比較部１５２に渡す。状態設定部１５０は、負荷予測部１６０から予測アクセス数が負荷比較部１５２に渡された場合、この予測アクセス数を全アクセス数と読み替えて上述した処理を行う。
【００６３】
図７は、負荷管理装置１０における一連の処理を示すフローチャートである。図７では、要求取得部１２０と、負荷検出部１４０と、状態設定部１５０とで行われる処理についてのフローチャートを示すが、それと平行して要求割当部１３０がサーバ群状態テーブル１１４を参照して新規のアクセスのサーバ群への割り当てを行っていることは上述の通りである。
【００６４】
要求取得部１２０は、ネットワーク４からアクセスを取得する（Ｓ７０２）。負荷検出部１４０は、全アクセス数を検出する（Ｓ７０４）。状態設定部１５０は、全アクセス数とモード切替値Ｍｏ、第１しきい値Ｔ１、第２しきい値Ｔ２、第３しきい値Ｔ３との大小比較を行う（Ｓ７０６）。状態設定部１５０は、その大小比較を基にサーバ群の状態の切替が必要か否かを判断する（Ｓ７０８）。状態の切替が必要でない場合（Ｓ７０８のＮ）、処理をアクセス取得ステップＳ７０２に戻す。状態の切替が必要な場合（Ｓ７０８のＹ）、状態設定部１５０は稼動状態のサーバ群の数を増やすか減らすかを判断する（Ｓ７１０）。減らす必要がある場合（Ｓ７１０の減らす）、状態設定部１５０は稼動状態のサーバ群を省電力状態に設定する（Ｓ７１２）。増やす必要がある場合（Ｓ７１０の増やす）、状態設定部１５０は省電力状態のサーバ群を稼動状態に設定する（Ｓ７１４）。負荷管理装置１０はこの処理を所定の時間間隔で繰り返す。
【００６５】
以上の構成による負荷管理装置１０および情報処理システム２の動作を説明する。情報処理システム２は例えばインターネット上のデータセンタであり、ユーザはユーザ端末６を使用してこの情報処理システム２にあるウェブページなどの情報資源にアクセスする。負荷管理装置１０はこのようなアクセスのアクセス数に応じて適応的に稼動状態とするサーバ群を選択し、残りのサーバ群を省電力状態に設定する。ユーザからのアクセスは稼動状態にあるサーバ群のうちのひとつのサーバ群に割り当てられ、そこで処理される。現時点でのアクセス数を処理するのに不必要なサーバ群は省電力状態とされる。したがって、省電力状態としたサーバ群の待機電力分だけ情報処理システム２全体の消費電力を低減できる。また、アクセス数の増大により情報処理システム２の処理能力を増やす必要が出てくると、負荷管理装置１０は稼動状態とするサーバ群の数を増やす。
【００６６】
図８（ａ）〜図８（ｄ）は、全アクセス数に対する各サーバ群の稼働率を示すグラフである。ここでは、第１サーバ群２２ａから第５サーバ群２２ｅのピークアクセス数が全て２０００であるとする。図８（ａ）〜図８（ｄ）はそれぞれ全アクセス数が１６００、２８００、４４００、７０００の場合に対応する。図８（ａ）〜図８（ｄ）において「△」はＯＳ休眠状態を示し、「×」は電源オフ状態を示す。
【００６７】
図８（ａ）では、第２サーバ群２２ｂはＯＳ休眠状態とされ、第３サーバ群２２ｃと、第４サーバ群２２ｄと、第５サーバ群２２ｅと、は電源オフ状態とされる。図８（ｂ）では、第３サーバ群２２ｃはＯＳ休眠状態とされ、第４サーバ群２２ｄと、第５サーバ群２２ｅと、は電源オフ状態とされる。図８（ｃ）では、第４サーバ群２２ｄはＯＳ休眠状態とされ、第５サーバ群２２ｅは電源オフ状態とされる。図８（ｄ）では、第５サーバ群２２ｅはＯＳ休眠状態とされる。
【００６８】
上述の実施の形態において、記憶装置１１０の例は、ハードディスクやメモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶するメモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【００６９】
本実施の形態に係る負荷管理装置１０によると、省電力モードではアクセス数に応じて情報処理装置２０に含まれるサーバ群が省電力状態に設定される。上述した通り稼動状態のサーバ群の消費電力は、アイドル状態であってもピーク時のおよそ６０％である。これに対して省電力状態のサーバ群の消費電力はピーク時のおよそ０〜１０％である。したがって、本実施の形態では、負荷分散を実現しつつ、アクセス数が少なくアクセスを処理する必要のないサーバ群がある場合はそれらのサーバ群をアイドル状態ではなく省電力状態としている。これにより、情報処理装置２０全体の消費電力を低減でき、電力の無駄遣いを抑え、省エネ化を図ることができる。
【００７０】
また、稼動サーバ群決定部１５４は接続テーブル１１６を参照してアクセスの同一性を保証し、サーバ群選択部１３４はサーバ群状態テーブル１１４を参照して現在稼動状態にあるサーバ群を判別している。このように本実施の形態では状態切替機能と負荷分散機能とがひとつの負荷管理装置１０で実現されているので、アクセスの同一性が必要な場合はそれをより容易に保証でき、また省電力状態にあるサーバ群に誤ってパケットを送信してしまう可能性を低減できる。
【００７１】
本実施の形態に係る負荷管理装置１０では、省電力モード（全アクセス数＜モード切替値Ｍｏ）においては、表１に示される通りＯＳ休眠状態とするサーバ群と電源オフ状態とするサーバ群との両方を設けている。これにより、突然の全アクセス数の増大に対しては、復帰のためのオーバヘッドが小さいＯＳ休眠状態にあるサーバ群を稼動状態に戻すことで対応できる。また、そのように対応できる限りにおいては他のサーバ群は電力を消費しない電源オフ状態とし、情報処理装置２０全体の消費電力をさらに低減している。なお、表１ではＯＳ休眠状態とするサーバ群をひとつだけ確保しているが、この数はオーバヘッドと消費電力とのかねあいで定められればよく、適宜増減可能であることは本明細書に触れた当業者には理解される。
【００７２】
本実施の形態に係る負荷管理装置１０では、状態設定部１５０はサーバ群の最大性能を発揮せしめる前提で稼動状態とするサーバ群を決定する。このサーバ群の決定方式によると、所与の全アクセス数に対してより多くの数のサーバ群を省電力状態とすることができる。したがって、情報処理装置２０全体の消費電力をより低減できる。なお、稼働率によってサーバ群の消費電力が異なるのも事実ではあるが、上述の通りアイドル状態でもピーク時のおよそ６０％の電力が消費されることを考えると、稼働率を下げることによる電力削減効果よりもアイドル状態を省電力状態とすることによる電力削減効果のほうが大きいと考えられる。
【００７３】
また、モード切替値Ｍｏは情報処理装置２０の性能が落ちない範囲に設定される。これにより、全アクセス数が多い場合は通常モードで情報処理装置２０の並列処理能力をいかんなく発揮させ、全アクセス数が少なくなると省電力モードに移行させて性能を保ちつつ電力消費量を低減できる。
【００７４】
また、状態設定部１５０は全アクセス数の変動により情報処理装置２０の性能が落ちると予測される場合には、省電力状態にあるサーバ群を稼動状態に設定する。これにより、サーバ群をピークアクセス数以上で使用しなければならない状況を回避し、アクセス処理の遅滞を避けることができる。
【００７５】
また、負荷予測部１６０は過去の稼動履歴を基にアクセス数を予測し、状態設定部１５０はその予測値に基づいてサーバ群の状態を設定する。つまり負荷管理装置１０は、情報処理システム２の運用の実態を日時、曜日、祭日等のカレンダー区分にて、ネットワーク４側から発生するアクセス数の傾向情報を過去にさかのぼり蓄積し、その情報を元に運用に該当する日時に予測されるアクセス数を算出する学習機能と、その運用時間帯特異のアクセス数の予測を元に必要な稼動状態サーバ群の数を推測し、必要台数のサーバ群を稼動状態にする機能と、を有する。
【００７６】
これらの機能は特に情報処理システム２がネットワーク接続型のデータセンタである場合に有益である。これは以下の本発明者の当業者としての知見に基づく。
日々の運用では、ネットワーク接続型のデータセンタの運用では、運用されているアプリケーションシステムにより、稼働率やアクセス数の傾向が把握できる。これは、例えば、インターネット検索を主としているアプリケーションサーバ群では、平日より休日の利用が多く、平日でも、午前より午後、夕方から夜までの利用が多いと言える。また、証券取引所接続の証券会社のインターネット株取引システムでは、証券取引所の運用時間帯に多くの取引による仕事量があり、取引所が取引を閉じている夕方から朝、土日と祝祭日には仕事量は少ない。取引所が閉まっている時間帯では、証券会社の顧客は主に個々の口座の情報を参照するなどのアクセスを行うので取引時間帯より仕事量は低い。
【００７７】
これらの日々の運用実績のデータを基に、特定の運用日の特定の時間帯に予測されるネットワーク４よりの仕事量が予測出来ることに本発明者は想到した。証券会社の取引システムのサーバ群は、取引所の運用の時間外は、負荷管理装置１０により運用に必要なサーバ群の数を予測し、不必要なサーバ群の電源を切るとかＯＳを休眠させることで消費電力を低減できる。仮に、この予測に反して仕事量が多くなった場合は、省電力状態（電源オフ状態か、ＯＳ休眠状態）のサーバ群をその仕事量に応じて稼動状態とすることにより、多くなった仕事量を分散させる事ができる。
【００７８】
以上、実施の形態に係る負荷管理装置１０およびそれを含む情報処理システム２の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７９】
実施の形態では、ユーザ端末６からサーバ群へのパケットの流れを基に説明したが、サーバ群からユーザ端末６へパケットを返すときも負荷管理装置１０が適宜接続テーブル１１６を参照してアドレス変換できることは本明細書に触れた当業者には明らかである。
【００８０】
実施の形態では、負荷管理装置１０はバスＢＵＳを介して情報処理装置２０の各サーバ群と通信する場合について説明したが、これに限られない。例えば、各サーバ群と負荷管理装置とが１対１で接続され、結果として負荷管理装置がサーバ群側に５つの入出力ポートを有してもよい。この場合、パケットはアドレス変換ではなく直接個々の入出力ポートに振り分けられてもよい。
【００８１】
実施の形態では、モード切替値Ｍｏ、第１しきい値Ｔ１、第２しきい値Ｔ２、および第３しきい値Ｔ３が稼動状態のサーバ群の数を決めるしきい値となる場合について説明したが、これに限られない。例えば、それぞれのしきい値にヒステリシスを持たせてもよい。つまり状態設定部は、通常モードから省電力モードへ移行する第１モード切替値Ｍｏ１と、省電力モードから通常モードへ移行する第２モード切替値Ｍｏ２とを有し、Ｍｏ１＜Ｍｏ２であってもよい。第１しきい値Ｔ１、第２しきい値Ｔ２、第３しきい値Ｔ３についても同様である。この場合、全アクセス数がしきい値付近で変動しても、しきい値をまたぐ毎にサーバ群の状態を切り替えなくてもよいので、状態切替に伴うオーバヘッドを低減できる。その結果情報処理システム２全体のレスポンスが向上しうる。なお、第１モード切替値Ｍｏ１と第２モード切替値Ｍｏ２とは、やはりオーバヘッドと処理速度とのかねあいで定めればよい。
【００８２】
図９は、オーバヘッドと性能のかねあいを説明するための、各サーバ群の稼働率を示すグラフである。ここでは、第１サーバ群２２ａから第５サーバ群２２ｅのピークアクセス数が全て２０００であるとする。また、第１モード切替値Ｍｏ１は７７００、第２モード切替値Ｍｏ２は８３００に設定されている。
図９では全アクセス数が７５００から８２００に変わった際の各サーバ群の稼働率が示される。この場合、変わった後の全アクセス数は第２モード切替値Ｍｏ２に届かないので、負荷管理装置１０は依然として省電力モードに設定されたままであり、例えば第４サーバ群２２ｄにピークアクセス数を越える数のアクセスが割り当てられることとなる。したがって第４サーバ群２２ｄにおける処理速度は低下し、情報処理装置２０全体の処理速度が低下する。対して実施の形態のようにヒステリシスを設けない場合は第５サーバ群２２ｅが稼動状態に設定され、そこで第１サーバ群２２ａ〜第４サーバ群２２ｄでは処理しきれない新規のアクセスが処理される。しかしながら、第５サーバ群２２ｅを省電力状態から稼動状態とする際にはオーバヘッドが存在するので、新規のアクセスを第５サーバ群２２ｅに割り当てる前にそのオーバヘッドだけ待たなければならない。これはやはり情報処理装置２０全体の処理速度の低下と見ることができる。したがって、サーバ群にピークアクセス数以上のアクセスを課すことによる処理速度の低下と、サーバ群の状態切替に伴うオーバヘッドが引き起こす処理速度の低下と、のかねあいでヒステリシスが決定されてもよい。
【００８３】
実施の形態では、サーバ群をどの状態に置くかについて、状態設定部１５０において表１に示されるストラテジが使用される場合について説明したが、これに限られない。例えば、省電力状態としてＯＳ休眠状態を使用し、電源オフ状態を使用しなくてもよい。この場合、電源オンオフにかかる比較的長いオーバヘッドがなくなるので、より早いレスポンスが期待できる。また、処理が簡素化される。別の例としては、省電力状態として電源オフ状態を使用し、ＯＳ休眠状態を使用しなくてもよい。この場合、消費電力をより低減できる。
【００８４】
実施の形態では、状態設定部１５０は負荷管理装置１０を省電力モードに設定する場合について説明したが、これに限られない。例えば、状態設定部１５０が少なくとも１つのサーバ群を省電力状態とすることをもって、負荷管理装置１０は省電力モードであると認識してもよい。つまり、負荷管理装置１０は省電力モードであるとの別個のインジケータがなくとも、サーバ群状態テーブル１１４のサーバ群の状態を見ることでどのモード（通常モードか、省電力モードか）であるかを判別してもよい。
【００８５】
実施の形態では、第１サーバ群２２ａ〜第５サーバ群２２ｅの要求の処理能力はほぼ等しく設定される場合について説明したが、これに限られない。情報処理装置２０に含まれる複数のサーバ群のうちの少なくとも２つについて、それらの要求の処理能力が異なる場合でも、本実施の形態と同等の作用効果を有することは本明細書に触れた当業者には理解される。
【００８６】
実施の形態では、稼動サーバ群決定部１５４がアクセスの同一性を保証する場合について説明したが、これに限られず、アクセスの同一性が要求される場合は負荷管理装置１０がアクセスの同一性を保証すればよい。
【００８７】
実施の形態では、サーバ群選択部１３４は省電力モードでは、稼動状態にあるサーバ群の稼働率が１００％となるように、稼動状態にあるサーバ群から新規のアクセスを処理させるサーバ群を選択する場合について説明したが、これに限られない。例えば、サーバ群選択部１３４は、稼動状態にあるサーバ群のなかから、ラウンドロビン方式や最速方式などの公知の負荷分散アルゴリズムを使用して新規のアクセスを処理させるサーバ群を選択してもよい。これらの場合でも、依然として省電力モードでは省電力状態（ＯＳ休眠状態もしくは電源オフ状態）のサーバ群を設けているので、全体としての電力消費量を低減できる。
【００８８】
実施の形態では、第１フロントエンドサーバ２４ａと第１アプリケーションサーバ２６ａと第１データベースサーバ２８ａとは別個のサーバであり、この順に直列に接続されている場合について説明したが、これに限られない。個々のサーバ群は少なくともひとつのサーバを含めばよく、例えば、サーバ群はフロントエンドサーバとアプリケーションサーバとデータベースサーバの機能を全て併せ持つ１台のサーバを含んでもよい。また、サーバ群は、それら３つのサーバの機能のうちの任意の２つの機能を併せ持つサーバと、残りの機能を持つサーバと、を含んでもよい。
【００８９】
実施の形態では、負荷管理装置１０は、負荷がモード切替値Ｍｏより少ない場合は省電力モード、以上の場合は通常モードに設定される場合について説明したが、これに限られない。例えば、多くのサーバ群を有する情報処理システムでは、負荷の許容量が大きく、通常モードを設定する必要がない場合もある。このような場合では負荷管理装置は常に省電力モードに設定され、通常モードは設定されないか実装されていなくてもよい。この場合でも本実施の形態で説明した効果と同様の効果を得ることができる。
【００９０】
実施の形態では、負荷予測部１６０は予測アクセス数を負荷比較部１５２に渡す場合について説明したが、これに限られない。例えば、負荷予測部１６０は一年以上前の同月同日の同じ時間帯の稼動サーバ群の数２２２を取得し、その稼動サーバ群の数２２２を稼動サーバ群決定部１５４に渡してもよい。この場合、稼動サーバ群決定部１５４はこの稼動サーバ群の数２２２を基に稼動状態にするサーバ群を決定する。
【００９１】
実施の形態では、要求処理ユニットがサーバ群である場合について説明したが、これに限られない。本実施の形態に係る技術思想は例えばＧＳＬＢ（Global Server Load Balance）にも応用されうる。そこでは、要求処理ユニットはそれ自体が複数の並列に配されたサーバ群を有するシステムであってもよい。また、実施の形態では要求はユーザからのアクセスである場合について説明したが、これに限られず、本実施の形態に係る技術思想が適用されるシステムによって異なってもよい。要求とは処理主体への処理の指示であるとも言える。
【００９２】
実施の形態では、負荷管理装置１０と情報処理装置２０とが異なる装置である場合について説明したが、これに限られず、負荷管理装置１０と情報処理装置２０とが一体となっていてもよい。
【００９３】
以上、実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎないことはいうまでもなく、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能であることはいうまでもない。
【符号の説明】
【００９４】
２  情報処理システム、  ４  ネットワーク、  ６  ユーザ端末、  １０  負荷管理装置、  ２０  情報処理装置、  １１０  記憶装置、  １１２  稼動履歴テーブル、  １１４  サーバ群状態テーブル、  １１６  接続テーブル、  １２０  要求取得部、  １３０  要求割当部、  １４０  負荷検出部、  １５０  状態設定部、  １６０  負荷予測部、  １８０  稼動履歴記録部。
【図１】
2011076468.tif 000004
【図２】
2011076468.tif 000005
【図３】
2011076468.tif 000006
【図４】
2011076468.tif 000007
【図５】
2011076468.tif 000008
【図６】
2011076468.tif 000009
【図７】
2011076468.tif 000010
【図８】
2011076468.tif 000011
【図９】
2011076468.tif 000012