JP2010257335A - Computer system - Google Patents
Computer system Download PDFInfo
- Publication number
- JP2010257335A JP2010257335A JP2009108290A JP2009108290A JP2010257335A JP 2010257335 A JP2010257335 A JP 2010257335A JP 2009108290 A JP2009108290 A JP 2009108290A JP 2009108290 A JP2009108290 A JP 2009108290A JP 2010257335 A JP2010257335 A JP 2010257335A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- host
- job
- processing
- dependency
- 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.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、計算機システムに関し、特に、複数のホストがデータの送受信を通じた連携によって処理を実施する計算機システムに関する。 The present invention relates to a computer system, and more particularly to a computer system in which a plurality of hosts perform processing by cooperation through data transmission / reception.
ホスト間でデータを授受することによって連携するシステムは、データベース及びネットワークルーティングなどの機能を含め、多岐に渡る機能を提供する。しかし、システムにおいて一つのホストがダウンすることによって、ダウンしたホストに連携していた他のホストは、トラフィックを完了できず、トラフィックの飽和が次々に発生する。これによって、一つのホストにおけるダウンが、全システムをダウンさせる大規模障害の原因となる。この、一つのホストがダウンすることによって発生する大規模障害のような、局所的な障害に起因する大規模障害を回避する方法が、これまで必要とされ、検討されている。 A system that cooperates by transferring data between hosts provides various functions including functions such as a database and network routing. However, when one host goes down in the system, other hosts linked to the down host cannot complete the traffic, and traffic saturation occurs one after another. As a result, a down in one host causes a large-scale failure that brings down the entire system. A method for avoiding a large-scale failure caused by a local failure, such as a large-scale failure that occurs when one host goes down, has been required and studied so far.
これまで検討されてきた代表的な方法には、大きく二通りの方法がある。 There are two main methods that have been studied so far.
第1の方法には、システム内のホストが持つデータの静的なバックアップを代替ホストに周期的に取得し、バックアップを取得されたホストがダウンしたことを検知した場合、代替ホストが業務を継続するホットスタンバイがある。この第1の方法を効果的に実施するための技術には、ロールバックポイントの特定方法及び代替ホストの特定方法などが、従来提案されている(例えば、特許文献1参照)。 The first method is to periodically acquire a static backup of the data held by the host in the system to the alternative host, and if the host that has acquired the backup detects that the host has gone down, the alternative host continues to operate. There is a hot standby to. As a technique for effectively implementing the first method, a rollback point specifying method, an alternative host specifying method, and the like have been conventionally proposed (for example, see Patent Document 1).
第2の方法は、集中制御によってジョブを管理する方法である(例えば、特許文献2参照)。各ホストはリソースマネージャなどの集中制御ホストへ、逐次自らの処理の状況を告知(メッセージング)することによって、集中制御ホストはジョブの状況を一元管理する。ホストにおいて障害が発生した場合、集中制御ホストは、障害が発生したホストにおいて処理されたジョブの状況に基づいて、ロールバックポイントを判定する。 The second method is a method for managing jobs by centralized control (see, for example, Patent Document 2). Each host successively notifies (messaging) its processing status to a central control host such as a resource manager, whereby the central control host centrally manages the job status. When a failure occurs in the host, the centralized control host determines a rollback point based on the status of the job processed in the host in which the failure has occurred.
前述に記載した第1の方法を用いる場合、各々のホストは、リソース及びデータ領域を多重化し、常に多重化したデータ領域に対応するハードウェアを稼働させる必要がある。そのため、ホットスタンバイを用いるシステムは、ランニングコストがとても高い。 When the first method described above is used, each host needs to multiplex resources and data areas and always operate hardware corresponding to the multiplexed data areas. Therefore, a system using a hot standby has a very high running cost.
一方、前述に記載した第2の方法を用いる場合、システムは、周期的にバックアップを取るために必要となるリソースを、常に稼働させておく必要はないため、第1の方法と比較して、第2の方法のランニングコストは低い。しかし、第2の方法を用いる場合、リソースマネージャの可用性が、システムの可用性に直接影響するため、第2の方法は、本質的にシステム全体の可用性を高めない。 On the other hand, when using the second method described above, the system does not need to always operate the resources required for taking a backup periodically, so compared with the first method, The running cost of the second method is low. However, when using the second method, the availability of the resource manager directly affects the availability of the system, so the second method essentially does not increase the overall system availability.
そこで本発明は、常に稼働するリソースを減らし、かつ集中制御をしないロールバックシステムを提供することを目的とする。 Accordingly, an object of the present invention is to provide a rollback system that reduces resources that are always in operation and does not perform centralized control.
本発明の代表的な一形態によると、第1の計算機、第2の計算機及び第3の計算機を備え、前記各計算機がネットワークによって接続される計算機システムであって、前記第1の計算機、前記第2の計算機及び前記第3の計算機は、ジョブを順に送信及び受信することによって、前記ジョブを処理し、前記第1の計算機は、前記第2の計算機の処理と他の前記計算機の処理との関係を示す依存関係を管理し、前記第2の計算機が正常に稼働しているか否かを判定し、前記第2の計算機が正常に稼働していないと判定された場合、前記第2の計算機において処理された最新の前記ジョブの識別子を前記第3の計算機から取得し、前記取得したジョブの識別子に基づいて、ロールバックをする。 According to a typical embodiment of the present invention, a computer system comprising a first computer, a second computer, and a third computer, wherein the computers are connected by a network, the first computer, The second computer and the third computer process the job by transmitting and receiving jobs in sequence, and the first computer performs processing of the second computer and processing of the other computers. If it is determined that the second computer is not operating normally, it is determined whether or not the second computer is operating normally. The identifier of the latest job processed in the computer is acquired from the third computer, and rollback is performed based on the acquired identifier of the job.
本発明の一実施形態によると、高い可用性をもつロールバックシステムを提供できる。 According to an embodiment of the present invention, a rollback system with high availability can be provided.
図1は、本発明の実施形態の処理の具体例を示す説明図である。 FIG. 1 is an explanatory diagram illustrating a specific example of processing according to the embodiment of this invention.
図1に示す処理は、資材を発注する業務において、資材の発注に必要な承認を取得し、ディーラへ発注するためにデータを送信する処理である。 The process shown in FIG. 1 is a process for obtaining approval necessary for ordering materials and transmitting data for ordering to a dealer in the business of placing orders for materials.
図1に示すホストA1100は処理A1114を実行し、ホストB1200は処理B1205を処理し、ホストC1300は処理C1305を処理し、ホストD1600は処理D1601を処理する。処理A1114は、外部から購買情報を入力され、部長向け承認要求シートを処理Bに出力する。処理B1205は、処理A1114から部長向け承認要求シートを入力され、センター長向け承認要求シートを処理C1305に出力する。処理C1305は、処理B1205からセンター長向け承認要求シートを入力され、ディーラ向け発注シートを処理D1601に出力する。処理D1601は、処理C1305からディーラ向け発注シートを入力され、入力された発注シートを処理する。
The host A 1100 illustrated in FIG. 1 executes
処理A1114、処理B1205、処理C1305、処理D1601は、順次、直列的に実行される。なお、後述する第1、第3、第4の実施形態においては、処理C1305までの処理を記載し、第2の実施形態においては、処理D1601までの処理を記載する。 Process A1114, process B1205, process C1305, and process D1601 are sequentially executed in series. In the first, third, and fourth embodiments to be described later, processing up to processing C1305 is described, and in the second embodiment, processing up to processing D1601 is described.
図2は、本発明の第1の実施形態のシステムの全体構成を示すブロック図である。 FIG. 2 is a block diagram showing the overall configuration of the system according to the first embodiment of this invention.
図2に示すシステムにおいて、ホストA1100、ホストB1200、ホストB'1400、及びホストC1300は、ネットワーク1500によって接続される。ホストA1100、ホストB1200、ホストB'1400、及びホストC1300は、プロセッサ、メモリ、入力装置、出力装置、及びネットワークインターフェースを備える計算機である。 In the system shown in FIG. 2, a host A 1100, a host B 1200, a host B ′ 1400, and a host C 1300 are connected by a network 1500. The host A 1100, host B 1200, host B ′ 1400, and host C 1300 are computers including a processor, a memory, an input device, an output device, and a network interface.
ホストA1100は、メモリに、記憶装置1101とリングバッファ1103とを備える。記憶装置1101は、ミドルウェアA1102、ロールバックA1112、バッファプッシュA1113、処理A1114、定時実行デーモン1115、及び依存関係表1116を含む。
The host A 1100 includes a storage device 1101 and a
ミドルウェアA1102、ロールバックA1112、バッファプッシュA1113、処理A1114、及び定時実行デーモン1115は、プログラムであり、プロセッサによって参照され、実行される。依存関係表1116は、データの集合であり、後述するホストBから送信され、ホスト間の依存関係を示すデータを含む。
The middleware A1102, the rollback A1112, the buffer push A1113, the process A1114, and the scheduled
ミドルウェアA1102は、依存関係表更新1110、診断1111、及び判定1119を含む。依存関係表更新1110、診断1111、及び判定1119は、プログラムである。
The middleware A 1102 includes a dependency
リングバッファ1103は、先頭ポインタを保存するエリア1117と、データを保存するエリア1118とを含む。
The
ホストB1200は、メモリに記憶装置1201を備える。記憶装置1201は、ミドルウェアB1202と、処理B1205と、処理B依存表1206とを含む。ミドルウェアB1202は、依存関係情報配信1203、及び受診1204を含む。依存関係情報配信1203、及び受診1204は、プログラムである。また、処理B1205も、プログラムである。処理B依存表1206は、データの集合であり、処理B1205にデータを入力するホスト、すなわち処理B1205の依存元であるホスト、及び、処理B1205からデータを入力されるホスト、すなわち処理B1205の依存先であるホストを示す。
The host B 1200 includes a storage device 1201 in the memory. The storage device 1201 includes
ホストC1300は、メモリに記憶装置1301を備える。記憶装置1301は、ミドルウェアC1302、処理C1305、及び最新ジョブリスト1306を含む。ミドルウェアC1302、及び処理C1305は、プログラムである。ミドルウェアC1302は、リスト更新1303、及び最新ジョブ検索1304を含む。
The host C 1300 includes a storage device 1301 in the memory. The storage device 1301 includes middleware C1302, processing C1305, and
ホストB'1400は、ホストB1200において障害が発生した場合に、ホストB1200の代替となる。ホストB'1400は、ホストB1200と同じプログラムを含むが、ホストB1200の動的なデータは、ホストB'1400に同期されない。また、ホストB'1400は、ホストB1200が正常に稼働している場合は、稼働していない。ホストB'1400は、他ホストから起動するよう要求されることによって起動する。 The host B ′ 1400 replaces the host B 1200 when a failure occurs in the host B 1200. Host B′1400 includes the same program as host B1200, but the dynamic data of host B1200 is not synchronized with host B′1400. In addition, the host B ′ 1400 is not operating when the host B 1200 is operating normally. The host B ′ 1400 starts when requested to start from another host.
図3は、本発明の第1の実施形態の処理を示すシーケンス図である。 FIG. 3 is a sequence diagram showing processing of the first exemplary embodiment of the present invention.
図3は、図2に示す計算機システムによって実行される処理を示す。 FIG. 3 shows processing executed by the computer system shown in FIG.
図3に示す処理によって、本発明の実施形態の計算機システムは、ホストB1200において障害が発生した際に、ホストB1200において実行されていた処理を、ホストB'1400に実行させる。 With the processing illustrated in FIG. 3, the computer system according to the embodiment of this invention causes the host B ′ 1400 to execute the processing that has been executed in the host B 1200 when a failure occurs in the host B 1200.
ホストB1200が起動した後(ステップ2001)、ホストB1200は、依存関係情報配信1203によって、ホストB1200における処理B1205の依存関係を、処理B1205の依存元であるホストA1100に送信する。具体的には、ホストB1200は、ホストB1200の出力がホストC1300に入力されることを示す依存関係[B−>C]を含む処理B依存表1206を、ホストA1100に送信する。
After the host B 1200 is activated (step 2001), the host B 1200 transmits the dependency relationship of the
ホストA1100は、処理B依存表1206を受信した場合、依存関係表更新1110によって、受信した処理B1205についての依存関係[B−>C]と、依存関係に一意に割り当てられたタイプIDとを依存関係表1116に入力する。タイプIDは、任意の英数字である。図2に示す依存関係表1116は、依存関係表更新1110が実行された後の依存関係表1116を示し、タイプ列は"T1"を、データ列は依存関係[B−>C]を示す。
When the host A 1100 receives the process B dependency table 1206, the host A 1100 depends on the
依存関係情報配信1203の詳細を図4において後述する。
Details of the dependency
ホストA1100が、依存関係表更新1110によって、依存関係表1116を更新した後、ホストA1100は、処理A1114を実行する。処理A1114に続いて、ホストB1200は、処理B1205を実行する。処理B1205に続いて、ホストC1300は、処理C1305を実行する。
After the host A 1100 updates the dependency table 1116 by the
処理A1114、処理B1205、及び処理C1305の一連の処理は、ホスト間でデータを通信することによって連携する。本発明の実施形態において、ホスト間で通信される一連のデータの単位を、ジョブと呼ぶ。処理A1114から処理C1305に至る一連のジョブは、処理A1114によって一意な識別子を割り当てられる。処理A1114によって割り当てられた識別子を、ジョブIDと呼ぶ。
A series of processes of
ジョブIDは、どのホストにおいて処理されたデータであるかを示す情報を含む。このため、ホストA1100、ホストB1200、及びホストC1300は、過去にどのホストにおいて処理されたデータであるかを示す情報を、常に含む。 The job ID includes information indicating in which host the data is processed. Therefore, the host A 1100, the host B 1200, and the host C 1300 always include information indicating in which host the data has been processed in the past.
処理A1114が終了し、処理A1114の出力が処理B1205へ送信された後、ホストA1100は、処理A1114を復元するためのロールバックデータを作成し、作成したロールバックデータをバッファプッシュA1113によってリングバッファ1103に入力する。ロールバックデータは、ジョブIDによって示される。また、バッファプッシュA1113は、ロールバックデータを、先頭ポインタ1117が示す番地に入力する。そして、バッファプッシュA1113は、先頭ポインタ1117の番地を、最も古いジョブIDが入力された番地に更新する。
After the process A1114 is completed and the output of the process A1114 is transmitted to the process B1205, the host A1100 creates rollback data for restoring the process A1114, and the created rollback data is transferred to the
なお、リングバッファ1103における最も古いジョブIDは、リングバッファ1103が番地の昇順にジョブIDを入力される場合、先頭ポインタが示す番地よりも一つ多い番地のジョブIDである。リングバッファ1103が番地の降順にジョブIDを入力される場合、リングバッファ1103における最も古いジョブIDは、先頭ポインタが示す番地よりも一つ少ない番地のジョブIDである。本実施形態において、リングバッファ1103は、番地の昇順にジョブIDを入力される。
Note that the oldest job ID in the
ホストC1300は、ホストB1200における処理B1205が終了した後、リスト更新1303によって、最新ジョブリスト1306のホスト列にホストA1100を示す"A"を、ジョブID列にホストA1100において処理されたジョブであることを示すジョブIDを記録する。なお、最新ジョブリスト1306が、最新のジョブIDを示すために、ホストB1200における処理B1205が終了した後、リスト更新1303は、最新ジョブリスト1306の過去のジョブIDを最新のジョブIDによって上書きする。
The host C 1300 is a job in which “A” indicating the host A 1100 is displayed in the host column of the
ホストA1100は、ホストB1200が正常に稼働しているか否かを周期的に診断1111する。ホストA1100は、定時実行デーモン1115によって診断1111を周期的に実行する。診断1111は、pingコマンドによるネットワークインターフェースの稼働状況、及び正常に処理を実行できるか否かなどの確認を含む。ホストB1200は、ホストA1100による診断1111を受信した後、受診1204によって、ホストA1100に稼働状況を返信する。
The host A 1100 periodically diagnoses 1111 whether or not the host B 1200 is operating normally. The host A 1100 periodically executes the
ホストA1100は、ホストB1200から稼働状況を受信すると、判定1119によって、稼働状況に含まれる処理の実行状況、稼働状況を返信するまでの時間、稼働状況の内容に基づいて、ホストB1200が正常に稼働しているか否かを判定する。
When the host A 1100 receives the operation status from the host B 1200, the host B 1200 operates normally based on the execution status of the process included in the operation status, the time until the operation status is returned, and the content of the operation status according to the
判定1119によって、ホストB1200が正常に稼働していると判定された場合、ロールバックする必要はないため、ホストA1100は、定時実行デーモン1115に従って、診断1111を繰り返す。
If it is determined by the
判定1119によって、ホストB1200が異常であると判定された場合、ホストA1100は、ロールバックをするため、最新のジョブIDを送信するようにホストC1300に要求し、ホストB'1400を起動する。なお、ホストC1300が最新のジョブIDをホストA1100に送信するよう要求を受信した後に、ホストC1300がホストB'1400を起動してもよい。
If it is determined by the
ホストC1300は、ホストA1100から最新のジョブIDを要求された後、最新ジョブ検索1304を実行する。ホストC1300は、最新ジョブ検索1304によって、ホストA1100によって実行されたジョブのうち、最新のジョブのIDを検索し、検索した結果の最新のジョブIDを、ホストA1100に返信する。最新ジョブ検索1304を実行する際、ホストC1300は、最新ジョブリスト1306のホスト列が"A"を示すジョブID(以降、最新ジョブIDと記載)を、ホストA1100に返信する。
The host C 1300 executes the
ホストA1100は、最新ジョブIDを受信した場合、ロールバックA1112を実行する。ロールバックA1112の詳細を、図5において後述する。
When the host A1100 receives the latest job ID, the host A1100 executes rollback A1112. Details of the
ホストB'1400は、ホストA1100から送信された起動する旨の指示に従って、起動する(ステップ2002)。その後、ホストB'1400は、ホストB'1400において実行される処理B1205に関する依存関係の情報を、ホストA1100に送信する(依存関係情報配信2003)。ホストA1100は、処理A1114の依存先を、ホストB1200における処理B1205からホストB'1400における処理B1205へ、判定1119においてホストB1200が異常であると判定してから、処理A1114が実行されるまでの間、いずれのタイミングにおいて変更してもよい。
The host B ′ 1400 is activated in accordance with the activation instruction transmitted from the host A 1100 (step 2002). Thereafter, the host B ′ 1400 transmits dependency information related to the
また、ホストC1300は、判定1119において、ホストA1100から、ホストB1200の代わりにホストB'1400が起動した旨を送信され、処理C1305の依存元を、ホストB1200における処理B1205からホストB'1400における処理B1205へ変更してもよい。または、ホストC1300は、ホストB'1400における処理B1205が終了した際に、ホストB1200に代わりにホストB'1400が起動した旨を送信され、処理C1305の依存元を、ホストB1200における処理B1205からホストB'1400における処理B1205へ変更してもよい。
Further, in the
図4は、本発明の第1の実施形態の依存関係情報配信1203を示すフローチャートである。
FIG. 4 is a flowchart showing the dependency
ホストB1200は、処理B1205の処理B依存表1206を参照する(ステップ11001)。ステップ11001における参照の結果に基づいて、ホストB1200は、処理Bの依存元へ、依存関係を示す情報を送信する(ステップ11002)。具体的には、ホストB1200は、処理B1205の結果を出力するホストC1300を示す識別子を、処理B1205にデータを入力するホストA1100に送信する。第1の実施形態におけるステップ11002においては、ホストB1200は、「ホストB1200における処理Bの結果は、ホストC1300に渡される」という意味を示す依存関係[B−>C]をホストA1100に送信する。
The host B 1200 refers to the process B dependency table 1206 of the process B 1205 (step 11001). Based on the result of the reference in
図5は、本発明の第1の実施形態のロールバックA1112を示すフローチャートである。 FIG. 5 is a flowchart showing rollback A1112 according to the first embodiment of this invention.
ホストA1100は、ホストC1300から最新ジョブIDを受信した後(ステップ13001)、リングバッファ1103のジョブID列のうち、受信した最新ジョブIDと一致するエントリを検索し、受信した最新ジョブIDと一致するエントリが存在するか否かを判定する(ステップ13002)。
After receiving the latest job ID from the host C 1300 (step 13001), the host A 1100 searches the job ID column of the
リングバッファ1103は、あらかじめ定められた量よりも多いジョブが入力される場合、古いジョブIDを消去する。このため、リングバッファ1103が、必ずしも受信した最新ジョブIDを含むとは限らない。ステップ13002において、受信した最新ジョブIDがリングバッファ1103に存在しない場合、ホストA1100は、最も古いジョブID、すなわち、先頭ポインタ1117が示す番地のジョブIDを選択する(ステップ13003)。
The
受信した最新ジョブIDがリングバッファ1103に存在する場合、ホストA1100は、受信した最新ジョブIDの次に実行されるべきジョブIDを、ロールバックポイントとする(ステップ13004)。
When the received latest job ID exists in the
ステップ1303またはステップ1304の後、ホストA1100は、ホストB'1400において処理が可能か否かを判定する(ステップ13005)。ホストB'1400において処理ができない場合、ホストA1100は、あらかじめ定められた時間待機し(13006)、ホストB'1400において処理ができるまで待機する。
After
ステップ13005において、ホストB'1400において処理が可能であると判定された場合、ホストA1100は、ステップ13004において選択したロールバックポイントから、ホストA1100における最新のジョブまで、すなわち、リングバッファ1103における先頭ポインタ1117が示す番地よりも一つ少ない番地のジョブまで、を実行し(ロールバック:ステップ13007)、ロールバックA1112を終了する。
If it is determined in
第1の実施形態において、ホストA1100、ホストB1200、ホストC1300の順に処理を連携し、ホストB1200が障害となった際には、ホストA1100、ホストB1200、ホストC1300、及びホストB'1400によるロールバックの連携を示した。第1の実施形態において、ホストB'1400は、ホストB1200のクールスタンバイである。 In the first embodiment, the processes are coordinated in the order of host A1100, host B1200, and host C1300. When host B1200 fails, rollback by host A1100, host B1200, host C1300, and host B′1400 Showed cooperation. In the first embodiment, the host B ′ 1400 is a cool standby of the host B 1200.
前述の通り、第1の実施形態によれば、バックアップのためのリソースをクールスタンバイとし、集中制御をするリソースマネージャを用いずに、ロールバックをすることができる。 As described above, according to the first embodiment, the backup resource can be set as a cool standby, and rollback can be performed without using a resource manager that performs centralized control.
図6は、本発明の第1の実施形態の処理の関係を示す説明図である。 FIG. 6 is an explanatory diagram showing the processing relationship of the first embodiment of the present invention.
図6に示すA4001、B4002、C4003、及びB'4004は、第1の実施形態におけるホストA1100、ホストB1200、ホストC1300、及びホストB'1400に相当し、処理において、各々上流、中央、下流、代替の役割を果たす。B4002において障害が発生した場合、B'4004はB4002の代替ホストとなる。 A4001, B4002, C4003, and B′4004 shown in FIG. 6 correspond to the host A1100, host B1200, host C1300, and host B′1400 in the first embodiment. Play an alternative role. If a failure occurs in B4002, B′4004 becomes an alternative host for B4002.
四つ以上のホストが連携をする場合、クールスタンバイとなるホストの数を変更せず、一つのクールスタンバイのホストによって複数のホストを代替機させてもよい。三つ以上のホストが連携をする場合は、第1の実施形態を多重に実施すればよい。第2の実施形態は、第1の実施形態を多重に実施した場合の計算機システムである。 When four or more hosts cooperate, a plurality of hosts may be replaced by a single cool standby host without changing the number of cool standby hosts. When three or more hosts cooperate with each other, the first embodiment may be implemented in a multiplex manner. The second embodiment is a computer system when the first embodiment is implemented in a multiple manner.
図7は、本発明の第2の実施形態の処理の関係を示す説明図である。 FIG. 7 is an explanatory diagram showing the relationship of processing according to the second embodiment of the present invention.
第2の実施形態において図7に示すA5001、B5002、C5003、及びD5004は、図6に示すA4001、B4002、及びC4003の関係を二重に組み合わせた関係である。A5001、B5002、及びC5003と、B5002、C5003、及びD5004とは、各々上流、中央、及び下流の役割を果たす。また、A5001、B5002、及びC5003の関係において、B5002の代替はB'5005である。また、B5002、C5003、及びD5004の関係において、C5003の代替もB'5005である。 In the second embodiment, A5001, B5002, C5003, and D5004 shown in FIG. 7 are a combination of the relationships of A4001, B4002, and C4003 shown in FIG. A5001, B5002, and C5003 and B5002, C5003, and D5004 play upstream, central, and downstream roles, respectively. In addition, in the relationship between A5001, B5002, and C5003, B'5005 is an alternative to B5002. Further, in the relationship between B5002, C5003, and D5004, the alternative of C5003 is also B′5005.
B'5005は、B5002又はC5003のどちらか一方において障害が発生する場合、B5002又はC5003の各々のリソースを共有できる。B'5005は、B5002及びC5003に備わる静的なソフトウェア及び設定を個別に備えることによって、B5002又はC5003のクールスタンバイの役割を果たす。 If a failure occurs in either B5002 or C5003, B′5005 can share the resources of B5002 or C5003. B′5005 plays the role of a cool standby of B5002 or C5003 by separately providing static software and settings provided in B5002 and C5003.
図8は、本発明の第2の実施形態のシステム全体の構成を示す説明図である。 FIG. 8 is an explanatory diagram showing the configuration of the entire system according to the second embodiment of this invention.
図8に示すホストA1100、ホストB1200、ホストC1300、ホストD1600、及びホストB'1400は、図7に示すA5001、B5002、C5003、D5004、及びB'5005と同じ役割を果たす。ホストB'1400は、ホストB1200又はホストC1300のどちらか一方において障害が発生する場合、障害が発生したホストの代替ホストとなる。 The host A1100, host B1200, host C1300, host D1600, and host B′1400 shown in FIG. 8 play the same role as A5001, B5002, C5003, D5004, and B′5005 shown in FIG. When a failure occurs in either the host B 1200 or the host C 1300, the host B ′ 1400 becomes an alternative host for the host in which the failure has occurred.
図8に示すホストA1100は、図2に示すホストA1100と同じである。また、図8に示すホストB1200、及びホストC1300には、図2に示すホストB1200、及びホストC1300に、各々図7に示す上流、中央の役割を果たすためのソフトウェア及びデータの集合が追加される。 The host A 1100 shown in FIG. 8 is the same as the host A 1100 shown in FIG. Further, to the host B 1200 and the host C 1300 shown in FIG. 8, a set of software and data for performing the upstream and central roles shown in FIG. 7 is added to the host B 1200 and the host C 1300 shown in FIG. .
ホストB1200には、図2に示すホストA1100が図6に示す上流の役割を果たすために備えた機能に相当する機能が追加される。すなわち、図8に示すホストB1200には、ミドルウェアA1102、ロールバックB3001、バッファプッシュB3002、定時実行デーモン1115、依存関係表1116、及びリングバッファ1103が追加される。
A function corresponding to the function provided for the host A 1100 shown in FIG. 2 to play the upstream role shown in FIG. 6 is added to the host B 1200. That is, middleware A1102, rollback B3001, buffer push B3002, scheduled
また、ホストC1300には、図2に示すB1200が図6に示す中央の役割を果たすために備えた機能に相当する機能が追加される。すなわち、図8に示すホストC1300には、ミドルウェアB1202、及び処理C依存表3306が追加される。
Further, the host C1300 is added with a function corresponding to the function provided for the B1200 shown in FIG. 2 to play the central role shown in FIG. That is, the
また、ホストD1600は、図2に示すC1300が図6に示す下流の役割を果たすために備えた機能に相当する機能が備わる。ホストD1600は、プロセッサ、メモリ、入力装置、出力装置、及びネットワークインターフェースを備える計算機である。ホストD1600は、メモリに記憶装置1601を備え、記憶装置1601は、ミドルウェアC1302、処理D1601、及び最新ジョブリスト1602を備える。
Further, the host D1600 has a function corresponding to the function provided for the C1300 shown in FIG. 2 to play the downstream role shown in FIG. The host D1600 is a computer including a processor, a memory, an input device, an output device, and a network interface. The host D1600 includes a
第2の実施形態の計算機システムは、図8に示すホストA1100、ホストB1200、ホストC1300、及びホストD1600によって、図1に示す処理A1114、処理B1205、処理C1305、処理D1601を実行する。図8に示すホストB1200において障害が発生した場合、第2の実施形態のシステムは、図3に示す処理フローと同じ処理フローによってロールバックする。ホストC1300において障害が発生した場合、第2の実施形態のシステムは、図3に示す処理フローにおいて、ホストA1100の処理をホストB1200が、ホストB1200の処理をホストC1300が、ホストC1300の処理をホストD1600が実行することによって、ロールバックをする。
The computer system according to the second embodiment executes processing A 1114,
第2の実施形態によれば、複数のホストによって処理をする場合においても、第1の実施形態を用いてロールバックをすることができる。 According to the second embodiment, even when processing is performed by a plurality of hosts, it is possible to roll back using the first embodiment.
第1の実施形態において、依存関係の把握及びホストB1200の診断1111を、上流の役割であるホストA1100が実行したが、第3の実施形態において、依存関係の把握及びホストB1200の診断を、下流のホストC1300が実行する。
In the first embodiment, the grasping of the dependency relationship and the
図9は、本発明の第3の実施形態のシステム全体の構成を示す説明図である。 FIG. 9 is an explanatory diagram showing the configuration of the entire system according to the third embodiment of this invention.
図9に示すホストA1100は、図2に示すミドルウェアA1102の代わりに、ミドルウェアAA6001を備える。ミドルウェアAA6001は、ロールバックデーモン6002を備える。
A host A 1100 illustrated in FIG. 9 includes middleware AA6001 instead of the middleware A1102 illustrated in FIG. The middleware AA 6001 includes a
図9に示すホストB1200は、図2に示すミドルウェアB1202の代わりに、ミドルウェアBB6003を備える。ミドルウェアBB6003は、依存関係情報配信6004を備える。
The host B 1200 shown in FIG. 9 includes middleware BB6003 instead of the middleware B1202 shown in FIG. The middleware BB 6003 includes dependency
図9に示すホストC1300は、図2に示すミドルウェアC1302の代わりに、ミドルウェアCC6005を備える。また、定時実行デーモン1115は、図2においてホストA1100に備えられたが、図9においてホストC1300に備えられる。また、図2においてホストA1100に備えられた依存関係表1116は、図9においてホストC1300が備える依存関係表6007と同じである。ミドルウェアCC6005は、依存関係表更新6006、診断1111、判定1119、リスト更新1303、及び最新ジョブ探索1304を備える。
A host C 1300 illustrated in FIG. 9 includes middleware CC6005 instead of the middleware C1302 illustrated in FIG. The scheduled
図10は、本発明の第3の実施形態の処理を示すシーケンス図である。 FIG. 10 is a sequence diagram showing processing of the third exemplary embodiment of the present invention.
第3の実施形態において、ホストB1200は、依存関係情報配信6004をホストC1300に送信する。ホストB1200は、処理B1205の処理B依存表1206に基づいて処理B1205の依存先であるホストC1300へ依存関係を送信する。具体的には、ホストB1200は、処理B1205の依存元であるホストA1100の識別子を、処理B1205の依存先であるホストC1300に送信する。すなわち、ホストB1200は、「ホストA1100の結果が、ホストB1200に渡される」という意味を表わす依存関係[A−>B]をホストC1300に送信する。
In the third embodiment, the host B 1200 transmits dependency
ホストC1300は、依存関係情報配信6004によって、依存関係を送信された後、受信した依存関係[A−>B]を用いて、依存関係表6007を更新する(依存関係表更新6006)。
After the dependency relationship is transmitted by the dependency
ホストA1100、ホストB1200、及びホストC1300は、各々処理A1114、処理B1205、及び処理C1305を実行する。
The host A 1100, the host B 1200, and the host C 1300 execute the
ホストC1300は、ホストB1200が正常に稼働しているか否かを周期的に診断する。ホストC1300は、定時実行デーモン1115によって診断1111を周期的に実行する。診断1111は、第1の実施形態における診断1111と同じである。ホストB1200は、ホストC1300による診断1111を受信した後、受診1204によって、ホストC1300に稼働状況を返信する。
The host C 1300 periodically diagnoses whether the host B 1200 is operating normally. The host C 1300 periodically executes the
ホストC1300は、ホストB1200から稼働状況を受信すると、判定1119によって、ホストB1200が正常に稼働しているか否かを判定する。
Upon receiving the operating status from the host B 1200, the host C 1300 determines whether or not the host B 1200 is operating normally by a
判定1119によって、ホストB1200が正常に稼働していると判定された場合、ロールバックする必要はないため、ホストC1300は、定時実行デーモン1115に従って、診断1111を繰り返す。
If it is determined by the
判定1119によって、ホストB1200が異常であると判定された場合、ホストC1300は、ホストB'1400を起動する(ステップ2001)。そして、ホストC1300は、最新ジョブリスト1306を検索して最新ジョブIDを検索し(最新ジョブ検索1304)、最新ジョブIDをホストA1100に送信する。
If it is determined by the
なお、第1の実施形態において実行されたような、ホストA1100からホストC1300への最新ジョブIDを送信する要求に相当する通信は、第3の実施形態においては不要である。しかし、第3の実施形態においてホストA1100は、ホストB1200の診断結果をロールバックのきっかけとすることができないため、ホストA1100は、常にロールバックデーモン6002によって自らのネットワークポートを監視する。そして、ホストC1300が最新ジョブ検索1304によって、最新ジョブIDであるロールバックポイントを送信した場合、ホストA1100は、受信したロールバックポイントに基づいてロールバック1112を実行する。
Note that the communication corresponding to the request for transmitting the latest job ID from the host A 1100 to the host C 1300 as executed in the first embodiment is unnecessary in the third embodiment. However, since the host A 1100 cannot use the diagnosis result of the host B 1200 as a rollback trigger in the third embodiment, the host A 1100 always monitors its network port by the
ホストB'1400は、ホストC1300から起動する旨を受信し、起動する(ステップ2002)。その後、処理B1205に関する依存関係の情報をホストC1300に送信する。ホストC1300は、処理C1305の依存元を、ホストB1200における処理B1205からホストB'1400における処理B1205へ、判定1119においてホストB1200が異常であると判定してから、処理C1305が実行されるまでの間、いずれのタイミングにおいて変更してもよい。
The host B ′ 1400 receives the activation from the host C 1300 and activates (step 2002). Thereafter, the dependency relationship information regarding the
また、ホストA1100は、ホストC1300から最新ジョブ検索1304において最新のジョブIDを送信される際に、ホストB1200の代わりに、ホストB'1400が起動した旨を送信されてもよい。そして、ホストA1100は、処理A1114の依存先を、ホストB'1400における処理B1205に変更してもよい。
Further, when the latest job ID is transmitted from the host C 1300 in the
第3の実施形態においてホストA1100は、ホストC1300へ最新ジョブIDの送信を要求することはない。このため、第3の実施形態は、第1の実施形態よりも、ホストA1100からホストC1300への通信がすくない。 In the third embodiment, the host A 1100 does not request the host C 1300 to send the latest job ID. For this reason, the third embodiment requires less communication from the host A 1100 to the host C 1300 than the first embodiment.
一方、第3の実施形態においてホストA1100は、ロールバックデーモン6002を常に実行させ続けているため、第1の実施形態におけるホストA1100の負荷よりも、第3の実施形態におけるホストA1100の負荷が、高くなる。
On the other hand, since the host A 1100 continues to execute the
第4の実施形態において、ホストB1200の依存元及び依存先がホストB1200における処理B1206の終了を認識し、依存元が、リングバッファではなくリストバッファによって、ホストB1200における未処理のジョブを管理する計算機システムを示す。
In the fourth embodiment, the dependence source and dependence destination of the host B 1200 recognize the end of the
図11は、本発明の第4の実施形態のシステム全体の構成を示す説明図である。 FIG. 11 is an explanatory diagram showing the configuration of the entire system according to the fourth embodiment of this invention.
図11に示すホストA1100は、図2に示すホストA1100が備えたロールバックA1112、バッファプッシュA1113、及びリングバッファ1103に代わり、ロールバックA8112、バッファプッシュA8113、バッファ更新8114、及びリストバッファ8103を備える。バッファプッシュA8113は、リストバッファ8103にエントリを追加し、追加したエントリのフラグに"○"を更新する。バッファ更新は、ホストB1200によって処理されたジョブを示すジョブIDのフラグを"×"にする。リストバッファ8103は、番地列、フラグ列、ジョブID列、及びポインタ列を含む。
A host A 1100 illustrated in FIG. 11 includes a roll back A 8112, a
図11に示すホストB1200は、図2に示す依存関係情報配信1203に代わり、依存関係情報配信8203を備える。
A host B 1200 illustrated in FIG. 11 includes a dependency
図11に示すホストC1300は、図2に示すホストC1300の機能に加え、依存関係表更新5110、トークンバック8305、及び依存関係表5116を備える。
A host C 1300 illustrated in FIG. 11 includes a
図12は、本発明の第4の実施形態の処理を示すシーケンス図である。 FIG. 12 is a sequence diagram showing processing of the fourth exemplary embodiment of the present invention.
ホストB1200は、処理B1205の依存関係の情報をホストA1100、及びホストC1300の両方に送信する(依存関係情報配信8203)。依存関係情報配信8203において、ホストA1100に送信される依存関係の情報は、第1の実施形態の依存関係情報配信1203においてホストA1100に送信された依存関係と同じである。また、ホストC1300に送信される依存関係の情報は、第3の実施形態の依存関係情報配信6004においてホストC1300に送信された依存関係と同じである。
The host B 1200 transmits the dependency relationship information of the
ホストA1100、及びホストC1300は、各々依存関係表1116、及び依存関係表5116を備える。また、ホストA1100、ホストB1200、及びホストC1300は、処理A1114、処理B1205、及び処理C1305を実行する。この際、処理A1114は、処理B1205に、ジョブIDを送信する。処理B1205が終了した後、処理C1305を実行する前に、ホストC1300は、ホストA1100に、ホストA1100から来たジョブがホストB1200によって処理された旨を送信する(トークンバック8305)。ホストA1100は、ホストC1300からジョブが処理された旨を受信した場合、ジョブがホストB1200によって処理されたので、バッファ更新8114によって、リストバッファ8103からジョブを削除する。
The host A 1100 and the host C 1300 include a dependency relationship table 1116 and a dependency relationship table 5116, respectively. In addition, the host A 1100, the host B 1200, and the host C 1300 execute the
リストバッファ8103は、リスト構造を持つバッファであり、各エントリはフラグ、ジョブID、及び次のエントリへのポインタを含む。リストバッファ8103は、2つのタイミングにおいて更新される。 The list buffer 8103 is a buffer having a list structure, and each entry includes a flag, a job ID, and a pointer to the next entry. The list buffer 8103 is updated at two timings.
一つのタイミングは、ホストA1100において処理A1114が終了した際である。ホストA1100において処理A1114が終了し、結果のデータをホストB1200に送信する際、ホストA1100は、バッファプッシュA8113によってリストバッファ8103に新たなジョブIDを追加する。ホストA1100は、バッファプッシュA8113によって、リストバッファ8103のポインタの末尾に、ホストA1100から送信され、ホストB1200において処理されるジョブIDを追加し、追加したジョブIDのフラグを"○"とする。
One timing is when the
また、もう一つのタイミングは、ホストB1200において処理B1205が終了し、ホストC1300に処理B1205によって処理されたジョブが到着し、ホストC1300が、到着したジョブのジョブIDをホストA1100に送信した際である。ホストB1200において処理B1205によってジョブが処理された旨をホストC1300から送信された場合、ホストA1100は、バッファ更新8114によって、終了したジョブを示すジョブIDのフラグを"×"に更新する。
Another timing is when the
なお、ホストA1100は、バッファプッシュA8113によってリストバッファ8103にジョブIDを追加する際、フラグが"×"になっているエントリに、ジョブIDを追加してもよい。
When the host A 1100 adds a job ID to the list buffer 8103 by the
バッファ更新8114が終了した後、ホストA1100は、ホストB1200が正常に稼働しているか否かを判定するため、ホストB1200を診断1111する。ホストB1200は、ホストA1100からの診断1111に受診1204し、正常に稼働しているか否かを返信する。ホストA1100は、ホストB1200が正常に稼働しているか否かを判定1119し、正常に稼働している場合、定時実行デーモン1115に従って次の診断1111を実行する。
After the
判定1119において、ホストB1200が異常であると判定された場合、ホストA1100は、ロールバックA8112を実行する。ロールバックA8112は、図5に示すフローチャートのステップ13001〜ステップ13004を、リストバッファ8103からフラグが"○"であるジョブIDを選択し、ロールバックポイントとするステップに代えた処理である。
When it is determined in the
また、判定1119において、ホストB1200が異常であると判定された場合、ホストA1100は、ホストB'1400を起動2002する。
If it is determined in the
ホストB'1400は、ホストA1100に従って起動2002された後、依存関係情報配信2003によって、ホストA1100に、ホストB'1400における処理B1205の依存関係を送信する。
After the host B′1400 is activated 2002 according to the host A1100, the dependency
ホストA1100及びホストC1300が、ホストB1200の代わりにホストB'1400が起動されたことによって、処理A1114の依存先、及び処理C1305の依存元を変更するタイミングは、第1の実施形態と同じである。
The timing at which the host A 1100 and the host C 1300 change the dependency destination of the
第4の実施形態によれば、処理A1114は、処理B1205が処理を終了したか否かを認識できる。また、リングバッファ1103と異なり、リストバッファ8103は、個別のジョブについて管理できる。このため、第4の実施形態によれば、ジョブの順序が変化するような処理の流れ(Out−Of−Order)を持つシステムにおいて、ジョブを重複させることなくロールバックすることができる。
According to the fourth embodiment, the
なお、第3の実施の形態及び第4の実施の形態は、前述した第2の実施の形態と同様に四つ以上のホストを備えるシステムにも適用することができる。この場合、連続してジャブの処理を実行する3台のホストの組を選択し、各選択されたホストの組において第3の実施の形態又は第4の実施の形態の動作をさせることによって、本実施の形態の効果を得ることができる。 Note that the third embodiment and the fourth embodiment can be applied to a system including four or more hosts as in the second embodiment described above. In this case, by selecting a set of three hosts that successively execute jab processing, and causing each selected host set to perform the operation of the third embodiment or the fourth embodiment, The effect of this embodiment can be obtained.
前述の通り、本発明の実施形態における、処理A1114、処理B1205、処理C1305、及び処理D1601は、各々、物理的に分けられたホストによって実行された。しかし、前述のホストは、物理的に分けられている必要はなく、一つの計算機に作られた複数の仮想計算機であってもよい。
As described above, the
図13は、本発明の実施形態の処理の流れのパターンを示す説明図である。 FIG. 13 is an explanatory diagram showing a process flow pattern according to the embodiment of this invention.
図13に示すパターン1、及びパターン2は、第1の実施形態における処理の流れのパターンである。また、図13に示すパターン3、及びパターン4は、第3の実施形態における処理の流れのパターンである。図13に示す依存関係を、ホストA、ホストB、ホストC、及びホストDの関係として示す。
パターン1は、ホストAからホストBへ、ホストBからホストCとホストDとに処理されるパターンである。パターン1において、ホストBの依存先は、ホストCとホストDとである。パターン1におけるホストBは、ホストAに依存関係[B−>(C,D)]を送信する。ホストAは、ホストBが稼働しなくなった場合、最新ジョブ検索の要求をホストC及びホストDの両方に送信する。そして、ホストC及びホストDによる最新ジョブ検索の結果に従って、ロールバックポイントを定める。
パターン2は、ホストAからホストBへ、ホストBからホストC又はホストDに処理が流れるパターンである。パターン2において、ホストBの依存先は、ホストBにおいて実行される処理の結果に従って、ホストC、又はホストDのどちらかになる。パターン2におけるホストBも、ホストAに依存関係[B−>(C,D)]を送信する。そして、パターン2のホストAも、ホストBが稼働しなくなった場合、最新ジョブ検索の要求をホストC及びホストDの両方に送信し、ホストC及びホストDによる最新ジョブ検索の結果に従って、ロールバックポイントを定める。
パターン3は、ホストA又はホストBから、ホストCへ、ホストCからホストDへ、処理が流れる。パターン3において、ホストCの依存元は、ホストA又はホストBである。パターン3におけるホストCは、ホストDに依存関係[A−>C]又は依存関係[B−>C]を送信する。ホストCが稼働しなくなった場合、ホストDは、最新ジョブを検索し、最新ジョブがホストAから流れてきたジョブであれば、最新ジョブIDをホストAに送信し、最新ジョブがホストBから流れてきたジョブであれば、最新ジョブIDをホストBに送信する。ホストA又はホストBは、ホストBからの最新ジョブIDに従い、ロールバックポイントを定める。
In
パターン4は、ホストAとホストBとの処理の終了を条件に、ホストCにおける処理が開始され、ホストCからホストDに処理が流れる。パターン4において、ホストCの依存元は、ホストA及びホストBである。パターン4におけるホストCは、ホストDに依存関係[(A,B)−>C]を送信する。ホストCが稼働しなくなった場合、ホストDは、最新ジョブを検索し、ホストA及びホストBの両方に最新のジョブIDを送信する。そして、ホストA及びホストBは、受信した最新のジョブIDに従って、ロールバックポイントを定める。
図13に示すパターン1〜パターン4によれば、一つの処理への入力、又は出力が複数の処理からもたらされる場合においても、前述の実施形態のシステムを適用することができる。
According to
前述の実施形態において提案する計算機システムは、複数のホストを含み、高い可用性を持ち、かつコストが低い。 The computer system proposed in the above embodiment includes a plurality of hosts, has high availability, and is low in cost.
1100、1200、1300、1400 ホスト
1500 ネットワーク
1101、1201、1301、1601 記憶装置
1103 リングバッファ
8103 リストバッファ
1100, 1200, 1300, 1400 Host 1500
Claims (12)
前記第1の計算機、前記第2の計算機及び前記第3の計算機は、ジョブを順に送信及び受信することによって、前記ジョブを処理し、
前記第1の計算機は、
前記第2の計算機の処理と他の前記計算機の処理との関係を示す依存関係を管理し、
前記第2の計算機が正常に稼働しているか否かを判定し、
前記第2の計算機が正常に稼働していないと判定された場合、前記第2の計算機において処理された最新の前記ジョブの識別子を前記第3の計算機から取得し、
前記取得したジョブの識別子に基づいて、ロールバックをすることを特徴とする計算機システム。 A computer system comprising a first computer, a second computer, and a third computer, wherein the computers are connected by a network,
The first computer, the second computer, and the third computer process the job by transmitting and receiving the job in order,
The first calculator is:
Managing the dependency indicating the relationship between the processing of the second computer and the processing of the other computer;
Determining whether the second computer is operating normally;
If it is determined that the second computer is not operating normally, the latest identifier of the job processed in the second computer is acquired from the third computer,
A computer system that performs rollback based on the acquired identifier of the job.
前記第3の計算機は、前記第1の計算機に、前記要求された最新のジョブを送信することを特徴とする請求項1に記載の計算機システム。 The first computer requests an identifier of the latest job processed in the second computer from the third computer,
The computer system according to claim 1, wherein the third computer transmits the requested latest job to the first computer.
前記第1の計算機は、前記第2の計算機が正常に稼働していないと判定された場合、前記第4の計算機を、前記第2の計算機に代えて処理を実行させるために起動し、
前記第4の計算機は、前記第1の計算機に、前記第4の計算機の処理と他の前記計算機の処理との関係を示す依存関係を送信することを特徴とする請求項1又は2に記載の計算機システム。 The computer system further includes a fourth computer,
When it is determined that the second computer is not operating normally, the first computer starts the fourth computer to execute processing instead of the second computer,
The said 4th computer transmits the dependency which shows the relationship between the process of the said 4th computer, and the process of the said other computer to the said 1st computer, The Claim 1 or 2 characterized by the above-mentioned. Computer system.
前記第1の計算機、前記第2の計算機、前記第3の計算機及び第5の計算機は、前記ジョブを順に送信及び受信することによって、前記ジョブを処理し、
前記第1の計算機、前記第2の計算機及び前記第3の計算機の組合せにおいて、前記第1の計算機をロールバックし、
前記第2の計算機、前記第3の計算機及び前記第5の計算機の組合せにおいて、前記第2の計算機をロールバックすることを特徴とする請求項1から4のいずれか一つに記載の計算機システム。 The computer system further includes a fifth computer,
The first computer, the second computer, the third computer, and the fifth computer process the job by transmitting and receiving the job in order,
Roll back the first computer in a combination of the first computer, the second computer and the third computer;
5. The computer system according to claim 1, wherein the second computer is rolled back in a combination of the second computer, the third computer, and the fifth computer. 6. .
前記第1の計算機、前記第2の計算機、及び前記第3の計算機は、ジョブを順に送信及び受信することによって、前記ジョブを処理し、
前記第3の計算機は、
前記第2の計算機の処理と他の前記計算機の処理との関係を示す依存関係を管理し、
前記第2の計算機が正常に稼働しているか否かを判定し、
前記第2の計算機が正常に稼働していないと判定された場合、前記第2の計算機において処理された最新の前記ジョブの識別子を前記第1の計算機に送信し、
前記第1の計算機は、前記送信されたジョブの識別子に基づいて、ロールバックをすることを特徴とする計算機システム。 A computer system comprising a first computer, a second computer, and a third computer, wherein the computers are connected by a network,
The first computer, the second computer, and the third computer process the job by transmitting and receiving the job in order,
The third computer is
Managing the dependency indicating the relationship between the processing of the second computer and the processing of the other computer;
Determining whether the second computer is operating normally;
When it is determined that the second computer is not operating normally, the latest identifier of the job processed in the second computer is transmitted to the first computer,
The computer system is characterized in that the first computer rolls back based on the identifier of the transmitted job.
前記第3の計算機は、前記第2の計算機が正常に稼働していないと判定された場合、前記第4の前記計算機を、前記第2の計算機に代えて処理を実行させるために起動し、
前記第4の計算機は、前記第3の計算機に、前記第4の計算機の処理と他の前記計算機の処理との関係を示す依存関係を送信することを特徴とする請求項6に記載の計算機システム。 The computer system further includes a fourth computer,
When it is determined that the second computer is not operating normally, the third computer starts up the fourth computer to execute processing instead of the second computer,
The computer according to claim 6, wherein the fourth computer transmits a dependency relationship indicating a relationship between the processing of the fourth computer and the processing of the other computer to the third computer. system.
前記第1の計算機、前記第2の計算機、前記第3の計算機及び第5の計算機は、前記ジョブを順に送信及び受信することによって、前記ジョブを処理し、
前記第1の計算機、前記第2の計算機及び前記第3の計算機の組合せにおいて、前記第1の計算機をロールバックし、
前記第2の計算機、前記第3の計算機及び前記第5の計算機の組合せにおいて、前記第2の計算機をロールバックすることを特徴とする請求項6から8のいずれか一つに記載の計算機システム。 The computer system further includes a fifth computer,
The first computer, the second computer, the third computer, and the fifth computer process the job by transmitting and receiving the job in order,
Roll back the first computer in a combination of the first computer, the second computer and the third computer;
9. The computer system according to claim 6, wherein the second computer is rolled back in a combination of the second computer, the third computer, and the fifth computer. .
前記第1の計算機、前記第2の計算機及び前記第3の計算機は、ジョブを順に送信及び受信することによって、前記ジョブを処理し、
前記第1の計算機及び前記第3の計算機は、前記第2の計算機の処理と他の前記計算機の処理との関係を示す依存関係を管理し、
前記第3の計算機は、前記第2の計算機においてジョブが処理された旨を示す終了状況を、前記第1の計算機に送信し、
前記第1の計算機は、
前記第2の計算機が正常に稼働しているか否かを判定し、
前記第2の計算機が正常に稼働していないと判定された場合、前記送信された終了状況に基づいて、ロールバックをすることを特徴とする計算機システム。 A computer system comprising a first computer, a second computer, and a third computer, wherein the computers are connected by a network,
The first computer, the second computer, and the third computer process the job by transmitting and receiving the job in order,
The first computer and the third computer manage a dependency indicating a relationship between the processing of the second computer and the processing of the other computer,
The third computer sends an end status indicating that the job has been processed in the second computer to the first computer;
The first calculator is:
Determining whether the second computer is operating normally;
When it is determined that the second computer is not operating normally, rollback is performed based on the transmitted end status.
前記第1の計算機は、前記第2の計算機が正常に稼働していないと判定された場合、前記第4の計算機を、前記第2の計算機に代えて処理を実行させるために起動し、
前記第4の計算機は、前記第3の計算機に、前記第4の計算機における処理の依存関係を送信することを特徴とする請求項10に記載の計算機システム。 The computer system further includes a fourth computer,
When it is determined that the second computer is not operating normally, the first computer starts the fourth computer to execute processing instead of the second computer,
The computer system according to claim 10, wherein the fourth computer transmits a dependency relationship of processing in the fourth computer to the third computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009108290A JP2010257335A (en) | 2009-04-27 | 2009-04-27 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009108290A JP2010257335A (en) | 2009-04-27 | 2009-04-27 | Computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010257335A true JP2010257335A (en) | 2010-11-11 |
Family
ID=43318146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009108290A Pending JP2010257335A (en) | 2009-04-27 | 2009-04-27 | Computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010257335A (en) |
-
2009
- 2009-04-27 JP JP2009108290A patent/JP2010257335A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100333094A1 (en) | Job-processing nodes synchronizing job databases | |
CN102521044B (en) | Distributed task scheduling method and system based on messaging middleware | |
CN109814998A (en) | A kind of method and device of multi-process task schedule | |
US9152491B2 (en) | Job continuation management apparatus, job continuation management method and job continuation management program | |
JP2009288836A (en) | System failure recovery method of virtual server, and its system | |
US20140059315A1 (en) | Computer system, data management method and data management program | |
US9104486B2 (en) | Apparatuses, systems, and methods for distributed workload serialization | |
JP2005025432A (en) | Transaction processing method, transaction controller, and transaction control program | |
CN111240806B (en) | Distributed container mirror image construction scheduling method | |
CN112333249A (en) | Business service system and method | |
JP2013015915A (en) | Transmission control method, device and program | |
CN105373563B (en) | Database switching method and device | |
CN108733515A (en) | Dispatching method, file backup method, device and the storage medium of file backup | |
CN113382077B (en) | Micro-service scheduling method, micro-service scheduling device, computer equipment and storage medium | |
JP2009026221A (en) | Business process operation management system, method, process operation management device, and its program | |
JP5531760B2 (en) | Information processing system and information processing method | |
JP2008242766A (en) | Process control system | |
CN111835809A (en) | Work order message distribution method, work order message distribution device, server and storage medium | |
JP2010257335A (en) | Computer system | |
JP2007272475A (en) | Slip data processor, processing program, and processing method | |
US9203692B1 (en) | Optimized event routing in distributed data management | |
CN113051063A (en) | Task scheduling method and device for distributed tasks and electronic equipment | |
JP2010182017A (en) | Distributed computer system, manager succession method and manager succession program | |
US20090019259A1 (en) | Multiprocessing method and multiprocessor system | |
JP5449471B2 (en) | Method for synchronous processing of update processing for shared data, data sharing system, and data sharing program |