JP2010257335A - Computer system - Google Patents

Computer system Download PDF

Info

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
Application number
JP2009108290A
Other languages
Japanese (ja)
Inventor
Soichi Furuya
聡一 古屋
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009108290A priority Critical patent/JP2010257335A/en
Publication of JP2010257335A publication Critical patent/JP2010257335A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a rollback system in which active regular resources are reduced, and intensive control is not used. <P>SOLUTION: A computer system includes a first computer, a second computer and a third computer, and the respective computers are connected through a network. The first computer, the second computer and the third computer are configured to successively transmit and receive jobs for processing those jobs, and the first computer is configured to manage dependency showing a relation between the processing of the second computer and the processing of the other computer, and to determine whether or not the second computer is normally operating, and to, when determining that the second computer is not normally operating, obtain the identifier of the latest job processed by the second computer from the third computer, and to perform rollback based on the obtained identifier of the job. <P>COPYRIGHT: (C)2011,JPO&INPIT

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.

特開2001−43105号公報JP 2001-43105 A 特開平7−262073号公報JP-A-7-262073

前述に記載した第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.

本発明の実施形態の処理の例を示す説明図である。It is explanatory drawing which shows the example of the process of embodiment of this invention. 本発明の第1の実施形態のシステムの全体構成を示すブロック図である。1 is a block diagram illustrating an overall configuration of a system according to a first embodiment of this invention. 本発明の第1の実施形態の処理を示すシーケンス図である。It is a sequence diagram which shows the process of the 1st Embodiment of this invention. 本発明の第1の実施形態の依存関係情報配信処理を示すフローチャートである。It is a flowchart which shows the dependence relationship information delivery process of the 1st Embodiment of this invention. 本発明の第1の実施形態のロールバック処理を示すフローチャートである。It is a flowchart which shows the rollback process of the 1st Embodiment of this invention. 本発明の第1の実施形態のホスト間の関係を示す説明図である。It is explanatory drawing which shows the relationship between the hosts of the 1st Embodiment of this invention. 本発明の第2の実施形態のホスト間の関係を示す説明図である。It is explanatory drawing which shows the relationship between the hosts of the 2nd Embodiment of this invention. 本発明の第2の実施形態のシステム全体の構成を示す説明図である。It is explanatory drawing which shows the structure of the whole system of the 2nd Embodiment of this invention. 本発明の第3の実施形態のシステム全体の構成を示す説明図である。It is explanatory drawing which shows the structure of the whole system of the 3rd Embodiment of this invention. 本発明の第3の実施形態の処理を示すシーケンス図である。It is a sequence diagram which shows the process of the 3rd Embodiment of this invention. 本発明の第4の実施形態のシステム全体の構成を示す説明図である。It is explanatory drawing which shows the structure of the whole system of the 4th Embodiment of this invention. 本発明の第4の実施形態の処理を示すシーケンス図である。It is a sequence diagram which shows the process of the 4th Embodiment of this invention. 本発明の実施形態の処理の流れの組合せを示す説明図である。It is explanatory drawing which shows the combination of the flow of the process of embodiment of this invention.

図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 process A 1114, the host B 1200 processes process B 1205, the host C 1300 processes process C 1305, and the host D 1600 processes process D 1601. In process A 1114, purchase information is input from the outside, and an approval request sheet for managers is output to process B. In process B1205, the approval request sheet for managers is input from process A1114, and the approval request sheet for center managers is output to process C1305. In process C1305, the approval request sheet for the center manager is input from process B1205, and the order sheet for the dealer is output to process D1601. In process D1601, the order sheet for dealer is input from process C1305, and the input order sheet is processed.

処理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 ring buffer 1103 in the memory. The storage device 1101 includes middleware A1102, rollback A1112, buffer push A1113, processing A1114, scheduled execution daemon 1115, and dependency relationship table 1116.

ミドルウェアA1102、ロールバックA1112、バッファプッシュA1113、処理A1114、及び定時実行デーモン1115は、プログラムであり、プロセッサによって参照され、実行される。依存関係表1116は、データの集合であり、後述するホストBから送信され、ホスト間の依存関係を示すデータを含む。   The middleware A1102, the rollback A1112, the buffer push A1113, the process A1114, and the scheduled execution daemon 1115 are programs that are referenced and executed by the processor. The dependency relationship table 1116 is a set of data, and is transmitted from the host B described later and includes data indicating the dependency relationship between the hosts.

