説明

サーバ構成管理システム

【課題】クラウドサービス基盤を利用する際に、サービス品質や利用費用の変動に応じて、利用者の体感品質を維持もしくは向上させながら、情報システムを構築する費用を低減させる。
【解決手段】クライアント及びサーバと接続される管理サーバとを備えるサーバ構成管理システムであって、クライアントは、通信制御部を介して、サーバにサービスの提供を要求し、通信制御部は、クライアントからの要求を、サーバに送信し、サーバは、クライアントからの要求に従って、クライアントにサービスを提供し、クライアントは、サービスが提供される際のサービス品質を示す品質情報を測定し、測定された品質情報を、管理サーバに送信し、管理サーバは、送信された品質情報と、管理者によって与えられた選択基準とに基づいて、クライアントへのサービスの提供に適するサーバを選択し、選択されたサーバを示す情報を、通信制御部に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ及びクライアントを含むシステムを管理する、サーバ構成管理システムに関する。
【背景技術】
【0002】
従来の情報システムは、WEBサーバ又はアプリケーションサーバを一つのデータセンタ内に設置し、組織などの内部ネットワーク(イントラネット)を介して、端末から利用するのが一般的であった。近年、サーバ又は仮想サーバを用いて実現されたWEBサーバ又はアプリケーションサーバを、データセンタ内部に多数設置し、インターネットなどのネットワークを介して遠隔地から利用する情報システムが一般的になっている。
【0003】
近年の情報システムにおいて、同じサービスを提供するWEBサーバ又はアプリケーションサーバへ多量のアクセスがある場合、一般的に、負荷分散の機構がネットワーク上に設置される。そして、これによって、複数のWEBサーバ又はアプリケーションサーバが、複数の端末から来る複数のリクエストを処理するように負荷を分散する。
【0004】
これまで、サービスを提供するためのサーバ(サービス提供サーバ)を複数備えたサービス提供サイトが、端末からの求めに応じてサービスを提供するネットワークにおいて、サービス提供サーバの負荷を分散する装置が提案されている(例えば、特許文献1参照)。
【0005】
特許文献1に示された装置は、各サービス提供サーバの負荷状況を検出する負荷分散処理部と、サービス提供サーバの各IPアドレスをサービス提供サイトのドメイン名に対応させて記憶するデータベースとを備える。
【0006】
また、特許文献1に示された装置は、IPアドレス通知手段を持つ。IPアドレス通知手段によって、特許文献1に示された装置は、端末からドメイン名を指定されてサービス情報の提供をリクエストされると、前述の負荷分散処理部によって検出された各サービス提供サーバの負荷状況に基づいて、負荷がより軽いサービス提供サーバのIPアドレスを取得する。そして、取得されたサービス提供サーバのIPアドレスを当該端末に通知する。
【0007】
また、運用方針及び負荷状況に基づいて仮想サーバのスケールアップ又はスケールアウトを動的に行なうリソース調整システムが提案されている(例えば、特許文献2参照)。特許文献2に示されたリソース調整装置は、複数のサーバから各仮想サーバの負荷状況を収集し、ある仮想サーバの高負荷状態を検出すると、高負荷状態にある仮想サーバと同じアプリケーションを提供する仮想サーバ群に、所属しない仮想サーバから削減可能な総リソース量を、現在の負荷状況に基づいて算出する。
【0008】
さらに、特許文献2に示されたリソース調整装置は、仮想サーバ群のリソース配分がスケールアップ又はスケールアウトのいずれであるかを判定し、スケールアップの場合にリソースを集中的に投下する仮想サーバがいずれであるかに基づいて、合計の追加リソース量が、他の仮想サーバ群から、削減可能な総リソース量となるように、仮想サーバ群に所属する複数の仮想サーバへ追加するリソース量の配分を決定した後、仮想サーバの再配置と、リソースの削減及び追加を指示する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2000―293496号公報
【特許文献2】特開2010―033292号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
近年、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)と呼ばれるような、クラウド基盤を提供するサービスが普及している。これまでWAN又はLANに構成されたイントラネット上で提供されていた情報システムを、前述のクラウド基盤提供サービスを利用して、構築する例が増えている。
【0011】
クラウド基盤提供サービスを利用して情報システムを構築する場合、情報システムの利用者は、クラウド基盤提供サービスが提供する、サーバ、仮想サーバ、ネットワーク、及び、ストレージ等のサービス提供品質を吟味し、その全部又は一部を利用することによって、情報システムを構築する。しかし、クラウド基盤提供サービスが提供するサーバ、仮想サーバ、ネットワーク、及び、ストレージの性能は、他のユーザの利用状況などによって変化することが多い。そのため、情報システムを利用する利用者が、一定のサービス提供品質を維持しながら利用しようとしても、利用者の体感品質が悪化する可能性がある。
【0012】
また、クラウド基盤提供サービスの利用料は、サービス提供ベンダの競争などが原因で、一定ではない。一度、あるクラウド基盤提供サービスを利用して情報システムを構築したとしても、任意の時間が経過すると、別のクラウド基盤提供サービスを利用して情報システムを構成したほうが、利用者の利用料を低減できる場合がある。
【0013】
このように、動的にサービス品質及び利用量が変動する情報システムを構築する際に、その時々に応じて、利用者のサービスを利用する品質(レスポンスタイムなどの利用者のサービス利用の体感品質、情報システムのセキュリティ、情報システムの可用性、及び、信頼性等)を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる情報システムの構築法が求められている。
【0014】
前述の特許文献1に開示された技術は、複数のサーバ間の負荷分散を、負荷状況に従って制御することが出来るが、利用者の体感品質、セキュリティ、可用性、及び、信頼性等を維持又は向上させながら、情報システムの利用量を維持又は低減させるように負荷分散装置を構成することは不可能であった。
【0015】
また、前述の特許文献2に開示された技術は、運用方針及び負荷状況に基づいて仮想サーバのスケールアップ又はスケールアウトを動的に行ない、仮想サーバを利用した情報システムのリソースを調整できるが、動的に変更する利用者の体感品質及び情報システムの利用量の試算結果を利用して、情報システムの構成を管理できない。
【0016】
本発明は、前述した問題を解決すべくなされたものであり、本発明の目的は、動的にサービス品質及び利用量が変動する情報システムを構築するための基盤を利用し、情報システムを構築する際に、その時々に応じて、利用者のサービスを利用する品質(レスポンスタイムなどの利用者のサービス利用の体感品質、情報システムのセキュリティ、情報システムの可用性、及び、信頼性等)を維持又は向上させながら、情報システムの利用料を維持又は低減させるサーバ管理のシステムを提供することである。
【課題を解決するための手段】
【0017】
本発明の代表的な一形態によると、クライアントと、前記クライアントにサービスを提供するサーバと、前記クライアント及び前記サーバと接続される管理サーバとを備えるサーバ構成管理システムであって、前記クライアントは、通信制御部を介して、前記サーバに前記サービスの提供を要求し、前記通信制御部は、前記クライアントからの要求を、前記サーバに送信し、前記サーバは、前記クライアントからの要求に従って、前記クライアントに前記サービスを提供し、前記クライアントは、前記サービスが提供される際のサービス品質を示す品質情報を測定し、前記測定された品質情報を、前記管理サーバに送信し、前記管理サーバは、前記送信された品質情報と、管理者によって与えられた選択基準とに基づいて、前記クライアントへのサービスの提供に適する前記サーバを選択し、前記選択されたサーバを示す情報を、前記通信制御部に送信する。
【発明の効果】
【0018】
本発明の一実施形態によると、クラウド基盤提供サービスのような動的にサービス品質等が変動する情報システムにおいて、利用者のサービスを利用する品質を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる。
【図面の簡単な説明】
【0019】
【図1】本発明の第1の実施形態のサーバ構成管理システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態のクライアントのハードウェア構成を示すブロック図である。
【図3】本発明の第1の実施形態のサーバのハードウェア構成を示すブロック図である。
【図4】本発明の第1の実施形態のクライアントから送られたリクエストに、サーバが行う処理を示すシーケンス図である。
【図5】本発明の第1の実施形態の測定結果の具体例を示す説明図である。
【図6】本発明の第1の実施形態のクライアントへの性能測定部の登録と、登録結果の管理サーバへの送信との手順を示すシーケンス図である。
【図7】本発明の第2の実施形態のサーバ構成管理システムの構成を示すブロック図である。
【図8】本発明の第2の実施形態の、サーバと仮想サーバとを示すブロック図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について図面を用いて説明する。各図面において、同一の符号が付されている要素は同一の機能を有する。
【0021】
(第1の実施形態)
(構成)
図1は、本発明の第1の実施形態のサーバ構成管理システムの構成を示すブロック図である。
【0022】
本実施形態のサーバ構成管理システムは、クライアント100、管理サーバ200、運用サーバ300、及び、複数のデータセンタ400(400−1、400−2)を備え、各々の要素は、ネットワーク600を介して接続される。
【0023】
クライアント100は、本実施形態のサーバ構成管理システムに含まれるデータセンタ400を利用する利用者が使用する端末である。クライアント100は、内部に性能測定部120、ストレージ140、通信制御部110−1、及び、通信プログラム130を備える。図1に示すクライアント100は一つであるが、本実施形態のサーバ構成管理システムには、複数のクライアント100が備わってよい。
【0024】
通信制御部110−1は、利用者が、クライアント100上で動作するアプリケーションを介して送信するリクエストを、各サーバ420に振り分ける機能を持つ。通信制御部110−1は、例えば、クライアント100からアクセスする速度が最も早いサーバ420を選択することによって、サーバ420へのアクセス性能を向上させる。また、例えば、動作していないサーバ420には、クライアント100からのリクエストを割り振らないことによって、サーバ420群の冗長性を確保する。
【0025】
通信制御部110−1は、管理サーバ200に備わる通信制御部110−2、データセンタ400−1に備わる通信制御部110−3、及び、データセンタ400−2に備わる通信制御部110−4と同じ通信制御部110である。通信制御部110によるリクエストのサーバ420への振り分け方法、すなわち、サーバ420の選択方法は、後述する。
【0026】
ストレージ140は、データを格納する装置であり、測定結果141を格納する。性能測定部120は、サーバ420との通信の性能を示す情報を収集するためのプログラムである。通信プログラム130は、クライアント100からサーバ420へ送信されるリクエストを、通信制御部110に送るためのプログラムである。なお、通信制御部110−1は、プログラムによってクライアント100の内部に実装されてもよいし、物理的な装置によってクライアント100の外部に実装されてもよい。
【0027】
管理サーバ200は、通信制御部110−2、サービス性能集計部220、構成管理部230、及び、ストレージ240を備える。管理サーバ200は、クライアント100がサーバ420を効率よく利用できるように、クライアント100若しくはデータセンタ400における通信制御部110、又は、運用サーバ300に、選択すべきサーバ420を指示する。
【0028】
通信制御部110−2は、前述の通り、通信制御部110−1と同じ機能を持つ。ストレージ240は、データを格納する装置であり、測定情報241、構成情報242、課金情報243、及び、テスト情報244を保持する。
【0029】
サービス性能集計部220は、クライアント100から送られるサーバ420との通信に関する性能を示す情報を収集するためのプログラムである。構成管理部230は、サーバ420から送られる、サーバ420への通信及びサーバ420に関する情報を収集し、サーバ420を選択するための処理を行うためのプログラムである。通信制御部110−2は、プログラムによって管理サーバ200の内部に実装されてもよいし、物理的な装置によって管理サーバ200の外部に実装されてもよい。
【0030】
運用サーバ300は、サーバ420、及び、サーバ420が提供するサービスを管理するためのサーバである。図1に示す運用サーバ300は、管理サーバ200と異なる装置によって実装されるが、本実施形態の運用サーバ300の機能は、管理サーバ200に実装されてもよい。
【0031】
データセンタ400は、通信制御部110−3、サーバ420、及び、ストレージ440を備える。図1に示すサーバ構成管理システムは、二つのデータセンタ400−1、400−2を備えるが、本実施形態のサーバ構成管理システムは、いくつのデータセンタ400を備えてもよい。
【0032】
通信制御部110−3及び110−4は、通信制御部110−1及び110−2と同じ機能を持つ。サーバ420は、データセンタ400に複数備わり、管理サーバ200によって管理される。図1に示すデータセンタ400−1は、二つのサーバ420−1、420−2を備え、データセンタ400−2は、二つのサ−バ420−3、420−4を備える。なお、本実施形態のデータセンタ400は、いくつのサーバ420を備えてもよい。
【0033】
ストレージ440(440−1、440−2)は、データを格納するための装置である。サーバ420は、クライアント100にサービスを提供するため、アプリケーションを実行し、アプリケーションの必要に応じて、データをストレージ440から取得する。
【0034】
図1に示す通信制御部110−1及び通信制御部110−2は、クライアント100及び管理サーバ200に各々実装されているが、クライアント100及び管理サーバ200とネットワーク600との間に備わる装置として、各々接続されてもよい。また、通信制御部110−1〜110−4は、一つの通信制御部110に集約されてもよい。
【0035】
図2は、本発明の第1の実施形態のクライアント100のハードウェア構成を示すブロック図である。
【0036】
図1と図2とに示すクライアント100は、同一であるが、図2は、クライアント100の物理的な構成を示す。クライアント100は、CPU101、メモリ102、ストレージ140、NIC(ネットワークインターフェースカード)103、及び、入出力装置104を備える。クライアント100のそれぞれの要素は、バスによって接続される。
【0037】
CPU101が、ストレージ140に保存されたプログラムをメモリ102にロードし、ロードされたプログラムを実行することによって、性能測定部120及び通信プログラム130の機能が実現される。NIC103は、メモリ102において処理されるプログラムが要求する通信をネットワーク600へ送信し、ネットワーク600からクライアント100あてに送られた処理結果を受信する。入出力装置104は、処理結果を画面に表示するための装置であり、また、外部デバイスと通信するための装置である。
【0038】
利用者は、クライアント100を利用して、後述するサーバ420にリクエストを送信する。そして利用者は、クライアント100を介して、各サーバ420から処理結果を受信する。この際、リクエストを送信するサーバ420を特定するため、通信プログラム130は、いずれかの通信制御部110にリクエストを送信する。
【0039】
ここで、サーバ420の物理的な構成を説明する。
【0040】
図3は、本発明の第1の実施形態のサーバ420のハードウェア構成を示すブロック図である。
【0041】
サーバ420は、内部にCPU424、メモリ426、ストレージ425、NIC428、及び、入出力装置427を備え、それぞれの要素がバスによって接続される。ストレージ425は、サーバ420内部に備わるストレージであり、図1に示すストレージ440は、サーバ420外部に備わるストレージである。
【0042】
サーバ420は、NIC428によってネットワーク600と接続される。サーバ420の機能は、ストレージ425又は図示しない外部ストレージ440に保存されたプログラムをメモリ426にロードし、CPU424によって実行することによって、実現される。アプリケーション429は、CPU424によってメモリ426にロードされ、実行されるプログラムである。
【0043】
NIC428は、メモリ426において処理されるプログラムがリクエストする通信をネットワーク600へ送信し、そのリクエストに対応する処理結果を受信する。入出力装置427は、処理結果を画面に表示するための装置であり、また、外部デバイスと通信するための装置である。
【0044】
なお、管理サーバ200及び運用サーバ300のハードウェア構成は、図2に示すクライアント100のハードウェア構成と同じく、一般的なサーバと同じである。また、クライアント100、管理サーバ200、運用サーバ300は、すべて又は一部を仮想化され、一つ又は複数の計算機によって実装されてもよい。
【0045】
(通信制御部110)
ここで、通信制御部110の機能を説明する。クライアント100上の通信プログラム130(例えば、WEBブラウザなど、サーバ420へアクセスするためのプログラム)が、ある同一機能によって冗長化された複数のサーバ420へリクエストを送信するものとする。
【0046】
通信制御部110は、このリクエストを通信プログラム130から受信するようにあらかじめネットワーク管理者によって構成される。通信制御部110は、クライアント100に備わるプログラムがリクエストしたアクセス先(複数のサーバ420)の中から適切なサーバ420を選択し、選択したサーバ420にリクエストされた処理を割り振る。
【0047】
通信制御部110は、リクエストをサーバ420へ割り振る方法に、サーバ420を選択する各種の方法を用いる。例えば、サーバ420を順番に選択するラウンドロビン方法、又は、接続されているコネクションが最小である接続方法を用いる。
【0048】
リクエストの振り分けに利用されるサーバ420の候補は、通信制御部110によって管理される。通信制御部110は、管理サーバ200から送信されたサーバ420を選択するためのサーバ420とサーバ420への経路を、ストレージ140、又は、通信制御部110の内部に保持する。
【0049】
(運用サーバ300)
さらに、運用サーバ300の機能を説明する。運用サーバ300は、サービスを管理するためのサーバである。運用サーバ300は、サーバ420を含むデータセンタ400及びネットワーク600のリソース(例えば、サーバ420、サーバ420に備わるCPU424若しくはストレージ425等、又は、ネットワーク600に備わる回線等)の利用状況及び稼動状況を示す運用情報を取得し、運用情報に基づいて、リソースの起動又は停止等をする。
【0050】
例えば運用情報が、リソースがあらかじめ規定された数より多く利用されていることを示す場合、又は、あらかじめ規定された数のサーバ420が停止していることを示す場合、運用サーバ300は、データセンタ400において新たなサーバ420を起動させ、サーバ420の量を増やす。これによって、運用サーバ300は、リソース量を調整する。
【0051】
さらに運用サーバ300は、リソースがあらかじめ規定された数より利用されていない場合、データセンタ400において稼働する一部のサーバ420を終了させ、稼働するサーバ420の量を減らすことによって、電力などのコストを削減したり、サーバ420を稼動させるための課金量を減らしたりする。そして、これによって、運用サーバ300は、リソース量を調整する。
【0052】
さらに運用サーバ300は、稼動するサーバ420の数の増減のみならず、サーバ420として利用する、ストレージの量、利用するDB又はDB用のサーバ420の数、サーバ420のスケールアップ(低い性能のサーバ420を高い性能のサーバ420に変更する)などの方法によって、リソース量を調整する。
【0053】
また、運用サーバ300は、データセンタ400に備わるストレージ425及び440のバックアップ方法、バックアップの指示、多重化又は並列化を指示する。具体的には、ストレージ440間のデータの移動を指示する。
【0054】
また、運用サーバ300は、データセンタ400において起動するサーバ420、仮想サーバのイメージ(サーバテンプレート)の変更及び管理を行う。また、データセンタ400において動作するサーバ420(仮想サーバを含む)の状況を、データセンタ400の管理APIから取得する。
【0055】
(クライアント100とサーバ420との通信)
図4は、本発明の第1の実施形態のクライアント100から送られたリクエストに、サーバ420が行う処理を示すシーケンス図である。
【0056】
まず利用者は、特定のサービスを利用する要求を、クライアント100に入力する(800)。例えば、サーバ420が一般的なWEBアプリケーションを保持する場合、クライアント100上の通信プログラム130は、WEBブラウザである。この時利用者は、ブラウザ画面を起動させ、キーボードによって文字を入力したり、又は、マウスによってブラウザ画面上のボタンをクリックするなどの操作によって、利用要求をクライアント100に入力する。
【0057】
シーケンス800の後、クライアント100上の通信プログラム130は、通信制御部110にサーバ420へ送るべきリクエストを送信する(801)。通信制御部110は、仮想的なサーバ420の構成を管理している。このため、シーケンス801において通信制御部110は、自身が管理する仮想的なサーバ420へのリクエストを受信することができる。
【0058】
さらに通信制御部110は、事前に定められた方法(後述)を用いて、リクエストを送信する宛先となるサーバ420を選択し、選択されたサーバ420にリクエストを送信する(802)。
【0059】
以下、シーケンス802において、通信制御部110−1がサーバ420−1を選択した場合を説明する。
【0060】
受信されたリクエストがサーバ420−1によって処理された後、サーバ420−1は、サーバ420−1による処理結果に、測定用の情報を付加する(803)。付加される測定用の情報とは、サーバ420−1が保持する情報である。
【0061】
測定用の情報には、サーバ420−1を一意に示すサーバID、サーバ420−1までの経路を示す経路情報、サーバ420−1がリクエストを処理するために要する時間を示す処理時間、リクエストを処理した時刻を示す処理時刻、ネットワーク600におけるスループット、リクエストに関する利用者認証情報、及び、サーバ420−1において発生したエラー等を示す情報などが含まれる。
【0062】
シーケンス803の後、処理結果と測定用の情報とは、通信制御部110−1へ返信される(804)。通信制御部110−1は、クライアント100へ処理結果と測定用の情報とを送信する(805)。
【0063】
クライアント100は、処理結果と測定用の情報とを受信した後、処理結果を画面に表示するなど、リクエストに対応する処理を行う。また性能測定部120は、サーバ420−1からクライアント100までの経路情報、エラー情報、検証用情報、クライアント100の情報、サーバ420−1にリクエストしたサービス名、アクセスしたURI、受信したデータ量、処理時間、及び、タイムスタンプ(クライアント100が処理を開始又は終了した時刻)などをさらに測定する。そして、クライアント100によって測定された情報に、サーバ420−1から送られた測定用の情報を付加する。そして、クライアント100によって測定された情報と、サーバ420−1から送られた測定用の情報とを含む測定用の情報を、測定結果141に格納する(806)。
【0064】
ここで、測定用の情報に付加される、前述の処理時間は、サーバ420−1における処理時間と、クライアント100において利用者がリクエストを送ってからその処理結果が表示されるまでの時間の両方の時間を含む。測定結果141の具体例は、図5において後述する。
【0065】
性能測定部120によって格納された測定結果141は、管理者による指示若しくは管理サーバ200からの収集指示を受信した場合、格納された情報の量があらかじめ定められた量以上となった場合、又は、あらかじめ定められた時刻となった場合などに、性能測定部120によって、管理サーバ200へ送信される(807)。そして、性能測定部120によって送信された測定結果141は、ストレージ240に保持される測定情報241に、サービス性能集計部220によって格納される。
【0066】
なお、シーケンス807のタイミングは、前述の他に、クライアント100が起動若しくは終了する場合、通信プログラム130が起動若しくは終了する場合、又は、通信プログラム130があらかじめ定められた時間だけ動作した場合などでもよい。
【0067】
また、サーバ420から測定用の情報が送信されない場合も、クライアント100は、シーケンス806において自らが測定した測定用の情報を測定結果141に格納することができる。
【0068】
管理サーバ200は、シーケンス807の後、あらかじめ定められた方法によって、ストレージ240に保持される複数の情報のうち一部または全体に基づいて、クライアント100によって特定のサービスが複数のサーバ420にリクエストされた場合における、最適なサーバ420を選択する(808)。そして、通信制御部110、運用サーバ300、又は、データセンタ400に備わる管理装置に、特定のサービスと、特定のサービスに対して選択されたサーバ420とを示す情報を送信する(809)。
【0069】
シーケンス808及びシーケンス809によって、クライアント100が、特定のサービスをリクエストする際、通信制御部110、運用サーバ300、又は、データセンタ400に備わる図示しない管理装置は、最適なサーバ420にリクエストを送信することができる。
【0070】
前述の図4に示す処理を、管理サーバ200が管理する複数のクライアント100が行うことによって、あるサーバ420によって提供されるサービスをクライアント100が利用する場合の条件、すなわち、測定結果141が、測定情報241に集積される。管理サーバ200は、後述する方法によって、この測定情報241を利用し、通信制御部110を制御する。
【0071】
通信制御部110は、リクエスト送信(802)、処理結果の返信(805)といった、リクエストの中継(リダイレクト)処理において、あらかじめ定められた方法によって中継(リダイレクト)する対象のサーバ420を決定する。通信制御部110は、サーバ420を決定する際に、決定されたサーバ420の応答状況、又は、負荷状況などの状態に従って、例えば、クライアント100に「現在混雑しています」など、サーバ420を選択した結果、サーバ420の状況、又は、リクエストの処理状況などのステータスをクライアント100に返信してもよい。
【0072】
通信制御部110によって送られたステータスは、性能測定部120によって、測定結果141に含まれるステータス710に格納される。
【0073】
また、複数のサーバ420のうち、提供するサービスの情報を、管理サーバ200に登録されていないサーバ420は、シーケンス800の処理の前に、アプリケーション429によって、サーバ420が提供するサービスの情報を管理サーバ200に送信する(810)。管理サーバ200は、アプリケーション429によって送信されたサービスの情報を、構成情報242に格納する(820)。
【0074】
管理サーバ200に備わる構成管理部230は、構成情報242を参照することによって、通信制御部110、運用サーバ300、並びに、データセンタ400に備わる図示しない管理装置に、構成を指示する。データセンタ400に備わる図示しない管理装置は、データセンタ400に備わるサーバ420及びストレージ440を、管理する装置である。
【0075】
構成情報242は、具体的には、管理サーバ200が管理するサーバ420がどのサービスを提供するかを示す情報を保持する。すなわち、前述のデータセンタ400に備わる管理装置によって、複数のサーバ420が、同一のサービスを提供するサーバ群Aとして利用者に利用されるように構成されている場合、構成情報242は、複数のサーバ420が、どのサーバ群Aに対応するかを示す情報(対応情報)を保持する。
【0076】
この対応情報は、サーバ420に関する情報が変更された際、通信制御部110のいずれかが起動した際、又は、あらかじめ定められた時間若しくは通信制御部110が起動してからあらかじめ定められた時間が経過した際に、起動した通信制御部110と管理サーバ200に備わる構成管理部230とが、お互いに通信することによって、共有される。
【0077】
なお、構成情報242には、サーバ420を起動するための性能(例えば、OSの種類、リソース量など)、起動するOS、アプリケーションのイメージ、又は、利用するストレージ440に含まれるデータの内容なども含まれる。これらの情報も、サーバ420から管理サーバ200へシーケンス810において送られる。
【0078】
いずれかの通信制御部110において、管理サーバ200によって提供された対応情報と相違する内容が検出された場合、例えば、サーバ420が特定のサービスを提供しないことによって、通信を中継したサーバ420からエラー応答が返答された場合、通信制御部110は、構成管理部230に対応情報の取得を指示する。
【0079】
そして、構成管理部230は、エラーが発生しているサーバ420の状況を運用サーバ300、又は、データセンタ400に備わる図示しない管理装置に問い合わせ、サーバ420の状況を取得する。そして、構成管理部230は、取得した結果を構成情報242に格納し、対応情報の取得を指示した通信制御部110に、対応情報を送信する。
【0080】
シーケンス820の後、構成情報242が更新された管理サーバ200は、情報が変更されたサーバ420に、一意なIDを割り当てる。そして管理サーバ200は、割り当てたIDを示す情報を、情報が変更されたサーバ420に送信する(830)。送信されたIDは、サーバ420によって保持され、クライアント100から送られたリクエストを処理する際、すなわち、シーケンス803において、アプリケーション429によって処理結果に付加される。
【0081】
なお、管理サーバ200は、あらかじめ課金情報243を保持する。課金情報243は、サーバ420、ストレージ440、又は、ネットワーク600におけるリソースを利用するために必要な料金を示す情報を含む。また、課金情報243は、人件費、電力、及び、保守料なども含む。
【0082】
課金情報243に含まれる情報は、例えば、サーバ420−1に備わるCPU424を利用するために必要な、1時間あたりの料金である。また、例えば、クライアント100とデータセンタ400−1とを接続するネットワーク600を使用するための1時間あたりの料金である。
【0083】
課金情報243は、あらかじめ管理者によって管理サーバ200に入力される。また、サーバ420が各々の課金情報243を保持する場合は、図4に示すシーケンス810において、サーバ420の情報とともに、管理サーバ200に送信されてもよい。
【0084】
(サーバ420の選択方法)
ここで、前述した通信制御部110によるサーバ420を選択する方法について説明する。通信制御部110は、以下に示す手順によって、サーバ420を選択する。
【0085】
複数のサーバ420が提供するサービスと、サーバ420との対応を示す情報は、図4に示すシーケンス810〜シーケンス830における手順によって、管理サーバ200の構成情報242に格納される。また、この構成情報242には、前述のとおり、サーバ420を起動するための性能(例えば、OSの種類、リソース量など)、起動するOS、アプリケーションのイメージ、又は、利用するストレージ440に含まれるデータの内容なども含まれる。
【0086】
管理サーバ200は、構成情報242を用いることによって、サーバ420(仮想サーバを含む)のうち、特定のサービスを提供する複数のサーバ420を選択する。そして、管理サーバ200は、複数のサーバ420のうち、システムとして利用できるサーバリソースの構成(例えば、サーバ420の種別又は数)を決定する。
【0087】
また管理サーバ200は、サービス性能集計部220を用いて、データセンタ400に備わるサーバ420、及び、データセンタ400に備わるリソースについて、性能をテストする。管理サーバ200は、性能のテストにおいて、サービスを実際にサーバ420に要求し、かつ、利用する。実際にサービスを利用することによって、レスポンス性能、データ転送のスループット、及び、前述した測定結果141と同じ項目を含む測定情報を取得する。さらに管理サーバ200は、取得された情報をテスト情報244に格納する。
【0088】
なお、運用サーバ300が、サーバ420等の性能をテストしてもよい。この場合、運用サーバ300によって、サーバ420等のテスト結果が管理サーバ200に送られ、テスト情報244に格納される。
【0089】
また、前述の通り、運用サーバ300は、サーバ420を含むデータセンタ400及びネットワーク600の運用情報を取得している。このため、管理サーバ200は、運用サーバ300からサーバ420等の運用情報を取得し、ストレージ240の運用情報245に格納する。そして、取得した運用情報245に従って、サーバリソースの構成を決定してもよい。
【0090】
例えば、取得した運用情報245が、サービスを提供可能なサーバ420が停止していることを示す場合、管理サーバ200は、サービスを提供可能な別のサーバ420をサーバリソースの構成に決定してもよい。
【0091】
さらに構成管理部230は、前述の決定されたサーバリソースの構成によって、利用者が特定のサービスを利用する際、提供されることが期待されるサービス品質を算出する。提供されることが期待されるサービス品質は、決定されたサーバリソースの構成によってサービスを提供した場合における、決定されたサーバリソースのパターンごとに、測定情報241とテスト情報244とに基づいて、算出される。
【0092】
構成管理部230は、測定情報241及びテスト情報244に格納される情報に基づいて、提供されることが期待されるサービス品質を、例えば次のように算出する。構成管理部230は、測定情報241及びテスト情報244に格納されるネットワーク600の遅延と、サーバ420による処理時間とを加算することによって、サーバ420のレスポンス性能を算出する。
【0093】
また、構成管理部230は、測定情報241及びテスト情報244に格納される、ネットワーク600における通信スループット(単位時間あたりに通信されるデータ量)によって、送受信することが予想されるデータ量を除算することによって、サーバ420の通信完了までの時間を算出する。
【0094】
また、構成管理部230は、測定情報241及びテスト情報244に格納されるいくつかのサーバ420における処理時間を合計することによって、サーバ420が処理を完了するまでの処理時間を算出する。これらの構成管理部230によって算出された情報を、サーバリソースの構成のパターンごとに求めることによって、構成管理部230は、利用者へ提供できるサービス品質を算出する。
【0095】
また、構成管理部230は、前述したサーバリソースの構成によって、利用者がサービスを利用する場合に、必要となることが予想される利用コストを算出する。利用コストとは、管理サーバ200が管理の対象とするデータセンタ400が、所属する情報システムにおいて、発生する費用の総計である。利用コストとは、例えば、サーバ利用料、人件費、電力、ハードウェアコスト、通信費、ストレージ利用料、及び、保守料などである。
【0096】
構成管理部230は、測定情報241とテスト情報244と課金情報243とを用いて、決定されたサーバリソースによって特定のサービスを提供した場合の、サーバリソースのパターンごとに、必要となることが予想される利用コストを算出する。
【0097】
例えば、測定情報241、テスト情報244及び課金情報243など、ストレージ240に格納される情報に基づいて、構成管理部230は、必要となることが予想される利用コストを以下のように算出する。ストレージ240に格納される情報のうち、サーバ420における処理量、CPU424、又は、メモリ426若しくはストレージ440の容量に対する課金料率に基づいて、クライアント100へ提供されるサービスに関する処理の利用コストを算出する。
【0098】
また、構成管理部230は、前述のように算出されたサーバ420の通信完了時間と、ストレージ240に格納される情報のうちの経路情報と、課金情報243とに基づいて、通信に対する利用コストを算出する。さらに構成管理部230は、これらの算出された利用コストの情報を、利用するサーバリソースのパターンごとに取得し、利用者へ提供する総コストを算出する。
【0099】
次に、前述のように算出されたサービス品質と利用コストとを、サーバリソースのパターンごとに取得し、あらかじめ定められたポリシー(例えば、「利用コストが最低である」、「あるサービス品質ができる限り高く、かつ、利用コストが最低の場合と比較し1.3倍以内である」、「すべてのサービス品質が定められた範囲内である」、又は、「あるサービス品質が最も高い」など)に従って、特定のサービスを提供するために最適なシステムの構成が抽出される。
【0100】
システムの構成とは、特定のサービスを提供するために、いずれのサーバ420、ストレージ440、又は、ネットワーク600を用いるかを示す情報である。
【0101】
構成管理部230は、さらに、抽出されたシステムの構成が、あらかじめ定められた禁止又は制限事項に抵触しないか否かを判定する。禁止又は制限事項に抵触しない場合、構成管理部230は、通信制御部110、データセンタ400に備わる図示しない管理装置、及び、運用サーバ300に、特定のサービスをクライアント100へ提供するために、抽出されたシステムの構成を選択すべき旨を、管理命令に含めて送信する。
【0102】
なお、抽出されたシステムの構成が複数ある場合、構成管理部230は、抽出されたシステムの複数の構成を画面等に表示させることによって、管理者等に最適なシステムの構成を選択させる。抽出されたシステムの構成が一つであり、かつ、管理サーバ200に、あらかじめ管理者によってシステムの構成を自動的に選択することが設定されている場合、管理サーバ200は、自動的に抽出されたシステムの構成を通信制御部110等に送信してよい。
【0103】
また、停止しているサーバ420を含むシステムの構成が選択された場合、管理サーバ200は、停止しているサーバ420を起動する旨を含んだ管理命令を、運用サーバ300に送ってもよい。さらに、管理サーバは、ストレージ240に保持されるデータを用いて、データセンタ400に備わるリソースの運用(停止又は縮退など)を、変更する指示を管理サーバ200に送信してもよい。
【0104】
通信制御部110等は、管理サーバ200に備わる構成管理部230から管理命令を受信した後、送信された管理命令に含まれる情報に従って、クライアント100から送られたリクエストを、抽出されたシステムの構成に送信するように、通信制御部110等の内部の設定を変更する。
【0105】
また、データセンタ400に備わる図示しない管理装置、又は、運用サーバ300は、管理命令を受信した後、送信された管理命令に含まれる情報に従って、自身の管理するサーバ420について、起動若しくは縮退の指示、ストレージ440に含まれるデータの移動、又は、ストレージ440の冗長化の構成変更の命令等を、サーバ420及びストレージ440に送信する。また、データセンタ400に備わる図示しない管理装置、又は、運用サーバ300は、構成変更の命令等を、自らが管理するストレージシステムに送信してもよい。
【0106】
なお、管理サーバ200は、複数の指示を同時に通信制御部110等に送信してもよい。例えば、管理サーバ200は、サーバ420の縮退の指示と、ストレージに含まれるデータの移動とを、同時に運用サーバ300に指示してもよい。
【0107】
前述のように、管理サーバ200が、通信制御部110、運用サーバ300、及び、データセンタ400に備わる管理装置に、通信制御方法の変更、すなわち、選択するサーバ420の変更、サーバ420(仮想サーバを含む)の起動若しくは縮退、又は、ストレージ440に含まれるデータの移動若しくは冗長化構成の変更の指示を送信した後、サーバ420を含むシステムの構成若しくはストレージ440に含まれるデータが変化するため、性能測定部120によって測定される性能の測定結果141は変化する。
【0108】
管理サーバ200は、上記指示を送信した後、通常より高頻度で、性能測定部120によって測定される性能測定結果141を、クライアント100から受信する。また、通常より高頻度で、構成管理部230によってテスト情報244を更新する。
【0109】
システム構成又はストレージ440に含まれるデータの変化による性能測定結果141の受信結果である測定情報241と、テスト情報244との更新によって、前述の禁止又は制限事項に抵触しないか否かを高頻度で判定する。禁止又は制限事項によっては、システム構成又はストレージ440に含まれるデータの変更によって、性能の測定情報241と、テスト情報244との変化及び禁止又は制限事項への抵触が発生し、システム構成又はストレージ440に含まれるデータの内容の変更が繰り返される。
【0110】
構成管理部230は、システム構成又はストレージ440に含まれるデータの内容の変更の履歴を内部に保持しており、繰り返し、同様のシステム構成又はストレージ440の内容の変更の指示が繰り返されたり、禁止又は制限事項への抵触などが起こることが判定されると、保持されたシステム構成又はストレージ440に含まれるデータの内容の変更を制限する。
【0111】
(測定結果141)
測定結果141は、前述の通り、クライアント100に備わる性能測定部120によって、ストレージ140内に格納される測定結果である。測定結果141は、クライアント100が特定のサービスをサーバ420から提供される際の、サービスの提供の品質を示す情報である。すなわち、クライアント100が、あるサーバ420からサービスを提供される際に、クライアント100を用いる利用者が得られるサービスの品質を示す。
【0112】
図5は、本発明の第1の実施形態の測定結果141の具体例を示す説明図である。
【0113】
測定結果141に含まれる各項目の例を、図5において示す。測定結果141は、ID701、サービス名702、URI703、処理時間704、タイムスタンプ705、サーバID706、経路情報707、エラー708、検証用情報709、及び、ステータス710の各項目の情報を、ID701ごとに保持し、ストレージ140に性能測定部120によって格納される。
【0114】
ID701は、性能測定部120が定める一意なIDである。ID701は、クライアント100からサーバ420へ送られるリクエスト毎に定められてもよいし、一定時間毎に定められてもよい。一定時間毎にIDを付与する場合、性能測定部120は、一定時間に測定された測定結果141を集計する。
【0115】
また、ID701の値に、クライアント100を特定するアドレス(IPアドレス、MACアドレス)やコンピューター名等の情報を含めてもよい。性能測定部120は、測定結果141を取得した後、このID701を一意に定め、定めたIDに対応させて、各項目をストレージ140に格納する。
【0116】
サービス名702は、利用者が利用するためにサーバ420が提供する、WEBサービスなどのサービス名である。URI703は、ネットワーク600に備わる、サービスを利用するためのリソースを示す識別子である。
【0117】
処理時間704は、サーバ420が、リクエストを受信してから、リクエストに対応する処理結果を送信するまでの処理時間、又は、クライアント100がリクエストを送信してから、リクエストに対応する処理結果を受信するまでの処理時間のいずれの処理時間でもよい。また、両方の処理時間が別々の列に格納されてもよい。
【0118】
タイムスタンプ705は、利用者がサーバ420から提供されたサービスを利用した時刻である。また、タイムスタンプ705は、利用者がサーバ420にリクエストを送信した時刻でもよい。
【0119】
サーバID706は、クライアント100によって送信されたリクエストを、処理したサーバ420を一意に示す識別子である。サーバID706は、サーバ構成管理システムの管理者によって、利用者が利用するサーバ420に、あらかじめ一意に付与されるものである。
【0120】
経路情報707は、クライアント100によってリクエストが送信されてから、送信されたリクエストに対応する処理結果をクライアント100が受信するまでに使われるネットワークの経路の情報である。エラー708は、クライアント100によってリクエストがサーバ420に送信された際、サーバ420又はネットワーク600の経路上において発生したエラーの情報である。
【0121】
検証用情報709は、処理時間704以外に利用者がサービスを利用した際に体感品質を左右するような情報を記載する。検証用情報709は、例えば、サーバ420において動作するアプリケーション又はWEBアプリケーションのサーバが記録した処理の時刻、及び、処理内容のトレース情報である。
【0122】
また、例えば、検証用情報709は、利用者がサーバ420からサービスを提供されるのを待つ間に、クライアント100において利用者によって繰り返し実行された要求の数であってもよい。繰り返し実行された要求の数は、利用者が体感する、サービスの提供の遅さを示すためである。
【0123】
ステータス710は、前述した通信制御部110によるサーバ420の選択結果、サーバ420による処理結果、又は、サーバ420の状況などを示す。例えば、サーバ420のハードウェアの障害によって、処理が不可であるなどの状況を示す。
【0124】
なお、図5に示す測定結果141は具体例であり、図5に示される項目以外にも、図4において前述した項目を含んでもよい。前述の図4に示すシーケンス803及びシーケンス806において、サーバ420及びクライアント100によって情報を付加されることによって、測定結果141には、サーバ420、クライアント100、及び、サーバ420とクライアント100との間の経路の品質を示す情報が格納される。
【0125】
(性能測定部120の起動)
ここで、性能測定部120をクライアント100において動作させるために、通信プログラム130を動作させる手順について説明する。
【0126】
図6は、本発明の第1の実施形態のクライアント100への性能測定部120の登録と、登録結果の管理サーバ200への送信との手順を示すシーケンス図である。
【0127】
利用者が、性能測定部120が稼働していない、又は、性能測定部120が導入されていないクライアント100を介してサーバ420を利用しようとした場合、クライアント100は、サーバ420からの指示によって、性能測定部120を稼働させるためのプログラムをダウンロードする。
【0128】
まず利用者は、性能測定部120が稼働していないクライアント100に、利用要求を送信する(900)。そして、クライアント100は、通信制御部110にリクエストを送信する(901)。
【0129】
通信制御部110は、リクエストを受信した後、図4のシーケンス808及びシーケンス809に示す方法によって、複数のサーバ420のうち一つのサーバ420を処理サーバとして選択する。そして、選択されたサーバ420にリクエストを送信する(902)。
【0130】
サーバ420は、通信制御部110からリクエストを受信した後、測定用の通信プログラム130がクライアント100において、稼働しているか否かを判定する(903)。
【0131】
サーバ420はシーケンス903において、例えば、クライアント100において、通信プログラム130がWEBブラウザのプラグインとして稼働しているか否かによって判定してもよい。また、例えば、サーバ420に備わるアプリケーション429が、シーケンス902において受信したリクエストに性能測定部120によって作成された情報が含まれているか否かによって、サーバ420はシーケンス903において判定してもよい。
【0132】
なお、シーケンス903における判定は図6に示されないが、サーバ420は、クライアント100の通信プログラム130と通信することによって、シーケンス903において判定する。
【0133】
シーケンス903におけるサーバ420が、クライアント100において性能測定部120を稼働させることが必要であると判定した場合、サーバ420は、性能測定部120を稼働させるために必要なプログラム及び通信プログラム130のプラグイン等をダウンロードするよう、通信制御部110を介して、クライアント100に指示する(904、905)。
【0134】
クライアント100は、プラグイン等をダウンロードするようサーバ420から指示を受信した後、プラグイン等を提供するサーバ420から、プラグイン等をダウンロードする(906)。すなわち、クライアント100は、性能測定部120を稼働させるために必要なプログラム、又は、通信プログラム130のプラグイン等をダウンロードするため、サーバ420の指示によって、性能測定部120を稼働させるために必要なプログラム、又は、通信プログラム130のプラグイン等のダウンロードを、特定のサーバ420に要求する。そしてクライアント100は、ダウンロードしたプログラム等を、自らにインストールする。
【0135】
クライアント100にインストールされたプログラム、又は、通信プログラム130のプラグインは、クライアント100において起動した後、クライアント100に関する情報を管理サーバ200に送信する(907)。
【0136】
管理サーバ200は、クライアント100から送信された情報を受信した後、管理サーバ200が管理する管理テーブルにクライアント100に関する情報を登録する。そして、登録したクライアント100に関する情報に、情報を一意に示すIDを付与するとともに、付与したIDをクライアント100に送信する(908)。
【0137】
図4及び図6に示したように、クライアント100において性能測定部120が稼働することによって、サーバ420を利用する際の性能を示す測定結果141がクライアント100に蓄積され、蓄積された測定結果141が、管理サーバ200に送信される。さらに、管理サーバ200は、送信された測定結果141とあわせて、管理サーバ200に保存されている構成情報242、課金情報243、及び、テスト情報244を用い、通信制御部110、運用サーバ300、及び、データセンタ400の図示しない管理装置に、通信制御方法の変更(すなわち、選択するサーバ420の変更)、サーバ420(仮想サーバを含む)の起動若しくは縮退、又は、ストレージ440の内容の移動若しくは冗長化構成の変更を指示する。
【0138】
この指示によって、管理サーバ200が管理するサーバ420及び通信制御部110の設定が変更され、クライアント100を利用する利用者は、サービス利用の体感品質、セキュリティの向上、並びに、サーバ構成管理システムの可用性及び信頼性を向上させることができる。また、情報システム管理者は、サーバ構成管理システムの利用料を低減させることができる。
【0139】
具体的には、管理サーバ200からの指示に従い、クライアント100からのリクエストをあらかじめ定められた方法によって、自身の管理するサーバ420へ中継(リダイレクト)する。通信制御部110−3は、自身が設置されたデータセンタ400内部のサーバ420以外へリクエストを中継(リダイレクト)してもよい。
【0140】
(第2の実施形態)
図7は、本発明の第2の実施形態のサーバ構成管理システムの構成を示すブロック図である。
【0141】
第2の実施形態のサーバ構成管理システムは、図1に示す第1の実施形態のサーバ構成管理システムと同様の構成であり、利用者は、同様の効果を得られる。しかし、第2の実施形態のデータセンタ400−1及び400−2は、サーバ420(420−1、420−3)の他に、仮想サーバ431(431−1、431−3)を備える。仮想サーバ431−1及び431−3は、各々サーバ420−2及びサーバ420−4に実装されてもよいし、複数のサーバ420によって実装されてもよい。
【0142】
図8は、本発明の第2の実施形態の、サーバ420−2と仮想サーバ431とを示すブロック図である。
【0143】
サーバ420−2は、内部にCPU434、メモリ436、ストレージ435、NIC438、及び、入出力装置437を備え、それぞれのハードウェアがバスによって接続される。サーバ420−2は、NIC438を介して、ネットワーク600に接続される。
【0144】
CPU434は、ストレージ435又は図示しない外部ストレージに格納されたプログラムをメモリ436にロードし、CPU434上で実行することによって、機能を実現する。NIC438は、メモリ436上で処理されるプログラムが要求する通信内容をネットワーク600へ送信し、処理結果を受信する。入出力装置437は、処理結果を画面へ出力し、又は、外部デバイスと通信する。
【0145】
サーバ420−2は、メモリ436上に、仮想サーバ431−1及び431−2を実装する。仮想サーバ431−1及び431−2は、仮想化プログラム(ハイパバイザ)433によって、メモリ436上に読み込まれる。仮想サーバ431−1及び431−2は、他のサーバ420、又は、ネットワーク600に接続されたクライアント100若しくは管理サーバ200等から、一般的なサーバ420と同じく扱われる。
【0146】
メモリ436は、ストレージ440に格納されたWEBアプリケーションなどのアプリケーション439が処理される。また、アプリケーション439と同様のアプリケーションが、仮想サーバ431上の図示しない仮想的なメモリ(実際にはメモリ436)上において処理される。
【0147】
図8に示す構成を採ることによって、仮想サーバ431は、サーバ420と同じく、アプリケーション439を処理することができる。仮想サーバ431は、一般的にサーバ430より低コストで構築できるため、低コストで第1の実施形態と同じ効果を奏するサーバ構成管理システムを構築することができる。
【0148】
以上の第1及び第2の実施形態に示すサーバ構成管理システムによれば、クラウド基盤を提供するサービスのように、動的にサービス品質及び利用コストが変動する情報システムを構築するための基盤を利用する際に、その時々に応じて利用者に提供されるサービスの品質(レスポンスタイムなどの利用者のサービス利用の体感品質、情報システムのセキュリティ、情報システムの可用性、信頼性等)を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる。
【0149】
また、管理サーバ200が、通信制御部110等を制御することによって、利用者が利用できるサーバ420を制御でき、例えば、通信料が高いサーバ420、又は、CPU424若しくはメモリ426の使用料が高いサーバ420を利用することを避けることができる。このため、管理サーバ200は、本実施形態のサーバ構成管理システムは、動的に、利用者のサービスを利用する品質を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる。
【0150】
さらに、管理サーバ200が、データセンタ400に備わり、かつ、データセンタ400を管理する、図示しない管理装置、通信制御部110等、及び、運用サーバ300へ、サーバ420の縮退又は起動を指示することによって、管理サーバ200は、利用者が利用できるサーバ420又はリソース量を制御でき、例えば、通信料が高いサーバ420、又は、CPU424若しくはメモリ426の使用料が高いサーバ420を起動する時間を少なくしたり、通信料、又は、CPU424若しくはメモリ426の使用料が安いサーバ420が起動する時間を多くすることができる。このため、管理サーバ200は、動的に、利用者のサービスを利用する品質を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる。
【0151】
また、管理サーバ200が、データセンタ400を管理する図示しない管理装置又は運用サーバ300へストレージ440の内容の移動、ストレージ440の冗長構成の変更を指示することによって、利用者が利用するストレージの量又は通信料を少なくすることが出来るため、動的に、利用者のサービスを利用する品質を維持又は向上させながら、情報システムの利用料を維持又は低減させることができる。
【0152】
また、クライアントがサーバ420からサービスを提供される際の品質情報を測定し、それらの品質情報の測定結果を管理サーバが蓄積することによって、実測値を用いてサーバ420を選択することができる。
【符号の説明】
【0153】
100 クライアント
101 CPU
102 メモリ
103 NIC(ネットワークインターフェースカード)
104 入出力装置
110 通信制御部
120 性能測定部
130 通信プログラム
140 ストレージ
141 測定結果
200 管理サーバ
220 サービス性能集計部
230 構成管理部
240 ストレージ
241 測定情報
242 構成情報
243 課金情報
244 テスト情報
245 運用情報
300 運用サーバ
400 データセンタ
420(420−1〜4) サーバ
424 CPU
425 ストレージ
426 メモリ
427 入出力装置
428 NIC
429 アプリケーション
431(431−1、431−2) 仮想サーバ
433 仮想化プログラム(ハイパバイザ)
439 アプリケーション
600 ネットワーク
701 ID
702 サービス名
703 URI
704 処理時間
705 タイムスタンプ
706 サーバID
707 経路情報
708 エラー
709 検証用情報
710 ステータス

