(57)【要約】【課題】仮想サーバの負荷を可及的に低減させる。【解決手段】クライアント端末１００と、このクライアント端末１００にネットワーク５００を介して接続されるクラウドコンピューティング環境２００と、を有し、このクラウドコンピューティング環境２００における仮想サーバ数を増減させるサーバ数調整システムであって、クラウドコンピューティング環境２００の負荷監視システム２２０が有するサーバ数調整部２３０は、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から、現在稼働中の仮想サーバ数を減算することで算出したスケールアウト数の仮想サーバを仮想サーバ群２１０に追加する。【選択図】図１
2014191378.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムであって、
前記クラウドコンピューティング環境は、前記クライアント端末からの要求を処理する仮想サーバ群と、負荷監視システムと、を有し、
前記負荷監視システムは、
前記仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から現在稼働中の仮想サーバ数を減算することでスケールアウト数を算出し、算出した前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加するサーバ数調整部、
を有する、サーバ数調整システム。
【請求項２】
請求項１に記載のサーバ数調整システムにおいて、
前記負荷監視システムは、
前記仮想サーバの負荷を監視する負荷監視部と、
前記目標仮想サーバ数を記憶する設定情報記憶部と、を有する、サーバ数調整システム。
【請求項３】
請求項２に記載のサーバ数調整システムにおいて、
前記サーバ数調整部は、前記負荷が第１閾値を超えていると判定する場合に、高負荷状態になったと判定し、算出した前記スケールアウト数の前記仮想サーバをスケールアウトし、その後、前記第１閾値よりも低負荷に設定された第２閾値を前記負荷が所定時間以内に超えていないと判定する場合、前記仮想サーバをスケールダウンし、スケールダウンした後の前記仮想サーバの総数を前記目標仮想サーバ数として前記設定情報記憶部に記憶する、サーバ数調整システム。
【請求項４】
請求項１または２に記載のサーバ数調整システムにおいて、
前記サーバ数調整部は、前記スケールアウト数の前記仮想サーバをスケールアウトした後に前記高負荷状態が解消しない場合、前記スケールアウト数以下の数の前記仮想サーバを追加する、サーバ数調整システム。
【請求項５】
クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムにおけるサーバ数調整方法であって、
前記クラウドコンピューティング環境が有する負荷監視システムのサーバ数調整部により、仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から、現在稼働中の仮想サーバ数を減算することでスケールアウト数を算出するスケールアウト数算出ステップと、
前記サーバ数調整部により、前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加する仮想サーバ追加ステップと、を有する、サーバ数調整方法。
【請求項６】
クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムのコンピュータを機能させるためのプログラムであって、
前記クラウドコンピューティング環境が有する負荷監視システムのサーバ数調整部により、仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から、現在稼働中の前記仮想サーバ数を減算することでスケールアウト数を算出するスケールアウト数算出ステップと、
前記サーバ数調整部により、前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加する仮想サーバ追加ステップと、を前記コンピュータに実行させる、サーバ数調整プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ数調整システムおよび方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、パブリッククラウドシステムおよびプライベートクラウドシステムの利用が拡大しており、手軽にサーバリソースを使うことが可能となっている。また、クラウドコンピューティング環境は、サーバの台数を追加する（スケールアウトする）ことで容易にサーバリソースを拡張することができる。
【０００３】
一般的なスケールアウトの方式では、仮想サーバが高負荷状態時に仮想サーバを複製し、複製した仮想サーバに負荷分散することで実現される。
【０００４】
例えば、特開２００６−１３９５７８号公報（特許文献１）には、「負荷分散先のサーバ数を増減するスケールアウトの実現に際し、サーバをトランザクション処理可能状態に保ったまま、トランザクション送信先とするサーバ数を増減し、これに基づいて、トランザクションを送信する。」と記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１３９５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、ショッピングサイトではキャンペーン期間中はサーバが高負荷状態になりやすい。このような場合に、サーバをスケールアウトすることでサーバリソースが増強され、サーバダウンやレスポンスの悪化を防止できるようになる。
【０００７】
従来の、高負荷状態時に自動でスケールアウトを開始するパブリッククラウドシステムにおける自動スケールアウト機能では、高負荷状態が解消されるまで一台ずつサーバを追加していた。よって、サーバが一定の台数まで増加されるまでの間は仮想サーバの負荷が低減せず、その分、仮想サーバの負荷が低減されるまでの時間がかかっていた。
【０００８】
本発明の目的は、仮想サーバの負荷を可及的速やかに低減させるサーバ数調整システムおよびに方法ならびにプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１０】
本発明の一実施の形態は、クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムであって、前記クラウドコンピューティング環境は、前記クライアント端末からの要求を処理する仮想サーバ群と、負荷監視システムと、を有する。さらに、前記負荷監視システムは、前記仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から現在稼働中の前記仮想サーバ数を減算することでスケールアウト数を算出し、算出した前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加するサーバ数調整部を有する。
【００１１】
また、他の実施の形態では、クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムにおけるサーバ数調整方法であって、前記クラウドコンピューティング環境が有する負荷監視システムのサーバ数調整部により、仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から、現在稼働中の前記仮想サーバ数を減算することでスケールアウト数を算出するスケールアウト数算出ステップを有する。さらに、前記サーバ数調整部により、前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加する仮想サーバ追加ステップを有する。
【００１２】
また、他の実施の形態では、クライアント端末と、このクライアント端末にネットワークを介して接続されるクラウドコンピューティング環境と、を有し、前記クラウドコンピューティング環境における仮想サーバ数を増減させるサーバ数調整システムのコンピュータを機能させるためのプログラムであって、前記クラウドコンピューティング環境が有する負荷監視システムのサーバ数調整部により、仮想サーバ群が高負荷状態である場合、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数である目標仮想サーバ数から、現在稼働中の前記仮想サーバ数を減算することでスケールアウト数を算出するスケールアウト数算出ステップを有する。さらに、前記サーバ数調整部により、前記スケールアウト数の前記仮想サーバを前記仮想サーバ群に一度に追加する仮想サーバ追加ステップを前記コンピュータに実行させる。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１４】
本発明の一実施の形態によれば、仮想サーバの負荷を可及的速やかに低減させることができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態におけるサーバ数調整システムの構成例の概要を示す図である。
【図２】本発明の一実施の形態におけるスケールアウト処理の処理フローを示す図である。
【図３】本発明の一実施の形態におけるスケールダウン処理の処理フローを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１７】
本発明の一実施の形態であるサーバ数調整システムは、高負荷状態である場合、一度に追加する仮想サーバ数（以下、スケールアウト数）を算出し、算出したスケールアウト数の仮想サーバを一度に追加する。
【００１８】
＜システム構成＞
図１は、本発明の一実施の形態における仮想サーバ数を増減するシステム（以下、サーバ数調整システムという）の構成例の概要を示す図である。
【００１９】
図１において、サーバ数調整システムは例えば、クライアント端末１００と、システム管理者端末３００と、これらクライアント端末１００およびシステム管理者端末３００にネットワーク５００を介して接続されるクラウドコンピューティング環境２００とを有する。
【００２０】
また、クライアント端末１００、システム管理者端末３００、クラウドコンピューティング環境２００が有するコンピュータは、プロセッサによるメモリ上のプログラムの実行により、サーバ数調整システムとして、クライアント端末１００、システム管理者端末３００、クラウドコンピューティング環境２００が有するコンピュータを機能させる。
【００２１】
クラウドコンピューティング環境２００は、仮想サーバ群２１０と、負荷監視システム２２０とを有する。クラウドコンピューティング環境２００では、物理的なサーバ装置上で複製された複数の仮想サーバ（例えば、業務サーバＡ２１１または業務サーバＢ２１２または負荷監視システム２２０）を稼働させるサーバ仮想化技術が用いられる。
【００２２】
クラウドコンピューティング環境２００の一つとしてパブリッククラウドシステムが存在する。パブリッククラウドシステムでは、不特定多数のユーザに対してサーバやストレージ等のサービス（リソース）を提供する。また、他のクラウドコンピューティング環境２００としてプライベートクラウドシステムが存在する。プライベートクラウドシステムでは、例えば企業などの特定の顧客に対してサーバやストレージ等のサービス（リソース）を提供する。
【００２３】
負荷監視システム２２０は、例えばソフトウェアにより実装されたサーバ数調整部２３０と、負荷監視部２４０と、設定情報記憶部２６０とを有する。
【００２４】
負荷監視部２４０は、仮想サーバ群２１０の負荷を監視する。例えば、負荷監視部２４０は、各仮想サーバ（例えば、業務サーバＡ２１１、業務サーバＢ２１２）から負荷監視部２４０へのレスポンスタイムまたは、各仮想サーバのＣＰＵ使用率を監視することで、仮想サーバ群２１０の負荷を監視する。また、仮想サーバ群２１０は、クライアント端末１００からの要求を処理する。
【００２５】
設定情報記憶部２６０は、最低でも必要な仮想サーバ数を記憶する。また、設定情報記憶部２６０は、高負荷状態が解消されるまで過去にスケールアウトされた後の仮想サーバの総数（以下、目標仮想サーバ数）を記憶する。
【００２６】
設定情報記憶部２６０が記憶する情報のパラメータは、システム管理者が、システム管理者端末３００を用いて設定することができる。
【００２７】
このサーバ数調整システムにおいて、クライアント端末１００からクラウドコンピューティング環境２００へのアクセスに対して、図示しない負荷分散装置が仮想サーバ群２１０へトランザクションを分散させる。また、負荷監視システム２２０のサーバ数調整部２３０は負荷監視部２４０により監視されている負荷を取得する。そして、負荷が閾値を超えているとサーバ数調整部２３０が判定する場合、サーバ数調整部２３０は、設定情報記憶部２６０から目標仮想サーバ数を取得する。その後、サーバ数調整部２３０は、取得した目標仮想サーバ数から、自らが保持する現在稼働中の仮想サーバの総数を減算することで、スケールアウト数を算出する。そして、サーバ数調整部２３０は、算出したスケールアウト数の仮想サーバを仮想サーバ群２１０へ一度に追加する。
【００２８】
なお、サーバ数調整部２３０は、例えば、業務サーバＡ２１１または業務サーバＢ２１２のいずれかの負荷が所定の閾値を超えている場合に、仮想サーバ群２１０が高負荷状態と判定し、仮想サーバを追加する。
【００２９】
＜スケールアウト処理＞
図２は、本発明の一実施の形態におけるスケールアウト処理の処理フローを示す。
【００３０】
まず、Ｓ２０１にて、負荷監視部２４０は、仮想サーバ群２１０の負荷の監視を開始する。そして、サーバ数調整部２３０は、負荷監視部２４０によって監視されている仮想サーバ群２１０の負荷を取得する。
【００３１】
次に、Ｓ２０２にて、サーバ数調整部２３０は、負荷が第１閾値を超えているか否かを判定する。この判定は、例えば、負荷監視部２４０が、仮想サーバの負荷監視部２４０へのレスポンスタイムが４秒を超えているか否かによって行われる。サーバ数調整部２３０が、負荷が第１閾値を超えていないと判定する場合（Ｓ２０２−Ｎｏ）、Ｓ２０１へ進む。一方、サーバ数調整部２３０が、負荷が第１閾値を超えていると判定する場合（Ｓ２０２−Ｙｅｓ）、Ｓ２０３へ進む。
【００３２】
次に、Ｓ２０３にて、サーバ数調整部２３０は、設定情報記憶部２６０から目標仮想サーバ数を取得する。なお、設定情報記憶部２６０には、目標仮想サーバ数の初期値として、最低でも必要な仮想サーバ数に例えば「１」加算された数が記憶されている。
【００３３】
次に、Ｓ２０４にて、サーバ数調整部２３０は、目標仮想サーバ数から現在稼働中の仮想サーバ数を減算することで、一度に追加する仮想サーバ数であるスケールアウト数を算出する。
【００３４】
次に、Ｓ２０５にて、サーバ数調整部２３０は、Ｓ２０４にて算出したスケールアウト数の仮想サーバを一度に仮想サーバ群２１０へ追加する。
【００３５】
次に、Ｓ２０６にて、サーバ数調整部２３０は、負荷監視部２４０によって監視されている仮想サーバ群２１０の負荷を取得し、取得した負荷が第１閾値を超えているか否かを判定する。サーバ数調整部２３０が、負荷が第１閾値を超えていないと判定する場合（Ｓ２０６−Ｎｏ）、Ｓ２０９へ進み、スケールダウン処理（後述、図３）を行う。一方、サーバ数調整部２３０が、負荷が第１閾値を超えていると判定する場合（Ｓ２０６−Ｙｅｓ）、サーバ数調整部２３０は、未だに高負荷状態であると判定し、Ｓ２０７へ進む。
【００３６】
次に、Ｓ２０７にて、サーバ数調整部２３０は、再度、仮想サーバを仮想サーバ群２１０に追加する。なお、新たに仮想サーバを追加する仮想サーバ数としては、Ｓ２０４にて算出したスケールアウト数を適用することができる。また、Ｓ２０４にて算出したスケールアウト数よりも少ない数（例えば、スケールアウト数から「２」除算した数）を適用することができる。
【００３７】
次に、Ｓ２０８にて、サーバ数調整部２３０は、設定情報記憶部２６０から目標仮想サーバ数を取得し、取得した目標仮想サーバ数にＳ２０７にてスケールアウトした仮想サーバ数を加算することで新たな目標仮想サーバ数を算出する。そして、サーバ数調整部２３０は、設定情報記憶部２６０が記憶する目標仮想サーバ数を、新たに算出した目標仮想サーバ数へ更新する。そして、Ｓ２０８の処理後は、Ｓ２０６へ進む。
【００３８】
＜スケールダウン処理＞
図３は、本発明の一実施の形態におけるスケールダウン処理の処理フローを示す。
【００３９】
まず、Ｓ３０１にて、負荷監視部２４０は、第１閾値よりも低負荷に設定された第２閾値（例えば、レスポンスタイムが２秒）の負荷を仮想サーバ群２１０が超えないまま所定時間（例えば、５分）が経過したか否かを判定する。この判定は、例えば、仮想サーバのクライアント端末１００へのレスポンスタイムが２秒を超えているか否かによって行われる。Ｓ３０１にて、負荷監視部２４０が、所定時間内に負荷が第２閾値を超えたと判定する場合（Ｓ３０１−Ｙｅｓ）、処理を終了する。一方、負荷監視部２４０が、負荷が第２閾値を超えないまま所定時間が経過したと判定する場合（Ｓ３０１−Ｎｏ）、Ｓ３０２へ進む。
【００４０】
次に、Ｓ３０２にて、サーバ数調整部２３０が仮想サーバを１台だけスケールダウンし、Ｓ３０３へ進む。
【００４１】
次に、Ｓ３０３にて、サーバ数調整部２３０は、設定情報記憶部２６０から目標仮想サーバ数を取得し、取得した目標仮想サーバ数から例えば「１」を減算することで新たな目標仮想サーバ数を算出する。そして、サーバ数調整部２３０は、設定情報記憶部２６０が記憶する目標仮想サーバ数を、新たに算出した目標仮想サーバ数へ更新し、Ｓ３０１へ進む。
【００４２】
ここで、本発明のサーバ数調整方法およびサーバ数調整プログラムは、Ｓ２０４がスケールアウト数算出ステップに相当し、Ｓ２０５が仮想サーバ追加ステップに相当する。
【００４３】
＜本実施の形態の効果＞
以上説明した本実施の形態によれば、パブリッククラウドシステムにおける自動でスケールアウトされる環境であっても、一度に追加する仮想サーバ数であるスケールアウト数を算出し、算出したスケールアウト数の仮想サーバを一度に追加することで、仮想サーバの負荷を可及的速やかに低減させることができるようになる。
【００４４】
さらに、設定情報記憶部２６０に、目標仮想サーバ数を記憶することで、目標仮想サーバ数を更新できるようになる。
【００４５】
さらに、算出されたスケールアウト数の仮想サーバをスケールアウトした後に高負荷状態が解消しない場合、前回スケールアウトされたスケールアウト数以下の仮想サーバを追加することができるようになる。
【００４６】
さらに、第１閾値よりも低負荷に設定された第２閾値を負荷が所定時間以内に超えていないと判定する場合、仮想サーバをスケールダウンすることで、不要な仮想サーバを自動的にスケールダウンしつつ、余裕を持って仮想サーバの数を確保できるようになる。
【００４７】
以上、本発明によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００４８】
本発明は、仮想サーバの負荷を可及的速やかに低減させることが可能になるという優れた効果を有し、サーバ数調整システムおよび方法ならびにプログラムにも適用することができる。
【符号の説明】
【００４９】
１００  クライアント端末
２００  クラウドコンピューティング環境
２１０  仮想サーバ群
２２０  負荷監視システム
２３０  サーバ数調整部
２４０  負荷監視部
２６０  設定情報記憶部
３００  システム管理者端末
５００  ネットワーク
【図１】
2014191378.tif 000003
【図２】
2014191378.tif 000004
【図３】
2014191378.tif 000005