(57)【特許請求の範囲】
【請求項１】
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御する第一の制御部と、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御する第二の制御部と、
前記第一の制御部により仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第一の装置に対応する課金先に設定する第一の設定部と、
前記仮想マシンの利用に係る課金先を、前記第一の装置に代えて前記第二の装置に対応する課金先に設定する第二の設定部と
を有することを特徴とする管理装置。
【請求項２】
前記第一の制御部は、サーバ上で稼働する複数の仮想マシンの生成に係る指示、および該複数の仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、該複数の仮想マシンを生成するとともに、生成された複数の仮想マシンで該ソフトウェアが実行可能なように制御する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御する第一の制御部と、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御する第二の制御部と、
前記第一の制御部により仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第二の装置に対応する課金先に設定する設定部と、
前記設定部により設定された前記課金先を解除する解除部と
を有することを特徴とする管理装置。
【請求項４】
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御する第一の制御部と、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御する第二の制御部と、
前記第一の制御部により仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第一の装置を示す識別子とを対応付けて設定する第一の設定部と、
前記仮想マシンの利用に係る権限を示す情報と対応付けて設定される前記第一の装置を示す識別子に代えて前記第二の装置を示す識別子に設定する第二の設定部と
を有することを特徴とする管理装置。
【請求項５】
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御する第一の制御部と、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御する第二の制御部と、
前記第一の制御部により仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子とを対応付けて設定する設定部と、
前記設定部により設定された前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子との対応付けを解除する解除部と
を有することを特徴とする管理装置。
【請求項６】
コンピュータに、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第一の装置に対応する課金先に設定し、
前記仮想マシンの利用に係る課金先を、前記第一の装置に代えて前記第二の装置に対応する課金先に設定する
処理を実行させることを特徴とする管理プログラム。
【請求項７】
コンピュータに、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第二の装置に対応する課金先に設定し、
設定された前記課金先を解除する
処理を実行させることを特徴とする管理プログラム。
【請求項８】
コンピュータに、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第一の装置を示す識別子とを対応付けて設定し、
前記仮想マシンの利用に係る権限を示す情報と対応付けて設定される前記第一の装置を示す識別子に代えて前記第二の装置を示す識別子に設定する
処理を実行させることを特徴とする管理プログラム。
【請求項９】
コンピュータに、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子とを対応付けて設定し、
設定された前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子との対応付けを解除する
処理を実行させることを特徴とする管理プログラム。
【請求項１０】
コンピュータが実行する管理方法であって、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第一の装置に対応する課金先に設定し、
前記仮想マシンの利用に係る課金先を、前記第一の装置に代えて前記第二の装置に対応する課金先に設定する
ことを特徴とする管理方法。
【請求項１１】
コンピュータが実行する管理方法であって、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る課金先を、前記第二の装置に対応する課金先に設定し、
設定された前記課金先を解除する
ことを特徴とする管理方法。
【請求項１２】
コンピュータが実行する管理方法であって、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第一の装置を示す識別子とを対応付けて設定し、
前記仮想マシンの利用に係る権限を示す情報と対応付けて設定される前記第一の装置を示す識別子に代えて前記第二の装置を示す識別子に設定する
ことを特徴とする管理方法。
【請求項１３】
コンピュータが実行する管理方法であって、
第一の装置から仮想マシンの生成に係る指示、および、該仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、前記仮想マシンを生成するとともに、生成された仮想マシンで該ソフトウェアが実行可能なように制御し、
第二の装置から送信された前記ソフトウェアの処理の実行指示によって前記仮想マシンにより前記ソフトウェアが実行され、かつ、実行された前記ソフトウェアの処理結果が前記第二の装置に送信されるように制御し、
前記仮想マシンが生成された場合には、前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子とを対応付けて設定し、
設定された前記仮想マシンの利用に係る権限を示す情報と、前記第二の装置を示す識別子との対応付けを解除する
ことを特徴とする管理方法。
【請求項１４】
第一の装置によって提供され、第二の装置の実行指示により仮想マシンで実行されるソフトウェアを、前記仮想マシンで実行可能となるように制御し、前記仮想マシンの利用に係る課金先に対して課金処理を行う制御部と、
前記仮想マシンの利用に係る課金先を格納する記憶部と、
前記第二の装置による前記ソフトウェアの試用に際して前記課金先として前記第一の装置に対応する課金先を記憶部に格納する第一の設定部と、
前記第二の装置から前記ソフトウェアの継続利用の通知を受け取った場合に、前記課金先として、前記第一の装置に代えて前記第二の装置に対応する課金先を記憶部に格納する第二の設定部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理プログラムおよび管理方法に関する。
【背景技術】
【０００２】
ソフトウェアを利用者の端末に提供するシステムがある。例えば、ソフトウェアを利用者の端末に提供するシステムは、ネットワークを介して、６０日などの試用期間の間、試用できるソフトウェアを利用者の端末に送信する。ソフトウェアを受信した利用者の端末は、受信したソフトウェアをダウンロードする。これにより、利用者は、試用期間の間に、端末を操作して、ソフトウェアを実行し、ソフトウェアが自分の利用目的と合致するか、ソフトウェアの使用性などを確認することができる。
【０００３】
そして、利用者は、自分の利用目的と合致する場合などには、試用期間中、または、試用期間が経過した後に、ソフトウェアを継続して利用するために、ライセンス料を支払って、ライセンスキーを入手する。
【０００４】
ソフトウェアを利用者の端末に提供するシステムは、利用者から、利用者の端末を介して、ライセンスキーが入力された場合に、利用者がソフトウェアを継続して使用することを可能とする。なお、試用期間を経過した後に、ライセンスキーの入力など、ソフトウェアを継続して使用する旨の指示がない場合には、利用者の端末でのソフトウェアの実行が不可能となる。
【０００５】
また、ソフトウェアを利用者の端末に提供するシステムの一例としては、ソフトウェアの利用期限に係る情報を管理サーバから端末に送信するシステムがある。かかるシステムでは、ソフトウェアの利用期限に係る情報を受信した端末が、受信した情報を記憶装置に格納し、格納した情報が示す利用期限が現在の日時を超えた場合には、ソフトウェアの起動を行わないように制御する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５１８１９号公報
【特許文献２】特開２００７−２８６８９９号公報
【特許文献３】特開２００２−２５１４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来のシステムでは、ソフトウェアなどのサービスを継続して使用する場合に、煩わしいという問題がある。これを説明すると、例えば、上記の従来の装置では、ソフトウェアなどのサービスを継続して使用する場合に、利用者がライセンスキーを入力する。これは、利用者にとって煩わしい。また、ライセンスキーは、ユーザが使用可能なソフトウェアごとに発行されるため、数は膨大となる。したがって、利用者は、膨大な数のライセンスキーの管理を行うため、煩わしい。
【０００８】
なお、上記のソフトウェアの利用期限に係る情報を端末に送信するシステムでは、端末に、外部の装置から受信した情報を記憶装置に格納しないような設定が行われている場合には、受信した利用期限情報を記憶装置に格納できない。この場合、利用期限情報を用いて、端末がソフトウェアの期限管理を行うことができないという問題もある。
【０００９】
１つの側面では、本発明は、簡易にソフトウェアを継続して利用させることを目的とする。
【課題を解決するための手段】
【００１０】
第一の案では、本願の開示する管理装置は、第一の制御部と、第二の制御部と、第一の設定部と、第二の設定部とを有する。第一の制御部は、第一の装置から仮想マシンの生成に係る指示、および、仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、仮想マシンを生成するとともに、生成された仮想マシンでソフトウェアが実行可能なように制御する。第二の制御部は、第二の装置から送信されたソフトウェアの処理の実行指示によって仮想マシンによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が第二の装置に送信されるように制御する。第一の設定部は、第一の制御部により仮想マシンが生成された場合には、仮想マシンの利用に係る課金先を、第一の装置に対応する課金先に設定する。第二の設定部は、仮想マシンの利用に係る課金先を、第一の装置に代えて第二の装置に対応する課金先に設定する。
【００１１】
第二の案では、本願の開示する管理装置は、第一の制御部と、第二の制御部と、設定部と、解除部とを有する。第一の制御部は、第一の装置から仮想マシンの生成に係る指示、および、仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、仮想マシンを生成するとともに、生成された仮想マシンでソフトウェアが実行可能なように制御する。第二の制御部は、第二の装置から送信されたソフトウェアの処理の実行指示によって仮想マシンによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が第二の装置に送信されるように制御する。設定部は、第一の制御部により仮想マシンが生成された場合には、仮想マシンの利用に係る課金先を、第二の装置に対応する課金先に設定する。解除部は、設定部により設定された課金先を解除する。
【００１２】
第三の案では、本願の開示する管理装置は、第一の制御部と、第二の制御部と、第一の設定部と、第二の設定部とを有する。第一の制御部は、第一の装置から仮想マシンの生成に係る指示、および、仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、仮想マシンを生成するとともに、生成された仮想マシンでソフトウェアが実行可能なように制御する。第二の制御部は、第二の装置から送信されたソフトウェアの処理の実行指示によって仮想マシンによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が第二の装置に送信されるように制御する。第一の設定部は、第一の制御部
により仮想マシンが生成された場合には、仮想マシンの利用に係る権限を示す情報と、第一の装置を示す識別子とを対応付けて設定する。第二の設定部は、仮想マシンの利用に係る権限を示す情報と対応付けて設定される第一の装置を示す識別子に代えて第二の装置を示す識別子に設定する。
【００１３】
第四の案では、本願の開示する管理装置は、第一の制御部と、第二の制御部と、設定部と、解除部とを有する。第一の制御部は、第一の装置から仮想マシンの生成に係る指示、および、仮想マシンにより実行されるソフトウェアの指定を受け付けた場合には、仮想マシンを生成するとともに、生成された仮想マシンでソフトウェアが実行可能なように制御する。第二の制御部は、第二の装置から送信されたソフトウェアの処理の実行指示によって仮想マシンによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が第二の装置に送信されるように制御する。設定部は、第一の制御部により仮想マシンが生成された場合には、仮想マシンの利用に係る権限を示す情報と、第二の装置を示す識別子とを対応付けて設定する。解除部は、設定部により設定された仮想マシンの利用に係る権限を示す情報と、第二の装置を示す識別子との対応付けを解除する。
【発明の効果】
【００１４】
本願の開示する管理装置、管理プログラムおよび管理方法の一つの態様によれば、簡易にソフトウェアを継続して利用させることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例に係る管理装置が適用されるシステム構成の一例を示す図である。
【図２】図２は、実施例に係る管理装置の機能構成の一例を示す図である。
【図３】図３は、ＤＢのデータ構成の一例を示す図である。
【図４】図４は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【図５】図５は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【図６】図６は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【図７】図７は、実施例に係る第一の管理処理の手順を示すフローチャートである。
【図８】図８は、実施例に係る第二の管理処理の手順を示すフローチャートである。
【図９】図９は、実施例に係る第三の管理処理の手順を示すフローチャートである。
【図１０】図１０は、変形例に係るシステムの処理の手順を示すシーケンス図である。
【図１１】図１１は、変形例に係る第二の管理処理の手順を示すフローチャートである。
【図１２】図１２は、管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する管理装置、管理プログラムおよび管理方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例】
【００１７】
実施例に係る管理装置について説明する。図１は、実施例に係る管理装置が適用されるシステム構成の一例を示す図である。図１の例では、システム１は、管理装置１０と、利用者端末２０と、ソフトウェア提供システム３０と、クラウドサーバ４０とを有する。管理装置１０と、利用者端末２０と、ソフトウェア提供システム３０とは、ネットワーク５０を介して、通信可能である。また、管理装置１０と、クラウドサーバ４０とは通信可能に接続される。管理装置１０およびクラウドサーバ４０は、例えば、クラウド事業者などのＩＣＴシステム内に設けられる。
【００１８】
図１の例が示す管理装置１０は、ソフトウェア提供システム３０からの指示に応じて、クラウドサーバ４０にＶＭ（Virtual  Machine；仮想マシン）４０ａを作成させる。そして、図１の例では、管理装置１０は、ＶＭ４０ａにソフトウェア提供システム３０から提供されたソフトウェアをダウンロードさせる。これにより、ＶＭ４０ａは、ソフトウェアを実行することができる。そして、図１の例では、管理装置１０は、利用者端末２０からソフトウェアを実行する要求を受け付けると、利用者端末２０を操作する利用者がソフトウェアを実行する権限を有する場合には、ＶＭ４０ａにソフトウェアを実行させる。続いて、管理装置１０は、実行されたソフトウェアの処理結果を利用者端末２０に送信する。これにより、管理装置１０は、利用者に、ＶＭ４０ａで実行されるソフトウェアを実行させることができる。同様に、管理装置１０は、ソフトウェア提供システム３０からの指示に応じて、クラウドサーバ４０にＶＭ４０ｂ，４０ｃを作成させる。そして、管理装置１０は、ネットワーク５０に接続された他の利用者端末（図示せず）が、ＶＭ４０ｂ，４０ｃで実行されたソフトウェアの処理結果を受信可能にする。すなわち、管理装置１０は、他の利用者端末を操作する利用者に、ＶＭ４０ｂ，４０ｃで実行されるソフトウェアを実行させることができる。なお、システム１に含まれる管理装置１０、利用者端末２０、ソフトウェア提供システム３０、クラウドサーバ４０の台数は、任意の台数を採用することができる。また、クラウドサーバ４０で作成されるＶＭの台数についても任意の台数を採用することができる。
【００１９】
［管理装置の機能構成］
図２は、実施例に係る管理装置の機能構成の一例を示す図である。図２に示すように、管理装置１０は、入力部１１と、出力部１２と、通信部１３と、記憶部１４と、制御部１５とを有する。
【００２０】
入力部１１は、各種情報を制御部１５に入力する。例えば、入力部１１は、ユーザから、クラウドサーバ４０の稼働状況を取得する指示を受け付けて、受け付けた指示を制御部１５に入力する。入力部１１のデバイスの一例としては、マウスやキーボードなどの利用者の操作を受け付けるデバイスなどが挙げられる。
【００２１】
出力部１２は、各種の情報を表示する。例えば、出力部１２は、後述の第二の制御部１５ｂにより、クラウドサーバ４０の稼働状況を表示する。出力部１２のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
【００２２】
通信部１３は、各装置間の通信を行うためのインターフェースである。例えば、通信部１３は、クラウドサーバ４０に接続される。また、通信部１３は、インターネット５０を介して利用者端末２０およびソフトウェア提供システム３０に接続される。これにより、管理装置１０と、クラウドサーバ４０、利用者端末２０、ソフトウェア提供システム３０とが通信を行うことができる。
【００２３】
記憶部１４は、各種情報を記憶する。例えば、記憶部１４は、ＤＢ（Data  Base）１４ａを記憶する。
【００２４】
ＤＢ１４ａには、利用者端末２０が実行できるソフトウェアに関する情報が登録される。図３は、ＤＢのデータ構成の一例を示す図である。図３の例では、ＤＢ１４ａは、「Ｎｏ．」、「ｖｍｎａｍｅ」、「ｄａｙｓ」、「ｖｅｎｄｅｒ−ｎａｍｅ」、「ｖｅｎｄｅｒ−ｃｒｅｄｉｔ」の各項目を有する。また、図３の例では、ＤＢ１４ａは、「ｕｓｅｒｎａｍｅ」、「ｕｓｅｒ−ｃｒｅｄｉｔ」、「ｓｔａｒｔ−ｄａｙ」、「ｂｉｌｌｉｎｇ」の各項目を有する。これらの各項目には、後述の第二の制御部により、各項目に対応する内容が登録される。
【００２５】
「Ｎｏ．」の項目には、レコードの番号が登録される。図３の例は、１番目のレコードの「Ｎｏ．」の項目に、「１」が登録された場合を示す。
【００２６】
「ｖｍｎａｍｅ」の項目には、利用者の利用者端末２０が使用することができるＶＭの識別子が登録される。図３の例は、１番目のレコードの「ｖｍｎａｍｅ」の項目に、利用者が使用することができるＶＭの識別子「ｖｍ００１」が登録された場合を示す。
【００２７】
「ｄａｙｓ」の項目には、ＶＭで実行されるソフトウェアの利用可能な期間が登録される。かかる期間としては、ソフトウェアを無料もしくは安価な料金で使用できる試用期間、試用期間が経過した後にソフトウェアの使用契約を結んだ場合の利用期間が挙げられる。以下では、「ｄａｙｓ」の項目に、試用期間が登録される場合について説明する。図３の例は、１番目のレコードの「ｄａｙｓ」の項目に、「３０」日が登録された場合を示す。
【００２８】
「ｖｅｎｄｅｒ−ｎａｍｅ」の項目には、ＶＭで実行されるソフトウェアを提供したソフトウェア提供システムのサーバのメールアドレスが登録される。図３の例は、１番目のレコードの「ｖｅｎｄｅｒ−ｎａｍｅ」の項目に、ソフトウェアを提供したソフトウェア提供システムのサーバのメールアドレス「ｖｅｎｄｅｒ＠ａａ．ｃｏｍ」が登録された場合を示す。
【００２９】
「ｖｅｎｄｅｒ−ｃｒｅｄｉｔ」の項目には、ソフトウェア提供システムを有するソフトウェアを提供する会社のクレジットカードの番号が登録される。図３の例は、１番目のレコードの「ｖｅｎｄｅｒ−ｃｒｅｄｉｔ」の項目に、ソフトウェアを提供する会社のクレジットカードの番号「１１１１２２２２３３３３４４４４」が登録された場合を示す。
【００３０】
「ｕｓｅｒｎａｍｅ」の項目には、利用者の利用者端末２０のメールアドレスが登録される。図３の例は、１番目のレコードの「ｕｓｅｒｎａｍｅ」の項目に、利用者端末２０のメールアドレス「ｕｓｅｒ１＠ｂｂ．ｃｏｍ」が登録された場合を示す。
【００３１】
「ｕｓｅｒ−ｃｒｅｄｉｔ」の項目には、利用者が所有するクレジットカードの番号が登録される。図３の例は、１番目のレコードの「ｕｓｅｒ−ｃｒｅｄｉｔ」の項目に、利用者のクレジットカードの番号「９９９９８８８８７７７７６６６６」が登録された場合を示す。
【００３２】
「ｓｔａｒｔ−ｄａｙ」の項目には、ソフトウェアの利用が開始された日時が登録される。図３の例は、１番目のレコードの「ｓｔａｒｔ−ｄａｙ」の項目に、ソフトウェアの利用が開始された日時「２０１１年４月１日」が登録された場合を示す。
【００３３】
「ｂｉｌｌｉｎｇ」の項目には、ＶＭの利用に対する課金先が登録される。図３の例は、１番目のレコードの「ｂｉｌｌｉｎｇ」の項目に、課金先として、ソフトウェアを提供する会社のクレジットカードの番号「１１１１２２２２３３３３４４４４」が登録された場合を示す。
【００３４】
ＤＢ１４ａは、ＶＭで実行されるソフトウェアを利用者が実行する権限を有するか否かを判定する場合、ＶＭの課金先を参照する場合などに用いられる。
【００３５】
記憶部１４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１４は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００３６】
制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図２に示すように、制御部１５は、第一の制御部１５ａと、第二の制御部１５ｂと、第一の設定部１５ｃと、第二の設定部と、解除部１５ｅとを有する。
【００３７】
第一の制御部１５ａは、ソフトウェア提供システム３０からＶＭを生成する指示を受信すると、ＶＭを生成する指示をクラウドサーバ４０に送信する。これにより、クラウドサーバ４０でＶＭが生成される。すなわち、第一の制御部１５ａは、かかる指示を受信すると、ＶＭが生成されるように制御する。
【００３８】
また、第一の制御部１５ａは、ソフトウェア提供システム３０からソフトウェアを受信した場合には、対応するＶＭがソフトウェアをダウンロードするように、クラウドサーバ４０上で稼働するＶＭにソフトウェアを送信する。すなわち、第一の制御部１５ａは、ソフトウェアを受信すると、ＶＭでソフトウェアが実行可能なように制御する。
【００３９】
具体例を挙げて説明する。第一の制御部１５ａは、まず、ソフトウェア提供システム３０から、ＶＭ４０ａを作成する指示である仮想マシン作成指示を受信すると、ＶＭ４０ａの識別子を生成し、生成した識別子を含めた仮想マシン作成指示をクラウドサーバ４０へ送信する。これにより、クラウドサーバ４０は、仮想マシン作成指示に含まれる識別子に対応するＶＭ４０ａを作成する。なお、後述するように、ソフトウェア提供システム３０から管理装置１０へ送信された仮想マシン作成指示には、利用者端末２０のメールアドレス、および、ソフトウェア提供システムのサーバのメールアドレスが含まれている。そのため、管理装置１０は、これらのメールアドレスを用いて、利用者端末２０およびソフトウェア提供システム３０と通信を行うことが可能となる。以下、管理装置１０が、利用者端末２０およびソフトウェア提供システム３０に各種情報を送信する場合には、上述したメールアドレスを用いる。
【００４０】
そして、第一の制御部１５ａは、クラウドサーバ４０から、ＶＭ４０ａの作成が完了したことを示す完了通知を受信すると、受信した完了通知をソフトウェア提供システム３０へ送信する。なお、かかる完了通知には、後述するように、作成が完了したＶＭ４０ａの識別子が含まれる。また、第一の制御部１５ａは、ソフトウェア提供システム３０から、ＶＭ４０ａの識別子、ソフトウェアの利用可能な期間、および、ソフトウェアを提供する会社のクレジットカードの番号が付加されたソフトウェアを受信すると、次のような処理を行う。すなわち、第一の制御部１５ａは、受信したソフトウェアを、ソフトウェアに付加された識別子が示すＶＭ４０ａがダウンロードするように、ＶＭ４０ａにソフトウェアを送信する。これにより、ＶＭ４０ａがソフトウェアをダウンロードし、ソフトウェアを実行可能となる。
【００４１】
第二の制御部１５ｂは、利用者端末から送信されたソフトウェアの処理の実行指示によってＶＭによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が利用者端末に送信されるように制御する。
【００４２】
具体例について説明する。第二の制御部１５ｂは、利用者端末２０から、ソフトウェアを実行するＶＭ４０ａの識別子、および、利用者端末２０のメールアドレスが付加されたソフトウェアの実行要求を受信すると、次のような処理を行う。すなわち、第二の制御部１５ｂは、実行要求に付加されたＶＭ４０ａの識別子が「ｖｍｎａｍｅ」の項目に登録され、かつ、実行要求に付加されたメールアドレスが「ｕｓｅｒｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードの検索を行う。このようにして、第二の制御部１５ｂは、「ｕｓｅｒｎａｍｅ」の項目に登録されたメールアドレスによって通信可能な利用者端末２０の利用者が、ソフトウェアを利用することができる権限を有するか否かを確認する。
【００４３】
検索の結果、該当するレコードが見つかった場合には、第二の制御部１５ｂは、ソフトウェア実行要求を、付加された識別子が示すＶＭ４０ａに送信する。また、第二の制御部１５ｂは、ＶＭ４０ａから送信されたソフトウェアの処理結果を利用者端末２０へ送信する。
【００４４】
検索の結果、該当するレコードが見つからなかった場合には、第二の制御部１５ｂは、ソフトウェアおよびＶＭ４０ａを使用できないことを示すエラーメッセージを利用者端末２０へ送信する。
【００４５】
また、第二の制御部１５ｂは、入力部１１から、クラウドサーバ４０の稼働状況を取得する指示を受信した場合には、クラウドサーバ４０の稼働状況をクラウドサーバ４０から取得し、取得した稼働状況を出力部１２に表示させるように、出力部１２の表示を制御する。また、第二の制御部１５ｂは、所定時間の間隔ごとに、クラウドサーバ４０で稼働するＶＭの稼働状況をクラウドサーバ４０から取得し、取得した稼働状況をソフトウェア提供システム３０に送信する。
【００４６】
第一の設定部１５ｃは、ＶＭが生成された場合には、ＶＭの利用に係る課金先を、ソフトウェア提供システムに対応する課金先に設定する。
【００４７】
具体例を挙げて説明する。第一の設定部１５ｃは、仮想マシン関連情報を生成する。仮想マシン関連情報は、新たに作成したＶＭ４０ａの識別子に、次のような情報を対応付けた情報である。すなわち、かかる情報は、受信したソフトウェアの利用可能な期間、ソフトウェア提供システム３０のサーバのメールアドレス、ソフトウェアを提供する会社のクレジットカードの番号、利用者端末２０のメールアドレスを識別子に対応付けた情報である。なお、仮想マシン関連情報には、利用者が所有するクレジットカードの番号、および、ＶＭ４０ａの利用に対する課金先も含むようにしてもよい。
【００４８】
続いて、第一の設定部１５ｃは、生成した仮想マシン関連情報を利用者端末２０へ送信する。その後、第一の設定部１５ｃは、生成した仮想マシン関連情報をＤＢ１４ａの未登録のレコードに登録する。この際、第一の設定部１５ｃは、仮想マシン関連情報に含まれる各情報を、対応する項目に登録するとともに、「ｂｉｌｌｉｎｇ」の項目に、ソフトウェアを提供する会社のクレジットカードの番号を登録する。
【００４９】
そして、第一の設定部１５ｃは、ソフトウェアの利用を開始したことを示す利用開始通知をソフトウェア提供システム３０へ送信する。その後、第一の設定部１５ｃは、現在の日時を、ソフトウェアの利用を開始した日時である利用開始日時として、新たに登録されたレコードの「ｓｔａｒｔ−ｄａｙ」の項目に登録する。
【００５０】
その後、第一の設定部１５ｃは、ＤＢ１４ａを参照し、「ｂｉｌｌｉｎｇ」の項目に登録された課金先に対して、ＶＭ４０ａの使用に対する課金を行う課金処理を開始する。ここで、後述するように、ソフトウェア提供システム３０は、利用者端末２０からソフトウェアの試用の申し込みがあった場合に、仮想マシン作成指示を管理装置１０へ送信する。このため、ソフトウェアの試用期間中におけるＶＭ４０ａに係る課金先は、ソフトウェアを提供する会社のクレジットカードの口座となる。
【００５１】
第二の設定部１５ｄは、ＶＭの利用に係る課金先を、ソフトウェアを提供する会社のクレジットカードの口座に代えて、利用者端末の利用者のクレジットカードの口座に設定する。
【００５２】
具体例を挙げて説明する。第二の設定部１５ｄは、所定時間の間隔で、次のような処理を行う。すなわち、第二の設定部１５ｄは、ＤＢ１４ａを参照し、全てのレコードについて、「ｓｔａｒｔ−ｄａｙ」の項目に登録された日時に「ｄａｙｓ」の項目に登録された利用可能な期間を加えた日時を算出する。ここで、このようにして算出した日時は、ソフトウェアの試用期間の終了日の一例である。そして、第二の設定部１５ｄは、全てのレコードについて、現在の日時から、試用期間の終了日まで、所定日数以内、例えば、１０日以内であるか否かを判定する。所定日数以内である場合には、第二の設定部１５ｄは、現在の日時から試用期間の終了日までの日数が所定日数以内である利用者端末に、利用期限切れが間近である旨のメッセージを送信する。これにより、かかる利用者端末を利用する利用者に、ソフトウェアの本契約を促すことができる。また、所定日数以内である場合には、第二の設定部１５ｄは、ソフトウェア提供システム３０に、利用期限切れが間近である旨のメッセージを送信する。これにより、ソフトウェア提供システム３０に、利用者へのソフトウェアの本契約を促させることができる。このような処理を、第二の設定部１５ｄは、所定時間の間隔で行う。
【００５３】
また、第二の設定部１５ｄは、利用者端末２０から通知を受信するたびに、次のような処理を行う。すなわち、第二の設定部１５ｄは、受信した通知が、ソフトウェアを継続利用する旨の通知であるか否かを判定する。ソフトウェアを継続利用する旨の通知である場合には、第二の設定部１５ｄは、ソフトウェア提供システム３０へ、ソフトウェアを継続利用する旨の通知を送信する。また、第二の設定部１５ｄは、ソフトウェア提供システム３０から、ＶＭを譲渡する旨の通知である仮想マシン譲渡通知を受信すると、仮想マシン譲渡通知に含まれる識別子が登録されたレコードをＤＢ１４ａから検索する。そして、第二の設定部１５ｄは、仮想マシン譲渡通知に含まれる利用者のクレジットカードの番号を、検索の結果得られたレコードの「ｂｉｌｌｉｎｇ」の項目に、設定する。すなわち、第二の設定部１５ｄは、ＶＭの使用の課金を、ソフトウェアを提供する会社のクレジットカードの口座に代えて、利用者のクレジットカードの口座に設定する。このような処理を、第二の設定部１５ｄは、利用者端末２０から通知を受信するたびに行う。
【００５４】
また、解除部１５ｅは、利用者端末２０から通知を受信するたびに、次のような処理を行う。すなわち、解除部１５ｅは、受信した通知が、ソフトウェアの利用を中止する旨の通知であるか否かを判定する。ソフトウェアの利用を中止する旨の通知である場合には、解除部１５ｅは、ソフトウェアの利用を中止する旨の通知に含まれる識別子が示すＶＭを削除する指示をクラウドサーバ４０に送信する。これにより、クラウドサーバ４０では、かかるＶＭが削除される。続いて、解除部１５ｅは、ＶＭの使用の課金を停止する。そして、解除部１５ｅは、ソフトウェア提供システム３０へ、削除したＶＭの識別子が付加された、ＶＭを削除したことを示す仮想マシンの削除通知を送信する。これにより、ソフトウェア提供システム３０では、削除したＶＭで実行されるソフトウェアの課金が停止される。その後、解除部１５ｅは、削除したＶＭの識別子が「ｖｍｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードを検索し、検索の結果、見つかったレコードを削除する。すなわち、解除部１５ｅは、削除したＶＭに関連する仮想マシン関連情報を削除する。
【００５５】
また、解除部１５ｅは、所定時間の間隔で、次のような処理を行う。すなわち、解除部１５ｅは、ＤＢ１４ａを参照し、全てのレコードについて、「ｓｔａｒｔ−ｄａｙ」の項目に登録された日時に「ｄａｙｓ」の項目に登録された利用可能な期間を加えた日時を算出する。ここで、このようにして算出した日時は、ソフトウェアの試用期間の終了日の一例である。そして、解除部１５ｅは、全てのレコードについて、現在の日時が、試用期間の終了日を経過したか否かを判定する。経過した場合には、解除部１５ｅは、現在の日時が試用期間の終了日を経過したレコードの「ｖｍｎａｍｅ」の項目に登録された識別子が示すＶＭを削除する指示をクラウドサーバ４０に送信する。続いて、解除部１５ｅは、ＶＭの使用の課金を停止する。そして、解除部１５ｅは、ソフトウェア提供システム３０へ、削除したＶＭの識別子が付加された、ＶＭを削除したことを示す仮想マシンの削除通知を送信する。その後、解除部１５ｅは、削除したＶＭの識別子が「ｖｍｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードを検索し、検索の結果、見つかったレコードを削除する。すなわち、解除部１５ｅは、削除したＶＭに関連する仮想マシン関連情報を削除する。
【００５６】
利用者端末２０は、利用者により操作される端末である。利用者端末２０は、利用者の操作により、ソフトウェアの試用の申し込みをソフトウェア提供システム３０へ行うことができる。かかる申し込みの際には、利用者端末２０は、利用者端末２０のメールアドレスと、試用するソフトウェア名とをソフトウェア提供システム３０へ送信する。また、利用者端末２０は、管理装置１０から仮想マシン関連情報を受信し、受信した仮想マシン関連情報を記憶装置へ格納する。
【００５７】
また、利用者端末２０は、ソフトウェアを実行するＶＭ４０ａの識別子、および、利用者端末２０のメールアドレスが付加されたソフトウェアの実行要求を管理装置１０へ送信する。利用者端末２０は、管理装置１０からソフトウェアの処理結果を受信すると、受信した処理結果を利用者端末２０が有する表示装置に表示する。また、利用者端末２０は、管理装置１０からエラーメッセージを受信すると、受信したエラーメッセージを利用者端末２０が有する表示装置に表示する。
【００５８】
また、利用者端末２０は、利用者の操作により、試用期間経過後に継続利用するソフトウェアの名称、ソフトウェアが実行されるＶＭの識別子、および、利用者のクレジットカードの番号を含むソフトウェアを継続利用する旨の通知を、管理装置１０へ送信する。また、利用者端末２０は、利用者の操作により、利用を中止するソフトウェアの名称、および、かかるソフトウェアが実行されるＶＭの識別子を含むソフトウェアの利用を中止する旨の通知を、管理装置１０へ送信する。
【００５９】
ソフトウェア提供システム３０は、ソフトウェアを提供するサーバを有するシステムである。ソフトウェア提供システム３０の所有者は、ソフトウェアを提供する会社である。ソフトウェア提供システム３０は、利用者端末２０からソフトウェアの試用の申し込みを受信すると、利用者端末２０のメールアドレス、および、ソフトウェアを提供するサーバのメールアドレスを含む仮想マシン作成指示を管理装置１０へ送信する。
【００６０】
また、ソフトウェア提供システム３０は、管理装置１０から、完了通知を受信すると、次のような処理を行う。すなわち、ソフトウェア提供システム３０は、完了通知に含まれるＶＭの識別子、ソフトウェアの利用可能な期間、および、ソフトウェアを提供する会社のクレジットカードの番号が付加されたソフトウェアを管理装置１０へ送信する。また、ソフトウェア提供システム３０は、ＶＭの識別子、ＶＭにより実行されるソフトウェアの名称であるソフトウェア名、利用者端末２０のメールアドレス、ソフトウェアの利用可能な期間などをソフトウェア提供システム３０が有する記憶装置へ格納する。また、ソフトウェア提供システム３０は、管理装置１０からの利用開始通知を受信した場合には、現在の日時を、ソフトウェアの利用を開始した日時である利用開始日時として、記憶装置へ格納する。
【００６１】
また、ソフトウェア提供システム３０は、利用期限切れが間近である旨のメッセージを受信すると、利用者へのソフトウェアの本契約を促させるメッセージを利用者端末２０へ送信する。
【００６２】
また、ソフトウェア提供システム３０は、ソフトウェアを継続利用する旨の通知を受信すると、かかる通知に含まれる利用者のクレジットカードの番号を用いて、ソフトウェアの使用料をクレジットカードの口座から引き落とす。そして、ソフトウェア提供システム３０は、受信した通知に含まれるＶＭの識別子を取得し、取得したＶＭの識別子を含む仮想マシン譲渡通知を管理装置１０へ送信する。
【００６３】
また、ソフトウェア提供システム３０は、管理装置１０から、ＶＭを削除したことを示す仮想マシンの削除通知を受信すると、かかる通知に含まれる識別子が示すＶＭで実行されるソフトウェアの課金を停止する。
【００６４】
クラウドサーバ４０は、管理装置１０から送信された仮想マシン作成指示に基づいて、ＶＭを作成する。そして、クラウドサーバ４０は、ＶＭの作成が完了すると、作成が完了したＶＭの識別子を含む完了通知を管理装置１０へ送信する。
【００６５】
また、クラウドサーバ４０により作成されたＶＭは、管理装置１０から、ソフトウェアを受信すると、受信したソフトウェアをダウンロードする。これにより、ＶＭでは、ソフトウェアが実行可能となる。これにより、ＶＭでは、ソフトウェアが実行可能となる。
【００６６】
また、クラウドサーバ４０は、管理装置１０から、ソフトウェアの実行要求を受信すると、受信した実行要求に含まれる識別子が示すＶＭにソフトウェアを実行させる。そして、クラウドサーバ４０は、ＶＭにより実行されたソフトウェアの処理結果を管理装置１０に送信する。
【００６７】
また、クラウドサーバ４０は、ＶＭを削除する指示を受信すると、受信した指示に含まれる識別子が示すＶＭを削除する。
【００６８】
制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００６９】
［処理の流れ］
次に、本実施例に係るシステム１の処理の流れを説明する。図４は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【００７０】
図４に示すように、利用者端末２０は、利用者の操作により、利用者端末２０のメールアドレスと、試用するソフトウェア名とをソフトウェア提供システム３０へ送信し、ソフトウェアの試用の申し込みを行う（Ｓ１０１）。そして、ソフトウェア提供システム３０は、利用者端末２０のメールアドレス、および、ソフトウェアを提供するサーバのメールアドレスを含む仮想マシン作成指示を管理装置１０へ送信する（Ｓ１０２）。続いて、管理装置１０は、ＶＭ４０ａの識別子を生成し、生成した識別子を含めた仮想マシン作成指示をクラウドサーバ４０へ送信する（Ｓ１０３）。
【００７１】
クラウドサーバ４０は、管理装置１０から送信された仮想マシン作成指示に基づいて、ＶＭを作成する（Ｓ１０４）。そして、クラウドサーバ４０は、ＶＭの作成が完了すると、作成が完了したＶＭの識別子を含む完了通知を管理装置１０へ送信する（Ｓ１０５）。続いて、管理装置１０は、受信した完了通知をソフトウェア提供システム３０へ送信する（Ｓ１０６）。
【００７２】
ソフトウェア提供システム３０は、完了通知に含まれるＶＭの識別子、ソフトウェアの利用可能な期間、および、ソフトウェアを提供する会社のクレジットカードの番号が付加されたソフトウェアを管理装置１０へ送信する（Ｓ１０７）。管理装置１０は、受信したソフトウェアを、ソフトウェアに付加された識別子が示すＶＭ４０ａがダウンロードするように、ＶＭ４０ａにソフトウェアを送信する（Ｓ１０８）。クラウドサーバ４０により作成されたＶＭ４０ａは、受信したソフトウェアをダウンロードする（Ｓ１０９）。
【００７３】
ソフトウェア提供システム３０は、ＶＭの識別子、ＶＭにより実行されるソフトウェアの名称であるソフトウェア名、利用者端末２０のメールアドレス、ソフトウェアの利用可能な期間などをソフトウェア提供システム３０が有する記憶装置へ格納する（Ｓ１１０）。
【００７４】
管理装置１０は、仮想マシン関連情報を生成する（Ｓ１１１）。そして、管理装置１０は、生成した仮想マシン関連情報を利用者端末２０へ送信する（Ｓ１１２）。その後、管理装置１０は、生成した仮想マシン関連情報をＤＢ１４ａの未登録のレコードに登録する（Ｓ１１３）。
【００７５】
そして、管理装置１０は、ソフトウェアの利用を開始したことを示す利用開始通知をソフトウェア提供システム３０へ送信する（Ｓ１１４）。その後、管理装置１０は、現在の日時を、ソフトウェアの利用を開始した日時である利用開始日時として、新たに登録されたレコードの「ｓｔａｒｔ−ｄａｙ」の項目に登録する（Ｓ１１５）。
【００７６】
その後、管理装置１０は、ＤＢ１４ａを参照し、「ｂｉｌｌｉｎｇ」の項目に登録された課金先に対して、ＶＭ４０ａの使用に対する課金を行う課金処理を開始する（Ｓ１１６）。
【００７７】
また、利用者端末２０は、受信した仮想マシン関連情報を記憶装置へ格納する（Ｓ１１７）。
【００７８】
次に、本実施例に係る利用者がソフトウェアを利用することができる権限を有する場合のシステム１の処理の流れを説明する。図５は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【００７９】
図５に示すように、利用者端末２０は、ソフトウェアを実行するＶＭ４０ａの識別子、および、利用者端末２０のメールアドレスが付加されたソフトウェアの実行要求を管理装置１０へ送信する（Ｓ１２１）。
【００８０】
管理装置１０は、実行要求に付加されたＶＭ４０ａの識別子が「ｖｍｎａｍｅ」の項目に登録され、かつ、実行要求に付加されたメールアドレスが「ｕｓｅｒｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードの検索を行う。このようにして、管理装置１０は、「ｕｓｅｒｎａｍｅ」の項目に登録されたメールアドレスによって通信可能な利用者端末２０の利用者が、ソフトウェアを利用することができる権限を有するか否かを確認する（Ｓ１２２）。
【００８１】
検索の結果、該当するレコードが見つかった場合には、管理装置１０は、ソフトウェア実行要求を、付加された識別子が示すＶＭ４０ａに送信する（Ｓ１２３）。クラウドサーバ４０のＶＭ４０ａは、ソフトウェアを実行する（Ｓ１２４）。そして、クラウドサーバ４０は、ＶＭ４０ａにより実行されたソフトウェアの処理結果を管理装置１０に送信する（Ｓ１２５）。管理装置１０は、ＶＭ４０ａから送信されたソフトウェアの処理結果を利用者端末２０へ送信する（Ｓ１２６）。
【００８２】
次に、本実施例に係る利用者がソフトウェアを利用することができる権限を有しない場合のシステム１の処理の流れを説明する。図６は、実施例に係るシステムの処理の手順を示すシーケンス図である。
【００８３】
図６に示すＳ１２１およびＳ１２２の処理については、図５に示すＳ１２１およびＳ１２２の処理と同様であるので説明を省略する。図６に示すように、利用者端末２０は、検索の結果、該当するレコードが見つからなかった場合には、ソフトウェアおよびＶＭ４０ａを使用できないことを示すエラーメッセージを利用者端末２０へ送信する（Ｓ１２７）。
【００８４】
次に、本実施例に係る管理装置１０の処理の流れについて説明する。図７は、実施例に係る第一の管理処理の手順を示すフローチャートである。第一の管理処理は、例えば、所定時間の間隔ごとに管理装置１０により実行される。
【００８５】
図７に示すように、管理装置１０は、ＤＢ１４ａを参照し、全てのレコードについて、ソフトウェアの試用期間の終了日を算出し、現在の日時から、試用期間の終了日まで、所定日数以内、例えば、１０日以内であるか否かを判定する（Ｓ２０１）。所定日数以内である場合（Ｓ２０１肯定）には、管理装置１０は、現在の日時から試用期間の終了日までの日数が所定日数以内である利用者端末に、利用期限切れが間近である旨のメッセージを送信する（Ｓ２０２）。そして、管理装置１０は、ソフトウェア提供システム３０に、利用期限切れが間近である旨のメッセージを送信し（Ｓ２０３）、処理を終了する。また、所定日数以内でない場合（Ｓ２０１否定）にも、処理を終了する。
【００８６】
図８は、実施例に係る第二の管理処理の手順を示すフローチャートである。第二の管理処理は、例えば、利用者端末２０から通知を受信するたびに管理装置１０により実行される。図８に示すように、管理装置１０は、受信した通知が、ソフトウェアを継続利用する旨の通知であるか否かを判定する（Ｓ３０１）。ソフトウェアを継続利用する旨の通知である場合（Ｓ３０１肯定）には、管理装置１０は、ソフトウェア提供システム３０へ、ソフトウェアを継続利用する旨の通知を送信する（Ｓ３０２）。そして、管理装置１０は、ソフトウェア提供システム３０から、ＶＭを譲渡する旨の通知である仮想マシン譲渡通知を受信したか否かを判定する（Ｓ３０３）。受信していない場合（Ｓ３０３否定）には、管理装置１０は、繰り返しＳ３０３で判定を行う。一方、受信した場合（Ｓ３０３肯定）には、管理装置１０は、仮想マシン譲渡通知に含まれる識別子が登録されたレコードをＤＢ１４ａから検索する。そして、第二の設定部１５ｄは、仮想マシン譲渡通知に含まれる利用者のクレジットカードの番号を、検索の結果得られたレコードの「ｂｉｌｌｉｎｇ」の項目に、設定し（Ｓ３０４）、処理を終了する。
【００８７】
一方、ソフトウェアを継続利用する旨の通知でない場合（Ｓ３０１否定）には、管理装置１０は、受信した通知が、ソフトウェアの利用を中止する旨の通知であるか否かを判定する（Ｓ３０５）。ソフトウェアの利用を中止する旨の通知である場合（Ｓ３０５肯定）には、管理装置１０は、ソフトウェアの利用を中止する旨の通知に含まれる識別子が示すＶＭを削除する指示をクラウドサーバ４０に送信する（Ｓ３０６）。続いて、管理装置１０は、ＶＭの使用の課金を停止する（Ｓ３０７）。そして、管理装置１０は、ソフトウェア提供システム３０へ、削除したＶＭの識別子が付加された、ＶＭを削除したことを示す仮想マシンの削除通知を送信する（Ｓ３０８）。その後、管理装置１０は、削除したＶＭの識別子が「ｖｍｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードを検索し、検索の結果、見つかったレコードを削除し（Ｓ３０９）、処理を終了する。ソフトウェアの利用を中止する旨の通知でない場合（Ｓ３０５否定）にも、処理を終了する。
【００８８】
図９は、実施例に係る第三の管理処理の手順を示すフローチャートである。第三の管理処理は、例えば、所定時間の間隔ごとに管理装置１０により実行される。図９に示すように、管理装置１０は、ＤＢ１４ａを参照し、全てのレコードについて、ソフトウェアの試用期間の終了日を算出し、現在の日時が、試用期間の終了日を経過したか否かを判定する（Ｓ４０１）。経過した場合（Ｓ４０１肯定）には、管理装置１０は、現在の日時が試用期間の終了日を経過したレコードの「ｖｍｎａｍｅ」の項目に登録された識別子が示すＶＭを削除する指示をクラウドサーバ４０に送信する（Ｓ４０２）。続いて、管理装置１０は、ＶＭの使用の課金を停止する（Ｓ４０３）。そして、管理装置１０は、ソフトウェア提供システム３０へ、削除したＶＭの識別子が付加された、ＶＭを削除したことを示す仮想マシンの削除通知を送信する（Ｓ４０４）。その後、管理装置１０は、削除したＶＭの識別子が「ｖｍｎａｍｅ」の項目に登録されたＤＢ１４ａのレコードを検索し、検索の結果、見つかったレコードを削除し（Ｓ４０５）、処理を終了する。
【００８９】
上述してきたように、本実施例に係る管理装置１０は、ソフトウェア提供システム３０からＶＭの生成に係る指示を受け付けた場合には、ＶＭを生成するように制御する。また、本実施例に係る管理装置１０は、ＶＭにより実行されるソフトウェアを受け付けた場合、すなわち、ＶＭにより実行されるソフトウェアの指定を受け付けた場合には、生成されたＶＭでソフトウェアが実行可能なように制御する。そして、本実施例に係る管理装置１０は、利用者端末２０から送信されたソフトウェアの処理の実行指示によってＶＭによりソフトウェアが実行され、かつ、実行されたソフトウェアの処理結果が利用者端末２０に送信されるように制御する。続いて、本実施例に係る管理装置１０は、ＶＭが生成された場合には、ＶＭの利用に係る課金先を、ソフトウェア提供システム３０に対応する課金先に設定する。その後、本実施例に係る管理装置１０は、ＶＭの利用に係る課金先を、ソフトウェア提供システム３０に代えて利用者端末２０に対応する課金先に設定する。このように、本実施例に係る管理装置１０は、ソフトウェアを継続して利用する際に、ライセンスキーを用いない。したがって、本実施例に係る管理装置１０によれば、簡易にソフトウェアを継続して利用させることができる。
【００９０】
また、ＶＭの所有者に対して課金されるため、かかる課金は、ＶＭの利用に関する権限を有する者に対して課金される。すなわち、本実施例に係る管理装置１０は、ＶＭが生成された場合には、ソフトウェア提供システム３０に対応するクレジットカードの番号を、ＶＭの利用に係る権限を示す「ｂｉｌｌｉｎｇ」の項目に登録する。その後、本実施例に係る管理装置１０は、利用者端末２０に対応するクレジットカードの番号を、ＶＭの利用に係る権限を示す「ｂｉｌｌｉｎｇ」の項目に登録する。このように、本実施例に係る管理装置１０は、ソフトウェアを継続して利用する際に、ライセンスキーを用いない。したがって、本実施例に係る管理装置１０によれば、簡易にソフトウェアを継続して利用させることができる。
【００９１】
また、本実施例に係る管理装置１０は、ソフトウェアを試用するためのサーバなどの環境を利用者に構築させない。したがって、本実施例に係る管理装置１０によれば、簡易にソフトウェアを試用するための環境を提供することができる。例えば、本実施例によれば、試用するソフトウェアが、サーバ用ＯＳ（Operating  System）などの装置が大規模となる環境で用いられる場合には、大規模の装置を利用者に構築させないため、簡易にソフトウェアを試用するための環境を提供することができる。
【００９２】
また、本実施例に係る管理装置１０は、ソフトウェアの利用を継続する場合に、ソフトウェアを試用するためのサーバなどの環境を再構築しない。したがって、本実施例に係る管理装置１０によれば、簡易にソフトウェアを継続して利用させることができる。
【００９３】
また、本実施例に係る管理装置１０は、ソフトウェアの継続利用をする場合に、ソフトウェアの試用に用いた環境を利用者に提供する。したがって、本実施例に係る管理装置１０によれば、環境についても簡易に継続して利用させることができる。
【００９４】
また、本実施例に係る管理装置１０は、所定時間の間隔ごとに、クラウドサーバ４０で稼働するＶＭの稼働状況をクラウドサーバ４０から取得し、取得した稼働状況をソフトウェア提供システム３０に送信する。したがって、本実施例に係る管理装置１０によれば、ソフトウェア提供者システム３０に、ＶＭの稼働状況を通知することができる。
【００９５】
また、本実施例に係る管理装置１０は、ソフトウェアを実行するＶＭに試用期間を管理するためのアプリケーションをインストールしない。したがって、本実施例に係る管理装置１０によれば、アプリケーションなどのインストールができないＶＭであっても、試用期間の期限管理を行うことができる。
【００９６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９７】
まず、上述した実施例の変形例について説明する。上述した実施例では、ＶＭが生成された場合に、ソフトウェア提供システム３０に対応する課金先に設定する場合について例示したが、開示の装置はこれに限定されない。開示の装置は、ＶＭが生成された場合に、利用者のクレジットカードの口座を課金先に設定することもできる。この場合、利用者端末２０は、利用者の操作により、利用者端末２０のメールアドレスと、試用するソフトウェア名と、利用者のクレジットカードの番号とをソフトウェア提供システム３０へ送信し、ソフトウェアの試用の申し込みを行う。そして、ソフトウェア提供システム３０は、利用者端末２０のメールアドレス、ソフトウェアを提供するサーバのメールアドレス、および利用者のクレジットカードの番号を含む仮想マシン作成指示を管理装置１０へ送信する。また、管理装置１０の第一の設定部１５ｃは、利用者のクレジットカードの番号を含む仮想マシン関連情報を生成する。その後、管理装置１０の第一の設定部１５ｃは、生成した仮想マシン関連情報をＤＢ１４ａの未登録のレコードに登録する。
【００９８】
図１０は、変形例に係るシステムの処理の手順を示すシーケンス図である。図１０に示すＳ１０３〜Ｓ１１０、Ｓ１１２、Ｓ１１４〜Ｓ１１６の各処理は、図４に示すＳ１０３〜Ｓ１１０、Ｓ１１２、Ｓ１１４〜Ｓ１１６の各処理と同様であるので説明を省略する。
図１０に示すように、利用者端末２０は、利用者の操作により、利用者端末２０のメールアドレスと、試用するソフトウェア名と、利用者のクレジットカードの番号とをソフトウェア提供システム３０へ送信し、ソフトウェアの試用の申し込みを行う（Ｓ５０１）。そして、ソフトウェア提供システム３０は、利用者端末２０のメールアドレス、ソフトウェアを提供するサーバのメールアドレス、および利用者のクレジットカードの番号を含む仮想マシン作成指示を管理装置１０へ送信する（Ｓ５０２）。また、管理装置１０は、利用者のクレジットカードの番号を含む仮想マシン関連情報を生成する（Ｓ５１１）。その後、管理装置１０は、生成した仮想マシン関連情報をＤＢ１４ａの未登録のレコードに登録する（Ｓ５１３）。
【００９９】
図１１は、変形例に係る第二の管理処理の手順を示すフローチャートである。図１１に示すフローチャートは、図８に示す第二の管理処理のＳ３０４の処理が省略されたものであり、図１１に示すＳ６０１〜Ｓ６０３、Ｓ６０５〜Ｓ６０９の各処理は、図８に示すＳ３０１〜Ｓ３０３、Ｓ３０５〜Ｓ３０９の各処理と同様であるため説明を省略する。
【０１００】
上述したように、変形例は、ＶＭが生成された場合には、ＶＭの利用に係る課金先を、利用者端末２０に対応する課金先に設定する。その後、変形例は、ソフトウェアを継続して利用する場合には、課金先を変更せず、ソフトウェアの利用を中止する場合には、課金先を解除する。このように、変形例は、ソフトウェアを継続して利用する際に、ライセンスキーを用いない。したがって、変形例によれば、簡易にソフトウェアを継続して利用させることができる。
【０１０１】
また、変形例は、ＶＭが生成された場合には、利用者端末２０に対応するクレジットカードの番号を、ＶＭの利用に係る権限を示す「ｂｉｌｌｉｎｇ」の項目に登録する。その後、変形例は、ソフトウェアを継続して利用する場合には、「ｂｉｌｌｉｎｇ」の項目の登録内容を変更しない。また、ソフトウェアの利用を中止する場合には、変形例における解除部１５ｅは、利用者端末２０に対応するクレジットカードの番号と、ＶＭの利用に係る権限を示す「ｂｉｌｌｉｎｇ」の項目との対応付けを解除する。このように、本実施例に係る管理装置１０は、ソフトウェアを継続して利用する際に、ライセンスキーを用いない。したがって、本実施例に係る管理装置１０によれば、簡易にソフトウェアを継続して利用させることができる。
【０１０２】
また、実施例では、管理装置１０が、ＶＭにより実行されるソフトウェアを受け付けた場合に、生成されたＶＭでソフトウェアが実行可能なように制御する場合について説明したが、開示の装置は、これに限定されない。例えば、ソフトウェア提供システム３０は、受信した完了通知を利用者端末２０へ送信し、完了通知を受信した利用者端末２０は、管理装置１０へ、ＶＭにより実行されるソフトウェアの指定を送信することもできる。この場合、ＶＭにより実行されるソフトウェアの指定を受け付けた管理装置１０は、受信した指定に対応するソフトウェアをソフトウェア提供システム３０に要求する。かかる要求を受け付けたソフトウェア提供システム３０は、要求に対応するソフトウェアを管理装置１０へ送信する。管理装置１０は、受け付けたソフトウェアを用いて、生成されたＶＭでソフトウェアが実行可能なように制御する。このように、管理装置１０は、ＶＭにより実行されるソフトウェアの指定を受け付けた場合に、生成されたＶＭでソフトウェアが実行可能なように制御することもできる。
【０１０３】
また、実施例では、機器としてサーバを採用した場合を例に挙げて説明したが、機器として、ネットワーク機器、ストレージ装置など、物理的、仮想的を問わず、あらゆる機器を採用できる。
【０１０４】
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１０５】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【０１０６】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
【０１０７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０８】
［管理プログラム］
また、上記の実施例で説明した管理装置１０の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１２を用いて、上記の実施例で説明した管理装置１０と同様の機能を有する管理プログラムを実行するコンピュータの一例を説明する。図１２は、管理プログラムを実行するコンピュータを示す図である。
【０１０９】
図１２に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。また、コンピュータ３００は、入力装置３５０、出力装置３６０、通信装置３７０を有する。これら３１０〜３７０の各符号が示す各装置は、バス３８０を介して接続される。
【０１１０】
入力装置３５０は、キーボードやマウスである。入力装置３５０は、入力部１１に対応する。出力装置３６０は、液晶ディスプレイなどある。出力装置３７０は、出力部１２に対応する。通信装置３７０は、通信を行うためのインターフェースである。通信装置３７０は、通信部１３に対応する。
【０１１１】
ＲＯＭ３２０には、ＯＳなどの基本プログラムが記憶されている。また、ＨＤＤ３３０には、上記の実施例で示す第一の制御部１５ａと、第二の制御部１５ｂと、第一の設定部１５ｃと、第二の設定部１５ｄと、解除部１５ｅと同様の機能を発揮する管理プログラム３３０ａが予め記憶される。なお、管理プログラム３３０ａについては、適宜分離しても良い。また、ＨＤＤ３３０には、ＤＢが設けられる。このＤＢは、上述したＤＢ１４ａに対応する。
【０１１２】
そして、ＣＰＵ３１０が、管理プログラム３３０ａをＨＤＤ３３０から読み出して実行する。
【０１１３】
そして、ＣＰＵ３１０は、ＤＢを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納されたＤＢを用いて、管理プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３３０に格納されなくともよい。処理に用いられるデータがＲＡＭ３４０に格納されれば良い。
【０１１４】
なお、上記した管理プログラム３３０ａについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【０１１５】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１１６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１１７】
１０      管理装置
１４      記憶部
１４ａ    ＤＢ
１５      制御部
１５ａ    第一の制御部
１５ｂ    第二の制御部
１５ｃ    第一の設定部
１５ｄ    第二の設定部
１５ｅ    解除部
【図１】
0005828270.tif 000002
【図２】
0005828270.tif 000003
【図３】
0005828270.tif 000004
【図４】
0005828270.tif 000005
【図５】
0005828270.tif 000006
【図６】
0005828270.tif 000007
【図７】
0005828270.tif 000008
【図８】
0005828270.tif 000009
【図９】
0005828270.tif 000010
【図１０】
0005828270.tif 000011
【図１１】
0005828270.tif 000012
【図１２】
0005828270.tif 000013