ミドルウェアA1102は、依存関係表更新1110、診断1111、及び判定1119を含む。依存関係表更新1110、診断1111、及び判定1119は、プログラムである。   The middleware A 1102 includes a dependency relationship table update 1110, a diagnosis 1111, and a determination 1119. The dependency table update 1110, diagnosis 1111, and determination 1119 are programs.

リングバッファ1103は、先頭ポインタを保存するエリア1117と、データを保存するエリア1118とを含む。   The ring buffer 1103 includes an area 1117 for storing a head pointer and an area 1118 for storing data.

ホスト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 middleware B 1202, processing B 1205, and processing B dependency table 1206. The middleware B 1202 includes dependency relationship information distribution 1203 and a consultation 1204. The dependency relationship information distribution 1203 and the consultation 1204 are programs. Processing B1205 is also a program. The process B dependency table 1206 is a set of data. The host that inputs data to the process B 1205, that is, the host that is the dependency source of the process B 1205, and the host that receives data from the process B 1205, that is, the dependency destination of the process B 1205 Indicates a host that is

ホスト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 latest job list 1306. The middleware C1302 and the process C1305 are programs. The middleware C1302 includes a list update 1303 and a latest job search 1304.

ホスト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 process B 1205 in the host B 1200 to the host A 1100 that is the dependency source of the process B 1205 by the dependency relationship information distribution 1203. Specifically, the host B 1200 transmits a process B dependency table 1206 including a dependency relationship [B-> C] indicating that the output of the host B 1200 is input to the host C 1300 to the host A 1100.

ホスト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 dependency table update 1110 for the received dependency [B-> C] for the process B 1205 and the type ID uniquely assigned to the dependency relationship. Input to the relationship table 1116. The type ID is an arbitrary alphanumeric character. The dependency relationship table 1116 illustrated in FIG. 2 indicates the dependency relationship table 1116 after the dependency relationship update 1110 is executed, the type column indicates “T1”, and the data column indicates the dependency relationship [B-> C].

依存関係情報配信1203の詳細を図4において後述する。   Details of the dependency relationship information distribution 1203 will be described later with reference to FIG.

ホストA1100が、依存関係表更新1110によって、依存関係表1116を更新した後、ホストA1100は、処理A1114を実行する。処理A1114に続いて、ホストB1200は、処理B1205を実行する。処理B1205に続いて、ホストC1300は、処理C1305を実行する。   After the host A 1100 updates the dependency table 1116 by the dependency table update 1110, the host A 1100 executes the process A 1114. Subsequent to the process A 1114, the host B 1200 executes the process B 1205. Subsequent to the process B1205, the host C1300 executes a process C1305.

処理A1114、処理B1205、及び処理C1305の一連の処理は、ホスト間でデータを通信することによって連携する。本発明の実施形態において、ホスト間で通信される一連のデータの単位を、ジョブと呼ぶ。処理A1114から処理C1305に至る一連のジョブは、処理A1114によって一意な識別子を割り当てられる。処理A1114によって割り当てられた識別子を、ジョブIDと呼ぶ。   A series of processes of process A 1114, process B 1205, and process C 1305 cooperate by communicating data between hosts. In the embodiment of the present invention, a series of data units communicated between hosts is called a job. A series of jobs from the process A 1114 to the process C 1305 is assigned a unique identifier by the process A 1114. The identifier assigned by the process A 1114 is referred to as a job ID.

ジョブ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 ring buffer 1103 by the buffer push A1113. To enter. Rollback data is indicated by a job ID. Further, the buffer push A 1113 inputs the rollback data at the address indicated by the head pointer 1117. Then, the buffer push A 1113 updates the address of the head pointer 1117 to the address where the oldest job ID is input.

なお、リングバッファ1103における最も古いジョブIDは、リングバッファ1103が番地の昇順にジョブIDを入力される場合、先頭ポインタが示す番地よりも一つ多い番地のジョブIDである。リングバッファ1103が番地の降順にジョブIDを入力される場合、リングバッファ1103における最も古いジョブIDは、先頭ポインタが示す番地よりも一つ少ない番地のジョブIDである。本実施形態において、リングバッファ1103は、番地の昇順にジョブIDを入力される。   Note that the oldest job ID in the ring buffer 1103 is the job ID of the address one more than the address indicated by the head pointer when the job IDs are input in the ascending order of the addresses in the ring buffer 1103. When the job IDs are input to the ring buffer 1103 in descending address order, the oldest job ID in the ring buffer 1103 is the job ID of the address one less than the address indicated by the head pointer. In this embodiment, the ring buffer 1103 receives job IDs in ascending order of addresses.

ホスト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 latest job list 1306 and “A” is displayed in the job ID column after the processing B 1205 in the host B 1200 is completed. Is recorded. Since the latest job list 1306 indicates the latest job ID, the list update 1303 overwrites the past job ID of the latest job list 1306 with the latest job ID after the processing B1205 in the host B 1200 is completed.

ホスト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 diagnosis 1111 using the scheduled execution daemon 1115. The diagnosis 1111 includes confirmation of the operation status of the network interface by the ping command and whether or not processing can be normally executed. After receiving the diagnosis 1111 from the host A 1100, the host B 1200 returns the operating status to the host A 1100 through the consultation 1204.

ホスト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 determination 1119. It is determined whether or not.

判定1119によって、ホストB1200が正常に稼働していると判定された場合、ロールバックする必要はないため、ホストA1100は、定時実行デーモン1115に従って、診断1111を繰り返す。   If it is determined by the determination 1119 that the host B 1200 is operating normally, the host A 1100 repeats the diagnosis 1111 according to the scheduled execution daemon 1115 because there is no need to roll back.

判定1119によって、ホストB1200が異常であると判定された場合、ホストA1100は、ロールバックをするため、最新のジョブIDを送信するようにホストC1300に要求し、ホストB'1400を起動する。なお、ホストC1300が最新のジョブIDをホストA1100に送信するよう要求を受信した後に、ホストC1300がホストB'1400を起動してもよい。   If it is determined by the determination 1119 that the host B 1200 is abnormal, the host A 1100 requests the host C 1300 to transmit the latest job ID and starts up the host B ′ 1400 in order to roll back. The host C 1300 may activate the host B ′ 1400 after the host C 1300 receives a request to transmit the latest job ID to the host A 1100.

ホストC1300は、ホストA1100から最新のジョブIDを要求された後、最新ジョブ検索1304を実行する。ホストC1300は、最新ジョブ検索1304によって、ホストA1100によって実行されたジョブのうち、最新のジョブのIDを検索し、検索した結果の最新のジョブIDを、ホストA1100に返信する。最新ジョブ検索1304を実行する際、ホストC1300は、最新ジョブリスト1306のホスト列が"A"を示すジョブID(以降、最新ジョブIDと記載)を、ホストA1100に返信する。   The host C 1300 executes the latest job search 1304 after receiving the latest job ID from the host A 1100. The host C 1300 searches the latest job search 1304 for the latest job ID among the jobs executed by the host A 1100, and returns the latest job ID as a result of the search to the host A 1100. When executing the latest job search 1304, the host C 1300 returns a job ID (hereinafter referred to as the latest job ID) in which the host column of the latest job list 1306 indicates “A” to the host A 1100.

ホストA1100は、最新ジョブIDを受信した場合、ロールバックA1112を実行する。ロールバックA1112の詳細を、図5において後述する。   When the host A1100 receives the latest job ID, the host A1100 executes rollback A1112. Details of the rollback A 1112 will be described later with reference to FIG.

ホスト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 process B 1205 executed in the host B ′ 1400 to the host A 1100 (dependency relationship information distribution 2003). The host A 1100 changes the dependence destination of the process A 1114 from the process B 1205 in the host B 1200 to the process B 1205 in the host B ′ 1400, and after determining in the determination 1119 that the host B 1200 is abnormal, until the process A 1114 is executed. The timing may be changed at any timing.

