(57)【特許請求の範囲】
【請求項１】
データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、
前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、
前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、
前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送する転送手段と、
前記転送手段により前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段と、を含む
ことを特徴とする情報処理システム。
【請求項２】
データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、
前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、
前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、
前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送させる手段と、
前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段と、を含む
ことを特徴とする管理装置。
【請求項３】
データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を送信する割当要求送信手段と、
前記割当要求送信手段による要求に応じて割り当てられた、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部における前記データの格納先を示す格納先情報を取得する取得手段と、
前記取得手段により取得された格納先情報に示される格納先に、前記割り当てられたコンピュータ資源により処理される処理対象データを転送する転送手段と、
前記転送手段により前記処理対象データが転送された後に、前記割当要求送信手段により送信された識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割り当てられたコンピュータ資源を用いて実行されるよう、前記割り当てられたコンピュータ資源に配置させる手段と、を含む
ことを特徴とする処理要求装置。
【請求項４】
データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、
前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、
前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、
前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送させる手段と、
前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段
としてコンピュータを機能させるためのプログラム。
【請求項５】
データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を送信する割当要求送信手段と、
前記割当要求送信手段による要求に応じて割り当てられた、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部における前記データの格納先を示す格納先情報を取得する取得手段と、
前記取得手段により取得された格納先情報に示される格納先に、前記割り当てられたコンピュータ資源により処理される処理対象データを転送する転送手段と、
前記転送手段により前記処理対象データが転送された後に、前記割当要求送信手段により送信された識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割り当てられたコンピュータ資源を用いて実行されるよう、前記割り当てられたコンピュータ資源に配置させる手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、管理装置、処理要求装置及びプログラムに関する。
【背景技術】
【０００２】
１又は複数のコンピュータを含むコンピュータ群の中から少なくとも一部のコンピュータ資源を割り当てて仮想マシンを構成し、当該構成した仮想マシンをユーザーに利用させるサービスが行われてきている（例えば、下記特許文献１を参照）。
【０００３】
こうしたサービスにおいて、処理データを格納するレポジトリとして機能する仮想マシンと、レポジトリから処理データを取得して処理する仮想マシンとの間では、処理データのデータ転送が発生する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５３２９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的の一つは、コンピュータ群の中から少なくとも一部のコンピュータ資源を割り当ててデータを処理するシステムにおいて、データ転送による遅延を抑えることができる情報処理システム、管理装置、処理要求装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に記載の発明は、データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送する転送手段と、前記転送手段により前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段と、を含むことを特徴とする情報処理システムである。
【０００７】
また、請求項２に記載の発明は、データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送させる手段と、前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段と、を含むことを特徴とする管理装置である。
【０００８】
また、請求項３に記載の発明は、データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を送信する割当要求送信手段と、前記割当要求送信手段による要求に応じて割り当てられた、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部における前記データの格納先を示す格納先情報を取得する取得手段と、前記取得手段により取得された格納先情報に示される格納先に、前記割り当てられたコンピュータ資源により処理される処理対象データを転送する転送手段と、前記転送手段により前記処理対象データが転送された後に、前記割当要求送信手段により送信された識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割り当てられたコンピュータ資源を用いて実行されるよう、前記割り当てられたコンピュータ資源に配置させる手段と、を含むことを特徴とする処理要求装置である。
【０００９】
また、請求項４に記載の発明は、データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を受け付ける受付手段と、前記受付手段により受け付けた割当要求に応じて、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部を割り当てる割当手段と、前記割当手段により割り当てられたコンピュータ資源における前記データの格納先を示す格納先情報を、前記割当手段により割り当てられたコンピュータ資源に基づき特定する特定手段と、前記特定手段により特定された格納先情報に示される格納先に、前記割当手段により割り当てられるコンピュータ資源により処理される処理対象データを転送させる手段と、前記処理対象データが前記格納先に転送された後に、前記受付手段により受け付けた識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割当手段により割り当てられたコンピュータ資源を用いて実行されるよう、前記割当手段により割り当てられたコンピュータ資源に配置する配置手段としてコンピュータを機能させるためのプログラムである。
【００１０】
また、請求項５に記載の発明は、データを処理するコンピュータ資源の割当要求と、前記データを処理するデータ処理を識別する識別情報を送信する割当要求送信手段と、前記割当要求送信手段による要求に応じて割り当てられた、１又は複数のコンピュータの１つに含まれるコンピュータ資源の少なくとも一部における前記データの格納先を示す格納先情報を取得する取得手段と、前記取得手段により取得された格納先情報に示される格納先に、前記割り当てられたコンピュータ資源により処理される処理対象データを転送する転送手段と、前記転送手段により前記処理対象データが転送された後に、前記割当要求送信手段により送信された識別情報により識別されるデータ処理を構成する１又は複数のプログラムを、前記割り当てられたコンピュータ資源を用いて実行されるよう、前記割り当てられたコンピュータ資源に配置させる手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１１】
請求項１乃至５に記載の発明によれば、コンピュータ群の中から少なくとも一部のコンピュータ資源を割り当ててデータを処理するシステムにおいて、データ転送による遅延を、本構成によらない場合と比較して、抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理システムのシステム構成図である。
【図２】情報処理システムに含まれる各装置の機能ブロック図である。
【図３】仮想マシン状態管理テーブルの一例を示す図である。
【図４】更新された仮想マシン状態管理テーブルの一例を示す図である。
【図５】サービス定義テーブルの一例を示す図である。
【図６】更新された仮想マシン状態管理テーブルの一例を示す図である。
【図７】情報処理システム及び仮想マシンにより行われる処理のシーケンス図である。
【図８】仮想マシン状態管理テーブルの一例を示す図である。
【図９】実行待ちキューの一例を示す図である。
【図１０】サービス定義テーブルの一例を示す図である。
【図１１】情報処理システム及び仮想マシンにより行われる処理のシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための実施の形態（以下、実施形態という）を、図面に従って説明する。
【００１４】
図１には、本実施形態に係る情報処理システム１０のシステム構成図を示した。図１に示されるように、情報処理システム１０は、１又は複数のコンピュータ３００を含むコンピュータ群３０の少なくとも一部のコンピュータ資源の利用を要求するクライアント装置２００と、当該クライアント装置２００からの利用要求を受け付け、コンピュータ資源の割り当て等の各種制御処理を担当する管理装置１００を含む。本実施形態においては、コンピュータ群３０に含まれる各コンピュータ３００、管理装置１００、及びクライアント装置２００は、インターネット等のネットワーク２０を介して相互にデータ通信することとするが、上記各装置がデータ通信可能であれば各装置の接続態様は上記態様に限られない。
【００１５】
コンピュータ群３０は、１又は複数のコンピュータ３００を含み、各コンピュータ３００はネットワーク３０２を介して相互にデータ通信可能に接続されている。コンピュータ群３０に含まれる各コンピュータ３００は、１又は複数のプロセッサ、メモリ、磁気ディスク装置等を含むコンピュータ資源（ハードウェアリソース）を備えており、コンピュータ群３０に備えられたコンピュータ資源は１又は複数に分割されて、仮想マシンと呼ばれる論理コンピュータとして構成されることとしてよい。なお、仮想マシンは、全部又は一部のハードウェアの使用時間を分割してその少なくとも一部を割り当てて構成することとしてもよい。
【００１６】
管理装置１００は、クライアント装置２００からコンピュータ群３０の利用要求を受け付け、当該クライアント装置２００に仮想マシンを割り当てると共に、クライアント装置２００から要求されたデータ処理を割り当てた仮想マシンに実行させるための制御を行うコンピュータである。この管理装置１００に備えられた機能の詳細については後述する。
【００１７】
クライアント装置２００は、ユーザーからの入力を受け付けるコンピュータであり、ユーザーからの入力に応じて、コンピュータ群３０から仮想マシンの割当を要求すると共に、要求に応じて割り当てられた仮想マシンを利用したデータ処理の実行を要求する。このクライアント装置２００に備えられた機能の詳細についても後述する。
【００１８】
図２には、情報処理システム１０に含まれる各装置の機能ブロック図を示した。以下、図２に示された機能ブロック図を参照しながら、情報処理システム１０に含まれる管理装置１００及びクライアント装置２００に備えられた機能の詳細について説明する。
【００１９】
コンピュータ群３０に含まれるコンピュータ資源は、複数に分割されて仮想マシンが複数構成される。図２に示した例において、ＶＭ１〜ＶＭ４は、コンピュータ３００のコンピュータ資源を４つに分割して構成した仮想マシンである。本実施形態においては、仮想マシンは予め構成されていることとしてよく、構成される仮想マシンの中には、一台のコンピュータ３００を１又は複数に分割して構成した仮想マシンが少なくとも１つは含まれることとする。
【００２０】
図２に示されるように、管理装置１００は、仮想マシン情報送受信部１０２、仮想マシン情報保持部１０４、仮想マシン割当要求受付部１０６、仮想マシン割当部１０８、処理データ格納先情報生成部１１０、処理データ格納先情報送信部１１２、サービス要求受付部１１４、サービス情報保持部１１６、及びサービス配置部１１８を備える。上記の各部の機能は、ＣＰＵ等の制御手段、メモリ、磁気ディスク装置等の記憶手段、外部デバイスとデータを送受信する通信手段等を備えたコンピュータが、コンピュータ読み取り可能な情報記憶媒体に格納されたプログラムを読み込み実行することで実現されるものとしてよい。なお、プログラムは情報記憶媒体によって管理装置１００として機能するコンピュータに供給されることとしてもよいし、インターネット等のデータ通信手段を介して当該コンピュータに供給されることとしてもよい。
【００２１】
仮想マシン情報送受信部１０２は、コンピュータ群３０に含まれ仮想マシンの情報を管理する管理コンピュータとの間で、コンピュータ群３０において構成された仮想マシンの情報を送受信するものである。仮想マシンの情報は、管理装置１００とコンピュータ群３０との間で定期的に送受信されることとしてもよいし、情報に変更があった場合に送受信されることとしてもよい。例えば、仮想マシンの情報には、仮想マシンの状態を示す状態情報や、仮想マシンを構成するハードウェアリソースを示すリソース情報等を含むこととしてよい。例えば、状態情報には、仮想マシン毎に、割り当てられたクライアント装置２００の識別情報（クライアント名等）と、実行しているサービス名（データ処理名等）を含むこととしてよく、リソース情報には、仮想マシン毎に、コンピュータ群３０のうちのどのコンピュータ３００のどのハードウェアを含み構成されているかを示す情報を含むこととしてよい。
【００２２】
仮想マシン情報保持部１０４は、仮想マシン情報送受信部１０２により受信された仮想マシンの情報を保持するものである。
【００２３】
図３には、仮想マシン情報保持部１０４に保持される仮想マシン状態管理テーブル（状態情報）の一例を示した。図３に示されるように、仮想マシン状態管理テーブルには、仮想マシンを識別する仮想マシンＩＤに対応付けて、当該仮想マシンが割り当てられているクライアント装置２００を識別するクライアント名と、当該仮想マシンにおいて実行しているデータ処理を示すサービス名とが格納される。仮想マシン状態管理テーブルにおいて、クライアント名が空欄の場合には、その仮想マシンは、どのクライアント装置２００にも割り当てられていない（すなわち空いている）ことを示している。
【００２４】
仮想マシン割当要求受付部１０６は、クライアント装置２００から仮想マシンの割当要求を受け付けるものである。仮想マシンの割当要求には、クライアント装置２００を識別するクライアント名と共に、クライアント装置２００が要求するコンピュータ資源を示す情報（例えばプロセッサ数、メモリ容量、ディスク容量等）を含むこととしてもよい。
【００２５】
仮想マシン割当部１０８は、仮想マシン割当要求受付部１０６により受け付けた割当要求に応じて、クライアント装置２００に仮想マシンを割り当てるものである。例えば、仮想マシン割当部１０８は、仮想マシン情報保持部１０４に保持される仮想マシン状態管理テーブルを参照し、クライアント名が格納されていない仮想マシンを選択して、クライアント装置２００に割り当てることとしてよい。この際に、仮想マシン割当部１０８は、仮想マシンが１つのコンピュータのコンピュータ資源から構成されているものを検索し、その中から仮想マシンを選択することとしてもよいし、クライアント装置２００からの割当要求にコンピュータ資源を示す情報が含まれる場合には、そのコンピュータ資源を満足する仮想マシンを選択するようにしてもよい。もし、空いている（又は指定された条件に合致する）仮想マシンが存在しない場合には、仮想マシン割当部１０８はクライアント装置２００に割当不可の情報を送信するように制御することとしてよい。
【００２６】
図４には、仮想マシン割当部１０８により仮想マシンを割り当てた後に更新された仮想マシン状態管理テーブルの一例を示した。図４に示されるように、仮想マシン「ＶＭ１」がクライアント「ＣＬ１」に割り当てられた場合には、仮想マシン状態管理テーブルにおける「ＶＭ１」に対応付けられたクライアント名の欄に「ＣＬ１」が格納される。
【００２７】
処理データ格納先情報生成部１１０は、仮想マシン割当部１０８により割り当てられた仮想マシンの情報に基づいて、仮想マシンが処理する処理データの格納先を示す格納先情報を生成（特定）するものである。例えば、処理データ格納先情報生成部１１０は、仮想マシン割当部１０８により割り当てられた仮想マシンに含まれるストレージ（データ格納装置）内に格納されるファイル名を格納先情報として生成することとしてよい。格納先情報は、仮想マシンにおいてデータが一意に識別されるものであれば如何なる生成規則に基づいて生成されてもよい。本実施形態では、例えば処理データ格納先情報生成部１１０は、仮想マシン（ＶＭ１）、仮想マシンのストレージ（Ｓ１）、ストレージに格納されるファイル名（Ｆｉｌｅ１）からなるパス（／ＶＭ１／Ｓ１／Ｆｉｌｅ１）を格納先情報として生成することとしてよい。
【００２８】
処理データ格納先情報送信部１１２は、処理データ格納先情報生成部１１０により生成された格納先情報を、仮想マシンの割当要求を行ったクライアント装置２００に送信するものである。
【００２９】
サービス要求受付部１１４は、クライアント装置２００から、当該クライアント装置２００に割り当てられた仮想マシンにおいてデータ処理（サービス）の実行要求を受け付けるものである。例えば、サービス要求受付部１１４は、クライアント装置２００から、クライアント名と共に、実行するデータ処理を識別するサービス識別情報（サービス名等）を受け付けることとしてよい。
【００３０】
サービス情報保持部１１６は、サービス識別情報によりそれぞれ識別されるサービスを構成するデータ処理の情報を保持するものである。サービス情報保持部１１６は更に、各データ処理を構成するプログラムの実体データを保持しておくこととしてよい。
【００３１】
図５には、サービス情報保持部１１６により保持されるサービス定義テーブルの一例を示した。図５に示されるように、サービス定義テーブルは、サービス名に対応付けて、当該サービスを構成するプログラム（データ処理要素、プリミティブサービス）の情報を示す構成プログラムを格納して構成されている。構成プログラムの情報において、Ａ，Ｂ，Ｃと格納されている場合には、Ａ，Ｂ，Ｃの処理を当該順序で実行することを示す。
【００３２】
サービス配置部１１８は、サービス要求受付部１１４で受け付けたサービスを構成するプログラムを、サービス情報保持部１１６を参照して取得し、当該取得したプログラムを、仮想マシン割当部１０８により割り当てた仮想マシンに配置（デプロイ）するものである。例えば、サービス配置部１１８は、サービスを構成するプログラム、プログラムの実行順序、処理対象のデータが格納された格納先の情報を含むデプロイ情報を生成し、当該生成したデプロイ情報を仮想マシンに転送することによりサービスの配置を行うこととしてよい。また、サービス配置部１１８により仮想マシンに配置されたプログラムに基づいて、仮想マシンは処理データ格納先情報生成部１１０により生成された格納先に格納された処理データを実行する。
【００３３】
図６には、サービス配置部１１８によりサービス（プログラム）が配置された場合に更新された仮想マシン状態管理テーブルの一例を示した。図６に示されるように、サービス配置部１１８により仮想マシンへのプログラムの配置（デプロイ）が完了した後、もしくは配置するプログラムを特定した後には、割り当てられた仮想マシンのサービス名の欄に配置されたサービスを示す情報が格納される。
【００３４】
仮想マシンは、サービス配置部１１８によるプログラムが配置された後に、クライアント装置２００から転送された処理データを対象として、配置されたプログラムを指定された実行順序で実行する。仮想マシンは、上記処理の結果得られた処理結果データを、クライアント装置２００に送信すると共に、管理装置１００にはサービス配置部１１８により配置されたプログラムの実行が完了したことを通知する。管理装置１００は、仮想マシンからプログラムの実行完了の通知を受けると、仮想マシン状態管理テーブルに格納された当該仮想マシンのレコードを更新する。具体的には、管理装置１００は、仮想マシンに対応付けられたクライアント名及びサービス名の項目のデータを消去して、仮想マシン状態管理テーブルを更新することとしてよい。また、仮想マシンは、配置されたプログラムの実行を完了した後に、当該配置されたプログラム及びクライアント装置２００から転送された処理データの両者を削除することとしてよい。この際、仮想マシンは、クライアント装置２００からの要求に応じて上記データを削除することとしてもよいし、処理が終了してから一定の期間が経過した後に上記データを削除するようにしてもよい。
【００３５】
次に、クライアント装置２００に備えられる機能について説明する。図２に示されるように、クライアント装置２００は、仮想マシン割当要求部２０２、処理データ格納先情報受信部２０４、処理データ転送部２０６、サービス要求部２０８、及び処理結果取得部２１０を備える。上記の各部の機能は、ＣＰＵ等の制御手段、メモリ等の記憶手段、外部デバイスとデータを送受信する通信手段等を備えたコンピュータが、コンピュータ読み取り可能な情報記憶媒体に格納されたプログラムを読み込み実行することで実現されるものとしてよい。なお、プログラムは情報記憶媒体によってクライアント装置２００として機能するコンピュータに供給されることとしてもよいし、インターネット等のデータ通信手段を介して当該コンピュータに供給されることとしてもよい。
【００３６】
仮想マシン割当要求部２０２は、管理装置１００にコンピュータ群３０からの仮想マシンの割当を要求するものである。仮想マシン割当要求部２０２は、仮想マシンの割当要求時に、クライアント装置２００を識別するクライアント名と共に、必要なコンピュータ資源を示す情報を併せて管理装置１００に送信することとしてもよい。
【００３７】
処理データ格納先情報受信部２０４は、仮想マシン割当要求部２０２による割当要求に応じて仮想マシンが割り当てられた場合に、当該割り当てられた仮想マシンによる処理の対象となる処理データの格納先を示す格納先情報を、管理装置１００から受信するものである。本実施形態では、処理データ格納先情報受信部２０４は、管理装置１００の処理データ格納先情報送信部１１２により送信された格納先情報を受信することとする。
【００３８】
処理データ転送部２０６は、処理データ格納先情報受信部２０４により受信された格納先情報により示される格納先に、処理データを転送するものである。処理データ転送部２０６は、格納先情報に示されるファイル名に処理データのファイル名を変更した後に、仮想マシンにアクセスしてデータ転送を行い、その際に処理データの格納先のパスを格納先情報に示されるパスに基づいて定めることとしてよい。
【００３９】
サービス要求部２０８は、処理データ転送部２０６により転送される処理データを処理するサービス（データ処理）を識別する情報を管理装置１００に送信し、処理データに対するサービスの実行を要求するものである。本実施形態では、サービス要求部２０８により管理装置１００に送信されたサービス要求は、管理装置１００のサービス要求受付部１１４により受け付けられることとする。
【００４０】
処理結果取得部２１０は、サービス要求部２０８により要求した処理データに対して指定したサービス（データ処理）が実行された場合に、当該サービスの処理結果を取得するものである。なお、処理結果取得部２１０は、仮想マシンから送信された処理結果を受信して取得することとしてよい。
【００４１】
次に、図７に示されたシーケンス図を参照しながら、本実施形態に係る情報処理システム１０及びクライアント装置２００に割り当てられた仮想マシンにより行われる処理の流れを説明する。
【００４２】
まず、クライアント装置２００は、管理装置１００に仮想マシンの割当要求を送信する（Ｓ１００１）。管理装置１００は、クライアント装置２００から受信した割当要求に応じて、仮想マシン状態管理テーブルを参照し、未だ割り当てられていない仮想マシンがあるか否かを判断し（Ｓ１００２）、「ない」と判断する場合には（Ｓ１００２：Ｎ）、割当不可の情報をクライアント装置２００に送信し（Ｓ１００３）、「ある」と判断する場合には（Ｓ１００２：Ｙ）、仮想マシンをクライアント装置２００に割り当てる（Ｓ１００４）。そして、管理装置１００は、上記割り当てた仮想マシンにおけるデータの格納先を示す格納先情報を生成すると共に（Ｓ１００５）、当該生成した格納先情報をクライアント装置２００に送信する（Ｓ１００６）。
【００４３】
クライアント装置２００は、管理装置１００から受信した格納先情報に示される仮想マシンにおける格納先に処理データを転送し（Ｓ１００７）、さらに管理装置１００に処理データを処理するサービス（データ処理）を識別するサービス識別情報を送信する（Ｓ１００８）。管理装置１００は、クライアント装置２００から受信したサービス識別情報に基づいて、サービスを構成するプログラムを特定すると共に、当該特定した各プログラム、各プログラムの実行順序及び実行対象に基づくデプロイ情報を生成し（Ｓ１００９）、当該生成したデプロイ情報を仮想マシンに転送する（Ｓ１０１０）。
【００４４】
仮想マシンでは、管理装置１００から受信したデプロイ情報に基づいてプログラムを配置した後に処理データに対するデータ処理を実行し（Ｓ１０１１）、その処理結果をクライアント装置２００に送信する（Ｓ１０１２）。そして、仮想マシンは、管理装置１００にサービスの完了通知を送信する（Ｓ１０１３）と共に、配置されたサービス及び処理データを削除する（Ｓ１０１４）。また、管理装置１００は、仮想マシンからの完了通知を受けると、仮想マシン状態管理テーブルにおける仮想マシンに関するレコードを特定し、当該特定したレコードにおけるクライアント名及びサービス名の欄を削除し更新する（Ｓ１０１５）。以上によりクライアント装置２００から要求されるデータ処理に関する一連の処理を終了する。
【００４５】
本実施形態に係る情報処理システム１０では、クライアント装置２００に割り当てられる仮想マシンのハードウェアリソースに含まれるストレージに処理データを格納し、仮想マシンに処理データを処理させることで、処理データをデータ転送することに起因する処理の遅延が発生しない。
【００４６】
次に、本発明に係る第２の実施形態について説明する。第２の実施形態に係る情報処理システム１０は、仮想マシン毎に実行待ちキューを保持し、仮想マシンにより今後実行されるデータ処理に係るデータ量に基づいてクライアント装置２００に割り当てる仮想マシンを選択している点で第１の実施形態に係る情報処理システム１０とは異なっており、仮想マシンを割り当てた後の処理は共通している。以下、第１の実施形態に係る情報処理システム１０との相違点について説明する。
【００４７】
第２の実施形態に係る仮想マシン情報保持部１０４は、仮想マシン毎の状態を示す仮想マシン状態管理テーブルと、仮想マシン毎に割り当てられた実行待ち状態にある処理を示す処理情報を格納した実行待ちキューを保持している。
【００４８】
図８には、仮想マシン状態管理テーブルの一例を示した。図８に示されるように、仮想マシン情報管理テーブルは、仮想マシンの識別情報（仮想マシンＩＤ）毎に、割り当てられたクライアント装置２００を示すクライアント名、実行しているサービスを示すサービス名、実行しているサービスによる処理対象とする処理データ名、処理データのデータサイズを関連付けて格納している。
【００４９】
図９には、実行待ちキューの一例を示した。実行待ちキューは、仮想マシン毎に設けられ、仮想マシン割当部１０８により割り当てられた処理を示す処理情報が、割り当てられた順に待ち行列の最後部に格納される。例えば、処理情報は、仮想マシン情報管理テーブルのレコードに対応する情報としてよく、クライアント名、サービス名、処理データ名、データサイズの各項目を含むこととしてよい。
【００５０】
仮想マシン割当要求受付部１０６は、クライアント装置２００から仮想マシンの割当要求を受け付ける。この割当要求には、クライアント装置２００を識別するクライアント名、実行を要求するサービス名、処理データのデータサイズの各情報が含まれる。
【００５１】
仮想マシン割当部１０８は、クライアント装置２００から仮想マシンの割当要求を受け付けると、仮想マシン情報保持部１０４に保持される仮想マシン状態管理テーブル及び実行待ちキューを参照し、仮想マシン毎に、現在実行しているサービス及び今後実行するサービスにより処理されるデータサイズの合計値を算出する。そして、仮想マシン割当部１０８は、上記算出したデータサイズの合計値が最小の仮想マシンをクライアント装置２００に割り当てる。仮想マシン割当部１０８により仮想マシンが割り当てられると、当該割り当てられた仮想マシンの実行待ちキューに、クライアント装置２００から受け付けた割当要求に含まれる処理情報が追加される。クライアント装置２００に仮想マシンが割り当てられた後は、第１の実施形態と同様の処理が実行されるが、サービス配置部１１８が実行待ちキューを参照して次に実行するサービスを配置する点で第１の実施形態と異なるためその点を以下説明する。
【００５２】
サービス配置部１１８は、仮想マシンから処理の完了通知を受けると、当該仮想マシンの実行待ちキューを参照し、実行待ちキューにおける第１順位の処理情報を取得する。サービス配置部１１８は、上記取得した処理情報に基づいてデプロイ情報を生成し、生成したデプロイ情報を仮想マシンに転送する。サービス配置部１１８は、サービスの配置を完了すると、当該サービスの配置を行った仮想マシンに関する仮想マシン状態管理テーブルの該当項目（クライアント名、サービス名、処理データ名、データサイズ等）を更新すると共に、実行待ちキューにおいて処理を実行した処理情報を削除すると共に他の処理情報の処理順位を１つずつ繰り上げて更新する。
【００５３】
第２の実施形態に係る情報処理システム１０では、仮想マシンに空き状態がなくともクライアント装置２００からのサービス要求に応じる際に、クライアント装置２００に処理するデータ量が少ない仮想マシンを割り当てることで、クライアント装置２００へのサービスの提供までの時間が短縮される。
【００５４】
次に、本発明に係る第３の実施形態について説明する。第３の実施形態に係る情報処理システム１０は、仮想マシンにより今後実行されるデータ処理に係る処理時間に基づいてクライアント装置２００に割り当てる仮想マシンを選択している点で第２の実施形態に係る情報処理システム１０とは異なっており、他の点は共通している。以下、第２の実施形態に係る情報処理システム１０との相違点について説明する。
【００５５】
第３の実施形態に係るサービス情報保持部１１６は、仮想マシンにおいて実行されるサービス毎に、単位データ当たりの処理速度情報を保持する。
【００５６】
図１０には、サービス情報保持部１１６により保持されるサービス定義テーブルの一例を示した。図１０に示されるように、サービス定義テーブルには、サービスを識別する識別情報（サービス名）に対応付けて、当該サービスを構成するプログラム（データ処理要素）の情報を示す構成プログラムと、単位データ当たりの処理速度を示す処理速度情報が格納される。処理速度情報は、基本構成（１単位当たり）の仮想マシンが１秒当たりに処理するデータ量を示しており、図１０の例であれば、サービス１であれば仮想マシンが１秒間に１Ｍバイトのデータ量を処理することを示している。処理速度情報は、事前に処理時間を計測し保持しておくこととしてよい。
【００５７】
仮想マシン情報保持部１０４は、仮想マシン毎の処理性能を保持しておくこととしてよく、例えば基本構成の仮想マシンを基準とした処理速度の比を性能情報として保持しておくこととしてよい。
【００５８】
仮想マシン割当部１０８は、クライアント装置２００から仮想マシンの割当要求を受け付けると、仮想マシン情報保持部１０４に保持される仮想マシン状態管理テーブル及び実行待ちキューを参照し、仮想マシン毎に、現在実行しているサービス及び今後実行するサービスの完了に要する処理時間の合計値を算出する。具体的には、仮想マシン割当部１０８は、処理情報に含まれるデータサイズを、サービスに対応付けられた処理速度に仮想マシンの性能情報を乗じて得た仮想マシン処理速度で除して処理時間を算出することとしてよい。そして、仮想マシン割当部１０８は、仮想マシン毎に上記算出した処理時間を合計し、その合計値が最小の仮想マシンをクライアント装置２００に割り当てる。仮想マシン割当部１０８により仮想マシンが割り当てられると、当該割り当てられた仮想マシンの実行待ちキューに、クライアント装置２００から受け付けた割当要求に含まれる処理情報が追加される。クライアント装置２００に仮想マシンが割り当てられた後の処理は第２の実施形態と同じであるため説明を省略する。
【００５９】
第３の実施形態に係る情報処理システム１０では、仮想マシンに空き状態がなくともクライアント装置２００からのサービス要求に応じる際に、割り当てられたサービスを完了するまでの処理時間が短い仮想マシンをクライアント装置２００に割り当てることで、クライアント装置２００へのサービスの提供までの時間が短縮される。
【００６０】
次に、本発明に係る第４の実施形態について説明する。第４の実施形態に係る情報処理システム１０は、管理装置１００が処理データを仮想マシンに転送するようにした点で第１の実施形態に係る情報処理システム１０とは異なっており、他の点は共通している。以下、第４の実施形態に係る情報処理システム１０における処理の流れを、図１１に示したシーケンス図を参照しながら説明する。
【００６１】
まず、クライアント装置２００は、管理装置１００に仮想マシンの割当要求を送信する（Ｓ２００１）。管理装置１００は、クライアント装置２００から受信した割当要求に応じて、仮想マシン状態管理テーブルを参照し、未だ割り当てられていない仮想マシンがあるか否かを判断し（Ｓ２００２）、「ない」と判断する場合には（Ｓ２００２：Ｎ）、割当不可の情報をクライアント装置２００に送信し（Ｓ２００３）、「ある」と判断する場合には（Ｓ２００２：Ｙ）、仮想マシンをクライアント装置２００に割り当てる（Ｓ２００４）。そして、管理装置１００は、上記割り当てた仮想マシンにおけるデータの格納先を示す格納先情報を生成し（Ｓ２００５）、クライアント装置２００に処理データの転送及びサービスの指定を要求する（Ｓ２００６）。
【００６２】
クライアント装置２００は、管理装置１００に処理データと、処理データを処理するサービス（データ処理）を識別するサービス識別情報を送信する（Ｓ２００７）。管理装置１００は、上記生成した格納先情報にクライアント装置２００から受信した処理データを仮想マシンに転送する（Ｓ２００８）。そして、管理装置１００は、クライアント装置２００から受信したサービス識別情報に基づいて、サービスを構成するプログラムを特定すると共に、当該特定した各プログラム、各プログラムの実行順序及び実行対象に基づくデプロイ情報を生成し（Ｓ２００９）、当該生成したデプロイ情報を仮想マシンに転送する（Ｓ２０１０）。
【００６３】
仮想マシンでは、管理装置１００から受信したデプロイ情報に基づいて処理データに対するデータ処理を実行する（Ｓ２０１１）。仮想マシンは、上記データ処理の処理結果をクライアント装置２００に送信する（Ｓ２０１２）と共に、管理装置１００にサービスの完了通知を送信し（Ｓ２０１３）、その後、配置されたサービス及び処理データを削除する（Ｓ２０１４）。また、管理装置１００は、仮想マシンからの完了通知を受けると、処理データを削除する（Ｓ２０１５）と共に、仮想マシン状態管理テーブルにおける仮想マシンに関するレコードを特定し、当該特定したレコードにおけるクライアント名及びサービス名の欄を削除し更新する（Ｓ２０１６）。以上によりクライアント装置２００から要求されるデータ処理に関する一連の処理を終了する。
【００６４】
なお、第４の実施形態において、仮想マシン割当要求時に処理データを管理装置１００に送信することとしてもよいし、仮想マシンの割当を、第２又は第３の実施形態に示した態様で行うこととしてもよいのはもちろんである。
【００６５】
また、本発明は以上説明した実施形態に限定されるものではなく、例えば管理装置１００がコンピュータ群３０に含まれるコンピュータ３００の１つとして構成されていてもよい。
【符号の説明】
【００６６】
１０  情報処理システム、２０  ネットワーク、３０  コンピュータ群、１００  管理装置、１０２  仮想マシン情報送受信部、１０４  仮想マシン情報保持部、１０６  仮想マシン割当要求受付部、１０８  仮想マシン割当部、１１０  処理データ格納先情報生成部、１１２  処理データ格納先情報送信部、１１４  サービス要求受付部、１１６  サービス情報保持部、１１８  サービス配置部、２００  クライアント装置、２０２  仮想マシン割当要求部、２０４  処理データ格納先情報受信部、２０６  処理データ転送部、２０８  サービス要求部、２１０  処理結果取得部、３００  コンピュータ、３０２  ネットワーク。
【図１】
0005533315.tif 000002
【図２】
0005533315.tif 000003
【図３】
0005533315.tif 000004
【図４】
0005533315.tif 000005
【図５】
0005533315.tif 000006
【図６】
0005533315.tif 000007
【図７】
0005533315.tif 000008
【図８】
0005533315.tif 000009
【図９】
0005533315.tif 000010
【図１０】
0005533315.tif 000011
【図１１】
0005533315.tif 000012