(57)【要約】 【課題】従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートするか、最初から処理をやり直すかの判断、特にそのコスト面での判断の容易化。【解決手段】分散コンピューティングシステムの処理選択装置は、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する手段と、前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する手段と、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段と、を備える。【選択図】図１
2018165860.tif 000002
【特許請求の範囲】
【請求項１】
従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する手段と、
前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する手段と、
利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段と、
を備える分散コンピューティングシステムの処理選択装置。              
【請求項２】
前記第１の費用は、所定のストレージに退避させた処理途中のデータを読み出す費用を含んで計算される請求項１の処理選択装置。
【請求項３】
前記分散コンピューティングシステムを構成する計算装置に冗長配置されていたデータの中から処理再開に必要なデータを選択して退避し、前記退避したデータを読み出すものとして前記第１の費用を計算する請求項１の処理選択装置。
【請求項４】
前記処理の中断は、前記分散コンピューティングサービスに対する利用者の入札価格が、市場価格より低くなったことを契機に実施され、
前記利用者の入札価格が、市場価格より低くなったことを契機に前記第１、第２の費用の計算を実行する請求項１から３いずれか一の処理選択装置。
【請求項５】
前記第２の費用は、利用するインスタンスの台数に、インスタンス停止までの所要時間と、所定の単価とを乗じて計算される請求項１から４いずれか一の処理選択装置。
【請求項６】
前記利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段に代えて、
前記第１の費用と、前記第２の費用とのうち、安い方を選択し、
チェックポイントからリスタートするか否かを決定する手段を備える請求項１から５いずれか一の処理選択装置。
【請求項７】
前記利用者から、前記チェックポイントからリスタートする回数の上限の設定を受け付け、
前記チェックポイントからリスタートするか否かを決定した結果、前記チェックポイントからリスタートする回数が上限に達した段階で処理を終了する請求項６の処理選択装置。
【請求項８】
従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する手段と、
前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する手段と、
利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段と、
を備える分散コンピューティングシステムの処理選択装置と、
前記処理選択装置が受け付けた処理の継続方法に従って、分散コンピューティングサービスを提供する管理装置と、を含む分散コンピューティングシステム。
【請求項９】
分散コンピューティングシステムの処理選択装置が、
従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算するステップと、
前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算するステップと、
利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付けるステップと、
を含む分散コンピューティングシステムの処理選択方法。
【請求項１０】
分散コンピューティングシステムの処理選択装置を構成するコンピュータに、
従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する処理と、
前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する処理と、
利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける処理と、
を実行させるプログラム。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティングシステム、処理選択装置、処理選択方法及びプログラムに関し、特に、複数の計算ノードを用いて分散処理を行う分散コンピューティングシステム、処理選択装置、処理選択方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、チェックポイントリスタート機能を有するシステムの課金方法の一例が開示されている。具体的には、この課金方法は、ジョブ内のプロセスが終了する毎にそのプロセスのシステム使用資源量から課金情報を生成して課金情報格納領域内に格納するステップと、ジョブのチェックポイントを採取する際に、そのジョブをリスタートする為のジョブ構成情報と共に前記課金情報格納領域内の課金情報を退避ファイルに退避するステップと、ジョブのリスタートを行う際に、そのジョブのジョブ構成情報に対応する課金情報を退避ファイルから前記課金情報格納領域内に回復するステップと、ジョブ終了時に、前記課金情報格納領域内のそのジョブの課金情報を返却するステップとを有するとされている。
【０００３】
特許文献２には、チェックポイントリスタート機能を有する計算機システムにおいて、正確な課金情報の出力と、正確な実行状態の退避を行うことができるという構成が開示されている。同公報によると、この計算機システムは、チェックポイント処理の際に通常処理に対する課金レコードとチェックポイント処理に対する課金レコードとを別々に出力する。そして、この計算機システムは、ファイルのアクセスに際して、ファイルへのアクセスがチェックポイント処理以降であるか及びアクセス対象のファイルが未退避であるかを判定し、これらの条件を満たす場合はそのファイルを退避済の情報に追加して退避する、とされている。
【０００４】
特許文献３には、アプリケーションの終了時刻などユーザの要求を満たした上で、最低限の運用コストとなるようにリソースの算出、および仮想サーバとアプリケーションの配置を行うことができるという実行制御サーバが開示されている。同公報によると、この実行制御サーバは、クラウドサービスにおいて、実行予定のアプリケーションをいずれの仮想サーバで実行させることが最適であるか、最適解を算出する。具体的には、この実行制御サーバは、新たに実行開始予定のアプリケーションに関する実行予定情報と、アプリケーションを実行可能な仮想サーバの要求スペック情報と、既にインスタンス化されている仮想サーバにおける使用可能な残リソース情報に基づき、最適解を算出する。そして、この実行制御サーバは、その最適解に基づき、必要であれば仮想サーバをインスタンス化し、アプリケーションを起動する、とされている。
【０００５】
特許文献４には、処理が中断した後処理を再開する場合に適切な動作を行うことができるというデータ処理装置が開示されている。同公報によると、このデータ処理装置は、サーバーに処理データの送信要求を行う要求部と、前記送信要求に応じて前記サーバーから送信された前記処理データを受信する受信部と、受信した前記処理データを順次取得し、当該処理データを用いて処理を行う処理部と、を備える。そして、前記処理部が前記処理データの取得を完了する前に前記処理データの取得を中断した後前記処理データを再取得する場合に、前記要求部は、前記処理データの取得を中断した理由が第一のグループに分類される場合には前記処理データの全体のうちの前記処理部が未取得である部分についての送信要求を行い、前記処理データの取得を中断した理由が第二のグループに分類される場合には前記処理データ全体についての送信要求を行う、と記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３１０６７号公報
【特許文献２】特開平１０−１７７４２５号公報
【特許文献３】特開２０１４−１１５９０５号公報
【特許文献４】特開２０１３−５９９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。クラウドサービスにて、処理完了までに数時間を必要とするＨａｄｏｏｐ（登録商標）のような分散処理を行う場合、数十台〜数千台のインスタンス立ち上げを行うため、金額の負担が大きくなる。
【０００８】
また、クラウドサービスにおける分散処理サービスの形態も多様化している。例えば、米国アマゾン社のＡｍａｚｏｎ  Ｗｅｂ  Ｓｅｒｖｉｃｅ（ＡＷＳ）のようなクラウドサービスでは、以下の課金プランが用意されている。
・インスタンスを利用するためのリソースの空き状況に関わらず、確実に利用できるが利用料金が高いプラン（オンデマンドインスタンス）  
・インスタンスを利用するためのリソースに空きがあるときのみ利用できるが利用料金が安いプラン（スポットインスタンス、オンデマンドインスタンスに比べ３０％〜９０％割引）
【０００９】
上記利用料金が安いプランの利用時におけるインスタンスの起動と削除は次のように行われる。図９は、利用料金が安いプランの仕組みを説明するための図である。図９の縦軸は価格を示し、「利用者の入札価格」は、安いプランの利用者が事前に設定しておいた入札価格を示す。市場価格が利用者の入札価格を下回る場合、当該利用者のインスタンスは、起動した状態で維持される。一方、市場価格が利用者の入札価格以上となった場合、数分後に強制的に当該利用者のインスタンスが削除される。
【００１０】
このようなことから、通常、多数のインスタンスの立ち上げを伴う分散処理の利用者の多くは「利用料金が高いプラン」を選択する。「利用料金が安いプラン」で分散処理を行う場合、強制的にインスタンスが削除された場合、処理途中のデータの退避を行わなければ、最初から分散処理を実行することが必要であるためである。ここで、仮に処理中のデータを退避し、そのデータをもとに再開することで「利用料金が安いプラン」を利用することができれば、費用削減に大きな効果がある。
【００１１】
そこで、Ａｐａｃｈｅ  Ｓｐａｒｋ（登録商標）のＲＤＤ（Ｒｅｓｉｌｉｅｎｔ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａｓｅｔ）の様に「処理途中のデータをストレージに退避させ、他のリソースで読み取り、計算途中から再開可能な分散処理方式」を利用することで、計算途中の状態から再開することが可能となる。これにより、市場価格が入札価格よりも高くなるとストレージに退避させて、市場価格が入札価格よりも低くなると再開することで利用料金を削減することができると考えられる。
【００１２】
ただし、この場合、再開時にストレージから読み出す処理に対しても利用料金が発生する点を考慮する必要がある。そのため、強制的にインスタンスが削除された場合には、必ずしも「処理途中のデータを破棄し、最初から実行した際の料金」よりも「ストレージから計算途中のデータを読み出し、処理を再開した際の料金」の方が安いとは限らない。
【００１３】
即ち、処理途中のデータを破棄し最初から実行するか、ストレージに退避した処理途中のデータを用いて再開するかどうかの判断を支援できる構成について潜在的なニーズがある。
【００１４】
本発明は、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートするか、最初から処理をやり直すかの判断、特にそのコスト面での判断の容易化に貢献できる分散コンピューティングシステム、処理選択装置、処理選択方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
第１の視点によれば、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する手段と、前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する手段と、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段と、を備える分散コンピューティングシステムの処理選択装置が提供される。
【００１６】
第２の視点によれば、上記した処理選択装置と、前記処理選択装置が受け付けた処理の継続方法に従って、分散コンピューティングサービスを提供する管理装置と、を含む分散コンピューティングシステムが提供される。
【００１７】
第３の視点によれば、分散コンピューティングシステムの処理選択装置が、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算するステップと、前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算するステップと、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付けるステップと、を含む分散コンピューティングシステムの処理選択方法が提供される。本方法は、前記利用者から中断した処理の継続方法を受け付ける分散コンピューティングシステムの処理選択装置という、特定の機械に結びつけられている。
【００１８】
第４の視点によれば、分散コンピューティングシステムの処理選択装置を構成するコンピュータに、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する処理と、前記チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する処理と、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１９】
本発明によれば、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートするか、最初から処理をやり直すかの判断、特にそのコスト面での判断を容易化することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の分散コンピューティングシステムの構成を示す図である。
【図３】本発明の第１の実施形態で用いる計算実行コストデータの一例を示す図である。
【図４】本発明の第１の実施形態で用いるストレージ読み出しコストデータの一例を示す図である。
【図５】本発明の第１の実施形態の動作を表したフローチャートである。
【図６】本発明の第１の実施形態で用いる計算実行コストデータの別の一例を示す図である。
【図７】本発明の第１の実施形態で用いるストレージ読み出しコストデータの別の一例を示す図である。
【図８】本発明の第２の実施形態のストレージ退避動作を説明するための図である。
【図９】クラウドサービスにおける安い料金プランの仕組みを説明するための図である。
【発明を実施するための形態】
【００２１】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００２２】
本発明は、その一実施形態において、図１に示すように、分散コンピューティングシステム２０Ａと接続され、第１の費用計算手段１１Ａと、第２の費用計算手段１２Ａと、処理選択受付手段１３Ａと、を備える処理選択装置１０Ａにて実現できる。
【００２３】
より具体的には、第１の費用計算手段１１Ａは、従量課金型の分散コンピューティングサービスを利用中に中断した処理を、チェックポイントからリスタートした場合の第１の費用を計算する。第２の費用計算手段１２Ａは、チェックポイントからリスタートせずに、最初から前記処理を実行し直した場合の第２の費用を計算する。処理選択受付手段１３Ａは、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける。
【００２４】
以上のように動作する本発明によれば、中断した処理をチェックポイントからリスタートした場合の費用（第１の費用）と最初からやり直した場合の費用（第２の費用）とを提示することが可能となる。前述のように、チェックポイントからリスタートした場合であってもストレージの利用料が課金される場合があり、必ずしも、チェックポイントからリスタートした方が安いといえない料金体系が設定されているサービスにおいて、利用者に、コストという観点で処理方法を選択させることが可能となる。
【００２５】
また、図１に示した処理選択装置１０Ａは、配置形態としては種々のものが考えられる。例えば、図１に示すように、分散コンピューティングシステム２０Ａとは独立して動作する利用者側のシステムの機能として実現することができる。また例えば、図１の分散コンピューティングシステム２０Ａの一機能ユニットとして、処理選択装置１０Ａを配置することもできる。この場合、処理選択装置１０Ａは、クラウド側に配置されることになる。
【００２６】
また上記処理選択装置１０Ａは、利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付けるものとして説明したが、利用者から予め処理の継続方法の選択基準が示されている場合には、処理選択装置１０Ａが自動的にリスタートするか否かを決定し、処理の再開等を行う構成も採用可能である。
【００２７】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の分散コンピューティングシステムの構成を示す図である。図２を参照すると、管理端末１と、クラウドサービス（基盤）４とが、ネットワーク８を介して接続された構成が示されている。
【００２８】
管理端末１には、計算実行コストデータ記憶部２とストレージ読み出しコストデータ記憶部３とが接続されている。なお、計算実行コストデータ記憶部２とストレージ読み出しコストデータ記憶部３は、管理端末１の内部に配置されていてもよいし、ネットワーク８上に配置されていてもよい。本実施形態では、管理端末１が、上記処理選択装置１０Ａに相当する役割を担い、中断した処理をリスタートした場合、そうでない場合のコストをそれぞれ計算し、処理を選択する。
【００２９】
クラウドサービス（基盤）４には、管理サーバ５と、複数の計算装置（計算ノードともいう）６と、複数のストレージ７とが配置されている。管理サーバ５と、計算装置６と、ストレージ７は、クラウドサービスのネットワーク９で接続され、互いに高速なデータ通信を行うことが可能となっている。
【００３０】
管理サーバ５は、管理端末１を介して、利用者からインスタンス生成命令の発行や、クラウドサービス側に支払う「入札価格」や「スリープ時間」や「最大再開回数」の入力を受け付ける。また、管理サーバ５は、管理端末１に対して、各種の情報や処理の結果を提示する。
【００３１】
図３は、計算実行コストデータ記憶部２に保持されている計算実行コストデータの一例を示す図である。図３の「現時点での市場価格（＄／時間・台）」は、単位時間あたりの１台のインスタンスを利用する場合の単価を示している。「インスタンスの台数」は、中断中の処理が利用していたインスタンスの数を示している。「インスタンスの停止までに処理した時間」は、中断中の処理が処理済みの時間を示している。
【００３２】
図４は、ストレージ読み出しコストデータ記憶部３に保持されているストレージ読み出しコストデータの一例を示す図である。図４の「ストレージに保存したサイズ（ＧＢ）」は、処理中断によりストレージ７に退避している処理途中のデータのサイズ（単位はギガバイト）を示している。「ストレージ利用料金（＄／ＧＢ）」は、単位サイズあたりのストレージ読み出しに掛かる料金を示している。
【００３３】
管理端末１は、端的には、次の（１）、（２）の費用を計算し、コストの比較を行う。
（１）リスタートした場合の費用（第１の費用）
この費用は、図４の情報を用いて、以下の式により算出できる。
第１の費用＝ストレージに保存したサイズ（ＧＢ）×ストレージ利用料金（＄／ＧＢ）
（２）最初からやり直す場合の費用（第２の費用）
この費用は、図３の情報を用いて、以下の式により算出できる。
第２の費用＝現時点での市場価格（＄／時間・台）×インスタンスの台数×インスタンスの停止までに処理した時間
なお、後に説明するように、現時点での市場価格（＄／時間・台）は、ユーザが入力した入札価格と必ずしも一致しないが、分散処理の再開の条件が、入札価格＞市場価格となっているため、大きな差異は生じない。同様に、計算装置６の負荷の変化等により、インスタンスの停止までに処理した時間も変わる可能性があるが、上記（１）リスタートした場合の費用（第１の費用）との比較に必要な精度があれば問題ない。
【００３４】
なお、図１、図２に示した処理選択装置１０Ａや管理端末１の各部（処理手段）は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３５】
続いて、本実施形態の動作について説明する。はじめに、利用者が分散コンピューティングを利用する際に、管理端末１が提供する設定画面に入力する各種の設定値について説明する。ここでは、「スリープ時間」、「最大再開回数」及び「入札価格」について説明する。「スリープ時間」とは、管理サーバ５において「市場価格」が「入札価格」よりも小さい状況になってから、計算装置６における処理の再開を行うまでの経過時間を指定する閾値である。小さければ、早く計算装置６における処理の再開が行われることになるが、あまりにも小さいと、再び「市場価格」が「入札価格」を超える状態になる可能性も高いので、「市場価格」の変動や、「入札価格」の高低、さらには、計算装置６に実行させる処理の大きさ等に応じて適切な値を設定する必要がある。
【００３６】
「最大再開回数」とは、計算装置６におけるインスタンスの停止が発生した場合における、再開可能な回数の上限値を示す閾値である。従って、再開回数が、最大再開回数に至った場合、中断した処理は、分散処理未完了のまま終了することになる。
【００３７】
「入札価格」は、利用者がクラウドサービスの提供者等に支払う料金の単価となる値である。また、市場価格がこの入札価格以上となった場合に、インタンスの削除予約が発生する。従って、入札価格があまりにも安いと、インスタンスの削除予約が発生し、以降、再開されなかったり、再開されるがすぐに最大再開回数に到達してしまうということも起こりうる。利用者は、支払ってもよいと考える対価の額、処理を終わらせたい期限、分散処理未完了となる事態を防ぎたい度合い等を考慮して入札価格を設定する必要がある。
【００３８】
以上を設定後、利用者は管理端末１を経由して管理サーバ５に対し計算装置６のインスタンス生成命令を発行する。インスタンス生成命令の発行後、管理サーバ５の制御の下、計算装置６群による分散コンピューティングが開始される。
【００３９】
図５は、分散コンピューティングの実行中における管理端末１の動作を表したフローチャートである。図５を参照すると、分散処理の実行中において（ステップＳ１１）、管理端末１は管理サーバ５における計算装置６のインスタンス削除予約の発生状況について監視する（ステップＳ１２）。
【００４０】
管理サーバ５にて計算装置６のインスタンス削除予約が発生することなく計算装置６での分散処理が完了した場合、管理サーバ５は計算装置６のインスタンスを削除し、処理を完了する（ステップＳ１７）。
【００４１】
一方、計算装置６での分散処理が完了する前に、管理サーバ５にて計算装置６のインスタンス削除予約が発生した場合、管理端末１はこの時点をチェックポイントとし、計算装置６に対し、分散処理中のデータをストレージ７に退避する命令を発行する（ステップＳ１３）。
【００４２】
その後、管理端末１は、「スリープ時間」の経過と（ステップＳ１４）、管理サーバ５における「市場価格」が「入札価格」よりも小さくなっていることを確認する（ステップＳ１５）。「スリープ時間」が経過し、かつ、「市場価格」が「入札価格」よりも小さくなっている場合、管理端末１は、料金の算出に必要なデータを収集し、料金の評価を行う（ステップＳ１６）。
【００４３】
より具体的には、管理端末１は、管理サーバ５から「現時点での市場価格」、「インスタンス台数」と「インスタンス停止までに処理した時間」を取得し、計算実行コストデータ記憶部２に格納する。また、管理端末１は、ストレージ７から「ストレージに保存したサイズ」と管理サーバ５から「ストレージ利用料金」を取得し、ストレージ読み出しコストデータ記憶部３に格納する。
【００４４】
次に、管理端末１は、例えば、以下に示すＡ、Ｂの式を用いて、料金を計算し、大小の評価を行う（ステップＳ１７）。
Ａ．「最初から実行した場合の料金」＝現時点での市場価格×インスタンス台数×インスタンス停止までに処理した時間
Ｂ．「チェックポイント・リスタート時の料金」＝ストレージに退避させたサイズ×ストレージの利用料金
【００４５】
前記計算の結果、ＡがＢよりも大きい場合は（第２の料金＞第１の料金）、ストレージから退避させた中断したデータを読み取り再開する方がコストは安くなるため、チェックポイント・リスタートを行う。この場合は、管理端末１は、計算装置６のインスタンス生成命令を発行し、インスタンス生成後、計算装置６に対しストレージ７からチェックポイントにおけるデータを読み出す命令を発行する。次に、管理端末１は計算装置６に対し読み出したデータを使い分散処理を再開する命令を発行する。
【００４６】
図５の例では、管理端末１は「再開回数」が「最大再開回数」以下であることを確認した後（ステップＳ１８のＹＥＳ）、計算装置６に対し、ストレージ７からデータを読み出し（ステップＳ２０）、分散処理を再開する命令を発行する（ステップＳ１１へ）。その後、管理端末１は管理サーバ５における計算装置６のインスタンス削除予約の有無を監視する（ステップＳ１２）。管理サーバ５において、インスタンス削除予約が発生すること無く、計算装置６の処理が完了すれば、管理端末１は管理サーバ５に対し、計算装置６のインスタンス削除命令を発行し、インスタンスの削除完了をもって分散処理完了とする（ステップＳ１７）。
【００４７】
一方、ステップＳ１８で管理端末１が「再開回数」が「最大再開回数」より大きいことを確認した場合、分散処理未完了のまま、終了となる（ステップＳ１９）。
【００４８】
また、ステップＳ１６にて、ＡがＢ以下である場合（第２の料金≦第１の料金）、計算装置６にて最初から分散処理を実行する方が利用料金は安くなるので、管理端末１は計算装置６のインスタンスに対し、ストレージ７に退避したデータを使用すること無く、最初から処理を行う命令を発行する（ステップＳ１１）。以降の動作は、繰り返しとなるので説明を省略する。
【００４９】
ここで、具体的な例を用いて、ステップＳ１６における判定処理を説明する。
（１）「チェックポイント・リスタート時の料金」の方が安い例
計算実行コストデータ記憶部２、ストレージ読み出しコストデータ記憶部３から読み出したデータは、図３、図４の値であるとする。この場合、上記料金Ａ、Ｂはそれぞれ次の通り算出される。
Ａ．「最初から実行した際の料金」＝１（＄／時間・台）×１００  （台）×２（時間）＝２００（＄）
Ｂ．「チェックポイント・リスタート時の料金」＝２０００（ＧＢ）×０．０８（＄／ＧＢ）＝１６０（＄）
この場合、ＡがＢよりも大きいので、中断時のデータを読み取り再開する方がコストは安くなるので「チェックポイント・リスタート」の方法で処理を行う。
【００５０】
（２）「最初から実行した場合の料金」の方が安い例
計算実行コストデータ記憶部２、ストレージ読み出しコストデータ記憶部３から読み出したデータは、図６、図７の値であるとする。この場合、上記料金Ａ、Ｂはそれぞれ次の通り算出される。
Ａ．「最初から実行した際の料金」＝０．６（＄／時間・台）×１００  （台）×２（時間）＝１２０（＄）
Ｂ．「チェックポイント・リスタート時の料金」＝２０００  （ＧＢ）×０．０８（＄／ＧＢ）＝１６０（＄）
この場合、ＡがＢよりも小さく、最初から処理を行った方が安いので、「最初から処理を実行」する。ただし、このように何度か最初から処理を行った場合、利用料金が高いプランを用いて確実に一度で処理を終わらせたほうが安い場合があり得るため、「最大再開回数」を適切に設定することが必要になる。
【００５１】
以上のように、本実施形態によれば、中断した処理について、チェックポイント・リスタート機能で再開した方が良いのか否かの判断が自動化される。もちろん、管理端末１が自動的に処理継続方法を選択し、インスタンス生成命令等を発行するのではなくて、利用者に、それぞれ料金を提示し、利用者の承認を得てから、インスタンス生成命令等を発行する構成にすることも可能である。
【００５２】
また、処理の中断の都度、チェックポイント・リスタート時の料金の方が安いとの判断が繰り返され、結果として総費用が「最初から実行した場合の料金」の方よりも大幅に上回ってしまう事態が起こりうる。しかしながら、本実施形態によれば、最大再開回数を設けているので、その様な事態の発生を防ぐことが可能となっている。
【００５３】
［第２の実施形態］
続いて、本発明の第２の実施形態について図面を参照して詳細に説明する。本発明の第２の実施形態は、第１の実施形態のストレージ退避動作に変更を加えたものであり、基本的な構成及び動作は、第１の実施形態と同様である。以下、第１の実施形態との相違点を中心に説明する。
【００５４】
本発明の第２の実施形態では、図５のステップＳ１３のストレージ退避処理において、すべての計算装置６のデータをストレージ７に退避させるのではなく、すべてのデータが揃うように、必要最小限の計算装置６を選択してストレージ７に退避させる。
【００５５】
図８は、本発明の第２の実施形態のストレージ退避動作を説明するための図である。例えば、図８に示すように、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆの６種類のデータが、多重度３で６台の計算装置６−１〜６−６に配置されているものとする。この場合、図５のステップＳ１３において、データＡ、Ｂ、Ｄが配置された計算装置６−３、及びデータＣ、Ｅ、Ｆが配置された計算装置６−６の計算装置を選択し、ストレージ７に退避させる。
【００５６】
本実施形態によれば、退避する計算装置の数を最小限に抑え、更なるコスト削減が可能になる。例えば、図６、図７のデータの場合、第１の実施形態では、「最初から実行した際の料金」の方が安いと算出されていたが、結果が逆転する。
具体的には、以下の通り、「チェックポイント・リスタート時の料金」の額が１／３となる。
２Ａ．「最初から実行した際の料金」＝０．６（＄／時間・台）×１００  （台）×２（時間）＝１２０（＄）
２Ｂ．「チェックポイント・リスタート時の料金」＝２０００／３  （ＧＢ）×０．０８（＄／ＧＢ）＝５３．３４（＄）
【００５７】
以上のように、本実施形態によれば、Ｈａｄｏｏｐ（登録商標）のような分散処理システムのデータ退避方法に即した料金比較を行うことが可能となる。
【００５８】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５９】
例えば、上記した実施形態では、管理端末１、計算実行コストデータ記憶部２、ストレージ読み出しコストデータ記憶部３は、クラウドサービス４と独立して設けられている利用者側の設備であるものとして説明したが、これらをクラウドサービス４側に配置することも可能である。
【００６０】
また、上記した実施形態における各料金（費用）の計算式はあくまで一例を示したものであり、クラウドサービス側の料金体系に応じて種々の変更が加えられうることはもちろんである。例えば、クラウドサービス側の料金体系において、入札価格ではなく固定の金額と市場価格を比較して、インスタンスを起動、終了する形態も考えられる。この場合は、上記Ａ又は２Ａの式は入札価格は、固定の価格となる。また、クラウドサービス側の料金体系において、インスタンス数が一定数を超えると単価が変わる、時間帯によって料金が変わるといった事情があれば、それらを加味して比較を行うことになる。
【００６１】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による処理選択装置参照）
［第２の形態］
上記した処理選択装置が計算する前記第１の費用は、所定のストレージに退避させた処理途中のデータを読み出す費用を含んで計算されることが好ましい。
［第３の形態］
上記した処理選択装置において、
前記分散コンピューティングシステムを構成する計算装置に冗長配置されていたデータの中から必要なデータを選択して退避し、前記退避したデータを読み出すものとして前記第１の費用を計算することが好ましい。
［第４の形態］
上記した処理選択装置において、
前記処理の中断は、前記分散コンピューティングサービスに対する利用者の入札価格が、市場価格より低くなったことを契機に実施され、
前記利用者の入札価格が、市場価格より低くなったことを契機に前記第１、第２の費用の計算を実行するものとすることができる。
［第５の形態］
上記した処理選択装置において、
前記第２の費用は、利用するインスタンスの台数に、インスタンス停止までの所要時間と、所定の単価とを乗じて計算されることが好ましい。
［第６の形態］
上記した処理選択装置において、
前記利用者に対し、前記第１の費用と、前記第２の費用とをそれぞれ提示し、前記利用者から中断した処理の継続方法を受け付ける手段に代えて、
前記第１の費用と、前記第２の費用とのうち、安い方を選択し、
チェックポイントからリスタートするか否かを決定する手段を備える構成とすることができる。
［第７の形態］
上記した処理選択装置において、
前記利用者から、前記チェックポイントからリスタートする回数の上限の設定を受け付け、
前記チェックポイントからリスタートするか否かを決定した結果、前記チェックポイントからリスタートする回数が上限に達した段階で処理を終了する構成を採ることができる。
［第８の形態］
（上記第２の視点による分散コンピューティングシステム参照）
［第９の形態］
（上記第３の視点による処理選択方法参照）
［第１０の形態］
（上記第４の視点によるプログラム参照）
なお、上記第８〜第１０の形態は、第１の形態と同様に、第２〜第７の形態に展開することが可能である。
【００６２】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００６３】
１  管理端末
２  計算実行コストデータ記憶部
３  ストレージ読み出しコストデータ記憶部
４  クラウドサービス（基盤）
５  管理サーバ
６、６−１〜６−６  計算装置
７  ストレージ
８  ネットワーク
９  クラウドサービスのネットワーク
１０Ａ  処理選択装置
１１Ａ  第１の費用計算手段
１２Ａ  第２の費用計算手段
１３Ａ  処理選択受付手段
２０Ａ  分散コンピューティングシステム
【図１】
2018165860.tif 000003
【図２】
2018165860.tif 000004
【図３】
2018165860.tif 000005
【図４】
2018165860.tif 000006
【図５】
2018165860.tif 000007
【図６】
2018165860.tif 000008
【図７】
2018165860.tif 000009
【図８】
2018165860.tif 000010
【図９】
2018165860.tif 000011