また、ホスト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 determination 1119, the host C 1300 is notified from the host A 1100 that the host B ′ 1400 has been activated instead of the host B 1200, and the dependence source of the process C 1305 is changed from the process B 1205 in the host B 1200 to the process in the host B ′ 1400. You may change to B1205. Alternatively, when the process B1205 in the host B′1400 is completed, the host C1300 is notified that the host B′1400 has started up instead of the host B1200, and the host of the process C1305 is changed from the process B1205 to the host B1200. You may change to process B1205 in B'1400.

図4は、本発明の第1の実施形態の依存関係情報配信1203を示すフローチャートである。   FIG. 4 is a flowchart showing the dependency relationship information distribution 1203 according to the first embodiment of this invention.

ホスト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 step 11001, the host B 1200 transmits information indicating the dependency relationship to the dependency source of the process B (step 11002). Specifically, the host B 1200 transmits an identifier indicating the host C 1300 that outputs the result of the process B 1205 to the host A 1100 that inputs data to the process B 1205. In step 11002 in the first embodiment, the host B 1200 transmits a dependency [B-> C] indicating that “the result of the process B in the host B 1200 is passed to the host C 1300” to the host A 1100.

図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 ring buffer 1103 for an entry that matches the received latest job ID, and matches the received latest job ID. It is determined whether or not an entry exists (step 13002).

リングバッファ1103は、あらかじめ定められた量よりも多いジョブが入力される場合、古いジョブIDを消去する。このため、リングバッファ1103が、必ずしも受信した最新ジョブIDを含むとは限らない。ステップ13002において、受信した最新ジョブIDがリングバッファ1103に存在しない場合、ホストA1100は、最も古いジョブID、すなわち、先頭ポインタ1117が示す番地のジョブIDを選択する(ステップ13003)。   The ring buffer 1103 deletes old job IDs when more jobs are input than a predetermined amount. For this reason, the ring buffer 1103 does not necessarily include the received latest job ID. In step 13002, if the received latest job ID does not exist in the ring buffer 1103, the host A 1100 selects the oldest job ID, that is, the job ID of the address indicated by the head pointer 1117 (step 13003).

受信した最新ジョブIDがリングバッファ1103に存在する場合、ホストA1100は、受信した最新ジョブIDの次に実行されるべきジョブIDを、ロールバックポイントとする(ステップ13004)。   When the received latest job ID exists in the ring buffer 1103, the host A 1100 sets the job ID to be executed next to the received latest job ID as a rollback point (step 13004).

ステップ1303またはステップ1304の後、ホストA1100は、ホストB'1400において処理が可能か否かを判定する(ステップ13005)。ホストB'1400において処理ができない場合、ホストA1100は、あらかじめ定められた時間待機し(13006)、ホストB'1400において処理ができるまで待機する。   After step 1303 or step 1304, the host A 1100 determines whether or not processing is possible in the host B ′ 1400 (step 13005). When the host B′1400 cannot process, the host A1100 waits for a predetermined time (13006) and waits until the host B′1400 can process.

ステップ13005において、ホストB'1400において処理が可能であると判定された場合、ホストA1100は、ステップ13004において選択したロールバックポイントから、ホストA1100における最新のジョブまで、すなわち、リングバッファ1103における先頭ポインタ1117が示す番地よりも一つ少ない番地のジョブまで、を実行し(ロールバック:ステップ13007)、ロールバックA1112を終了する。   If it is determined in step 13005 that processing can be performed in the host B ′ 1400, the host A 1100 determines from the rollback point selected in step 13004 to the latest job in the host A 1100, that is, the head pointer in the ring buffer 1103. Up to a job having an address one less than the address indicated by 1117 is executed (rollback: step 13007), and rollback A1112 is terminated.

第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 execution daemon 1115, dependency table 1116, and ring buffer 1103 are added to the host B1200 shown in FIG.

また、ホスト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 middleware B 1202 and the processing C dependency table 3306 are added to the host C 1300 illustrated in FIG.

また、ホスト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 storage device 1601 in a memory, and the storage device 1601 includes a middleware C1302, a process D1601, and a latest job list 1602.

第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, processing B 1205, processing C 1305, and processing D 1601 illustrated in FIG. 1 by the host A 1100, host B 1200, host C 1300, and host D 1600 illustrated in FIG. When a failure occurs in the host B 1200 shown in FIG. 8, the system of the second embodiment rolls back by the same processing flow as the processing flow shown in FIG. When a failure occurs in the host C1300, the system of the second embodiment, in the processing flow shown in FIG. 3, the host B1200 performs the processing of the host A1, the host C1300 performs the processing of the host B1200, and the processing of the host C1300. When D1600 executes, it rolls back.

第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 diagnosis 1111 of the host B1200 are executed by the host A1100 which is the upstream role. In the third embodiment, the grasping of the dependency relationship and the diagnosis of the host B1200 are performed downstream. Executed by the host C1300.

図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 rollback daemon 6002.

図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 relationship information distribution 6004.

図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 execution daemon 1115 is provided in the host A 1100 in FIG. 2, but is provided in the host C 1300 in FIG. 2 is the same as the dependency relationship table 6007 provided in the host C 1300 in FIG. The middleware CC 6005 includes a dependency table update 6006, a diagnosis 1111, a determination 1119, a list update 1303, and a latest job search 1304.

図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 relationship information distribution 6004 to the host C 1300. The host B 1200 transmits the dependency relationship to the host C 1300 that is the dependency destination of the process B 1205 based on the process B dependency table 1206 of the process B 1205. Specifically, the host B 1200 transmits the identifier of the host A 1100 that is the dependency source of the process B 1205 to the host C 1300 that is the dependency destination of the process B 1205. That is, the host B 1200 transmits a dependency relationship [A-> B] representing the meaning that “the result of the host A 1100 is passed to the host B 1200” to the host C 1300.

ホストC1300は、依存関係情報配信6004によって、依存関係を送信された後、受信した依存関係[A−>B]を用いて、依存関係表6007を更新する(依存関係表更新6006)。   After the dependency relationship is transmitted by the dependency relationship information distribution 6004, the host C 1300 updates the dependency relationship table 6007 using the received dependency relationship [A-> B] (dependency relationship update 6006).

ホストA1100、ホストB1200、及びホストC1300は、各々処理A1114、処理B1205、及び処理C1305を実行する。   The host A 1100, the host B 1200, and the host C 1300 execute the process A 1114, the process B 1205, and the process C 1305, respectively.

ホスト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 diagnosis 1111 using the scheduled execution daemon 1115. The diagnosis 1111 is the same as the diagnosis 1111 in the first embodiment. After receiving the diagnosis 1111 from the host C 1300, the host B 1200 returns the operating status to the host C 1300 through the consultation 1204.

ホスト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 determination 1119.

判定1119によって、ホストB1200が正常に稼働していると判定された場合、ロールバックする必要はないため、ホストC1300は、定時実行デーモン1115に従って、診断1111を繰り返す。   If it is determined by the determination 1119 that the host B 1200 is operating normally, the host C 1300 repeats the diagnosis 1111 according to the scheduled execution daemon 1115 because it is not necessary to roll back.

判定1119によって、ホストB1200が異常であると判定された場合、ホストC1300は、ホストB'1400を起動する(ステップ2001)。そして、ホストC1300は、最新ジョブリスト1306を検索して最新ジョブIDを検索し(最新ジョブ検索1304)、最新ジョブIDをホストA1100に送信する。   If it is determined by the determination 1119 that the host B 1200 is abnormal, the host C 1300 activates the host B ′ 1400 (step 2001). Then, the host C 1300 searches the latest job list 1306 to search for the latest job ID (latest job search 1304), and transmits the latest job ID to the host A 1100.

なお、第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 rollback daemon 6002. When the host C 1300 transmits a rollback point that is the latest job ID by the latest job search 1304, the host A 1100 executes the rollback 1112 based on the received rollback point.

ホスト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 process B 1205 is transmitted to the host C 1300. The host C1300 changes the dependency source of the process C1305 from the process B1205 in the host B1200 to the process B1205 in the host B′1400, and after determining in the determination 1119 that the host B1200 is abnormal, until the process C1305 is executed. The timing may be changed at any timing.

また、ホスト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 latest job search 1304, the host A 1100 may transmit that the host B ′ 1400 is activated instead of the host B 1200. The host A 1100 may change the dependence destination of the process A 1114 to the process B 1205 in the host B ′ 1400.

