JP5843459B2 - 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体 - Google Patents

情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5843459B2
JP5843459B2 JP2011074519A JP2011074519A JP5843459B2 JP 5843459 B2 JP5843459 B2 JP 5843459B2 JP 2011074519 A JP2011074519 A JP 2011074519A JP 2011074519 A JP2011074519 A JP 2011074519A JP 5843459 B2 JP5843459 B2 JP 5843459B2
Authority
JP
Japan
Prior art keywords
server group
server
processing server
processing
scale
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
JP2011074519A
Other languages
English (en)
Other versions
JP2012208781A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011074519A priority Critical patent/JP5843459B2/ja
Priority to US13/435,037 priority patent/US20120254443A1/en
Publication of JP2012208781A publication Critical patent/JP2012208781A/ja
Application granted granted Critical
Publication of JP5843459B2 publication Critical patent/JP5843459B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、クラウド環境におけるオートスケーリング機構に関し、より詳細には、需要変化に応答してサーバ規模を増減させるオートスケーリング機構を実現する、情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体に関する。
近年、システム仮想化技術の発展およびインターネット技術の進歩に伴い、仮想マシンなどのインフラストラクチャをインターネット経由のサービスとして提供する、いわゆるIaaS(Infrastructure as a Service)と呼ばれるクラウド・サービスが普及している。上述したIaaSによれば、クラウド利用者は、アクセス数に対応させてウェブサーバのインスタンスを適時に増減させることが可能となる。ひいては、需要の変化に合わせて素早く能力を拡張または縮小することが可能なシステムが提供される。
上記インスタンスの増減は、クラウド利用者側でオペレータ監視の下、需要状況から必要な能力を予測し、マニュアルで行うこともできるが、一定のトリガ条件を設定して自動的に増減させるオートスケーリング技術も知られている。例えば、Amazon社が提供するクラウド・サービスAmazon EC2(登録商標)では、クラウド利用者は、平均CPU使用率などの観測可能な評価指標(メトリック)を用いてルールを定義し、仮想マシンのインスタンスの増減を条件づけることができる(非特許文献1)。上記従来技術のオートスケーリング機能によれば、クラウド利用者は、例えばCPUの平均使用率が80%を上回った場合に、新たに固定数台のインスタンスを追加し、CPUの平均使用率が20%を下回った場合に、固定数台のインスタンスを除去するというような定義を行うことができる。また、トリガ条件に用いられる評価指標は、上記CPUの平均使用率に限られず、メモリの使用率、ディスク利用度、ネットワーク流量などの種々のメトリックを挙げることができる(非特許文献2)。
オートスケーリング技術としては、大きく分けて、上述したような需要に応答してスケールを増減させるリアクティブ・スケーリング(Reactive Scaling)と、過去の実績などから統計的に需要予測を計算し、予めサーバ・インスタンス数を調整するプロアクティブ・スケーリング(Proactive Scaling)という手法が知られている。
プロアクティブ・スケーリングに関連する従来技術としては、特開2008−129878号公報(特許文献1)を挙げることができる。特許文献1は、業務要件に対して各サーバ群で必要とされる処理性能を定量的に予測することを目的として、フロントエンドサーバ群と、ミドルサーバ群と、バックエンドサーバ群とからなる3階層の業務処理システムの性能予測を行うシステムにおいて、業務処理システムで処理すべき追加業務要件を受け付けて、この業務要件を処理するのに要するミドルサーバ群の処理実行時間を予測する必要処理能力算出部と、予測された処理実行時間に基づいてバックエンドサーバ群の必要サーバマシンの台数を算出するサーバ台数算出部とを設ける技術を開示する。
さらに、過去の履歴情報を用いたスケーリング手法として、特許文献2は、レスポンスタイム監視結果、レスポンスタイム目標値、数量モデルおよび性能仕様情報に基づいて、スループット変化分を算出し、取得した数量モデルに、性能仕様情報を順次代入し、プールサーバごとにスループットを算出して、スループット変化分よりも大きく、かつ最も近い値を示すスループットに対応するプールサーバを選択し、選択したプールサーバに対して構成変更制御を実行するよう指示し、プールサーバに対しアプリケーション・サーバとして機能するよう構成を変更する技術を開示する。
特開2008−129878号公報 国際公開第2007/034826号
"Amazon Elastic Compute Cloud (Amazon EC2)"、[Online]、Amazon Web Services(TM),Products & Services、[平成23年3月23日検索],インターネット〈http://aws.amazon.com/ec2/> "ニフティ・クラウド サービスプラン"、[Online]、クラウドトップ、サービスプラン、サービス仕様、[平成22年12月06日検索],インターネット〈http://cloud.nifty.com/service/spec.htm>
しかしながら、上述したリアクティブ・スケーリングによれば、穏やかな需要変化であれば、対応して仮想マシンのインスタンスを増減することができるものの、急激な需要変化には対応することが難しかった。また、上記メトリックに対するしきい値を用いてインスタンス数を増減させる場合、スケール単位台数が固定値では需要変化に柔軟に対応することができない。また、スケール台数を負荷に応じて可変にしようとしても、過負荷状態にあるサーバのスループットはそれ以上増えないため、CPUの平均使用率やネットワーク流量などのメトリックは飽和し、需要に見合った追加台数を見積もることは困難である。したがって、従来のリアクティブ・スケーリングでは、トリガ条件の成立、所定数のサーバ・インスタンスの起動、そして起動完了後のトリガ条件の監視というサイクルを1以上の回数繰り返すことで、様子を見ながら段階的に最終的に必要な数のインスタンスが起動されることになり、インスタンスの起動時間分だけ需要の変化への追従に遅れが生じてしまう可能性があった。
上記特許文献2に開示されているように、履歴情報を用いて需要予測を行うこともできる場合があるが、過去の実績を超えた需要の変化には対応することができない。プロアクティブ・スケーリングも、過去の実績から需要予測を事前に行うため、予測を超えた需要の変化には対応することができない。例えば災害時などウェブサイトに突発的に負荷が集中する場合は、その需要を正確に定量して、必要台数のインスタンスを迅速に準備することが望ましい。しかしながら、上述までの従来技術では、予想外の需要変化が突発的に起こった場合には充分に対応することができなかった。
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、予想外の需要変化が突発的に起こった場合にも対応してサーバ規模を増加させられるオートスケーリング機構を実現する、情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体を提供することを目的とする。
本発明は、上記課題を解決するために、以下の特徴を有する情報処理システム、情報処理装置を提供する。本情報処理システムは、複数の処理サーバを含む処理サーバ群と、上記処理サーバ群に代替して応答するための代替サーバと、上記処理サーバ群の各処理サーバにトラフィックを分散するとともに、上記処理サーバ群が過負荷状態となった際に代替サーバにトラフィックを転送するロードバランサとを含む。本情報処理システムにおける情報処理装置は、上記ロードバランサにより処理サーバ群へ転送される転送量と代替サーバへ転送される転送量とに応じて、上記処理サーバ群の目標規模を演算し、上記処理サーバ群の現在の規模から目標規模へ増強するため処理サーバを準備する。
本発明ではさらに、上記目標規模を演算する際には、上記処理サーバ群の処理サーバで観測されたローカルな負荷を表す評価指標に依存させて上記処理サーバ群の目標規模を演算することができる。さらに、本情報処理システムは、上記処理サーバ群の後段に設けられる第2サーバ群を含むことができ、上記処理サーバ群の処理サーバで観測された評価指標からボトルネックを判定し、上記処理サーバ群の後段にボトルネックがあると判定された場合に、上記処理サーバ群への転送量と上記代替サーバへの転送量とに応じて上記第2サーバ群の目標規模を演算し、上記第2サーバ群の処理サーバを準備することができる。また、上記ロードバランサは、処理サーバ群の応答性能を監視し、応答性能が転送条件を満たした場合に処理サーバ群が過負荷状態であると判定することができ、上記転送量に応じた処理サーバ群の目標規模の演算および該目標規模へ増強するための処理サーバの準備は、上記転送条件と同一の条件が満たされることをトリガとして行うことができる。さらに本発明によれば、上記情報処理システムにおいて実行されるスケーリング方法、上記情報処理装置を実現するためのプログラム、および該プログラムを記録する記録媒体を提供することができる。
上記構成によれば、ロードバランサにより処理サーバ群へ転送されるトラフィックの転送量と、代替サーバへ転送されるトラフィックの転送量とを用いてウェブシステムの需要が定量されるため、高精度にシステムの潜在的な需要を定量することができ、ひいては、予想できない需要変化に対しても迅速に対応することが可能となる。
本発明の実施形態によるプロビジョニング・システムの概略図。 本発明の実施形態によるプロビジョニング・システムにおける、物理ホストマシンのハードウェア構成およびソフトウェア構成を示すブロック図。 本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させたオートスケーリング機構に関連する機能ブロック図。 本発明の実施形態によるプロビジョニング・システムにおいて、管理ポータルが提供するオートスケーリング設定を行うための管理画面を例示する図。 本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させたオートスケーリング処理を示すフローチャート。 本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させた他のオートスケーリング処理を示すフローチャート(1/2)。 本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させた他のオートスケーリング処理を示すフローチャート(2/2)。 本発明の実施形態によるプロビジョニング・システムにおいて、他の多層アーキテクチャ構成を採用するウェブシステムをスケーリングする事例について説明する図。 従来技術のオートスケーリングによるウェブサーバのインスタンス数の経時変化を示すグラフ。
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下説明する実施形態では、情報処理システムとして、物理ホストマシン上で稼働させる仮想マシンのオートスケーリング機構を実現する、プロビジョニング・システムについて説明する。また、以下の説明では、本発明の実施形態によるプロビジョニング・システムを用いて、多層アーキテクチャのウェブシステムをスケーリングする事例について説明する。
図1は、本発明の実施形態によるプロビジョニング・システムの概略図を示す。図1に示すプロビジョニング・システム100では、インターネット102を介してエンドユーザにサービスを提供するウェブシステム104が、図示しない物理リソース上の仮想コンピューティングシステムとして構築されている。ウェブシステム104は、ロードバランサ110と、上記ロードバランサ110によりトラフィックが振り分けられ、エンドユーザ側のクライアント端末180からインターネット102を介して送られてくるリクエストを処理するウェブサーバ群120と、上記ウェブサーバ群120の過負荷時に代替してリクエストに対し応答するSorryサーバ124とを含んで構成される。また、図1に示すウェブシステム104は、多層アーキテクチャ構成を採用しており、上記ウェブサーバ群120の後段に、ロードバランサ126によりウェブサーバ群120からのトラフィックが振り分けられるメモリキャッシュ・サーバ群130が設けられ、上記メモリキャッシュ・サーバ群130の後段に、データベース・サーバ群140が設けられている。
上述したウェブサーバ群120を構成するウェブサーバ122a〜122z、メモリキャッシュ・サーバ群130を構成するメモリキャッシュ・サーバ132a〜132z、およびデータベース・サーバ群140を構成するデータベース・サーバ142a〜142zは、それぞれ、図示しない物理ホストマシン上で稼働する仮想マシン(仮想サーバ)として実現される。物理ホストマシンは、それぞれ、プロセッサやメモリなどのハードウェア・リソースを含み、インストールされた仮想化ソフトウェアによって、これらハードウェア・リソースが抽象化され、その上で、仮想化されたコンピュータ、すなわち仮想マシンを実現する。物理ホストマシンは、TCP/IPおよびイーサネット(登録商標)によるLAN(Local Area Network)や、専用線やまたはVPN(Virtual Private Network)により公衆回線を介して構成される広域ネットワークを介して相互に接続されており、全体としてのリソースプールを提供する。
上記ロードバランサ110,126は、それぞれ、物理的な負荷分散装置として、または負荷分散機能を提供する上記仮想マシン上のソフトウェアとして提供される。Sorryサーバ124も同様に、物理的なサーバ装置として、またはSorryサーバ機能を提供する上記仮想マシン上のソフトウェアとして提供される。なお、図1に示す実施形態では、Sorryサーバ124は、独立したモジュールとして説明しているが、上記ロードバランサ110が提供する機能の一部として実装したり、いずれかのウェブサーバ122が提供する機能の一部として実装したりすることもできる。
プロビジョニング・システム100は、さらに、管理サーバ150を含む。管理サーバ150は、クラウド利用者側のオペレータ(以下、単にクラウド利用者という。)に対し、サービスを利用するための管理ポータルサイトを提供する。管理サーバ150は、クラウド利用者が上記管理ポータルサイトを介して行った各種管理要求を処理する管理アプリケーションを備え、管理アプリケーションは、物理リソース上に構築される仮想コンピューティング環境に関する情報を収集し、各種設定を管理し、上記クラウド利用者からの要求に対応して各物理ホストマシンで動作する仮想化ソフトウェアのリモート管理を行う。上述した仮想サーバのインスタンス122,132,142、Sorryサーバ124、ロードバランサ110,126は、管理サーバ150により管理される。
クラウド利用者は、管理端末170を用いてインターネット102経由で管理サーバ150にアクセスし、当該サービスの管理ポータルサイトから、予め準備されているOSイメージを選択してプロビジョニング申請することにより、上述したウェブサーバ122、メモリキャッシュ・サーバ132およびデータベース・サーバ142のインスタンスを起動させることができる。またクラウド利用者は、管理ポータルサイトから、ロードバランサ110,126の負荷分散の対象とするインスタンス(またはそのグループ)の登録、転送先の代替サーバの登録、上記ウェブサーバ122やメモリキャッシュ・サーバ132のインスタンスの増減を条件付けるオートスケーリング設定など行うことができる。
管理サーバ150は、概ね、ワークステーション、ラックマウント型サーバ、ブレード型サーバなどの汎用コンピュータ装置として構成される。管理サーバ150は、より具体的には、シングルコア・プロセッサまたはマルチコア・プロセッサなどの中央演算装置(CPU)、キャッシュ・メモリ、RAM(Random Access Memory)、ネットワーク・インタフェース・カード(NIC)、ストレージ・デバイスなどのハードウェア・リソースを備え、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)などの適切なOSの制御の下、仮想化環境の管理インタフェースとしての機能を提供する。管理サーバ150は、また、上記物理ホストマシン上で稼働する仮想マシンとして実装されてもよい。
上記管理端末170およびクライアント端末180a〜180zは、概ね、タワー型、デスクトップ型、ラップトップ型またはタブレット型のパーソナル・コンピュータ、ワークステーション、ネットブック、PDA(Personal Data Assistance)などのコンピュータ装置として構成され、上記CPUなどのハードウェア・リソースを備えており、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)、Mac OS(登録商標)、AIX(登録商標)などの適切なOSの制御の下動作する。本実施形態では、管理端末170およびクライアント端末180a〜180zは、上記OS上で動作するウェブ・ブラウザを実装し、ウェブ・ブラウザを介して管理ポータルサイトや、サービスの提供を受ける。
以下、上記ウェブサーバ122、メモリキャッシュ・サーバ132などの仮想マシンを稼働させる物理ホストマシンの構成について説明する。図2は、本発明の実施形態によるプロビジョニング・システムにおける、物理ホストマシンのハードウェア構成およびソフトウェア構成を示すブロック図である。物理ホストマシン10は、概ね、ワークステーション、ラックマウント型サーバ、ブレード型サーバ、ミッドレンジ、メインフレームなどの汎用コンピュータ装置として構成される。物理ホストマシン10は、ハードウェア・リソース20として、CPU22と、メモリ24と、ハードディスク・ドライブ(HDD)やソリッド・ステート・ドライブ(SSD)などのストレージ26と、NIC28とを含む。
物理ホストマシン10は、ハードウェア・リソース20上で動作する、Xen(登録商標)、VMWare(登録商標)、Hyper−V(登録商標)などの仮想化ソフトウェアのハイパーバイザ(仮想機械モニタとも呼ばれることがある。)30を備え、このハイパーバイザ30上で、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)などの種々のOSをゲストOSとした仮想マシン40,50を稼働させる。
仮想マシン40は、ドメイン0またはペアレント・パーティションなどの呼ばれる管理用の仮想マシンであり、管理用仮想マシン40は、仮想リソース42と、管理用OS44と、管理用OS44上で動作する制御モジュール46とを含む。制御モジュール46は、管理サーバ150からの指令を受信して、当該制御モジュール46が動作している物理ホストマシン10上のハイパーバイザ30に対しコマンドを発行するモジュールである。制御モジュール46は、管理サーバ150からの指令に応答して、ハイパーバイザ30に対し、ドメインUまたはチャイルド・パーティションなどと呼ばれるユーザドメインの仮想マシンの作成やゲストOSの起動の命令を発行し、管理サーバ150による管理の下、仮想マシンの動作を制御する。
仮想マシン50a,50bは、クラウド利用者に対しコンピューティング能力を提供するユーザドメインの仮想マシンである。仮想マシン50は、仮想CPU52、仮想メモリ54、仮想ディスク56および仮想NIC58などの仮想リソースと、ゲストOS60と、該ゲストOS60上で動作する種々のアプリケーション62,64とを含む。アプリケーションは、クラウド利用者に依存するものであり、種々の組み合わせを採用することができる。ウェブサーバ122として仮想マシン50を動作させる場合は、Apache HTTP Server(登録商標)、Internet Information Services(登録商標)などのウェブサーバ機能を提供するアプリケーションが動作する。メモリキャッシュ・サーバ132として仮想マシン50を動作させる場合は、memcachedなどの分散メモリキャッシュ機能を提供するアプリケーションが動作する。データベース・サーバ142として仮想マシン50を動作させる場合は、DB2(登録商標)、MySQL(登録商標)、PostgreSQL(登録商標)などのデータベース機能を提供するアプリケーションが動作する。
上記仮想マシン50は、それぞれ、クラウド利用者からの仮想マシンのプロビジョニング申請に応答して、管理サーバ150の指令によりプロビジョニングされ、クラウド利用者からの仮想マシンのシャットダウン申請に応答して、管理サーバ150の指令によりシャットダウンされる。さらに本発明の実施形態では、需要変化に対応させた仮想マシンのオートスケーリング機構が利用可能とされており、仮想マシン50は、クラウド利用者が定義した仮想マシンの増減を条件付けるオートスケーリング設定のトリガ条件が満たされたことに応答して、プロビジョニングまたはシャットダウンされる。本発明の実施形態によるオートスケーリング機構によれば、ウェブシステム104の需要が定量され、定量された需要に応じて必要な目標サーバ規模が求められ、目標サーバ規模と現状の規模との差分に応じて適時にウェブサーバ群120およびメモリキャッシュ・サーバ群130の各インスタンスを追加または除去することで、サーバ規模を自動調整することが可能とされる。以下、本発明の実施形態による需要変化に対応させた仮想マシンのオートスケーリング機構の詳細について、図3〜図7を参照して説明する。
図3は、本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させた仮想マシンのオートスケーリング機構に関連する機能ブロックを示す図である。図3には、管理サーバ150と、管理端末170とが示されており、対象となるウェブシステム104のコンポーネントとして、さらに、ロードバランサ110と、ウェブサーバ群120と、Sorryサーバ124と、メモリキャッシュ・サーバ群130とが示されている。なお、説明する実施形態では、ウェブサーバ群120およびメモリキャッシュ・サーバ群130の両方、またはウェブサーバ群120のみをスケーリング対象にすることができる。また、ウェブシステム104の需要を定量するため、ウェブサーバ群120の前段(インターネット側)に設けられるロードバランサ110が用いられる。なお、スケーリング対象となり、かつ、需要を定量するためのロードバランサによる負荷分散の対象となるウェブサーバ群120は、本実施形態における処理サーバ群を構成し、ウェブサーバ群120の各インスタンス(ウェブサーバ)122は、処理サーバを構成する。
本実施形態の管理サーバ150は、サービス管理用のインタフェースを提供する管理ポータル152を含んで構成される。クラウド利用者は、管理端末170のブラウザ172を用いてHTTPプロトコルにより当該管理ポータル152にアクセスし、管理メニューから、オートスケーリング設定を含む種々の管理要求を行うことができる。上記管理ポータル152で行われるオートスケーリング設定としては、(1)オートスケーリングの基本設定、(2)需要変化に対応させたオートスケーリングで用いるロードバランサの指定、(3)指定ロードバランサの負荷分散設定、(4)サーバ規模の増強を条件付ける増強条件設定、および(5)サーバ規模の縮小を条件付ける縮小条件設定が含まれる。
(1)オートスケーリングの基本設定は、スケーリング対象となるサーバ群(以下、スケーリング対象サーバ群という。)の指定、並びに各スケーリング対象サーバ群の仮想マシンのOSイメージやスペック、初期マシン数、最小マシン数および最大マシン数などの設定項目を含む。説明する実施形態では、スケーリング対象サーバ群としては、ウェブサーバ群120およびメモリキャッシュ・サーバ群130の両方、またはウェブサーバ群120のみが指定される。また、ウェブサーバ群120の最小マシン数Nmin、メモリキャッシュ・サーバ群130の最小マシン数Mminが指定され、最大マシン数は指定されていないものとして説明する。
本発明の実施形態による需要変化に対応させた仮想マシンのオートスケーリング機構では、トリガおよび需要定量のためロードバランサを用いており、説明する実施形態では、(2)指定ロードバランサとして、インターネット102からのトラフィックをウェブサーバ群120の各ウェブサーバ122へ分散させているロードバランサ110が選択されている。
本発明の実施形態によるオートスケーリング機構では、指定ロードバランサの負荷分散設定が、オートスケーリング設定の設定項目として組み込まれている。(3)指定ロードバランサの負荷分散設定としては、(i)負荷分散方式、(ii)負荷分散対象サーバ群の指定、(iii)代替サーバの指定、および(iv)代替サーバへの転送条件が含まれる。
(i)負荷分散方式としては、特に限定されるものではないが、順番にリクエストを振り分けるラウンドロビン方式、所与の比率でリクエストを振り分ける重み付きラウンドロビン方式、コネクションが少ないインスタンスにリクエストを振り分ける最小コネクション数方式、接続中クライアントが少ないインスタンスにリクエストを振り分ける最小クライアント数方式、処理中のデータ通信量が少ないインスタンスにリクエストを振り分ける最小データ通信量方式、応答時間が短いインスタンスにリクエストを振り分ける最小応答時間方式、CPU、メモリ、入出力の使用率が低いインスタンスにリクエストを振り分ける最小サーバ負荷などいかなる負荷分散方式を挙げることができる。
また、詳細を後述する既存のユーザによる仕掛かり中のセッションを好適に維持する観点からは、いずれの方式であっても、クライアントから送られてくるリクエストの中で関連のあるリクエストを同じサーバに振り分ける、いわゆるセッション維持機能が有効とされていることが好ましい。セッション維持機能は、リクエストの送信元IPアドレスからクライアントを識別する方式、Cookie(クッキー)に登録された情報からクライアントを識別する方式、URLに埋め込まれた情報からクライアントを識別するURLリライト方式、HTTPリクエスト・ヘッダの認証情報からクライアントを識別する方式、SSLセッションIDからクライアントを識別する方式など如何なる方式を採用することができる。
(ii)負荷分散対象サーバ群としては、説明する実施形態では、ウェブサーバ群120が指定されており、(iii)代替サーバとしては、Sorryサーバ124が指定されている。クラウド利用者による負荷分散対象サーバ群および代替サーバの指定に対応して、内部的には、負荷分散対象サーバ群のインスタンス122a〜122zおよびSorryサーバ124のIPアドレスやポート番号などを含む通信設定が行われる。
(iv)代替サーバへの転送条件は、一般的には、指定ロードバランサ110の負荷分散対象サーバ群インスタンスの平均CPU使用率、平均メモリ使用率、平均入出力利用度、平均スループット、平均コネクション数、平均クライアント数、平均データ通信量および平均応答性能値などの種々のメトリックに対するしきい値条件を挙げることができるが、ウェブシステム104の過負荷状況を好適に検知する観点からは、上記インスタンスの平均応答時間や平均応答速度などの平均応答性能値に対するしきい値条件を用いることが好ましい。説明する実施形態では、ウェブサーバ群120のインスタンスの平均応答時間がしきい値Rthresholdを超えるという条件を用いる。ここで「平均」は、時間平均およびインスタンス間平均の一方または両方の意味で用いる。平均応答時間のしきい値Rthresholdは、例えば、クラウド・サービスにおけるSLA(Service Level Agreement)で取り決められる値を用いることができる。
(4)増強条件設定は、サーバ規模を増強する方向のスケーリングにおけるトリガ条件(以下、増強方向のトリガ条件を増強トリガ条件という。)と、増強させるスケール単位(以下、増強方向のスケール単位を増強スケール単位という。)とを含む。増強スケール単位は、簡便には台数で指定され、固定値および需要に応じた可変値のいずれかを選択することができる。なお、増強スケール単位に需要に応じた可変値が選択された場合に、本発明の実施形態による需要変化に対応させたオートスケーリングが選択されることになる。また、需要に応じた可変値が選択される場合であって、可変値を求める演算方式が複数候補から選択可能である場合は、増強条件設定は、これら演算方式の指定を含むことができる。
増強トリガ条件は、一般的には、スケーリング対象サーバ群のインスタンスの平均CPU使用率、平均メモリ使用率、平均入出力利用度、平均スループット、平均コネクション数、平均クライアント数、平均データ通信量および平均応答性能値などの種々のメトリックに対するしきい値条件を挙げることができるが、ウェブシステム104全体の過負荷状態を好適に検知してトリガをかける観点からは、上記指定ロードバランサの負荷分散対象となるウェブサーバ群120の平均応答時間や平均応答速度などの平均応答性能値に対するしきい値条件を用いることが好ましい。また、代替サーバへの転送が発生するということは、ウェブシステム104のサーバ規模が充分ではないことを意味するため、増強トリガ条件は、好適には、上記指定ロードバランサの転送条件と同一の条件を含むことができる。説明する実施形態では、ウェブサーバ群120の増強トリガ条件は、上記指定ロードバランサの転送条件に一致させ、ウェブサーバ群120の平均応答時間がしきい値Rthresholdを超えることを条件とする。
また増強トリガ条件は、スケーリング対象サーバ群が複数指定される場合には、各スケーリング対象サーバ群毎に個別に設定することができる。また図3に示すような多層アーキテクチャ構成が採用され、複数のレイヤをスケーリング対象とする場合は、いずれのレイヤが過負荷状態のボトルネックであるかを判定できるような条件を設定することが好ましい。
クラウド提供者側で簡単に観測可能なメトリックで、ウェブサーバ群120のインスタンス122のCPUに関連するものとしては、CPUが実際に使用されている時間の割合を示すCPU使用率(以下、CPU%という場合がある。)と、ローカルディスクへの入出力待ちの時間の割合を示す待ち率(以下、WAIT%という場合がある。)と、CPUが使用されていないアイドル時間の割合を示すアイドル率(以下、IDLE%という場合がある。)とを挙げることができる。上述したように、ウェブサーバ群120の平均応答時間がしきい値Rthresholdを超えるか否かでウェブシステム104の過負荷状態が判定される場合、平均応答時間がしきい値を超え過負荷状態であると判定されるにもかかわらず、ウェブサーバ群120のインスタンスの平均IDLE%が一定値以上あるときは、ウェブサーバ群120でボトルネックが発生しているのではなく、その後段でボトルネックが発生していると推定することができる。このような性質を利用して、ウェブサーバ群120の平均IDLE%に対するしきい値UwIDLE−thresholdを用いた条件により、ボトルネックがウェブサーバ群120であるか、またはその後段のメモリキャッシュ・サーバ群130であるかを判定することができる。説明する実施形態では、メモリキャッシュ・サーバ群130に対する増強トリガ条件は、ウェブサーバ群120の平均応答時間がしきい値Rthresholdを超え、かつ、ウェブサーバ群120の平均IDLE%がしきい値UwIDLE−thresholdを超えるという条件を用いる。
(5)縮小条件設定は、サーバ規模を縮小する方向のスケーリングにおけるトリガ条件(以下、縮小方向のトリガ条件を縮小トリガ条件という。)と、縮小させるスケール単位(以下、縮小方向のスケール単位を縮小スケール単位という。)とを含む。縮小スケール単位は、簡便には台数で指定され、固定値または需要に応じた可変値を選択することができる。縮小トリガ条件は、上述したものと同様の種々のメトリックに対するしきい値条件を用いることができる。説明する実施形態では、ウェブサーバ群120の縮小トリガ条件としては、ウェブサーバ群120の平均リソース使用率に対するしきい値Uwavg−thresholdが用いられ、メモリキャッシュ・サーバ群130の縮小トリガ条件は、メモリキャッシュ・サーバ群130の平均リソース使用率に対するしきい値Umavg−thresholdが用いられる。
図4は、本発明の実施形態によるプロビジョニング・システム100において、管理ポータルが提供するオートスケーリング設定を行うための管理画面を例示する。図4に示す管理画面200は、オートスケーリング基本設定タブ210aと、ウェブサーバ群用設定タブ210bと、メモリキャッシュ・サーバ群用設定タブ210cとを含む。図4に示す状態では、ウェブサーバ群用設定タブ210bが選択されており、ウェブサーバ群120に関連する設定項目を指定するためのグラフィカル・ユーザ・インタフェース(GUI)部品が配置されている。
図4に示す例では、ウェブサーバ群120のオートスケーリング機能の有効または無効を選択するチェックボックス212と、ウェブサーバ群120のスケーリング方式を選択するためのラジオボタン214a,214bとが示されている。オートスケーリング方式としては、スケール単位台数固定方式214aと、スケール単位台数可変方式214bとが選択可能に示されており、図4ではスケール単位台数可変方式214bが選択されている。なお、本発明の実施形態による需要変化に対応した仮想マシンのオートスケーリング機構は、スケール単位台数可変方式に相当する。
スケール単位台数可変方式214bの詳細な設定項目としては、増強条件設定と、縮小条件設定とが含まれる。増強条件設定および縮小条件設定は、各プルダウンメニュー216,218,220,222の各選択肢を選択することによりそれぞれ設定される。図4は、増強条件設定に関連して、「ロードバランサが計測するウェブサーバ群120の平均応答時間が50msを上回ること」を転送条件および増強トリガ条件とするという設定内容を表している。また、図4は、ウェブサーバ群120の平均CPU使用率が20%以下となることを縮小トリガ条件とし、縮小スケール単位を固定台数1とするという設定内容を表している。なお、図4は、ウェブサーバ群120のための管理設定画面を例示しているが、メモリキャッシュ・サーバ群130のための管理設定画面や、基本設定のための管理設定画面については、詳細な説明は割愛する。
再び図3を参照すると、管理サーバ150は、さらに、オートスケーリング機構を実現するための機能部として、負荷分散設定部154と、カウンタ更新部156と、目標規模演算部158と、縮小規模決定部160と、サーバ準備部162とを含んで構成される。負荷分散設定部154は、クラウド利用者から管理ポータル152を介してなされる上記オートスケーリング設定の管理要求に応答して、上述した指定ロードバランサの負荷分散設定をロードバランサ110に対して行う。ロードバランサ110に対して行われる設定項目としては、具体的には、負荷分散方式の設定、負荷分散対象の仮想マシンおよび代替サーバのIPアドレスなどの通信設定、並びに転送条件が含まれる。
ロードバランサ110は、上記負荷分散設定部154による設定を受けて、インターネット102を介して行われるリクエストをウェブサーバ群120の各インスタンス122に振り分けるとともに、上記転送条件の成立を監視し、上記ウェブシステム104が過負荷状態となったことを検知した際には、Sorryサーバ124へリクエストを転送する。Sorryサーバ124は、ウェブサーバ群120が過負荷状態になった場合に、転送されるリクエストに対し、ユーザに対し混雑中である旨のメッセージを代替して応答するウェブサーバである。また、Sorryサーバ124は、代替応答という処理に関して、実質的に無限大の処理能力を有すると見なせるサーバである。なお、代替サーバとしてのSorryサーバは、説明する実施形態では1台としているが、複数台用意してもよい。
本実施形態のロードバランサ110は、負荷分散対象である各ウェブサーバ122が正常に動作していることを確認するために、また転送条件の成立を監視するために、各ウェブサーバ122に対しキープアライブ・パケットを定期的に送り、各ウェブサーバ122の応答時間Ra〜Rcをモニタしている。ロードバランサ110は、応答時間が所与の時間を越える事象が所与の回数連続して確認された場合、そのウェブサーバ122がダウン状態であると判断し、負荷分散対象から切り離す。またロードバランサ110は、計測された応答時間の時間平均およびインスタンス平均を計算し、平均応答時間がしきい値Rthresholdを超え上記転送条件が満たされる場合には、Sorryサーバ124に対するリクエストの転送を行う。
ロードバランサ110がSorryサーバ124へ転送するリクエストとしては、好適には、新規ユーザからのリクエストのみを対象とし、既にセッションを確立している既存ユーザからのリクエストを転送対象から除外することができる。これにより、既存ユーザによる仕掛かり中のセッションに影響を与えずに、過剰なリクエストを処理することが可能となる。また本実施形態のロードバランサ110は、ウェブシステム104の需要を定量するために、ウェブサーバ群120への単位時間当たりの転送量と、Sorryサーバ124への単位時間当たりの転送量とを計測し、計測値を記憶する。上記転送量は、ウェブサーバ122またはSorryサーバ124へ転送されるコネクション数やデータ通信量を用いて定量することができるが、ウェブシステム104の需要を正確に定量する観点からは、コネクション数、クライアント数またはセッション数などを用いることが好ましい。これは、ウェブサーバ122によるレスポンスでは大きなデータトラフィックが発生し得るのに対して、Sorryサーバ124へ転送されるリクエストに対しては、混雑中である旨のメッセージという小さなデータのレスポンスを主として発生させるにすぎず、コネクション数、クライアント数またはセッション数を用いた方が、ウェブシステム104の需要をより精度良く定量できるためである。
カウンタ更新部156は、本発明の実施形態による需要変化に対応させたオートスケーリングを行うために必要な監視カウンタ値を、定期的または不定期に情報を収集して更新する。必要な監視カウンタ値としては、ロードバランサ110の平均応答時間Ravg、ウェブサーバ群120への単位時間当たりの転送量Tweb、Sorryサーバ124への単位時間当たりの転送量Tsorryといったロードバランサ110から取得されるメトリックが含まれる。必要な監視カウンタ値としては、さらに、ウェブサーバ群120のインスタンス122の平均CPU%UwCPU、平均WAIT%UwWAITおよびIDLE%UwIDLE、並びにメモリキャッシュ・サーバ群130のインスタンス132のCPU%UmCPU、WAIT%UmWAITおよびIDLE%UmIDLEといったスケール対象サーバ群のインスタンスから取得されるメトリックが含まれる。これらインスタンスから取得されるメトリックは、時間平均またはインスタンス平均が計算されてカウンタに保持される。なお、上記ウェブサーバ群120のインスタンス122の平均CPU%UwCPUおよび平均WAIT%UwWAITは、上記ウェブサーバ122のローカルな負荷を評価する評価指標として用いられ、IDLE%UwIDLEは、上述したボトルネックを判定するための評価指標として用いられる。必要な監視カウンタ値としては、さらに、ウェブサーバ群120において稼働中のインスタンス数Nrunningおよび準備中のインスタンス数Nprovisioning、並びにメモリキャッシュ・サーバ群130において稼働中のインスタンス数Mrunningおよび準備中のインスタンス数Mprovisioningといった仮想マシンのプロビジョニングを管理するサーバ準備部162から取得される状態変数が含まれる。カウンタ更新部156は、本実施形態の転送量取得部を構成する。
目標規模演算部158は、更新される監視カウンタ値を参照して、増強トリガ条件の成立を監視し、増強トリガ条件が成立した場合に、指定ロードバランサにより処理サーバ群へ転送される単位時間当たりの転送量と、代替サーバへ転送される単位時間当たりの転送量とを基準として、処理サーバ群の目標サーバ規模を演算する。図3に示す例では、目標規模演算部158は、ウェブサーバ群120への転送量Twebと、Sorryサーバ124への転送量Twebとから、ウェブシステム104の需要を定量し、需要に応じてウェブサーバ群120およびメモリキャッシュ・サーバ群130の目標サーバ規模を演算する。上述した目標サーバ規模は、目標とすべきサーバの規模を表し、サーバ群のインスタンスのスペックが概ね同一であれば、単純にサーバ台数(インスタンス数)で定量することができる。処理サーバ群のインスタンスのスペックが異なる場合は、適宜各インスタンスのスペックに応じて適切な補正を施せばよい。なお、本実施形態では、説明の便宜上、目標サーバ規模をサーバ台数で定量する。下記式(1)〜(3)は、目標サーバ規模を求めるための演算式を例示する。なお、下記式(1)〜(3)中の関数Ceil()は、天井関数を表す。
上記式(1)および式(2)は、それぞれ、ウェブサーバ群120のみをスケーリング対象とした場合に用いることができる演算式を表す。上記式(2)および式(3)は、ウェブサーバ群120およびメモリキャッシュ・サーバ群130の両方をスケーリング対象とした場合に、ウェブサーバ群120およびメモリキャッシュ・サーバ群130それぞれについて用いられる演算式を表す。上記式(1)および上記式(2)は、ウェブサーバ群120の目標サーバ規模Ntargetを算出し、上記式(3)は、メモリキャッシュ・サーバ群130の目標サーバ規模Mtargetを演算するための演算式を表す。上記式(2)中、(UwCPU+UwWAIT)は、ウェブサーバ122のローカルでの負荷の評価を反映させるために導入されたものである。
目標規模演算部158は、さらに、上記目標サーバ規模と現在のサーバ規模との差分から、増強スケール単位を計算し、サーバ準備部162に対し、処理サーバ群のインスタンスのプロビジョニングを依頼する。現在のサーバ規模および増強スケール単位も同様に、処理サーバ群のインスタンスのスペックが概ね同一であれば、単純にサーバ台数で定量することができ、本実施形態では、説明の便宜上、上述した現在のサーバ規模およびスケール単位をサーバ台数で定量する。現在のサーバ規模は、観測時点での稼働中のインスタンスの台数と、プロビジョニングが完了していない準備中のインスタンスの台数との和で求められ、増強スケール単位は、目標サーバ規模と現在のサーバ規模との差分として求められる。説明する実施形態では、目標規模演算部158は、ウェブサーバ群120の目標サーバ規模Ntargetと現在のサーバ規模(Nrunning+Nprovisioning)との差分からウェブサーバ群120のインスタンスの追加台数Naddを算出し、必要に応じて、メモリキャッシュ・サーバ群130の目標サーバ規模Mtargetと現在のサーバ規模(Mrunning+Mprovisioning)との差分からメモリキャッシュ・サーバ群130のインスタンスの追加台数Maddを算出することができる。
なお、説明する実施形態では、ウェブサーバ群120の目標サーバ規模Ntargetと現在のサーバ規模(Nrunning+Nprovisioning)との差分からウェブサーバ群120のインスタンスの追加台数Naddを算出し、一律に追加台数として決定するものとして説明する。しかしながら、他の実施形態では、履歴を用いた需要予測を行う手法と組み合わせることもできる。例えば、ロードバランサを用いて定量された需要に応じて目標サーバ規模を求めるとともに、履歴情報を用いた需要予測により予測サーバ規模を求め、ロードバランサを用いて定量された需要が、履歴情報からの需要予測よりも過小評価されている場合に、需要予測に基づいて求められたサーバ規模を選択することができる。これにより、予測できない需要変化に対応させつつ、需要予測からの補正を行うことが可能となる。
縮小規模決定部160は、更新されるカウンタを参照して縮小トリガ条件の成立を監視し、縮小トリガ条件が成立した場合に、処理サーバ群の縮小サーバ規模を決定する。縮小規模決定部160は、縮小スケール単位が、固定台数であればその値に決定し、可変台数であれば、リソース使用率から適切なサーバ規模を演算し、現在のサーバ規模と演算したサーバ規模との差分から必要な縮小スケール単位を求めることができる。なお、縮小スケーリングの際の適切なサーバ規模は、縮小スケーリング時は通常余剰リソースが存在するため、上述した転送量を用いずともCPU使用率などのリソース使用率から簡単に計算することができる。図3に示す実施形態では、縮小規模決定部160は、ウェブサーバ群120のインスタンスの除去台数Nremoveを決定し、必要に応じてメモリキャッシュ・サーバ群130のインスタンスの除去台数Mremoveを決定することができる。
サーバ準備部162は、増強方向のスケーリングにおいては、処理サーバ群の現在のサーバ規模から目標サーバ規模へ増強するため、処理サーバ群のインスタンスをプロビジョニングする処理を行う。さらに、サーバ準備部162は、縮小方向のスケーリングにおいては、縮小規模決定部160が決定した縮小スケール単位に応じて、処理サーバ群のインスタンスのシャットダウンする処理を行う。図3に示す実施形態では、サーバ準備部162は、増強方向のスケーリングでは、目標規模演算部158により演算された追加台数Naddのウェブサーバ群120のインスタンスのプロビジョニングを実行し、適宜、追加台数Maddのメモリキャッシュ・サーバ群130のインスタンスのプロビジョニングを実行する。また、サーバ準備部162は、稼働中インスタンス数Nrunning,Mrunningと、準備中インスタンス数Nprovisioning,Mprovisioningとを管理しており、カウンタ更新部156に通知する。縮小方向のスケーリングでは、サーバ準備部162は、縮小規模決定部160により決定された除去台数Nremove,Mremove,のウェブサーバ群120およびメモリキャッシュ・サーバ群130のインスタンスのシャットダウンを実行することができる。
図5は、本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させたオートスケーリング処理を示すフローチャートである。なお、図5は、ウェブサーバ群120のみをスケーリング対象サーバ群とし、上記式(1)を用いて目標サーバ規模を演算する場合のオートスケーリング処理を示す。また、図5に示す処理が開始される時点において、ウェブサーバ群120、メモリキャッシュ・サーバ群130およびデータベース・サーバ群140の各インスタンスは、既に所定数配備されており、転送条件および増強トリガ条件である平均応答時間に対するしきい値Rthreshold、ウェブサーバ群120の最小マシン数Nmin、縮小条件としてのウェブサーバ群120の平均リソース使用率に対するしきい値Uwavg−thresholdを含むオートスケーリング設定が設定済みであるとして説明する。
図5に示す処理は、例えばウェブシステム104のオートスケーリング機能が有効化されたことに応答してステップS100から開始される。ステップS101では、カウンタ更新部156は、ロードバランサ110、ウェブサーバ122およびサーバ準備部162から情報を収集し、監視カウンタ値を更新する。図5に示す処理で用いられる監視カウンタ値は、平均応答時間Ravg、ウェブサーバ群120への単位時間当たりの転送量Tweb、Sorryサーバ124への単位時間当たりの転送量Tsorry、ウェブサーバ群120の平均リソース使用率Uwavg、ウェブサーバ群120の稼働中インスタンス数Nrunning、ウェブサーバ群120の準備中インスタンス数Nprovisioningである。
ステップS102では、目標規模演算部158は、監視カウンタ値を参照して、平均応答時間Ravgがしきい値Rthresholdを超えているか否かを判定する。ステップS102で、平均応答時間Ravgがしきい値Rthresholdを超えていると判定された場合(YES)には、ステップS103へ処理が進められる。ステップS103では、目標規模演算部158は、上記監視カウンタ値を参照し、上記式(1)に従いウェブサーバ群120の目標サーバ規模Ntargetを演算する。ステップS104では、目標規模演算部158は、目標サーバ規模Ntargetと、稼働中および準備中のインスタンス数の和(Nrunning+Nprovisioning)とを比較して、目標サーバ規模Ntargetの方が大きいか否かを判定する。ステップS104で、目標サーバ規模Ntargetの方が大きいと判定された場合(YES)には、ステップS105へ処理が進められる。ステップS105では、目標規模演算部158は、目標サーバ規模と現在規模との差分(Ntarget−(Nrunning+Nprovisioning))を算出し、これを追加台数Naddとして、サーバ準備部162にプロビジョニングを依頼する。
ステップS106では、サーバ準備部162は、適当な物理ホストマシン10を選択して、物理ホストマシン10上の制御モジュール46に対しプロビジョニングを要求し、合計Nadd台のウェブサーバ群120のインスタンスを準備し、所与のインターバルが経過した後ステップS101へ処理をループし、カウンタ更新および増強トリガ条件の成立の監視を繰り返す。一方、ステップS104で、目標サーバ規模Ntargetの方が大きくないと判定された場合(NO)は、適当なインターバルが経過した後、直接ステップS101へ処理をループし、カウンタ更新およびトリガ条件の成立の監視を繰り返す。
一方、ステップS102で、平均応答時間Ravgがしきい値Rthresholdを超えないと判定された場合(NO)には、ステップS107へ処理が分岐される。この場合は、増強トリガ条件が成立しておらず、続いて、縮小トリガ条件の成立を監視する。ステップS107では、縮小規模決定部160は、ウェブサーバ群120の準備中インスタンスが存在せず(Nprovisioning=0)、かつ、ウェブサーバ群120の稼働中インスタンス数が最小マシン数Nminを超えており(Nrunning>Nmin)、かつウェブサーバ群120の平均リソース使用率Uwavgが閾値Uwavg−thresold未満であるか否かを判定する。ここで、平均リソース使用率Uwavgは、ウェブサーバ群120のローカルの負荷を指標するものであり、例えばウェブサーバ群120の平均CPU使用率CPU%、または平均CPU使用率CPU%と待ち率WAIT%との和を用いることができる。
ステップS107で、すべての条件が満たされると判定された場合(YES)には、ステップS108へ処理を進める。ステップS108では、縮小規模決定部160は、現時点の稼働中インスタンス数Nrunningから除去台数Nremoveのインスタンスを除去する結果として最小マシン数Nminを下回らない限度において、除去台数Nremoveを決定し、サーバ準備部162にシャットダウンを依頼する。例えば、縮小条件として除去台数に固定数が設定されているのであれば、上記限度を満たす範囲で1〜固定数を除去台数Nremoveとして決定する。縮小条件として除去台数に可変数が設定されているのであれば、可変数を一旦計算し、上記限度を満たす範囲で1〜可変数を除去台数Nremoveとして決定する。可変数の値は、上述したように、ウェブサーバ群120の平均リソース使用率Uwavgから求めることができる。
ステップS109では、サーバ準備部162は、ウェブサーバ群120の全インスタンスから上記除去台数Nremove分のインスタンスを選択して、選択されたインスタンスが稼働する各物理ホストマシン10の制御モジュール46に対しシャットダウンを要求し、合計NRemove個のウェブサーバ群120のインスタンスを除去し、適当なインターバルが経過した後ステップS101へ処理をループし、カウンタ更新およびトリガ条件の成立の監視を繰り返す。一方、ステップS107で、すべての条件が満たされるわけではないと判定された場合(NO)には、適当なインターバルが経過した後、直接ステップS101へ処理をループし、カウンタ更新およびトリガ条件の成立の監視を繰り返す。
図6および図7は、本発明の実施形態によるプロビジョニング・システムにおいて実現される、需要変化に対応させた他のオートスケーリング処理を示すフローチャートである。なお、図6および図7は、ウェブサーバ群120およびメモリキャッシュ・サーバ群130の両方をスケーリング対象サーバ群とし、上記式(2)および式(3)を用いて各目標サーバ規模を演算する場合のオートスケーリング処理を示す。また、図6および図7に示す処理が開始される時点において、図5と同様に、ウェブサーバ群120、メモリキャッシュ・サーバ群130およびデータベース・サーバ群140の各インスタンスは、既に所定数配備されており、転送条件および増強トリガ条件である平均応答時間に対するしきい値Rthresholdと、メモリキャッシュ・サーバ群130の増強トリガ条件であるウェブサーバ群120の平均IDLE%に対するしきい値UwIDLE−thresholdと、ウェブサーバ群120の最小マシン数Nminと、メモリキャッシュ・サーバ群130の最小マシン数Mminと、縮小条件としてのウェブサーバ群120の平均リソース使用率Uwavgに対するしきい値Uwavg−threshold、メモリキャッシュ・サーバ群130の平均リソース使用率Umavgに対するしきい値Umavg−thresholdとを含むオートスケーリング設定が設定済みであるとして説明する。
図6および図7に示す処理は、例えばウェブシステム104のオートスケーリング機能が有効化されたことに応答してステップS200から開始される。ステップS201では、カウンタ更新部156は、ロードバランサ110、ウェブサーバ122、メモリキャッシュ・サーバ132およびサーバ準備部162から情報を収集し、監視カウンタ値を更新する。図6および図7に示す処理で用いられる監視カウンタ値は、図5を参照して説明した平均応答時間Ravg、ウェブサーバ群120への転送量Tweb、Sorryサーバ124への転送量Tsorry、平均リソース使用率Uwavg、稼働中インスタンス数Nrunning、準備中インスタンス数Nprovisioningに加えて、さらに、メモリキャッシュ・サーバ群130の平均リソース使用率Umavgと、メモリキャッシュ・サーバ群130の稼働中インスタンス数Mrunningと、メモリキャッシュ・サーバ群130の準備中インスタンス数Mprovisioningとを含む。
ステップS202では、目標規模演算部158は、監視カウンタ値を参照して、平均応答時間Ravgがしきい値Rthresholdを超えているか否かを判定する。ステップS202で、平均応答時間Ravgがしきい値Rthresholdを超えていると判定された場合(YES)には、ステップS203へ処理が進められる。ステップS203では、目標規模演算部158は、監視カウンタ値を参照して、上記メモリキャッシュ・サーバ群130の増強トリガ条件のひとつであるウェブサーバ群120の平均IDLE%UwIDLEがしきい値UwIDLE−thresholdを超えているか否かを判定する。ステップS203で、平均IDLE%UwIDLEがしきい値UwIDLE−thresholdを超えていると判定された場合(YES)には、ステップS204へ処理が進められる。
ステップS204では、目標規模演算部158は、上記監視カウンタ値を参照し、上記式(3)に従いメモリキャッシュ・サーバ群130の目標サーバ規模Mtargetを演算する。ステップS205では、目標規模演算部158は、メモリキャッシュ・サーバ群130の目標サーバ規模Mtargetの方が、稼働中および準備中のインスタンスの和(Mrunning+Mprovisioning)よりも大きいか否かを判定する。ステップS205で、目標サーバ規模Mtargetの方が大きいと判定された場合(YES)には、ステップS206へ処理が進められる。ステップS206では、目標規模演算部158は、目標サーバ規模と現在規模との差分(Mtarget−(Mrunning+Mprovisioning))を算出し、これをメモリキャッシュ・サーバ132の追加台数Maddとして、サーバ準備部162にプロビジョニングを依頼する。ステップS207では、サーバ準備部162は、適当な物理ホストマシン10を選択してプロビジョニングを要求し、合計Madd台のメモリキャッシュ・サーバ群130のインスタンスを準備し、ステップS208へ処理を進める。
ステップS203で、平均IDLE%UwIDLEがしきい値UwIDLE−thresholdを超えていないと判定された場合(NO)、およびステップS205で目標サーバ規模Mtargetの方が大きくはないと判定された場合(NO)には、直接ステップS208へ処理を進める。ステップS208では、目標規模演算部158は、上記監視カウンタ値を参照し、上記式(2)に従いウェブサーバ群120の目標サーバ規模Ntargetを演算する。ステップS209では、目標規模演算部158は、ウェブサーバ群120の目標サーバ規模Ntargetの方が稼働中および準備中のインスタンスの和(Nrunning+Nprovisioning)よりも大きいか否かを判定する。
ステップS209で、目標サーバ規模Ntargetの方が大きいと判定された場合(YES)には、ステップS210へ処理が進められる。ステップS210では、目標規模演算部158は、目標サーバ規模と現在規模との差分(Ntarget−(Nrunning+Nprovisioning))をウェブサーバ122の追加台数Naddとして、サーバ準備部162にプロビジョニングを依頼する。ステップS211では、サーバ準備部162は、適当な物理ホストマシン10を選択してプロビジョニングを要求し、合計Nadd台のウェブサーバ群120のインスタンスを準備し、所与のインターバルが経過した後ステップS201へ処理をループし、カウンタ更新および増強トリガ条件の成立の監視を繰り返す。ステップS209で、目標サーバ規模Ntargetの方が大きくはないと判定された場合(NO)には、所与のインターバルが経過した後ステップS201へ処理をループさせられる。
一方、ステップS202で、平均応答時間Ravgがしきい値Rthresholdを超えないと判定された場合(NO)には、ポイントAを経て、図7に示すステップS212へ処理が分岐される。この場合は、増強トリガ条件が成立しておらず、続けて縮小トリガ条件の成立を監視する。ステップS212では、縮小規模決定部160は、ウェブサーバ群120の準備中インスタンスが存在せず(Nprovisioning=0)、かつ、ウェブサーバ群120の稼働中インスタンス数が最小マシン数Nminを超えており(Nrunning>Nmin)、かつウェブサーバ122の平均リソース使用率Uwavgが閾値Uwavg−thresold未満であるか否かを判定する。ステップS212で、すべての条件が満たされると判定された場合(YES)には、ステップS213へ処理を進める。ステップS213では、縮小規模決定部160は、現時点の稼働中インスタンス数Nrunningから除去台数Nremoveのインスタンスを除去する結果として最小マシン数Nminを下回らない限度において、除去台数Nremoveを決定し、サーバ準備部162にシャットダウンを依頼する。ステップS214では、サーバ準備部162は、ウェブサーバ群120のインスタンスを稼働させている物理ホストマシン10に対しシャットダウンを要求し、合計Nremove台のインスタンスを除去し、ステップS215へ処理を進める。ステップS212で、すべての条件が満たされるわけではないと判定された場合(NO)には、直接ステップS215へ処理を進める。
ステップS215では、縮小規模決定部160は、メモリキャッシュ・サーバ群130の準備中インスタンスが存在せず(Mprovisioning=0)、かつ、メモリキャッシュ・サーバ群130の稼働中インスタンス数が最小マシン数を超えており(Mrunning>Mmin)、かつメモリキャッシュ・サーバ132の平均リソース使用率Umavgがしきい値Umavg−thresold未満であるか否かを判定する。ステップS215で、すべての条件が満たされると判定された場合(YES)には、ステップS216へ処理を進める。ステップS216では、縮小規模決定部160は、現時点の稼働中インスタンス数Mrunningから除去台数Mremoveのインスタンスを除去する結果として最小マシン数Mminを下回らない限度において、除去台数Mremoveを決定し、サーバ準備部162にシャットダウンを依頼する。ステップS217では、サーバ準備部162は、メモリキャッシュ・サーバ群130のインスタンスを稼働させている物理ホストマシン10に対しシャットダウンを要求し、合計Mremove個のインスタンスを除去し、適当なインターバルが経過した後、ポイントBを経て図6に示すステップS201へ処理をループし、カウンタ更新およびトリガ条件の成立の監視を繰り返す。一方、ステップS215で、すべての条件が満たされるわけではないと判定された場合(NO)には、適当なインターバルが経過した後、直接ポイントBを経て図6に示すステップS201へ処理をループし、カウンタ更新およびトリガ条件の成立の監視を繰り返す。
図8は、本発明の実施形態によるプロビジョニング・システムにおいて、他の多層アーキテクチャ構成を採用するウェブシステムをスケーリングする事例について説明する図である。図8に示すウェブシステム300において、需要変化に応じたオートスケーリングを行う場合、スケーリング対象サーバ群として、さらにアプリケーション・サーバ群344を追加することができる。この場合、アプリケーション・サーバ群344の目標サーバ規模は、ウェブサーバ群320の目標サーバ規模に連動させて、または上記(1)〜(3)と同様な演算式を用いて独立して求めればよい。
以上説明した本発明の実施形態のオートスケーリング機構によれば、増強方向のスケーリングにおいて、ロードバランサにより処理サーバ群へ転送されるトラフィックの転送量と、代替サーバへ転送されるトラフィックの転送量とを用いてウェブシステムの需要が定量され、定量された需要から求められた目標サーバ規模と、現在のサーバ規模との差分を補うように処理サーバ群のインスタンスが準備される。
増強方向のスケーリングにおいては、一般に、システムの潜在的な需要を定量することは困難である。図9は、従来技術のオートスケーリングによるウェブサーバのインスタンス数の経時変化を示すグラフである。図9に示す従来技術のオートスケーリングでは、平均CPU使用率が80%以上となった場合に新たに1台のインスタンスを追加し、平均CPU使用率が20%以下となった場合に1台のインスタンスを除去するという定義によるものである。図9においては、ウェブサーバの平均CPU使用率の経時変化を棒グラフ(左軸)で示し、ウェブサーバのインスタンス数を折れ線グラフ(右軸)で表している。図9を参照すると、急激に増加されたウェブトラフィックに対応して、平均CPU使用率がほぼ飽和状態となり、一方、ウェブサーバのインスタンスが順次追加され、1時間以上をかけて最終的な14台までウェブサーバのインスタンスが起動されている様子がわかる。
図9に示す従来技術では、スケール単位台数が固定台数であり、固定台数分のインスタンスで賄える負荷を超えた需要には迅速対応することができず、インスタンスの起動時間分だけ需要の変化への追従に遅れが生じてしまう可能性がある。また固定台数ずつ増加させるため、不必要なインスタンスが準備されてしまう可能性もある。仮にスケール台数を負荷に応じて可変にしようとしても、過負荷状態にあるサーバのスループットはそれ以上増えないため、CPUの平均使用率やネットワーク流量などのメトリックは飽和してしまい、需要に見合った追加台数を見積もることは通常困難である。例えば、図9に示す例において、当初より最終的に必要となった14台分の1400%の合計CPU使用率を測定することができれば、14台のインスタンスを一挙に起動することができるが、棒グラフにも示すように、平均CPU使用率は100%で飽和するため、平均CPU使用率をメトリックとしても需要を正確に見積もることはできない。これは、ネットワーク流量、メモリ使用率などの各インスタンスから取得されるメトリックを用いる場合でも同様である。
これに対して本発明の実施形態のオートスケーリング機構では、ロードバランサおよび代替サーバを用いており、ロードバランサにより処理サーバ群へ転送されるトラフィックの転送量と、代替サーバへ転送されるトラフィックの転送量とを用いてウェブシステムの需要が定量されるため、上記CPUやネットワーク流量などのメトリックが飽和してしまうような需要変化があっても、正しく需要を定量することができ、ひいては、予想できない需要変化に対しても迅速に対応することが可能である。さらに、代替サーバは、代替応答という処理に関しては、実質的に無限大の処理能力を有すると見なせるサーバであり、容易にはスループットが飽和しないため、現時点のサーバ規模で賄える需要を大幅に超える急変が起こったとしても需要を正確に定量することが可能となる。
また、本発明の実施形態では、ロードバランサおよび仮想マシンから取得されるメトリックだけを用いて目標サーバ規模を求めることができるため、仮想マシン自体の構成がクラウド利用者側にゆだねられるためにクラウド提供者側でその内部情報を取得することが一般に困難であるクラウド環境においても、正確なリアクティブ・オートスケーリングを実現することが可能となる。
また、上述したオートスケーリング機構によれば、エンドユーザは、トラフィック急増時の待ち時間が低減されるというメリットを得ることができる。さらに、新規リクエストのみを代替サーバへの転送対象とすれば、エンドユーザは、さらに、混雑時でも既存のセッションがタイムアウトすることがないというメリットを得ることができる。また、クラウド利用者側の視点では、サーバダウンによるチャンスロスを低減し、不必要なサーバを減らすことで運用コストを削減し、詳細な需要予測や監視に費やす人件費を削減できるというメリットを得ることができる。
以上説明したように、本発明の実施形態によれば、予想外の需要変化が突発的に起こった場合にも対応してサーバ規模を増加させられるオートスケーリング機構を実現する、情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体を提供することができる。
本発明の実施形態によるプロビジョニング・システムは、コンピュータ実行可能なプログラムを、コンピュータ・システムにロードして各機能部を実現することにより提供される。このようなプログラムとしては、例えば、FORTRAN、COBOL、PL/I、C、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのレガシー・プログラミング言語や、オブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…物理ホストマシン、20…ハードウェア・リソース、22…CPU、24…メモリ、26…ストレージ、28…NIC、30…ハイパーバイザ、40…管理用仮想マシン、42…仮想リソース、44…管理用OS、46…制御モジュール、50…ユーザドメイン仮想マシン、52…仮想CPU、54…仮想メモリ、56…仮想ディスク、58…仮想NIC、60…ゲストOS、62,64…アプリケーション、100…プロビジョニング・システム、102…インターネット、104,300…ウェブシステム、110…ロードバランサ、120,320…ウェブサーバ群、122,322…ウェブサーバ、124,324…Sorryサーバ、126,326…ロードバランサ、130,330…メモリキャッシュ・サーバ群、132,332…メモリキャッシュ・サーバ、140,340…データベース・サーバ群、142,342…データベース・サーバ、150…管理サーバ、152…管理ポータル、154…負荷分散設定部、156…カウンタ更新部、158…目標規模演算部、160…縮小規模決定部、162…サーバ準備部、170…管理端末、172…ウェブ・ブラウザ、180…クライアント端末、200…管理画面、210…タブ、212…チェックボックス、214…ラジオボタン、216〜222…プルダウンメニュー、ボタン、344…アプリケーション・サーバ群、346…アプリケーション・サーバ

Claims (17)

  1. 複数の処理サーバを含む処理サーバ群と、
    前記処理サーバ群に代替して応答するための代替サーバと、
    前記処理サーバ群の各処理サーバにトラフィックを分散するとともに、前記処理サーバ群が過負荷状態となった際に前記代替サーバにトラフィックを転送するロードバランサと、
    前記ロードバランサにより前記処理サーバ群へ転送される転送量と前記代替サーバへ転送される転送量とに応じて、前記処理サーバ群の目標規模を、前記代替サーバへの転送量が大きくなると規模が増大するように演算する目標規模演算部と、
    前記処理サーバ群の現在の規模から目標規模へ増強するため前記処理サーバ群の処理サーバを準備するサーバ準備部と
    を含む、情報処理システム。
  2. 前記目標規模演算部は、前記処理サーバ群の処理サーバで観測されたローカルな負荷を表す評価指標に依存させて前記処理サーバ群の目標規模を演算する、請求項1に記載の情報処理システム。
  3. 前記情報処理システムは、さらに、前記処理サーバ群の後段に設けられる第2サーバ群を含み、
    前記目標規模演算部は、前記処理サーバ群の処理サーバで観測された評価指標からボトルネックを判定し、前記処理サーバ群の後段にボトルネックがあると判定された場合に、前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて前記第2サーバ群の目標規模を演算し、
    前記サーバ準備部は、前記第2サーバ群の現在の規模から目標規模へ増強するため前記第2サーバ群の処理サーバを準備する請求項2に記載の情報処理システム。
  4. 前記ロードバランサは、前記処理サーバ群の応答性能を監視し、前記応答性能が転送条件を満たした場合に前記処理サーバ群が過負荷状態であると判定する、請求項1に記載の情報処理システム。
  5. 前記転送量は、コネクション数、クライアント数またはセッション数で定量されることを特徴とする、請求項1に記載の情報処理システム。
  6. 前記代替サーバは、Sorryサーバであることを特徴とする、請求項1に記載の情報処理システム。
  7. 前記目標規模演算部は、前記処理サーバ群への転送量と前記代替サーバへの転送量との比に依存させて前記処理サーバ群の目標規模を演算する、請求項1に記載の情報処理システム。
  8. 前記処理サーバは、それぞれ仮想マシン上で稼働し、前記ローカルな負荷を表す評価指標は、前記処理サーバが稼働する仮想マシンのリソース使用率であり、前記サーバ準備部は、物理マシン上のハイパーバイザに対し、前記処理サーバ群の処理サーバを稼働させる仮想マシンのインスタンスの起動を指令することにより前記処理サーバを準備し、前記処理サーバ群の目標規模は、前記処理サーバ群の処理サーバを稼働させる仮想マシンのインスタンス数で定量されることを特徴とする、請求項2に記載の情報処理システム。
  9. 前記処理サーバ群は、処理サーバとしてウェブサーバを含み、前記第2サーバ群は、処理サーバとしてアプリケーション・サーバまたはメモリキャッシュ・サーバを含む、請求項3に記載の情報処理システム。
  10. 処理サーバ群を構成する複数の処理サーバの各々にトラフィックを分散するとともに前記処理サーバ群が過負荷状態となった際に代替サーバにトラフィックを転送するロードバランサから、前記処理サーバ群へ転送される転送量と前記代替サーバへ転送される転送量とを取得する転送量取得部と、
    前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて前記処理サーバ群の目標規模を、前記代替サーバへの転送量が大きくなると規模が増大するように演算する目標規模演算部と、
    前記処理サーバ群の現在の規模から目標規模へ増強するため前記処理サーバ群の処理サーバを準備するサーバ準備部と
    を含む、情報処理装置。
  11. 前記目標規模演算部は、前記処理サーバ群の処理サーバで観測されたローカルな負荷を表す評価指標に依存させて前記処理サーバ群の目標規模を演算する、請求項10に記載の情報処理装置。
  12. 前記目標規模演算部は、前記処理サーバ群の処理サーバで観測された評価指標からボトルネックを判定し、前記処理サーバ群の後段にボトルネックがあると判定された場合に、前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて、前記処理サーバ群の後段に設けられる第2サーバ群の目標規模を演算し、
    前記サーバ準備部は、前記第2サーバ群の現在の規模から目標規模へ増強するため前記第2サーバ群の処理サーバを準備する、請求項11に記載の情報処理装置。
  13. 処理サーバ群を構成する複数の処理サーバの各々にトラフィックを分散するとともに前記処理サーバ群の負荷状態を監視し、前記処理サーバ群が過負荷状態となった際に代替サーバにトラフィックを転送するロードバランサに接続される、情報処理装置が実行するスケーリング方法であって、
    情報処理装置が、前記処理サーバ群の規模を増強するための増強方向のトリガ条件が成立したことを検知するステップと、
    情報処理装置が、前記ロードバランサから、前記処理サーバ群へ転送される転送量と前記代替サーバへ転送される転送量とを取得するステップと、
    情報処理装置が、前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて前記処理サーバ群の目標規模を、前記代替サーバへの転送量が大きくなると規模が増大するように演算するステップと、
    情報処理装置が、前記処理サーバ群の現在の規模から目標規模へ増強するため前記処理サーバ群の処理サーバを準備するステップと
    を含む、スケーリング方法。
  14. 前記目標規模を演算するステップは、情報処理装置が、前記処理サーバ群の処理サーバで観測されたローカルな負荷を表す評価指標に依存させて前記処理サーバ群の目標規模を演算するステップであることを特徴とする、請求項13に記載のスケーリング方法。
  15. 前記スケーリング方法は、
    情報処理装置が、前記処理サーバ群の処理サーバで観測された評価指標からボトルネックを判定するステップと、
    情報処理装置が、前記処理サーバ群の後段にボトルネックがあると判定された場合に、前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて、前記処理サーバ群の後段に設けられる第2サーバ群の目標規模を演算するステップと、
    情報処理装置が、前記第2サーバ群の現在の規模から目標規模へ増強するため前記第2サーバ群の処理サーバを準備するステップと
    をさらに含む、請求項14に記載のスケーリング方法。
  16. コンピュータ実行可能なプログラムであって、前記プログラムは、コンピュータを、
    処理サーバ群を構成する複数の処理サーバの各々にトラフィックを分散するとともに前記処理サーバ群が過負荷状態となった際に代替サーバにトラフィックを転送するロードバランサから、前記処理サーバ群へ転送される転送量と前記代替サーバへ転送される転送量とを取得する転送量取得部、
    前記処理サーバ群への転送量と前記代替サーバへの転送量とに応じて前記処理サーバ群の目標規模を、前記代替サーバへの転送量が大きくなると規模が増大するように演算する目標規模演算部、および
    前記処理サーバ群の現在の規模から目標規模へ増強するため前記処理サーバ群の処理サーバを準備するサーバ準備部
    として機能させるためのプログラム。
  17. 請求項16に記載のコンピュータ実行可能なプログラムをコンピュータ可読に記録する記録媒体。
