(57)【特許請求の範囲】
【請求項１】
複数のユーザのシステムとネットワークを介して結合された計算機システムであって、前記複数のユーザのシステムからの処理要求パケットにより処理を行うための相互に接続された複数の計算機を含む計算機システムにおいて、各ユーザに異なる計算機群を割り当てる計算機資源分割方法であって、
各ユーザ毎に、使用する計算機数の上限値、及び下限値、割り当てられた計算機群の負荷の閾値を含むサービスレベル条件を入力させる、
上記サービスレベル条件の範囲内で各ユーザへの計算機群の割り当てを設定し、各ユーザからの処理要求パケットを分割投入し、
各ユーザに割り当てられた計算機群の負荷状態をモニタして、あるユーザに割り当てた計算機群の負荷が前記閾値よりも高く、該ユーザに割り当てた計算機群の計算機数が前記サービスレベル条件の計算機数の上限値より小さく、かつ空き計算機が前記計算機システムに存在していれば該ユーザに計算機を追加割り当てすることを特徴とする計算機資源分割方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システム内の資源をユーザごとに分割する機構および方法に係わり、特に相互にネットワークで結合される複数の計算機からなるシステムにおいて、複数ユーザの要求を処理する際に、各ユーザとの間であらかじめ取り決めたサービスレベルを維持するために必要な計算資源をリアルタイムに提供し、かつユーザ間のセキュリティを保持するための資源分割機構および方法に関する。
【０００２】
【従来の技術】
情報部門のコスト削減のために、企業内情報システム運用や企業のホームページ管理をＡＳＰ（アプリケーション・サービス・プロバイダ）業者にアウトソースする事業形態が増加している。ＡＳＰ業者はさらにデータセンタ業者に計算機資源供の供給、運用管理をアウトソースする形態が多い。
【０００３】
データセンタ業者は、多数の計算機資源を用意して複数のユーザ企業に分割使用させることにより、自身の運用コストを削減し、低価格のサービスをユーザ企業に提供する。ユーザ企業間のセキュリティを保持するため、一般には各ユーザ企業ごとに異なる計算機資源およびストレージ資源を割り当てることが多い。
【０００４】
またユーザ企業の負荷は時間帯、季節等により変動するため、負荷に応じて割当て資源を増減させる契約形態も多い。特に企業のホームページ管理を請け負っている場合などは、不特定多数の消費者がインターネット経由でアクセスするため負荷の予測がつきにくい。これに対してはユーザ企業側でたとえば新製品発表による負荷増を予測してあらかじめ決めた台数の計算機資源をある一定期間増強するようデータセンタ業者と契約する。データセンタ業者は、増強した計算機資源を、別の期間は別のユーザ企業に割り当てることにより資源の有効活用を図る。このような構成変更を容易にするために、負荷分散装置を複数の計算機資源の前段に配置し、ある期間はユーザ企業Ａに、別の期間はユーザ企業Ｂに計算機資源を使用させるように、データセンタを構成する。負荷分散装置の例としては、アルテオン社のＡＣＥ  ｄｉｒｅｃｔｏｒなどが挙げられる（日経オープンシステムズ １９９９．１２ ｎｏ．８１  ｐｐ．１２８−１３１）。負荷分散装置の設定は上記の契約に基づきあらかじめ人手で設定する。またストレージ資源を増強する必要がある場合は、ストレージの内容をミラーリングする必要がある。
【０００５】
さらに、データセンタでは多数のユーザ企業に異なる計算機資源を提供するため、多数の計算機資源を管理する必要が生じ管理コストが増大する。そこで１台あたりの性能が高い計算機資源、たとえば高多重ＳＭＰ計算機を数少なく導入し、それを複数ユーザ企業が共有するように制御する方法が考えられる。ユーザ企業間のセキュリティを保持するため仮想計算機の機能を利用する。仮想計算機の例としては、日立のプロセッサ資源分割管理機構ＰＲＭＦがあげられる（ＨＩＴＡＣマニュアル  ８０８０−２−１４８−６０）。ＰＲＭＦでは、１つの計算機上で複数のＯＳ（オペレーティング・システム）が動作し、ＯＳごとに独立の資源、たとえば主記憶、ネットワークアダプタなどが割り当てられる。ＯＳ間で資源を共有しないため、異なるＯＳ上で実行される異なるユーザ企業のプログラム間のセキュリティは保持される。またＰＲＭＦでは、ＯＳごとに割り当てるＣＰＵ資源の比率を制御できるように構成されているが、あらかじめ計画した比率変更のみ可能である。
【０００６】
ＡＳＰ、ＩＳＰ（インターネット・サービス・プロバイダ）業者とユーザの間ではサービスレベル契約を結ぶことが一般的になりつつある。接続性、可用性、レイテンシ性能などのサービスレベル保証を契約する。さらに保証レベル未達の場合の補償契約を結ぶ形態も多い。
【０００７】
【発明が解決しようとする課題】
上記の従来技術では、以下の問題点がある。
【０００８】
負荷分散装置の設定を契約に基づきあらかじめ人手で設定する方式では、ユーザ企業側で予測できない急速な負荷変動にリアルタイムに対応することは困難である。これはユーザ間で異なる計算機を割り当てる場合も仮想計算機を使用する場合も同様である。またストレージ資源を増強する場合、ミラーリングに伴うデータコピーのオーバヘッドにより迅速な増強が困難である。さらにデータセンタの場合処理内容が定型でなく、ひとつのユーザからの処理要求が複数の計算機にまたがって処理される場合など、レイテンシ性能などは定義、測定しにくい。
【０００９】
【課題を解決するための手段】
上記を解決するため、本発明では、データセンタの計算機資源およびストレージ資源をユーザ負荷変動に基づきリアルタイムにユーザ企業ごとに分割割当てする資源分割手段および方法を提供する。
【００１０】
そのため本発明では、ユーザ識別表を用意し、データセンタへのユーザ要求パケットからユーザ企業を特定し、パケットにユーザ識別子を付加する。さらにユーザ識別子ごとに処理を実行すべき計算機の組を定義する表を管理サーバで生成し、本表を負荷分散装置に動的に設定する。負荷分散装置は設定された計算機の組からいずれかを選択してユーザ要求を実行させる。複数の負荷分散装置がある場合は、管理サーバは負荷分散装置間で本表が整合するよう制御する。さらに、管理サーバでは各計算機の稼動状況をモニタし、サービスレベル契約を満たしているか調べ、必要であれば計算機資源の削減・増強を行う。具体的には上記の計算機の組の定義表を変更して、負荷分散装置に再設定する。さらに管理サーバはユーザ識別子対応に割当てた計算機資源量やサービスレベル契約を守れたかの履歴を作成し、課金情報を作成する。またデータセンタ全体の処理スループットを計測するために、データセンタに入力されるユーザ要求数と返答数をユーザ識別子ごとに測定し集計する。
【００１１】
また本発明の別の実施形態では、仮想計算機機構を有する計算機でデータセンタを構成する。ユーザ企業ごとに１つのＯＳで制御される仮想計算機構を与え、管理サーバは各計算機に各計算機構のＣＰＵ時分割使用割当て％を動的に設定する。さらに、管理サーバでは各計算機の稼動状況をモニタし、サービスレベル契約を満たしているか調べ、必要であればＣＰＵ時分割割当て％の削減・増強を行う。
【００１２】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【００１３】
（１）第１の実施形態
図１は、本発明で対象とするデータセンタが、インターネット（ＩＩ０）を介してユーザ企業Ａ（ＡＡ０）、ユーザ企業Ｂ（ＢＢ０）、Ａ社やＢ社のホームページにアクセスする一般消費者（ｃ０、ｃ１）と接続されている例を示す。ここでクライアントａ０、ａ１、ａ２はＡ社システムのプライベート・ネットワーク・アドレスを有しており、ゲートウェイＡ０、Ａ１を介してＶＰＮ（バーチャルプライベートネットワーク）経由でデータセンタ内のゲートウェイＤ０と接続する。なお、クライアントｃ０、ｃ１からの要求に関しては第３の実施形態において述べる。
【００１４】
図２は、データセンタＤＤ０の構成を示す。本例ではユーザ要求に対しｗｅｂブラウザインターフェースを提供するｗｅｂサーバ群、ｗｅｂサーバを経由して発生するアプリケーションプログラムを動作させるＡＰサーバ群、アプリケーションプログラムからデータベースアクセス要求が出たときにそれを処理するＤＢサーバ群の３層構成になっている場合を示す。
【００１５】
図２２は、ユーザ企業Aが本データセンタと使用条件契約を結ぶときの入力画面の一例を示している。本例では、ゲートウェイD0に入力されるアクセス要求が、ユーザ企業Aに属するユーザからのアクセス要求であることを識別するために、要求パケットのアクセス元IPアドレスがA0またはA1であることを利用する契約を結んでいる。またユーザ企業Aはデータセンタ内のｗｅｂサーバ群、ＡＰサーバ群、ＤＢサーバ群のすべてを使用し、ユーザ企業Ａのユーザ要求により起動されるプログラムは、ｗｅｂサーバのＩＰアドレスとしてａ１００、ＡＰサーバのＩＰアドレスとしてａ２００、ＤＢサーバのＩＰアドレスとしてａ３００を使用する契約を結んでいる。
【００１６】
図２３は、ユーザ企業Ａが本データセンタとサービスレベル契約を結ぶときの入力画面の一例を示している。本例では、ユーザ企業Ａのために、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバいずれも必ず最低２台を割当て、またそのすべてをＣＰＵ稼働率５０％未満で稼動させる。稼働率が５０％以上となる場合は各ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバの割当て数を最大８台までは増加する契約を結んでいる。本例では入力画面中にチェック印が入力されていないが、たとえばデータセンタの出口における出力トランザクションのスループット、出力トランザクションと入力トランザクションのスループット比、トランザクション処理のレイテンシをサービスレベル契約とすることも可能である。
【００１７】
上記のような入力画面による契約に基づき、Ａ社にはｗｅｂサーバａ１０，ａ１１、ＡＰサーバａ２０，ａ２１、ＤＢサーバａ３０，３１、が与えられ、Ｂ社にはｗｅｂサーバｂ１０、ｂ１１、ＡＰサーバｂ２０、ｂ２１、ＤＢサーバｂ３０、ｂ３１が与えられるものとする。またストレージＳ１はボリューム単位にＡ社、Ｂ社に割り当てられる。ボリュームＶ０がＡ社用、Ｖ１がＢ社用である。ストレージＳ２，Ｓ２も同様に割り当てられているが記述を省略している。サーバ群ｙ１０〜ｙ３１は、Ａ社、Ｂ社の負荷が大きくなったときに割り当てるための予備サーバ群である。
【００１８】
Ａ社が使用するＩＰアドレスは、ｗｅｂサーバがａ１００、ＡＰサーバがａ２００、ＤＢサーバがａ３００とする。またＢ社も同様の入力画面により、ｗｅｂサーバｂ１００、ＡＰサーバｂ２００、ＤＢサーバｂ３００というＩＰアドレスを使用するものとする。
【００１９】
以下図を参照しながら、サーバ群および負荷分散装置が、ユーザＡの要求をサーバ群ａ０〜ａ３１を使用して如何に処理するかを示す。
【００２０】
図１においてクライアントａ０がゲートウェイＡ０に送出した要求パケットの構成は、図７（１）１２００に示すとおりである。パケットの先頭があて先サーバのアドレス、次項が送り元クライアントのアドレスである。ゲートウェイＡ０はパケットをインターネットＩＩ０に送出するときにＶＰＮのカプセル化を行い、図７（２）のパケット１２０１を生成する。ゲートウェイＤ０ではこのパケットをアンカプセル化する。本技術は公知である。
【００２１】
図３はデータセンタの入口にあるゲートウェイＤ０の構成図である。ゲートウェイＤ０は信号線Ｉ０から入力された図７（２）のパケットに対しアンカプセル化を行うとともに、ユーザ識別表Ｔ１０を参照してユーザ識別子＃０を得、パケットに＃０を付加し、図７（３）のパケット１２０２を生成して信号線Ｌ１０に送出する。ユーザ識別表Ｔ１０は、あらかじめ図２２のユーザ条件入力画面に基づき管理サーバC0により生成され、信号線L０を介して設定されている。すなわち、本データセンタに送り元アドレスＡ０またはＡ１でアクセスした要求はユーザ識別子＃０、すなわちＡ社ユーザとみなされる。
【００２２】
ゲートウェイＤ０はパケット生成と同時に、入出力結果格納表Ｔ１１に、ユーザ識別子＃０の入力要求が通過したことを計数手段１００３を用いて積算して記録する。
【００２３】
パケット１２０３を信号線Ｌ１０を介して受け取った負荷分散装置ｄ１００は図５（１）に示すサーバアドレス対応表Ｔ３０が保持されている。本表は、ユーザ識別子ごとにユーザアプリケーションで認識しているサーバへの要求を、どの実サーバに送出すべきかを記録しているものである。パケット１２０２のユーザ識別子は＃０、あて先ａ１００なので、負荷分散装置ｄ１００は表Ｔ３０を参照してあて先サーバをａ１０かａ１１のいずれかに変更し、図７（４）のパケット１２０３を生成する。あて先の選択および変更技術自身は公知である。
【００２４】
ｗｅｂサーバａ１０はパケット１２０３を受け取り、ａ２００へのアクセス要求であるパケット１２０４（図７（５））を生成する。本パケットはバスＬ１１０を介して負荷分散装置ｄ２００に受け取られる。負荷分散装置ｄ２００は図５（２）のサーバアドレス対応表Ｔ３１を保持しており、それに従い、あて先サーバａ２００をａ２０に変更したパケット１２０５（図７（６））を生成する。
【００２５】
以下同様にＡＰサーバａ２０がパケット１２０６を生成し、サーバアドレス対応表Ｔ３２（図５（３））を保持する負荷分散装置ｄ３００がパケット１２０６をパケット１２０７に変更し、ＤＢサーバａ３０で処理が行われる。ＤＢサーバａ３０からＡＰサーバａ２０、ｗｅｂサーバａ１０、クライアントａ０に返答が返るのも同様であり、順次パケット１２０８〜１２１４が生成される。ゲートウェイD0は返答パケットをゲートウェイA0に対して送出するときに、入出力結果格納表Ｔ１１に、ユーザ識別子＃０の出力要求が通過したことを計数手段１００３を用いて積算して記録する。
【００２６】
図示していないが、ユーザ企業Ｂからの要求があった場合は、上記と同じ手順でゲートウェイＤ０でユーザ識別子＃１が付加され、同様にサーバ群ｂ１０〜ｂ３１で処理されることとなる。
【００２７】
以上により、ユーザＡとＢの処理を実行するサーバ群はサーバａ１０〜ａ３１、ｂ１０〜ｂ３１に夫々分割される。
【００２８】
ストレージへのアクセスについては図２のストレージＳ０を例に説明する。ストレージＳ０は信号線Ｌ１２０によりすべてのｗｅｂサーバにより共有されている。ただし、各サーバはストレージアクセス時にユーザ識別子をアクセス要求に付加する。一方ストレージＳ０は図６のボリュームアクセス権限表Ｔ３３を保持している。本表はユーザ識別子ごとにどのボリュームのアクセスが許可されているかを示したものである。もしユーザ識別子＃１のアクセス要求がボリュームＶ０をアクセスしようとした場合、ストレージＳ０は本表を参照し、アクセスを拒否する。これにより、ストレージＳ１がすべてのｗｅｂサーバに共有されていても、ユーザＡとＢの間のセキュリティが保たれる。
【００２９】
図２において、管理サーバＣ０は信号線Ｌ１００，Ｌ２００，Ｌ３００を介してサーバ群および負荷分散装置の動作状況をモニタリングしている。モニタリングの内容はユーザとのサービスレベル契約の内容や、モニタリングプログラムの機能による。たとえばＣＰＵ稼働率や負荷分散先履歴などである。またモニタリングプログラムは管理サーバＣ０で動作してもよいし、各サーバ群、負荷分散装置上で動作してもよい。また管理サーバＣ０は信号線Ｌ０を介してゲートウェイＤ０からユーザごとの入出力結果表Ｔ１１の内容を入手する。
【００３０】
図４は管理サーバＣ０の構成図である。Ｔ１９はユーザ識別表であり、制御プログラムP２０が図２２のユーザ条件入力画面に基づき設定する。Ｔ２０はユーザごとのサービスレベル契約内容表であり、制御プログラムP２０が図２３のサービスレベル条件入力画面に基づき設定する。この場合、ユーザ識別子＃０のユーザに対してはｗｅｂサーバ、ＡＰサーバ、ＤＢサーバいずれも最低２台を与え、与えたすべてのサーバでＣＰＵ稼働率５０％未満でプログラムを動作させ、それに違反しそうな場合は８台まではサーバ数を増加する契約となっている。またユーザ識別子＃１のユーザに対しては、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバいずれも最低２台を与え、データセンタのからのアクセス返答スループットは秒あたり３０件以上を維持し、それに違反しそうな場合は６台まではサーバ数を増加する契約となっている。制御プログラムP２０はモニタリング結果とサービスレベル契約内容表Ｔ２０を照合し、現在の資源割当てがサービスレベル契約を満たしているかを調べ、その結果をサービス履歴格納表Ｔ２１に格納する。サービス履歴格納表Ｔ２１には、たとえばユーザ識別子＃０に与えたすべてのサーバのＣＰＵ稼働率履歴を記録する。制御プログラムP２０はモニタリング結果がサービスレベル契約を満たしていない場合は、割当てサーバを増やす。そのためにどのユーザにどのサーバを与えたかを示すサーバ割当て管理表Ｔ２２や、ユーザアプリケーションで認識しているサーバ名と与えた実サーバの対応表であるサーバアドレス対応表Ｔ２３を保持している。Ｔ２３は各負荷分散装置ｄ１００〜ｄ３００が保持するサーバアドレス対応表Ｔ３０〜Ｔ３２のマスタである。またサーバ履歴格納表には課金情報もあわせて記録している。図示していないが、もしユーザとの契約が割当てサーバ数に応じて課金を増やすものであれば、課金計算式が変わるのでそれを反映する。またもしユーザとの契約が契約したサービスレベルを維持できない割合に応じて課金が変動するものであればやはりそれを反映する。
【００３１】
上記制御を行うために、制御プログラムＰ２０が最初に資源を分割する手順を図２０を用いて説明する。
【００３２】
最初に図２２のユーザ条件入力画面に示される情報を入力し、ユーザ識別表Ｔ１９を作成する（１９０１）。つづいてその情報を信号線Ｌ０を介してゲートウェイＤ０にも設定する（１９０２）。
【００３３】
さらに図２３のサービスレベル条件入力画面に示される情報を入力し、サービスレベル契約内容表Ｔ２０、およびサーバアドレス対応表Ｔ２３中の仮想ａｄｄｒ欄を作成する（１９０３）。続いてサーバの割当てを、ｗｅｂサーバ群、ＡＰサーバ群、ＤＢサーバ群ごとに行う。具体的には、サービスレベル契約内容表Ｔ２０を参照して各ユーザに最低２台ずつサーバを与えるべきことを検出すると、サーバ割当て管理表Ｔ２２およびサーバアドレス対応表Ｔ２３の実ａｄｄｒ欄を作成する（１９０４）。続いて作成したサーバアドレス対応表Ｔ２３の必要な部分のコピーを信号線Ｌ１００，２００，３００を介して負荷分散装置ｄ１００，２００，３００に設定する（１９０５）。
【００３４】
さらに、サービスレベル契約内容表Ｔ２３に基づき、サービス履歴格納表Ｔ２１を作成する。具体的には、ユーザ＃０にはＣＰＵ稼働率履歴を記録する欄を、ユーザ＃１にはトランザクション出力スループット履歴（図示せず）を記録する欄を作成する。
【００３５】
以上により資源分割制御に必要な情報が生成され、ゲートウェイＤ０、負荷分散装置ｄ１００，２００，３００に設定され、正しく資源分割された状態でシステムが動作開始できる。
【００３６】
続いて以下に、制御プログラムＰ２０が負荷増大時に資源割当てを変更する手順を図８を用いて説明する。
【００３７】
前述したように信号線Ｌ１００，２００，３００，０を介してシステムの稼動情報をモニタし（１３０１）、ユーザ識別子ごとに稼動情報を集計してサービス履歴格納表Ｔ２１に格納し（１３０２）、サービスレベル契約内容表Ｔ２０と比較した後（１３０３）、まずサービスレベル契約に照らしてサーバを削減できないか検討する（１３０４）。削減可能かどうかの判断方法としては、ＣＰＵ稼働率とサーバ台数の積に対して比例計算を行う方法が挙げられる。たとえばユーザ＃０のサービスレベル条件はＣＰＵ稼働率５０％未満であるが、現在４台がｗｅｂサーバとして与えられており、いずれもＣＰＵ稼働率が２５％未満であれば、単純な比例計算としてはｗｅｂサーバ数を２台まで削減してよいと判断できる。実際はこれに経験から与えられる種種の安全計数を掛けて判断する。削減可能であれば、削減対象であるサーバへの処理停止指示を信号線Ｌ１００，２００，３００のいずれかを介して通知する。通知されたサーバはプログラムの処理を終了して、使用している資源を解放する。すなわちメモリアドレス変換テーブルやキャッシュ内容の無効化などを行う。解放が終了するとサーバは管理サーバにその旨通知するので、管理サーバはそれを待って、負荷分散装置ｄ１００〜ｄ３００にサーバアドレス対応表Ｔ３０〜Ｔ３２の変更を指示する。続いてすべての負荷分散装置の内容が一致して変更されたことを確認する。さらに課金計算式を変更する。本例の場合、割当てサーバ数と割り当てた時間の履歴を記録している。課金計算では、単位時間あたりの１サーバ割当てあたりに単価を決めておきそれを課金する。すなわち、総割当てサーバ数と割当て時間履歴と単価を乗じて課金を計算する（１３０５）。なお、本例では、ｗｅｂサーバ群、ＡＰサーバ群、ＤＢサーバ群の割当て履歴を区別して記録しているので、群ごとに単価を変えておき群ごとの割当て数と割当て時間履歴と各単価の積で課金を計算することも可能である。また、本例では図示していないが、サーバごとに実効性能が異なる場合は、サーバ数ｘ実効性能ｘ割当て時間履歴ｘ単価で課金計算できることも明らかである。また、本例ではゲートウェイD0を要求パケットが通過した個数と返答パケットが通過した個数を記録しているが、要求パケットのゲートウェイ通過スループットが比較的安定している時は、返答パケットのゲートウェイ通過スループットがデータセンタ処理能力の目安となる。そこで信号線L0を介してゲートウェイから返答パケットの通過スループットを受け取り、予め契約で定めた基準スループットと比較して課金を計算することも可能である。例えば、基準スループットを満たした時間は規定課金を行ない、満たさなかった時間は違約金分を課金から減ずることができる。また基準スループットの単価を決めておき、（計測スループット／基準スループットｘ単価）で課金を計算することもできる。また要求パケットの入力スループットが大きく変動する場合は、（返答パケットスループット／要求スループット）に基づき課金を行なう方法もある。
【００３８】
図８の説明に戻ると、つづいてサーバ数を増強する必要があるかを検討する（１３０６）。何台増強すべきかの判断は、削減時と同様に比例計算で行えばよい。増強する必要があれば、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバ群ごとに割り当てられる空きサーバがあるかをサーバ割当て管理表Ｔ２２を参照して調査する（１３０７）。もし空きサーバがなければ運用管理者に通知する（１３０８）。空きサーバがあれば割当てサーバを選択し（１３０９）、負荷分散装置ｄ１００〜ｄ３００にサーバアドレス対応表Ｔ３０〜Ｔ３２の変更を指示する。すべての負荷分散装置の内容が一致して変更されたことを確認してから、課金計算式を変更する（１３１０）。
【００３９】
以上は管理サーバＣ０上の制御プログラムＰ２０の手順の一例であるが、必ずしもこのすべてをＰ２０が実施しなくてもよいことは明白である。たとえば稼動情報の収集や集計は本プログラムが行わずに他のプログラムからの受け取ってもよい。また本プログラムがかならず実施すべき１３０５，１３１０の処理の内容についても、図９の（１）に示すように課金情報を変更しない１４０１，１４０２に夫々置き換えてもよい。またサーバ側に処理停止指示後は新しいユーザ要求を受け付けない機能がある場合などは処理停止完了を待たずにサーバアドレス対応表Ｔ３０〜Ｔ３２を変更を指示する１４０３，１４０４に夫々置き換えてもよい。。
【００４０】
なお上記ではストレージ資源のボリュームアクセス権限表を変更していないが、各プログラムはユーザ識別子を付加してストレージにアクセスするので、サーバ割当てが変更されてもアクセス権限のないボリュームにアクセスすることは避けられる。
【００４１】
（２）第２の実施形態
続いて仮想計算機機能ＰＲＭＦを備えた高多重ＳＭＰサーバを用いてデータセンタを構成する場合の実施形態を説明する。
【００４２】
データセンタとユーザの接続図は図１に同じである。
【００４３】
図１０は、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバとして仮想計算機機能ＰＲＭＦを備えたサーバをおのおの１台ずつ接続した場合を示している。ＡＰサーバ１５０１、ＤＢサーバ１５０２の内部構成はｗｅｂサーバ１５００と同様であり記述省略する。
【００４４】
ユーザ条件入力画面は図２２と同じである。すなわち、ユーザ要求パケットの送り元ＩＰアドレスがＡ０，Ａ１である要求のみがユーザ企業Ａのパケットとみなされる契約である。またユーザ企業Ａが使用するＩＰアドレスはｗｅｂサーバがａ１００、ＡＰサーバがａ２００、ＤＢサーバがａ３００である。
【００４５】
図２４は、サービスレベル契約条件入力画面の一例である。本例では、ユーザ企業Ａのために、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバいずれも必ずＰＲＭＦ機能によるＣＰＵ割当てが５０％以上となるよう制御する契約である。
【００４６】
図１０に戻ると、ｗｅｂサーバ１５００は、制御ユニット１５０３、ＬＰＡＲ制御レジスタ１５０４、ＣＰＵ群１５０５および１５０６、メモリ１５０７、ネットワークアダプタａ１００、ｂ１００、ｙ１００から構成される。ＬＰＡＲとはＬｏｇｉｃａｌ  ＰＡＲｔｉｔｉｏｎ（論理資源分割）の略であり、ＬＰＡＲ制御レジスタ群１５０４は、各ＯＳに与える資源の分割方法を保持している。
【００４７】
図１１はＬＰＡＲ制御レジスタ群１５０４が保持する情報の例である。従来技術であるＰＲＭＦでは、本情報のうちＵＩＤの欄以外の情報を有している。ＬＰＡＲ＃とは、各ＯＳごとに与える資源群に統一的に与える識別子である。ネットワークアダプタはＬＰＡＲごとにあたえる。ネットワークアダプタアドレスは、後述するが制御プログラムＰ２０により、ユーザ条件入力画面で契約した各ユーザに与えられるＩＰアドレスと一致するよう設定される。これによりあるネットワークアダプタに入ってきたユーザ要求のパケットは、対応するＬＰＡＲのＯＳ上のプログラムに引き渡される。メモリ割当て欄は、各ＬＰＡＲがメモリ１５０７のどの部分を使用するかを示す情報である。ＣＰＵ割当て％欄は各ＬＰＡＲに属するＯＳおよびその上のプログラムをどのような割合でＣＰＵ上で動作させるかを示す。制御ユニット１５０３が本情報を参照して、ＬＰＡＲの動作割合を制御する。
【００４８】
本実施例ではＵＩＤ欄を追加し、ＬＰＡＲとユーザ識別子を一意に対応させる。ＰＲＭＦの制御により、異なるＬＰＡＲ間では資源が共有されないので、ユーザ間のセキュリティを保つことができる。
【００４９】
第１の実施形態と同様、ユーザ要求がクライアントａ０→ｗｅｂサーバａ１００→ＡＰサーバａ２００→ＤＢサーバａ３００→ＡＰサーバａ２００→ｗｅｂサーバａ１００→クライアントａ０と伝わる場合を考える。クライアントａ０は図１２（１）のパケット１２００を生成する。ゲートウェイＡ０によりパケット１２０１が生成され、ゲートウェイＤ０によりパケット１２０２が生成されるのは第１の実施形態と同じである。
【００５０】
パケット１２０２は信号線Ｌ０を介してアドレスａ１００を持つネットワークアダプタａ１００に渡され、ＬＰＡＲ＃０上のアプリケーションプログラムに渡される。すなわちユーザＡのアプリケーションプログラムである。本プログラムはあて先ａ２００を持つパケット１２０４を生成し、以下同様にＡＰサーバ１５０１上のＡ社のアプリケーションプログラム、ＤＢサーバ１５０２上のＡ社のアプリケーションプログラムに渡される。（図示していないが、ＡＰサーバ１５０１内にはネットワークアダプタａ２００、ｂ２００、ｙ２００があり、夫々ＬＰＡＲ＃０，１，２に対応している。またＬＰＡＲ＃０，１は夫々ユーザ識別子＃０，１に対応している。ＤＢサーバ１５０２においても同様である。）  同様にしてＤＢサーバ１５０２からＡＰサーバ１５０１、ｗｅｂサーバ１５０１、クライアントａ０への返答も正しくＡ社に割り当てられたＬＰＡＲ上のアプリケーションプログラムにより実施される。詳しくは説明しないが、上記の動作により図１２のパケット１２０６〜１２１４が順次生成される。
【００５１】
図１３は管理サーバＣ０の構成図である。Ｔ４０はＬＰＡＲ割当て管理表、Ｔ１９はユーザ識別表である。Ｔ５０はユーザごとのサービスレベル契約内容表である。この場合、ユーザ識別子＃０のユーザに対してはｗｅｂサーバ、ＡＰサーバ、ＤＢサーバのいずれにおいてもユーザ識別子＃０のＬＰＡＲをＣＰＵ割当て率を５０％以上割り当てる契約となっている。またユーザ識別子＃１のユーザに対しては、ＣＰＵ割当て％を最低２０％とし、またデータセンタのからのアクセス返答スループットは秒あたり３０件以上を維持し、それに違反しそうな場合はＣＰＵ割当て％を増加する契約となっている。制御プログラムP２０は信号線Ｌ１００，２００，３００，０から得たモニタリング結果とサービスレベル契約内容表Ｔ５０を照合し、現在の資源割当てがサービスレベル契約を満たしているかを調べ、その結果をサービス履歴格納表Ｔ５１に格納する。たとえばユーザ識別子＃０に対応するＬＰＡＲの実際のＣＰＵ使用率履歴を記録する。またユーザ識別子＃１でアクセス返答スループットが秒あたり３０件未満の場合は、設定ＣＰＵ割当て％を増やす。そのためにどのユーザにどれだけＣＰＵ割当てを設定しているかを示すＣＰＵ割当て管理表Ｔ５２保持している。Ｔ５２は各ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバ内のＬＰＡＲ制御レジスタ群のＣＰＵ割当て％欄と同じの内容を保持している。サービス履歴格納表Ｔ５１の課金情報欄の操作は第１の実施形態と同様である。
【００５２】
上記制御を行うために、制御プログラムＰ２０が最初に資源を分割する手順を図２１を用いて説明する。
【００５３】
最初に図２２のユーザ条件入力画面に示される情報を入力し、ユーザ識別表Ｔ１９を作成する（２００１）。つづいてその情報を信号線Ｌ０を介してゲートウェイＤ０にも設定する（２００２）。
【００５４】
さらに図２４のサービスレベル条件入力画面に示される情報を入力し、サービスレベル契約内容表Ｔ５０、およびＬＰＡＲ割当て管理表Ｔ４０中のネットワークアダプタ欄を作成する（２００３）。
【００５５】
続いてサービスレベル契約内容表Ｔ５０を参照してユーザ＃０に最低５０％、ユーザ＃１に最低２０％のCPU割当てを行うべきことを検出すると、ＣＰＵ割当て管理表Ｔ５２をとＬＰＡＲ割当て管理表Ｔ４０中のＣＰＵ割当て欄を作成する（２００４）。さらに信号線Ｌ１００，２００，３００を介してサーバ１５００，１５０１，１５０２内のＬＰＡＲ制御レジスタ群にＬＰＡＲ割当て管理表Ｔ４０の内容を設定する（２００５）。さらに、サービスレベル契約内容表Ｔ２３に基づき、サービス履歴格納表Ｔ２１を作成する（２００６）。
【００５６】
以上により資源分割制御に必要な情報が生成され、ゲートウェイＤ０、サーバ１５００，１５０１，１５０２に設定され、正しく資源分割された状態でシステムが動作開始できる。
【００５７】
続いて以下に、制御プログラムＰ２０が負荷増大時に資源割当てを変更する手順を図１４を用いて説明する。
【００５８】
稼動情報収集（１６０１）、稼動情報集計（１６０２）、サービスレベル契約との比較（１６０３）は第１の実施形態と同様である。その後ＣＰＵ割当て率を削可能か検討し（１６０４）、削減可能であれば該当するサーバのＬＰＡＲ制御レジスタ群の内容を変更するよう指示する。削減可能化の判断方法は第１の実施形態と同様である。変更終了を待った後、課金計算式を変更する（１６０５）。本例の場合、割当てCPU使用率と割り当てた時間の履歴を記録している。課金計算では、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバそれぞれについて単位時間あたりの使用単価を決めておき、単価ｘCPU使用率を合計して課金する。もちろん、ｗｅｂサーバ、ＡＰサーバ、ＤＢサーバそれぞれの単価を異なるように設定してもよく、また単価をサーバの実効性能によって定めてもよい。
【００５９】
つづいてＣＰＵ割当て率を増強すべきか検討し（１６０６）、増強する必要があれば、該当するサーバに設定しているサーバ割当て率の合計が１００％を超えないか調べる（１６０７）。超えるならば運用管理者に通知する（１６０８）。超えなければ該当するサーバのＬＰＡＲ制御レジスタ群の内容を変更するよう指示し、変更終了を待った後、課金情報を変更する（１６０９）。
【００６０】
（３）第３の実施形態
最後に、不特定多数の一般消費者が企業Ａや企業Ｂの提供するホームページにアクセスする場合の実施形態を説明する。
【００６１】
データセンタとユーザの接続図は図１に同じである。ユーザはクライアントｃ０、ｃ１である。
【００６２】
図１５はデータセンタの構成を示す。第１の実施形態と同じく、負荷分散装置ｄ１００により負荷を複数のサーバに分散できる形態とする。説明の簡単化のため、ｗｅｂサーバしかない構成を示す。すべてのｗｅｂサーバは信号線Ｌ１２０を介してストレージＳ４を共有している。Ｓ４には企業Ａのホームページ情報を含むファイルＦ０と企業Ｂのホームページ情報を含むファイルＦ１が格納されている。ホームページ情報はトリー構成になっていて、ルートのページから順次たどれる構成とする。また企業Ａの提供するホームページにアクセスするためのアドレスがａ１００、企業Ｂのためのアドレスがｂ１００であるとする。
【００６３】
図２５は企業Ａのホームページにアクセスするユーザの条件を契約するための入力画面の一例である。本例では、ゲートウェイD0に入力されるアクセス要求が、企業Aのホームページにアクセスするユーザ群を識別するために、要求パケットのアクセス先IPアドレスがａ１００であることを利用する契約を結んでいる。また企業Ａのホームページ生成のために使用されるＩＰアドレスはａ１００である契約を結んでいる。
【００６４】
クライアントｃ０は企業Ａのホームページにアクセスするため図１６（１）のパケット１７００を生成する。ゲートウェイＤ０は図１７に示すようにユーザ識別表Ｔ６０を保持しており、パケット１７００のあて先アドレスがａ１００であることから本パケットがユーザ識別子＃０のホームページにアクセスしようとしていることを検知し、図１６（３）のパケット１７０２を生成する。以下負荷分散装置ｄ１００により本アクセス要求はｗｅｂサーバａ１０またはａ１１のいずれかに送られる。この場合はサーバａ１０が選択され、パケット１７０３（図１６（４））が生成される。返答パケットも同様に、負荷分散装置ｄ１００によりパケット１７１２に変更され、さらにゲートウェイＤ０によるパケット１７１４に変形され、クライアントｃ０へと返る。
【００６５】
管理サーバＣ０内の構成はを図１８に示す。ルートファイル管理表Ｔ７０が追加されている以外は図４と同じである。本表は、ユーザ識別子ごとのホームページのルートページのファイル名を保持している。
【００６６】
負荷が増大したときの制御プログラムＰ２０の手順を図１９に示す。本手順は図８とほぼ同じである。図８との相違である手順１８００のみを説明する。手順１３０９において割当てサーバを選択すると、選択したサーバに対して、ルートファイル管理表Ｔ７０を参照して、これから割り当てるユーザ識別子に対応するルートファイル名を登録するよう指示する。その後は図４の手順１３１０と同じく、負荷分散装置ｄ１００にサーバアドレス対応表Ｔ３０の変更を指示し、変更終了を待ってから、課金情報を変更する。ルートファイル名を変更することにより、新たに割当てされたサーバは正しいホームページをアクセスすることができるようになる。
【００６７】
【発明の効果】
以上述べたように、本発明ではユーザ企業ごとにユーザ識別子を与え、それに基づき計算資源を与えるとともに、計算機の稼動状況のモニタ結果に基づき自動的にユーザ識別子ごとにサービスレベル契約と比較して計算資源の量を増減できる。これにより、ユーザ企業側で予測できない急速な負荷変動に対してもリアルタイムに計算資源の割当てを変更可能である。
【００６８】
また計算機資源割当てを変更しても、ストレージ資源を全計算機で共有し、かつユーザ識別子に基づきストレージ側でアクセス権限チェックを行っているため、ミラーリングのオーバヘッドなしにユーザ間セキュリティを維持することができる。
【００６９】
さらにデータセンタに入力される要求と返答の単位時間あたり通過数をユーザ識別子ごとに測定、集計するため、ユーザから見たデータセンタの性能を測定しやすい。
【図面の簡単な説明】
【図１】インターネットを介して接続されるデータセンタとユーザの例である。
【図２】データセンタの構成の例である。
【図３】図２のゲートウェイの構成図である。
【図４】図２の管理サーバの構成図である。
【図５】図２の負荷分散装置の保持するテーブル例である。
【図６】図２のストレージが保持するテーブル例である。
【図７】図２の信号線を通過するパケットの構成図である。
【図８】図４の制御プログラムの定常動作フロー例である。
【図９】図４の制御プログラムの定常動作フローの別の例である。
【図１０】データセンタの構成の別の例である。
【図１１】図９のＬＰＡＲ制御レジスタ群の保持情報である。
【図１２】図９の信号線を通過するパケットの構成図である。
【図１３】図９の管理サーバの構成図である。
【図１４】図１３の制御プログラムの定常動作フロー例である。
【図１５】データセンタの構成のさらに別の例である。
【図１６】図１５の信号線を通過するパケットの構成図である。
【図１７】図１５のゲートウェイの構成図である。
【図１８】図１５の管理サーバの構成図である。
【図１９】図１８の制御プログラムの動作フロー例である。
【図２０】図４の制御プログラムの初期動作フロー例である。
【図２１】図１３の制御プログラムの初期動作フロー例である。
【図２２】図２のデータセンタを使用するユーザ条件入力画面。
【図２３】図２のデータセンタを使用するユーザのサービスレベル条件入力画面である。
【図２４】図９のデータセンタを使用するユーザのサービスレベル条件入力画面である。
【図２５】図１５のデータセンタを使用するユーザ条件入力画面である。
【符号の説明】
ＤＤ０：データセンタ、
Ｄ０：ゲートウェイ、
ｄ１００〜ｄ３００：負荷分散装置、
ａ１０〜ａ３１、ｂ１０〜ｂ３１、ｙ１０〜ｙ３１：サーバ、
Ｃ０：管理サーバ、
Ｓ０〜Ｓ４：ストレージ、
Ｔ１０、Ｔ１９：ユーザ識別表、
Ｔ１１：入出力結果格納表、
１００３：計数手段、
Ｔ２０：サービスレベル契約内容表、
Ｔ２１：サービス履歴格納表、
Ｔ２２：サーバ割当て管理表、
Ｔ２３、Ｔ３０〜Ｔ３２：サーバアドレス対応表、
Ｔ３３：ボリュームアクセス権限表、
１２００〜１２１４：パケット、
１５００〜１５０２：サーバ、
１５０４：ＬＰＡＲ制御レジスタ、
Ｔ４０：ＬＰＡＲ割当て管理表、
Ｔ５０：サービスレベル契約内容表、
Ｔ５１：サービス履歴格納表、
Ｔ５２：ＣＰＵ割当て管理表、
１７００〜１７１４：パケット、
Ｔ６０、Ｔ６９：ユーザ識別表、
Ｔ７０：ルートファイル管理表、
２１００、２４００：ユーザ条件入力画面、
２２００、２３００：サービスレベル条件入力画面。
【図１】
0004292693.tif 000002
【図２】
0004292693.tif 000003
【図３】
0004292693.tif 000004
【図４】
0004292693.tif 000005
【図５】
0004292693.tif 000006
【図６】
0004292693.tif 000007
【図７】
0004292693.tif 000008
【図８】
0004292693.tif 000009
【図９】
0004292693.tif 000010
【図１０】
0004292693.tif 000011
【図１１】
0004292693.tif 000012
【図１２】
0004292693.tif 000013
【図１３】
0004292693.tif 000014
【図１４】
0004292693.tif 000015
【図１５】
0004292693.tif 000016
【図１６】
0004292693.tif 000017
【図１７】
0004292693.tif 000018
【図１８】
0004292693.tif 000019
【図１９】
0004292693.tif 000020
【図２０】
0004292693.tif 000021
【図２１】
0004292693.tif 000022
【図２２】
0004292693.tif 000023
【図２３】
0004292693.tif 000024
【図２４】
0004292693.tif 000025
【図２５】
0004292693.tif 000026