第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 rollback daemon 6002 in the third embodiment, the load on the host A 1100 in the third embodiment is higher than the load on the host A 1100 in the first embodiment. Get higher.

第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 processing B 1206 in the host B 1200, and the dependence source manages the unprocessed job in the host B 1200 by the list buffer instead of the ring buffer. Indicates the system.

図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 buffer push A 8113, a buffer update 8114, and a list buffer 8103 instead of the roll back A 1112, the buffer push A 1113, and the ring buffer 1103 provided in the host A 1100 illustrated in FIG. . The buffer push A 8113 adds an entry to the list buffer 8103 and updates “o” to the flag of the added entry. In the buffer update, the flag of the job ID indicating the job processed by the host B 1200 is set to “x”. The list buffer 8103 includes an address column, a flag column, a job ID column, and a pointer column.

図11に示すホストB1200は、図2に示す依存関係情報配信1203に代わり、依存関係情報配信8203を備える。   A host B 1200 illustrated in FIG. 11 includes a dependency relationship information distribution 8203 instead of the dependency relationship information distribution 1203 illustrated in FIG.

図11に示すホストC1300は、図2に示すホストC1300の機能に加え、依存関係表更新5110、トークンバック8305、及び依存関係表5116を備える。   A host C 1300 illustrated in FIG. 11 includes a dependency table update 5110, a token back 8305, and a dependency table 5116 in addition to the functions of the host C 1300 illustrated in FIG.

図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 process B 1205 to both the host A 1100 and the host C 1300 (dependency relationship information distribution 8203). In the dependency relationship information distribution 8203, the dependency relationship information transmitted to the host A 1100 is the same as the dependency relationship transmitted to the host A 1100 in the dependency relationship information distribution 1203 of the first embodiment. Further, the dependency relationship information transmitted to the host C 1300 is the same as the dependency relationship transmitted to the host C 1300 in the dependency relationship information distribution 6004 of the third embodiment.

ホスト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 process A 1114, the process B 1205, and the process C 1305. At this time, the process A 1114 transmits the job ID to the process B 1205. After the processing B1205 is completed and before the processing C1305 is executed, the host C1300 transmits to the host A1100 that the job coming from the host A1100 has been processed by the host B1200 (tokenback 8305). When the host A 1100 receives information that the job has been processed from the host C 1300, the host A 1100 deletes the job from the list buffer 8103 by the buffer update 8114 because the job has been processed by the host B 1200.

リストバッファ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 process A 1114 ends in the host A 1100. When the processing A 1114 ends in the host A 1100 and the resulting data is transmitted to the host B 1200, the host A 1100 adds a new job ID to the list buffer 8103 by the buffer push A 8113. The host A 1100 adds a job ID transmitted from the host A 1100 and processed in the host B 1200 to the end of the pointer of the list buffer 8103 by the buffer push A 8113, and sets the flag of the added job ID to “◯”.

また、もう一つのタイミングは、ホストB1200において処理B1205が終了し、ホストC1300に処理B1205によって処理されたジョブが到着し、ホストC1300が、到着したジョブのジョブIDをホストA1100に送信した際である。ホストB1200において処理B1205によってジョブが処理された旨をホストC1300から送信された場合、ホストA1100は、バッファ更新8114によって、終了したジョブを示すジョブIDのフラグを"×"に更新する。   Another timing is when the processing B 1205 ends in the host B 1200, the job processed by the processing B 1205 arrives at the host C 1300, and the host C 1300 transmits the job ID of the arrived job to the host A 1100. . When the host B 1200 transmits from the host C 1300 that the job has been processed by the process B 1205, the host A 1100 updates the job ID flag indicating the completed job to “×” by the buffer update 8114.

なお、ホストA1100は、バッファプッシュA8113によってリストバッファ8103にジョブIDを追加する際、フラグが"×"になっているエントリに、ジョブIDを追加してもよい。   When the host A 1100 adds a job ID to the list buffer 8103 by the buffer push A 8113, the host A 1100 may add a job ID to an entry whose flag is “x”.

バッファ更新8114が終了した後、ホストA1100は、ホストB1200が正常に稼働しているか否かを判定するため、ホストB1200を診断1111する。ホストB1200は、ホストA1100からの診断1111に受診1204し、正常に稼働しているか否かを返信する。ホストA1100は、ホストB1200が正常に稼働しているか否かを判定1119し、正常に稼働している場合、定時実行デーモン1115に従って次の診断1111を実行する。   After the buffer update 8114 is completed, the host A 1100 diagnoses the host B 1200 to determine whether or not the host B 1200 is operating normally. The host B 1200 receives the diagnosis 1111 from the host A 1100 and returns whether or not it is operating normally. The host A 1100 determines 1119 whether or not the host B 1200 is operating normally. If it is operating normally, the host A 1100 executes the next diagnosis 1111 according to the scheduled execution daemon 1115.

判定1119において、ホストB1200が異常であると判定された場合、ホストA1100は、ロールバックA8112を実行する。ロールバックA8112は、図5に示すフローチャートのステップ13001〜ステップ13004を、リストバッファ8103からフラグが"○"であるジョブIDを選択し、ロールバックポイントとするステップに代えた処理である。   When it is determined in the determination 1119 that the host B 1200 is abnormal, the host A 1100 executes rollback A 8112. The rollback A 8112 is a process in which steps 13001 to 13004 in the flowchart shown in FIG. 5 are replaced with a step of selecting a job ID with a flag “◯” from the list buffer 8103 and using it as a rollback point.

また、判定1119において、ホストB1200が異常であると判定された場合、ホストA1100は、ホストB'1400を起動2002する。   If it is determined in the determination 1119 that the host B 1200 is abnormal, the host A 1100 activates the host B ′ 1400 2002.

ホストB'1400は、ホストA1100に従って起動2002された後、依存関係情報配信2003によって、ホストA1100に、ホストB'1400における処理B1205の依存関係を送信する。   After the host B′1400 is activated 2002 according to the host A1100, the dependency relationship information distribution 2003 transmits the dependency relationship of the process B1205 in the host B′1400 to the host A1100.

ホスト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 process A 1114 and the dependency source of the process C 1305 when the host B ′ 1400 is activated instead of the host B 1200 is the same as in the first embodiment. .

第4の実施形態によれば、処理A1114は、処理B1205が処理を終了したか否かを認識できる。また、リングバッファ1103と異なり、リストバッファ8103は、個別のジョブについて管理できる。このため、第4の実施形態によれば、ジョブの順序が変化するような処理の流れ(Out−Of−Order)を持つシステムにおいて、ジョブを重複させることなくロールバックすることができる。   According to the fourth embodiment, the process A 1114 can recognize whether or not the process B 1205 has finished the process. Unlike the ring buffer 1103, the list buffer 8103 can manage individual jobs. Therefore, according to the fourth embodiment, in a system having a processing flow (Out-Of-Order) in which the job order changes, it is possible to roll back the jobs without duplication.

なお、第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 process A 1114, the process B 1205, the process C 1305, and the process D 1601 in the embodiment of the present invention are each executed by physically separated hosts. However, the above-described hosts do not need to be physically separated, and may be a plurality of virtual machines created in one computer.

図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の関係として示す。   Pattern 1 and pattern 2 shown in FIG. 13 are processing flow patterns in the first embodiment. Further, pattern 3 and pattern 4 shown in FIG. 13 are processing flow patterns in the third embodiment. The dependency relationship shown in FIG. 13 is shown as the relationship between host A, host B, host C, and host D.

パターン1は、ホストAからホストBへ、ホストBからホストCとホストDとに処理されるパターンである。パターン1において、ホストBの依存先は、ホストCとホストDとである。パターン1におけるホストBは、ホストAに依存関係[B−>(C,D)]を送信する。ホストAは、ホストBが稼働しなくなった場合、最新ジョブ検索の要求をホストC及びホストDの両方に送信する。そして、ホストC及びホストDによる最新ジョブ検索の結果に従って、ロールバックポイントを定める。   Pattern 1 is a pattern processed from host A to host B and from host B to host C and host D. In pattern 1, the dependence destination of host B is host C and host D. The host B in the pattern 1 transmits the dependency [B-> (C, D)] to the host A. When the host B stops operating, the host A sends a request for the latest job search to both the host C and the host D. Then, the rollback point is determined according to the latest job search result by the host C and the host 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による最新ジョブ検索の結果に従って、ロールバックポイントを定める。   Pattern 2 is a pattern in which processing flows from host A to host B and from host B to host C or host D. In the pattern 2, the dependence destination of the host B is either the host C or the host D according to the result of processing executed in the host B. The host B in the pattern 2 also transmits the dependency [B-> (C, D)] to the host A. When the host A of the pattern 2 stops operating, the latest job search request is sent to both the host C and the host D, and rollback is performed according to the latest job search result by the host C and the host D. Determine points.

パターン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 pattern 3, processing flows from host A or host B to host C, and from host C to host D. In Pattern 3, the dependency source of the host C is the host A or the host B. The host C in the pattern 3 transmits the dependency [A-> C] or the dependency [B-> C] to the host D. When the host C stops operating, the host D searches for the latest job, and if the latest job is a job that flows from the host A, the latest job ID is transmitted to the host A, and the latest job flows from the host B. If it is a received job, the latest job ID is transmitted to the host B. Host A or host B determines a rollback point according to the latest job ID from host B.

パターン4は、ホストAとホストBとの処理の終了を条件に、ホストCにおける処理が開始され、ホストCからホストDに処理が流れる。パターン4において、ホストCの依存元は、ホストA及びホストBである。パターン4におけるホストCは、ホストDに依存関係[(A,B)−>C]を送信する。ホストCが稼働しなくなった場合、ホストDは、最新ジョブを検索し、ホストA及びホストBの両方に最新のジョブIDを送信する。そして、ホストA及びホストBは、受信した最新のジョブIDに従って、ロールバックポイントを定める。   Pattern 4 starts processing at host C on condition that processing by host A and host B ends, and processing flows from host C to host D. In pattern 4, the dependency sources of the host C are the host A and the host B. The host C in the pattern 4 transmits the dependency [(A, B)-> C] to the host D. When the host C stops operating, the host D searches for the latest job and transmits the latest job ID to both the host A and the host B. Then, host A and host B determine a rollback point according to the latest received job ID.

図13に示すパターン1〜パターン4によれば、一つの処理への入力、又は出力が複数の処理からもたらされる場合においても、前述の実施形態のシステムを適用することができる。   According to Pattern 1 to Pattern 4 shown in FIG. 13, the system of the above-described embodiment can be applied even when an input or output to one process is derived from a plurality of processes.

前述の実施形態において提案する計算機システムは、複数のホストを含み、高い可用性を持ち、かつコストが低い。   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 Network 1101, 1201, 1301, 1601 Storage device 1103 Ring buffer 8103 List buffer

Claims (12)

第1の計算機、第2の計算機及び第3の計算機を備え、前記各計算機がネットワークによって接続される計算機システムであって、
前記第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.
前記第1の計算機は、前記第3の計算機に、前記第2の計算機において処理された最新の前記ジョブの識別子を要求し、
前記第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.
前記計算機システムは、さらに、第4の計算機を備え、
前記第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の計算機は、前記ジョブの識別子を管理するためのリングバッファを備えることを特徴とする請求項1から3のいずれか一つに記載の計算機システム。   The computer system according to claim 1, wherein the first computer includes a ring buffer for managing an identifier of the job. 前記計算機システムは、さらに、第5の計算機を備え、
前記第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の計算機を備え、前記各計算機がネットワークによって接続される計算機システムであって、
前記第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.
前記計算機システムは、さらに、第4の計算機を備え、
前記第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.
前記第3の計算機は、前記ジョブの識別子を管理するためのリングバッファを備えることを特徴とする請求項6又は7に記載の計算機システム。   The computer system according to claim 6 or 7, wherein the third computer includes a ring buffer for managing an identifier of the job. 前記計算機システムは、さらに、第5の計算機を備え、
前記第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の計算機、前記第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.
前記計算機システムは、さらに、第4の計算機を備え、
前記第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.
前記第1の計算機は、前記ジョブの識別子を管理するためのリストバッファを備えることを特徴とする請求項10又は11に記載の計算機システム。   The computer system according to claim 10 or 11, wherein the first computer includes a list buffer for managing an identifier of the job.
JP2009108290A 2009-04-27 2009-04-27 Computer system Pending JP2010257335A (en)

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)

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