JP2011074519A 2011-03-30 2011-03-30 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体 Expired - Fee Related JP5843459B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011074519A JP5843459B2 (ja) 2011-03-30 2011-03-30 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体
US13/435,037 US20120254443A1 (en) 2011-03-30 2012-03-30 Information processing system, information processing apparatus, method of scaling, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011074519A JP5843459B2 (ja) 2011-03-30 2011-03-30 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2012208781A JP2012208781A (ja) 2012-10-25
JP5843459B2 true JP5843459B2 (ja) 2016-01-13

Family

ID=46928809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011074519A Expired - Fee Related JP5843459B2 (ja) 2011-03-30 2011-03-30 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体

Country Status (2)

Country Link
US (1) US20120254443A1 (ja)
JP (1) JP5843459B2 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104170343B (zh) * 2012-07-20 2017-11-17 华为技术有限公司 一种资源管理方法和管理服务器
US10296493B2 (en) * 2012-11-01 2019-05-21 Nec Corporation Distributed data processing system and distributed data processing method
US9529772B1 (en) 2012-11-26 2016-12-27 Amazon Technologies, Inc. Distributed caching cluster configuration
US9847907B2 (en) 2012-11-26 2017-12-19 Amazon Technologies, Inc. Distributed caching cluster management
US9602614B1 (en) 2012-11-26 2017-03-21 Amazon Technologies, Inc. Distributed caching cluster client configuration
JP5940439B2 (ja) * 2012-11-30 2016-06-29 セイコーソリューションズ株式会社 負荷分散装置、負荷分散方法及びプログラム
KR20140080058A (ko) * 2012-12-20 2014-06-30 삼성전자주식회사 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말
JP6107218B2 (ja) * 2013-02-25 2017-04-05 富士通株式会社 制御装置,制御方法,および制御プログラム
JP6207193B2 (ja) * 2013-03-26 2017-10-04 株式会社日立システムズ サーバ数調整システムおよび方法ならびにプログラム
TW201447763A (zh) * 2013-06-06 2014-12-16 Hon Hai Prec Ind Co Ltd 虛擬主機控制系統及方法
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
US9369525B2 (en) * 2013-06-26 2016-06-14 International Business Machines Corporation Highly resilient protocol servicing in network-attached storage
US9304861B2 (en) 2013-06-27 2016-04-05 International Business Machines Corporation Unobtrusive failover in clustered network-attached storage
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9292354B2 (en) * 2013-10-18 2016-03-22 Microsoft Technology Licensing, Llc Self-adjusting framework for managing device capacity
JP2015087936A (ja) * 2013-10-30 2015-05-07 富士ゼロックス株式会社 情報処理装置、情報処理システムおよびプログラム
CN104636091B (zh) 2013-11-07 2018-06-15 精工爱普生株式会社 打印控制系统
JP6248560B2 (ja) * 2013-11-13 2017-12-20 富士通株式会社 管理プログラム、管理方法、および管理装置
US9495238B2 (en) 2013-12-13 2016-11-15 International Business Machines Corporation Fractional reserve high availability using cloud command interception
US9246840B2 (en) * 2013-12-13 2016-01-26 International Business Machines Corporation Dynamically move heterogeneous cloud resources based on workload analysis
EP3085007B1 (en) 2013-12-20 2023-03-15 Nokia Technologies Oy Push-based trust model for public cloud applications
JP2015132887A (ja) * 2014-01-09 2015-07-23 富士通株式会社 要求分散プログラム、要求分散方法および情報処理装置
US9277002B2 (en) * 2014-01-09 2016-03-01 International Business Machines Corporation Physical resource management
US9665633B2 (en) 2014-02-19 2017-05-30 Snowflake Computing, Inc. Data management systems and methods
JP5801432B2 (ja) * 2014-03-24 2015-10-28 株式会社野村総合研究所 基盤運用管理システムおよび基盤運用管理方法
JP6256594B2 (ja) * 2014-03-28 2018-01-10 富士通株式会社 プログラム、管理方法およびコンピュータ
US9842039B2 (en) 2014-03-31 2017-12-12 Microsoft Technology Licensing, Llc Predictive load scaling for services
JP2015194810A (ja) 2014-03-31 2015-11-05 富士通株式会社 スケールアウト方法、システム、情報処理装置、管理装置及びプログラム
JP6277827B2 (ja) * 2014-03-31 2018-02-14 富士通株式会社 情報処理装置、スケール管理方法およびプログラム
US9722945B2 (en) * 2014-03-31 2017-08-01 Microsoft Technology Licensing, Llc Dynamically identifying target capacity when scaling cloud resources
US9426215B2 (en) 2014-04-08 2016-08-23 Aol Inc. Determining load state of remote systems using delay and packet loss rate
EP3125468B1 (en) * 2014-04-23 2019-01-02 Huawei Technologies Co., Ltd. Cloud application processing method and application deployment method and relevant apparatus and system
CN103984602A (zh) * 2014-05-20 2014-08-13 华为技术有限公司 一种vm资源调度方法、装置及系统
JP6543090B2 (ja) * 2014-05-28 2019-07-10 セイコーソリューションズ株式会社 負荷分散装置、負荷分散方法及びプログラム
CN105450716B (zh) * 2014-09-25 2019-01-29 阿里巴巴集团控股有限公司 动态业务分发方法及系统
US10355942B1 (en) * 2014-09-29 2019-07-16 Amazon Technologies, Inc. Scaling of remote network directory management resources
US9547534B2 (en) * 2014-10-10 2017-01-17 International Business Machines Corporation Autoscaling applications in shared cloud resources
US9513935B2 (en) 2014-10-28 2016-12-06 International Business Machines Corporation Auto-scaling thresholds in elastic computing environments
US10620982B2 (en) * 2015-02-06 2020-04-14 International Business Machines Corporation Multi-target deployment of virtual systems
US11283697B1 (en) 2015-03-24 2022-03-22 Vmware, Inc. Scalable real time metrics management
WO2016155835A1 (en) * 2015-04-02 2016-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Technique for scaling an application having a set of virtual machines
US10009416B2 (en) * 2015-04-12 2018-06-26 Alcatel-Lucent Usa Inc. Perfect application capacity analysis for elastic capacity management of cloud-based applications
US10341426B2 (en) 2015-04-30 2019-07-02 Amazon Technologies, Inc. Managing load balancers associated with auto-scaling groups
US10412020B2 (en) * 2015-04-30 2019-09-10 Amazon Technologies, Inc. Background processes in update load balancers of an auto scaling group
US10038640B2 (en) 2015-04-30 2018-07-31 Amazon Technologies, Inc. Managing state for updates to load balancers of an auto scaling group
US9848041B2 (en) * 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US10848574B2 (en) 2015-06-11 2020-11-24 Microsoft Technology Licensing, Llc Computing resource management system
US20180212462A1 (en) * 2015-07-29 2018-07-26 Kyocera Corporation Management server and management method
JP6365454B2 (ja) * 2015-08-03 2018-08-01 京セラドキュメントソリューションズ株式会社 画像形成装置
US10594562B1 (en) * 2015-08-25 2020-03-17 Vmware, Inc. Intelligent autoscale of services
US10320680B1 (en) * 2015-11-04 2019-06-11 Amazon Technologies, Inc. Load balancer that avoids short circuits
US10659366B1 (en) 2015-11-04 2020-05-19 Amazon Technologies, Inc. Load balancer metadata forwarding on secure connections
EP3384388A1 (en) * 2015-12-04 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Technique for optimizing the scaling of an application having a set of virtual machines
CN106933673B (zh) * 2015-12-30 2020-11-27 阿里巴巴集团控股有限公司 调整组件逻辑线程数量的方法及装置
EP3338410A4 (en) * 2016-01-18 2018-08-01 Huawei Technologies Co., Ltd. System and method for cloud workload provisioning
CN106998560A (zh) * 2016-01-25 2017-08-01 中兴通讯股份有限公司 一种虚拟化网络功能的管理方法、网络设备及系统
US10425229B2 (en) * 2016-02-12 2019-09-24 Microsoft Technology Licensing, Llc Secure provisioning of operating systems
JP6927552B2 (ja) * 2016-02-19 2021-09-01 日本電気株式会社 情報処理装置、リソース管理方法及びリソース管理プログラム
JP6637186B2 (ja) * 2016-03-04 2020-01-29 グーグル エルエルシー コンピュータ処理のためのリソース割当て
US10212041B1 (en) 2016-03-04 2019-02-19 Avi Networks Traffic pattern detection and presentation in container-based cloud computing architecture
WO2017168484A1 (ja) * 2016-03-28 2017-10-05 株式会社日立製作所 管理計算機および性能劣化予兆検知方法
US10931548B1 (en) 2016-03-28 2021-02-23 Vmware, Inc. Collecting health monitoring data pertaining to an application from a selected set of service engines
CN106227582B (zh) * 2016-08-10 2019-06-11 华为技术有限公司 弹性伸缩方法及系统
US10785288B2 (en) * 2017-02-22 2020-09-22 International Business Machines Corporation Deferential support of request driven cloud services
US10749762B2 (en) * 2017-03-31 2020-08-18 Connectwise, Llc Systems and methods for managing resource utilization in cloud infrastructure
CN108696556A (zh) * 2017-04-11 2018-10-23 中兴通讯股份有限公司 云应用资源的配置方法及装置
US10542078B1 (en) * 2017-06-13 2020-01-21 Parallels International Gmbh System and method of load balancing traffic bursts in non-real time networks
JP2019028673A (ja) * 2017-07-28 2019-02-21 日本電信電話株式会社 管理装置および管理方法
US10942779B1 (en) * 2017-10-27 2021-03-09 EMC IP Holding Company LLC Method and system for compliance map engine
US10754368B1 (en) 2017-10-27 2020-08-25 EMC IP Holding Company LLC Method and system for load balancing backup resources
US10834189B1 (en) 2018-01-10 2020-11-10 EMC IP Holding Company LLC System and method for managing workload in a pooled environment
JP7011162B2 (ja) * 2018-02-05 2022-01-26 富士通株式会社 性能調整プログラム、および性能調整方法
KR20210044734A (ko) * 2018-02-12 2021-04-23 디엘티 랩스 인크. 블록체인 기반 동의 관리 시스템 및 방법
US10769030B2 (en) 2018-04-25 2020-09-08 EMC IP Holding Company LLC System and method for improved cache performance
US10999168B1 (en) 2018-05-30 2021-05-04 Vmware, Inc. User defined custom metrics
US11044180B2 (en) 2018-10-26 2021-06-22 Vmware, Inc. Collecting samples hierarchically in a datacenter
US11340947B2 (en) * 2018-12-11 2022-05-24 Palantir Technologies Inc. Systems and methods for autoscaling instance groups of computing platforms
EP3745761A1 (en) * 2019-05-28 2020-12-02 Samsung Electronics Co., Ltd. Virtualization of ran functions based on load of the base stations
US11582120B2 (en) 2019-05-30 2023-02-14 Vmware, Inc. Partitioning health monitoring in a global server load balancing system
KR102201799B1 (ko) * 2019-06-26 2021-01-12 충북대학교 산학협력단 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 동적 로드밸런싱 장치
CN112350880B (zh) * 2019-08-07 2022-04-29 深信服科技股份有限公司 过载检测方法、系统、计算机可读存储介质及电子设备
CN110928640A (zh) * 2019-10-28 2020-03-27 烽火通信科技股份有限公司 一种云平台的虚拟机带内指标获取方法及系统
JP7381305B2 (ja) 2019-11-26 2023-11-15 ウイングアーク1st株式会社 チャットシステムおよびチャット管理装置
US20220035684A1 (en) * 2020-08-03 2022-02-03 Nvidia Corporation Dynamic load balancing of operations for real-time deep learning analytics
US11245608B1 (en) * 2020-09-11 2022-02-08 Juniper Networks, Inc. Tunnel processing distribution based on traffic type and learned traffic processing metrics
US11960913B2 (en) * 2021-03-16 2024-04-16 Nerdio, Inc. Systems and methods of auto-scaling a virtual desktop environment
US11811861B2 (en) 2021-05-17 2023-11-07 Vmware, Inc. Dynamically updating load balancing criteria
US11799824B2 (en) 2021-06-14 2023-10-24 Vmware, Inc. Method and apparatus for enhanced client persistence in multi-site GSLB deployments
CN114356557B (zh) 2021-12-16 2022-11-25 北京穿杨科技有限公司 一种集群扩容方法及装置
CN114356558B (zh) 2021-12-21 2022-11-18 北京穿杨科技有限公司 一种基于集群的缩容处理方法及装置
US11800335B2 (en) 2022-01-19 2023-10-24 Vmware, Inc. Predictive scaling of application based on traffic at another application
US20240103931A1 (en) * 2022-09-28 2024-03-28 Jpmorgan Chase Bank, N.A. Scaling application instances based on lag in a message broker

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231445B1 (en) * 2000-11-16 2007-06-12 Nortel Networks Limited Technique for adaptively distributing web server requests
GB0213073D0 (en) * 2002-06-07 2002-07-17 Hewlett Packard Co Method of maintaining availability of requested network resources
GB2389431A (en) * 2002-06-07 2003-12-10 Hewlett Packard Co An arrangement for delivering resources over a network in which a demand director server is aware of the content of resource servers
JP2005250548A (ja) * 2004-03-01 2005-09-15 Fujitsu Ltd 中継制御方法、中継制御プログラム、および中継制御装置
EP1816564A4 (en) * 2004-10-12 2009-03-18 Fujitsu Ltd RESOURCE EXCHANGE PROCESSING PROGRAM AND RESOURCE EXCHANGE PROCESSING METHOD
JP4343119B2 (ja) * 2005-01-19 2009-10-14 富士通株式会社 中継制御プログラムおよびその記録媒体、中継制御方法ならびに中継制御装置
JP4644175B2 (ja) * 2006-10-10 2011-03-02 日本放送協会 アクセス負荷制御装置およびそのプログラム、ならびに、投稿受付システム
CA2699309A1 (en) * 2007-10-21 2009-04-30 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers

Also Published As

Publication number Publication date
US20120254443A1 (en) 2012-10-04
JP2012208781A (ja) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5843459B2 (ja) 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体
US9547534B2 (en) Autoscaling applications in shared cloud resources
Liu et al. Aggressive resource provisioning for ensuring QoS in virtualized environments
Dawoud et al. Elastic virtual machine for fine-grained cloud resource provisioning
US9766947B2 (en) Methods and apparatus to monitor server loads
US8997093B2 (en) Application installation management by selectively reuse or terminate virtual machines based on a process status
Xu et al. A novel resource scheduling approach in container based clouds
WO2018194836A1 (en) Systems and methods for proactively and reactively allocating resources in cloud-based networks
US10904323B2 (en) Methods for server load balancing in a cloud environment using dynamic cloud pricing and devices thereof
US9934059B2 (en) Flow migration between virtual network appliances in a cloud computing network
Inomata et al. Proposal and evaluation of a dynamic resource allocation method based on the load of VMs on IaaS
JP6144639B2 (ja) ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
WO2014116215A1 (en) Shared resource contention
JP2012198843A (ja) 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム
Singh Study of response time in cloud computing
Garg et al. Power and resource-aware VM placement in cloud environment
US9769022B2 (en) Timeout value adaptation
Issa et al. Using logistic regression to improve virtual machines management in cloud computing systems
Adewojo et al. A novel weight-assignment load balancing algorithm for cloud applications
CN104135525B (zh) 云平台elb组件的资源扩展方法和装置
US11429454B2 (en) Cloud resource utilization management
Mukherjee et al. PRIMA: Subscriber-driven interference mitigation for cloud services
Kumar et al. Load balancing algorithm to minimize the makespan time in cloud environment
Sajjad et al. Performance evaluation of cloud computing resources
Oral et al. Supporting performance isolation in software as a service systems with rich clients

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150529

TRDD Decision of grant or rejection written
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20151027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151117

R150 Certificate of patent or registration of utility model

Ref document number: 5843459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees