(57)【要約】【課題】グリッドコンピューティングを利用してクラウドコンピューティングを構成しないコンピュータにサービスに関連する処理を実行させる。【解決手段】クラウドコンピューティングを構成するサービスサーバ４がクライアントからのサービス要求を受け付けると、環境設定部４２がコンピュータ３との間でグリッドコンピューティングの環境を設定する。コンピュータ決定部４８がコンピュータ３のリソース情報を参照してサービス処理を実行するコンピュータ３を決定すると、実行指示部４９は、サービスプログラムを分割し、実行先として決定された各コンピュータ３に各サービスプログラムを実行するよう指示する。実行結果送信部５１は、各コンピュータ３から収集された処理結果をまとめてクライアントへ返す。【選択図】図３
2011013711.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供するクラウドコンピューティングを実現するクラウドコンピューティングシステムは、
コンピュータとの間でグリッドコンピューティングの環境を設定する設定手段と、
クライアントからの処理要求を受け付ける受付手段と、
前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示する共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段と、
を有することを特徴とするサービスシステム。
【請求項２】
前記受付手段は、前記クラウドコンピューティングシステムが提供するサービスの要求を受け付け、
前記提供手段は、当該サービス処理を複数の前記コンピュータに分散して実行させるよう指示することを特徴とする請求項１記載のサービスシステム。
【請求項３】
前記受付手段は、前記クライアントがサービスの提供に関わるソフトウェアを前記クラウドコンピューティングに配置する場合、当該ソフトウェアを当該クラウドコンピューティングシステムのコンピュータ資源を用いて実行するときの性能に関する計測要求を当該クライアントから受け付け、
前記提供手段は、受け付けた計測要求に応じて前記コンピュータに前記クラウドコンピューティングシステムが実行するサービスを利用する計測用ソフトウェアの実行を指示することを特徴とする請求項１記載のサービスシステム。
【請求項４】
前記クラウドコンピューティングシステムは、
前記コンピュータの資源に関する情報を取得する取得手段と、
前記コンピュータの資源に関する情報に基づいて前記クライアントから要求されたサービス処理又はその一部を実行させる前記コンピュータを選択する選択手段と、
を有し、
前記提供手段は、サービス処理又はその一部の実行を、選択された前記コンピュータに実行させるよう指示することを特徴とする請求項２又は３記載のサービスシステム。
【請求項５】
前記クラウドコンピューティングシステムは、
サービス処理の実行実績に応じて当該コンピュータの報奨金額を計算する手段を有することを特徴とする請求項２記載のサービスシステム。
【請求項６】
前記クラウドコンピューティングシステムは、
前記受付手段は、計測要求と共に送られてくる性能に関連するパラメータを受け付け、
前記提供手段は、受け付けたパラメータに基づき計測用ソフトウェアを実行させる際の実行条件を設定し、その設定した実行条件に従い当該コンピュータに計測用ソフトウェアを実行させるよう指示することを特徴とする請求項３記載のサービスシステム。
【請求項７】
少なくとも１台のコンピュータとの間でグリッドコンピューティングの環境を設定する設定手段と、
クラウドコンピューティングがクライアントからの処理要求を受け付ける受付手段と、
前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示すると共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段と、
を有することを特徴とするクラウドコンピューティングシステム。
【請求項８】
サービスを提供するクラウドコンピューティングを実現するクラウドコンピューティングに含まれるコンピュータを、
少なくとも１台のコンピュータとの間でグリッドコンピューティングの環境を設定する設定手段、
前記クラウドコンピューティングがクライアントからの処理要求を受け付ける受付手段、
前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示する共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段、
として機能させるサービスプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスシステム、クラウドコンピューティングシステム及びサービスプログラムに関する。
【背景技術】
【０００２】
インターネットを利用したサービスを提供する新しいシステム形態として、近年ではクラウドコンピューティングが実用化されてきている。ユーザは、自ら提供したいサービスを実現する上で必要なコンピュータ資源を保有していなくても、クラウドコンピューティングのコンピュータ資源を利用することで、そのサービスの提供が可能になる。また、最低限の接続環境を用意すれば、クラウドコンピューティングが提供するサービスを受けることができる。
【０００３】
一方、クラウドコンピューティングとは別に、インターネットなどの広域のネットワーク上に散在するコンピュータ資源を結びつけ、１つの複合したコンピュータシステムとしてサービスを提供する仕組みとして、グリッドコンピューティングが存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−０７７８１５号公報
【特許文献２】特表２００３−５０８８４９号公報
【特許文献３】特開２００３−２９８６４７号公報
【特許文献４】特開２００４−５３７０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、グリッドコンピューティングを利用してクラウドコンピューティングを構成しないコンピュータにサービスに関連する処理を実行させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るサービスシステムは、サービスを提供するクラウドコンピューティングを実現するクラウドコンピューティングシステムは、コンピュータとの間でグリッドコンピューティングの環境を設定する設定手段と、クライアントからの処理要求を受け付ける受付手段と、前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示すると共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段と、を有することを特徴とする。
【０００７】
また、前記受付手段は、前記クラウドコンピューティングシステムが提供するサービスの実行要求を受け付け、前記提供手段は、当該サービス処理を複数の前記コンピュータに分散して実行させるよう指示することを特徴とする。
【０００８】
また、前記受付手段は、前記クライアントがサービスの提供に関わるソフトウェアを前記クラウドコンピューティングに配置する場合、当該ソフトウェアを当該クラウドコンピューティングシステムのコンピュータ資源を用いて実行するときの性能に関する計測要求を当該クライアントから受け付け、前記提供手段は、受け付けた計測要求に応じて前記コンピュータに前記クラウドコンピューティングシステムが実行するサービスを利用する計測用ソフトウェアの実行を指示することを特徴とする。
【０００９】
また、前記クラウドコンピューティングシステムは、前記コンピュータの資源に関する情報を取得する取得手段と、前記コンピュータの資源に関する情報に基づいて前記クライアントから要求されたサービス処理又はその一部を実行させる前記コンピュータを選択する選択手段と、を有し、前記提供手段は、サービス処理又はその一部の実行を、選択された前記コンピュータに実行させるよう指示することを特徴とする。
【００１０】
また、前記クラウドコンピューティングシステムは、サービス処理の実行実績に応じて当該コンピュータの報奨金額を計算する手段を有することを特徴とする。
【００１１】
また、前記クラウドコンピューティングシステムは、前記受付手段は、計測要求と共に送られてくる性能に関連するパラメータを受け付け、前記提供手段は、受け付けたパラメータに基づき計測用ソフトウェアを実行させる際の実行条件を設定し、その設定した実行条件に従い当該コンピュータに計測用ソフトウェアを実行させるよう指示することを特徴とする。
【００１２】
本発明に係るクラウドコンピューティングシステムは、少なくとも１台のコンピュータとの間でグリッドコンピューティングの環境を設定する設定手段と、クラウドコンピューティングがクライアントからの処理要求を受け付ける受付手段と、前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示する共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段と、を有することを特徴とする。
【００１３】
本発明に係るサービスプログラムは、サービスを提供するクラウドコンピューティングを実現するクラウドコンピューティングに含まれるコンピュータを、少なくとも１台のコンピュータとの間でグリッドコンピューティングの環境を設定する設定手段、前記クラウドコンピューティングがクライアントからの処理要求を受け付ける受付手段、前記クライアントから要求された処理又はその一部の実行を、前記コンピュータに指示すると共に、当該各コンピュータにおける処理の実行結果を取得して前記クライアントへ提供する提供手段、として機能させる。
【発明の効果】
【００１４】
請求項１，７，８記載の発明によれば、クラウドコンピューティングが提供するサービスに関連する処理を、クラウドコンピューティングを構成しないコンピュータに実行させることができる。
【００１５】
請求項２記載の発明によれば、クラウドコンピューティングが提供するサービスに関連する処理を、クラウドコンピューティングを構成しない複数のコンピュータに分散して実行させることができる。
【００１６】
請求項３記載の発明によれば、クラウドコンピューティングシステムのコンピュータ資源を用いてサービスの提供に関わるソフトウェアを実行するときの処理性能の計測に関する処理を、クラウドコンピューティングを構成しないコンピュータを利用して行うことができる。
【００１７】
請求項４記載の発明によれば、クラウドコンピューティングが提供するサービスに関連する処理を、無作為に選択する場合に比して性能的に適したコンピュータに分散して実行させることができる。
【００１８】
請求項５記載の発明によれば、処理を実行させたコンピュータに支払うべき報奨金額を計算することができる。
【００１９】
請求項６記載の発明によれば、クラウドコンピューティングシステムのコンピュータ資源を用いてクライアントが提供するサービスを実行するときの処理性能の計測に関する処理を、設定した実行条件に従いクラウドコンピューティングを構成しないコンピュータを利用して行うことができる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。
【図２】実施の形態１におけるサービスサーバのハードウェア構成図である
【図３】実施の形態１におけるサービスサーバとコンピュータのブロック構成図である。
【図４】実施の形態１においてコンピュータとの間でグリッドコンピューティングの環境を設定するまでの処理を示したフローチャートである。
【図５】実施の形態１におけるサービスの分散処理を示したフローチャートである。
【図６】実施の形態２におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。
【図７】実施の形態２におけるサービス配置クライアント、計測管理サーバ及びコンピュータのブロック構成図である。
【図８】実施の形態２におけるリソース情報記憶部に記憶されているリソーステーブルの設定例を示した図である。
【図９】実施の形態２における計測処理を示したフローチャートである。
【図１０】実施の形態３におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。
【発明を実施するための形態】
【００２１】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２２】
実施の形態１．
図１は、本実施の形態におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。図１には、ウェブサービスを提供するクラウドコンピューティング１と、クラウドコンピューティング１が提供するウェブサービスを利用するサービス利用クライアント２と、コンピュータ３と、クラウドコンピューティング１を構成するサービスサーバ４と、が示されている。なお、クラウドコンピューティング１には、複数のサーバが含まれるが、図１には便宜上、１台のみ図示した。ウェブサービスとは、ソフトウェアの機能をインターネットを通じて利用できるようにしたものであり、例えば、インターネットショッピングなどを実現するウェブサイトがある。ウェブサイトは、ソフトウェアが実行されることでインターネットの先の利用者に、インターネットショッピングなどのサービスを提供する。
【００２３】
クラウドコンピューティングとは、インターネットの先にあるサーバに処理をしてもらうシステム形態を指す用語である。本実施の形態のサービスサーバ４は、このサーバに相当する。なお、クラウドコンピューティングは、前述したようにシステム形態を指す用語なので、このシステム形態により実現されたコンピュータシステムをクラウドコンピューティングシステムとも称することにするが、以降の説明では、クラウドコンピューティングと、クラウドコンピューティングを実現するクラウドコンピューティングシステムとを同義に用いることにする。なお、サービスの提供としては、例えば、インターネットショッピングなどを実現するウェブサイトの提供などがある。このサービスは、ソフトウェアを実行することによって提供されるが、このソフトウェアは、クラウドコンピューティング１において実行されるサービスプログラムである。なお、ウェブサービス、例えばウェブサイトの提供によるサービスの場合は、サービスサーバ４が利用者に提供するサービスであってＴＣＰ／ＩＰのもとＨＴＴＰプロトコルを使ってＳＯＡＰというＸＭＬで記述されたコマンドを授受することによって提供するサービスのことをいう。クラウドコンピューティングシステムが単に仮想マシン環境を提供する場合、ウェブコンテナやデータベースなどフレームワークソフトウェアと、そのフレームワーク上で動作するアプリケーションソフトウェアやＨＴＭＬなど文書ファイル、画像ファイル等をアップロードすることによって配置する。クラウドコンピューティングシステムがウェブ用のフレームワークを提供している場合、そのフレームワークで定められた所定の方法、例えばディレクトリ構成等に従って、アプリケーションソフトウェアやＨＴＭＬなど文書ファイル、画像ファイル等をアップロードすることによって配置する。また、配置（deploy）は、サービスを提供するためのウェブアプリケーションなどのソフトウェアをサービスサーバ４が有するメモリに記憶させることを意味する。
【００２４】
サービス利用クライアント２は、クラウドコンピューティング１が提供するサービスをユーザが受ける際に利用するコンピュータである。コンピュータ３は、クラウドコンピューティング１を構成するコンピュータに含まれていないコンピュータであるが、クラウドコンピューティング１は、コンピュータ３に環境設定を行うことで、コンピュータ３との間でグリッドコンピューティングを実現する。なお、グリッドコンピューティングというのは、インターネットなどの広域のネットワーク上に散在するコンピュータ資源を結びつけ、１つの複合したコンピュータシステムとしてサービスを提供する仕組みのことをいう。以降の説明では、この仕組みにより実現されるコンピュータシステムをグリッドコンピューティングシステムとも称することにする。ただ、本実施の形態では、グリッドコンピューティングと、グリッドコンピューティングを実現するグリッドコンピューティングシステムとを同義に用いることにする。
【００２５】
図２は、本実施の形態におけるサービス利用クライアント２及びコンピュータ３のハードウェア構成図である。図２に示したようにＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４を接続したＨＤＤコントローラ１５、入力手段として設けられたマウス１６とキーボード１７、及び表示装置として設けられたディスプレイ１８をそれぞれ接続する入出力コントローラ１９、通信手段として設けられたネットワークコントローラ２０を内部バス２５に接続して構成される。本実施の形態におけるサービスサーバ４は、このようなハードウェアが複数台ネットワーク接続することによって構成され、ロードバランサーと呼ばれる役割のハードウェアによって、実際の処理を実行するハードウェアに要求を転送するように構成される。ここでの複数のハードウェアはブレードと呼ばれる薄型の形状でラックに複数のハードウェアを収納するようにしてもよい。このような構成では各コンピュータにマウス１６、キーボード１７、ディスプレイ１８は不要である。ハードディスクも、図２に示したようにハードウェアに直接接続する方法の他に、ネットワーク経由で接続する方法を採用してもよい。また、コンピュータ１台毎の処理能力が大きければ、仮想化により、１台のハードウェアに複数のオペレーティングシステムを稼動させることにより、仮想的に複数台のハードウェアをエミュレートするように稼動させてもよい。
【００２６】
図３は、本実施の形態におけるサービスサーバ４とコンピュータ３のブロック構成図である。本実施の形態におけるサービスサーバ４は、登録処理部４１、環境設定部４２、サービス提供部４３、インセンティブ計算処理部４４、利用者情報記憶部５２及びコンピュータ情報記憶部５３を有している。登録処理部４１は、後述するようにサービス処理を分散実行するコンピュータ３から送信されてくる利用者情報及びコンピュータ情報を受け付け、それぞれ利用者情報記憶部５２及びコンピュータ情報記憶部５３に登録する。利用者情報には、コンピュータのアドレス、インストールのための管理者ＩＤ及びパスワード等が含まれている。コンピュータ情報には、ＣＰＵの種類、ＨＤＤ容量、メモリ容量等コンピュータ３の資源に関する情報が含まれている。環境設定部４２は、コンピュータ３との間でグリッドコンピューティングの環境を設定する。サービス提供部４３は、サービス利用クライアント２のユーザにサービスを提供する。本実施の形態におけるサービス提供部４３は、サービス要求受付部４６、リソース取得部４７、コンピュータ決定部４８、実行指示部４９、実行結果収集部５０及び実行結果送信部５１を有し、サービス利用クライアント２から送られてくるサービス要求に応じてサービス処理を実行することによってサービスを提供する。この際、サービス提供部４３は、実行すべきサービス処理又はその一部の実行を、コンピュータ３に指示する。サービス要求とは、サービスの提供の要求のことであり、サービス処理とは、サービスの実現に関わるソフトウェアによる情報処理のことである。また、指示した先の各コンピュータ３における処理の実行結果を取得してサービス利用クライアント２へ提供する。インセンティブ計算処理部４４は、サービス処理を実行する際の処理の分散先として選択された各コンピュータ３に対して支払うべきインセンティブを計算する。
【００２７】
サービスサーバ４における各構成要素４１〜４４は、サービスサーバ４を形成するコンピュータと、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。また、各情報記憶部５２，５３は、サービスサーバ４に搭載されたＨＤＤ１４にて実現される。あるいは、各情報記憶部５２，５３をサービスサーバ４の外部に設け、各情報記憶部５２，５３に対してアクセス可能なように構成してもよい。
【００２８】
コンピュータ３は、情報送信部３１、インストール部３２及びサービス実行部３３を有している。情報送信部３１は、利用者情報及びコンピュータ情報をサービスサーバ４へ送信する。インストール部３２は、グリッドコンピューティングの環境を構築するためにグリッドフレームワークをインストールする。サービス実行部３３は、サービスサーバ４からの指示に従いサービス処理の一部を実行し、その実行結果をサービスサーバ４へ返す。
【００２９】
コンピュータ３における各構成要素３１〜３３は、コンピュータと、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。
【００３０】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵがインストールプログラムを順次実行することで各種処理が実現される。他の実施の形態においても同様である。
【００３１】
次に、本実施の形態における動作について説明する。本実施の形態は、グリッドコンピューティングのインフラを利用してクラウドコンピューティングに含まれていないコンピュータ３にサービスに関連する処理を実行させることを特徴としているが、まず、最初に、コンピュータ３との間でグリッドコンピューティングの環境を設定するまでの処理について図４に示したフローチャートを用いて説明する。
【００３２】
コンピュータ３は、クラウドコンピューティング１で実行されるサービスにアカウントを作成する。その際、情報送信部３１がコンピュータ３の利用者情報を送信すると、登録処理部４１は、これを利用者情報記憶部５２に登録する（ステップ１０１）。既に利用者登録している場合はログインする。更に、情報送信部３１がコンピュータ情報を送信すると、登録処理部４１は、これをコンピュータ情報記憶部５３に登録する（ステップ１０２）。続いて、環境設定部４２は、利用者情報に基づいてコンピュータ３にアクセスし、グリッドフレームワークをインストールすることで、コンピュータ３にグリッドコンピューティングの環境を設定する（ステップ１０３）。この環境設定によりクラウドコンピューティングとグリッドコンピューティングとが融合する。
【００３３】
なお、本実施の形態では、環境設定部４２が主体的にコンピュータ３の環境設定を行ったが、コンピュータ３の利用者がグリッドフレームワークをダウンロードしインストールするようにしてもよい。
【００３４】
続いて、本実施の形態において特徴的なサービスの分散処理について図５に示したフローチャートを用いて説明する。
【００３５】
サービス利用クライアント２が、クラウドコンピューティング１が提供するサービスの利用要求を送信すると、サービス要求受付部４６は、この要求を受け付ける（ステップ１１１）。サービス提供部４３は、この要求に応じて要求されたサービスに対応するサービス処理を実行するためのジョブを生成するが、このときジョブが分散して実行可能であるかを判断する。分散実行可能な処理とは、例えばマイニングで用いられるＭａｐＲｅｄｕｃｅのようなプログラミングパターンが適用されるような処理である。サービスの提供がインターネットショッピングのためのウェブサイトの提供であった場合、顧客の購買履歴やコメント、購入時期などから嗜好や季節動向などの統計を取るような処理に適用可能である。分散して実行可能でない場合（ステップ１１２でＮ）、サービス提供部４３は、当該サービスサーバ４において実行するためのジョブを生成して、そのジョブを実行する（ステップ１１８）。一方、分散して実行可能な場合（ステップ１１２でＹ）、リソース取得部４７は、コンピュータ情報記憶部５３にコンピュータ情報が登録されているコンピュータ３のリソース情報を取得する（ステップ１１３）。リソース情報というのは、コンピュータ情報記憶部５３に登録されているコンピュータ情報、特にコンピュータ資源に関する情報であるが、このコンピュータ資源に関する情報に加えて、当該コンピュータ３の現在の稼動状況（ＣＰＵ占有率、空きメモリ量等）を取得してもよい。コンピュータ決定部４８は、取得されたリソース情報を参照して、閾値との比較等予め定められた選択基準を満たした全てのコンピュータ３又は予め定められた所定数のコンピュータ３を、処理の分散先として決定する（ステップ１１４）。そして、サービス提供部４３が実行すべきサービス処理を分割して分散処理のためのジョブを生成すると、実行指示部４９は、そのジョブに従い該当するコンピュータ３へ処理の実行を指示する（ステップ１１５）。なお、サービス処理の一部をサービスサーバ４が実行するようにしてもよい。
【００３６】
処理の実行が指示された各コンピュータ３は、指示された処理を実行し、その実行結果をサービスサーバ４へ返すことになる。実行結果収集部５０が分散先の各コンピュータ３から処理の実行結果を取得すると（ステップ１１６）、実行結果送信部５１は、その実行結果をまとめてサービス要求元のサービス利用クライアント２へ送信する（ステップ１１７）。
【００３７】
本実施の形態においては、このようにして、サービス利用クライアント２からのサービス要求に応じてサービスを提供するが、前述したようにサービスを提供する際にコンピュータ３を利用してサービス処理を実行するようにした。そこで、本実施の形態におけるインセンティブ計算処理部４４は、利用したコンピュータ３毎に、予め定めた計算方法に従いジョブの実行に要したリソース消費量（ＣＰＵ時間、メモリ量等）に応じたインセンティブを計算する。なお、リソース消費量は、処理実行後にインセンティブ計算処理部４４が各コンピュータ３に問い合わせてもよいし、各コンピュータ３が処理の実行結果と共にサービスサーバ４へ送信してもよい。
【００３８】
実施の形態２．
図６は、本実施の形態におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。図６には、レンタルサービスを提供するクラウドコンピューティング１と、レンタルサービスを利用するユーザによって使用されるサービス利用クライアント２と、コンピュータ３と、クラウドコンピューティング１を構成するサービスサーバ４と、サービスサーバ４にサービスを提供するためのソフトウェアを配置するサービス配置クライアント５及び計測管理サーバ６と、が示されている。サービス配置クライアント５は、サービスの提供に関わるソフトウェアをインターネットの先にあるサービスサーバ４に適用させる。つまり、サービス配置クライアント５は、実行させたいソフトウェアをサービスサーバ４のメモリに記憶させる（配置させる）。このソフトウェアは、提供される１つのサービスの全てに関するものであってもよいし、その一部に関するものであってもよい。また、例えば、サービスサーバ４はサービス配置クライアント５によって配置されたソフトウェアを実行することで、または、予め配置されているソフトウェアと新たにサービス配置クライアント５によって配置されたソフトウェアを状況に応じて組み合わせながら実行することで、サービスを提供することとしてもよい。なお、サービスサーバ４は、ユーザとの契約により設定されたリソース値の範囲内においてレンタルサービスに関連する処理を実行するサーバ若しくは複数のサービスサーバにより実現される仮想サーバである。
【００３９】
上記実施の形態１では、コンピュータ３との間でグリッドコンピューティングを実現した後、サービス利用クライアント２から要求されたサービス要求に基づいてサービス処理を実行する際にサービスサーバ４が実行すべきサービス処理をコンピュータ３に分散実行させた。本実施の形態では、サービスサーバ４におけるサービス処理の実行性能の計測を、コンピュータ３を利用して行うものである。
【００４０】
本実施の形態におけるサービス利用クライアント２は、クラウドコンピューティング１のコンピュータ資源を利用してサービス配置クライアント５が配置するサービスを利用する。サービスサーバ４は、サービス配置クライアント５が配置したソフトウェアを、サービス利用クライアント２の要求に応じて起動することでサービス処理を実行する。ただ、クラウドコンピューティング１がパフォーマンス良く自己のサービスを提供しているかを確認するために、サービス配置クライアント５は、サービス処理の実行性能の計測を計測管理サーバ６に依頼する。計測管理サーバ６は、サービス配置クライアント５からの計測要求に応じてコンピュータ３に計測を指示することで計測を行わせ、そしてコンピュータ３から収集した計測結果を計測要求元のサービス配置クライアント５へ返す。コンピュータ３は、計測管理サーバ６からの指示に従いサービスサーバ４が提供するサービスを利用することでサービス処理の実行性能を計測する。これにより、実際のサービスの利用者であるサービス利用クライアント２が実際に利用する状態を、コンピュータによるサービス利用によってエミュレートすることによりパフォーマンスを計測することが可能となる。
【００４１】
本実施の形態における計測管理サーバ６は、従前から存在するコンピュータの汎用的なハードウェア構成で実現してもよいため、図３と同様に図示してもよい。また、計測管理そのものがクラウドコンピューティング１上で稼動するサービスであってもよい。
【００４２】
図７は、本実施の形態におけるサービス配置クライアント５、計測管理サーバ６及びコンピュータ３のブロック構成図である。本実施の形態におけるサービス配置クライアント５は、計測要求送信部２１、計測結果受信部２２、リソース設定変更部２３及びリソース情報記憶部２４を有している。計測要求送信部２１は、計測要求を計測管理サーバ６へ送信する。計測結果受信部２２は、計測管理サーバ６から計測結果を受信する。リソース設定変更部２３は、サービスサーバ４に設定すべきリソース値の設定を変更する。リソース情報記憶部２４には、サービスサーバ４に設定すべきリソースに関する情報が記憶されている。
【００４３】
図８は、本実施の形態におけるリソース情報記憶部２４に記憶されているリソーステーブルの設定例を示した図である。リソーステーブルには、仮想コンピュータのリソース（資源）の設定値の組合せにより構成されるレコードが設定される。図８に示した各レコードには、コンピュータユニットの数、メモリ容量、外部記憶装置の記憶容量、ＯＳの種類というリソースの設定情報及び当該リソースの設定範囲内にてサービスサーバ４を利用したときに要する費用が組にして設定される。
【００４４】
サービス配置クライアント５における各構成要素２１〜２３は、サービス配置クライアント５を形成するコンピュータと、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。また、リソース情報記憶部２４は、サービス配置クライアント５に搭載されたＨＤＤ１４にて実現される。
【００４５】
計測管理サーバ６は、計測要求受信部６１、リソース取得部６２、コンピュータ決定部６３、計測指示部６４、計測結果収集部６５及び計測結果送信部６６を有している。計測要求受信部６１は、サービスサーバ４のリソース、計測する際に用いるパラメータの設定値が指定された計測要求を受信する。リソース取得部６２は、計測を実行させるコンピュータ３を決定する際に用いるリソース情報を取得する。コンピュータ決定部６３は、取得したリソース情報に基づき計測を実行させる１又は複数のコンピュータ３を決定する。計測指示部６４は、決定したコンピュータ３に計測を指示する。このとき、計測に用いる計測プログラムを配布する。計測結果収集部６５は、各コンピュータ３から計測結果を収集する。計測結果送信部６６は、収集した計測結果をまとめて計測要求元のサービス配置クライアント５へ送信する。
【００４６】
サービスサーバ４における各構成要素４１〜４４は、サービスサーバ４を形成するコンピュータと、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。また、各情報記憶部５２，５３は、サービスサーバ４に搭載されたＨＤＤ１４にて実現される。あるいは、各情報記憶部５２，５３をサービスサーバ４の外部に設け、各情報記憶部５２，５３に対してアクセス可能なように構成してもよい。
【００４７】
コンピュータ３は、計測管理サーバ６からの指示に従い、設定されたパラメータにより計測プログラムを実行し、その実行結果を返す計測実行部３４を有している。計測実行部３４は、コンピュータ３と、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。
【００４８】
次に、本実施の形態における計測処理について図９に示したフローチャートを用いて説明する。
【００４９】
計測要求送信部２１は、計測を行う際のパラメータ及び計測対象とするウェブサービスを特定する情報としてＵＲＬを設定して計測要求を計測管理サーバ６へ送信する。設定するパラメータは、例えば計測点（計測するコンピュータ３）の数、コンピュータ資源等コンピュータ３が計測点として選択されるための条件など、計測プログラムの配布先を特定する条件や方法に関するデータである。更に、計測時に使用するコマンド及び引数、レスポンスのタイムアウト時間、レスポンスの期待値、各コンピュータ３における計測の繰り返し回数、計測の時間間隔など、計測プログラムの実行条件や方法に関するデータが設定される。
【００５０】
計測要求受信部６１がサービス配置クライアント５からの計測要求を受信すると（ステップ２０１）、リソース取得部６２は、グリッドコンピューティングの環境にあるコンピュータ３のリソース情報を取得する（ステップ２０２）。リソース情報というのは、コンピュータ情報記憶部５３に登録されているコンピュータ情報であるが、実施の形態１において説明したように、クラウドコンピューティング１は、グリッドコンピューティングの環境にあるコンピュータ３及び当該各コンピュータ３のコンピュータ情報をすでに取得しているので、リソース取得部６２は、実施の形態１に示したサービスサーバ４からコンピュータ情報を取得すればよい。更に、コンピュータ資源に関する情報に加えて、当該コンピュータ３の現在の稼動状況（ＣＰＵ占有率、空きメモリ量等）を取得してもよい。コンピュータ決定部６３は、取得されたリソース情報を参照して、計測点の数や選択条件等サービス配置クライアント５により設定されたパラメータや予め定められた選択条件を基準にコンピュータ３を選出することで計測に使用するコンピュータ３を決定する（ステップ２０３）。そして、計測指示部６４は、予め用意されている計測プログラムを選出したコンピュータ３に配布すると共に、計測プログラムの実行の際に用いる実行パラメータを、計測要求に設定されたパラメータを参照して設定し、送信する（ステップ２０４）。
【００５１】
計測の指示を受けたコンピュータ３における計測実行部３４は、送られてきたパラメータを参照して、計測プログラムを指定された時間間隔で繰り返し実行する。また、計測プログラムには、送られてきたパラメータを引数として設定する。なお、サービス配置クライアント５により設定されていないパラメータが存在する場合に対応するために、初期値を予め設定しておいたり、乱数等で設定したりするようにしてもよい。計測プログラムの実行により、コンピュータ３は、ＵＲＬで特定されるサービスサーバ４にアクセスすることになり、このアクセスによるレスポンスタイム等を計測結果として収集する。なお、計測実行部３４は、実際に計測値がレスポンスのタイムアウト時間を超えた場合はタイムアウトエラーとして、レスポンスの期待値に達しなかった場合はサービスエラーとしてカウントする。計測実行部３４は、このようにして計測プログラムを実行して、その実行により得られた計測結果を計測管理サーバ６へ送信する。
【００５２】
以上のようにして各コンピュータ３において計測が行われ、計測結果が送られてくると、計測管理サーバ６の計測結果収集部６５は、これらの計測結果を収集し（ステップ２０５）、そして集計結果を求める（ステップ２０６）。計測結果送信部６６は、この集計結果を計測結果として、計測要求元のサービス配置クライアント５へ送信する（ステップ２０７）。
【００５３】
なお、サービス配置クライアント５へ送信する集計結果には、計測を実施したコンピュータ３に関する情報を含めてもよい。例えば、計測管理サーバ６は、コンピュータ３へのアクセスポイントの情報（識別情報、住所情報、ジオメトリ情報）を取得し、この情報を集計結果に付加してサービス配置クライアント５へ送信する。また、送信する形態として、コンピュータ３の住所情報が示す地図画像上の位置を、この地図画像に点や記号を合成することで表現してもよい。
【００５４】
サービス配置クライアント５のユーザは、計測管理サーバ６から送られてきた計測結果をディスプレイ１８に表示するなどして参照することになる。ここで、所望のレスポンスが得られていないと判断した場合、サービス配置クライアント５のユーザは、設定するパラメータを変更して計測を再度行うようにしてもよい。
【００５５】
また、サービスサーバ４のリソース値の設定を変更して計測を再度依頼するようにしてもよい。すなわち、リソース設定変更部２３は、ユーザ操作に応じてリソース情報記憶部２４に設定されているリソースをディスプレイ１８に表示し、この表示したものの中からいずれかのリソースのレコードを選択させる。所望のレスポンスが得られなかった場合、通常は、現在より高性能のリソースとなるレコードが選択される。ユーザによりいずれかのリソースのレコードが選択されると、リソース設定変更部２３は、この選択したリソースによりサービスサーバ４のリソースを変更するようサービスサーバ４に依頼する。なお、サービスサーバ４には、サービス配置クライアント５によるレンタルサービスの契約時に所定のリソース値が予め設定されている。そして、計測要求送信部２１は、計測要求を計測管理サーバ６へ再度送信する。なお、計測要求送信後における処理は、図９を用いて説明したとおりである。計測要求に設定するパラメータ値は変更してもよいが、変更しなくてもサービスサーバ４のリソースが変更されているので、同じ計測結果が得られるとは限らない。高性能のリソース値を設定すれば、変更前と比較して良い計測結果が得られることが期待される。このように、サービスサーバ４のリソースの設定変更を行いながら計測を行うようにしてもよい。
【００５６】
計測管理サーバ６の管理のもと実行される再度の計測処理は、上記と同様に行われる。ただ、再度の計測の場合は、それ以前に実行された計測との差異を示す統計情報等を計測結果に付加してサービス配置クライアント５へ提供するようにしてもよい。
【００５７】
なお、本実施の形態では、計測に必要なパラメータは、サービス配置クライアント５が設定するようにしたが、計測管理サーバ６が定期的に、または任意のタイミングで計測プログラムを配布し、そしてコンピュータ３に実行させ、集計結果を予め求めておいてもよい。なお、この場合、パラメータ値には初期値を設定しておいてもよい。また、サービスサーバ４が計測管理サーバ６に自己の性能に関する情報として公称レイテンシィを登録しておき、該当するサービスに関する集計結果が得られなかった場合、計測管理サーバ６は、計測要求元のサービス配置クライアント５に対し、公称レイテンシィを応答するようにしてもよい。この場合、計測結果でなく公称値であることを示す情報を計測結果に付加して送信してもよい。
【００５８】
また、計測管理サーバ６は、数多くのエラーの発生等期待する計測結果が得られなかった場合にはコンピュータ３が配置されているプロバイダ、地域、台数を変更して再度計測してもよい。また、計測結果として、通信のオーバーヘッドと、サービスのみのレイテンシィとを分離して扱えるようにしてもよい。
【００５９】
また、本実施の形態では、計測管理サーバ６を、クラウドコンピューティング１を構成するいずれかのサーバにて実現することを例にして説明したが、クラウドコンピューティング１を構成しないコンピュータを利用して実現してもよい。
【００６０】
実施の形態３．
上記実施の形態２では、所望のレスポンスが得られない場合、サービスサーバ４に設定するリソース値を変更して計測を繰り返し実行するようにした。この計測処理を繰り返し実行した結果、最適と考えられるリソース値を得て、そのリソース値をサービスサーバ４に設定すると考えられる。そうすると、この計測の繰り返しの間に、サービスサーバ４の設定値が何度も変更されることで、最適と考えられるリソース値がわからなくなってしまう可能性が生じてくる。
【００６１】
そこで、本実施の形態では、計測用のサービスサーバ７を、レンタルサービスを実際に提供するサービスサーバ４とは別に用意して、サービスを提供するサービスサーバ４そのもののリソース値の設定変更を行わないようにした。
【００６２】
図１０は、本実施の形態におけるクラウドコンピューティングを利用したサービスシステムの全体構成図である。図１０には、図６に、クラウドコンピューティング１に計測用のサービスサーバ７を設けた構成が示されている。すなわち、本実施の形態においては、計測処理を、サービスサーバ７を用いて実行して、サービスサーバ４に設定すべきリソース値が得られると、そのリソース値をサービスサーバ４に設定する。そして、計測に用いたサービスサーバ７の環境全体を削除する。このようにして、レンタルサービスの本稼動を開始する。サービス配置クライアント５がクラウドコンピューティング１に本番用のサービスをアップロードしてもよいし、本番アカウントでのアクセスを許可する、データベースを本番用に切り替えるなどの切替を行ってもよい。
【００６３】
上記実施の形態１及び実施の形態２においては、サービス利用クライアント２とサービス配置クライアント５を別々なクライアントとして説明したが、これに限られるものではない。例えば、同一のクライアントが、サービス利用クライアント２とサービス配置クライアント５の役割を果たすようにしてもよい。
【符号の説明】
【００６４】
１  クラウドコンピューティング、２  サービス利用クライアント、３  コンピュータ、４  サービスサーバ、５  サービス配置クライアント、６  計測管理サーバ、７  計測用サービスサーバ、１１  ＣＰＵ、１２  ＲＯＭ、１３  ＲＡＭ、１４  ハードディスクドライブ（ＨＤＤ）、１５  ＨＤＤコントローラ、１６  マウス、１７  キーボード、１８  ディスプレイ、１９  入出力コントローラ、２０  ネットワークコントローラ、２１  計測要求送信部、２２  計測結果受信部、２３  リソース設定変更部、２４  リソース情報記憶部、２５  内部バス、３１  情報送信部、３２  インストール部、３３  サービス実行部、３４  計測実行部、４１  登録処理部、４２  環境設定部、４３  サービス提供部、４４  インセンティブ計算処理部、４６  サービス要求受付部、４７，６２  リソース取得部、４８，６３  コンピュータ決定部、４９  実行指示部、５０  実行結果収集部、５１  実行結果送信部、５２  利用者情報記憶部、５３  コンピュータ情報記憶部、６１  計測要求受信部、６４  計測指示部、６５  計測結果収集部、６６  計測結果送信部。
【図１】
2011013711.tif 000003
【図２】
2011013711.tif 000004
【図３】
2011013711.tif 000005
【図４】
2011013711.tif 000006
【図５】
2011013711.tif 000007
【図６】
2011013711.tif 000008
【図７】
2011013711.tif 000009
【図８】
2011013711.tif 000010
【図９】
2011013711.tif 000011
【図１０】
2011013711.tif 000012