【特許請求の範囲】
【請求項1】
クライアントと、前記クライアントにサービスを提供するサーバと、前記クライアント及び前記サーバと接続される管理サーバとを備えるサーバ構成管理システムであって、
前記クライアントは、通信制御部を介して、前記サーバに前記サービスの提供を要求し、
前記通信制御部は、前記クライアントからの要求を、前記サーバに送信し、
前記サーバは、前記クライアントからの要求に従って、前記クライアントに前記サービスを提供し、
前記クライアントは、
前記サービスが提供される際のサービス品質を示す品質情報を測定し、
前記測定された品質情報を、前記管理サーバに送信し、
前記管理サーバは、
前記送信された品質情報と、管理者によって与えられた選択基準とに基づいて、前記クライアントへのサービスの提供に適する前記サーバを選択し、
前記選択されたサーバを示す情報を、前記通信制御部に送信することを特徴とするサーバ構成管理システム。
【請求項2】
前記システムは、さらに、前記サーバの起動又は停止等の運用を変更する運用サーバを備え、
前記サーバは、前記サーバが提供するサービスの情報を含む構成情報を保持し、
前記運用サーバは、前記サーバが起動しているか否かを示す運用情報を保持し、
前記管理サーバは、
前記サーバから、前記構成情報を取得し、
前記運用サーバから、前記運用情報を取得し、
前記サービスを提供するよう前記サーバに要求し、
前記サーバは、前記管理サーバからの要求に従って、前記管理サーバに前記サービスを提供し、
前記管理サーバは、
前記サービスが提供される際のサービス品質を示す品質情報を測定し、
前記クライアントから送信された品質情報と、前記サーバから取得した構成情報と、前記管理サーバによって測定された品質情報と、前記運用サーバから取得した運用情報と、前記与えられた選択基準とに基づいて、前記クライアントへのサービスの提供に適する前記サーバを選択することを特徴とする請求項1に記載のサーバ構成管理システム。
【請求項3】
前記管理サーバは、前記サービスの提供により発生する料金を示す課金情報を、保持し、
前記クライアントから送信された品質情報と、前記サーバから取得した構成情報と、前記課金情報と、前記管理サーバによって測定された品質情報と、前記運用サーバから取得した運用情報と、前記与えられた選択基準とに基づいて、前記クライアントへのサービスの提供に適する前記サーバを選択することを特徴とする請求項2に記載のサーバ構成管理システム。
【請求項4】
前記管理サーバは、
前記クライアントから送信された品質情報と、前記サーバから取得した構成情報と、前記課金情報と、前記管理サーバによって測定された品質情報と、前記運用サーバから取得した運用情報と、前記与えられた選択基準とに基づいて、起動又は停止すべき前記サーバを選択し、
前記運用サーバに、前記選択されたサーバの起動又は停止を指示することを特徴とする請求項3に記載のサーバ構成管理システム。
【請求項5】
前記システムは、データを格納する複数のストレージを備え、
前記各サーバは、、前記複数のストレージにアクセスでき、
前記管理サーバは、
前記クライアントから送信された品質情報と、前記サーバから取得した構成情報と、前記課金情報と、前記管理サーバによって測定された品質情報と、前記運用サーバから取得した運用情報と、前記与えられた選択基準とに基づいて、前記ストレージに格納されたデータのうち、他の前記ストレージに移動すべきデータを選択し、
前記運用サーバに、前記選択されたデータの移動を指示することを特徴とする請求項3又は4のいずれかに記載のサーバ構成管理システム。
【請求項6】
前記サーバは、前記クライアントからの要求に従って、前記サービスを提供する際に、使用されるシステム内のリソースの情報を測定し、
前記測定されたリソースの情報を前記クライアントに送信し、
前記クライアントは、前記クライアントによって測定された品質情報に、前記サーバから送信されたリソースの情報を加えることを特徴とする請求項2から5のいずれかに記載のサーバ構成管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−22555(P2012−22555A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−160427(P2010−160427)
【出願日】平成22年7月15日(2010.7.15)
【出願人】(391002409)株式会社 日立システムアンドサービス (205)
【Fターム(参考)】