JP2008293358A - 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム - Google Patents

分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム Download PDF

Info

Publication number
JP2008293358A
JP2008293358A JP2007139384A JP2007139384A JP2008293358A JP 2008293358 A JP2008293358 A JP 2008293358A JP 2007139384 A JP2007139384 A JP 2007139384A JP 2007139384 A JP2007139384 A JP 2007139384A JP 2008293358 A JP2008293358 A JP 2008293358A
Authority
JP
Japan
Prior art keywords
job
information
processing device
processing
distributed processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007139384A
Other languages
English (en)
Other versions
JP5251002B2 (ja
Inventor
Haruyasu Ueda
晴康 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007139384A priority Critical patent/JP5251002B2/ja
Priority to US12/119,719 priority patent/US8214686B2/en
Publication of JP2008293358A publication Critical patent/JP2008293358A/ja
Application granted granted Critical
Publication of JP5251002B2 publication Critical patent/JP5251002B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】ジョブ処理の途中の経過情報の保存をジョブ処理装置に拠らず可能とするプログラム、装置、および方法の提供を目的とする。
【解決手段】ジョブ処理装置でのジョブ処理の実行の結果を取得する分散処理装置は以下を実行する。分散処理装置は、ジョブ処理装置が有する仮想計算機で動作する基本ソフトウェアがジョブ処理を検出する第一の手順情報を作成する。そして、分散処理装置は、仮想計算機の特定の時点での処理の状態を再現し得る仮想計算機の状態情報を、ジョブ処理装置から分散処理装置に送信する第二の手順情報を作成する。そして、分散処理装置は、第一の手順情報と第二の手順情報とを含むジョブスクリプトファイルをジョブ処理装置のジョブ管理部に送信する。そして、分散処理装置は、ジョブ処理装置から送信された状態情報を記憶部に格納する。
【選択図】図1

Description

本発明は、分散処理システムのジョブの復旧を可能とする技術に関する。
ネットワーク上にある複数のコンピュータ資源によって構成されるコンピュータシステムには、コンピュータ・クラスターやグリッド・コンピューティングなどがある。コンピュータ・クラスターやグリッド・コンピューティングなどの分散処理システムでは、処理の対象となるプログラムを処理の単位(以下ジョブという)で区切り、各コンピュータ資源はジョブ毎に処理を実行する。分散処理システムでは、各コンピュータ資源の故障およびコンピュータシステムの保守を原因とするシステムダウンが発生する場合がある。分散処理システムでは、各コンピュータ資源の利用可能な時間帯が夜間に限られていたり、各コンピュータ資源のユーザが各コンピュータ資源のシャットダウンあるいはリブート処理を実行したりするためである。そこで、分散処理システムでは、システムダウンまでに行ったジョブ処理の結果の利用を可能とするために、実行途中の状態を定期的にあるいは適当なタイミングで保存(チェックポイント)することが行われる。コンピュータシステムが復旧すると、チェックポイントされた時点からジョブ処理の実行を再開(リスタート)することが可能となる。分散処理システムでは、チェックポイントから再開する以下の方式がある。
第一の方法は、処理の対象となるプログラムの実行途中の状態を記憶装置に保存させる機能を持たせることである。第一の方法は、処理の対象となるプログラムの実行を再開するとき、記憶装置に保存させた実行途中の状態を読み出す。しかし、第一の方法はプログラム作成者の負担が大きくかつ汎用性もない。自作でチェックポイントリスタートする方式では、プログラム作成者はジョブの対象のソースプログラムが入手可能であり、かつソースプログラム中のどのデータを保存すればよいかを熟知している必要がある。このため、この方式は、事実上自作のプログラムのみでしか利用できない。
第二の方法は、チェックポイントから処理の対象となるプログラムの実行を再開するためのライブラリを利用するものである。例えば、Wisconshin大により公開されたシステム(Condor)は、チェックポイント用のライブラリを利用するオブジェクトファイルや実行ファイルなどのコンパイルされたプログラムを作成することが可能である。Condorはチェックポイント用のライブラリの機能を用いてジョブの実行途中の状態のチェックポイントをすることができる。チェックポイントされたファイルがある場合には、ジョブの再実行時には自動的にその状態から実行を再開できる。しかし、Condorなどバッチシステムが行うチェックポイントでは、実装が公開されていないOSではチェックポイントを作成することが不可能である。また、Condorはバイナリの再コンパイルが必要であり、ソースプログラムの入手ができない場合は、チェックポイントできない。例えば、チェックポイントを実現するために、Condorのようにバッチシステムの内部機能として実装する必要がある。
第三の方法は、仮想計算機(VM)のサスペンド機能を用いることでチェックポイントおよびリスタートをするものである。例えば、VMWare社の製品VMWareは、システムがサスペンド状態になるとOSおよび全てのプロセスの状態をゲストOSのイメージに保存することができる。第三の方法は、ゲストOSに保存されたイメージをリジュームすることで実行を再開できる。VMWareを利用するチェックポイントは、一般のバッチシステムでチェックポイントリスタートすることができない。このため、キューイングやワーカ計算機の計算資源の利用ポリシー(キュー設定)などを柔軟に設定できず、ファイル転送などの設定も利用者が設定する必要がある。また、バッチシステムを利用してチェックポイントリスタートするジョブを書く仕組みがない。
従来技術として、下記の文献がある。
特開2004−334493号公報 特開2006−560281号公報
本発明は、ジョブ処理の途中の経過情報の保存をジョブ処理装置に拠らず可能とするプログラム、方法、装置、およびシステムの提供を目的とする。
本発明の第一の解決手段では、ジョブ処理装置でのジョブ処理の実行の結果を取得する分散処理装置は以下を実行する。分散処理装置は、ジョブ処理装置が有する仮想計算機で動作する基本ソフトウェアがジョブ処理を検出する第一の手順情報を作成する。そして、分散処理装置は、仮想計算機の特定の時点での処理の状態を再現し得る仮想計算機の状態情報を、ジョブ処理装置から分散処理装置に送信する第二の手順情報を作成する。そして、分散処理装置は、第一の手順情報と第二の手順情報とを含むジョブスクリプトファイルをジョブ処理装置のジョブ管理部に送信する。そして、分散処理装置は、ジョブ処理装置から送信された状態情報を記憶部に格納する。
本発明の第二の解決手段では、第一の解決手段に加えて、分散処理装置は、第二の手順情報を作成するステップは更に、仮想計算機の特定の時点での状態を再現し得る仮想計算機の状態情報を送信させるときに、仮想計算機を中断する処理を実行させる手順情報を有するジョブスクリプトファイルを作成する。
本発明の第三の解決手段では第一の解決手段に加えて、ジョブ処理が異常終了したことを検出すると、ジョブ処理に対応する状態情報を記憶部から読出する。そして、分散処理装置は、読み出した状態情報をソフトウェアで展開させる手順を記載した再開ジョブスクリプト情報を作成する。そして、分散処理装置は、再開ジョブスクリプトファイルをジョブ処理装置に送信する。
本発明の第四の解決手段では第一の解決手段に加えて、分散処理装置は、ジョブ処理を実行させるソフトウェアにジョブ処理の対象およびジョブの入力データを格納した状態情報を、ジョブ処理装置に送信する。
本発明は、ジョブ処理装置の仮想的な計算機でジョブ処理を実行させ、仮想的な計算機の特定の時点での状態を再現し得る仮想計算機情報をジョブ処理装置から取得する。本発明によって、ジョブ処理の途中の経過情報の保存がジョブ処理装置に拠らず可能となる。その結果、ジョブ処理装置の計算資源を最適に利用することが可能となる。
以下、本実施例では、「ジョブ」は、利用者がマスター計算機10に対して要求する仕事の単位あるいはワーカ計算機20が実際に処理を実行する対象のプログラムであるとする。また、本実施例では、「ジョブ記述」は、ジョブ記述はジョブを実行させるために必要な処理手順を規定したワークフロー情報であるとする。また、本実施例では、「ジョブスクリプト」は、ワーカ計算機20がジョブの処理を実行するための手順情報を有するファイルであるとする。
図1は本実施例でのバッチシステム1のシステム構成図である。
バッチシステム1は、ジョブの処理を管理するマスター計算機10と各ジョブを実行するワーカ計算機20とがネットワーク30によって接続される構成である。ネットワーク30は、LAN(Local Area Network)、インターネットなどである。本実施例のバッチシステム1の一つの計算機がマスター計算機10となり、一つ以上の複数のワーカ計算機20にジョブを割り振る構成となる。
バッチシステム1の処理の概要は以下となる。マスター計算機10(分散処理装置)はバッチシステム1の利用者からジョブ記述を受付ける。マスター計算機10はジョブ記述からVirtual Machine(仮想計算機である。以下、VMとする)イメージデータおよびジョブスクリプトを作成する。VMイメージデータは仮想計算機が動作する特定の時点における状態が保存されたファイルである。マスター計算機20はジョブ記述、VMイメージデータ、およびジョブスクリプトをワーカ計算機20に送信する。
ワーカ計算機20は仮想計算機を実行する機能を有する。仮想計算機は、ワーカ計算機20内にCPUや記憶部等のリソースを仮想化したコンピュータを実行するソフトウェアである。仮想化とは、ワーカ計算機20を構成する複数のハードウェア的な要素(CPU、メモリ、ハードディスク、通信回線等)をワーカ計算機20の実際の構成とは異なる構成であるかのように認識させる技術のことである。
計算機はVMイメージデータを展開することにより、VMイメージデータに格納された時点の仮想計算機を再現することが可能となる。仮想計算機のソフトウェアとして、VMware ESX Server(登録商標)、Xen(登録商標)等が提供されている。
ワーカ計算機20は仮想計算機上でジョブを実行する。ワーカ計算機20はジョブの処理の結果をマスター計算機10に送信する。

次に、マスター計算機10について説明する。なお、本実施例のマスター計算機10のOSはUNIX(登録商標)またはLinux(登録商標)であるとして記載するが、Windows(登録商標)など他のOSでも容易に実装可能である。
図2は本実施例でのマスター計算機10の機能ブロック図である。マスター計算機10は、ジョブ投入モジュール11およびバッチ管理モジュール12を有する。
バッチ管理モジュール12は、ジョブ投入モジュール11から投入されたジョブに対してジョブIDを付与する。また、バッチ管理モジュール12は、入力されたジョブを適当なワーカ計算機20への振分けを行う。また、バッチ管理モジュール12は、ワーカ計算機20にジョブ処理を実行させる。また、バッチ管理モジュール12は、ジョブ処理結果を回収する。また、バッチ管理モジュール12が複数のジョブの処理を行う場合、ジョブ投入モジュール11から受付けたジョブをバッチ処理管理テーブル70に格納する。
バッチ管理モジュール12は、エージェント16、ワーカ計算機管理テーブル50、およびバッチ処理管理テーブル70を有する。バッチ管理モジュール12は、ジョブ投入モジュール11からジョブを受付ける機能を有する。バッチ管理モジュール12は、受付けたジョブの処理を実行するワーカ計算機20を選択する。
エージェント16は、ワーカ計算機20に対して各種の情報の送受信を行う。ワーカ計算機20に送信する情報は、例えば、VMイメージデータ、入力ファイル情報、ジョブスクリプトなどである。またワーカ計算機20から受信する情報は、ジョブの終了情報、チェックポイントファイルデータなどである。
ワーカ計算機管理テーブル50は、各ワーカ計算機20の処理能力の情報を管理するテーブルである。ワーカ計算機管理テーブル50は、バッチシステム1に接続する各ワーカ計算機20の処理能力の情報を有する。また、バッチ管理モジュール12は、一定時間毎にワーカ計算機20の負荷の情報を取得し、ワーカ計算機管理テーブル50に負荷の情報を格納する。バッチ管理モジュール12は、例えば、ワーカ計算機20の負荷の状況、計算処理能力に応じてジョブを実行させるワーカ計算機20を決定する。
バッチ処理管理テーブル70は、バッチ処理の対象のジョブを一時的に格納するテーブルである。
ジョブ投入モジュール11は、既存のバッチ管理モジュール12の追加機能としてマスター計算機10に実装する。ジョブ投入モジュール11は、入力されたジョブ記述17から実行すべきジョブの検出処理、ジョブの進行状態の管理などを行う。
ジョブ投入モジュール11は、VMイメージ作成部13、ジョブスクリプト作成部14、ジョブ管理部15、VMイメージテーブル40、およびジョブ状態管理テーブル60を有する。
ジョブ投入モジュール11のVMイメージ作成部13は、ワーカ計算機20に実行させるための仮想計算機のデータを生成する。
ジョブ投入モジュール11のジョブスクリプト作成部14は、ジョブスクリプトを作成する。ジョブスクリプトは、ワーカ計算機20に与えるジョブ記述の処理の手順である。ジョブスクリプトはワーカ計算機20のVM管理モジュール22で実行される。ジョブスクリプトはワーカ計算機20のVMイメージデータを展開して仮想計算機を起動する機能、ワーカ計算機20のジョブの結果を送信する機能、ワーカ計算機20のゲストOS26の起動あるいは停止をする機能、ワーカ計算機20のスタータ機能28にジョブ記述の実行の開始を指示する機能、ワーカ計算機20のスタータ機能28を監視する機能、ゲストOS26の機能を用いてジョブ記述を共有フォルダ29に書き出す機能、ワーカ計算機20のチェックポイントの送信機能などをワーカ計算機20に実行させるプログラムである。
ジョブ投入モジュール11のジョブ管理部15は、ワーカ計算機20でのジョブ処理の実行の状態を管理する。例えば、バッチ管理モジュール12がワーカ計算機20にジョブを投入済みか否か、ワーカ計算機20がジョブを実行中か否か、ワーカ計算機20がジョブ処理を完了したか否か、ワーカ計算機20にてジョブ処理が異常終了したか否かなどを管理する。また、ジョブ管理部15は入力されたチェックポイントファイルを管理する。また、ジョブ管理部15はジョブ処理の異常終了を検出した場合にジョブの再投入をジョブ投入モジュール11に指示する。
VMイメージテーブル40は、雛形となるVMイメージデータ、VMイメージ作成部13が作成したジョブ毎のVMイメージデータ、およびチェックポイント毎にワーカ計算機20から受信したチェックポイントファイルを格納するテーブルである。
ジョブ状態管理テーブル60は、ワーカ計算機20に投入するジョブの状態の情報を格納するテーブルである。図3は本実施例でのジョブ状態管理テーブル60の構成図である。
ここで、ジョブ状態管理テーブル60について説明する。ジョブ状態管理テーブル60は、ジョブID情報61、ジョブ名情報62、状態情報63、チェックポイント名情報64、およびジョブスクリプト名情報66とから構成されるレコード65をジョブ毎に有する。
ジョブID情報61は、ジョブ毎に一意に付される番号である。バッチ管理モジュール12がジョブ毎に付加する。ジョブ名情報62は、利用者から入力されたジョブ記述17によって登録されたジョブ名である。
状態情報63は、ジョブ処理の現在の状態が格納される。例えば、ジョブがワーカ計算機20にて実行中であることを示す「処理中」、ワーカ計算機20でのジョブ処理が終了し、ジョブ処理の結果を取得したことを示す「終了」、ワーカ計算機20でのジョブ処理が異常終了したことを示す「異常終了」の状態に区分する。
チェックポイント名情報64は、ジョブに対応するチェックポイントのファイル名情報である。本実施例のチェックポイントファイルはVMイメージデータである。チェックポイントファイルはジョブ毎にファイル名を対応づけられる。チェックポイントファイルはVMイメージテーブル40に格納される。
ジョブスクリプト名情報66は、ジョブスクリプト作成部14が作成したジョブ記述17に応じたジョブスクリプトファイルのファイル名を格納する。ジョブスクリプトファイルは記憶部104に格納する。
次に、マスター計算機10のハードウェア構成について説明する。図4は本実施例でのマスター計算機10のハードウェア構成である。
マスター計算機10は、制御部101、メモリ102、入力部103、記憶部104、出力部105、およびネットワークインターフェース部106を有し、それぞれがバス107に接続された構成である。
制御部101はマスター計算機10の全体を制御する。例えば、Central Processing Unit(CPU)である。また、制御部101はメモリ102に展開されたジョブ管理プログラム108を実行する。ジョブ管理プログラム108は制御部101をジョブ投入モジュール11、バッチ管理モジュール12として機能させる。
メモリ102は、記憶部104に格納されたジョブ管理プログラム108が展開される記憶領域である。また、メモリ102は制御部101がジョブ管理プログラム108を実行する際に生成される種々の演算結果が格納される記憶領域である。メモリ102は例えばRandom Access Memory(RAM)である。
入力部103は利用者からのジョブの処理の対象となるジョブ記述17を受付ける。入力部103は、例えば、キーボード、マウス、タッチパネル等である。なお、ジョブ記述17はネットワーク30を経由して入力されることも可能である。出力部105は、ジョブの処理結果を出力する。
出力部105は、例えば、ディスプレイ(表示装置)等である。記憶部104は、ジョブ管理プログラム108、VMイメージテーブル40、ワーカ計算機管理テーブル50、ジョブ状態管理テーブル60、およびバッチ処理管理テーブル70が格納される。記憶部104は例えばハードディスク装置である。
ネットワークインターフェース部106は、ネットワーク30に接続し、ワーカ計算機20との間で各種の情報の送受信を行う。
次にワーカ計算機20について説明する。図5は本実施例でのワーカ計算機の機能ブロック図である。ワーカ計算機20は、ワーカ計算機20の全体を管理するソフトウェアであるホストOS21を有する。
ホストOS21は仮想計算機に相当するVMイメージデータを管理するVM管理モジュール22を有する。VM管理モジュール22はジョブスクリプトに従って動作する。また、VM管理モジュール22はマスター計算機10との間の情報の送受信を行う。
また、ホストOS21はディレクトリ23を有する。ディレクトリ23はジョブを処理するためのファイルを格納する領域である。ワーカ計算機20はディレクトリ23をジョブ毎に生成する。例えば、ワーカ計算機20は、複数のジョブをジョブに対応する複数のディレクトリ23毎に格納する。ディレクトリ23には、VMイメージデータ24、入力ファイル情報251、および出力ファイル情報252が格納される。入力ファイル情報251は、ジョブを実行するために必要な変数情報などが格納される。出力ファイル情報252は、ジョブの処理結果情報が格納される。
VMイメージデータ24による仮想計算機はゲストOS26を有する。ゲストOS26は実行すべきジョブ記述であるジョブ27、ゲストOS26上でのジョブ処理を管理するスタータ機能28、およびホストOS21とゲストOS26との間のデータを送受信するための共有フォルダ29を有する。
ホストOS21はゲストOS26をVMイメージデータによって扱う。また、ホストOS21はゲストOS26に対するサスペンド機能を有する。本実施例でのサスペンド機能は、ゲストOS26の任意の時点の状態を保存して、次にゲストOS26が処理を再開するときに、保存した状態からの処理を再開することを可能とする。
ここで、本実施例でのワーカ計算機20で実行される仮想計算機について説明する。ワーカ計算機20で動作する仮想計算機はサスペンド(中断)およびリジューム(再起動)の機能を有する。仮想計算機のゲストOS26の特定の時点の状態情報を保存するためである。
本実施例の仮想計算機のゲストOS26の仮想的なネットワークの構成は、ゲストOS26がホストOS21にのみアクセスできるホストオンリーネットワーク31の構成とする。
図6は本実施例でのホストオンリーネットワーク31の概念図である。ホストオンリーネットワーク31の構成は、ホストOS21およびゲストOS26のみが接続する特別なネットワークである。すなわち、ゲストOS26の共有フォルダ29をネットワーク30に接続する他の計算機が共有することを防ぐことが可能となる。この結果、ゲストOS26のネットワーク上のセキュリティが確保され、ジョブに関するデータの漏洩を防ぐことが可能となる。なお、ゲストOS26がネットワーク30に接続する構成とすることも可能である。
また、ゲストOS26およびホストOS21を接続する仮想的なネットワークは、例えばInternet Protocol(以下、IPとする)プロトコルによって接続する。ゲストOS26およびホストOS21はIPアドレスを固定値に設定する。なお、IPアドレスは、マスター計算機10およびワーカ計算機20が属するネットワーク30内のIPアドレスと競合しないプライベートアドレスを任意に設定することが可能である。
次に、ワーカ計算機20のハードウェア構成について説明する。図7は本実施例でのワーカ計算機20のハードウェア構成である。ワーカ計算機20は、制御部111、メモリ112、入力部113、記憶部114、出力部115、およびネットワークインターフェース部116を有し、それぞれがバス117に接続された構成である。
制御部111はワーカ計算機20の全体を制御する。例えば、Central Processing Unit(CPU)である。また、制御部111はメモリ112に展開されたVM管理プログラム118を実行する。VM管理プログラム118は制御部111をVM管理モジュール22として機能させる。なお、以降の説明では、説明の簡単化のため、制御部111が実行すると記述する。
メモリ112は、記憶部114に格納されたVM管理プログラム118が展開される記憶領域である。また、メモリ112は制御部111がVM管理プログラム118を実行する際に生成される種々の演算結果が格納される記憶領域である。メモリ112は例えばRandom Access Memory(RAM)である。
入力部113は利用者からのジョブの処理の対象となるジョブ記述を受付ける。入力部113は、例えば、キーボード、マウス、タッチパネル等である。出力部115は、ジョブの処理結果を出力する。
出力部115は、例えば、ディスプレイ(表示装置)等である。記憶部114は、VM管理プログラム118およびディレクトリ23の情報が格納される。記憶部114は例えばハードディスク装置である。
ネットワークインターフェース部116は、ネットワーク30に接続し、マスター計算機10との間で各種の情報の送受信を行う。
次に、バッチシステム1に利用者からジョブ記述を新規に登録された場合に、マスター計算機10が実行する処理について説明する。図8は本実施例でのジョブ投入モジュール11が実行する処理のフローチャートである。ジョブ投入モジュール11は、利用者からバッチシステム1に対して与えられたジョブネットとしてのジョブ記述17を受付ける(S01)。ジョブ投入モジュール11は、ジョブ記述17からチェックポイントファイル名、VMイメージデータ、およびジョブスクリプトを作成する(S02、S03、S04)。また、ジョブ投入モジュール11はジョブをバッチ管理モジュール12に投入する(S05)。またジョブ投入モジュール11はジョブの処理状況を管理する(S06)。以下、各ステップについて詳細に説明する。
マスター計算機10のジョブ投入モジュール11は利用者からジョブ記述17を受信する(S01)。
本実施例のジョブ記述17には、ワーカ計算機20のジョブ27に対応する実行すべきジョブ記述、ジョブ処理の実行の開始前にワーカ計算機20に送信すべき入力ファイル情報、およびジョブ処理の実行の完了後にワーカ計算機20から受信すべき出力ファイル情報が格納される。図9は本実施例でのジョブ記述17の一例である。本実施例でのジョブ記述17は、テキスト形式で利用者が記述する。なお、図9中の行頭の数字は、説明のための行番号であり、ジョブ記述には含まれない。図9のジョブ記述の4行目にジョブ処理の実行の開始前に転送するファイル群が記載される。実行の開始前に転送するファイル群は例えば、入力パラメータや外部関数情報である。図9のジョブ記述の5行目にジョブ処理の実行後に転送するファイル群が記載される。なお、記載される複数のファイル群はカンマ文字で区切られる。図9のジョブ記述の7行目に実行すべきジョブ記述が記載される。ジョブは実行すべきジョブ記述にしたがって処理を実行することである。実行すべきジョブ記述は複数行の記載が可能である。なお、テキスト形式によるジョブ記述17からの情報の抽出は適当な構文解析装置が行う。
次に、ジョブ投入モジュール11はチェックポイントを保存するファイル名を設定する(S02)。本実施例のチェックポイントは、所定の状態での仮想計算機の状態が格納されたVMイメージデータである。チェックポイントはジョブの処理の途中の状態を保存しておき、ジョブの処理の途中でデータを失った場合にチェックポイントの時点から処理の再開を可能とするために記憶する。チェックポイントを保存するファイル名はジョブ投入モジュール11で管理する対象のジョブ毎に一意となる名前を設定する。
ジョブ投入モジュール11はジョブ記述17からVMイメージデータ24を作成する(S03)。本実施例では、マスター計算機10およびワーカ計算機20は仮想計算機を一つのファイルとして扱う。VMイメージデータ24はゲストOS26がインストールされた状態である。VMイメージデータ24のゲストOS26は、例えばWindows(登録商標)、UNIX(登録商標)またはLinux(登録商標)などの一般的なOSである。
ゲストOS26は、ゲストOS26とホストOS21とがデータを共有するための共有フォルダ29を有する。なお、共有フォルダ29はマスター計算機10によって共有される必要はない。VMイメージデータ24はスタータ機能28を有する。
スタータ機能28は、ワーカ計算機20の仮想計算機にジョブ処理を実行させるプログラムである。スタータ機能28は、ゲストOS26内の共有フォルダ29内に格納された実行すべきジョブ記述であるジョブ27を検出する。スタータ機能28は、ジョブ27に従ってジョブを実行する。スタータ機能28はワーカ計算機20のホストOS21と情報を送受信する機能を有する。スタータ機能28はホストOS21にジョブの処理の完了を通知する。例えば、スタータ機能28は共有フォルダ29に出力ファイル情報を格納する。共有フォルダ29がない場合、スタータ機能28がVM管理モジュール22にデータを送信およびスタータ機能28がVM管理モジュール22からデータを受信する方法も可能である。
VMイメージデータは、VMイメージデータがワーカ計算機20内で起動されるとゲストOS26内のスタータ機能28が実行を開始するように構成される。例えば、OSがWindows(登録商標)のときは自動起動するサービスとしてスタータ機能28を登録し、OSがUNIX(登録商標)またはLinux(登録商標)のときは必ず実行するデーモンとしてスタータ機能28を登録する。
ここで、マスター計算機10のジョブ投入モジュール11がVMイメージデータ24を作成するS03の処理について説明する。図10は本実施例でのジョブ投入モジュール11がVMイメージデータ24を作成する処理のフローチャートである。
ジョブ投入モジュール11はジョブ記述17を受付ける(S11)。
ジョブ投入モジュール11はVMイメージテーブル40の雛型のVMイメージデータをコピーする(S12)。コピーされたVMイメージデータは、以降の処理においてワーカ計算機20で展開するVMイメージデータ24の作成に使用する。
ジョブ投入モジュール11は、ジョブ記述17内の実行すべきジョブ記述をジョブ情報27としてコピーされたVMイメージデータ内の共有フォルダ29に格納する(S13)。なお、実行すべきジョブの記述の共有フォルダ29への格納は仮想計算機のツールを用いる。
ジョブ投入モジュール11は作成したVMイメージデータ24をチェックポイントファイル保存先に保存する(S14)。将来、ワーカ計算機20からチェックポイントファイルを取得する前にジョブ処理が異常終了した場合に、保存したVMイメージデータ24を使用してジョブ処理の再開をするためである。
ジョブ投入モジュール11はVMイメージデータ24を他の手順によって作成することも可能である。雛形となるVMイメージデータは、ホストOS21がVMイメージデータ中のゲストOS26の共有フォルダ29のファイルを共有できる設定であるものとする。ジョブ投入モジュール11はジョブ27を共有フォルダ29に格納する。ワーカ計算機20では、ゲストOS26のスタータ機能28は、ホストOS21からジョブの実行を開始する指示を受けた場合、共有フォルダ29に格納されたジョブ27を実行するように設定する。なお、スタータ機能28が複数回のジョブの実行を開始する指示をホストOS21から受けた場合は、一回目の指示のみを有効と判定するように構成する。なお、スタータ機能28は、共有フォルダ29内のジョブ27を監視する必要はない。
また、マスター計算機10がVMイメージデータの仮想計算機を実行する機能を有する場合は、ジョブ投入モジュール11は以下の手法によってVMイメージデータ24を作成することが可能である。
ジョブ投入モジュール11は、マスター計算機10でVMイメージデータを展開する。ジョブ投入モジュール11は、VMイメージデータのゲストOSが有するファイル共有機能を用いてジョブ27を共有フォルダに書き出す。図8の説明に戻る。
ジョブ投入モジュール11はジョブ記述とチェックポイントとからジョブスクリプトを作成する(S04)。
ここで、ジョブ投入モジュール11がジョブスクリプトを作成するS04の処理について説明する。図11は本実施例でのジョブスクリプト作成部の処理のフローチャートである。
ジョブ投入モジュール11は入力情報を取得する(S21)。入力情報はジョブ27およびチェックポイントファイルの保存先情報である。
ジョブスクリプトの作成は、雛形となるジョブスクリプトのデータを予め有しておき、雛型となるジョブスクリプトのデータを修正することによって作成することも可能であるし、ジョブ毎に新規にジョブスクリプトを作成することも可能である。
本実施例では、雛形となるジョブスクリプトのデータをコピーして、コピーされた雛形となるジョブスクリプトのデータを修正することでジョブスクリプトを作成する方法を説明する。雛形となるジョブスクリプトは、ジョブ処理の実行の開始をスタータ機能28に指示する機能を有する。
ジョブ投入モジュール11はジョブ記述情報17から入力ファイル情報251となる部分を取り出す。ジョブ投入モジュール11は、ワーカ計算機20でのジョブ処理の実行の開始前にワーカ計算機20に送信すべき入力ファイル情報251に取り出した入力ファイル情報251の記述の部分を設定する(S22)。
ジョブ投入モジュール11は、ディレクトリ23の入力ファイル情報251をVMイメージデータ24の共有フォルダ29にコピーするように、ジョブスクリプトを書き換える(S23)。ワーカ計算機20はS23で書き換えられたジョブスクリプトを実行する。例えば、S23での入力ファイル情報251のコピー処理は、VMイメージデータ24の内容について読み書きをするワーカ計算機20のツールが行う。また、ゲストOS26のファイル共有の機能を用いて行うことも可能である。スタータ機能28とVM管理モジュール22との間は共有フォルダ29を介して情報の受け渡しを行う。
なお、マスター計算機10がVMイメージデータの内容について読み書きをするツールを有する場合、ジョブ投入モジュール11は入力ファイル情報251を、バッチ管理モジュール12に投入する前に共有フォルダ29内に予め格納することも可能である。VMイメージデータの共有フォルダ29に入力ファイル情報251予め格納することにより、バッチ管理モジュール12、ワーカ計算機20で扱うファイルがVMイメージデータのみとなる利点がある。
ジョブ投入モジュール11は、ジョブ処理の完了時の処理のジョブスクリプトを書き換える(S24)。ワーカ計算機20はS24で書き換えられたジョブスクリプトに従って処理を実行する。S24で書き換えられるジョブスクリプトは例えば以下となる。ジョブ処理が完了すると、ワーカ計算機20はジョブ処理の結果として得た出力ファイルをVMイメージデータ24の共有フォルダ29に格納する。ワーカ計算機20が実行するコピー処理は、ワーカ計算機20のVMイメージデータ24の内容について読み書きが可能なツールによって行う方法、ゲストOS26のファイル共有の機能を用いて行う方法などがある。ジョブ投入モジュール11は、ワーカ計算機20が共有フォルダ29の出力ファイルからディレクトリ23内の出力ファイル情報252にジョブ処理の結果をコピーする処理を実行するようにジョブスクリプトを書き換える。
マスター計算機20のネットワーク識別子を設定する(S25)。ジョブ管理部15とワーカ計算機20との間で通信を可能とするためである。ネットワーク識別子は例えば、IPアドレスあるいはホスト名である。ネットワーク識別子はバッチシステム1上でマスター計算機10を特定する情報である。なお、S25の処理を毎回のジョブスクリプトの作成時に実行するのではなく、ジョブスクリプトの雛形を更新することによっても可能である。
ジョブ投入モジュール11は、S02で設定したチェックポイントファイルを格納するファイル名を設定する(S26)。ワーカ計算機20のVM管理モジュール22がチェックポイントファイルをマスター計算機10に対して送信する。マスター計算機10は受信したチェックポイントファイルを格納する場所情報を知る必要があるためである。
以上によってジョブスクリプトが作成される。ジョブ投入モジュール11は作成したジョブスクリプトファイルを記憶部104に保存する。ジョブ投入モジュール11はジョブスクリプトファイル名情報66をジョブ状態管理テーブル60に格納する。
また、マスター計算機10およびワーカ計算機20はファイル共有機能を利用してジョブ状態管理テーブル60を共有する構成とすることも可能である。VM管理モジュール22は、共有されたジョブ状態管理テーブル60にジョブ処理の状態情報63を更新する。
ジョブ投入モジュール11のジョブ管理部15は、ワーカ計算機20で実行されるジョブスクリプトが送信するジョブ処理の実行の状態を受信する。
次に、ジョブ投入モジュール11は、ジョブ、作成したVMイメージデータ、およびジョブスクリプトファイルをバッチ管理モジュール12に送る(S05)。
バッチ管理モジュール12はジョブ投入モジュール11から受付けたジョブをワーカ計算機20に実行させる。バッチ管理モジュール12は、ワーカ計算機20が送信するファイルを受信することが可能である。
バッチ管理モジュール12は、ジョブ投入モジュール11から受付けたジョブに対してジョブIDを付加する。ジョブIDは対象のジョブを特定するための識別番号情報である。バッチ管理モジュール12は、付加したジョブID情報をジョブ投入モジュール11に送る。
ジョブ投入モジュール11のジョブ管理部15は、ジョブID情報をバッチ管理モジュール12から取得する。ジョブ管理部15は、ジョブ名情報、チェックポイントファイル名情報をジョブ投入モジュール11から取得する。ジョブ管理部15は、ジョブID情報61、ジョブ名情報62、およびチェックポイントファイル名情報64をジョブ管理テーブルの新規のレコード65に登録する(S06)。
一方、バッチ管理モジュール12は、ワーカ計算機管理テーブル50によってジョブの処理を実行させるワーカ計算機20を決定する。エージェント16は、決定したワーカ計算機20にジョブの処理に必要な情報を送信する。バッチ管理モジュール12がワーカ計算機20に新規のジョブを投入した場合、ジョブ投入モジュール11は、ジョブ状態管理テーブル60に、状態情報63を「処理中」状態として格納する。
バッチ管理モジュール12は、受付けたジョブに対するバッチ処理を管理する。以上によって、バッチ管理モジュール12はワーカ計算機20にジョブを与える。
バッチ管理モジュール12は、ワーカ計算機20に格納された出力ファイル情報252をマスター計算機10に送信する旨の指示をワーカ計算機20に送信する。
バッチ管理モジュール12は、チェックポイントファイルの転送をワーカ計算機20に対して指示する機能を有する。なお、バッチ管理モジュール12がVMイメージデータファイルの転送を指示する機能を有さない場合、ワーカ計算機20がジョブ投入モジュール11にアクセスしてチェックポイントファイルを取得する機能を持つこととしてもよい。
マスター計算機10のバッチ管理モジュール12がワーカ計算機20からのチェックポイントファイルを受信する機能を持たない場合、ジョブ投入モジュール11が既存のファイル共有機能によってチェックポイントファイルを転送することも可能である。既存のファイル共有機能はUNIX(登録商標)ではNFS(Network File System)、rsync、ftp(File Transfer Protocol),rcp(Remote Copy)などである。
マスター計算機10のジョブ管理部15は、バッチ処理モジュール12に投入したジョブの終了を監視する。ジョブ管理部15はバッチシステム1に定期的にジョブ状態管理テーブル60の全てレコード65のジョブの状態を問い合わせる。ジョブ管理部15は、チェックポイントの作成を監視する。ジョブ管理部15は、VM管理モジュール22からチェックポイントデータを受信したことを検出した場合は、ジョブ状態管理テーブル60の状態情報63を更新する。
ジョブ管理部15は、ジョブが完了の状態になったら終了する。ジョブ管理部15はジョブ処理の結果を取得したレコードをジョブ状態管理テーブル60から削除する。ジョブ投入モジュール11は出力ファイル情報252をジョブ処理の結果として利用者に送信する。
別の構成例として、バッチ管理モジュール12がVMイメージデータのみを転送するバッチシステム1の構成の場合、ジョブ管理部15は、ワーカ計算機20からジョブID及びチェックポイント保存先の他にジョブスクリプトを受け取る。ジョブ管理部15は、ジョブ処理が完了すると、ジョブスクリプトに記載された出力ファイル情報252を特定する。ジョブ管理部15は、バッチ管理モジュール12がワーカ計算機20からチェックポイントファイルから、ジョブ処理の実行が完了した後に出力ファイル情報252を取り出す。
一方、ジョブ管理部15は、ジョブ状態管理テーブル60にチェックポイントがあること、状態情報63が「終了」ではないこと、およびバッチ管理モジュール12ではジョブがないことを満たす場合に、ジョブは「異常終了」したと判定する。ジョブ管理部15は、ジョブ状態管理テーブル60のジョブID情報61がバッチ管理モジュール12のバッチ処理管理テーブル70に実行中のジョブとして存在することを確認する。ジョブの存在の確認は、ジョブ管理部15が例えば予め定めた時間間隔によって定期的に行う。
ジョブ管理部15は異常終了したジョブを検出すると、ジョブ状態管理テーブル60の状態情報63を「異常終了」状態に更新する。なお、ジョブが異常終了し、かつ、チェックポイントファイルがない場合、ジョブ管理部15はジョブを最初から実行させる。
一方、チェックポイントファイルがあるとき、ジョブ管理部15は、ジョブを再投入する。ジョブを再投入した場合、バッチ管理モジュール12はジョブIDを更新する。ジョブ管理部15はジョブ状態管理テーブル60のジョブID情報61を更新する。
ジョブ投入モジュール11は、リスタートジョブに対応するジョブスクリプトを作成する。ジョブ管理部15は、ジョブ処理の再開のためのジョブであるチェックポイントファイルをバッチ管理モジュール12に送信する。
ジョブ投入モジュール11のジョブ管理部15は、リスタートジョブのジョブIDを監視対象とする。ジョブ管理部15はジョブ処理の結果を取得すると、結果を取得したジョブの管理を終了する。
次にワーカ計算機20が実行する処理について説明する。
ワーカ計算機20は、ジョブ処理の実行、チェックポイントファイルの送信、およびジョブ処理結果の通知を行う。ワーカ計算機20のVM管理モジュール22は、エージェント16から取得したジョブスクリプトに従って、上記の処理を実行する。
ここで、ワーカ計算機20が実行するジョブスクリプトの動作について説明する。図12は、本実施例でのワーカ計算機20で動作するジョブスクリプトのフローチャートである。
ワーカ計算機20のVM管理モジュール22はマスター計算機10のバッチ管理モジュール12のエージェント16から取得した入力ファイル情報251、VMイメージデータ24をディレクトリ23に格納する(S31)。VM管理モジュール22はマスター計算機10のバッチ管理モジュール12のエージェント16から取得したVMイメージデータ24から仮想計算機を起動する(S32)。
VM管理モジュール22は、VMイメージデータ24内のゲストOS26が実行するスタータ機能28にジョブ処理の開始コマンドを発行する(S33)。スタータ機能28は入力ファイル情報251をジョブの入力情報として取得し、ジョブ処理を開始する。スタータ機能28は、例えば、デーモンとして構築し、ゲストOS26の起動時に同時に起動させる。スタータ機能28は、ジョブ27がコピーされた処理の結果生成されるファイルを監視し、ファイルができるまで何もしない。スタータ機能28は、ジョブ27のファイル出力を検出したら、ジョブ処理の実行を開始する。
なお、入力ファイル情報251があれば、スタータ機能28は仮想計算機が起動されると自動で処理を開始する構成としてもよい。また、マスター計算機10がVMイメージデータの内容について読み書きをするツールによって予め入力ファイル情報を共有フォルダ29に書き込んだ状態である場合、スタータ機能28は入力ファイル情報251から共有フォルダ29にコピーする処理は不要である。
ジョブ処理の開始コマンドを発行されたスタータ機能28はジョブ処理の終了を監視する(S34)。スタータ機能28は、ゲストOS26上のジョブ処理の実行プロセスを監視する。ワーカ計算機20のVM管理モジュール22は、出力ファイル情報252のファイルの存在を検知することによりジョブ処理の終了監視を行う。終了監視は、例えば、1秒に1回行う。VM管理モジュール22は、例えば、チェックポイントの転送を1時間に1回行う。終了監視およびチェックポイントの転送の時間間隔は、バッチシステム1の環境に合わせて適当に変更する。
VM管理モジュール22はチェックポイントファイルを送信するか否かを判別する条件を満たすか否かを判定する(S35)。条件は、例えば、ワーカ計算機20で予め定めた時間を経過した場合に条件を満たすと設定する。条件を満たすとき(S35:Yes)、VM管理モジュール22はチェックポイントファイルの作成、送信処理を実行する(S36)。
ここで、S36のチェックポイントファイルの作成、送信処理について説明する。図13は本実施例でのチェックポイントファイルの作成、送信処理のフローチャートである。
VM管理モジュール22は仮想計算機を中断(サスペンド)する。仮想計算機の動作を停止させ、現時点での仮想計算機の状態の再現を可能とする情報を取得するためである(S41)。VM管理モジュール22はVMイメージデータ24をチェックポイントファイルとしてマスター計算機10に送信する(S42)。
マスター計算機10のエージェント16はチェックポイントファイルを取得する。エージェント16は、ジョブ投入モジュールのジョブ管理部15にチェックポイントファイルが到達したことを通知する。ジョブ管理部15はチェックポイントファイルをVMイメージテーブル40に格納する。ジョブ管理部15はジョブ状態管理テーブル60の状態情報63を「処理中」に変更する。
VM管理モジュール22は仮想計算機を再起動する(S43)。仮想計算機は再起動するとサスペンドした時点のジョブ処理の続きを実行する。図12のフローチャートの説明に戻る。
スタータ機能28はジョブ処理が終了したか否かを判定する(S37)。スタータ機能28は、実行プロセスの有無によってジョブ処理の終了を判別する。ジョブ処理が終了していない場合(S37:No)、スタータ機能28は引き続きジョブ処理の終了を監視する。一方、ジョブ処理が終了した場合(S37:Yes)、スタータ機能28は処理結果を共有フォルダ29に格納する(S38)。スタータ機能28は、実行プロセスがなくなったら、ジョブ処理の結果のファイルを出力ファイル情報252に格納する。
VM管理モジュール22は共有フォルダ29にジョブ処理の結果が格納されたことを検出すると、ジョブ処理の結果を共有フォルダ29から読込み、出力ファイル情報252として格納する(S39)。従来のバッチシステム1では、ワーカ計算機20のホストOS21がジョブの終了を検知することができた。本実施例では、仮想計算機のゲストOS26がジョブを処理する。本実施例のVM管理モジュール22では、ホストOS21はゲストOS26のジョブ処理の完了を直接には検出することができない。そこで、スタータ機能28はジョブ処理の結果を共有フォルダ29に格納する。ホストOS21は共有フォルダ29に格納されたジョブ処理の結果を検出することができる。VM管理モジュール22は共有フォルダ29に格納されたジョブ処理の結果をマスター計算機10に送信する。
また、VM管理モジュールはマスター計算機10のエージェント16にジョブ処理の結果を送信する。他の方法として、マスター計算機10がチェックポイントファイル内のデータに関して読込または書込が可能な場合、ワーカ計算機10はチェックポイントファイルそのものをマスター計算機10に送信することも可能である。この場合、データ転送量は増加するが、ジョブスクリプトの処理は単純化される。
マスター計算機10のエージェント16はジョブ処理の結果を取得し、ジョブ記述17を入力した利用者に出力する。エージェント16は、ジョブ投入モジュールのジョブ管理部15にジョブ処理が完了したことを通知する。ジョブ管理部15はジョブ状態管理テーブル60の状態情報63を「終了」に変更する。
一方、バッチ処理では、ジョブ処理が異常終了する場合がある。例えば、ワーカ計算機20が電源断した場合、ワーカ計算機20のホストOS21にエラーが発生した場合などである。
ジョブ投入モジュール11は、以下の手順でワーカ計算機20に投入したジョブ処理が異常終了したと判定する。ジョブ投入モジュール11は、所定の時間毎にバッチ管理モジュール12のバッチ処理管理テーブル70のジョブ処理結果を確認する。ジョブ投入モジュール11は、バッチ処理管理テーブル70のジョブ処理結果が終了であり、かつ、バッチ処理管理テーブル70のジョブ処理結果が終了となってから所定の時間を経過してもワーカ計算機20からジョブ処理の結果情報を取得していない、ジョブ処理が異常終了したと判定する。
ジョブ投入モジュール11がワーカ計算機20でのジョブ処理が異常終了したことを検出した場合、ジョブ投入モジュール11は、バッチ管理モジュール12へのジョブの再投入処理を実行する。
ジョブ状態管理テーブル60内のジョブ処置の対象のレコード65を元に、作成済みのジョブスクリプトファイル66を読み出す。ジョブ投入モジュール11はジョブ処理を再開させるためのジョブスクリプトを作成する。
ジョブ投入モジュール11は、VMイメージテーブル40からVMイメージデータを読み出す。読み出す対象のVMイメージデータは、異常終了したジョブに対応する最新のチェックポイントファイルである。チェックポイントを保存してあるため、バッチシステム1内の他のワーカ計算機20でジョブ処理の続きを実行することができる。
ジョブ投入モジュール11はジョブ処理を再開させるためのジョブスクリプトをバッチ管理モジュール12に投入する。
ここでジョブ処理を再開させるためのジョブスクリプトについて説明する。
図14は、本実施例でのワーカ計算機20でジョブ処理の再開時に動作するジョブスクリプトのフローチャートである。
ワーカ計算機20のVM管理モジュール22はマスター計算機10のバッチ管理モジュール12のエージェント16から取得したVMイメージデータ24をディレクトリ23に格納する(S51)。S51で取得するVMイメージデータ24はVMイメージテーブル40に格納されたチェックポイントファイルである。ジョブ投入モジュール11は、ジョブ状態管理テーブル60のチェックポイント名情報64に対応するVMイメージテーブル40に格納されたチェックポイントファイルを読み出す。なお、ジョブ処理の再開時では、ジョブ処理の途中から実行を開始するため、入力ファイル情報251は不要である。
VM管理モジュール22はエージェント16から取得したチェックポイントファイルから仮想計算機を起動する(S52)。起動された仮想計算機のスタータ機能28はジョブ処理の実行を開始している状態である。スタータ機能28は既に実行中であるため、VM管理モジュール22がスタータ機能28にジョブ処理の開始コマンドを発行する処理は不要である。
スタータ機能28はジョブ処理の終了を監視する(S53)。VM管理モジュール22は条件を満たすか否かを判定する(S54)。条件を満たすとき(S54:Yes)、VM管理モジュール22はチェックポイントファイルの作成、送信処理を実行する(S55)。なお、S55の送信処理は図13の処理と同様である。
スタータ機能28はジョブ処理が終了したか否かを判定する(S56)。ジョブ処理が終了していない場合(S56:No)、スタータ機能28は引き続きジョブ処理の終了を監視する。一方、ジョブ処理が終了した場合(S56:Yes)、スタータ機能28は処理結果を共有フォルダ29に格納する(S57)。
VM管理モジュール22は共有フォルダ29にジョブ処理の結果が格納されたことを検出すると、ジョブ処理の結果を共有フォルダ29から読込み、出力ファイル情報252として格納する(S58)。また、VM管理モジュールはマスター計算機10のエージェント16にジョブ処理の結果を送信することも可能である。
以上により、仮想計算機の中断・再起動機能を活用し、仮想計算機の中で実行しているジョブの終了を検知することを可能とし、検知したジョブ終了をバッチシステム1に通知することができる。
本実施例は、ワーカ計算機20のホストOS21が仮想計算機で実行しているジョブの終了を検知し得るジョブスクリプトを作成するため、ジョブの終了をバッチ管理モジュール12に通知することが可能となる。本実施例は、仮想計算機によってジョブを実行するため、ワーカ計算機20のホストOS21の種類に制限されない。
また、ファイル情報の送受信はワーカ計算機20のホストOS21上のVM管理モジュール22とマスター計算機10のバッチ管理モジュール12との間で行う。
したがって、バッチシステム1において、また、任意のOSや任意のプログラムに関してチェックポイントおよびリスタートを行うことが可能になる。
また、ファイル転送はバッチ管理モジュール12が有する手段を利用するため、グリッド・コンピューティングの環境での特殊なファイル転送手段を利用する必要がある場合でも、仮想計算機の機能およびゲストOS26の機能では行えないようなファイル転送(例えばファイアーウォールを越える)が可能となる。
別の構成例として、VMイメージデータの雛型データを予めワーカ計算機20に格納しておくことも可能である。マスター計算機10はワーカ計算機20に、ジョブスクリプトおよび入力ファイル情報を送信する。ジョブスクリプトは、ワーカ計算機20が有するVMイメージデータから、ジョブ処理を実行する。ワーカ計算機20はチェックポイント毎のチェックポイントファイルはマスター計算機10に送信する。この構成により、マスター計算機10は最初のVMイメージデータの送信をする必要が無くなる。その結果、通信に要するデータ量が軽減する効果がある。
別の構成例として、マスター計算機10のバッチ管理モジュール12がワーカ計算機20からのファイル転送の機能を持たない場合がある。この場合マスター計算機10のジョブ投入モジュール11がワーカ計算機20のチェックポイントファイルの取得することも可能である。また、マスター計算機10のバッチ管理モジュール12がワーカ計算機20からのファイル転送の機能を持たない場合、ジョブ投入モジュール11はワーカ計算機20にジョブを開始させる旨の情報を通知する。
また、マスター計算機10のバッチ管理モジュール12がワーカ計算機20からのファイル転送の機能を持たない場合、ジョブ投入モジュール11のジョブ管理部15がワーカ計算機20からチェックポイントファイルを取得し、ジョブ管理部15がチェックポイントファイルをバッチ管理モジュール12に転送するよう構成する。
別の構成例として、バッチ管理モジュール12のファイル転送機能を利用する際に、VMイメージデータのみをワーカ計算機20に転送することも可能である。一つのジョブに対応するファイルが一つとなるため、バッチ管理モジュール12での管理が容易となる。
VMイメージだけを転送する場合、ジョブ投入モジュール11は、以下の処理を行う。ジョブ投入モジュール11はワーカ計算機20でジョブ処理の実行の前に転送するファイルとしてVMイメージデータ24を指定する。ジョブ投入モジュール11はジョブ処理の実行の結果としてワーカ計算機20から受け取るファイルとして、VMイメージデータ24を指定する。なお、この場合のジョブスクリプトは、実行開始前に転送すべき入力ファイル情報251をコピーするステップ、およびジョブ処理の完了後に転送すべき出力ファイル情報252をコピーするステップを省略する。
本実施例でのバッチシステム1のシステム構成図である。 本実施例でのマスター計算機10の機能ブロック図である。 本実施例でのジョブ状態管理テーブル60の構成図である。 本実施例でのマスター計算機10のハードウェア構成である。 本実施例でのワーカ計算機20の機能ブロック図である。 本実施例でのホストオンリーネットワーク31の概念図である。 本実施例でのワーカ計算機20のハードウェア構成である。 本実施例でのジョブ投入モジュール11が実行する処理のフローチャートである。 本実施例でのジョブ記述17の一例である。 本実施例でのジョブ投入モジュール11がVMイメージデータを作成する処理のフローチャートである。 本実施例でのジョブスクリプト作成部の処理のフローチャートである。 本実施例でのワーカ計算機20で動作するジョブスクリプトのフローチャートである。 本実施例でのチェックポイントファイルの作成、送信処理のフローチャートである。 本実施例でのワーカ計算機20でジョブ処理の再開時に動作するジョブスクリプトのフローチャートである。
符号の説明
1 バッチシステム
10 マスター計算機
11 ジョブ投入モジュール
12 バッチ管理モジュール
20 ワーカ計算機
21 ホストOS
22 VM管理モジュール
24 VMイメージデータ
251 入力ファイル情報
252 出力ファイル情報
26 ゲストOS
30 ネットワーク
31 ホストオンリーネットワーク
40 VMイメージテーブル
50 ワーカ計算機管理テーブル
60 ジョブ状態管理テーブル
70 バッチ処理管理テーブル
101 制御部
102 メモリ
103 入力部
104 記憶部
105 出力部
106 ネットワークインターフェース部
107 バス
108 ジョブ管理プログラム
111 制御部
112 メモリ
113 入力部
114 記憶部
115 出力部
116 ネットワークインターフェース部
117 バス
118 VM管理プログラム

Claims (7)

  1. ジョブ処理装置でのジョブ処理の実行の結果を取得する分散処理装置の分散処理プログラムであって、
    該分散処理装置に、
    該ジョブ処理装置が有する仮想計算機内で動作する基本ソフトウェアが該ジョブ処理を検出する第一の手順情報を作成するステップ、
    該仮想計算機の特定の時点での処理の状態を再現し得る該仮想計算機の状態情報を、該ジョブ処理装置から該分散処理装置に送信する第二の手順情報を作成するステップ、
    該第一の手順情報と該第二の手順情報とを含むジョブスクリプトファイルを該ジョブ処理装置のジョブ管理部に送信するステップ、
    該ジョブ処理装置から送信された該状態情報を記憶部に格納するステップ、
    を実行させることを特徴とする分散処理プログラム。
  2. 該第二の手順情報を作成するステップは更に、該仮想計算機の特定の時点での状態を再現し得る該仮想計算機の状態情報を送信させるときに、該仮想計算機を中断する処理を実行させる手順情報を有するジョブスクリプトファイルを作成すること特徴とする請求項1に記載の分散処理プログラム。
  3. 該ジョブ処理が異常終了したことを検出すると、該ジョブ処理に対応する該状態情報を該記憶部から読出するステップ、
    該読み出した該状態情報を該仮想計算機で展開させる手順を記載した再開ジョブスクリプト情報を作成するステップ、
    該再開ジョブスクリプトファイルを該ジョブ処理装置に送信するステップ、
    をさらに実行させることを特徴とする請求項1に記載の分散処理プログラム。
  4. 該ジョブ処理を実行させる該仮想計算機に該ジョブ処理の対象および該ジョブの入力データを格納した該状態情報を該ジョブ処理装置に送信するステップ、
    をさらに実行させることを特徴とする請求項1に記載の分散処理プログラム。
  5. ジョブ処理装置が実行したジョブ処理の結果を取得する分散処理装置の分散処理方法であって、
    該分散処理装置が、該ジョブ処理装置が有する仮想計算機で動作する基本ソフトウェアが該ジョブ処理を検出する第一の手順情報を作成し、
    該分散処理装置が、該仮想計算機の特定の時点での処理の状態を再現し得る該仮想計算機の状態情報を、該ジョブ処理装置から該分散処理装置に送信する第二の手順情報を作成し、
    該分散処理装置が、該第一の手順情報と該第二の手順情報とを含むジョブスクリプトファイルを該ジョブ処理装置のジョブ管理部に送信し、
    該分散処理装置が、該ジョブ処理装置から送信された該状態情報を記憶部に格納する
    ことを特徴とする分散処理方法。
  6. ジョブ処理装置が実行したジョブ処理の結果を取得する分散処理装置であって、
    該ジョブ処理装置が有する仮想計算機で動作する基本ソフトウェアが該ジョブ処理を検出する第一の手順情報を作成し、
    該仮想計算機の特定の時点での処理の状態を再現し得る該仮想計算機の状態情報を、該ジョブ処理装置から該分散処理装置に送信する第二の手順情報を作成し、
    該第一の手順情報と該第二の手順情報とを含むジョブスクリプトファイルを該ジョブ処理装置のジョブ管理部に送信し、
    該ジョブ処理装置から送信された該状態情報を記憶部に格納する
    ことを特徴とする分散処理装置。
  7. ジョブ処理装置と該ジョブ処理装置が実行したジョブ処理の結果を取得する分散処理装置とからなる分散処理システムであって、
    該分散処理装置は、
    該ジョブ処理装置が有する仮想計算機で動作する基本ソフトウェアが該ジョブ処理を検出する第一の手順情報を作成し、
    該仮想計算機の特定の時点での処理の状態を再現し得る該仮想計算機の状態情報を、該ジョブ処理装置から該分散処理装置に送信する第二の手順情報を作成し、
    該第一の手順情報と該第二の手順情報とを含むジョブスクリプトファイルを該ジョブ処理装置のジョブ管理部に送信し、
    該ジョブ処理装置から送信された該状態情報を記憶部に格納する
    該ジョブ処理装置は、
    ジョブ処理を実行し、該ソフトウェア状態情報を該分散処理装置に送信する
    ことを特徴とする分散処理システム。
JP2007139384A 2007-05-25 2007-05-25 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム Expired - Fee Related JP5251002B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007139384A JP5251002B2 (ja) 2007-05-25 2007-05-25 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US12/119,719 US8214686B2 (en) 2007-05-25 2008-05-13 Distributed processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007139384A JP5251002B2 (ja) 2007-05-25 2007-05-25 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム

Publications (2)

Publication Number Publication Date
JP2008293358A true JP2008293358A (ja) 2008-12-04
JP5251002B2 JP5251002B2 (ja) 2013-07-31

Family

ID=40073512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007139384A Expired - Fee Related JP5251002B2 (ja) 2007-05-25 2007-05-25 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム

Country Status (2)

Country Link
US (1) US8214686B2 (ja)
JP (1) JP5251002B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257429A (ja) * 2009-04-28 2010-11-11 Toshiba Corp 計算機
JP2010262382A (ja) * 2009-04-30 2010-11-18 Fujitsu Semiconductor Ltd 電力供給制御プログラム、電力供給制御装置、および、電力供給制御方法
KR20120040707A (ko) * 2009-07-14 2012-04-27 아브 이니티오 테크놀로지 엘엘시 폴트 톨러런트 배치 처리
WO2012164689A1 (ja) * 2011-05-31 2012-12-06 株式会社日立製作所 ジョブ管理サーバ及びジョブ管理方法
JP2013257903A (ja) * 2008-12-12 2013-12-26 Amazon Technologies Inc プログラム実行状態の保存
WO2014129184A1 (ja) * 2013-02-21 2014-08-28 日本電気株式会社 仮想化システム
WO2015173857A1 (ja) * 2014-05-12 2015-11-19 株式会社日立製作所 情報処理方法及び情報処理装置
US9207975B2 (en) 2008-12-12 2015-12-08 Amazon Technologies, Inc. Managing distributed execution of programs
US9329909B1 (en) 2009-03-31 2016-05-03 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
JP5966927B2 (ja) * 2010-10-14 2016-08-10 日本電気株式会社 分散処理装置及び分散処理システム
JP2018526759A (ja) * 2015-09-14 2018-09-13 アプックス リミテッドAppux Limited コンピューティングデバイス上でアプリケーションを実行すること

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779298B2 (en) * 2007-06-11 2010-08-17 International Business Machines Corporation Distributed job manager recovery
US8381032B2 (en) * 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
AU2014274491B2 (en) * 2009-07-14 2017-01-05 Ab Initio Technology Llc Fault tolerant batch processing
US9749387B2 (en) * 2009-08-13 2017-08-29 Sap Se Transparently stateful execution of stateless applications
US8661213B2 (en) * 2010-01-06 2014-02-25 Vmware, Inc. Method and system for frequent checkpointing
US8549241B2 (en) * 2010-01-06 2013-10-01 Vmware, Inc. Method and system for frequent checkpointing
US8533382B2 (en) * 2010-01-06 2013-09-10 Vmware, Inc. Method and system for frequent checkpointing
US20130117444A1 (en) * 2010-05-12 2013-05-09 Winshuttle, Llc Load-balancing dynamic web services system and method
NZ607113A (en) 2010-07-08 2014-08-29 Greenbutton Ltd A method for estimating job run time
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
CA2811630C (en) 2010-08-24 2020-06-16 Solano Labs, Inc. Method and apparatus for clearing cloud compute demand
US8640137B1 (en) * 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
CN102480512B (zh) * 2010-11-29 2015-08-12 国际商业机器公司 用于扩展服务器端处理能力的方法和装置
US8812677B2 (en) * 2010-12-21 2014-08-19 Hitachi, Ltd. Data processing method and apparatus for remote storage system
JP5759203B2 (ja) * 2011-02-25 2015-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 反復法の並列コンピュータ計算における非同期なチェックポイント取得とそこからの回復
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8726083B1 (en) * 2011-07-29 2014-05-13 Emc Corporation Synchronized taking of snapshot memory images of virtual machines and storage snapshots
JP5536740B2 (ja) * 2011-11-14 2014-07-02 シャープ株式会社 画像形成装置
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
US20140053128A1 (en) * 2012-08-14 2014-02-20 Microsoft Corporation Persisting state using scripts
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9526120B2 (en) 2013-03-15 2016-12-20 Google Inc. Techniques for context-based application invocation for short-range wireless communication interactions
JP6107315B2 (ja) * 2013-03-28 2017-04-05 富士通株式会社 変更プログラム、変更装置および変更方法
US9317472B2 (en) * 2013-06-07 2016-04-19 International Business Machines Corporation Processing element data sharing
US10089197B2 (en) * 2014-12-16 2018-10-02 Intel Corporation Leverage offload programming model for local checkpoints
US10026070B2 (en) 2015-04-28 2018-07-17 Solano Labs, Inc. Cost optimization of cloud computing resources
US9823958B2 (en) 2016-02-08 2017-11-21 Bank Of America Corporation System for processing data using different processing channels based on source error probability
US10437778B2 (en) 2016-02-08 2019-10-08 Bank Of America Corporation Archive validation system with data purge triggering
US10437880B2 (en) 2016-02-08 2019-10-08 Bank Of America Corporation Archive validation system with data purge triggering
US10460296B2 (en) 2016-02-08 2019-10-29 Bank Of America Corporation System for processing data using parameters associated with the data for auto-processing
US10067869B2 (en) 2016-02-12 2018-09-04 Bank Of America Corporation System for distributed data processing with automatic caching at various system levels
US9952942B2 (en) * 2016-02-12 2018-04-24 Bank Of America Corporation System for distributed data processing with auto-recovery
US10673779B1 (en) * 2016-11-29 2020-06-02 Amazon Technologies, Inc. Checkpoint-inclusive resource allocation
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
US11182209B2 (en) * 2018-09-21 2021-11-23 Google Llc Distributed job scheduling system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336628A (ja) * 1991-05-14 1992-11-24 Chubu Nippon Denki Software Kk 仮想計算機システムのsysout制御方式
JPH07168794A (ja) * 1993-12-14 1995-07-04 Hitachi Ltd 計算機システムのジョブ管理方法
JPH0997203A (ja) * 1995-09-29 1997-04-08 Nri & Ncc Co Ltd 分散処理システム
JPH09212467A (ja) * 1996-01-30 1997-08-15 Fujitsu Ltd 負荷分散制御システム
JPH1078918A (ja) * 1996-09-04 1998-03-24 Toshiba Corp チェックポイント処理加速装置および同装置を適用した計算機システム
JPH1125062A (ja) * 1997-07-03 1999-01-29 Oki Electric Ind Co Ltd 障害回復システム
JP2000105756A (ja) * 1998-07-20 2000-04-11 Lucent Technol Inc 網内の分散アプリケ―ションの故障を検出し、この故障を指定されるリプリケ―ションの程度に従って回復するための方法および装置
JP2003288318A (ja) * 2002-03-28 2003-10-10 Mitsubishi Heavy Ind Ltd プログラム遠隔起動装置及びその方法、並びに遠隔起動プログラム
JP2006127000A (ja) * 2004-10-27 2006-05-18 Mitsubishi Heavy Ind Ltd プログラム遠隔起動装置及び方法並びにプログラム
JP2006155473A (ja) * 2004-12-01 2006-06-15 Fujitsu Ltd 情報処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286932A (ja) * 1995-04-11 1996-11-01 Hitachi Ltd ジョブの並列実行制御方法
US5712971A (en) * 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
US5872970A (en) * 1996-06-28 1999-02-16 Mciworldcom, Inc. Integrated cross-platform batch management system
US5796941A (en) * 1996-09-06 1998-08-18 Catalyst Semiconductor, Inc. Method for supervising software execution in a license restricted environment
JPH11134235A (ja) * 1997-10-31 1999-05-21 Hitachi Ltd 外部記憶装置故障時の回復支援方法
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US7213246B1 (en) * 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4109153B2 (ja) 2003-05-07 2008-07-02 富士通株式会社 ジョブ制御装置、ジョブ制御ファイル、ジョブ制御方法及びジョブ制御プログラム
CN1292346C (zh) * 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的系统和方法
US7536591B2 (en) * 2003-11-17 2009-05-19 Virginia Tech Intellectual Properties, Inc. Transparent checkpointing and process migration in a distributed system
JP2005339111A (ja) * 2004-05-26 2005-12-08 Hitachi Ltd ジョブの実行制御方法、及びジョブの実行制御システム
JP4984409B2 (ja) 2005-03-17 2012-07-25 富士通株式会社 スクリプト生成プログラムおよびバッチ実行システム
US8417762B2 (en) * 2007-04-10 2013-04-09 International Business Machines Corporation Mechanism for execution of multi-site jobs in a data stream processing system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336628A (ja) * 1991-05-14 1992-11-24 Chubu Nippon Denki Software Kk 仮想計算機システムのsysout制御方式
JPH07168794A (ja) * 1993-12-14 1995-07-04 Hitachi Ltd 計算機システムのジョブ管理方法
JPH0997203A (ja) * 1995-09-29 1997-04-08 Nri & Ncc Co Ltd 分散処理システム
JPH09212467A (ja) * 1996-01-30 1997-08-15 Fujitsu Ltd 負荷分散制御システム
JPH1078918A (ja) * 1996-09-04 1998-03-24 Toshiba Corp チェックポイント処理加速装置および同装置を適用した計算機システム
JPH1125062A (ja) * 1997-07-03 1999-01-29 Oki Electric Ind Co Ltd 障害回復システム
JP2000105756A (ja) * 1998-07-20 2000-04-11 Lucent Technol Inc 網内の分散アプリケ―ションの故障を検出し、この故障を指定されるリプリケ―ションの程度に従って回復するための方法および装置
JP2003288318A (ja) * 2002-03-28 2003-10-10 Mitsubishi Heavy Ind Ltd プログラム遠隔起動装置及びその方法、並びに遠隔起動プログラム
JP2006127000A (ja) * 2004-10-27 2006-05-18 Mitsubishi Heavy Ind Ltd プログラム遠隔起動装置及び方法並びにプログラム
JP2006155473A (ja) * 2004-12-01 2006-06-15 Fujitsu Ltd 情報処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200600173017; 山森 丈範: 'VMware&QEMUによる 最新エミュレータ活用ガイド' SoftwareDesign No.177, 20050718, P.164-173, (株)技術評論社 *
JPN6012056139; 山森 丈範: 'VMware&QEMUによる 最新エミュレータ活用ガイド' SoftwareDesign No.177, 20050718, P.164-173, (株)技術評論社 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257903A (ja) * 2008-12-12 2013-12-26 Amazon Technologies Inc プログラム実行状態の保存
US9826031B2 (en) 2008-12-12 2017-11-21 Amazon Technologies, Inc. Managing distributed execution of programs
US11263084B2 (en) 2008-12-12 2022-03-01 Amazon Technologies, Inc. Saving program execution state
US9207975B2 (en) 2008-12-12 2015-12-08 Amazon Technologies, Inc. Managing distributed execution of programs
US11425194B1 (en) 2009-03-31 2022-08-23 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9329909B1 (en) 2009-03-31 2016-05-03 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US10873623B2 (en) 2009-03-31 2020-12-22 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
JP2010257429A (ja) * 2009-04-28 2010-11-11 Toshiba Corp 計算機
JP2010262382A (ja) * 2009-04-30 2010-11-18 Fujitsu Semiconductor Ltd 電力供給制御プログラム、電力供給制御装置、および、電力供給制御方法
KR101691126B1 (ko) * 2009-07-14 2016-12-29 아브 이니티오 테크놀로지 엘엘시 결함 내성 배치 처리
US9304807B2 (en) 2009-07-14 2016-04-05 Ab Initio Technology Llc Fault tolerant batch processing
JP2016129056A (ja) * 2009-07-14 2016-07-14 アビニシオ テクノロジー エルエルシー フォールトトレラントバッチ処理
KR20160150126A (ko) * 2009-07-14 2016-12-28 아브 이니티오 테크놀로지 엘엘시 결함 내성 배치 처리
JP2012533796A (ja) * 2009-07-14 2012-12-27 アビニシオ テクノロジー エルエルシー フォールトトレラントバッチ処理
KR20120040707A (ko) * 2009-07-14 2012-04-27 아브 이니티오 테크놀로지 엘엘시 폴트 톨러런트 배치 처리
KR101721466B1 (ko) 2009-07-14 2017-03-30 아브 이니티오 테크놀로지 엘엘시 결함 내성 배치 처리
JP2015143999A (ja) * 2009-07-14 2015-08-06 アビニシオ テクノロジー エルエルシー フォールトトレラントバッチ処理
US9946582B2 (en) 2010-10-14 2018-04-17 Nec Corporation Distributed processing device and distributed processing system
JP5966927B2 (ja) * 2010-10-14 2016-08-10 日本電気株式会社 分散処理装置及び分散処理システム
WO2012164689A1 (ja) * 2011-05-31 2012-12-06 株式会社日立製作所 ジョブ管理サーバ及びジョブ管理方法
US9112750B2 (en) 2011-05-31 2015-08-18 Hitachi, Ltd. Job management server and job management method
JP5651772B2 (ja) * 2011-05-31 2015-01-14 株式会社日立製作所 ジョブ管理サーバ及びジョブ管理方法
WO2014129184A1 (ja) * 2013-02-21 2014-08-28 日本電気株式会社 仮想化システム
US9672059B2 (en) 2013-02-21 2017-06-06 Nec Corporation Virtualization system
JPWO2014129184A1 (ja) * 2013-02-21 2017-02-02 日本電気株式会社 仮想化システム
WO2015173857A1 (ja) * 2014-05-12 2015-11-19 株式会社日立製作所 情報処理方法及び情報処理装置
JP2018526759A (ja) * 2015-09-14 2018-09-13 アプックス リミテッドAppux Limited コンピューティングデバイス上でアプリケーションを実行すること

Also Published As

Publication number Publication date
US20080294937A1 (en) 2008-11-27
US8214686B2 (en) 2012-07-03
JP5251002B2 (ja) 2013-07-31

Similar Documents

Publication Publication Date Title
JP5251002B2 (ja) 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
JP5021721B2 (ja) 仮想マシンのホストレベルのアプリケーション整合バックアップの作成
US8307363B2 (en) Virtual machine system, restarting method of virtual machine and system
US9183099B2 (en) Replication of a write-back cache using a placeholder virtual machine for resource management
EP2955637B1 (en) Method, system and apparatus for generating snapshot
JP5026509B2 (ja) マシンから仮想マシンへの変換
US9703490B2 (en) Coordinated upgrade of a cluster storage system
US20160162279A1 (en) Capturing updates to applications and operating systems
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
US20150095597A1 (en) High performance intelligent virtual desktop infrastructure using volatile memory arrays
US20120144391A1 (en) Provisioning a virtual machine
KR20190041033A (ko) 서비스의 2차 위치에서의 작업의 재생 기법
JP2010257096A (ja) ストレージシステムにおけるバックアップ方法
JP5728812B2 (ja) 分散型情報処理システム及び分散ストレージシステム
JP2013148984A (ja) プログラム、仮想マシン制御方法、情報処理装置および情報処理システム
JP2006107185A (ja) オフライン作業可能な端末を有する計算機システム
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
US11604806B2 (en) System and method for highly available database service
EP3992805B1 (en) Live migration method for virtual machine and communication device
WO2019196705A1 (zh) 物理机到虚拟机迁移方法、装置及存储介质
JP2016004432A (ja) 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
JP6365085B2 (ja) データ移行方法及びデータ移行装置
WO2010035480A1 (ja) 分散処理システム、分散処理方法およびプログラム
JP2018120269A (ja) 情報処理装置、情報処理方法及びプログラム
JP2007073069A (ja) 計算機、資源自動適用処理プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees