(57)【特許請求の範囲】
【請求項１】
少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てる装置であって、
前記クライアントの利用度及び利用パターンをルーフ回避プロセス、最小分散プロセス、最小最大化プロセス、及び最大組み合わせプロセスを含むグループから選択される少なくとも１つのプロセスを使用して発見する手段と、
前記利用度及び利用パターンに応じて、前記ホスティング・サービス資源を前記クライアントに割当てる手段であって、該割当てる手段が、サーバに割当てられる２つ以上のクライアントを選択する手段を含み、選択された前記２つ以上のクライアントの各々が、残りの他の選択クライアントのピーク負荷に対して、時間的に互いにばらばらなピーク負荷を有する、割当てる手段と、
前記クライアントの各々に対して、当該クライアントの資源要求を定常確率プロセスにより捉え、最小及び最大ホスティング・サービス資源を指定する手段と、を含む装置。
【請求項２】
前記利用パターンが１つ以上のＷｅｂサイトのアクセス率に依存し、前記アクセス率が複数の時間目盛り上で周期性を有する、請求項１記載の装置。
【請求項３】
互いにばらばらな時間にピーク負荷を有する２つ以上のクライアントが複数のクライアントから選択され、前記ホスティング・サービス資源が選択された前記２つ以上のクライアントの組み合わせに対して割当てられる、請求項１記載の装置。
【請求項４】
前記割当てられるホスティング・サービス資源が、選択された前記２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された前記２つ以上のクライアントの組み合わせに対して割当てられる共用資源とを含む、請求項１記載の装置。
【請求項５】
前記クライアントをモニタして、前記利用パターンを発見する手段を含む、請求項１記載の装置。
【請求項６】
２以上の整数Ｎのクライアントが選択されて、サーバに割当てられ、前記サーバがＮ個の仮想サーバに区分化され、各クライアントが前記Ｎ個の仮想サーバの対応する１つを排他的に割当てられ、サービス品質（ＱｏＳ）の指標に従い予め定められた前記Ｎ個の仮想サーバを提供するために要求される能力を超える、前記サーバの過剰な能力が、共通プールとして前記サーバに割当てられ前記Ｎクライアントにより共用される、請求項１記載の装置。
【請求項７】
少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てるためのコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータを、
前記クライアントの利用度及び利用パターンをルーフ回避プロセス、最小分散プロセス、最小最大化プロセス、及び最大組み合わせプロセスを含むグループから選択される少なくとも１つのプロセスを使用して発見する手段と、
前記利用度及び利用パターンに応じて、前記ホスティング・サービス資源を前記クライアントに割当てる手段であって、該割当てる手段が、サーバに割当てられる２つ以上のクライアントを選択する手段を含み、選択された前記２つ以上のクライアントの各々が、残りの他の選択クライアントのピーク負荷に対して、時間的に互いにばらばらなピーク負荷を有する、割当てる手段と、
前記クライアントの各々に対して、当該クライアントの資源要求を定常確率プロセスにより捉え、最小及び最大ホスティング・サービス資源を指定する手段として機能させるためのコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
前記利用パターンが１つ以上のＷｅｂサイトのアクセス率に依存し、前記アクセス率が複数の時間目盛り上で周期性を有する、請求項７記載の記録媒体。
【請求項９】
互いにばらばらな時間にピーク負荷を有する２つ以上のクライアントが複数のクライアントから選択され、前記ホスティング・サービス資源を選択された前記２つ以上のクライアントの組み合わせに対して割当てる手段として機能させるためのコンピュータ・プログラムをさらに記録した、請求項７記載の記録媒体。
【請求項１０】
前記割当てられるホスティング・サービス資源が、選択された前記２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された前記２つ以上のクライアントの組み合わせに対して割当てられる共用資源とを含む、請求項７記載の記録媒体。
【請求項１１】
前記クライアントをモニタして、前記利用パターンを発見する手段として機能させるためのコンピュータ・プログラムをさらに記録した、請求項７記載の記録媒体。
【請求項１２】
２以上の整数Ｎのクライアントが選択されて、サーバに割当てられ、前記サーバがＮ個の仮想サーバに区分化され、各クライアントが前記Ｎ個の仮想サーバの対応する１つを排他的に割当てられ、サービス品質（ＱｏＳ）の指標に従い予め定められた前記Ｎ個の仮想サーバを提供するために要求される能力を超える、前記サーバの過剰な能力を、共通プールとして前記サーバに割当てられ前記Ｎクライアントにより共用する手段として機能させるためのコンピュータ・プログラムをさらに記録した、請求項７記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にネットワーク環境におけるホスティング・サービスに関し、特に、こうしたネットワーク環境における資源の計画及び割当てに関する。
【０００２】
【従来の技術】
オンライン化を実施する企業は、i）複数のアプリケーション・サーバと、ii）これらのアプリケーションを実行するためのハイエンド・サーバとを必要とする。関連アプリケーション・サービスの例には、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ドメイン・ネーム・システム（ＤＮＳ）、ファイル転送プロトコル（ＦＴＰ）、プロキシ、ファイヤウォール、及びビジネス・アプリケーションなどが含まれる。これを達成するために、こうした企業は、アプリケーションの導入及び更新、並びにサーバの保守において、相当なオーバヘッドに直面している。このことが新たなビジネス・モデル、すなわち、Ｗｅｂを介するホスティング・アプリケーションの出現をもたらすことになる。
【０００３】
ビジネス・モデルに対する要求は、中小企業（ＳＭＥ：Small and Medium Business）におけるホスティングe-commerce及びe-businessアプリケーションの機会の増加により、急速に成長している。ＳＭＢマネージャはしばしば、コンピュータ資源、ソフトウェア、及び保守がもたらされる資本支出を回避するために、アプリケーション・ホスティングをサービス・プロバイダに外部委託しようとする。この点で、サービス・プロバイダの役割は重要である。
【０００４】
ホスティング・サービスは、次の３つの広いカテゴリにおいて、広範囲な機能を網羅する。すなわち、
i）協調ホスティング・サービスは、電子メール、内部及び外部Ｗｅｂホスティング、協調アプリケーション及びスケジューリング・アプリケーションを含む。
ii）コマース・ホスティング・サービスは、オンライン企業間（Ｂ２Ｂ）取引、及び企業−消費者間（Ｂ２Ｃ）e-commerceホスティングを可能にする、ビジネス・アプリケーションを含む。
iii）他のe-businessホスティング・サービスには、特注アプリケーション及びエンタープライズ・リソース・プラニング（ＥＲＰ）アプリケーションが含まれる。
【０００５】
こうしたホスティング・サービスの例が、次のＵＲＬで見い出される。すなわち、１）http://home.netscape.com/hosting/v4.0/whitepaper/の"Netscape Hosting Services White Paper"、２）http://www.ensim.com/Products/index.htmの"Building a Scalable and Profitable Application Hosting Business"、White Paper、Ensim Corporation、３）http://www-4.ibm.com/software/developer/library/ahs/のIBM developerWorks:Web architecture library、"IBM Application Framework for e-business:Application hosting services"、Stewart Nickolas、IBM、October 1999、及び４）http://www.microsoft.com/exchange/techinfo/ASPplanning.htmの"Hosting with Exchange 2000 Server"、White Paper。
【０００６】
これらのホスティング・サービスは、特にＳＭＢと関連性があり、競争力を重要視する一方で、多額の資本支出を招くことなく、高機能アプリケーションをアクセスすることができる。こうしたホスティング・サービス無しでは、ＳＭＢセグメントは、彼らのe-businessを実行するために、中央処理ユニット（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）、及びビジネス・アプリケーションなどの、資源要求に関する専用のサービス及び知識を持つだけの余裕が必要となり、これは明らかにコスト効率の良い解決策ではない。
【０００７】
サービス・プロバイダの視点から見ると、ＳＭＢのホスティング品質サービスは、サービス品質（ＱｏＳ：Quality of service）保証内で、柔軟でコスト効率の良いサービスを提供する必要がある。クライアントの要求にもとづき、こうしたサービスをホストするための資源要求を計画及び最適化することは、サービス・プロバイダにとって重要な課題である。
【０００８】
ホスティング・サービスのための異なるアプローチが、次のＵＲＬで簡単に述べられている。すなわち、http://www.ensim.com/Products/index.htmの"Building a Scalable and Profitable Application Hosting Business"、White Paper、Ensim Corporation。これらの異なるアプローチについて、次に簡単に述べることにする。
【０００９】
専用サービス：
専用サービス・モデルは、クライアントに整数のサーバが与えられるように指示する。これはクライアントのために、サーバを排他的に予約することにより達成される。しかしながら、共用サーバで十分かもしれないＳＭＢの状況においては、このアプローチを使用することはあまりに高価である。大企業の状況においても、このアプローチの使用は法外に高価となり得る。なぜなら、限られたピーク時にサービスを保証するために、非常に多くの予約が必要となるからである。
【００１０】
共用サービス：
共用サービス・モデルは、サービス・プロバイダにより使用される一般的な方法であり、これは特に、アプリケーションの単一のインスタンス上で、複数の顧客をサポートするように設計された、仮想Ｗｅｂホスティング及びアプリケーションに対して当てはまる。このアプローチでは、複数の顧客及びサービスが単一のサーバ上でホストされる。しかしながら、共用環境では、クライアントにＱｏＳを保証するのが困難である。あるクライアントのトラフィックの急増が、同じ場所にいるクライアントに悪影響を及ぼし得る。信頼性及びセキュリティが他の問題としてあり、これらをこのアプローチで解決することは困難である。
【００１１】
仮想サーバ：
仮想サーバの概念は比較的新しいが、既に主流となりつつある。仮想サーバ技術は、単一のシステム上で複数の論理サーバを作成する技術と、個々のユーザがＲＡＭやＣＰＵなどのコンピュータ資源に対して、同等のアクセスを有することを可能にする技術とを含む。仮想サーバ技術はまた、サービス・プロバイダが資源をより効率的に使用することを可能にする。仮想サーバは独立した物理マシンのように振る舞うので、仮想サービスは共用サーバ上のデータベース、セキュリティ及びテルネットなどの、より複雑なアプリケーションを実行することができる。しかしながら、部分的な解決策の提供を支援をする一方で、仮想サーバは依然、限られた資源を有する小さな独立したサーバのように振る舞う。従って、ＱｏＳを保証するために、サービス・プロバイダはそのクライアントのピーク負荷を処理して、資源を割当てなければならず、これはシステム上の平均負荷よりも遙かに大きくなる。
【００１２】
【発明が解決しようとする課題】
従来システムでは、ＱｏＳを所望するクライアントは、観測されるピーク負荷のある割合を規定しなければならない。他方、サービス・プロバイダは、ピーク負荷時にクライアントをサービスするために、各クライアントに対して資源を予約しなければならない。結果的に、予約される資源は、非ピーク負荷状態では大抵アイドル状態となる。
【００１３】
従って、ホスティング・サービスを提供する従来のアプローチの欠点を克服するか、少なくとも改善するように、ホスティング・サービス資源を最適に計画及び割当てるシステムが待望される。
【００１４】
【課題を解決するための手段】
本発明の第１の態様によれば、少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てる方法が開示される。本方法は、クライアントの利用パターンを発見するステップと、利用パターンに応じて、資源をクライアントに割当てるステップとを含む。
【００１５】
好適には、本方法は更に各クライアントに対して、最小及び最大ホスティング・サービス資源を指定する限界を提供するステップを含み、割当てステップがこれらの限界にも依存する。
【００１６】
好適には、本方法は更にクライアントの利用度及び利用パターンの次元をモデル化するステップを含む。本方法は更に、確率的ベクトル・パッキングを用いて、クライアントをパックするステップを含む。更に、パックするステップは、ルーフ回避（Roof Avoidance）プロセス、最小分散（Minimized Variance）プロセス、最小最大化（Maximized Minima）プロセス、及び最大組み合わせ（Largest Combination）プロセスを含むグループから選択される、少なくとも１つのプロセスを使用する。
【００１７】
好適には、ホスティング・サービス資源は、協調ホスティング・サービス、コマース・ホスティング・サービス、及びe-businessホスティング・サービスを含むグループから選択される、少なくとも１つのホスティング・サービスに関係する。
【００１８】
好適には、割当てステップは、サービス品質（ＱｏＳ）保証をもらたす。
【００１９】
好適には、利用パターンは１つ以上のＷｅｂサイトのアクセス率に依存し、アクセス率は複数の時間目盛り上で周期性を有する。相補性にもとづき、２つ以上のクライアントが複数のクライアントから選択され、ホスティング・サービス資源が選択された２つ以上のクライアントに、組み合わせとして割当てられる。更に、割当てステップは、サーバに割当てられる前記２つ以上のクライアントを選択するステップを含む。２つの以上の選択クライアントの各々は、残りの他の選択クライアントのピーク負荷に対して、時間的に実質的に互いにばらばらな（disjoint）ピーク負荷を有する。更に、割当てられるホスティング・サービス資源は、選択された２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された２つ以上のクライアントによる使用のために、組み合わせに対して割当てられる共用資源とを含む。更に、Ｎクライアントが選択され、サーバに割当てられてもよい。但し、Ｎは２以上の整数である。サーバはＮ個の仮想サーバに区分化され、各クライアントはＮ個の仮想サーバの対応する１つを排他的に割当てられる。Ｎ個の仮想サーバを提供するために要求される能力を超える、サーバの過剰な能力は、Ｎクライアントにより共用される。
【００２０】
好適には、本方法は更に、クライアントをモニタして、利用パターンを発見するステップを含む。
【００２１】
本発明の第２の態様によれば、少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てる装置が開示される。この装置は、クライアントの利用パターンを発見する装置と、利用パターンに応じて、資源をクライアントに割当てる装置とを含む。
【００２２】
本発明の第３の態様によれば、少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てるコンピュータ・プログラムが記録されたコンピュータ可読媒体を有するコンピュータ・プログラム製品が開示される。このコンピュータ・プログラム製品は、クライアントの利用パターンを発見するコンピュータ・プログラム・コード・モジュールと、利用パターンに応じて、資源をクライアントに割当てるコンピュータ・プログラム・コード・モジュールとを含む。
【００２３】
本発明の第４の態様によれば、ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援システムが開示される。この意志決定支援システムは、クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、クライアントによる１つ以上のサーバの資源の利用をモデル化する装置と、クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証する装置とを含む。
【００２４】
好適には、前記最小数のサーバを決定する装置は、確率ベクトル・パッキングを使用する。前記システムは、ホスティング・コンピュータ・サービスにおいて資源の最適な管理を容易にする。
【００２５】
好適には、ホスティング・コンピュータ・サービスは、ホスティング・コンピュータ資源と、コンピュータ・アプリケーションと、コンピュータ関連サービスと、ネットワーク帯域幅とを含む。
【００２６】
好適には、意志決定支援システムは更に、サービス・プロバイダのために、最適な資源計画及び割当ての提案のセットを生成する装置を含む。
【００２７】
好適には、意志決定支援システムは、ビジネス・モデル・ホスティング最適化アプリケーションにおいて有用な最適化サービスを提供する。
【００２８】
本発明の第５の態様によれば、ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援方法が開示される。この方法は、クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、クライアントによる１つ以上のサーバの資源の利用をモデル化するステップと、クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証するステップとを含む。
【００２９】
本発明の第６の態様によれば、ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援を提供するコンピュータ・プログラムが記録された、コンピュータ可読媒体を有するコンピュータ・プログラム製品が開示される。このコンピュータ・プログラム製品は、クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、クライアントによる１つ以上のサーバの資源の利用をモデル化するコンピュータ・プログラム・コード・モジュールと、クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証するコンピュータ・プログラム・コード・モジュールとを含む。
【００３０】
【発明の実施の形態】
ホスティング・コンピュータ・サービス（または単にホスティング・サービス）のために、資源を最適に割当て、計画する方法、装置、及びコンピュータ・プログラム製品が開示される。以下の説明では、電子メールやＷｅｂホスティングなどの、特定のホスティング・サービスを含む、様々な詳細について述べられる。しかしながら当業者であれば、本発明がこれらの特定の詳細無しでも、実現され得ることが明らかであろう。他の例では、本発明を不明瞭にしないように、周知のフィーチャについては詳述しない。
【００３１】
以下の説明では、ホスティング・サービス資源割当て／計画システムのコンポーネントが、モジュールとして述べられる。モジュール、及び特にその機能は、ハードウェアまたはソフトウェアにより実現される。ソフトウェアの意味では、モジュールは通常、特定の機能または関連機能を実行するプロセス、プログラム、またはそれらの一部である。ハードウェアの意味では、モジュールは他のコンポーネントまたはモジュールと共に使用される、機能ハードウェア・ユニットである。例えば、モジュールは別個の電子部品を用いて実現されるか、或いは特定用途向け集積回路（ＡＳＩＣ）などの、電子回路全体の一部を形成する。様々な他の可能性も存在する。当業者であれば、本システムがハードウェア及びソフトウェアの組み合わせとしても実現され得ることが理解できよう。
【００３２】
好適な実施例は、ホスティング・サービス資源を最適に割当て、計画するシステムを提供し、より詳細には、サービス・プロバイダがコンピュータ資源、コンピュータ・アプリケーション、及び他のコンピュータ・サービスを計画し、割当てることを支援する意志決定支援システムを提供する。この実施例では、資源割当て及び計画のための確率的モデリング及び方法が開示され、これは顧客のニーズに適合し、利用パターンにもとづくサービス品質（ＱｏＳ）を提供する。本発明の実施例は、顧客要求及びＱｏＳを満足するように、サービス・プロバイダがホスティング・サービスを提供することを支援する、意志決定支援システムを提供する。
【００３３】
概要：
本発明の実施例は、クライアントの要求にもとづきコンピュータ・サービスを提供するＷｅｂファームにおいて、最適な資源計画を可能にする意志決定支援システムを提供する。意志決定支援システムにより与えられる提案にもとづき、資源がクライアントに割当てられ、より優れたＱｏＳ保証をクライアントに保証する一方、より少ない資源が要求されるだけで済む。
【００３４】
様々なＷｅｂサイトまたはＷｅｂアプリケーションの資源利用は、それらのアクセス率に緊密に相関付けられるとみなされる。Ｗｅｂサイトのアクセス率は、本質的に複数の時間目盛り上で、周期性を有することが観測される。本発明の実施例では、クライアントの適切な組み合わせに帰着するために、これらのパターンが利用され、同一の組み合わせ内のクライアントのセットが、共用サーバ上で共同でホストされる。できる限り、同一の組み合わせ内のクライアントが、互いにばらばらな時間にピーク負荷を経験するように、組み合わせが選択される。例えば、天気予報アプリケーションを有するクライアントは、主に朝にアクセスされるのに対して、株価情報を要求する別のクライアントは、もっぱら夕方にアクセスされる。また、例えば米国及びインドからアクセスされるサイトは、時間帯の違いを考慮すると、１日の別の時刻に負荷が増大すると思われる。
【００３５】
こうしたクライアント組み合わせを選択するために、相補性の概念が定義され、大方互いにばらばらな時間間隔の間にピーク期間を有するクライアントを決定するために使用される。
【００３６】
従来のシステムと異なり、本発明の実施例は、クライアントのピーク負荷をサービスするために、プロバイダが各クライアントに対して、排他的に資源を予約するのではなく、時間に依存する要求により、資源を共用可能なクライアントの組み合わせに対して、資源を予約する方法を提供する。
【００３７】
共用サーバ上で共同でホストされるクライアントの組み合わせは、同一の組み合わせ内のクライアントが、異なる時刻にピーク負荷を経験するように選択される。サービス・プロバイダは、組み合わせ内の各クライアントに対して、排他的に特定量の資源を予約する。従って、クライアントは２つのタイプの資源をアクセスでき、１つはそのクライアントに対して排他的に予約される資源であり、他はそのクライアントを一員として含む組み合わせに対して予約される共用資源である。
【００３８】
こうした組み合わせ内のクライアントに対して資源を提供することは、大きな利点を有する。各クライアントは最小量の資源を保証され、また最小量以上の資源を特定の確率で保証される。幾つかの資源が各クライアントに対して排他的に予約されるので、共同でホストされるクライアントのピーク負荷が、概して、同一の共用サーバ上でホストされる他のクライアントに悪影響を及ぼさない。この方法は、同数のクライアント及び資源において、より優れたＱｏＳを提供する。更に、本実施例に従う方法は、同一の資源利用率を有する同数のクライアントに、同一のＱｏＳを提供するために、より少ない資源で足りるものである。
【００３９】
クライアント作業負荷の特徴付け：
クリアント資源要求は、定常確率プロセスとしてモデル化される。Ｗｅｂアクセス率は一般に、１日の間に異なって分布される。この事実は、１日をｋ個のタイムスロットに分割し（例えばｋ＝２４で各タイムスロットが１時間長）、各クライアントの資源要求を、異なるタイムスロット内で、異なる資源に対する、異なる定常確率プロセスとしてモデル化することにより、捉えられる。ｒ個の資源、及びｋ個のタイムスロットの場合、各クライアントの資源要求が、ｄ＝ｒｘｋ次元を有するランダム・ベクトルとしてモデル化される。従って、要求ベクトルの各次元は、特定の時間間隔内の特定の資源を表す。
【００４０】
資源要求プロセスは、毎日同一の分布を有すると仮定される。モデルは２４時間として記述されるが、データに適した別の期間が選択されてもよい。ランダム変数Ｘ＿{ij}が、次元ｊに対応する時間間隔内のある時刻ｔにおける、クライアントｉの要求を表すとしよう（定常性の仮定により、このランダム変数はｔに独立した分布を有する）。
【００４１】
各クライアントｉは契約（agreement）を折衝することを性能的に保証されるので、クライアントは常に、最小資源要求ａ＿{ij}（少なくとも０）を割当てられ、全てのｊ＝１，．．，ｄに対して、最大要求ｂ＿{ij}（サーバの能力以下）を指定することができる。但し、最小及び最大要求は、時間及び資源に渡り変化してもよい。
【００４２】
Ｙ＿{ij}が、次元ｊにおいて、クライアントｉに約束される能力を表すものとする。このとき、確率分布の観点から次のようになる。
【数１】
0003903419.tif 000002
【００４３】
クライアントｉの過去のアクセス・パターンが、ｊ＝０，１，２，．．，ｄにおけるＸ＿{ij}の分布、従ってＹ＿{ij}の分布を推定するために使用される。
【００４４】
アルファ・サティスファイアビリティ（alpha-satisfiability）が、ＱｏＳの１つの指標として導入される。クライアントが各次元において、約束された能力を少なくともアルファ時間比率だけ受け取る場合、クライアントはアルファ・サティスファイド（alpha-satisfied）されたと言われる。
【００４５】
クライアントＣ＿１，Ｃ＿２，．．，Ｃ＿ｎがサーバに割当てられ、Ｑ＝（Ｑ＿１，．．，Ｑ＿ｄ）が、次元１，．．，ｄにおけるサーバ能力を表すとする。この割当ては、あらゆるｊ＝１，．．，ｄにおいて、確率Ｐが次の条件を満足する場合、アルファ・サティスファイアブル（alpha-satisfiable）である。すなわち、
【数２】
Ｐ(Ｙ＿{1j}＋Ｙ＿{2j}＋...＋Ｙ＿{nj}≧Ｑ＿ｊ)≦１−alpha
【００４６】
ここでalphaは１に近いスカラ定数である。これは２４時間の間に、クライアントに約束された能力をアルファ時間比率だけ与えるよりも、遙かに有力な保証である。その場合、クライアントはそのピーク要求期間に、所望の能力を与えられない可能性がある。
【００４７】
資源割当て問題：
Ｎクライアントが存在する場合、これらのクライアントをホストするために必要な最小数のサーバが、前記のアルファ・サティスファイアビリティに従い、求められる。各クライアントはサーバの１つ上に存在し、そのサーバを他のクライアントと共用する。
【００４８】
この問題は、ベクトル・パッキング・アプローチを通じて解決される。ベクトル・パッキングは、複数の次元へのビン・パッキング（bin-packing）の一般化である。ビン・パッキングは整数プログラミング問題であり、そこではビン数を最小化するように、様々なサイズのアイテムが所与の能力のビンにパックされる。多次元ビン・パッキングは、ボリュームを多次元空間にパックする。しかしながら、必要とされる一般化は、ジョブ（クライアント）が任意の次元内でオーバラップしないように、保証しなければならない。
【００４９】
サーバは等しい能力Ｑを有する必要はない。しかしながら、能力は異なる資源を次に述べるようにスケーリングすることにより、正規化される必要がある。ここでＱ＾ｉ＿ｊを、ｊ番目の次元におけるｉ番目のタイプのサーバの能力とする。また、Ｑ＾max_jを、全てのｉタイプのサーバに渡る、Ｑ＾ｉ＿ｊの最大値とする。次に、Ｑ＾max_jが全ての次元ｊ＝１，．．，ｄにおいて同一となるように、各資源の測定単位がスケーリングされる。
【００５０】
各サーバの資源の一部が、サーバ上のクライアントの間で区分化され、残りの資源が共通プールとして使用可能になる。各サーバは、ＣＰＵ、メモリ及び帯域幅などの、資源の集合としてモデル化され、それぞれの資源は能力制限を有する。ｉ番目のクライアントの区分は、その最小要求ａ＿{ij}、ｊ＝１，．．,ｄに対応するサイズを有する。この区分の効果は、各クライアントを、同一のサーバ上の他のクライアントからの負荷急増から、保護することである。
【００５１】
重要な点は、資源計画において重要とみなされるエンティティだけが、考慮対象の資源として取り上げられることである。計算の複雑化を低減し、また資源利用率を改善するために、より少ない資源及び時間間隔を有することが好ましい。これらの資源の負荷の間に高い相関が存在する場合、または単一のボトルネック資源が存在する場合、単一の抽象資源だけがシステムをモデル化できる。資源のセットの選択は、プロバイダに委ねられる。
【００５２】
好適な実施例のシステム及び方法：
図１は、本発明の好適な実施例に従い、ホスティング・コンピュータ・サービスのために、資源を最適に割当て、計画するシステムのブロック図である。システム１００はモニタ・システム１１２、意志決定支援システム（ＤＳＳ）１１６、及び資源をクライント１２２に割当てるモジュールを含む。モニタ・システム１１２はインターネットまたはＷｅｂ１１０に接続され、資源に対するクライアント・アクセスをモニタする。モニタ・システム１１２は結果的に、利用パターン・データベース１１４を生成し、これが意志決定支援システム１１６への入力として提供される。更に、人間１２０による入力がルール（ＳＬＡ）１１８を生成するために使用され、これもまた意志決定支援システム１１６への入力として提供される。意志決定支援システム１１６は、資源を最適にクライアントに割当てるための提案を、モジュール１２２に提供する。システム１００は利用パターン・データベース１１４から、利用パターン及びアクセス・パターンを獲得し、好適にはＳＬＡデータベース（図示せず）から、契約またはサービス・レベル・アグリーメント（ＳＬＡ）を獲得する。関連データベースからＳＬＡルールまたはアクセス・データを獲得すると、ＤＳＳ１１６は最適な資源計画及び割当てのための提案を、ヒューマン・インタフェースに出力する。人間がこれらの出力の１つから提案を選出するか、ＳＬＡデータベース内のＳＬＡルールを変更することにより、提案の代替セットを探索する。
【００５３】
図２は、意志決定支援システムの詳細ブロック図である。図２のシステム２００では、利用パターン２１０及びルール（ＳＬＡ）２２０が、意志決定支援システム２３０への入力として提供される。意志決定支援システム２３０は、モデリング・モジュール２３２及び確率ベクトル・パッキング・モジュール２３４を含む。人間入力２４０が両方のモジュール２３２及び２３４に提供される。モデリング・モジュール２３２は入力２１０及び２２０を受信し、次にベクトル・モジュール２３４に接続される。ベクトル・パッキング・モジュール２３４は次に、提案を出力として、資源をクライアントに割当てるモジュール２５０に提供する。再度、人間はシステムが提案のセットに帰着するために使用するモデル及び方法の決定に、介入することができる。
【００５４】
図３は、本発明の好適な実施例に従い、ホスティング・サービス資源を最適に割当て、計画する方法３００のフローチャートである。プロセス３００はステップ３１０で開始する。ステップ３１０では、クライアントの初期セットＣが提供される。ステップ３１２では、新たなサーバＳが獲得される。判断ブロック３１４では、まだ処理されるべきクライアントが残っているか否かがチェックされる。判断ブロック３１４が偽（Ｎｏ）を返却すると、処理はステップ３１６に続き、資源割当てがクライアントに出力される。それ以外では、判断ブロック３１４が真（Ｙｅｓ）を返却し、処理はステップ３１８に継続する。
【００５５】
ステップ３１８では、クライアントのセットＣから、新たなサーバＳにとってアルファ・サティスファイアブルなクライアントが見い出される。判断ブロック３２０では、ステップ３１８で、こうしたクライアントが見い出されたか否かがチェックされる。判断ブロック３２０が偽（Ｎｏ）を返却する場合、処理はステップ３１２に継続する。一方、判断ブロック３２０が真（Ｙｅｓ）を返却する場合、処理はステップ３２２に継続する。
【００５６】
ステップ３２２では、最も相補的なクライアントｃ'が見い出される。ステップ３２４では、クライアントｃ'が新たなサーバＳに割当てられ、クライアントのセットＣから削除される。処理は次に判断ブロック３１４に継続する。
【００５７】
パッキング・ヒューリスティック：
クライアントＣ＿１，．．，Ｃ＿Ｎがサーバにパックされる。プロセス３００の進行中、クライアントＣ＿ｎ，．．，Ｃ＿Ｎ（但しｎ≦Ｎ）はパックされたままである。ここで、Ｎはクライアントの総数である。ｉ番目のクライアントは、資源利用ベクトルＹ＿ｉ＝（Ｙ＿｛i1｝，．．，Ｙ＿｛id｝）により表される。ここで各要素はランダム変数である。
【００５８】
サーバは、ソート済み順序でパックされるように選択される。例えば、サーバは平均能力の昇順とされる。より高い優先順位の次元のセットが存在する場合、サーバはこれらの次元だけに渡って、平均能力順にソートされてもよい。例えば、ピークタイム期間及び高価な資源に対応する次元が、優先化されたりする。
【００５９】
所与の時刻に、１つのサーバだけがパッキングのために空いており、クライアントがサーバに１つずつ追加される。Ｑ＝（Ｑ｛１｝，．．，Ｑ｛ｄ｝）を、このサーバの能力とする。クライアントが追加されるとき、サーバは空か、或いは既存のクライアントがサーバ内に存在する。ここでＣ＿Ｂを現サーバ内に既に存在するクライアントのセットとする。また、Ｂ＝（Ｂ＿１，．．，Ｂ＿ｄ）が、現サーバ内で利用される資源の分布を表すものとする。更に、Ｅ（Ｂ）＝（Ｅ（Ｂ＿１），．．，Ｅ（Ｂ＿ｄ））が、現サーバの次元内で利用される資源の期待値ベクトルとする。
【００６０】
ｉ番目のクライアントが、現サーバへの好適な追加として選択されると、サーバの資源利用ベクトルが、分布Ｂを有するＹ＿ｉの要素毎の畳み込みに更新される。新たなサーバ分布Ｂ＿newは次のようになる。すなわち、
【数３】
Ｂ＿new＝（Ｂ＿１*Ｙ＿｛i1｝，．．，Ｂ＿ｄ*Ｙ＿｛id｝）＝Ｂ*Ｙ＿ｉ
【００６１】
ここで記号"*"は、畳み込み演算を表す。また、Ｃ＿alphaが、現サーバに関するアルファ・サティスファイアブルなクライアント｛Ｃ＿ｎ，．．，Ｃ＿Ｎ｝のサブセットを表すとする。
【００６２】
相補性の概念が、クライアントを現サーバに割当てるために使用される。次のヒューリスティックスが、現サーバのための最も相補的なクライアントを見い出すために使用される。
【００６３】
ルーフ回避（Roof Avoidance）：
Ｅ（Ｙ＿{i1}），．．，Ｅ（Ｙ＿{id}）が、ｉ番目のクライアントにおける、Ｙ＿｛i1｝，．．，Ｙ＿｛id｝の期待値資源要求を表すとする。
【００６４】
Ｄを、現サーバが最高の平均要求を有する次元とする。すなわち、Ｅ（Ｂ＿Ｄ）がＥ（Ｂ＿１），．．，Ｅ（Ｂ＿ｄ）の間で最大とする。ｉ番目のクライアントＣ＿ｉが、セットＣ＿alpha内に含まれる全てのＥ（Ｙ＿｛iD｝）の間で、Ｅ（Ｙ＿｛mD｝）が最小の場合（すなわち、Ｃ＿ｍが次元Ｄ内で最小の平均を有し、更にアルファ・サティスファイアブルなクライアントである）、ｍ番目のクライアントが最も相補的なクライアントと言われる。
【００６５】
最小分散（Minimized Variance）：
サーバ内の空き空間を、ｅ＝（ｅ＿１，．．，ｅ＿ｄ）と表すものとする。ここでｅ＿ｊは、現サーバがアルファ・サティスファイアブルであり続けるために、この次元から除去される資源の最大量である。ｉ番目のクライアントがサーバに追加された場合、現サーバ内の空き空間をｅ＾ｉ＝（ｅ＿１＾ｉ，．．，ｅ＿ｄ＾ｉ）と表すものとする。ｅ＾ｉの分散は、ｉ番目のクライアントの空き空間分散と呼ばれる。
【００６６】
ｍ番目のクライアントが、Ｃ＿alpha内の全てのクライアントの間で、最小の空き空間分散を生成する場合、ｍ番目のクライアントが最も相補的なクライアントである。この変化は全ての次元に渡り、利用率を等化しようとし、任意のある次元での飽和を防止する。
【００６７】
最小最大化（Maximized Minima）：
処理は、最小分散ヒューリスティックの場合のように、Ｃ＿ｍを見い出すことにより開始する。Ｃ＿ｖを、Ｃ＿ｍに近い空き空間分散を有するクライアントのセット（Ｃ＿alphaのサブセット）とする。すなわち、Ｃ＿ｉがＣ＿ｖに含まれる場合、Ｃ＿ｉとＣ＿ｍの空き空間分散の差は、スカラ定数Ｖよりも小さい。
【００６８】
全ての次元ｊに渡り、Ｃ＿ｖ内のｉ番目のクライアントの最大自由空間ｆ＿ｉを、最大ｅ＿ｊ＾ｉと定義する。次に、Ｃ＿ｖ内の全てのクライアントについて、ｆ＿ｍが全てのｆ＿ｉの間で最小となるように、最も相補的なクライアントがＣ＿ｍに更新される。ここでの動機付けは、低い最大空き空間と共に、分散を低く維持することである。
【００６９】
最大組み合わせ（Largest Combination）：
低い空き空間分散を有するクライアントＣ＿ｖのセットは、前述の最小最大化の場合のように見い出される。ｅ＾ｉの平均は、平均空き空間と呼ばれる。最も相補的なクライアントＣ＿ｍは、Ｃ＿ｖ内の全てのクライアントの間で、最小平均空き空間を有する。ここので動機付けは、サーバの高利用率と共に、分散を低く維持することである。
【００７０】
最も相補的なクライアントを見い出す前記プロシージャにより、パッキングが表１に示されるように進行する。
【表１】
0003903419.tif 000003
【００７１】
表１のプロセスは、次元の間の分散の利用と組んで、１次元ビン・パッキングから、そのインスピレーションを見い出す。１次元ビン・パッキング問題は十分に研究されてきた。その意味で、ファースト・フィット・デクリーシング（ＦＦＤ）及びベスト・フィット・デクリーシング（ＢＦＤ）などのオフライン・アルゴリズムは、最悪時の近似限界が１１／９であり、有効であることが判明している。本発明者による第１のアプローチは、ベスト・フィット・デクリーシングの範囲内にある。しかしながら、前記定義された多次元プロセスの主張は、分散を低減すること、従って、どれか１つの次元の過剰利用を回避することである。アイテムをサイズ・クラスに分類しようとする１次元アプローチは、変更（Modified）ファースト・フィット・デクリーシングと呼ばれ、ＦＦＤを改良することが報告されている。
【００７２】
インプリメンテーション問題：
新たなクライアントの場合、資源利用履歴が使用可能でないかもしれない。初期には、無制限の資源が、こうしたクライアントに許可される。これによりクライアントの確率分布の特徴付けが可能になる。初期期間の後、レイアウトの最適化のために、分布が断続的に更新される。新たなクライアントが最も相補的なサーバに追加され、これはクライアントの追加に関して、アルファ・サティスファイアブルなサーバである。こうしたサーバが見当たらない場合、新たなサーバがオープンされ、クライアントがこの新たなサーバに追加される。
【００７３】
顧客の要求の変化、利用パターンの変化、またはファームからのクライアントの削除をサポートするために、クライアントがサーバから削除され、そのサーバに割当てられた資源が解放される。次に、新たな仕様及び度数分布テーブルを有するクライアントが、最も相補的なサーバに新たに追加される。度重なるこうした追加、削除、及び再割当ての後、サーバ・ファームはもはや最適な資源計画を有さなくなるであろう。従って、現在ホストされる全てのクライアントに対して、割当てプロセス全体が新たに繰り返されるように、周期的な保守を有することが好ましい。
【００７４】
サーバのより大きなセットを１つのサーバとして取り扱うことにより、または大きなクライアントを分割することにより、各クライアントの要求が常に単一サーバ未満でなければならない要求が克服される。幾つかのクライアントが複数のサーバに渡り複製される必要がある場合、システムは各レプリカを独立したクライアントとして扱う。
【００７５】
プロセスは、システムが高可用性及び耐障害性を有することを制限しない。高可用性のために、各クライアントは２つのクライアントに分割されてもよく、この場合、各々が別々のマシン上に配置されなければならない。複製のために、システムは各クライアントのレプリカを独立したクライアントとして扱う。プロセスは単にこうしたクライアントをチェックし、これらが同一のサーバ上にパックされないようにする。一時的な膨大な需要に対応するために、安全能力余裕が各サーバ内で許容されてもよい。
【００７６】
システムはクライアントの優先順位クラスをサポートする。各優先順位クラスは、そのクラスに関連付けられるアルファ・サティスファイアビリティを有する。各サーバは１つのこうしたクラスに対してパックされる。一旦高位の優先順位グループがパックされると、サーバは空き空間の降順に再編成され、プロセスは全てのサーバに渡り、次に低い優先順位グループに対して実行される。各サーバはそのサーバがパックされる単一のアルファを有するので、幾つかの低優先順位のクライアントが、より高い優先順位のサーバにパックされる。従って、資源が保存される一方で、特定のクライアントに約束されたＱｏＳを上回ることができる。
【００７７】
本発明の実施例は、好適には汎用コンピュータを用いて実現される。特に、図１乃至図３の処理または機能は、コンピュータ上で実行されるソフトウェア、またはコンピュータ・プログラムとして実現される。ホスティング・サービス資源を最適に計画及び割当てる方法、またはプロセス・ステップが、コンピュータにより実行されるソフトウェア内の命令により実現される。ソフトウェアは、プロセス・ステップを実現する１つ以上のモジュールとして実現される。モジュールは、特定の機能または関連機能を実行するコンピュータ・プログラムの一部である。また、前述のように、モジュールは他のコンポーネントまたはモジュールと一緒に使用される、パッケージ化された機能ハードウェアであってもよい。
【００７８】
特に、ソフトウェアが、後述の記憶装置を含む、コンピュータ可読媒体内に記憶される。ソフトウェアは好適には、コンピュータ可読媒体からコンピュータにロードされ、次にコンピュータにより実行される。コンピュータ・プログラム製品は、コンピュータにより実行されるこうしたソフトウェアまたはコンピュータ・プログラムを記録された、コンピュータ可読媒体を含む。コンピュータ内でのコンピュータ・プログラム製品の使用は、好適には、ホスティング・サービスを最適に計画及び割当てる有利な装置をもたらす。
【００７９】
好適には、図４に示されるコンピュータ・システム４００は、コンピュータ４５０、ビデオ・ディスプレイ４１０、及び入力装置４３０、４３２を含む。更に、コンピュータ・システム４００は多数の他の出力装置の任意のものを含み、それらにはライン・プリンタや、レーザ・プリンタ、プロッタ、及びコンピュータ４５０に接続される他の再生装置が含まれる。コンピュータ・システム４００は更に、モデム通信パスやコンピュータ・ネットワークなどの通信インタフェースを介して、１つ以上の他のコンピュータに接続され得る。コンピュータ・ネットワーク４２０は、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、イントラネット、及びインターネットなどを含む。
【００８０】
コンピュータ４００自体は好適には、中央処理ユニット４６６（以下、単にプロセッサと称す）、ランダム・アクセス・メモリ（ＲＡＭ）や呼び出し専用メモリ（ＲＯＭ）などを含むメモリ４７０、入出力（Ｉ／Ｏ）インタフェース４６４、４７２、ビデオ・インタフェース４６０、及び１つ以上の記憶装置４６２を含む。記憶装置４６２は、フロッピー（Ｒ）ディスク、ハードディスク・ドライブ、光磁気ディスク・ドライブ、ＣＤ−ＲＯＭ、磁気テープ、または当業者には既知の他の多数の不揮発性記憶装置などを含む。これらのコンポーネントの各々は、一般に、バス４８０を介して１つ以上の他の装置に接続される。尚、バス４８０はデータ・バス、アドレス・バス、及び制御バスから構成される。
【００８１】
ビデオ・インタフェース４６０はビデオ・ディスプレイ４１０に接続され、コンピュータからのビデオ信号を、ビデオ・ディスプレイ４１０上に表示するために提供する。コンピュータを操作するためのユーザ入力が、１つ以上の入力装置４３０、４３２により提供される。例えば、オペレータはキーボード４３０またはマウス４３２などのポインティング・デバイスを用いて、コンピュータに入力を提供する。
【００８２】
前述のシステムは単に例証の目的として提供されたもので、本発明の趣旨及び範囲から逸れることなく、他の構成も使用可能である。本発明の実施例と共に使用されるコンピュータには、ＩＢＭ−ＰＣ／ＡＴまたは互換機、マッキントッシュ（商標）ＰＣファミリの１機種、Sun Sparcstation（商標）、ワークステーションなどが含まれる。前述の説明は、本発明の実施例と共に使用されるコンピュータのタイプの１例に過ぎない。一般に、実施例のプロセスは、コンピュータ可読媒体としてのハードディスク・ドライブ上に記録されるソフトウェアまたはプログラムとして存在し、プロセッサにより読出され、制御される。ネットワークからフェッチされるプログラム、中間データ及び任意のデータの中間記憶は、ハードディスク・ドライブと併せて、半導体メモリを用いて達成される。
【００８３】
ときにプログラムは、ＣＤ−ＲＯＭまたはフロッピー（Ｒ）ディスク上にエンコードされてユーザに提供されたり、或いはユーザにより、コンピュータに接続されたモデム装置を介して、ネットワークから読出されたりする。或いは、ソフトウェアが他のコンピュータ可読媒体からコンピュータ・システムにロードされる。こうした媒体には、磁気テープ、ＲＯＭまたは集積回路、光磁気ディスク、コンピュータと別の装置との間の無線または赤外線伝送チャネル、ＰＣＭＣＩＡカードなどのコンピュータ可読カード、電子メール伝送を含むインターネット４２０及びイントラネット、及びＷｅｂサイト上に記録された情報などが含まれる。これらは関連コンピュータ可読媒体の１例に過ぎず、他のコンピュータ可読媒体も、本発明の趣旨及び範囲から逸れることなく、使用される。
【００８４】
以上、ホスティング・サービス資源を最適に計画及び割当てる方法、装置、及びコンピュータ・プログラム製品が開示された。少数の実施例だけが述べられたが、当業者であれば、本開示を参考にして、本発明の趣旨及び範囲から逸れることなく、様々な変更や変形が可能であることが明らかであろう。
【００８５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００８６】
（１）少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てる方法であって、
前記クライアントの利用パターンを発見するステップと、
前記利用パターンに応じて、前記資源を前記クライアントに割当てるステップと
を含む方法。
（２）前記クライアントの各々に対して、最小及び最大ホスティング・サービス資源を指定する限界を提供するステップを含み、前記割当てステップが前記限界にも依存する、前記（１）記載の方法。
（３）前記クライアントの利用度及び前記利用パターンの次元をモデル化するステップを含む、前記（１）記載の方法。
（４）確率的ベクトルを用いて、前記クライアントをパックするステップを含む、前記（３）記載の方法。
（５）前記パックするステップが、ルーフ回避プロセス、最小分散プロセス、最小最大化プロセス、及び最大組み合わせプロセスを含むグループから選択される、少なくとも１つのプロセスを使用する、前記（４）記載の方法。
（６）前記ホスティング・サービス資源が、協調ホスティング・サービス、コマース・ホスティング・サービス、及びe-businessホスティング・サービスを含むグループから選択される、少なくとも１つのホスティング・サービスに関係する、前記（１）記載の方法。
（７）前記割当てステップが、サービス品質（ＱｏＳ）保証をもらたす、前記（１）記載の方法。
（８）前記利用パターンが１つ以上のＷｅｂサイトのアクセス率に依存し、前記アクセス率が複数の時間目盛り上で周期性を有する、前記（１）記載の方法。
（９）相補性にもとづき、２つ以上のクライアントが複数のクライアントから選択され、前記ホスティング・サービス資源が選択された前記２つ以上のクライアントに、組み合わせとして割当てられる、前記（８）記載の方法。
（１０）前記割当てステップが、サーバに割当てられる前記２つ以上のクライアントを選択するステップを含み、選択された前記２つの以上のクライアントの各々が、残りの他の選択クライアントのピーク負荷に対して、時間的に互いにばらばらなピーク負荷を有する、前記（９）記載の方法。
（１１）前記割当てられるホスティング・サービス資源が、選択された前記２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された前記２つ以上のクライアントによる使用のために、前記組み合わせに対して割当てられる共用資源とを含む、前記（９）記載の方法。
（１２）前記クライアントをモニタして、前記利用パターンを発見するステップを含む、前記（１）記載の方法。
（１３）２以上の整数Ｎのクライアントが選択されて、サーバに割当てられ、前記サーバがＮ個の仮想サーバに区分化され、各クライアントが前記Ｎ個の仮想サーバの対応する１つを排他的に割当てられ、前記Ｎ個の仮想サーバを提供するために要求される能力を超える、前記サーバの過剰な能力が、前記Ｎクライアントにより共用される、前記（１０）記載の方法。
（１４）少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てる装置であって、
前記クライアントの利用パターンを発見する手段と、
前記利用パターンに応じて、前記資源を前記クライアントに割当てる手段と
を含む装置。
（１５）前記クライアントの各々に対して、最小及び最大ホスティング・サービス資源を指定する限界を提供する手段を含み、前記割当て手段が前記限界にも依存する、前記（１４）記載の装置。
（１６）クライアントの利用度及び前記利用パターンの次元をモデル化する手段を含む、前記（１４）記載の装置。
（１７）確率的ベクトルを用いて、前記クライアントをパックする手段を含む、前記（１６）記載の方法。
（１８）前記パッキング手段が、ルーフ回避プロセス、最小分散プロセス、最小最大化プロセス、及び最大組み合わせプロセスを含むグループから選択される、少なくとも１つのプロセスを使用する、前記（１７）記載の装置。
（１９）前記ホスティング・サービス資源が、協調ホスティング・サービス、コマース・ホスティング・サービス、及びe-businessホスティング・サービスを含むグループから選択される、少なくとも１つのホスティング・サービスに関係する、前記（１４）記載の装置。
（２０）前記割当て手段がサービス品質（ＱｏＳ）保証をもらたす、前記（１４）記載の装置。
（２１）前記利用パターンが１つ以上のＷｅｂサイトのアクセス率に依存し、前記アクセス率が複数の時間目盛り上で周期性を有する、前記（１４）記載の装置。
（２２）相補性にもとづき、２つ以上のクライアントが複数のクライアントから選択され、前記ホスティング・サービス資源が選択された前記２つ以上のクライアントに、組み合わせとして割当てられる、前記（２１）記載の装置。
（２３）前記割当て手段が、サーバに割当てられる前記２つ以上のクライアントを選択する手段を含み、選択された前記２つの以上のクライアントの各々が、残りの他の選択クライアントのピーク負荷に対して、時間的に互いにばらばらなピーク負荷を有する、前記（２２）記載の装置。
（２４）前記割当てられるホスティング・サービス資源が、選択された前記２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された前記２つ以上のクライアントによる使用のために、前記組み合わせに対して割当てられる共用資源とを含む、前記（２２）記載の装置。
（２５）前記クライアントをモニタして、前記利用パターンを発見する手段を含む、前記（１４）記載の装置。
（２６）２以上の整数Ｎのクライアントが選択されて、サーバに割当てられ、前記サーバがＮ個の仮想サーバに区分化され、各クライアントが前記Ｎ個の仮想サーバの対応する１つを排他的に割当てられ、前記Ｎ個の仮想サーバを提供するために要求される能力を超える、前記サーバの過剰な能力が、前記Ｎクライアントにより共用される、前記（２３）記載の装置。
（２７）少なくとも１つの共用サーバにおいて、ホスティング・サービス資源をクライアントに割当てるコンピュータ・プログラムを記録されたコンピュータ可読媒体を有するコンピュータ・プログラム製品であって、
前記クライアントの利用パターンを発見するコンピュータ・プログラム・コード手段と、
前記利用パターンに応じて、前記資源を前記クライアントに割当てるコンピュータ・プログラム・コード手段と
を含むコンピュータ・プログラム製品。
（２８）前記クライアントの各々に対して、最小及び最大ホスティング・サービス資源を指定する限界を提供するコンピュータ・プログラム・コード手段を含み、前記割当てのためのコンピュータ・プログラム・コード手段が前記限界にも依存する、前記（２７）記載のコンピュータ・プログラム製品。
（２９）クライアントの利用度及び前記利用パターンの次元をモデル化するコンピュータ・プログラム・コード手段を含む、前記（２７）記載のコンピュータ・プログラム製品。
（３０）確率的ベクトルを用いて、前記クライアントをパックするコンピュータ・プログラム・コード手段を含む、前記（２９）記載のコンピュータ・プログラム製品。
（３１）前記パックのためのコンピュータ・プログラム・コード手段が、ルーフ回避プロセス、最小分散プロセス、最小最大化プロセス、及び最大組み合わせプロセスを含むグループから選択される、少なくとも１つのプロセスを使用する、前記（３０）記載のコンピュータ・プログラム製品。
（３２）前記ホスティング・サービス資源が、協調ホスティング・サービス、コマース・ホスティング・サービス、及びe-businessホスティング・サービスを含むグループから選択される、少なくとも１つのホスティング・サービスに関係する、前記（２７）記載のコンピュータ・プログラム製品。
（３３）前記割当てのためのコンピュータ・プログラム・コード手段がサービス品質（ＱｏＳ）保証をもらたす、前記（２７）記載のコンピュータ・プログラム製品。
（３４）前記利用パターンが１つ以上のＷｅｂサイトのアクセス率に依存し、前記アクセス率が複数の時間目盛り上で周期性を有する、前記（２７）記載のコンピュータ・プログラム製品。
（３５）相補性にもとづき、２つ以上のクライアントが複数のクライアントから選択され、前記ホスティング・サービス資源が選択された前記２つ以上のクライアントに、組み合わせとして割当てられる、前記（３４）記載のコンピュータ・プログラム製品。
（３６）前記割当てのためのコンピュータ・プログラム・コード手段が、サーバに割当てられる前記２つ以上のクライアントを選択するコンピュータ・プログラム・コード手段を含み、選択された前記２つの以上のクライアントの各々が、残りの他の選択クライアントのピーク負荷に対して、時間的に互いにばらばらなピーク負荷を有する、前記（３５）記載のコンピュータ・プログラム製品。
（３７）前記割当てられるホスティング・サービス資源が、選択された前記２つ以上のクライアントの各々に排他的に割当てられる資源と、選択された前記２つ以上のクライアントによる使用のために、前記組み合わせに対して割当てられる共用資源とを含む、前記（３５）記載のコンピュータ・プログラム製品。
（３８）前記クライアントをモニタして、前記利用パターンを発見するコンピュータ・プログラム・コード手段を含む、前記（２７）記載のコンピュータ・プログラム製品。
（３９）２以上の整数Ｎのクライアントが選択されて、サーバに割当てられ、前記サーバがＮ個の仮想サーバに区分化され、各クライアントが前記Ｎ個の仮想サーバの対応する１つを排他的に割当てられ、前記Ｎ個の仮想サーバを提供するために要求される能力を超える、前記サーバの過剰な能力が、前記Ｎクライアントにより共用される、前記（３６）記載のコンピュータ・プログラム製品。
（４０）ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援システムであって、
クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、前記クライアントによる１つ以上のサーバの資源の利用をモデル化する手段と、
前記クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証する手段と
を含む意志決定支援システム。
（４１）前記最小数のサーバを決定する手段が、確率ベクトル・パッキングを使用する、前記（４０）記載の意志決定システム。
（４２）前記システムが、前記ホスティング・コンピュータ・サービスにおいて資源の最適な管理を容易にする、前記（４０）記載の意志決定支援システム。
（４３）前記ホスティング・コンピュータ・サービスが、ホスティング・コンピュータ資源と、コンピュータ・アプリケーションと、コンピュータ関連サービスと、ネットワーク帯域幅とを含む、前記（４０）記載の位置決定支援システム。
（４４）サービス・プロバイダのために、最適な資源計画及び割当ての提案のセットを生成する手段を含む、前記（４０）記載の意志決定支援システム。
（４５）ビジネス・モデル・ホスティング最適化アプリケーションにおいて有用な最適化サービスを提供する、前記（４０）記載の意志決定支援システム。
（４６）ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援方法であって、
クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、前記クライアントによる１つ以上のサーバの資源の利用をモデル化するステップと、
前記クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証するステップと
を含む方法。
（４７）前記最小数のサーバを決定するステップが、確率ベクトル・パッキングを使用する、前記（４６）記載の方法。
（４８）前記方法が、前記ホスティング・コンピュータ・サービスにおいて資源の最適な管理を容易にする、前記（４０）記載の意志決定支援システム。
（４９）前記ホスティング・コンピュータ・サービスが、ホスティング・コンピュータ資源と、コンピュータ・アプリケーションと、コンピュータ関連サービスと、ネットワーク帯域幅とを含む、前記（４６）記載の方法。
（５０）サービス・プロバイダのために、最適な資源計画及び割当ての提案のセットを生成するステップを含む、前記（４７）記載の方法。
（５１）ビジネス・モデル・ホスティング最適化アプリケーションにおいて有用な最適化サービスを提供する、前記（４０）記載の意志決定支援システム。
（５２）ホスティング・コンピュータ・サービスにおいて、資源を割当て、計画する意志決定支援を提供するコンピュータ・プログラムが記録された、コンピュータ可読媒体を有するコンピュータ・プログラム製品であって、
クライアントの少なくとも１つの利用パターン、及びサービス品質に関する指定ルールに応じて、前記クライアントによる１つ以上のサーバの資源の利用をモデル化するコンピュータ・プログラム・コード手段と、
前記クライアントを受容する最小数のサーバを決定し、指定最低サービス品質を保証するコンピュータ・プログラム・コード手段と
を含むコンピュータ・プログラム製品。
（５３）前記最小数のサーバを決定するコンピュータ・プログラム・コード手段が、確率ベクトル・パッキングを使用する、前記（５２）記載のコンピュータ・プログラム製品。
（５４）前記コンピュータ・プログラム製品が、前記ホスティング・コンピュータ・サービスにおいて資源の最適な管理を容易にする、前記（５２）記載のコンピュータ・プログラム製品。
（５５）前記ホスティング・コンピュータ・サービスが、ホスティング・コンピュータ資源と、コンピュータ・アプリケーションと、コンピュータ関連サービスと、ネットワーク帯域幅とを含む、前記（５２）記載のコンピュータ・プログラム製品。
（５６）サービス・プロバイダのために、最適な資源計画及び割当ての提案のセットを生成するコンピュータ・プログラム・コード手段を含む、前記（５２）記載のコンピュータ・プログラム製品。
（５７）ビジネス・モデル・ホスティング最適化アプリケーションにおいて有用な最適化サービスを提供する、前記（５２）記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【図１】本発明の好適な実施例に従い、ホスティング・コンピュータ・サービスのために、資源を最適に割当て、計画するシステムのブロック図である。
【図２】図１のシステムに含まれる意志決定支援システムの詳細ブロック図である。
【図３】本発明の好適な実施例に従い、ホスティング・コンピュータ・サービスのために資源を最適に割当て、計画する方法のフローチャートである。
【図４】本発明の実施例が実現される汎用コンピュータのブロック図である。
【符号の説明】
１００、２００  システム
１１０  Ｗｅｂ
１１２  モニタ・システム
１１４  利用パターン・データベース
１１６、２３０  意志決定支援システム（ＤＳＳ）
１１８、２２０  ルール（ＳＬＡ）
１２０、２４０  人間
２３２  モデリング・モジュール
３００  方法
４００  コンピュータ・システム
４１０  ビデオ・ディスプレイ
４２０  インターネット
４３０  キーボード
４３２  マウス
４６０  ビデオ・インタフェース
４６２  記憶装置
４６４、４７２  入出力（Ｉ／Ｏ）インタフェース
４６６  中央処理ユニット（ＣＰＵ）
４７０  メモリ
４８０  バス
【図１】
0003903419.tif 000004
【図２】
0003903419.tif 000005
【図３】
0003903419.tif 000006
【図４】
0003903419.tif 000007