(57)【要約】クラウド・コンピューティングにおいて要求されるサービス量に変動が生じうる場合に、リソースの不足によるサービス品質の低下および／またはリソースの余剰による管理コストの無駄を抑制する。ユーザにより指定された指定処理を実行してユーザに課金する計算機システムであって、指定処理の実行指示を受け付ける受付部と、第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する決定部と、外部リソースを、第１の他の計算機システム上で確保する外部リソース確保部と、指定処理の少なくとも一部を外部リソースで実行させる実行部と、を備える計算機システムを提供する。
2010137455.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより指定された指定処理を実行してユーザに課金する計算機システムであって、
前記指定処理の実行指示を受け付ける受付部と、
第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する決定部と、
前記外部リソースを、前記第１の他の計算機システム上で確保する外部リソース確保部と、
前記指定処理の少なくとも一部を前記外部リソースで実行させる実行部と、
を備える計算機システム。
【請求項２】
当該計算機システムの内部リソースを確保する内部リソース確保部を更に備え、
前記実行部は、前記指定処理の一部を前記外部リソースで実行させ、前記指定処理の他の一部を前記内部リソースで実行する
請求項１に記載の計算機システム。
【請求項３】
前記受付部は、前記指定処理の実行指示および前記指定処理を実行するリソースが満たすべきサービスレベル要求を受け付け、
前記実行部は、前記指定処理を、前記サービスレベル要求を満たす前記内部リソースおよび前記外部リソースで実行させる請求項２に記載の計算機システム。
【請求項４】
前記決定部は、当該計算機システムで確保する前記内部リソースおよび前記第１の他の計算機システムで確保する前記外部リソースの配分を変更して、当該計算機システムの課金額から、前記第１の他の計算機システムから課金される被課金額を含む当該計算機システムの管理コストを減じた利益をより高める請求項３に記載の計算機システム。
【請求項５】
前記決定部は、利用可能な当該計算機システム上のリソースのうち、前記サービスレベル要求を満たし、かつ、前記管理コストが最小となるリソースを前記内部リソースとして確保する請求項４に記載の計算機システム。
【請求項６】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求を満たし、かつ、前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する請求項４または５に記載の計算機システム。
【請求項７】
前記受付部は、複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定を含む前記サービスレベル要求を受け付け、
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる前記複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定を満たし、かつ、前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する請求項６に記載の計算機システム。
【請求項８】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる前記複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定と同レベルのサービスレベルを有するリソースが不足している場合に、当該サービスレベルの指定より高いサービスレベルを有するリソースを前記内部リソースまたは前記外部リソースとして確保する
請求項７に記載の計算機システム。
【請求項９】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる可用性を満たさない２以上のリソースの冗長構成により当該可用性を満たすリソースとして機能させることを更に決定する請求項４から８のいずれかに記載の計算機システム。
【請求項１０】
前記決定部は、
当該計算機システムのリソースの少なくとも１つの上で動作しているオペレーティングシステムまたはアプリケーションプログラムを、他のオペレーティングシステムまたはアプリケーションプログラムに入れ替える再配置処理をするか否かを更に決定し、
利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求を満たし、かつ、前記再配置処理に要するコストを含む前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する
請求項４から９のいずれかに記載の計算機システム。
【請求項１１】
当該計算機システムが受け取った指定処理の実行指示の履歴を記録する履歴記録部を更に備え、
前記決定部は、前記履歴記録部に記録された履歴に基づいて、前記第１の他の計算機システムから調達するべき外部リソースの量を決定する
請求項４から１０のいずれかに記載の計算機システム。
【請求項１２】
前記第１の他の計算機システムおよび第２の他の計算機システムの少なくとも一方からの要求に応じて当該計算機システムのリソースを確保して、提供リソースとして使用させると共に課金するリソース提供部を更に備える
請求項４または１１に記載の計算機システム。
【請求項１３】
前記決定部は、当該計算機システムのリソースの空き状態および空き期間の少なくとも一方に基づいて、前記提供リソースに対して課金する課金額を変更する請求項１２に記載の計算機システム。
【請求項１４】
前記決定部は、当該計算機システムの前記課金額から前記第１の他の計算機システムからの前記被課金額を減じた前記利益が、前記管理コストに対して基準割合以下となったことに応じて、前記課金額を引き上げる請求項４から１３のいずれかに記載の計算機システム。
【請求項１５】
計算機システムによって、ユーザにより指定された指定処理を実行してユーザに課金する方法であって、
受付部によって前記指定処理の実行指示を受け付ける段階と、
決定部によって第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する段階と、
外部リソース確保部によって、前記外部リソースを前記第１の他の計算機システム上で確保する段階と、
実行部によって前記指定処理の少なくとも一部を前記外部リソースで実行させる段階と、
を備える方法。
【請求項１６】
ユーザにより指定された指定処理を実行してユーザに課金する計算機システムとしてコンピュータを機能させるプログラムであって、
前記コンピュータを請求項１から１４のいずれかに記載の計算機システムとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介したユーザからの要求に応じて、ＣＰＵ、メモリ、およびストレージ等のハードウエアリソース、並びに、アプリケーション等のソフトウエアリソースを組み合わせて各種のサービス及び／又は計算機環境を提供するクラウド・コンピューティングが注目されている。クラウド・コンピューティングにおいては、リソースの使用量に応じて、ユーザに対して従量制で課金するモデルが一般的である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００８−５４２８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウド・コンピューティングにおいては、既存のサーバ・クライアント型コンピュータシステム同様、時間および季節によって、要求されるサービス量に変動が生じうる。この場合、１つの計算機システムが提供するクラウド内で全てを処理しようとすると、サービス要求量の多い繁忙期には、リソースが不足しがちであり、サービス要求量の少ない閑散期には、リソースが余剰になりがちである。リソースの不足はサービス品質の低下につながり、リソースの余剰は管理コストの無駄につながる。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の第１の態様においては、ユーザにより指定された指定処理を実行してユーザに課金する計算機システムであって、指定処理の実行指示を受け付ける受付部と、第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する決定部と、外部リソースを、第１の他の計算機システム上で確保する外部リソース確保部と、指定処理の少なくとも一部を外部リソースで実行させる実行部と、を備える計算機システムを構成する。【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態に係る分散システム１００の構成を示す。
【図２】図２は、本実施形態に係る計算機システム１１０の構成の一例を示す。
【図３】図３は、本実施形態に係る内部リソース２５０の論理的な構成の一例を示す。
【図４】図４は、本実施形態に係る下請けＤＢ２８５に格納される下請けテーブル４００の一例を示す。
【図５】図５は、本実施形態に係るクラウドＤＢ２３５に格納されるクラウド・テーブル５００の一例を示す。
【図６】図６は、本実施形態に係る元請けＤＢ２１５に格納される元請けテーブル６００の一例を示す。
【図７】図７は、本実施形態に係る下請けＤＢ２８５に格納されるサービス要求テーブル７００の一例を示す。
【図８】図８は、本実施形態に係る下請けＤＢ２８５に格納される下請けクラウド検索要求テーブル８００の一例を示す。
【図９】図９は、本実施形態に係る計算機システム１１０の処理フローの一例を示す。
【図１０】図１０は、本実施形態に係る図９のステップＳ９３０の処理フローの一例を示す。
【図１１】図１１は、本実施形態に係る図９のステップＳ９６０の処理フローの一例を示す。
【図１２】図１２は、本実施形態に係る図９のステップＳ９８０の処理フローの一例を示す。
【図１３】図１３は、本実施形態に係る、リソースの管理コストおよびリソースの利用課金額の関係を表すグラフの一例を示している。
【図１４Ａ】図１４Ａは、本実施形態に係る自クラウド内のリソース穴埋めの一例を示す。
【図１４Ｂ】図１４Ｂは、本実施形態に係る自クラウド内のリソース穴埋めおよび他クラウドからのリソース確保の一例を示す。
【図１４Ｃ】図１４Ｃは、本実施形態に係る他クラウドへのリソース提供の一例を示す。
【図１５】図１５は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る分散システム１００の構成を示す。分散システム１００は、計算機システム１１０と、１または複数のユーザ端末１２０ａ〜ｂと、ネットワーク１３０ａ〜ｂと、１または複数の他の計算機システム１４０ａ〜ｂとを備える。計算機システム１１０は、例えばユーザ端末１２０ａからのユーザの処理要求に応じて、計算機システム１１０内の少なくとも１つのハードウエアリソース及び／又はソフトウエアリソースを確保して、ユーザが指定した処理を元請けとして実行する。そして、当該処理のために確保されたリソースに不足が生じた場合、計算機システム１１０は、１つまたは複数の他の計算機システム１４０ａ〜ｂに、処理の一部または全部を下請けとして依頼する。また、当該リソースに余剰が生じた場合、計算機システム１１０は、１つまたは複数の他の計算機システム１４０ａ〜ｂから、それらが元請けとして実行する処理の一部または全部を、下請けとして引き受ける。
【００１０】
１または複数のユーザ端末１２０ａ〜ｂは、ユーザがサービスまたはプログラム等の実行を計算機システム１１０に指示し、サービスまたはプログラム等の実行結果を受け取るために用いられる。サービスとは、所定の情報処理に対するユーザ等からの要求に応じて、当該要求に対応する情報処理を実行することをいう。ネットワーク１３０は、インターネット、イントラネット、及び／又はローカルエリアネットワーク等であり、１または複数のユーザ端末１２０ａ〜ｂと、計算機システム１１０と、１または複数の他の計算機システム１４０ａ〜ｂとを接続する。
【００１１】
図２は、本実施形態に係る計算機システム１１０の構成の一例を示す。計算機システム１１０は、受付部２１０と、元請けＤＢ２１５と、決定部２２０と、外部リソース確保部２３０と、クラウドＤＢ２３５と、実行部２４０と、内部リソース２５０と、内部リソース確保部２６０と、履歴記録部２７０と、リソース提供部２８０と、下請けＤＢ２８５とを備える。計算機システム１１０は、ユーザにより指定された指定処理を実行してユーザに課金する。
【００１２】
受付部２１０は、指定処理の実行指示を受け付ける。受付部２１０は、ネットワーク１３０を介して、１または複数のユーザ端末１２０ａ〜ｂからユーザが送信する指定処理の実行指示を受け付けてもよい。受付部２１０は、指定処理としてサービスの実行指示を受け付けてもよい。
【００１３】
受付部２１０は、指定処理の実行指示および指定処理を実行するリソースが満たすべきサービスレベル要求を受け付けてもよい。サービスレベルは、一例として信頼性（ＭＴＢＦ）の保証値、稼働率の保証値、暗号化をするか否か、暗号化レベル、及び／又は、ハードウエアリソースを他の指定処理と共用するか否か等が挙げられる。受付部２１０は、１または複数のサービスレベル項目（ＳＬＯ、サービス・レベル・オファリング）のそれぞれに対応するサービスレベルの指定を含むサービスレベル要求を受け付けてもよい。
【００１４】
元請けＤＢ２１５は、ユーザに対して提供するサービスの一覧である元請け（サービス・オファリング）テーブルを格納する。受付部２１０は、元請けＤＢ２１５を参照して、ユーザに対して提供するサービスの一覧を提示してもよい。
【００１５】
決定部２２０は、１または複数の他の計算機システム１４０ａ〜ｂから課金を受けて調達するべき外部リソースを決定する。ここで、外部リソースは、１または複数の他の計算機システム１４０ａ〜ｂが有するリソースである。決定部２２０は、１または複数のＳＬＯに係る保証契約であるＳＬＡ（サービス・レベル・アグリーメント）に基づいて、調達するべき外部リソースを決定してもよい。
【００１６】
外部リソース確保部２３０は、外部リソースを、１または複数の他の計算機システム１４０ａ〜ｂ上で確保する。クラウドＤＢ２３５は、計算機システム１１０が提供するクラウド、および１または複数の他の計算機システム１４０ａ〜ｂが提供するクラウドについて、それぞれのクラウドＩＤ、それぞれのクラウドに接続するときに必要となるＩＰアドレスおよびアクセス情報等を格納するクラウド・テーブルを格納する。外部リソース確保部２３０は、決定部２２０が調達するべき外部リソースを決定するときに、クラウドＤＢ２３５を参照してもよい。これにより、外部リソース確保部２３０は、決定部２２０がクラウドＩＤを使用してクラウドを参照することを可能にする。外部リソース確保部２３０は、指定処理の実行指示に応じて、１または複数の他の計算機システム１４０ａ〜ｂに当該指定処理の少なくとも一部を実行させてもよい。
【００１７】
実行部２４０は、指定処理の少なくとも一部を外部リソースで実行させる。実行部２４０は、決定部２２０から実行指示を受け取った後、即座に制御を決定部２２０に戻してもよい。実行部２４０は、指定処理の少なくとも一部を外部リソースで実行させることを目的として、外部リソース確保部２３０に当該指定処理の少なくとも一部の実行指示をしてもよい。
【００１８】
ここで、決定部２２０または実行部２４０は、予め外部リソースを確保してもよく、または実行指示を受けてから外部リソースを確保してもよい。例えば、頻度の高いＳＬＡ要求に対しては、決定部２２０または実行部２４０は、予め外部リソースを確保してもよい。こうすると、計算機システム１１０は、外部リソースを使用して利用頻度の高いサービスを提供するときに、より安定したサービスをユーザ等に提供することができる。利用頻度の低いＳＬＡに対しては、実行部２４０は、実行指示を受けてから外部リソースを確保してもよい。
【００１９】
内部リソース２５０は、計算機システム１１０が有するリソースである。ここで、リソースは任意の規模を有する計算機資源をいう。リソースは、例えばクラウド・コンピューティング・システム、グリッド・コンピューティング・システム、並列計算機、スーパーコンピュータ、サーバ、パーソナルコンピュータ、およびこれらの任意の数同士の組み合わせ等によって実現される。内部リソース２５０は、ネットワーク１３０を介して、１または複数のユーザ端末１２０ａ〜ｂおよび／または１または複数の他の計算機システム１４０ａ〜ｂと、指定処理の入出力データを送受信してもよい。
【００２０】
内部リソース確保部２６０は、内部リソース２５０を確保する。例えば、内部リソース確保部２６０は、内部リソース２５０のリソース毎にその予定確保開始時刻および予定確保終了時刻を記憶して、決定部２２０からの内部リソース２５０の確保指示を受けて、当該予定確保開始時刻および予定確保終了時刻に基づいて内部リソース２５０の空きを検索し確保してもよい。内部リソース確保部２６０は、内部リソース２５０内の実際のリソース量・配置および使用中のリソース量・配置の情報を提供してもよい。内部リソース確保部２６０は、当該確保指示に応じて、内部リソース２５０に空きがある場合は、内部リソース２５０を確保してもよい。内部リソース確保部２６０は、指定処理の実行指示に応じて、内部リソース２５０に当該指定処理の少なくとも一部を実行させてもよい。
【００２１】
実行部２４０は、指定処理の一部を外部リソースで実行させ、指定処理の他の一部を内部リソースで実行してもよい。例えば、内部リソース２５０に余裕がある場合、内部リソース確保部２６０に指定処理の実行指示をすることによって、実行部２４０は内部リソース２５０に指定処理をさせることができる。また、例えば内部リソース２５０に空きがなくなった場合、実行部２４０は、外部リソース確保部２３０に指定処理の一部の実行指示をすることによって、外部リソースに指定処理の一部を実行させてもよい。これにより、計算機システム１１０は、より廉価かつ継続性のあるサービスをユーザに提供することができる。
【００２２】
受付部２１０がサービスレベル要求を受け付けた場合、実行部２４０は、指定処理を、当該サービスレベル要求を満たす内部リソース２５０および外部リソースで実行させてもよい。実行部２４０は、外部リソース確保部２３０および内部リソース確保部２６０に指定処理の実行指示をすることによって、内部リソース２５０および外部リソースに指定処理の実行をさせてもよい。
【００２３】
履歴記録部２７０は、計算機システム１１０が受け取った指定処理の実行指示の履歴および／または当該指定処理の実行履歴等を記録する。こうすると、決定部２２０は、当該指定処理が使用するリソース量を、当該履歴に基づいて定量的に判断することができるので、より正確なリソースの調達量を見積もることができる。
【００２４】
リソース提供部２８０は、１または複数の他の計算機システム１４０ａ〜ｂの少なくとも一方からの要求に応じて、内部リソース２５０を確保して、提供リソースとして使用させると共に課金する。下請けＤＢ２８５は、他の計算機システム１４０ａ〜１４０ｂに対して提供するサービスの一覧である下請け（サービス・オファリング）テーブルを格納する。リソース提供部２８０は、下請けＤＢ２８５を参照して、１または複数の他の計算機システム１４０ａ〜ｂに対して提供するサービスの一覧を提示してもよい。リソース提供部２８０は、内部リソース確保部２６０に内部リソース２５０の確保指示をして内部リソース２５０を確保させて、１または複数の他の計算機システム１４０ａ〜ｂの少なくとも一方に使用させてもよい。
【００２５】
図３は、本実施形態に係る内部リソース２５０の論理的な構成の一例を示す。内部リソース２５０は、情報処理を実行するために用いられる１または複数のリソースを有する。内部リソース２５０が有するリソースは、物理または論理プロセッサ、メモリ、ストレージ、通信インターフェイス、情報処理装置、および計算機クラスタその他の、情報処理を実行するために使用されるハードウエアリソースであってよい。また、内部リソース２５０が有するリソースは、一例として同時に使用可能なユーザ数が制限されたアプリケーションプログラムおよびオペレーティングシステムその他のソフトウエアリソースであってもよい。
【００２６】
１または複数の処理ノード３００のそれぞれは、１または複数のリソース（群）３１０を組み合わせて構成された、指定処理を実行するために協働する仮想的な計算機システムであってもよい。各処理ノード３００が有する１または複数のリソース（群）３１０は、ユーザの承認を受けて、対応する指定処理を実行することを目的として、内部リソース確保部２６０により確保される。それぞれのリソース（群）３１０は、１つのリソースまたは２以上のリソース群（例えばＣＰＵ＋メモリ＋ハードディスク）またはこれらのリソース等の一部のみを占有することによって構成される。それぞれのリソース（群）３１０は、指定処理の一部または全部を実行する実行部３２０と、実行部３２０の実行状態を監視して監視結果を計算機システム１１０内の履歴記録部２７０へと送信する監視部３３０とを含む。また、計算機システム１１０は、いずれの指定処理に対しても確保されておらず、アイドル状態の空リソース３４０を１または複数含んでもよい。
【００２７】
図４は、本実施形態に係る下請けＤＢ２８５に格納される下請けテーブル４００の一例を示す。下請けテーブル４００は、リソース提供部２８０が提供する各サービスに対応付けて、「クラウドＩＤ」、「サービスＩＤ」、「リソース名」、「リソース・タイプ」、および「コスト」等の当該サービスが使用するリソースの属性と、当該リソースが提供可能な「ＳＬＡ」等とを格納する。計算機システム１１０の管理者は、下請けテーブル４００を更新可能であってもよい。
【００２８】
「クラウドＩＤ」は、当該サービスを処理するクラウドに割り当てられたＩＤである。計算機システム１１０、１または複数のユーザ端末１２０ａ〜ｂ、および１または複数の他の計算機システム１４０ａ〜ｂは、クラウドＩＤによってクラウドを指定してもよい。例えば、下請けテーブル４００の第１エントリのサービスは、クラウドＩＤ「１０００」を有するクラウドで処理される。
【００２９】
「サービスＩＤ」は、各サービスに割り当てられたＩＤである。計算機システム１１０、１または複数のユーザ端末１２０ａ〜ｂ、および１または複数の他の計算機システム１４０ａ〜ｂは、サービスＩＤによってサービスを指定してもよい。例えば、下請けテーブル４００の第１エントリのサービスは、サービスＩＤとして"Ｐ０００１"を有する。リソース提供部２８０は、サービスＩＤを、下請けテーブル４００の主キーとして使用してもよい。
【００３０】
「リソース名」は、各サービスが利用するリソースの名前である。「リソース・タイプ」は、当該リソースのタイプを示す。例えば、下請けテーブルの第１エントリのサービスは、計算処理を得意とするリソース・タイプ"Ｐｒｏｃｅｓｓｏｒ"のリソースで処理される。
【００３１】
「コスト」は、各サービスを処理するリソースのコストである。例えば、計算機システム１１０の管理者は、当該リソースの購入費、電気代・人件費等の維持管理費、および当該リソースの廃棄等にかかる費用の総額であるＴＣＯ（トータル・コスト・オブ・オーナーシップ）の単位時間当たりの償却費用と当該リソースの平均利用率とに基づいて当該リソースのコストを算定し、下請けテーブル４００に登録してもよい。下請けテーブル４００は、「コスト」の代わりに、または「コスト」とともに、リソースの利用状況によって更新される「課金情報」を含んでもよい。
【００３２】
図５は、本実施形態に係るクラウドＤＢ２３５に格納されるクラウド・テーブル５００の一例を示す。クラウド・テーブル５００は、計算機システム１１０および１または複数の他の計算機システム１４０ａ〜ｂが提供する各クラウドに対応付けて、「クラウドＩＤ」、「ホスト名」、「ＩＰアドレス」、および「アクセス情報」等を格納する。「クラウドＩＤ」は、各クラウドに割り当てられたＩＤである。計算機システム１１０の管理者は、クラウド・テーブル５００を更新可能であってもよい。
【００３３】
「ホスト名」、「ＩＰアドレス」、および「アクセス情報」は、計算機システム１１０および１または複数の他の計算機システム１４０ａ〜ｂがネットワーク１３０を介して各クラウドにアクセスするときに使用するホスト名、ＩＰアドレス、およびアクセス情報である。外部リソース確保部２３０およびリソース提供部２８０は、クラウド・テーブル５００を参照して各クラウドのＩＰアドレス等を解決するので、受付部２１０、決定部２２０、および実行部２４０は、外部リソース確保部２３０およびリソース提供部２８０を介して、ＩＰアドレス等を使用せずに各クラウドを参照できる。
【００３４】
図６は、本実施形態に係る元請けＤＢ２１５に格納される元請けテーブル６００の一例を示す。元請けテーブル６００は、計算機システム１１０によって提供される各サービスに対応付けて、「クラウドＩＤ」、「クラウド名」、「サービスＩＤ」、「サービス名」、および「コスト」等の当該サービスの属性と、当該リソースが提供可能な「ＳＬＡ」と、当該サービスの「課金情報」等とを格納する。「サービスＩＤ」、「クラウドＩＤ」、および「ＳＬＡ」等は、下請けテーブル４００のそれと同様である。一方、元請けサービスを利用するユーザは、ＳＬＡが満足される限り、サービスの処理において実際に利用されるリソースの種類を問う必要はないので、元請けテーブル６００は、「リソース・タイプ」等の項目を含まなくてもよい。計算機システム１１０の管理者は、元請けテーブル６００を更新可能であってもよい。
【００３５】
「コスト」は、各サービスを処理するのにかかるコストである。決定部２２０は、各サービスを処理するのに必要なコストである管理コストを算出し、当該管理コストを「コスト」として元請けＤＢ２１５内の元請けテーブル６００を更新してもよい。
【００３６】
「サービス名」は、当該サービスの名前である。「クラウド名」は、当該サービスが使用するリソースが属するクラウドの名前である。例えば、元請けテーブル６００の第１エントリのサービスは、サービス名「科学計算」であり、クラウド名「ＩＢＭ−Ｃ」のクラウドで実行される。
【００３７】
「課金情報」は、当該サービスを利用したユーザに課金するときに計算機システム１１０が参照する情報である。例えば、元請けテーブル６００の第１エントリのサービスを利用したユーザに対して、１時間当たり０．３＄が課金される。課金額は、当該サービスによってもたらされるサービス提供者の引受け収入となる。課金額とコストとの差額は、当該サービスによってもたらされるサービス提供者の引受け利益となる。
【００３８】
図７は、本実施形態に係る下請けＤＢ２８５に格納されるサービス要求テーブル７００の一例を示す。サービス要求テーブル７００は、計算機システム１１０および１または複数の他の計算機システム１４０ａ〜ｂによって提供される各下請けサービスに対応付けて、「クラウドＩＤ」、「サービスＩＤ」、および「リソース名」等の当該サービスの属性と、当該サービスにおいて要求されたリソース量である「要求数」、および当該要求に対して実際に提供されたリソース量である「受け入れ数」等とを格納する。「クラウドＩＤ」、「サービスＩＤ」、および「サービス名」は、元請けテーブル６００のそれと同様である。外部リソース確保部２３０は、サービス要求テーブル７００に基づいて、調達すべき外部リソースを選択してもよい。
【００３９】
図８は、本実施形態に係る下請けＤＢ２８５に格納される下請けクラウド検索要求テーブル８００の一例を示す。下請けクラウド検索要求テーブル８００は、１または複数の他の計算機システム１４０ａ〜ｂによって提供される各外部リソースに対応付けて、「リソース・タイプ」および「リソース名」等の当該サービスの属性と、当該サービスにおいて要求する「ＳＬＡ」および「コスト条件」と、要求するリソース量である「要求数」、および実際に提供されたリソース量である「受け入れ数」等とを格納する。「クラウドＩＤ」、「サービスＩＤ」、および「サービス名」は、元請けテーブル６００のそれと同様である。
【００４０】
図９は、本実施形態に係る計算機システム１１０の処理フローの一例を示す。まず、決定部２２０は、元請け・下請けサービスおよび実際のリソース量・配置を決定する（Ｓ９１０）。決定部２２０は、元請けテーブル６００および下請けテーブル４００を参照して、当該元請け・下請けサービスを決定してもよい。また、決定部２２０は、内部リソース確保部２６０に問い合わせて、当該リソース量・配置を決定してもよい。
【００４１】
次に、決定部２２０は、受付部２１０が受け付けた指定処理の実行指示およびサービスレベル要求を受信する（Ｓ９２０）。ここで、決定部２２０は、複数の当該要求を同時に受信してもよい。次に、決定部２２０は、当該サービスレベル要求を満たすのに必要な、要求リソース量・配置を算出する（Ｓ９３０）。
【００４２】
次に、決定部２２０は、実際のリソース量・配置と必要なリソース量・配置とのギャップを算出する（Ｓ９４０）。決定部２２０は、内部リソース確保部２６０に問い合わせて取得した実際のリソース量・配置および使用中のリソース量・配置と、ステップＳ９３０で算出した要求リソース量・配置に基づいて、ＳＬＡ毎にギャップを算出してもよい。次に、決定部２２０は、ステップＳ９４０で算出したギャップに基づいて、不足リソースがあるか否かを判定する（Ｓ９５０）。
【００４３】
不足リソースがあると判定された場合（Ｓ９５０：Ｙ）、決定部２２０は、不足リソースの解消処理をする（Ｓ９６０）。決定部２２０は、計算機システム１１０で確保する内部リソースおよび第１の他の計算機システム１４０ａで確保する外部リソースの配分を変更して、計算機システム１１０の課金額から、第１の他の計算機システムから課金される被課金額を含む計算機システム１１０の管理コストを減じた利益をより高めてもよい。
【００４４】
ここで、計算機システム１１０の管理コストは、リソース再配置（リソース・プロビジョニング）処理に要するコストと、リソース再配置後に指定処理を実行するのに要するコストと、１または複数の他の計算機システム１４０ａ〜ｂの外部リソースを利用するのに要するコストとを含む。計算機システム１１０の課金額は、１または複数の他の計算機システム１４０ａ〜ｂへの課金額およびユーザへの課金額の合計である。
【００４５】
決定部２２０は、利用可能な計算機システム１１０および／または第１の他の計算機システム１４０ａのリソースのうち、サービスレベル要求を満たし、かつ、管理コストが最小となるリソースを内部リソース２５０で、および／または外部リソースから確保してもよい。
【００４６】
ここで、決定部２２０は、サービスレベル要求に含まれる１または複数のＳＬＯのそれぞれに対応するサービスレベルの指定を満たす場合に、リソースが当該サービスレベル要求を満たすと判定してもよい。また、当該管理コストは再配置処理に要するコストを含んでもよい。
【００４７】
計算機システム１１０において、内部リソース２５０の占める規模が十分大きい場合、計算機システム１１０の管理コストは、実質的には、内部リソース２５０の各リソースの管理コストの総和である。リソースの管理コストとは、リソース再配置（リソース・プロビジョニング）処理に当該リソースが要するコストと、リソース再配置後に指定処理を実行するのに当該リソースが要するコストとを含む。
【００４８】
次に、決定部２２０は、ステップＳ９４０で算出したギャップに基づいて、余剰リソースがあるか否かを判定する（Ｓ９７０）。決定部２２０は、当該ギャップに加え、ステップＳ９６０で確保したリソース量・配置に基づいて、余剰リソースがあるか否かを判定してもよい。余剰リソースがあると判定された場合（Ｓ９７０：Ｙ）、決定部２２０は、余剰リソースの提供処理をする（Ｓ９８０）。
【００４９】
次に、決定部２２０は、指定処理および要求サービスレベルに対応するＳＬＡの承諾を受付部２１０に通知して、実行部２４０に実行指示の実行開始を指示する（Ｓ９９０）。ここで、決定部２２０は、ＳＬＡの承諾が十分な利益をもたらさないと判定した場合には、ＳＬＡの承諾に代えて、ＳＬＡの拒否を受付部２１０に通知してもよい。続いて、決定部２２０は、ステップＳ９２０〜Ｓ９９０を繰り返す。
【００５０】
図１０は、本実施形態に係る図９のステップＳ９３０の処理フローの一例を示す。決定部２２０は、履歴記録部２７０に記録された履歴に基づいて、計算機システム１１０で使用するべき内部リソースの量および／または１または複数の他の計算機システム１４０ａ〜ｂから調達するべき外部リソースの量を決定してもよい。まず、決定部２２０は、当該履歴からリソース量・配置を予測するか否かを決定する（Ｓ１０１０）。決定部２２０は、計算機システム１１０の管理者によって予め登録されたポリシーに基づいて、当該決定をしてもよい。
【００５１】
履歴からリソース量・配置を予測しない場合（Ｓ１０１０：Ｎｏ）、決定部２２０は、受信した全ての実行要求について、各実行要求とともに受信した要求サービスレベルが属するＳＬＡ毎に必要なリソース量をカウントして、必要なリソース量・配置を算出する（Ｓ１０２０）。実行要求とともに要求サービスレベルを受信していない場合、決定部２２０は、元請けテーブル６００または下請けテーブル４００を参照して、要求サービスレベルが属するＳＬＡの代わりに当該実行要求に予め関連付けられたＳＬＡを用いて、必要なリソース量をカウントしてもよい。
【００５２】
履歴からリソース量・配置を予測する場合（Ｓ１０１０：Ｙｅｓ）、ステップＳ１０３０で、決定部２２０は、履歴記録部２７０に問い合わせて履歴情報を取得し、当該履歴情報から最適なリソース量・配置を予測する。例えば、要求サービスレベルが属するＳＬＡまたは実行要求に予め関連付けられたＳＬＡに対応するリソースのコストと比較して、当該サービスの実行履歴から算出される最適なＳＬＡに対応するリソースのコストがより低廉である場合、決定部２２０は、後に当該最適なＳＬＡに対応するリソースを使用することを目的として、当該最適なＳＬＡを用いて必要なリソース量をカウントしてもよい。こうすると、計算機システム１１０は、リソースのコストをより節約できる。
【００５３】
図１１は、本実施形態に係る図９のステップＳ９６０の処理フローの一例を示す。まず、決定部２２０は、リソースの再配置ができるか否かを判定する（Ｓ１１１０）。決定部２２０は、内部リソース確保部２６０に内部リソース２５０の空き状態を問い合わせることによって、リソースの再配置ができるか否かを判定してもよい。
【００５４】
決定部２２０がリソースの再配置ができると判定した場合（Ｓ１１１０：Ｙｅｓ）、次に、決定部２２０は、リソースの再配置にかかる再配置コストを算出する（Ｓ１１２０）。決定部２２０は、当該計算機システム１１０のリソースの少なくとも１つの上で動作しているオペレーティングシステムまたはアプリケーションプログラムを、他のオペレーティングシステムまたはアプリケーションプログラムに入れ替える再配置処理をするか否かを決定してもよい。その場合、決定部２２０は、当該再配置処理にかかる当該リソースのコストを、再配置コストに追加してもよい。また、決定部２２０は、リソースの再配置を行った場合にリソース間で必要となるデータの移動にかかるコストを、再配置コストに追加してもよい。
【００５５】
次に、決定部２２０は、下請けリソースが使用できるかどうかを判定する（Ｓ１１３０）。決定部２２０は、下請けリソースが利用できるかどうかを判定するために、サービス要求テーブル７００および下請けクラウド検索要求テーブル８００を利用してもよい。
【００５６】
決定部２２０が、下請けリソースを使用できると判断した場合（Ｓ１１３０：Ｙｅｓ）。決定部２２０は、下請けリソースの使用コストを算出する（Ｓ１１４０）。決定部２２０は、利用可能な計算機システム１１０および１または複数の他の計算機システム１４０ａ〜ｂのリソースのうち、サービスレベル要求に含まれる１または複数のＳＬＯのそれぞれに対応するサービスレベルの指定と同レベルのサービスレベルを有するリソースが不足している場合に、当該サービスレベルの指定より高いサービスレベルを有するリソースを内部リソースまたは外部リソースとして確保してもよい。こうすると、要求サービスレベルに対応するリソースが存在しない場合でも、要求サービスレベルを受け入れることができるので、計算機システム１１０はリソースの不足によるサービス品質の低下を抑制することができる。
【００５７】
決定部２２０は、利用可能な計算機システム１１０および１または複数の他の計算機システム１４０ａ〜ｂのリソースのうち、サービスレベル要求に含まれる可用性を満たさない２以上のリソースの冗長構成により当該可用性を満たすリソースとして機能させることを決定してもよい。例えば、内部リソース２５０内に、可用性８０％の２００個のリソースがある場合に、決定部２２０は、当該２００個のリソースを冗長構成することにより、可用性９６％（＝（１−０．２×０．２）×１００％）の１００個のリソースとして機能させることを決定できる。
【００５８】
次に、決定部２２０は、外部リソース確保部２３０および／または内部リソース確保部２６０に、低コストのリソースを確保させる（Ｓ１１５０）。ここでいう低コストのリソースとは、確保しうるリソースの組み合わせの中で、リソースの管理コストが最も低いリソースであるのが好ましい。決定部２２０は、１または複数のＳＬＯの値にリソースの管理コストを対応付けたコスト管理曲線を使用して、各リソースの管理コストを算出してもよい。
【００５９】
次に、決定部２２０は、管理コストを再計算して、元請け・下請けサービスおよび／または課金額を決定する（Ｓ１１６０）。決定部２２０は、当該計算機システム１１０の課金額から第１の他の計算機システム１４０ａからの被課金額を減じた利益が、管理コストに対して基準割合以下となったことに応じて、課金額を引き上げてもよい。こうすると、リソース再配置に伴って管理コストが上昇した場合でも、計算機システム１１０は、一定の利益を確保することが可能になる。次に、決定部２２０は、下請けテーブル４００および元請けテーブル６００内の課金情報を更新する（Ｓ１１７０）。
【００６０】
なお、決定部２２０は、各ユーザからの要求および他のシステムからの要求全体を考慮して内部リソース２５０および外部リソースを再割り当てして、全体の管理コストを最小化してもよい。一例として、決定部２２０は、総当り、遺伝的アルゴリズム、またはナップザック問題の解法を適用してリソースの最適割り当てを求めてもよく、リソースを順次入れ替えていくことにより管理コストを順次下げていってもよい。
【００６１】
図１２は、本実施形態に係る図９のステップＳ９８０の処理フローの一例を示す。決定部２２０は、内部リソース２５０の空き状態および空き期間の少なくとも一方に基づいて、当該提供リソースに対して課金する課金額を変更してもよい。決定部２２０は、例えば、内部リソース確保部２６０に問い合わせて、内部リソース２５０の利用スケジュールを取得することにより、内部リソース２５０の空き状態および／または空き期間を判定してもよい。また、決定部２２０は、履歴記録部２７０に問い合わせて内部リソース２５０の利用履歴を取得することにより、内部リソースの空き状態および／または空き期間を判定してもよい。
【００６２】
まず、決定部２２０は、過去に下請けサービスを提供したかどうかを判定する（Ｓ１２１０）。決定部２２０は、過去に内部リソース２５０が実行した下請けサービスの履歴を、履歴記録部２７０に問い合わせることによって判定してもよい。
【００６３】
過去に下請けサービスを提供していないと判定した場合（Ｓ１２１０：Ｎｏ）、決定部２２０は、余剰リソースに関連付けて下請けサービスを提供する。決定部２２０は、下請けサービス毎に、計算機システム１１０の管理者によって予め入力された、利用されるリソースの単位時間当たりのＴＣＯ償却費用および平均利用率と、期待収益率とに基づいて、課金額を変更して、下請けテーブル４００を更新してもよい。
【００６４】
過去に下請けサービスを提供したと判定した場合（Ｓ１２１０：Ｙｅｓ）、決定部２２０は、課金額を割り引いて下請けサービスを提供（ディスカウント提供）する（Ｓ１２３０）。決定部２２０は、計算機システム１１０の管理者によって予め入力されたディスカウント率に基づいて課金額を変更し、下請けテーブル４００を更新してもよい。こうすると、計算機システム１１０は、内部リソース２５０の利用率をより高めることができる。  
【００６５】
図１３は、本実施形態に係る、リソースの管理コストおよびリソースの利用課金額の関係を表すグラフの一例を示している。サービスレベルの条件は、１または複数のＳＬＯによって定義され、当該１または複数のＳＬＯに係る保証契約であるＳＬＡは、当該ＳＬＯ毎に幅を有する。言い換えると、ＳＬＡは、当該１または複数のＳＬＯの各ＳＬＯ値を次元とする多次元の超直方体（Ｈｙｐｅｒｒｅｃｔａｎｇｌｅ）またはその組み合わせに係る保証契約とみなしてもよい。したがって、１つのＳＬＡは、基本的に当該超直方体またはその組み合わせに属する１または複数のリソースによって提供される。
【００６６】
図１３のグラフは、１つのＳＬＯのみが異なる５つのＳＬＡを、当該１つのＳＬＯのサービスレベル順にＳＬＡ−１、ＳＬＡ−２、ＳＬＡ−３、ＳＬＡ−４、およびＳＬＡ−５とし、各ＳＬＡに対応するリソースを横軸に並べ、当該リソースの管理コストおよび課金額を縦軸に表している。このグラフは、ＳＬＡ−１に対応するリソース６個と、ＳＬＡ−２、ＳＬＡ−３、ＳＬＡ−４、およびＳＬＡ−５に対応するそれぞれ５個のリソースとを表している。
【００６７】
各ＳＬＡ内において、リソースの管理コストには通常ばらつきがある。しかしながら、サービスレベルが上昇するにしたがって概ね管理コストも上昇する。一方、ＳＬＡが満たされる限り、ユーザは実際に使用されるリソースを問わないので、課金額は各ＳＬＡ内で共通である。課金額は、各ＳＬＡに対応するどのリソースの管理コストよりも実質的に高いのが好ましい。また、課金額はＳＬＡのサービスレベルの上昇にしたがって階段状に上昇するのが好ましい。
【００６８】
図１４Ａは、本実施形態に係る自クラウド内のリソース穴埋めの一例を示す。図１４Ａの左側のグラフは、計算機システム１１０が管理する３つのＳＬＡであるＳＬＡ−１〜ＳＬＡ−３に対応する確保済みのリソース量および必要リソース量を表している。この場合、ＳＬＡ−１に対応するリソース量が不足しているので、決定部２２０は、ＳＬＡ−３に対応する余剰リソースをＳＬＡ−１に再配置することを決定できる。これにより、ＳＬＡ−１〜ＳＬＡ−３の全てにおいて、確保済みのリソース量が必要リソース量を上回るようにできる。
【００６９】
図１４Ｂは、本実施形態に係る自クラウド内のリソース穴埋めおよび他クラウドからのリソース確保の一例を示す。この場合、ＳＬＡ−１およびＳＬＡ−３に対応するリソース量が不足しているので、決定部２２０は、ＳＬＡ−３に対応する余剰リソースをＳＬＡ−１に再配置することにより、ＳＬＡ−１において、確保済みのリソース量が必要リソース量を上回るようにできる。一方、ＳＬＡ−３に対応するリソース量が不足するので、決定部２２０は、他クラウドである１つの他の計算機システム１４０ａから、ＳＬＡ−３に対応する外部リソースを確保することを決定できる。これにより、ＳＬＡ−１〜３の全てにおいて、確保済みのリソース量が必要リソース量を上回るようにできる。
【００７０】
図１４Ｃは、本実施形態に係る他クラウドへのリソース提供の一例を示す。この場合、ＳＬＡ−１およびＳＬＡ−３に対応するリソースが不足するので、決定部２２０は、他クラウドである１または複数の他の計算機システム１４０ａ〜ｂから、ＳＬＡ−１およびＳＬＡ−３に対応する外部リソースを確保することを決定できる。これにより、ＳＬＡ−１〜３の全てにおいて、確保済みのリソース量が必要リソース量を上回るようにできる。
【００７１】
図１５は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００７２】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７３】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００７４】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００７５】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７６】
コンピュータ１９００にインストールされ、コンピュータ１９００を計算機システム１１０として機能させるプログラムは、受付モジュールと、元請けＤＢモジュールと、決定モジュールと、外部リソース確保モジュールと、クラウドＤＢモジュールと、実行モジュールと、内部リソースモジュールと、内部リソース確保モジュールと、履歴記録モジュールと、リソース提供モジュールと、下請けＤＢモジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、受付部２１０と、元請けＤＢ２１５と、決定部２２０と、外部リソース確保部２３０と、クラウドＤＢ２３５と、実行部２４０と、内部リソース２５０と、内部リソース確保部２６０と、履歴記録部２７０と、リソース提供部２８０と、下請けＤＢ２８５としてそれぞれ機能させる。
【００７７】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である受付部２１０と、元請けＤＢ２１５と、決定部２２０と、外部リソース確保部２３０と、クラウドＤＢ２３５と、実行部２４０と、内部リソース２５０と、内部リソース確保部２６０と、履歴記録部２７０と、リソース提供部２８０と、下請けＤＢ２８５として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の計算機システム１１０が構築される。
【００７８】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＤＶＤ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００７９】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００８０】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８１】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００８２】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８５】
１００  分散システム、１１０  計算機システム、１２０ａ〜ｂ  １または複数のユーザ端末、１３０  ネットワーク、１４０ａ〜ｂ  １または複数の他の計算機システム、２１０  受付部、２１５  元請けＤＢ、２２０  決定部、２３０  外部リソース確保部、２３５  クラウドＤＢ、２４０  実行部、２５０  内部リソース、２６０  内部リソース確保部、２７０  履歴記録部、２８０  リソース提供部、２８５  下請けＤＢ、３００  処理ノード、３２０  実行部、３３０  監視部、３４０  空リソース、４００  テーブル、５００  クラウド・テーブル、６００  テーブル、７００  サービス要求テーブル、８００  クラウド検索要求テーブル、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ
【図１】
2010137455.tif 000003
【図２】
2010137455.tif 000004
【図３】
2010137455.tif 000005
【図４】
2010137455.tif 000006
【図５】
2010137455.tif 000007
【図６】
2010137455.tif 000008
【図７】
2010137455.tif 000009
【図８】
2010137455.tif 000010
【図９】
2010137455.tif 000011
【図１０】
2010137455.tif 000012
【図１１】
2010137455.tif 000013
【図１２】
2010137455.tif 000014
【図１３】
2010137455.tif 000015
【図１４Ａ】
2010137455.tif 000016
【図１４Ｂ】
2010137455.tif 000017
【図１４Ｃ】
2010137455.tif 000018
【図１５】
2010137455.tif 000019
【手続補正書】
【提出日】平成22年10月26日(2010.10.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザにより指定された指定処理を実行してユーザに課金する計算機システムであって、
前記指定処理の実行指示および前記指定処理を実行するリソースが満たすべきサービスレベル要求を受け付ける受付部と、
第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する決定部と、
前記外部リソースを、前記第１の他の計算機システム上で確保する外部リソース確保部と、
当該計算機システムの内部リソースを確保する内部リソース確保部と、
前記指定処理の少なくとも一部を前記外部リソースで実行させ、前記指定処理の他の一部を前記内部リソースで実行させる実行部を備え、
前記決定部は、当該計算機システムのリソースの少なくとも１つの上で動作しているオペレーティングシステムまたはアプリケーションプログラムを、他のオペレーティングシステムまたはアプリケーションプログラムに入れ替える再配置処理をするか否かを更に決定し、
利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求を満たし、かつ、前記再配置処理に要するコストを含む前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する、計算機システム。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
前記決定部は、当該計算機システムで確保する前記内部リソースおよび前記第１の他の計算機システムで確保する前記外部リソースの配分を変更して、当該計算機システムの課金額から、前記第１の他の計算機システムから課金される被課金額を含む当該計算機システムの管理コストを減じた利益をより高める請求項１に記載の計算機システム。
【請求項５】
（削除）
【請求項６】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求を満たし、かつ、前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する請求項４に記載の計算機システム。
【請求項７】
前記受付部は、複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定を含む前記サービスレベル要求を受け付け、
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる前記複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定を満たし、かつ、前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する請求項６に記載の計算機システム。
【請求項８】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる前記複数のサービスレベル項目のそれぞれに対応するサービスレベルの指定と同レベルのサービスレベルを有するリソースが不足している場合に、当該サービスレベルの指定より高いサービスレベルを有するリソースを前記内部リソースまたは前記外部リソースとして確保する請求項７に記載の計算機システム。
【請求項９】
前記決定部は、利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求に含まれる可用性を満たさない２以上のリソースの冗長構成により当該可用性を満たすリソースとして機能させることを更に決定する請求項４、６〜８のいずれかに記載の計算機システム。
【請求項１０】
（削除）
【請求項１１】
当該計算機システムが受け取った指定処理の実行指示の履歴を記録する履歴記録部を更に備え、
前記決定部は、前記履歴記録部に記録された履歴に基づいて、前記第１の他の計算機システムから調達するべき外部リソースの量を決定する請求項４、６〜９のいずれかに記載の計算機システム。
【請求項１２】
前記第１の他の計算機システムおよび第２の他の計算機システムの少なくとも一方からの要求に応じて当該計算機システムのリソースを確保して、提供リソースとして使用させると共に課金するリソース提供部を更に備える請求項４、６〜９、１１のいずれかに記載の計算機システム。
【請求項１３】
前記決定部は、当該計算機システムのリソースの空き状態および空き期間の少なくとも一方に基づいて、前記提供リソースに対して課金する課金額を変更する請求項１２に記載の計算機システム。
【請求項１４】
前記決定部は、当該計算機システムの前記課金額から前記第１の他の計算機システムからの前記被課金額を減じた前記利益が、前記管理コストに対して基準割合以下となったことに応じて、前記課金額を引き上げる請求項４、６〜９、１１〜１３のいずれかに記載の計算機システム。
【請求項１５】
計算機システムによって、ユーザにより指定された指定処理を実行してユーザに課金する方法であって、
受付部によって前記指定処理の実行指示および前記指定処理を実行するリソースが満たすべきサービスレベル要求を受け付ける段階と、
決定部によって第１の他の計算機システムから課金を受けて調達するべき外部リソースを決定する段階と、
外部リソース確保部によって、前記外部リソースを前記第１の他の計算機システム上で確保する段階と、
内部リソース確保部によって、当該計算機システムの内部リソースを確保する段階と、
実行部によって前記指定処理の少なくとも一部を前記外部リソースで実行させ、前記指定処理の他の一部を前記内部リソースで実行させる段階を備え、
前記決定する段階は、当該計算機システムのリソースの少なくとも１つの上で動作しているオペレーティングシステムまたはアプリケーションプログラムを、他のオペレーティングシステムまたはアプリケーションプログラムに入れ替える再配置処理をするか否かを更に決定する段階を含み、
利用可能な当該計算機システムおよび前記第１の他の計算機システムのリソースのうち、前記サービスレベル要求を満たし、かつ、前記再配置処理に要するコストを含む前記管理コストが最小となるリソースを前記内部リソースおよび前記外部リソースとして確保する、方法。
【請求項１６】
ユーザにより指定された指定処理を実行してユーザに課金する計算機システムとしてコンピュータを機能させるプログラムであって、前記コンピュータを請求項１、４、６〜９、１１〜１４のいずれかに記載の計算機システムとして機能させるプログラム。
【国際調査報告】
2010137455.tif 000020
2010137455.tif 000021
2010137455.tif 000022
2010137455.tif 000023