JP7315215B2 - loosely coupled system - Google Patents

loosely coupled system Download PDF

Info

Publication number
JP7315215B2
JP7315215B2 JP2019216420A JP2019216420A JP7315215B2 JP 7315215 B2 JP7315215 B2 JP 7315215B2 JP 2019216420 A JP2019216420 A JP 2019216420A JP 2019216420 A JP2019216420 A JP 2019216420A JP 7315215 B2 JP7315215 B2 JP 7315215B2
Authority
JP
Japan
Prior art keywords
exclusive control
control device
lock data
active
standby
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.)
Active
Application number
JP2019216420A
Other languages
Japanese (ja)
Other versions
JP2021086489A (en
Inventor
勝平 岩竹
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2019216420A priority Critical patent/JP7315215B2/en
Publication of JP2021086489A publication Critical patent/JP2021086489A/en
Application granted granted Critical
Publication of JP7315215B2 publication Critical patent/JP7315215B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、疎結合システム、リカバリ方法、待機系排他制御装置、および、プログラムに関する。 The present invention relates to a loosely coupled system, a recovery method, a standby exclusive control device, and a program.

複数のホスト(Host-Computer、ホストコンピュータ)間で共用される共用資源を、MSCP(Multi-System Control Processor、排他制御装置)を用いて排他制御しながら複数の処理を行う疎結合システム(Loosely-Coupled System)がある。そのような疎結合システムにおいて、ホストから稼働系MSCPに送信したロックもしくはアンロックを要求するコマンドをホスト側でも保持し、稼働系MSCPが故障した場合、ホストに保持するコマンドを待機系MSCPに送信することにより、故障した稼働系MSCPが保持していた排他制御情報を待機系MSCPに再生することにより、システムの運用を継続させる技術(以下、第1の関連技術と記す)がある(例えば、特許文献1、2参照)。 There is a loosely-coupled system that performs multiple processes while performing exclusive control on shared resources shared among multiple hosts (host-computers) using an MSCP (Multi-System Control Processor, exclusive control device). In such a loosely-coupled system, there is a technique (hereinafter referred to as a first related technique) in which a command requesting locking or unlocking sent from a host to an active system MSCP is held on the host side, and when the active system MSCP fails, the command held in the host is transmitted to the standby system MSCP so that the exclusive control information held by the failed active system MSCP is reproduced in the standby system MSCP (for example, see Patent Documents 1 and 2).

また、複数のホストと複数のMSCPとが単一のネットワークに接続された疎結合システムにおいて、待機系MSCPが、ネットワーク上の全ての通信を監視し、稼働系MSCPが全て正常に運用されている間にホストから稼働系MSCPへ発せられたコマンドを蓄積し、稼働系MSCPに障害が発生したときに、蓄積したコマンドに含まれる上記障害が発生した稼働系MSCPに対するコマンドおよび該コマンドに対する応答を抽出し、上記障害が発生した稼働系MSCPの排他制御情報を再生する技術(以下、第2の関連技術と記す)がある(例えば、特許文献3参照)。 Also, in a loosely coupled system in which multiple hosts and multiple MSCPs are connected to a single network, the standby MSCP monitors all communications on the network, accumulates commands issued from the host to the active MSCP while all active MSCPs are operating normally, and when a failure occurs in the active MSCP, extracts the command for the active MSCP in which the failure occurred and the response to the command included in the accumulated commands, and reproduces the exclusive control information of the active MSCP in which the failure occurred ( hereinafter referred to as a second related technique) (see, for example, Patent Document 3).

特許第3134864号Patent No. 3134864 特許第3636163号Patent No. 3636163 特許第5067075号Patent No. 5067075

しかしながら、第1の関連技術では、ホストが稼働系MSCPに送信したコマンドを大量に保持している状況で稼働系MSCPが故障すると、ホストから待機系MSCPへ全てのコマンドを送信し終わるまでに多くの時間がかかる。そのため、故障した稼働系MSCPが保持していた排他制御情報を待機系MSCPに速やかに再生するのは困難であった。一方、第2の関連技術では、そのような課題は解消されるけれども、複数のホストと複数のMSCPとが単一のネットワークで接続されていなければならないという制約がある。そのため、複数のホストと複数のMSCPとの接続形態による制約を受けずに、故障した稼働系MSCPが保持していた排他制御情報を待機系MSCPに速やかに再生し得る技術が望まれている。 However, in the first related technique, if the active MSCP fails while the host is holding a large number of commands sent to the active MSCP, it takes a long time to finish sending all the commands from the host to the standby MSCP. Therefore, it was difficult to quickly reproduce the exclusion control information held by the failed working MSCP in the standby MSCP. On the other hand, in the second related technology, although such a problem is resolved, there is a restriction that multiple hosts and multiple MSCPs must be connected by a single network. Therefore, there is a demand for a technique that can quickly reproduce the exclusive control information held by the failed working MSCP in the standby MSCP without being restricted by the form of connection between multiple hosts and multiple MSCPs.

本発明の目的は、上述した課題を解決する疎結合システムを提供することにある。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a loosely coupled system that solves the above problems.

本発明の一形態に係る疎結合システムは、
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、
前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
前記待機系排他制御装置は、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
ように構成されている。
A loosely coupled system according to one aspect of the present invention includes:
a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device;
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the transmission source host, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device;
The standby exclusive control device receives the device-side lock data from the active exclusive control device,
When the active exclusive control device fails, the standby exclusive control device reproduces the exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device.
is configured as

また本発明の他の形態に係るリカバリ方法は、
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備えた疎結合システムが実行するリカバリ方法であって、
前記稼働系排他制御装置が、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
前記待機系排他制御装置が、前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
ように構成されている。
A recovery method according to another aspect of the present invention includes:
A recovery method executed by a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device,
The active exclusive control device performs exclusive processing according to commands for locking or unlocking the shared resource transmitted from each of the hosts, transmits command execution results to the transmission source host, and transmits device-side lock data including the commands and the command execution results to the standby exclusive control device;
When the standby exclusive control device receives the device-side lock data from the working exclusive control device and the working exclusive control device fails, the exclusive control information of the failed working exclusive control device is reproduced based on the device-side lock data received from the working exclusive control device.
is configured as

また本発明の他の形態に係る待機系排他制御装置は、
複数のホストと前記複数のホストで共用する共用資源と稼働系排他制御装置と待機系排他制御装置とを備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信する手段と、
前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備えるように構成されている。
A standby exclusive control device according to another aspect of the present invention includes:
A standby exclusive control device in a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the host as a transmission source, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device,
means for receiving the device-side lock data from the active exclusive control device;
means for, when the active exclusive control device fails, reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device;
is configured to include

また本発明の他の形態に係るプログラムは、
複数のホストと前記複数のホストで共用する共用資源と稼働系排他制御装置と待機系排他制御装置とを備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信する、疎結合システムにおける前記待機系排他制御装置を構成するコンピュータに、
前記稼働系排他制御装置から前記装置側ロックデータを受信する処理と、
前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する処理と、
を行わせるように構成されている。
A program according to another aspect of the present invention is
A computer that constitutes the standby exclusive control device in a loosely coupled system, comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the host that is the transmission source, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device.
a process of receiving the device-side lock data from the active exclusive control device;
a process of reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device when the active exclusive control device fails;
is configured to allow

本発明は、上述した構成を有することにより、複数のホストと複数のMSCPとの接続形態にかかわらず、故障した稼働系MSCPが保持していた排他制御情報を待機系MSCPに速やかに再生することができる。 With the above-described configuration, the present invention can quickly reproduce the exclusive control information held by the failed active MSCP in the standby MSCP regardless of the connection form between the multiple hosts and the multiple MSCPs.

本発明の第1の実施形態に係る疎結合システムのブロック図である。1 is a block diagram of a loosely coupled system according to a first embodiment of the invention; FIG. 本発明の第1の実施形態におけるロックデータテーブルの一例を示す図である。It is a figure which shows an example of the lock data table in the 1st Embodiment of this invention. 本発明の第1の実施形態における受信状況テーブルの一例を示す図である。It is a figure which shows an example of the reception status table in the 1st Embodiment of this invention. 本発明の第1の実施形態において稼働系MSCPが正常に動作している状態でホスト上のAPから共用資源の排他要求が出されたときのシステムの動作を示すフローチャートである。FIG. 4 is a flow chart showing the operation of the system when an AP on the host issues a shared resource exclusion request while the active MSCP is operating normally in the first embodiment of the present invention; FIG. 本発明の第1の実施形態におけるMSCPリリーフ動作の一例を示すフローチャートである。4 is a flow chart showing an example of MSCP relief operation in the first embodiment of the present invention; 本発明の第1の実施形態において稼働系MSCPに故障が発生する迄にホストのAPから共用資源に対して出された一連の排他要求および稼働系MSCPからホストに出されたアテンション通知の一例を示す図である。FIG. 4 is a diagram showing an example of a series of exclusion requests issued to a shared resource from a host AP and attention notifications issued from an active MSCP to the host until a failure occurs in the active MSCP in the first embodiment of the present invention. 本発明の第1の実施形態において稼働系MSCPに故障が発生した時点の排他制御テーブルで管理されている共用資源の排他制御状態を表す図である。FIG. 4 is a diagram showing the exclusive control state of shared resources managed by an exclusive control table when a failure occurs in an active MSCP in the first embodiment of this invention; 本発明の第1の実施形態において稼働系MSCPに故障が発生した時点のホスト1のロックデータテーブルの一例を示す図である。FIG. 4 is a diagram showing an example of the lock data table of the host 1 when a failure occurs in the active MSCP in the first embodiment of this invention; 本発明の第1の実施形態において稼働系MSCPに故障が発生した時点のホスト2のロックデータテーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a lock data table of the host 2 when a failure occurs in the active MSCP in the first embodiment of this invention; 本発明の第1の実施形態において稼働系MSCPに故障が発生した時点の待機系MSCPのロックデータテーブルの一例を示す図である。It is a figure which shows an example of the lock data table of the standby system MSCP at the time of the time when failure generate|occur|produced in active system MSCP in the 1st Embodiment of this invention. 本発明の第1の実施形態において稼働系MSCPに故障が発生した時点の待機系MSCPのロックデータテーブルの他の例を示す図である。FIG. 10 is a diagram showing another example of the lock data table of the standby MSCP when a failure occurs in the active MSCP in the first embodiment of this invention; 本発明の第2の実施形態において稼働系MSCPが正常に動作している状態でホスト上のAPから共用資源の排他要求が出されたときの疎結合システムの動作を示すフローチャートである。FIG. 10 is a flow chart showing the operation of the loosely coupled system when an AP on the host issues a shared resource exclusion request while the active MSCP is operating normally in the second embodiment of the present invention; FIG. 本発明の第2の実施形態におけるMSCPリリーフ動作の一例を示すフローチャートである。FIG. 9 is a flow chart showing an example of MSCP relief operation in the second embodiment of the present invention; FIG. 本発明の第2の実施形態においてホストで定期的に行われる処理の一例を示すフローチャートである。FIG. 10 is a flow chart showing an example of processing periodically performed by the host in the second embodiment of the present invention; FIG. 本発明の第2の実施形態においてホストのMSCPリリーフ制御部で行われるロック成功に係る不足ロックデータに基づく復元処理(ステップS212)の一例を示すフローチャートである。FIG. 10 is a flow chart showing an example of restoration processing (step S212) based on insufficient lock data related to lock success performed by the MSCP relief control unit of the host in the second embodiment of the present invention; FIG. 本発明の第3の実施形態におけるMSCPサブシステムの一例を示す図である。FIG. 13 is a diagram showing an example of an MSCP subsystem in the third embodiment of the invention; FIG. 本発明の第3の実施形態においてホストの排他制御部がロックコマンドを何れのMSCPに対して発行するかを決定するための制御情報の一例を示す図である。FIG. 12 is a diagram showing an example of control information for determining to which MSCP the exclusive control unit of the host issues the lock command in the third embodiment of the present invention; 本発明の第3の実施形態においてMSCP0故障時のMSCPサブシステムの復元状態を示す図である。FIG. 10 is a diagram showing the restored state of the MSCP subsystem when MSCP0 fails in the third embodiment of the present invention; 本発明の第3の実施形態においてMSCP1故障時のMSCPサブシステムの復元状態を示す図である。FIG. 10 is a diagram showing the restored state of the MSCP subsystem when MSCP1 fails in the third embodiment of the present invention; 本発明の第3の実施形態におけるMSCPサブシステムの他の例を示す図である。FIG. 13 is a diagram showing another example of the MSCP subsystem in the third embodiment of the invention; 本発明の第3の実施形態においてホストの排他制御部がロックコマンドを何れのMSCPに対して発行するかを決定するための制御情報の他の例を示す図である。FIG. 12 is a diagram showing another example of control information for determining to which MSCP the lock command is issued by the exclusive control unit of the host in the third embodiment of the present invention; 本発明の第3の実施形態においてMSCP0故障時のMSCPサブシステムの復元状態を示す図である。FIG. 10 is a diagram showing the restored state of the MSCP subsystem when MSCP0 fails in the third embodiment of the present invention; 本発明の第3の実施形態においてMSCP1故障時のMSCPサブシステムの復元状態を示す図である。FIG. 10 is a diagram showing the restored state of the MSCP subsystem when MSCP1 fails in the third embodiment of the present invention; 本発明の第3の実施形態においてMSCP2故障時のMSCPサブシステムの復元状態を示す図である。FIG. 10 is a diagram showing the restored state of the MSCP subsystem when MSCP2 fails in the third embodiment of the present invention; 本発明の第4の実施形態に係る疎結合システムのブロック図である。FIG. 12 is a block diagram of a loosely coupled system according to a fourth embodiment of the invention;

次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態に係る疎結合システム100は、2台のホスト1、2と、ホスト1,2間で共用される共用資源3と、稼働系MSCP4と、待機系MSCP5とを備えている。ホスト1は、信号線61、62、63を通じて、共用資源3、稼働系MSCP4、待機系MSCP5に通信可能に接続されている。またホスト2は、信号線64、65、66を通じて、共用資源3、稼働系MSCP4、待機系MSCP5に通信可能に接続されている。また稼働系MSCP4と待機系MSCP5は、信号線67を通じて互いに通信可能に接続されている。
Embodiments of the present invention will now be described in detail with reference to the drawings.
[First embodiment]
Referring to FIG. 1, the loosely coupled system 100 according to the first embodiment of the present invention includes two hosts 1 and 2, a shared resource 3 shared between the hosts 1 and 2, an active MSCP 4, and a standby MSCP 5. The host 1 is communicatively connected to the shared resource 3, the active system MSCP 4, and the standby system MSCP 5 through signal lines 61, 62, and 63. FIG. Also, the host 2 is communicably connected to the shared resource 3, the active system MSCP 4, and the standby system MSCP 5 through signal lines 64, 65, and 66. FIG. The active system MSCP 4 and the standby system MSCP 5 are connected through a signal line 67 so as to be able to communicate with each other.

共用資源3は、ホスト1,2間で共用する資源(リソース)である。共用資源3は、例えばディスク装置などの記憶装置、或いは記憶装置に記憶されたファイルなどであってよい。 A shared resource 3 is a resource shared between the hosts 1 and 2 . The shared resource 3 may be, for example, a storage device such as a disk device, or a file stored in the storage device.

ホスト1は、オンライン処理やバッチ処理などの業務処理を実行する情報処理装置である。ホスト1は、演算処理部11と記憶部12と入出力装置13とを含んで構成されている。 The host 1 is an information processing device that executes business processing such as online processing and batch processing. The host 1 includes an arithmetic processing unit 11 , a storage unit 12 and an input/output device 13 .

入出力装置13は、キーボードなどの入力装置と、液晶ディスプレイなどの画面表示装置とを含んで構成されている。記憶部12は、ハードディスクやメモリなどの記憶装置からなり、演算処理部11での各種処理に必要な処理情報およびプログラム121を記憶するように構成されている。プログラム121は、演算処理部11に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置13などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部12に保存される。記憶部12で記憶される主な処理情報として、ロックデータテーブル122と受信状況テーブル123がある。 The input/output device 13 includes an input device such as a keyboard and a screen display device such as a liquid crystal display. The storage unit 12 is composed of a storage device such as a hard disk or a memory, and is configured to store processing information and programs 121 necessary for various processes in the arithmetic processing unit 11 . The program 121 is a program that realizes various processing units by being read and executed by the arithmetic processing unit 11, and is read in advance from an external device (not shown) or a recording medium (not shown) via the data input/output function of the input/output device 13 and stored in the storage unit 12. Main processing information stored in the storage unit 12 includes a lock data table 122 and a reception status table 123 .

ロックデータテーブル122は、ホスト1から稼働系MSCP4に対して送信された共用資源3をロックもしくはアンロックするコマンドを保持するテーブルである。図2は、ロックデータテーブル122の一例を示す。この例のロックデータテーブル122は、ロックデータを格納するエントリを複数備えている。それぞれのエントリは、MSCP_ID、コマンドイメージ、結果、通番の各項目を有する。MSCP_IDの項目には、稼働系MSCP4を一意に識別する識別情報が記録される。コマンドイメージの項目には、ロックコマンドもしくはアンロックコマンドのコマンドイメージが記録される。コマンドイメージは、例えば、ロックか、アンロックの何れであるかを示す要求種別、対象となる共用資源3の識別情報、ロックもしくはアンロックを要求したホストのアプリケーションプロセス(タスクとも称す)を一意に識別する識別情報などを含んで構成されていてよい。結果の項目には、ロックコマンドもしくはアンロックコマンドの実行結果が記録される。実行結果には、例えば、ロック成功、ロック待ち、アンロック成功などがある。通番の項目には、ロックコマンドもしくはアンロックコマンドの実行結果に対して稼働系MSCP4側で採番された通し番号が記録される。 The lock data table 122 is a table that holds commands for locking or unlocking the shared resource 3 sent from the host 1 to the active system MSCP 4 . FIG. 2 shows an example of the lock data table 122. As shown in FIG. The lock data table 122 in this example has multiple entries for storing lock data. Each entry has items of MSCP_ID, command image, result, and serial number. Identification information that uniquely identifies the active MSCP 4 is recorded in the MSCP_ID item. A command image of a lock command or an unlock command is recorded in the command image item. The command image may include, for example, a request type indicating whether it is a lock or an unlock, identification information of the target shared resource 3, identification information that uniquely identifies a host application process (also called a task) that requested the lock or unlock, and the like. The result field records the execution result of the lock command or unlock command. Execution results include, for example, lock success, lock wait, and unlock success. The serial number field records a serial number assigned by the active MSCP 4 to the execution result of the lock command or unlock command.

受信状況テーブル123は、待機系MSCP5における稼働系MSCP4からのロックデータの受信状況を記録するテーブルである。図3は、受信状況テーブル123の一例を示す。この例の受信状況テーブル123は、稼働系MSCP_IDと待機系MSCP_IDと受信完了通番の各項目を有する1つのエントリを備えている。稼働系MSCP_IDの項目には、稼働系MSCP4の識別情報が記録される。待機系MSCP_IDの項目には、待機系MSCP5の識別情報が記録される。受信完了通番の項目には、待機系MSCP5が稼働系MSCP4から最後に受信したロックデータに含まれる通番が記録される。受信完了通番は、稼働系MSCP4から待機系MSCP5への転送が完了した最新のロックデータに含まれる通番であるとも言える。 The reception status table 123 is a table for recording the reception status of lock data from the active MSCP 4 in the standby MSCP 5 . FIG. 3 shows an example of the reception status table 123. As shown in FIG. The reception status table 123 in this example has one entry having items of active system MSCP_ID, standby system MSCP_ID, and reception completion serial number. The identification information of the active MSCP 4 is recorded in the active MSCP_ID item. The identification information of the standby MSCP 5 is recorded in the standby MSCP_ID item. The serial number included in the last lock data received by the standby MSCP 5 from the active MSCP 4 is recorded in the reception completion serial number item. It can also be said that the reception completion serial number is a serial number included in the latest lock data that has been transferred from the active system MSCP 4 to the standby system MSCP 5 .

演算処理部11は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部12からプログラム121を読み込んで実行することにより、上記ハードウェアとプログラム121とを協働させて各種処理部を実現するように構成されている。演算処理部11で実現される主な処理部として、AP(アプリケーションプロセス)111、排他制御部112、I/O制御部113、ロックデータ保持部114、ホスト間通信部115、受信状況問合せ部116、障害検出部117、および、MSCPリリーフ制御部118がある。 The arithmetic processing unit 11 has a microprocessor such as a CPU and its peripheral circuits, and by reading and executing the program 121 from the storage unit 12, the hardware and the program 121 cooperate to realize various processing units. Main processing units realized by the arithmetic processing unit 11 include an AP (application process) 111, an exclusive control unit 112, an I/O control unit 113, a lock data holding unit 114, an inter-host communication unit 115, a reception status inquiry unit 116, a failure detection unit 117, and an MSCP relief control unit 118.

AP111は、オンライン処理やバッチ処理などの業務処理を実行するように構成されている。AP111は、共用資源3に対してアクセスする前に共用資源3のロックを要求する排他要求(ロック要求)を排他制御部112に対して発行し、ロック成功のコマンド実行結果が排他制御部112から通知された後、共用資源3をアクセスするように構成されている。またAP111は、共用資源3に対するアクセスを終えると、共用資源3のアンロックを要求する排他要求(アンロック要求)を排他制御部112に対して発行するように構成されている。 The AP 111 is configured to execute business processing such as online processing and batch processing. The AP 111 is configured to issue an exclusive request (lock request) requesting locking of the shared resource 3 to the exclusive control unit 112 before accessing the shared resource 3, and access the shared resource 3 after the exclusive control unit 112 notifies the command execution result of the lock success. The AP 111 is also configured to issue an exclusion request (unlock request) requesting unlocking of the shared resource 3 to the exclusion control unit 112 after completing access to the shared resource 3 .

排他制御部112は、AP111から排他要求(ロック要求、アンロック要求)が発行されると、その排他要求に応じたコマンド(ロックコマンド、アンロックコマンド)を生成し、当該コマンドを稼働系MSCP4に対して送信(発行)するようI/O制御部113に要求するように構成されている。また排他制御部112は、上記コマンドの応答としてI/O制御部113からコマンド実行結果と通番とを受信すると、そのコマンド実行結果を要求元のAP111へ報告し、また、稼働系MSCP4の識別番号とI/O制御部113に対して発行したコマンドのイメージとI/O制御部113から受信したコマンド実行結果と通番とをロックデータ保持部114へ通知するように構成されている。 When an exclusion request (lock request, unlock request) is issued from the AP 111, the exclusion control unit 112 generates a command (lock command, unlock command) corresponding to the exclusion request, and requests the I/O control unit 113 to transmit (issue) the command to the active system MSCP 4. When the exclusive control unit 112 receives a command execution result and a serial number from the I/O control unit 113 as a response to the command, the exclusive control unit 112 reports the command execution result to the requesting AP 111, and also notifies the lock data holding unit 114 of the identification number of the active MSCP 4, the image of the command issued to the I/O control unit 113, and the command execution result and serial number received from the I/O control unit 113.

I/O制御部113は、ホスト1と外部装置(MSCP、共用資源など)との間のI/O制御を司る。例えば、I/O制御部113は、排他制御部112からの要求に応じて、コマンド(ロックコマンド、アンロックコマンド)を、信号線62を通じて稼働系MSCP4に対して発行する。またI/O制御部113は、上記発行したコマンドの実行結果と通番とを信号線62を通じて稼働系MSCP4から受信すると、そのコマンド実行結果と通番とを排他制御部112に伝達する。その他、I/O制御部113は、ホスト間通信や受信状況問合せなどのためにホスト1とMSCP4、5との間のI/O制御を実施する。 The I/O control unit 113 manages I/O control between the host 1 and external devices (MSCP, shared resources, etc.). For example, the I/O control unit 113 issues a command (lock command, unlock command) to the active system MSCP 4 through the signal line 62 in response to a request from the exclusive control unit 112 . Also, when the I/O control unit 113 receives the execution result and the serial number of the issued command from the active system MSCP 4 through the signal line 62 , the I/O control unit 113 transmits the command execution result and the serial number to the exclusive control unit 112 . In addition, the I/O control unit 113 performs I/O control between the host 1 and the MSCPs 4 and 5 for inter-host communication, reception status inquiries, and the like.

ロックデータ保持部114は、ロックデータをロックデータテーブル122に保存するように構成されている。例えば、ロックデータ保持部114は、稼働系MSCP4の識別番号とI/O制御部113に対して発行したコマンドのイメージとI/O制御部113から受信したコマンド実行結果と通番とを排他制御部112から通知されると、それらを1つのロックデータとしてロックデータテーブル122に確保した1つの空きエントリに記録する。 The lock data holding unit 114 is configured to save lock data in the lock data table 122 . For example, when the exclusive control unit 112 notifies the lock data holding unit 114 of the identification number of the active MSCP 4, the image of the command issued to the I/O control unit 113, the command execution result received from the I/O control unit 113, and the serial number, the lock data holding unit 114 records them as one piece of lock data in one empty entry secured in the lock data table 122.

ホスト間通信部115は、ホスト1とホスト2との間の通信を行うように構成されている。本実施形態では、ホスト間通信部115は、MSCP4もしくはMSCP5を介して、ホスト同士でメッセージ通信を行うように構成されている。但し、本発明は、MSCP4、5を使用してホスト間通信を行う構成に限定されない。例えば、図示しない拡張記憶装置などの記憶装置を使用してホスト間通信を行うようにしてもよいし、LANなどのネットワークを通じてホスト間通信を行うようにしてもよい。 The inter-host communication unit 115 is configured to perform communication between the host 1 and the host 2 . In this embodiment, the inter-host communication unit 115 is configured to perform message communication between hosts via MSCP4 or MSCP5. However, the present invention is not limited to a configuration in which MSCP 4, 5 are used for communication between hosts. For example, the host-to-host communication may be performed using a storage device such as an extended storage device (not shown), or the host-to-host communication may be performed through a network such as a LAN.

受信状況問合せ部116は、待機系MSCP5に対して、稼働系MSCP4からのロックデータの受信状況を問合せるように構成されている。また受信状況問合せ部116は、待機系MSCP5から受信状況の問合せ結果を受信すると、受信した問合せ結果に従って、受信状況テーブル123を更新するように構成されている。後述するように、受信状況の問合せ結果には、待機系MSCP5が稼働系MSCP4から最後に受信したロックデータに含まれる通番が含まれている。受信状況問合せ部116は、受信状況の問合せ結果に含まれる通番により、受信状況テーブルの受信完了通番の項目を上書きするように構成されている。 The reception status inquiry unit 116 is configured to inquire of the standby system MSCP 5 about the reception status of the lock data from the active system MSCP 4 . Further, the reception status inquiry unit 116 is configured to update the reception status table 123 according to the received inquiry result upon receiving the reception status inquiry result from the standby MSCP 5 . As will be described later, the reception status inquiry result includes the serial number included in the last lock data received by the standby MSCP 5 from the active MSCP 4 . The reception status inquiry unit 116 is configured to overwrite the reception completion serial number item of the reception status table with the serial number included in the reception status inquiry result.

障害検出部117は、システムの運用中、MSCP4、5の故障(障害)を検出するように構成されている。故障検出手法は任意である。例えば、障害検出部117は、一定周期でMSCP4、5に対して何らかの問合せを行い、その問合せに対して一定時間内にMSCP4、5から応答がなかった場合、MSCP4、5に故障が発生したことを検出してよい。 The failure detection unit 117 is configured to detect failures (failures) of the MSCPs 4 and 5 during system operation. The fault detection method is arbitrary. For example, the failure detection unit 117 may periodically issue an inquiry to MSCP 4, 5, and detect that a failure has occurred in MSCP 4, 5 if there is no response from MSCP 4, 5 within a certain period of time.

MSCPリリーフ制御部118は、システムの運用中に障害検出部117によって稼働系MSCP4の故障が検出された場合、故障したMSCP4が保持していた排他制御情報を待機系MSCP5に再生した後、待機系MSCP5を新たに稼働系MSCPとして動作させてシステムの運用を継続させるように構成されている。ホスト間の排他制御に使われるMSCPの稼働系障害時に待機系MSCPに切り替えを行うことをMSCPリリーフと呼ぶ。MSCPリリーフ制御部118は、MSCPリリーフの制御を行うように構成されている。 The MSCP relief control unit 118 is configured to, when the fault detection unit 117 detects a failure of the active MSCP 4 during system operation, reproduce exclusive control information held by the failed MSCP 4 in the standby MSCP 5, and then operate the standby MSCP 5 as a new active MSCP to continue system operation. Switching to a standby MSCP when an active MSCP used for exclusive control between hosts fails is called MSCP relief. The MSCP relief control unit 118 is configured to control MSCP relief.

ホスト2は、ホスト1と同じくオンライン処理やバッチ処理などの業務処理を実行する情報処理装置である。ホスト2は、ホスト1と同様な構成および機能を有している。即ち、ホスト2は、ホスト1の演算処理部11と記憶部12と入出力装置13と同様な演算処理部21と記憶部22と入出力装置23とを含んで構成されている。また記憶部22は、ホスト1のプログラム121、ロックデータテーブル122、および、受信状況テーブル123と同様な、プログラム221、ロックデータテーブル222、および、受信状況テーブル223を記憶するように構成されている。また演算処理部21は、ホスト1のAP111、排他制御部112、I/O制御部113、ロックデータ保持部114、ホスト間通信部115、受信状況問合せ部116、障害検出部117、および、MSCPリリーフ制御部118と同様なAP211、排他制御部212、I/O制御部213、ロックデータ保持部214、ホスト間通信部215、受信状況問合せ部216、障害検出部217、および、MSCPリリーフ制御部218を含んで構成されている。 The host 2, like the host 1, is an information processing device that executes business processing such as online processing and batch processing. Host 2 has the same configuration and functions as host 1 . That is, the host 2 includes an arithmetic processing unit 21 , a storage unit 22 and an input/output device 23 similar to the arithmetic processing unit 11 , storage unit 12 and input/output device 13 of the host 1 . The storage unit 22 is configured to store a program 221 , a lock data table 222 and a reception status table 223 similar to the program 121 , lock data table 122 and reception status table 123 of the host 1 . The arithmetic processing unit 21 includes an AP 111 of the host 1, an exclusive control unit 112, an I/O control unit 113, a lock data holding unit 114, an inter-host communication unit 115, a reception status inquiry unit 116, a failure detection unit 117, and an AP 211 similar to the MSCP relief control unit 118, an exclusive control unit 212, an I/O control unit 213, a lock data holding unit 214, an inter-host communication unit 215, a reception status inquiry unit 216, It includes a failure detection unit 217 and an MSCP relief control unit 218 .

稼働系MSCP4は、通常時に共用資源3の排他制御を実行する情報処理装置である。稼働系MSCP4は、演算処理部41と記憶部42とを含んで構成されている。 The active MSCP 4 is an information processing device that normally executes exclusive control of the shared resource 3 . The active system MSCP 4 includes an arithmetic processing unit 41 and a storage unit 42 .

記憶部42は、ハードディスクやメモリなどの記憶装置からなり、演算処理部41での各種処理に必要な処理情報およびプログラム421を記憶するように構成されている。プログラム421は、演算処理部41に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置(図示せず)などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部42に保存される。記憶部42で記憶される主な処理情報として、排他制御テーブル422と通信領域424とがある。 The storage unit 42 is composed of a storage device such as a hard disk or a memory, and is configured to store processing information and programs 421 necessary for various processes in the arithmetic processing unit 41 . The program 421 is a program that realizes various processing units by being read and executed by the arithmetic processing unit 41, and is read in advance from an external device (not shown) or a recording medium (not shown) and stored in the storage unit 42 via a data input/output function such as an input/output device (not shown). Main processing information stored in the storage unit 42 includes an exclusive control table 422 and a communication area 424 .

排他制御テーブル422は、ホスト1およびホスト2からのロックコマンドおよびアンロックコマンドに基づいた共用資源3の排他制御状態を管理するテーブルである。例えば、排他制御テーブル422は、共用資源毎に、共用資源ID、その共用資源をロックしているホスト上のタスクIDの情報を含むロックリスト、その共用資源でロック待ちしているタスクIDの情報を含むロック待ちリストなどを管理する。 The exclusive control table 422 is a table for managing the exclusive control state of the shared resource 3 based on the lock command and unlock command from the host 1 and the host 2 . For example, the exclusive control table 422 manages, for each shared resource, a shared resource ID, a lock list including task ID information on the host that locks the shared resource, and a lock waiting list including task ID information waiting for a lock on the shared resource.

通信領域424は、ホスト1とホスト2間で稼働系MSCP4を通じて行われるホスト間通信のために共用される通信領域である。 The communication area 424 is a shared communication area for inter-host communication between the host 1 and the host 2 through the active system MSCP 4 .

演算処理部41は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部42からプログラム421を読み込んで実行することにより、上記ハードウェアとプログラム421とを協働させて各種処理部を実現するように構成されている。演算処理部41で実現される主な処理部として、排他制御部411、通番制御部412、ロックデータ送信部413、および、メッセージ転送部414がある。 The arithmetic processing unit 41 has a microprocessor such as a CPU and its peripheral circuits, and by reading and executing a program 421 from the storage unit 42, the hardware and the program 421 cooperate to realize various processing units. Main processing units realized by the arithmetic processing unit 41 include an exclusive control unit 411 , a serial number control unit 412 , a lock data transmission unit 413 , and a message transfer unit 414 .

排他制御部411は、ホスト1,2間で共用される共用資源3の排他制御を、排他制御テーブル422を生成・更新しながら実行するように構成されている。 The exclusive control unit 411 is configured to execute exclusive control of the shared resource 3 shared between the hosts 1 and 2 while generating and updating the exclusive control table 422 .

例えば、排他制御部411は、ホスト1、2からロックを要求するコマンドを受信すると、排他制御テーブル422に記録された共用資源のロック状態から、ロック要求された共用資源をロックすることが可能か否かを判定する。ロック可であれば、排他制御部411は、ロックを要求したタスクがその共用資源をロックしている情報を排他制御テーブル422に登録し、ロック要求を行ったホスト上のタスクに対してロック成功のコマンド実行結果と通番制御部412から取得した通番とを送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記ロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。 For example, upon receiving a lock request command from the hosts 1 and 2, the exclusive control unit 411 determines whether or not it is possible to lock the requested shared resource from the shared resource lock status recorded in the exclusive control table 422. If lockable, the exclusive control unit 411 registers information indicating that the shared resource is locked by the task requesting the lock in an exclusive control table 422, and transmits the lock successful command execution result and the serial number obtained from the serial number control unit 412 to the task on the host that requested the lock. The exclusive control unit 411 also notifies the lock data transmission unit 413 of the identification information of the active system MSCP 4, the image of the command requesting the lock, the execution result, and the serial number.

ロック不可であれば、排他制御部411は、ロック待ちの情報を排他制御テーブル422に登録し、ロック要求を行ったホスト上のタスクに対してロック待ちのコマンド実行結果と通番制御部412から取得した通番とを送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記ロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。 If the lock is not possible, the exclusive control unit 411 registers lock wait information in the exclusive control table 422, and sends the command execution result of the lock wait and the serial number obtained from the serial number control unit 412 to the task on the host that requested the lock. The exclusive control unit 411 also notifies the lock data transmission unit 413 of the identification information of the active system MSCP 4, the image of the command requesting the lock, the execution result, and the serial number.

また排他制御部411は、ホスト1,2からアンロックを要求するコマンドを受信すると、アンロック要求に該当するタスクのロック情報を排他制御テーブル422から削除し、アンロック要求を行ったホスト上のタスクに対してアンロック成功のコマンド実行結果と通番制御部412から取得した通番を送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記アンロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。 Further, upon receiving a command requesting unlocking from the hosts 1 and 2, the exclusive control unit 411 deletes the lock information of the task corresponding to the unlock request from the exclusive control table 422, and transmits the command execution result of unlocking success and the serial number acquired from the serial number control unit 412 to the task on the host that made the unlock request. The exclusive control unit 411 also notifies the lock data transmission unit 413 of the identification information of the active system MSCP 4, the image of the command requesting unlocking, the execution result, and the serial number.

さらに、アンロックされた共用資源に対してロック待ちしているタスクがあれば、排他制御部411は、排他制御テーブル422から当該ロック待ちの情報を削除した後、排他制御テーブル422にそのタスクがその共用資源をロックしている情報を登録し、ロック待ちしていたホスト上のタスクに対してロック成功の実行結果と排他IDと通番制御部412から取得した通番とを含む通知を送信する。以降、この通知をアテンション通知と呼ぶ。上記排他IDは、ロック待ちになっていたロックコマンドを特定できる情報であり、例えば、ロックコマンドに含まれるホスト上のタスクIDおよび共用資源IDから構成されていてよい。また排他制御部411は、稼働系MSCP4の識別情報とアテンション通知とをロックデータ送信部413へ通知する。 Further, if there is a task waiting to lock the unlocked shared resource, the exclusive control part 411 deletes the lock waiting information from the exclusive control table 422, registers the information that the shared resource is locked by the task in the exclusive control table 422, and transmits a notification including the lock success execution result, the exclusive ID, and the serial number acquired from the serial number control part 412 to the task on the host waiting for the lock. Hereinafter, this notification will be called an attention notification. The exclusive ID is information that can identify the lock command waiting for the lock, and may be composed of, for example, a task ID on the host and a shared resource ID included in the lock command. The exclusive control unit 411 also notifies the lock data transmission unit 413 of the identification information of the active MSCP 4 and the attention notification.

通番制御部412は、排他制御部411から通番の取得が要求されると、排他制御部411に最後に通知した通番の次の通番を排他制御部411に通知するように構成されている。 The serial number control unit 412 is configured to notify the exclusive control unit 411 of the serial number next to the serial number last notified to the exclusive control unit 411 when the exclusive control unit 411 requests acquisition of the serial number.

ロックデータ送信部413は、稼働系MSCP4の識別情報とロックもしくはアンロックを要求するコマンドのイメージと当該コマンドの実行結果と通番とが排他制御部411から通知されると、それらを1つのロックデータとして、信号線67を通じて待機系MSCP5へ送信するように構成されている。またロックデータ送信部413は、稼働系MSCP4の識別情報とアテンション通知とが排他制御部411から通知されると、それらを1つのロックデータとして、信号線67を通じて待機系MSCP5へ送信するように構成されている。ロックデータ送信部413は、1つのロックデータが発生する毎に、その発生したロックデータを、信号線67を通じて待機系MSCP5へ送信するように構成されていてよい。或いはロックデータ送信部413は、発生したロックデータを送信バッファに蓄積し、蓄積量が閾値を超えるか、或いは最も過去に蓄積したロックデータの蓄積時刻からの経過時間が一定時間を超えると、送信バッファに蓄積された全てのロックデータを、信号線67を通じて一括して待機系MSCP5へ送信するように構成されていてよい。 When the exclusive control unit 411 notifies the lock data transmission unit 413 of the identification information of the active MSCP 4, the image of the command requesting locking or unlocking, the execution result of the command, and the serial number, the lock data transmission unit 413 transmits them as one piece of lock data through the signal line 67 to the standby MSCP 5. Further, the lock data transmission unit 413 is configured to transmit the identification information of the active MSCP 4 and the attention notification from the exclusive control unit 411 to the standby MSCP 5 as one piece of lock data through the signal line 67 . The lock data transmission unit 413 may be configured to transmit the generated lock data to the standby system MSCP 5 via the signal line 67 each time one piece of lock data is generated. Alternatively, the lock data transmission unit 413 may be configured to store the generated lock data in the transmission buffer, and when the storage amount exceeds a threshold value or when the elapsed time from the storage time of the most recently stored lock data exceeds a certain period of time, all the lock data stored in the transmission buffer is transmitted to the standby system MSCP 5 all at once through the signal line 67.

メッセージ転送部414は、稼働系MSCP4を通じて行われるホスト間通信のメッセージの転送を行うように構成されている。例えば、メッセージ転送部414は、信号線62を通じてホスト1から受信したホスト2宛てのメッセージを、通信領域424に一時的に保持し、その後、通信領域424に保持したホスト2宛てのメッセージを、信号線65を通じてホスト2へ送信するように構成されている。またメッセージ転送部414は、信号線65を通じてホスト2から受信したホスト1宛てのメッセージを、通信領域424に一時的に保持し、その後、通信領域424に保持したホスト1宛てのメッセージを、信号線62を通じてホスト1へ送信するように構成されている。 The message transfer unit 414 is configured to transfer messages for inter-host communication performed through the active MSCP 4 . For example, the message transfer unit 414 is configured to temporarily store in the communication area 424 a message addressed to the host 2 received from the host 1 through the signal line 62, and then transmit the message addressed to the host 2 held in the communication area 424 to the host 2 through the signal line 65. The message transfer unit 414 is configured to temporarily hold a message addressed to the host 1 received from the host 2 through the signal line 65 in the communication area 424, and then transmit the message addressed to the host 1 held in the communication area 424 to the host 1 through the signal line 62.

待機系MSCP5は、稼働系MSCP4が故障した場合に稼働系MSCP4に代わって共用資源3の排他制御を実行する情報処理装置である。待機系MSCP5は、演算処理部51と記憶部52とを含んで構成されている。 The standby MSCP 5 is an information processing device that executes exclusive control of the shared resource 3 in place of the active MSCP 4 when the active MSCP 4 fails. The standby MSCP 5 includes an arithmetic processing unit 51 and a storage unit 52 .

記憶部52は、ハードディスクやメモリなどの記憶装置からなり、演算処理部51での各種処理に必要な処理情報およびプログラム521を記憶するように構成されている。プログラム521は、演算処理部51に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置(図示せず)などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部52に保存される。記憶部52で記憶される主な処理情報として、排他制御テーブル522とロックデータテーブル523と通信領域524とがある。 The storage unit 52 is composed of a storage device such as a hard disk or a memory, and is configured to store processing information and programs 521 necessary for various processes in the arithmetic processing unit 51 . The program 521 is a program that realizes various processing units by being read and executed by the arithmetic processing unit 51, and is read in advance from an external device (not shown) or a recording medium (not shown) and stored in the storage unit 52 via a data input/output function such as an input/output device (not shown). Main processing information stored in the storage unit 52 includes an exclusive control table 522 , a lock data table 523 and a communication area 524 .

ロックデータテーブル523は、稼働系MSCP4から受信したロックデータを保持するテーブルである。 The lock data table 523 is a table that holds lock data received from the active MSCP 4 .

排他制御テーブル522は、MSCPリリーフによって再生された排他制御テーブルである。その構成は、排他制御テーブル422と同じである。 The exclusive control table 522 is an exclusive control table reproduced by MSCP relief. Its configuration is the same as that of the exclusive control table 422 .

通信領域524は、ホスト1とホスト2間で待機系MSCP5を通じて行われるホスト間通信のために共用される通信領域である。 The communication area 524 is a shared communication area for inter-host communication between the host 1 and the host 2 through the standby MSCP 5 .

演算処理部51は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部52からプログラム521を読み込んで実行することにより、上記ハードウェアとプログラム521とを協働させて各種処理部を実現するように構成されている。演算処理部51で実現される主な処理部として、メッセージ転送部514、ロックデータ受信部515、排他制御テーブル再生部516、および、受信状況応答部517がある。 The arithmetic processing unit 51 has a microprocessor such as a CPU and its peripheral circuits, and by reading and executing a program 521 from the storage unit 52, the hardware and the program 521 cooperate to realize various processing units. Main processing units implemented by the arithmetic processing unit 51 include a message transfer unit 514 , a lock data reception unit 515 , an exclusion control table reproduction unit 516 , and a reception status response unit 517 .

ロックデータ受信部515は、稼働系MSCP4のロックデータ送信部413から送信されたロックデータを、信号線67を通じて受信するように構成されている。ロックデータ受信部515は、受信したロックデータをロックデータテーブル523に保存するように構成されている。またロックデータ受信部515は、稼働系MSCP4から最後に受信したロックデータに含まれる通番を受信状況応答部517に通知するように構成されている。さらにロックデータ受信部515は、MSCPリリーフ時、ホスト1、2のMSCPリリーフ制御部118から送信されたロックデータ(後述する不足ロックデータ)を、信号線63、66を通じて受信し、ロックデータテーブル523に保存するように構成されている。 The lock data reception unit 515 is configured to receive the lock data transmitted from the lock data transmission unit 413 of the active MSCP 4 through the signal line 67 . The lock data reception unit 515 is configured to store the received lock data in the lock data table 523 . The lock data reception unit 515 is also configured to notify the reception status response unit 517 of the serial number included in the last lock data received from the active system MSCP 4 . Further, the lock data receiving unit 515 is configured to receive lock data (missing lock data, which will be described later) transmitted from the MSCP relief control units 118 of the hosts 1 and 2 through the signal lines 63 and 66 during MSCP relief, and store it in the lock data table 523.

受信状況応答部517は、ロックデータ受信部515から通知された、稼働系MSCP4から最後に受信したロックデータに含まれる通番を保持するように構成されている。また受信状況応答部517は、ホスト1、2の受信状況問合せ部116、216から受信状況の問合せ要求を受信すると、最後に保持した通番を問合せ元に送信するように構成されている。 The reception status response unit 517 is configured to hold the serial number included in the last lock data received from the active MSCP 4 notified from the lock data reception unit 515 . Further, the reception status response section 517 is configured to, upon receiving a reception status inquiry request from the reception status inquiry sections 116 and 216 of the hosts 1 and 2, transmit the last held serial number to the inquiry source.

排他制御テーブル再生部516は、MSCPリリーフ時、ロックデータテーブル523に保持されたロックデータに基づいて、故障した稼働系MSCP4の排他制御テーブル422を排他制御テーブル522として再生するように構成されている。 The exclusive control table reproducing unit 516 is configured to reproduce the exclusive control table 422 of the failed active system MSCP 4 as the exclusive control table 522 based on the lock data held in the lock data table 523 at the time of MSCP relief.

メッセージ転送部514は、待機系MSCP5を通じて行われるホスト間通信のメッセージの転送を行うように構成されている。例えば、メッセージ転送部514は、信号線63を通じてホスト1から受信したホスト2宛てのメッセージを、通信領域524に一時的に保持し、その後、通信領域524に保持したホスト2宛てのメッセージを、信号線66を通じてホスト2へ送信するように構成されている。またメッセージ転送部514は、信号線66を通じてホスト2から受信したホスト1宛てのメッセージを、通信領域524に一時的に保持し、その後、通信領域524に保持したホスト1宛てのメッセージを、信号線63を通じてホスト1へ送信するように構成されている。 The message transfer unit 514 is configured to transfer messages for communication between hosts performed through the standby MSCP 5 . For example, the message transfer unit 514 is configured to temporarily store in the communication area 524 a message addressed to the host 2 received from the host 1 through the signal line 63, and then transmit the message addressed to the host 2 held in the communication area 524 to the host 2 through the signal line 66. The message transfer unit 514 is configured to temporarily hold a message addressed to the host 1 received from the host 2 through the signal line 66 in the communication area 524, and then transmit the message addressed to the host 1 held in the communication area 524 to the host 1 through the signal line 63.

次に、上述のように構成された疎結合システム100の動作を説明する。先ず、稼働系MSCP4が正常に動作している状態で何れかのホストのAPから共用資源3の排他要求が出されたときのシステムの動作を説明する。一例として、ホスト1のAP111から排他要求が出された場合について説明するが、ホスト2のAP211から排他要求が出された場合も同様の動作となる。 Next, the operation of the loosely coupled system 100 configured as described above will be described. First, the operation of the system when an exclusion request for the shared resource 3 is issued from any host AP while the active MSCP 4 is operating normally will be described. As an example, the case where the AP 111 of the host 1 issues an exclusion request will be described, but the same operation is performed when the AP 211 of the host 2 issues an exclusion request.

図4は、稼働系MSCP4が正常に動作している状態でホスト1上のAP111から共用資源3の排他要求が出されたときのシステムの動作を示すフローチャートである。図4を参照すると、AP111から共用資源3の排他要求(ロック要求もしくはアンロック要求)が出されると(ステップS101)、排他制御部112は排他コマンド(ロックコマンドもしくはアンロックコマンド)を生成し(ステップS102)、I/O制御部113は、排他コマンドを、信号線62を通じて稼働系MSCP4に対して送信(発行)する(ステップS103)。 FIG. 4 is a flow chart showing the operation of the system when the AP 111 on the host 1 issues an exclusion request for the shared resource 3 while the active MSCP 4 is operating normally. Referring to FIG. 4, when the AP 111 issues an exclusion request (lock request or unlock request) for the shared resource 3 (step S101), the exclusion control unit 112 generates an exclusion command (lock command or unlock command) (step S102), and the I/O control unit 113 transmits (issues) the exclusion command to the active system MSCP 4 via the signal line 62 (step S103).

稼働系MSCP4の排他制御部411は、ホスト1から排他コマンドを受信すると(ステップS104)、排他処理を実行し(ステップS105)、その実行結果(ロック成功、ロック待ち、アンロック成功)に対して通番制御部412から取得した通番を付与する(ステップS106)。次に排他制御部411は、実行結果と通番とを要求元のホスト1へ返却する(ステップS107)。またロックデータ送信部413は、排他制御部411から稼働系MSCP4の識別情報と上記排他コマンドのイメージとその実行結果と通番とを受け取り、それらを1つのロックデータとして信号線67を通じて待機系MSCP5へ送信する(ステップS108)。 When the exclusion command is received from the host 1 (step S104), the exclusion control unit 411 of the active MSCP 4 executes exclusion processing (step S105), and assigns the serial number obtained from the serial number control unit 412 to the execution result (successful lock, waiting for lock, successful unlock) (step S106). Next, the exclusive control unit 411 returns the execution result and serial number to the requesting host 1 (step S107). Further, the lock data transmission unit 413 receives the identification information of the active MSCP 4, the image of the exclusive command, its execution result, and the serial number from the exclusive control unit 411, and transmits them as one piece of lock data to the standby MSCP 5 through the signal line 67 (step S108).

ホスト1のI/O制御部113は、排他コマンドに対するコマンド結果と通番とを信号線62を通じて稼働系MSCP4から受信する(ステップS109)。次にロックデータ保持部114は、稼働系MSCP4の識別情報と上記発行された排他コマンドのイメージとその実行結果と通番とを1つのロックデータとしてロックデータテーブル122に保存する(ステップS110)。また排他制御部112は、上記コマンド結果を要求元のAP111へ通知する(ステップS111)。一方、待機系MSCP5のロックデータ受信部515は、稼働系MSCP4から送信されたロックデータを、信号線67を通じて受信し(ステップS112)、ロックデータテーブル523に保存する(ステップS113)。 The I/O control unit 113 of the host 1 receives the command result and serial number for the exclusive command from the active system MSCP 4 via the signal line 62 (step S109). Next, the lock data holding unit 114 stores the identification information of the active MSCP 4, the image of the issued exclusive command, its execution result, and the serial number as one piece of lock data in the lock data table 122 (step S110). The exclusive control unit 112 also notifies the requesting AP 111 of the result of the command (step S111). On the other hand, the lock data receiving unit 515 of the standby MSCP 5 receives the lock data transmitted from the active MSCP 4 through the signal line 67 (step S112), and stores it in the lock data table 523 (step S113).

また稼働系MSCP4の排他制御部411は、ホスト1から受信した排他コマンドがアンロックコマンドである場合、アンロックされた共用資源に対してロック待ちしているタスクがあれば(ステップS114)、そのロック待ちをロック成功に変更し(ステップS115)、そのロック成功の実行結果に通番制御部412から取得した通番を付与し(ステップS116)、ロック成功のコマンド実行結果と排他IDと通番とを含むアテンション通知をホストへ送信する(ステップS117)。またロックデータ送信部413は、稼働系MSCP4の識別情報と上記アテンション通知とを1つのロックデータとして信号線67を通じて待機系MSCP5へ送信する(ステップS118)。 If the exclusion command received from the host 1 is an unlock command, the exclusive control unit 411 of the active MSCP 4 changes the lock waiting to lock success (step S115) if there is a task waiting to lock the unlocked shared resource (step S114), assigns the serial number obtained from the serial number control unit 412 to the execution result of the lock success (step S116), and transmits an attention notification including the lock successful command execution result, the exclusive ID, and the serial number to the host. (Step S117). The lock data transmission unit 413 also transmits the identification information of the active MSCP 4 and the attention notice as one piece of lock data to the standby MSCP 5 through the signal line 67 (step S118).

ホスト1のI/O制御部113は、上記アテンション通知を受信する(ステップS119)。次にロックデータ保持部114は、稼働系MSCP4の識別情報と上記アテンション通知とを1つのロックデータとしてロックデータテーブル122に保存する(ステップS120)。また排他制御部112は、アテンション通知の排他IDで特定されるAP111へロック成功のコマンド結果を通知する(ステップS121)。一方、待機系MSCP5のロックデータ受信部515は、稼働系MSCP4から送信されたアテンション通知を含むロックデータを、信号線67を通じて受信し(ステップS122)、ロックデータテーブル523に保存する(ステップS123)。 The I/O control unit 113 of the host 1 receives the notice of attention (step S119). Next, the lock data holding unit 114 stores the identification information of the active MSCP 4 and the attention notification as one piece of lock data in the lock data table 122 (step S120). The exclusion control unit 112 also notifies the AP 111 specified by the exclusion ID of the attention notification of the lock success command result (step S121). On the other hand, the lock data receiving unit 515 of the standby MSCP 5 receives the lock data including the attention notification transmitted from the active MSCP 4 through the signal line 67 (step S122), and stores it in the lock data table 523 (step S123).

上述したように、稼働系MSCP4が正常に動作している場合、稼働系MSCP4は、何れかのホスト1、2から送信された共用資源3をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元のホスト1、2に送信し、且つ、稼働系MSCP4の識別情報とコマンドイメージとその実行結果と通番とを含むロックデータを待機系MSCP5に送信する。また、それぞれのホスト1、2は、稼働系MSCP4に送信したコマンドと稼働系MSCP4から受信したコマンド実行結果と通番とを含むロックデータをロックデータテーブル122に保持する。さらに待機系MSCP5は、稼働系MSCP4から受信したロックデータをロックデータテーブル523に保存する。このような動作が行われることにより、ホスト1、2から稼働系MSCP4に対して送信された排他コマンドとその実行結果とが、ホスト側のロックデータテーブル122、222に保存されると共に、待機系MSCP5側のロックデータテーブル523に保存されることになる。但し、稼働系MSCP4が、ステップS107の実行直後もしくはステップS117の実行直後に故障した場合、稼働系MSCP4からホスト1,2へ送信されたコマンド実行結果やアテンション通知は稼働系MSCP4に送信されない。また、ロックデータ送信部413が、過去一定期間もしくは一定量のロックデータを送信バッファに蓄積後、一括して信号線67を通じてロックデータ受信部515へ送信する場合、送信前に稼働系MSCP4が故障すると、送信バッファに蓄積された全てのロックデータが待機系MSCP5へ送信されない。稼働系MSCP4故障時にホスト1、2のロックデータテーブル122、222に保存されているロックデータのうち、待機系MSCP5のロックデータテーブル523に存在しないロックデータを、不足ロックデータと呼ぶことがある。 As described above, when the active MSCP 4 is operating normally, the active MSCP 4 performs exclusive processing according to the command for locking or unlocking the shared resource 3 transmitted from any one of the hosts 1 and 2, transmits the command execution result and the serial number assigned to the command execution result to the transmission source hosts 1 and 2, and also transmits the lock data including the identification information of the active MSCP 4, the command image, the execution result and the serial number to the standby MSCP 5. Also, each of the hosts 1 and 2 retains in the lock data table 122 lock data including the command sent to the active system MSCP 4, the command execution result received from the active system MSCP 4, and the serial number. Furthermore, the standby MSCP 5 saves the lock data received from the active MSCP 4 in the lock data table 523 . By performing such operations, the exclusive commands and their execution results sent from the hosts 1 and 2 to the active MSCP 4 are saved in the lock data tables 122 and 222 on the host side and also saved in the lock data table 523 on the standby MSCP 5 side. However, if the active MSCP 4 fails immediately after executing step S107 or immediately after executing step S117, the command execution results and attention notifications sent from the active MSCP 4 to the hosts 1 and 2 are not sent to the active MSCP 4 . Further, when the lock data transmission unit 413 accumulates a certain amount of lock data for a certain period in the past in the transmission buffer and then collectively transmits the lock data to the lock data reception unit 515 through the signal line 67, if the active MSCP 4 fails before transmission, all the lock data accumulated in the transmission buffer is not transmitted to the standby MSCP 5. Of the lock data stored in the lock data tables 122 and 222 of the hosts 1 and 2 when the active MSCP 4 fails, the lock data that does not exist in the lock data table 523 of the standby MSCP 5 is sometimes called insufficient lock data.

次に、稼働系MSCP4の故障時にホスト間の排他制御に使われるMSCPを待機系MSCPに切り替えるMSCPリリーフ動作について説明する。 Next, an MSCP relief operation for switching the MSCP used for exclusive control between hosts to the standby MSCP when the active MSCP 4 fails will be described.

図5はMSCPリリーフ動作の一例を示すフローチャートである。図5を参照すると、ホスト1の障害検出部117が稼働系MSCP4の障害を検出すると(ステップS131)、ホスト1が代表ホストとなって、MSCPリリーフ制御部118によりMSCPリリーフ動作が開始される。 FIG. 5 is a flow chart showing an example of MSCP relief operation. Referring to FIG. 5, when the failure detection unit 117 of the host 1 detects a failure of the active MSCP 4 (step S131), the host 1 becomes the representative host and the MSCP relief control unit 118 starts the MSCP relief operation.

先ず、MSCPリリーフ制御部118は、ホスト間通信部115によるホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して、稼働系MSCP4に故障が発生した旨の通知を送信する(ステップS132)。その後、MSCPリリーフ制御部118は、AP111から共用資源3に対する新たな排他要求(ロック要求もしくはアンロック要求)が出されてもそれを保留するように排他制御部112を制御し、他の全ホストからの新規排他要求抑止完了通知の受信を待ち合わせる(ステップS134)。ホスト2のMSCPリリーフ制御部218は、ホスト間通信によって稼働系MSCP4に故障が発生した旨の通知を代表ホストから受信すると(ステップS135)、AP211から共用資源3に対する新たな排他要求(ロック要求もしくはアンロック要求)が出されてもそれを保留するように排他制御部212を制御し(ステップS136)、ホスト間通信部215によるホスト間通信を使用して、要求元のホスト1のMSCPリリーフ制御部118に新規排他要求抑止完了通知を送信する(ステップS137)。 First, the MSCP relief control unit 118 uses inter-host communication by the inter-host communication unit 115 to transmit a notification to the effect that a failure has occurred in the active MSCP 4 to the MSCP relief control units of all other hosts (step S132). After that, the MSCP relief control unit 118 controls the exclusion control unit 112 so as to hold the new exclusion request (lock request or unlock request) to the shared resource 3 from the AP 111, and waits for reception of new exclusion request suppression completion notifications from all other hosts (step S134). When the MSCP relief control unit 218 of the host 2 receives a notification from the representative host to the effect that a failure has occurred in the active MSCP 4 through inter-host communication (step S135), it controls the exclusion control unit 212 to hold the new exclusion request (lock request or unlock request) for the shared resource 3 from the AP 211 (step S136). (step S137).

代表ホスト1のMSCPリリーフ制御部118は、他の全ホストから新規排他要求抑止完了通知を受信すると(ステップS138)、ホスト間通信部115によるホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して、不足ロックデータ送信要求を送信する(ステップS139)。その後、MSCPリリーフ制御部118は、ロックデータテーブル122に保存されているロックデータのうち、待機系MSCP5のロックデータテーブル523に保存されていないロックデータ(不足ロックデータ)をロックデータテーブル122から取得し、信号線63を通じて待機系MSCP5へ送信し(ステップS140)、他の全ホストからの不足ロックデータ送信完了通知の受信を待ち合わせる(ステップS141)。なお、MSCPリリーフ制御部118は、不足ロックデータが存在しない場合、待機系MSCP5への不足ロックデータの送信は行わず、ステップS141の処理へと進む。ここで、MSCPリリーフ制御部118は、不足ロックデータを次のようにして取得する。 When the MSCP relief control unit 118 of the representative host 1 receives the new exclusion request suppression completion notification from all the other hosts (step S138), it uses the inter-host communication by the inter-host communication unit 115 to transmit the insufficient lock data transmission request to the MSCP relief control units of all the other hosts (step S139). After that, the MSCP relief control unit 118 acquires from the lock data table 122 the lock data not stored in the lock data table 523 of the standby system MSCP 5 (missing lock data) from among the lock data stored in the lock data table 122, transmits it to the standby system MSCP 5 via the signal line 63 (step S140), and waits for reception of insufficient lock data transmission completion notifications from all other hosts (step S141). If there is no insufficient lock data, the MSCP relief control unit 118 does not transmit the insufficient lock data to the standby MSCP 5, and proceeds to the process of step S141. Here, the MSCP relief control unit 118 acquires insufficient lock data as follows.

先ず、MSCPリリーフ制御部118は、受信状況問合せ部116に対して受信完了通番の問合せを依頼する。受信状況問合せ部116は、その依頼に応じて待機系MSCP5の受信状況応答部517へ受信完了通番を問合せる。その問合せに応じて受信状況応答部517は、稼働系MSCP4から最後に受信したロックデータに含まれる通番を受信完了通番として受信状況問合せ部116へ送信する。受信状況問合せ部116は、受信した受信完了通番をMSCPリリーフ制御部118へ通知する。MSCPリリーフ制御部118は、通知された受信完了通番以降の通番を有するロックデータを不足ロックデータとしてロックデータテーブル122から取得する。 First, the MSCP relief control unit 118 requests the reception status inquiry unit 116 to inquire about the reception completion serial number. In response to the request, the reception status inquiry unit 116 inquires the reception completion serial number of the reception status response unit 517 of the standby MSCP 5 . In response to the inquiry, the reception status response unit 517 transmits the serial number included in the last lock data received from the active system MSCP 4 to the reception status inquiry unit 116 as the reception completion serial number. Reception status inquiry section 116 notifies MSCP relief control section 118 of the received reception completion serial number. The MSCP relief control unit 118 acquires from the lock data table 122 lock data having serial numbers after the notified reception completion serial number as missing lock data.

ホスト2のMSCPリリーフ制御部218は、ホスト間通信によって不足ロックデータ送信要求を受信すると(ステップS142)、ロックデータテーブル222に保存されているロックデータのうち、待機系MSCP5のロックデータテーブル523に保存されていないロックデータを不足ロックデータとしてロックデータテーブル222から取得し、信号線66を通じて待機系MSCP5へ送信し(ステップS143)、ホスト間通信部215のホスト間通信を使用して、代表ホスト1のMSCPリリーフ制御部118に対して不足ロックデータ送信完了通知を送信する(ステップS144)。なお、MSCPリリーフ制御部218は、不足ロックデータが存在しない場合、待機系MSCP5への不足ロックデータの送信は行わず、ステップS144の処理へと進む。また、MSCPリリーフ制御部218は、不足ロックデータの取得では、MSCPリリーフ制御部118と同様の方法で受信完了通番を取得し、受信完了通番以降の通番を有するロックデータをロックデータテーブル523から取得する。 When the MSCP relief control unit 218 of the host 2 receives the insufficient lock data transmission request through inter-host communication (step S142), it acquires the lock data not stored in the lock data table 523 of the standby system MSCP 5 from among the lock data stored in the lock data table 222 as insufficient lock data from the lock data table 222, and transmits it to the standby system MSCP 5 via the signal line 66 (step S143). An insufficient lock data transmission completion notification is transmitted to the MSCP relief control unit 118 (step S144). If there is no insufficient lock data, the MSCP relief control unit 218 does not transmit the insufficient lock data to the standby MSCP 5, and proceeds to step S144. Also, when acquiring insufficient lock data, the MSCP relief control unit 218 acquires a reception completion serial number in the same manner as the MSCP relief control unit 118, and acquires lock data having a serial number after the reception completion serial number from the lock data table 523.

待機系MSCP5のロックデータ受信部515は、ホスト1のMSCPリリーフ制御部118から送信された不足ロックデータを、信号線63を通じて受信すると、ロックデータテーブル523へ保存する(ステップS145)。また待機系MSCP5のロックデータ受信部515は、ホスト2のMSCPリリーフ制御部218から送信された不足ロックデータを、信号線66を通じて受信すると、ロックデータテーブル523へ保存する(ステップS145)。 When the lock data receiving unit 515 of the standby MSCP 5 receives the missing lock data transmitted from the MSCP relief control unit 118 of the host 1 through the signal line 63, it stores it in the lock data table 523 (step S145). When the lock data receiving unit 515 of the standby MSCP 5 receives the insufficient lock data transmitted from the MSCP relief control unit 218 of the host 2 through the signal line 66, it stores it in the lock data table 523 (step S145).

代表ホスト1のMSCPリリーフ制御部118は、他の全ホストから不足ロックデータ送信完了通知を受信すると(ステップS146)、信号線63を通じて待機系MSCP5の排他制御テーブル再生部516に対して排他情報再生要求を送信する(ステップS147)。 When the MSCP relief control unit 118 of the representative host 1 receives the insufficient lock data transmission completion notification from all the other hosts (step S146), it transmits an exclusion information reproduction request to the exclusion control table reproduction unit 516 of the standby MSCP 5 via the signal line 63 (step S147).

待機系MSCP5の排他制御テーブル再生部516は、排他情報再生要求を受信すると(ステップS148)、ロックデータテーブル523から通番順にロックデータを読み出し、ロックデータに含まれるコマンド、コマンド実行結果、および、アテンション通知に基づいて、障害が発生した稼働系MSCP4の排他制御テーブル422と実質的に同じ内容の排他制御テーブル522を再生する(ステップS149)。そして、排他制御テーブル再生部516は、排他制御テーブル522の再生が完了すると、信号線63を通じて再生完了通知を代表ホスト1のMSCPリリーフ制御部118へ送信し(ステップS150)、新稼働系MSCPとして動作を開始する。 Upon receiving the exclusion information reproduction request (step S148), the exclusion control table reproducing unit 516 of the standby MSCP 5 reads out the lock data from the lock data table 523 in serial number order, and reproduces the exclusion control table 522 having substantially the same content as the exclusion control table 422 of the failed active MSCP 4 based on the command, command execution result, and attention notification included in the lock data (step S149). Upon completing the reproduction of the exclusive control table 522, the exclusion control table reproduction unit 516 transmits a reproduction completion notification to the MSCP relief control unit 118 of the representative host 1 through the signal line 63 (step S150), and starts operating as a new active MSCP.

代表ホスト1のMSCPリリーフ制御部118は、待機系MSCP5の排他制御テーブル再生部516から再生完了通知を受信すると(ステップS151)、ホスト間通信部115のホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して運用再開要求を送信する(ステップS152)。運用再開要求を受信したホスト2のMSCPリリーフ制御部218、および、運用再開要求を送信したホスト1のMSCPリリーフ制御部118は、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。 When the MSCP relief control unit 118 of the representative host 1 receives the reproduction completion notification from the exclusive control table reproduction unit 516 of the standby MSCP 5 (step S151), it uses the inter-host communication of the inter-host communication unit 115 to transmit an operation restart request to the MSCP relief control units of all other hosts (step S152). The MSCP relief control unit 218 of the host 2 that received the operation resumption request and the MSCP relief control unit 118 of the host 1 that transmitted the operation resumption request thereafter resume the operation of the system with MSCP5 as the new active system MSCP.

このように本実施形態では、稼働系MSCP4が故障した場合、ホスト1、2のそれぞれは、ロックデータテーブルに保存されているロックデータのうち待機系MSCP5が稼働系MSCP4から受信したロックデータに含まれる通番の最新のもの以降の通番のロックデータ(不足ロックデータ)を待機系MSCP5へ送信し、待機系MSCP5は、稼働系MSCP4が正常に動作しているときに稼働系MSCP4から受信したロックデータとホスト1,2のそれぞれから受信した不足ロックデータとに基づいて、故障した稼働系MSCP4の排他制御テーブル422の排他制御情報を排他制御テーブル522に再生する。 As described above, in this embodiment, when the active MSCP 4 fails, each of the hosts 1 and 2 transmits to the standby MSCP 5 lock data (missing lock data) having a serial number after the latest serial number included in the lock data received from the active MSCP 4 by the standby MSCP 5 among the lock data stored in the lock data table (missing lock data). Based on the lock data, the exclusive control information of the exclusive control table 422 of the failed active system MSCP 4 is reproduced in the exclusive control table 522 .

次に、簡単な例を挙げて、本実施形態によるMSCPリリーフについてさらに詳細に説明する。 A simple example will now be given to further describe MSCP relief according to the present embodiment.

図6Aは、稼働系MSCP4に故障が発生する迄にホスト1、2のAP111、211から共用資源3に対して出された一連の排他要求および稼働系MSCP4からホストに出されたアテンション通知の一例を示す図である。この例では、共用資源3は、ホスト1、2で共用される資源a1~a3、b1~b3を含んで構成されている。また、AP111、211からの排他要求およびアテンション通知は時間的に以下の順番で出されている。 FIG. 6A is a diagram showing an example of a series of exclusion requests issued to the shared resource 3 from the APs 111 and 211 of the hosts 1 and 2 and attention notifications issued from the active MSCP 4 to the host until a failure occurs in the active MSCP 4. In this example, the shared resource 3 includes resources a1 to a3 and b1 to b3 shared by the hosts 1 and 2. FIG. Also, exclusion requests and attention notifications from the APs 111 and 211 are issued in the following order in terms of time.

(1)AP111から資源a2に対するロック要求(結果は成功)
(2)AP111から資源a1に対するロック要求(結果は成功)
(3)AP211から資源a2に対するロック要求(結果はロック待ち)
(4)AP111から資源a1に対するアンロック要求(結果は成功)
(5)AP111から資源a2に対するアンロック要求(結果は成功)
(6)稼働系MSCP4からAP211に対する資源a2に係るアテンション通知
(7)AP211から資源a3に対するロック要求(結果は成功)
(8)AP111から資源b1に対するロック要求(結果は成功)
(9)AP211から資源b2に対するロック要求(結果は成功)
(10)AP111から資源b3に対するロック要求(結果は成功)
(11)AP211から資源a3に対するアンロック要求(結果は成功)
(1) Lock request from AP 111 to resource a2 (successful)
(2) Lock request from AP 111 to resource a1 (successful)
(3) Lock request from AP 211 to resource a2 (result is waiting for lock)
(4) Unlock request from AP 111 to resource a1 (successful)
(5) Unlock request from AP 111 to resource a2 (successful)
(6) Attention notification regarding resource a2 from active system MSCP 4 to AP 211 (7) Lock request for resource a3 from AP 211 (result successful)
(8) Lock request from AP 111 to resource b1 (successful)
(9) Lock request from AP 211 to resource b2 (successful)
(10) Lock request from AP 111 to resource b3 (successful)
(11) Unlock request from AP 211 to resource a3 (successful)

図6Bは、稼働系MSCP4に故障が発生した時点の排他制御テーブル422で管理されている共用資源3の排他制御状態を表す図である。図6Bに示すように、稼働系MSCP4の故障時点の排他制御テーブル422は、AP111が資源b1、b3をロックし、AP211が資源a2、b2をロックしている、という排他制御状態を保持している。 FIG. 6B is a diagram showing the exclusive control state of the shared resource 3 managed by the exclusive control table 422 when a failure occurs in the active MSCP 4 . As shown in FIG. 6B, the exclusive control table 422 at the time of failure of the active MSCP 4 holds an exclusive control state in which the AP 111 locks the resources b1 and b3 and the AP 211 locks the resources a2 and b2.

図7A、図7B、および、図7Cは、稼働系MSCP4に故障が発生した時点のホスト1のロックデータテーブル122、ホスト2のロックデータテーブル222、および、待機系MSCP5のロックデータテーブル523の一例を表す図である。この例では、ロックデータテーブル122には、図6Aに示される6つの要求((1)ロック要求、(2)ロック要求、(4)アンロック要求、(5)アンロック要求、(8)ロック要求、(10)ロック要求)に1対1に対応する6つのロックデータが保存されている。またロックデータテーブル222には、図6Aに示される4つの要求((3)ロック要求、(7)ロック要求、(9)ロック要求、(11)アンロック要求)と1つのアテンション通知((6)アテンション通知)とに1対1に対応する5つのロックデータが保存されている。また、待機系MSCP5のロックデータテーブル523には、図6Aに示される全ての要求およびアテンション通知に1対1に対応する全てのロックデータが保存されている。 7A, 7B, and 7C are diagrams showing examples of the lock data table 122 of the host 1, the lock data table 222 of the host 2, and the lock data table 523 of the standby MSCP 5 at the time when the active MSCP 4 fails. In this example, the lock data table 122 stores six pieces of lock data corresponding one-to-one to the six requests shown in FIG. 6A ((1) lock request, (2) lock request, (4) unlock request, (5) unlock request, (8) lock request, and (10) lock request). In addition, the lock data table 222 stores five pieces of lock data corresponding one-to-one to the four requests ((3) lock request, (7) lock request, (9) lock request, and (11) unlock request) shown in FIG. 6A and one attention notification ((6) attention notification). In addition, the lock data table 523 of the standby MSCP 5 stores all lock data corresponding to all the requests and attention notifications shown in FIG. 6A on a one-to-one basis.

このような状態でMSCPリリーフが開始されると、待機系MSCP5が稼働系MSCP4から最後に受信したロックデータに含まれる通番(受信完了通番)は、「111」である。そのため、MSCPリリーフ制御部118、218は、ロックデータテーブル122、222中に受信完了通番「111」以降の通番を含むロックデータが1つも存在しないので、ステップS140、S143における待機系MSCP5への不足ロックデータの送信は実質的に行われない。そのため、ステップS147における待機系MSCP5に対する排他情報再生要求の送信は、速やかに実施されることになる。 When MSCP relief is started in such a state, the serial number (reception completion serial number) included in the last lock data received by the standby MSCP 5 from the active MSCP 4 is "111". Therefore, in the lock data tables 122, 222, the MSCP relief control units 118, 218 do not have even one piece of lock data including the reception completion serial number "111" or later, so the transmission of insufficient lock data to the standby system MSCP 5 in steps S140, S143 is not performed substantially. Therefore, the transmission of the exclusion information reproduction request to the standby MSCP 5 in step S147 is promptly executed.

待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に保存された図7Cに示す合計11個のロックデータを、通番の順に処理することによって、故障時点の排他制御テーブル422を排他制御テーブル522に再生する。例えば、排他制御テーブル再生部516は、通番101のロックデータに基づいて、共用資源a2がAP111によってロックされている状態を管理する情報を排他制御テーブル522に作成する。即ち、排他制御テーブル再生部516は、AP111から共用資源a2に対するロックコマンドが発行され且つロック成功したときに稼働系MSCP4の排他制御部411が排他制御テーブル422に対して行う処理と同様の処理を、排他制御テーブル522に対して行う。また排他制御テーブル再生部516は、通番103のロックデータの場合、AP211が共用資源a2をロック待ちしている状態を管理する情報を排他制御テーブル522に作成する。また排他制御テーブル再生部516は、通番105のロックデータの場合、共用資源a2がAP111によってロックされている状態を管理する情報を排他制御テーブル522から削除する。また排他制御テーブル再生部516は、通番106のアテンション通知に係るロックデータの場合、AP211が共用資源a2をロック待ちしている状態を管理する情報を排他制御テーブル522から削除し、代わりに、共用資源a2がAP211によってロックされている状態を管理する情報を排他制御テーブル522に作成する。 The exclusive control table reproduction unit 516 of the standby MSCP 5 reproduces the exclusive control table 422 at the time of failure in the exclusive control table 522 by processing the total 11 pieces of lock data shown in FIG. 7C saved in the lock data table 523 in serial number order. For example, based on the lock data with the serial number 101, the exclusive control table reproducing unit 516 creates information for managing the state in which the shared resource a2 is locked by the AP 111 in the exclusive control table 522. FIG. That is, the exclusive control table reproducing unit 516 performs the same processing for the exclusive control table 422 as the exclusive control unit 411 of the active system MSCP 4 performs for the exclusive control table 422 when the lock command for the shared resource a2 is issued from the AP 111 and the lock is successful. Also, in the case of the lock data with serial number 103, the exclusive control table reproduction unit 516 creates in the exclusive control table 522 information for managing the state in which the AP 211 is waiting to lock the shared resource a2. Also, in the case of the lock data with the serial number 105, the exclusion control table reproducing unit 516 deletes from the exclusion control table 522 the information for managing the state in which the shared resource a2 is locked by the AP111. Further, in the case of the lock data related to the attention notification of serial number 106, the exclusion control table reproducing unit 516 deletes information for managing the state in which the AP 211 is waiting to lock the shared resource a2 from the exclusion control table 522, and instead creates information for managing the state in which the shared resource a2 is locked by the AP 211 in the exclusion control table 522.

上記説明では、待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に保存されたロックデータを通番の順に処理することによって、故障時点の排他制御テーブル422を排他制御テーブル522に再生した。しかし、排他制御テーブルの再生方法は上記に限定されない。故障時点の排他制御テーブル422を再生できるのであれば、他の方法を使用してもよい。例えば、次のような方法であってもよい。 In the above description, the exclusive control table reproduction unit 516 of the standby MSCP 5 reproduces the exclusive control table 422 at the time of failure into the exclusive control table 522 by processing the lock data stored in the lock data table 523 in order of serial number. However, the method of reproducing the exclusive control table is not limited to the above. Other methods may be used as long as the exclusive control table 422 at the time of failure can be reproduced. For example, the following method may be used.

待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に対して、先ず、以下の処理1、2をその順に行う。
処理1:アテンション通知の前提となるロック待ちのロックデータにおけるロック待ちをロック成功に変更し、当該アテンション通知のロックデータを削除する。
処理2:アンロック成功のロックデータとその前提となるロック成功のロックデータとをロックデータテーブル523から削除する。
The exclusive control table reproducing unit 516 of the standby MSCP 5 first performs the following processes 1 and 2 on the lock data table 523 in that order.
Process 1: Change lock wait in the lock data of lock wait, which is the premise of the attention notification, to lock success, and delete the lock data of the attention notification.
Process 2: Deletes the lock data indicating successful unlocking and the lock data indicating successful locking, which is the premise thereof, from the lock data table 523 .

次に排他制御テーブル再生部516は、ロックデータテーブル523からロック成功のロックデータを全て抽出し、それぞれのコマンドイメージに従って、ロックコマンドに応じた排他制御を行って排他制御テーブル522を更新する。次に排他制御テーブル再生部516は、ロックデータテーブル523からロック待ちのロックデータを全て抽出し、それぞれのコマンドイメージに従って、ロックコマンドに応じた排他制御を行って排他制御テーブル522を更新する。以上の処理により、故障時点の排他制御テーブル422を排他制御テーブル522に再生することができる。 Next, the exclusive control table reproduction unit 516 extracts all the lock data indicating the lock success from the lock data table 523, performs exclusive control according to the lock command according to each command image, and updates the exclusive control table 522. FIG. Next, the exclusive control table reproducing unit 516 extracts all the lock data waiting for lock from the lock data table 523, performs exclusive control according to the lock command according to each command image, and updates the exclusive control table 522. FIG. Through the above processing, the exclusive control table 422 at the time of failure can be reproduced in the exclusive control table 522 .

図7Cに示すように、稼働系MSCP4に故障が発生した時点のホスト1、2のロックデータテーブル122、222に保存されたロックデータの全てが、待機系MSCP5のロックデータテーブル523に保存されている状況では、ホスト1、2側から待機系MSCP5へロックデータを1つも送信することなく、稼働系MSCP4故障時の排他制御テーブル422を待機系MSCP5の排他制御テーブル522に再生することができる。 As shown in FIG. 7C, in a situation where all of the lock data stored in the lock data tables 122 and 222 of the hosts 1 and 2 at the time of failure of the active MSCP 4 are stored in the lock data table 523 of the standby MSCP 5, the exclusive control table 422 at the time of failure of the active MSCP 4 can be reproduced in the exclusive control table 522 of the standby MSCP 5 without sending any lock data from the hosts 1 and 2 to the standby MSCP 5.

図7Dは、稼働系MSCP4に故障が発生した時点の待機系MSCP5のロックデータテーブル523の他の例を表す図である。この例では、ロックデータテーブル523には、図6Aに示される5つの要求((1)ロック要求、(2)ロック要求、(3)ロック要求、(4)アンロック要求、(5)アンロック要求)に1対1に対応する5つのロックデータが保存されている。このような状態でMSCPリリーフが開始されると、待機系MSCP5が稼働系MSCP4から最後に受信したロックデータに含まれる通番(受信完了通番)は、「105」になる。そのため、MSCPリリーフ制御部118は、通番「105」以降の通番を含むロックデータ(通番108、110のロックデータ)を不足ロックデータとしてロックデータテーブル122から取得し、待機系MSCP5へ送信する。またMSCPリリーフ制御部218は、通番「105」以降の通番を含むロックデータ(通番106、107、109、111)を不足ロックデータとしてロックデータテーブル122から取得し、待機系MSCP5へ送信する。そして、MSCPリリーフ制御部118から待機系MSCP5に対して排他情報再生要求が送信される。待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に保存された図7Dに示す合計5個のロックデータと、上述のようにしてホスト1、2から送信された不足ロックデータとを、通番の順に処理することによって、故障時点の排他制御テーブル422を排他制御テーブル522に再生する。このように、稼働系MSCP4に故障が発生した時点でホスト1、2のロックデータテーブル122、222に保存されているロックデータの全てが待機系MSCP5のロックデータテーブル523に保存されていない場合、不足しているロックデータだけをホスト1、2側から待機系MSCP5へ送信する。これにより、稼働系MSCP4故障時の排他制御テーブル422を待機系MSCP5の排他制御テーブル522に速やかに再生することができる。 FIG. 7D is a diagram showing another example of the lock data table 523 of the standby MSCP 5 at the time when the active MSCP 4 fails. In this example, the lock data table 523 stores five pieces of lock data corresponding one-to-one to the five requests ((1) lock request, (2) lock request, (3) lock request, (4) unlock request, and (5) unlock request) shown in FIG. 6A. When MSCP relief is started in such a state, the serial number (reception completion serial number) included in the last lock data received by the standby MSCP 5 from the active MSCP 4 becomes "105". Therefore, the MSCP relief control unit 118 acquires the lock data containing the serial numbers after the serial number “105” (the lock data with the serial numbers 108 and 110) from the lock data table 122 as missing lock data, and transmits it to the standby system MSCP 5 . Also, the MSCP relief control unit 218 acquires the lock data (serial numbers 106, 107, 109, and 111) including the serial numbers after the serial number “105” from the lock data table 122 as insufficient lock data, and transmits them to the standby system MSCP 5 . Then, an exclusion information reproduction request is transmitted from the MSCP relief control unit 118 to the standby MSCP 5 . The exclusive control table reproduction unit 516 of the standby MSCP 5 reproduces the exclusive control table 422 at the time of failure in the exclusive control table 522 by processing the total of five pieces of lock data shown in FIG. In this way, when all the lock data stored in the lock data tables 122, 222 of the hosts 1, 2 are not stored in the lock data table 523 of the standby system MSCP 5 at the time when the failure occurs in the active system MSCP 4, only the lacking lock data is transmitted from the host 1, 2 side to the standby system MSCP 5. As a result, the exclusion control table 422 at the time of failure of the active MSCP 4 can be quickly reproduced in the exclusion control table 522 of the standby MSCP 5 .

このように本実施形態によれば、ホスト1、2が稼働系MSCP4に送信したロックコマンド、アンロックコマンドをロックデータテーブル122、222に大量に保持している状況で稼働系MSCP4が故障した場合であっても、故障した稼働系MSCP4が排他制御テーブル422に保持していた排他制御情報を待機系MSCP5の排他制御テーブル522に速やかに再生することができる。 As described above, according to this embodiment, even if the active MSCP 4 fails in a situation where a large amount of lock commands and unlock commands sent to the active MSCP 4 by the hosts 1 and 2 are stored in the lock data tables 122 and 222, the exclusive control information held in the exclusive control table 422 by the failed active MSCP 4 can be quickly reproduced in the exclusive control table 522 of the standby MSCP 5.

[第2の実施形態]
次に、本発明の第2の実施形態に係る疎結合システム200について、第1の実施形態との相違点を中心に説明する。
[Second embodiment]
Next, a loosely coupled system 200 according to the second embodiment of the present invention will be described, focusing on differences from the first embodiment.

図8は稼働系MSCP4が正常に動作している状態でホスト1上のAP111から共用資源3の排他要求が出されたときの疎結合システム200の動作を示すフローチャートである。また図9はMSCPリリーフ動作の一例を示すフローチャートである。また図10はホスト1,2において定期的に行われる処理の一例を示すフローチャートである。 FIG. 8 is a flow chart showing the operation of the loosely coupled system 200 when the AP 111 on the host 1 issues an exclusion request for the shared resource 3 while the active MSCP 4 is operating normally. FIG. 9 is a flow chart showing an example of MSCP relief operation. FIG. 10 is a flow chart showing an example of processing periodically performed in the hosts 1 and 2. In FIG.

第1の実施形態では、待機系MSCP5の排他制御テーブル再生部516は、MSCPリリーフの開始後にホストから受信した排他情報再生要求を契機に排他制御テーブル522の再生処理を開始した(図5のステップS148、S149)。これに対して本実施形態では、排他制御テーブル再生部516は、稼働系MSCP4が正常に動作している最中に、稼働系MSCP4から受信したロックデータに基づいて、排他制御テーブル522の再生処理を行う。具体的には、稼働系MSCP4が正常に動作している最中に、ロックデータ受信部515が稼働系MSCP4のロックデータ送信部413から新たなロックデータを受信し保存する毎に(図8のステップS112、S113)、排他制御テーブル再生部516は、その新たに受信して保存されたロックデータに基づいて排他制御テーブル522の再生処理を行う(ステップS201)。こうすることによって、待機系MSCP5が稼働系MSCP4と全く同じ動作をほぼ並行して行うことになるため、稼働系MSCP4故障によるMSCPリリーフ時に待機系MSCP5で再生すべきコマンド量が低減され、故障した稼働系MSCP4が排他制御テーブル422に保持していた排他情報を待機系MSCP5の排他制御テーブル522により速やかに再生することができる。 In the first embodiment, the exclusion control table reproduction unit 516 of the standby MSCP 5 started the reproduction process of the exclusion control table 522 in response to the exclusion information reproduction request received from the host after the start of MSCP relief (steps S148 and S149 in FIG. 5). On the other hand, in this embodiment, the exclusive control table reproduction unit 516 reproduces the exclusive control table 522 based on the lock data received from the active MSCP 4 while the active MSCP 4 is operating normally. Specifically, every time the lock data receiving unit 515 receives and stores new lock data from the lock data transmitting unit 413 of the active MSCP 4 while the active MSCP 4 is operating normally (steps S112 and S113 in FIG. 8), the exclusive control table reproducing unit 516 reproduces the exclusive control table 522 based on the newly received and stored lock data (step S201). By doing so, the standby MSCP 5 performs exactly the same operation as the active MSCP 4 in parallel, so that the amount of commands to be reproduced in the standby MSCP 5 at the time of MSCP relief due to the malfunction of the active MSCP 4 is reduced, and the exclusion information held in the exclusive control table 422 by the failed active MSCP 4 can be quickly reproduced by the exclusive control table 522 of the standby MSCP 5.

また本実施形態では、排他制御テーブル再生部516は、排他制御テーブル522の再生処理に使ったロックデータに含まれる稼働系MSCP4の識別情報と通番とを受信状況応答部517に通知し、受信状況応答部517は、通知された稼働系MSCP4の識別情報に対応して、通知された通番を受信完了通番として保持する(ステップS202)。さらに本実施形態では、図10のフローチャートに示されるように、ホスト1、2の受信状況問合せ部116、216は、稼働系MSCP4が正常に動作している最中に、例えばタイマによって定期的に起動され、起動される毎に、待機系MSCP5に対して稼働系MSCP4からのロックデータの受信状況を問合せ(ステップS231)、その応答である受信完了通番を受信状況テーブル123に保存する(ステップS232)。さらに、ロックデータ保持部114、214は、受信状況テーブル123に保存された最新の受信完了通番に基づいて、ロックデータテーブル122、222を更新する(ステップS233)。 In this embodiment, the exclusive control table reproduction unit 516 notifies the reception status response unit 517 of the identification information and the serial number of the active MSCP 4 included in the lock data used for the reproduction process of the exclusive control table 522, and the reception status response unit 517 holds the notified serial number as the reception completion serial number in correspondence with the notified identification information of the active MSCP 4 (step S202). Furthermore, in this embodiment, as shown in the flowchart of FIG. 10, the reception status inquiry units 116 and 216 of the hosts 1 and 2 are periodically activated by, for example, a timer while the active MSCP 4 is operating normally, and every time they are activated, they inquire of the standby MSCP 5 about the reception status of the lock data from the active MSCP 4 (step S231), and store the reception completion sequence number as a response to the reception status table 123 (step S232). Further, the lock data holding units 114, 214 update the lock data tables 122, 222 based on the latest reception completion serial number stored in the reception status table 123 (step S233).

ステップS233におけるロックデータテーブル122、222の更新では、ロックデータ保持部114、214は、以下の処理a、bをその順に行う。
処理a:最新の受信完了通番以前の通番を有するアテンション通知のロックデータの通番で、その前提となるロック待ちのロックデータの通番を上書きし、且つ、ロック待ちをロック成功に変更する。また当該アテンション通知のロックデータを削除する。
処理b:最新の受信完了通番以前の通番を有するアンロック成功のロックデータとその前提となるロック成功のロックデータとをロックデータテーブル122、222から削除する。
In updating the lock data tables 122 and 222 in step S233, the lock data holding units 114 and 214 perform the following processes a and b in that order.
Process a: Overwrite the serial number of the lock data waiting for lock, which is the premise of the attention notification lock data having a serial number before the latest reception completion serial number, and change lock waiting to lock successful. Also, the lock data of the attention notification is deleted.
Process b: Delete from the lock data tables 122 and 222 the successfully unlocked lock data having a serial number before the latest reception completion serial number and the lock successful lock data that is the premise thereof.

例えば、ロックデータテーブル122が図7Aに示す状態にあるときに最新の受信完了通番が「107」として得られた場合、ロックデータ保持部114は、通番「104」のアンロック成功のロックデータおよびその前提となる通番「102」のロック成功のロックデータと、通番「105」のアンロック成功のロックデータおよびその前提となる通番「101」のロック成功のロックデータとをロックデータテーブル122から削除する。また、ロックデータテーブル222が図7Bに示す状態にあるときに最新の受信完了通番が「107」として得られた場合、ロックデータ保持部214は、アテンション通知のロックデータの通番「106」で、その前提となるロック待ちのロックデータの通番「103」を上書きし、且つ、そのロック待ちをロック成功に変更する。なお、通番「111」のアンロック成功のロックデータおよびその前提となる通番「107」のロック成功のロックデータは、双方の通番が共に受信完了通番「107」以降でないため、削除されない。その理由は、もし削除してしまうと、待機系MSCP5が受信完了通番「107」の時点で稼働系MSCP4に故障が発生した場合、待機系MSCP5が排他制御テーブル522上で管理している、AP211が共用資源a3をロックしている状態を、アンロックするためのコマンドをホスト2から待機系MSCP5へ不足ロックデータとして送信できないためである。 For example, when the latest reception completion serial number is obtained as "107" when the lock data table 122 is in the state shown in FIG. Also, when the latest reception completion serial number is obtained as "107" when the lock data table 222 is in the state shown in FIG. 7B, the lock data holding unit 214 overwrites the serial number "103" of the lock data waiting for lock, which is the premise thereof, with the serial number "106" of the lock data of the attention notification, and changes the lock waiting to lock success. Note that the successfully unlocked lock data with the serial number "111" and the lock data with the serial number "107", which is the premise of it, are not deleted because both serial numbers are not after the reception completion serial number "107". The reason for this is that if this is deleted, if a failure occurs in the active MSCP 4 when the standby MSCP 5 receives the reception completion sequence number "107", the host 2 cannot send a command for unlocking the shared resource a3, which is managed by the standby MSCP 5 on the exclusive control table 522, to the standby MSCP 5 from the host 2 as insufficient lock data.

上記のようにロックデータテーブル122、222を更新することにより、ロックデータテーブル122、222に保存されるロックデータ量を削減でき、ロックデータテーブル122、222に必要な記憶容量を削減することができる。 By updating the lock data tables 122 and 222 as described above, the amount of lock data stored in the lock data tables 122 and 222 can be reduced, and the storage capacity required for the lock data tables 122 and 222 can be reduced.

また第1の実施形態では、ホスト1、2のMSCPリリーフ制御部118、218は、不足ロックデータ全体を待機系MSCP5へ送信し、排他制御テーブル再生部516は、受信したロックデータに基づいて排他制御テーブル522の再生を行った。これに対して本実施形態では、ホスト1、2のMSCPリリーフ制御部118、218は、不足ロックデータに含まれるロック成功したロックコマンド、ロック待ちしたロックコマンドを待機系MSCP5に対して発行し、排他制御テーブル再生部516は、発行されたロックコマンドに基づく排他制御処理を行うことによって、排他制御テーブル522の再生を行う。以下、この点について詳細に説明する。 In the first embodiment, the MSCP relief control units 118 and 218 of the hosts 1 and 2 transmit the entire insufficient lock data to the standby system MSCP 5, and the exclusive control table reproducing unit 516 reproduces the exclusive control table 522 based on the received lock data. On the other hand, in the present embodiment, the MSCP relief control units 118 and 218 of the hosts 1 and 2 issue to the standby system MSCP 5 the lock commands that are successfully locked and the lock commands that are waiting for lock included in the insufficient lock data, and the exclusive control table reproducing unit 516 reproduces the exclusive control table 522 by performing exclusive control processing based on the issued lock commands. This point will be described in detail below.

図9に示すように、ホスト1のMSCPリリーフ制御部118は、他の全ホストから新規排他要求抑止完了通知を受信すると(ステップS138)、ホスト間通信部115によるホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して、ロック成功に係る不足ロックデータに基づく復元要求を送信する(ステップS211)。その後、MSCPリリーフ制御部118は、ロックデータテーブル122に保存されているロック成功に係るロックデータのうち待機系MSCP5のロックデータテーブル523に保存されていないロックデータに基づいて、待機系MSCP5の排他制御テーブル再生部516との間で、不足ロックデータに基づく復元処理を行う(ステップS212、S213)。そして、MSCPリリーフ制御部118は、他の全ホストからのロック成功に係る不足ロックデータに基づく復元完了通知の受信を待ち合わせる(ステップS214)。なお、MSCPリリーフ制御部118は、ロック成功に係る不足ロックデータが存在しない場合、待機系MSCP5との間のロック成功に係る不足ロックデータに基づく復元処理は行わず、ステップS214の処理へと進む。 As shown in FIG. 9, when the MSCP relief control unit 118 of the host 1 receives the new exclusive request suppression completion notification from all the other hosts (step S138), it uses inter-host communication by the inter-host communication unit 115 to transmit a restoration request based on the insufficient lock data related to the lock success to the MSCP relief control units of all the other hosts (step S211). After that, the MSCP relief control unit 118 performs restoration processing based on the insufficient lock data with the exclusive control table reproduction unit 516 of the standby MSCP 5 based on the lock data not stored in the lock data table 523 of the standby MSCP 5 among the lock data related to the lock success stored in the lock data table 122 (steps S212, S213). Then, the MSCP relief control unit 118 waits for reception of restoration completion notification based on insufficient lock data related to lock success from all other hosts (step S214). If there is no insufficient lock data related to lock success, the MSCP relief control unit 118 does not perform restoration processing based on the insufficient lock data related to lock success with the standby MSCP 5, and proceeds to the processing of step S214.

一方、ホスト2のMSCPリリーフ制御部218は、ロック成功に係る不足ロックデータに基づく復元要求を受信すると(ステップS215)、ロックデータテーブル222に保存されているロック成功に係るロックデータのうち待機系MSCP5のロックデータテーブル523に保存されていないロックデータ(不足ロックデータ)に基づいて、待機系MSCP5の排他制御テーブル再生部516との間で、不足ロックデータに基づく復元処理を行う(ステップS216、S217)。そして、MSCPリリーフ制御部218は、ロック成功に係る不足ロックデータに基づく復元処理を完了すると、ホスト間通信部215によるホスト間通信を使用して、ロック成功に係る不足ロックデータに基づく復元完了通知をホスト1のMSCPリリーフ制御部118へ送信する(ステップS218)。 On the other hand, when the MSCP relief control unit 218 of the host 2 receives the restoration request based on the insufficient lock data related to the lock success (step S215), based on the lock data (insufficient lock data) not stored in the lock data table 523 of the standby MSCP 5 among the lock data related to the lock success stored in the lock data table 222, restoration processing based on the insufficient lock data is performed with the exclusion control table reproduction unit 516 of the standby MSCP 5 (steps S216, S217). . Then, when the restoration processing based on the insufficient lock data related to the lock success is completed, the MSCP relief control unit 218 uses inter-host communication by the inter-host communication unit 215 to transmit a restoration completion notification based on the insufficient lock data related to the lock success to the MSCP relief control unit 118 of the host 1 (step S218).

ホスト1のMSCPリリーフ制御部118は、他の全ホストからロック成功に係る不足ロックデータに基づく復元完了通知を受信すると(ステップS219)、ホスト間通信部115によるホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して、ロック待ちに係る不足ロックデータに基づく復元要求を送信する(ステップS221)。その後、MSCPリリーフ制御部118は、ロックデータテーブル122に保存されているロック待ちに係るロックデータのうち待機系MSCP5のロックデータテーブル523に保存されていないロックデータに基づいて、待機系MSCP5の排他制御テーブル再生部516との間で、不足ロックデータに基づく復元処理を行う(ステップS222、S223)。そして、MSCPリリーフ制御部118は、他の全ホストからのロック待ちに係る不足ロックデータに基づく復元完了通知の受信を待ち合わせる(ステップS224)。なお、MSCPリリーフ制御部118は、ロック待ちに係る不足ロックデータが存在しない場合、待機系MSCP5との間のロック待ちに係る不足ロックデータに基づく復元処理は行わず、ステップS224の処理へと進む。 When the MSCP relief control unit 118 of the host 1 receives the restoration completion notification based on the insufficient lock data related to the lock success from all the other hosts (step S219), it uses inter-host communication by the inter-host communication unit 115 to transmit a restoration request based on the insufficient lock data related to lock waiting to the MSCP relief control units of all the other hosts (step S221). Thereafter, the MSCP relief control unit 118 performs restoration processing based on insufficient lock data with the exclusive control table reproduction unit 516 of the standby MSCP 5 based on the lock data not stored in the lock data table 523 of the standby MSCP 5 among the lock data related to lock waiting stored in the lock data table 122 (steps S222, S223). Then, the MSCP relief control unit 118 waits for reception of restoration completion notification based on insufficient lock data related to lock waiting from all other hosts (step S224). When there is no insufficient lock data related to lock waiting, the MSCP relief control unit 118 does not perform restoration processing based on the insufficient lock data related to lock waiting with the standby MSCP 5, and proceeds to the processing of step S224.

一方、ホスト2のMSCPリリーフ制御部218は、ロック待ちに係る不足ロックデータに基づく復元要求を受信すると(ステップS225)、ロックデータテーブル222に保存されているロック待ちに係るロックデータのうち待機系MSCP5のロックデータテーブル523に保存されていないロックデータ(不足ロックデータ)に基づいて、待機系MSCP5の排他制御テーブル再生部516との間で、不足ロックデータに基づく復元処理を行う(ステップS226、S227)。そして、MSCPリリーフ制御部218は、ロック待ちに係る不足ロックデータに基づく復元処理を完了すると、ホスト間通信部215によるホスト間通信を使用して、ロック待ちに係る不足ロックデータに基づく復元完了通知をホスト1のMSCPリリーフ制御部118へ送信する(ステップS228)。ロック成功およびロック待ちに係る不足ロックデータに基づく復元が完了した待機系MSCP5は、以後、新稼働系として動作する。 On the other hand, when the MSCP relief control unit 218 of the host 2 receives a restoration request based on the insufficient lock data related to lock waiting (Step S225), based on the lock data (insufficient lock data) not stored in the lock data table 523 of the standby MSCP 5 among the lock data related to lock waiting stored in the lock data table 222, the MSCP relief control unit 218 performs restoration processing based on the insufficient lock data with the exclusive control table reproducing unit 516 of the standby MSCP 5 (Steps S226, S227). . Then, when the restoration processing based on the insufficient lock data related to lock waiting is completed, the MSCP relief control unit 218 uses inter-host communication by the inter-host communication unit 215 to transmit a restoration completion notification based on the insufficient lock data related to lock waiting to the MSCP relief control unit 118 of the host 1 (step S228). The standby MSCP 5, which has completed restoration based on lock success and insufficient lock data related to lock wait, will thereafter operate as a new operating system.

ホスト1のMSCPリリーフ制御部118は、他の全ホストからロック待ちに係る不足ロックデータに基づく復元完了通知を受信すると(ステップS229)、ホスト間通信部115のホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して運用再開要求を送信し(ステップS230)、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。またホスト2のMSCPリリーフ制御部218は、運用再開要求を受信すると(ステップS231)、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。 When the MSCP relief control unit 118 of the host 1 receives the restoration completion notification based on the insufficient lock data related to lock waiting from all the other hosts (step S229), it uses the inter-host communication of the inter-host communication unit 115 to transmit an operation restart request to the MSCP relief control units of all the other hosts (step S230), and thereafter restarts the system operation with the MSCP5 as the new active MSCP. Further, when the MSCP relief control unit 218 of the host 2 receives the operation resumption request (step S231), thereafter, the MSCP 5 is set as the new active system MSCP and the system operation is resumed.

図11は、ホスト1のMSCPリリーフ制御部118で行われるロック成功に係る不足ロックデータに基づく復元処理(ステップS212)の一例を示すフローチャートである。図11を参照すると、MSCPリリーフ制御部118は、先ず、ロックデータテーブル122からロック成功に係るロックデータを1つ取り出す(ステップS241)。ここで、ロック成功に係るロックデータとは、コマンド実行結果が「ロック成功」となっているロックデータであって、それに関連するアンロック成功のロックデータがロックデータテーブル122に存在しないものである。また、コマンド実行結果が「ロック待ち」になっているロックデータであって、それに関連するアテンション通知がロックデータテーブル122に保存されており、且つ、それに関連するアンロック成功のロックデータがロックデータテーブル122に存在しないものも、ロック成功に係るロックデータとして扱う(このときの通番はアテンション通知の通番を使用する)。 FIG. 11 is a flow chart showing an example of restoration processing (step S212) based on insufficient lock data related to lock success performed by the MSCP relief control unit 118 of the host 1. FIG. Referring to FIG. 11, the MSCP relief control unit 118 first retrieves one piece of lock data related to lock success from the lock data table 122 (step S241). Here, the lock data related to the lock success is the lock data whose command execution result is "lock success", and the related lock data of the unlock success does not exist in the lock data table 122.例文帳に追加In addition, lock data whose command execution result is "waiting for lock", attention notification related to it is stored in the lock data table 122, and lock data related to unlock success does not exist in the lock data table 122 are also treated as lock data related to lock success (at this time, the serial number of the attention notification is used).

次にMSCPリリーフ制御部118は、コマンド発行先のMSCPとして待機系MSCP5を決定する(ステップS242)。次にMSCPリリーフ制御部118は、受信状況テーブル123から最新の受信完了通番を参照する(ステップS243)。次にMSCPリリーフ制御部118は、ステップS241で取り出したロックデータに含まれる通番が最新の受信完了通番より大きいか否か(より最新か否か)を判定する(ステップS244)。次にMSCPリリーフ制御部118は、その判定結果がYESならば、ステップS241で取り出したロックデータに含まれるコマンドイメージで特定されるロックコマンドを送信バッファ(図示せず)に蓄積し(ステップS245)、ステップS246へ進む。また上記判定結果がNOならば、MSCPリリーフ制御部118は、ステップS245をスキップして、ステップS246へ進む。ステップS246では、MSCPリリーフ制御部118は、ロック成功に係るロックデータをロックデータテーブル122から全て取り出したか否かを判定し、その判定結果がNOならば、ステップS241に戻って、上述した処理と同様の処理を繰り返す。。上記判定結果がYESならば、MSCPリリーフ制御部118は、送信バッファに蓄積された全てのロックコマンドをI/O制御部113を通じて、待機系MSCP5へ発行する(ステップS247)。待機系MSCP5の排他制御テーブル再生部516は、MSCPリリーフ制御部118から発行されたロックコマンドに応じた排他制御処理を行って、排他制御テーブル522を更新する。 Next, the MSCP relief control unit 118 determines the standby MSCP 5 as the MSCP to which the command is issued (step S242). Next, the MSCP relief control unit 118 refers to the latest reception completion serial number from the reception status table 123 (step S243). Next, the MSCP relief control unit 118 determines whether or not the serial number included in the lock data extracted in step S241 is greater than the latest reception completion serial number (is it more recent?) (step S244). Next, if the determination result is YES, the MSCP relief control unit 118 stores the lock command specified by the command image included in the lock data extracted in step S241 in a transmission buffer (not shown) (step S245), and proceeds to step S246. If the determination result is NO, the MSCP relief control unit 118 skips step S245 and proceeds to step S246. In step S246, the MSCP relief control unit 118 determines whether or not all the lock data related to the lock success has been extracted from the lock data table 122. If the determination result is NO, the process returns to step S241 and repeats the same processing as described above. . If the determination result is YES, the MSCP relief control unit 118 issues all lock commands accumulated in the transmission buffer to the standby MSCP 5 through the I/O control unit 113 (step S247). The exclusive control table reproducing unit 516 of the standby MSCP 5 performs exclusive control processing according to the lock command issued from the MSCP relief control unit 118 and updates the exclusive control table 522 .

ホスト2のMSCPリリーフ制御部218で行われるロック成功に係る不足ロックデータに基づく復元処理(ステップS216)も、図11を参照して説明した処理と同様に行われる。またホスト1、2のMSCPリリーフ制御部118、218で行われるロック待ちに係る不足ロックデータに基づく復元処理(ステップS222、226)は、ロック成功に係るロックデータの代わりにロック待ちに係るロックデータに基づいて行われる以外、図11を参照して説明した処理と同様に行われる。ここで、ロック待ちに係るロックデータとは、コマンド実行結果が「ロック待ち」となっているロックデータであって、それに関連するアテンション通知がロックデータテーブル122に存在しないものである。 Restoration processing (step S216) based on insufficient lock data related to lock success performed by the MSCP relief control unit 218 of the host 2 is also performed in the same manner as the processing described with reference to FIG. Restoration processing (steps S222, 226) based on insufficient lock data related to lock waiting performed by the MSCP relief control units 118, 218 of the hosts 1, 2 is performed in the same manner as the processing described with reference to FIG. Here, lock data related to lock wait is lock data whose command execution result is "wait for lock", and the lock data table 122 does not have an attention notification related to it.

[第3の実施形態]
次に、本発明の第3の実施形態に係る疎結合システム300について、第1の実施形態との相違点を中心に説明する。
[Third embodiment]
Next, a loosely coupled system 300 according to the third embodiment of the present invention will be described, focusing on differences from the first embodiment.

第1の実施形態では、稼働系MSCPおよび待機系MSCPがそれぞれ1台の構成であったが、本実施形態ではそれ以外の構成に対して本発明を適用する例を説明する。以下、疎結合システムに存在するMSCPの集合をMSCPサブシステムと記す。 In the first embodiment, there is one active MSCP and one standby MSCP. In this embodiment, an example in which the present invention is applied to other configurations will be described. A set of MSCPs existing in a loosely coupled system is hereinafter referred to as an MSCP subsystem.

図12Aは、MSCPサブシステムの一例を示す。この例では、MSCPは、MSCP0、MSCP1、MSCP2の合計3台存在する。そのうち、MSCP0は、第1の実施形態における稼働系MSCP4と同様な動作を行い、MSCP2は、第1の実施形態における待機系MSCP5と同様な動作を行い、MSCP1は、第1の実施形態における稼働系MSCP4および待機系MSCP5の両方の動作を行っている。具体的には、MSCP0は、ホスト1、2から発行されたロックコマンド、アンロックコマンドに従って排他制御を実施して排他制御テーブルAを更新し、またロックデータをMSCP0の待機系であるMSCP1に対して送信している。またMSCP1は、ホスト1、2から発行されたロックコマンド、アンロックコマンドに従って排他制御を実施して排他制御テーブルBを更新し、またロックデータをMSCP1の待機系であるMSCP1に対して送信している。さらにMSCP1は、MSCP0から受信したロックデータをロックデータテーブルAに保存している。またMSCP2は、MSCP1から受信したロックデータをロックデータテーブルBに保存している。なお、MSCP0およびMSCP1のロックデータ送信部413には、ロックデータの送り先となるMSCPの情報が事前に設定されている。 FIG. 12A shows an example of the MSCP subsystem. In this example, there are a total of three MSCPs, MSCP0, MSCP1, and MSCP2. Of these, MSCP0 performs the same operation as the active MSCP4 in the first embodiment, MSCP2 performs the same operation as the standby MSCP5 in the first embodiment, and MSCP1 performs both the active MSCP4 and the standby MSCP5 in the first embodiment. Specifically, MSCP0 executes exclusive control according to the lock and unlock commands issued from hosts 1 and 2, updates exclusive control table A, and transmits lock data to MSCP1, which is the standby system of MSCP0. MSCP1 also executes exclusive control according to the lock and unlock commands issued from hosts 1 and 2, updates exclusive control table B, and transmits lock data to MSCP1, which is the standby system of MSCP1. Further, MSCP1 stores the lock data received from MSCP0 in lock data table A. MSCP2 also stores the lock data received from MSCP1 in lock data table B. FIG. Information on the MSCP to which the lock data is to be sent is set in advance in the lock data transmission units 413 of MSCP0 and MSCP1.

図12Bは、複数のホスト1、2の排他制御部がロックコマンドを何れのMSCPに対して発行するかを決定するための制御情報の一例を示す。この制御情報は各ホスト1,2に事前に記憶されている。この例では、共用資源の識別情報(例えばファイルIDとブロックIDとを連列したもの)を数値として、その数値を4で割った余りをハッシュ値として求め、そのハッシュ値に対応して予め定められたMSCPをコマンド発行先MSCPとしている。具体的には、MSCP0とMSCP1が正常な場合、排他制御部は、ハッシュ値が0または1の共用資源についてはMSCP0に対してコマンドを発行し、ハッシュ値が2または3の共用資源についてはMSCP1に対してコマンドを発行する。また、MSCP0が故障してMSCP1とMSCP2とが動作している場合、排他制御部は、ハッシュ値が0または1の共用資源についてはMSCP2に対してコマンドを発行し、ハッシュ値が2または3の共用資源についてはMSCP1に対してコマンドを発行する。また、MSCP1が故障してMSCP0とMSCP2とが動作している場合、排他制御部は、ハッシュ値が0または1の共用資源についてはMSCP0に対してコマンドを発行し、ハッシュ値が2または3の共用資源についてはMSCP2に対してコマンドを発行する。 FIG. 12B shows an example of control information for determining to which MSCP the exclusive control units of the hosts 1 and 2 issue the lock command. This control information is stored in each host 1, 2 in advance. In this example, identification information of a shared resource (for example, a file ID and a block ID in series) is set to a numerical value, and the remainder obtained by dividing the numerical value by 4 is obtained as a hash value. Specifically, when MSCP0 and MSCP1 are normal, the exclusive control unit issues a command to MSCP0 for shared resources with a hash value of 0 or 1, and issues a command to MSCP1 for shared resources with a hash value of 2 or 3. When MSCP0 fails and MSCP1 and MSCP2 are operating, the exclusive control unit issues a command to MSCP2 for shared resources with a hash value of 0 or 1, and issues a command to MSCP1 for shared resources with a hash value of 2 or 3. When MSCP1 fails and MSCP0 and MSCP2 are operating, the exclusive control unit issues a command to MSCP0 for shared resources with a hash value of 0 or 1, and issues a command to MSCP2 for shared resources with a hash value of 2 or 3.

図12Cは、MSCP0故障時のMSCPサブシステムの復元状態を示す。MSCP0が故障した場合、MSCP1のロックデータテーブルAに保存されたロックデータに基づいて、故障したMSCP0の排他制御テーブルAをMSCP1上に復元し、またMSCP2のロックデータテーブルBに保存されたロックデータに基づいて、MSCP1の排他制御テーブルBをMSCP2上に復元する。そして、故障したMSCP0をシステムから切り離し、MSCP1、2の2台を使ってシステムの運用を継続する。 FIG. 12C shows the restored state of the MSCP subsystem upon MSCP0 failure. When MSCP0 fails, the exclusive control table A of the failed MSCP0 is restored on MSCP1 based on the lock data saved in the lock data table A of MSCP1, and the exclusive control table B of MSCP1 is restored on MSCP2 based on the lock data saved in the lock data table B of MSCP2. Then, the failed MSCP0 is separated from the system, and the two MSCP1 and 2 are used to continue the operation of the system.

図12Dは、MSCP1故障時のMSCPサブシステムの復元状態を示す。MSCP1が故障した場合、MSCP2のロックデータテーブルBに保存されたロックデータに基づいて、MSCP2上にMSCP1の排他制御テーブルBを復元する。そして、故障したMSCP1をシステムから切り離し、MSCP0、2の2台を使ってシステムの運用を継続する。 FIG. 12D shows the restored state of the MSCP subsystem upon MSCP1 failure. When MSCP1 fails, the exclusive control table B of MSCP1 is restored on MSCP2 based on the lock data saved in the lock data table B of MSCP2. Then, the failed MSCP1 is separated from the system, and the two MSCP0 and 2 are used to continue the operation of the system.

図13Aは、MSCPサブシステムの他の例を示す。この例では、MSCPは、MSCP0、MSCP1、MSCP2の合計3台存在し、それぞれのMSCPは第1の実施形態における稼働系MSCP4および待機系MSCP5の両方の動作を行っている。 FIG. 13A shows another example of the MSCP subsystem. In this example, there are a total of three MSCPs, MSCP0, MSCP1, and MSCP2, and each MSCP operates as both the active MSCP4 and the standby MSCP5 in the first embodiment.

具体的には、MSCP0は、ホスト1、2から発行されたロックコマンド、アンロックコマンドに従って排他制御を実施して排他制御テーブルAを更新し、またロックデータをMSCP0の待機系であるMSCP1、MSCP2に対して送信している。またMSCP1は、ホスト1、2から発行されたロックコマンド、アンロックコマンドに従って排他制御を実施して排他制御テーブルBを更新し、またロックデータをMSCP1の待機系であるMSCP0、MSCP2に対して送信している。またMSCP2は、ホスト1、2から発行されたロックコマンド、アンロックコマンドに従って排他制御を実施して排他制御テーブルCを更新し、またロックデータをMSCP2の待機系であるMSCP0、1に対して送信している。さらにMSCP0は、MSCP1およびMSCP2から受信したロックデータをロックデータテーブルB、Cに保存している。またMSCP1は、MSCP0およびMSCP2から受信したロックデータをロックデータテーブルA、Bに保存している。またMSCP2は、MSCP0およびMSCP1から受信したロックデータをロックデータテーブルA、Bに保存している。なお、MSCP0、MSCP1、MSCP2のロックデータ送信部413には、ロックデータの送り先となるMSCPの情報が事前に設定されている。 Specifically, MSCP0 executes exclusive control according to lock commands and unlock commands issued from hosts 1 and 2, updates exclusive control table A, and transmits lock data to MSCP1 and MSCP2, which are standby systems of MSCP0. MSCP1 also executes exclusive control according to the lock and unlock commands issued from hosts 1 and 2, updates exclusive control table B, and transmits lock data to MSCP0 and MSCP2, which are standby systems of MSCP1. MSCP2 also executes exclusive control according to the lock and unlock commands issued from hosts 1 and 2, updates exclusive control table C, and transmits lock data to MSCP0 and 1, which are standby systems of MSCP2. Further, MSCP0 stores the lock data received from MSCP1 and MSCP2 in lock data tables B and C. FIG. MSCP1 also stores the lock data received from MSCP0 and MSCP2 in lock data tables A and B. FIG. MSCP2 also stores the lock data received from MSCP0 and MSCP1 in lock data tables A and B. FIG. Information on the MSCP to which the lock data is sent is set in advance in the lock data transmission units 413 of MSCP0, MSCP1, and MSCP2.

図13Bは、複数のホスト1、2の排他制御部がロックコマンドを何れのMSCPに対して発行するかを決定するための制御情報の一例を示す。この制御情報は各ホスト1,2に事前に記憶されている。この例では、共用資源の識別情報を数値として、その数値を6で割った余りをハッシュ値として求め、そのハッシュ値に対応して予め定められたMSCPをコマンド発行先MSCPとしている。具体的には、MSCP0、MSCP1、MSCP2の全てが正常な場合、排他制御部は、ハッシュ値が0または1の共用資源についてはMSCP0に対してコマンドを発行し、ハッシュ値が2または3の共用資源についてはMSCP1に対してコマンドを発行し、ハッシュ値が4または5の共用資源についてはMSCP2に対してコマンドを発行する。また、MSCP0が故障してMSCP1とMSCP2とが動作している場合、排他制御部は、ハッシュ値が0、2、または3の共用資源についてはMSCP1に対してコマンドを発行し、ハッシュ値が1、4、または5の共用資源についてはMSCP2に対してコマンドを発行する。また、MSCP1が故障してMSCP0とMSCP2とが動作している場合、排他制御部は、ハッシュ値が0、1、または2の共用資源についてはMSCP0に対してコマンドを発行し、ハッシュ値が3、4、または5の共用資源についてはMSCP2に対してコマンドを発行する。また、MSCP2が故障してMSCP0とMSCP1とが動作している場合、排他制御部は、ハッシュ値が0、1、または4の共用資源についてはMSCP0に対してコマンドを発行し、ハッシュ値が2、3、または5の共用資源についてはMSCP1に対してコマンドを発行する。 FIG. 13B shows an example of control information for determining to which MSCP the exclusive control units of the hosts 1 and 2 issue the lock command. This control information is stored in each host 1, 2 in advance. In this example, the identification information of the shared resource is set to a numerical value, and the remainder obtained by dividing the numerical value by 6 is obtained as a hash value. Specifically, when all of MSCP0, MSCP1, and MSCP2 are normal, the exclusive control unit issues commands to MSCP0 for shared resources with a hash value of 0 or 1, to MSCP1 for shared resources with a hash value of 2 or 3, and to MSCP2 for shared resources with a hash value of 4 or 5. When MSCP0 fails and MSCP1 and MSCP2 are operating, the exclusive control unit issues commands to MSCP1 for shared resources with hash values of 0, 2, or 3, and issues commands to MSCP2 for shared resources with hash values of 1, 4, or 5. When MSCP1 fails and MSCP0 and MSCP2 are operating, the exclusive control unit issues commands to MSCP0 for shared resources with hash values of 0, 1, or 2, and issues commands to MSCP2 for shared resources with hash values of 3, 4, or 5. When MSCP2 fails and MSCP0 and MSCP1 are operating, the exclusive control unit issues commands to MSCP0 for shared resources with hash values of 0, 1, or 4, and issues commands to MSCP1 for shared resources with hash values of 2, 3, or 5.

図13Cは、MSCP0故障時のMSCPサブシステムの復元状態を示す。MSCP0が故障した場合、ホスト1のMSCPリリーフ制御部118は、図13Bに示した制御情報を参照して、故障したMSCP0の代わりに使用するMSCP1、MSCP2が受け持つ共用資源を決定する。図13Bを参照すると、MSCP0故障時、ハッシュ値0の共用資源をMSCP1が受け持ち、ハッシュ値1の共用資源をMSCP2が受け持つように定められている。ホスト1のMSCPリリーフ制御部118は、図5のステップS139においてホスト2のMSCPリリーフ制御部218に対して不足ロックデータ送信要求を送信する際、故障したMSCP0の代わりに使用するMSCP1、MSCP2が受け持つ共用資源に係る上記決定情報を添付する。そして、MSCPリリーフ制御部118は、ロックデータテーブル122中の不足ロックデータのうち、ハッシュ値0の共用資源に係るロックデータをMSCP0の排他制御テーブル復元用の不足ロックデータとしてMSCP1へ送信し、ハッシュ値1の共用資源に係るロックデータをMSCP1の排他制御テーブル復元用の不足ロックデータとしてMSCP2へ送信する。またホスト1のMSCPリリーフ制御部118は、図5のステップS143では、ロックデータテーブル222中の不足ロックデータのうち、ハッシュ値0の共用資源に係るロックデータをMSCP0の排他制御テーブル復元用の不足ロックデータとしてMSCP1へ送信し、ハッシュ値1の共用資源に係るロックデータをMSCP1の排他制御テーブル復元用の不足ロックデータとしてMSCP2へ送信する。 FIG. 13C shows the restored state of the MSCP subsystem upon MSCP0 failure. When MSCP0 fails, the MSCP relief control unit 118 of the host 1 refers to the control information shown in FIG. 13B to determine the shared resources to be used by MSCP1 and MSCP2 instead of the failed MSCP0. Referring to FIG. 13B, when MSCP0 fails, MSCP1 is in charge of the shared resource with hash value 0, and MSCP2 is in charge of the shared resource with hash value 1. FIG. When the MSCP relief control unit 118 of the host 1 transmits the insufficient lock data transmission request to the MSCP relief control unit 218 of the host 2 in step S139 of FIG. Then, the MSCP relief control unit 118 transmits lock data related to the shared resource with a hash value of 0 among the insufficient lock data in the lock data table 122 to MSCP1 as insufficient lock data for restoring the exclusive control table of MSCP0, and transmits lock data related to the shared resource with a hash value of 1 to MSCP2 as insufficient lock data for restoring the exclusive control table of MSCP1. Further, in step S143 of FIG. 5, the MSCP relief control unit 118 of the host 1 transmits lock data related to the shared resource with a hash value of 0 out of the missing lock data in the lock data table 222 to MSCP1 as missing lock data for restoring the exclusive control table of MSCP0, and transmits lock data related to the shared resource with a hash value of 1 to MSCP2 as missing lock data for restoring the exclusive control table of MSCP1.

またホスト1のMSCPリリーフ制御部118は、図5のステップS147では、ハッシュ値0の共用資源に限定する指示を添えたMSCP0排他情報再生要求をMSCP1へ送信し、またハッシュ値1の共用資源に限定する指示を添えたMSCP0排他情報再生要求をMSCP2へ送信する。MSCP1の排他制御テーブル再生部516は、MSCP1のロックデータテーブルAに保存されたロックデータ中のハッシュ値0の共用資源に係るロックデータに基づいて、故障したMSCP0の排他制御テーブルAの一部である排他制御テーブルA1をMSCP1上に復元する。またMSCP2の排他制御テーブル再生部516は、MSCP2のロックデータテーブルAに保存されたロックデータ中のハッシュ値1の共用資源に係るロックデータに基づいて、故障したMSCP0の排他制御テーブルAの残りの部分である排他制御テーブルA2を復元する。その後、故障したMSCP0がシステムから切り離され、MSCP1、2の2台を使ってシステムの運用が継続される。このとき、MSCP1では、排他制御テーブルA1、Bを使用し、MSCP2では、排他制御テーブルA2、Cを使用する。 Also, in step S147 of FIG. 5, the MSCP relief control unit 118 of the host 1 transmits to MSCP1 an MSCP0 exclusion information reproduction request with an instruction to limit to the shared resource with a hash value of 0, and also transmits an MSCP0 exclusion information reproduction request with an instruction to limit to the shared resource with a hash value of 1 to MSCP2. The exclusive control table reproducing unit 516 of MSCP1 restores the exclusive control table A1, which is a part of the exclusive control table A of the failed MSCP0, on the MSCP1 based on the lock data related to the shared resource with the hash value 0 in the lock data stored in the lock data table A of MSCP1. Also, the exclusive control table reproducing unit 516 of MSCP2 restores the exclusive control table A2, which is the remaining part of the exclusive control table A of the failed MSCP0, based on the lock data related to the shared resource with the hash value 1 in the lock data stored in the lock data table A of MSCP2. After that, the failed MSCP0 is disconnected from the system, and the system continues to operate using the two MSCP1 and 2 units. At this time, MSCP1 uses exclusive control tables A1 and B, and MSCP2 uses exclusive control tables A2 and C.

図13Dは、MSCP1故障時のMSCPサブシステムの復元状態を示す。MSCP1が故障した場合、MSCP0故障時と同様のMSCPリリーフ動作が行われることにより、MSCP0のロックデータテーブルBに保存されたロックデータに基づいて、故障したMSCP1の排他制御テーブルBの一部である排他制御テーブルB1がMSCP0上に復元され、またMSCP2のロックデータテーブルBに保存されたロックデータに基づいて、故障したMSCP1の排他制御テーブルBの残りの部分である排他制御テーブルB2が復元される。そして、故障したMSCP1がシステムから切り離され、MSCP0、2の2台を使ってシステムの運用が継続される。 FIG. 13D shows the restored state of the MSCP subsystem upon MSCP1 failure. When MSCP1 fails, the same MSCP relief operation as in the case of MSCP0 failure is performed to restore exclusive control table B1, which is part of exclusive control table B of failed MSCP1, on MSCP0 based on the lock data saved in lock data table B of MSCP0, and restore exclusive control table B2, which is the remaining part of exclusive control table B of failed MSCP1, based on the lock data saved in lock data table B of MSCP2. Then, the failed MSCP1 is separated from the system, and the system operation is continued using the two MSCP0 and 2.

図13Eは、MSCP2故障時のMSCPサブシステムの復元状態を示す。MSCP2が故障した場合、MSCP0故障時と同様のMSCPリリーフ動作が行われることにより、MSCP0のロックデータテーブルCに保存されたロックデータに基づいて、故障したMSCP2の排他制御テーブルCの一部である排他制御テーブルC1がMSCP0上に復元され、またMSCP1のロックデータテーブルCに保存されたロックデータに基づいて、故障したMSCP2の排他制御テーブルCの残りの部分である排他制御テーブルC2が復元される。そして、故障したMSCP2がシステムから切り離し、MSCP0、1の2台を使ってシステムの運用が継続される。 FIG. 13E shows the restored state of the MSCP subsystem upon MSCP2 failure. When MSCP2 fails, the same MSCP relief operation as in the case of MSCP0 failure is performed to restore the exclusive control table C1, which is a part of the exclusive control table C of the failed MSCP2, on MSCP0 based on the lock data saved in the lock data table C of MSCP0, and restore the exclusive control table C2, which is the remaining part of the exclusive control table C of the failed MSCP2, based on the lock data saved in the lock data table C of MSCP1. Then, the failed MSCP2 is separated from the system, and the system operation is continued using the two MSCP0 and MSCP1.

排他制御テーブルA1、A2、B1、B2、C1、C2を復元する方法について、排他制御テーブルA1を例にしてより詳細に説明する。 A method for restoring the exclusive control tables A1, A2, B1, B2, C1, and C2 will be described in more detail using the exclusive control table A1 as an example.

ホスト1のMSCPリリーフ制御部118は、図5のステップS140において、先ず、ロックデータテーブル122に保存されているロックデータのうち、MSCP1がMSCP0から最後に受信したロックデータに含まれる通番(受信完了通番)以降の通番を含むロックデータを全て取得する。この取得したロックデータに係る共用資源は、その識別情報のハッシュ値が0または1の何れかである。次にMSCPリリーフ制御部118は、上記取得したロックデータのうち、共用資源の識別情報のハッシュ値が0となるロックデータのみを不足ロックデータとして取得し、MSCP0排他制御テーブル復元用の不足ロックデータとしてMSCP1へ送信する。またホスト2のMSCPリリーフ制御部218は、図5のステップS143において、先ず、ロックデータテーブル222に保存されているロックデータのうち、MSCP1がMSCP0から最後に受信したロックデータに含まれる通番(受信完了通番)以降の通番を含むロックデータを全て取得する。この取得したロックデータに係る共用資源は、その識別情報のハッシュ値が0または1の何れかである。次にMSCPリリーフ制御部218は、上記取得したロックデータのうち、共用資源の識別情報のハッシュ値が0となるロックデータのみをMSCP0排他制御テーブル復元用の不足ロックデータとして取得し、MSCP1へ送信する。 In step S140 of FIG. 5, the MSCP relief control unit 118 of the host 1 first acquires all of the lock data stored in the lock data table 122 that includes serial numbers (reception completion serial numbers) and subsequent numbers contained in the lock data lastly received by MSCP1 from MSCP0. The shared resource associated with the acquired lock data has a hash value of either 0 or 1 for its identification information. Next, the MSCP relief control unit 118 acquires only the lock data whose hash value of the identification information of the shared resource is 0 among the acquired lock data as insufficient lock data, and transmits it to MSCP1 as insufficient lock data for restoring the MSCP0 exclusion control table. Also, in step S143 of FIG. 5, the MSCP relief control unit 218 of the host 2 first acquires all lock data including a serial number (reception completion serial number) and subsequent numbers included in the lock data lastly received by MSCP1 from MSCP0, among the lock data stored in the lock data table 222. The shared resource associated with the acquired lock data has a hash value of either 0 or 1 for its identification information. Next, the MSCP relief control unit 218 acquires only the lock data whose shared resource identification information has a hash value of 0 from the acquired lock data as missing lock data for restoring the MSCP0 exclusive control table, and transmits it to MSCP1.

MSCP1のロックデータ受信部515は、図5のステップS145において、ホスト1、2から送信された上記不足ロックデータを受信してロックデータテーブルAに保存する。またMSCP1の排他制御テーブル再生部516は、図5のステップS149において、ロックデータテーブルAに保存されたロックデータに基づいて、故障したMSCP0の排他制御テーブルAのうち、ハッシュ値が0となる識別情報の共用資源に係る排他制御テーブルA1を再生する。具体的には、ロックデータテーブルAに保存されているロックデータのうち、ハッシュ値が0となる識別情報の共用資源に係るロックデータに基づいて排他制御テーブルを再生する。 The lock data receiving unit 515 of the MSCP 1 receives the insufficient lock data transmitted from the hosts 1 and 2 and stores it in the lock data table A in step S145 of FIG. 5, based on the lock data stored in the lock data table A, the exclusion control table reproduction unit 516 of MSCP1 reproduces the exclusion control table A1 related to the shared resource of the identification information whose hash value is 0 among the exclusion control tables A of the failed MSCP0. Specifically, among the lock data stored in the lock data table A, the exclusive control table is regenerated based on the lock data related to the shared resource of the identification information whose hash value is 0.

排他制御テーブルA2は、ハッシュ値が1となる識別情報の共用資源に係るロックデータに基づいて再生されるテーブルである。排他制御テーブルB1は、ハッシュ値が2となる識別情報の共用資源に係るロックデータに基づいて再生されるテーブルである。排他制御テーブルB2は、ハッシュ値が3となる識別情報の共用資源に係るロックデータに基づいて再生されるテーブルである。排他制御テーブルC1は、ハッシュ値が4となる識別情報の共用資源に係るロックデータに基づいて再生されるテーブルである。排他制御テーブルC2は、ハッシュ値が5となる識別情報の共用資源に係るロックデータに基づいて再生されるテーブルである。これらの排他制御テーブルA2、B1、B2、C1、C2の再生方法は、排他制御テーブルA1の再生方法と同様であるため、その詳細な説明は省略する。 The exclusive control table A2 is a table that is reproduced based on the lock data related to the shared resource of the identification information whose hash value is 1. The exclusive control table B1 is a table reproduced based on the lock data related to the shared resource of the identification information with the hash value of 2. The exclusive control table B2 is a table reproduced based on the lock data related to the shared resource of the identification information whose hash value is 3. The exclusive control table C1 is a table that is reproduced based on the lock data related to the shared resource of the identification information with the hash value of 4. The exclusive control table C2 is a table that is reproduced based on the lock data related to the shared resource of the identification information with the hash value of 5. Since the reproduction method of these exclusive control tables A2, B1, B2, C1, and C2 is the same as the reproduction method of the exclusive control table A1, detailed description thereof will be omitted.

図13A~図13Eを参照して説明したように、稼働系MSCP(例えばMSCP0)に対して複数の待機系MSCP(例えばMSCP1、MSCP2)を備えた疎結合システムにおいて、稼働系MSCP0は、ロックデータをそれぞれの待機系MSCP1、2に送信し、稼働系MSCP0が故障した場合、それぞれのホスト1、2は、故障した稼働系MSCP0の代わりに使用する複数の待機系MSCP1,2それぞれが受け持つ共用資源を決定し、待機系MSCP1、2毎に、ホスト側のロックデータのうち待機系MSCP1、2が稼働系MSCPから受信したロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系MSCP1、2が受け持つ共用資源に係るロックデータを待機系MSCP1,2へ送信し、それぞれの待機系MSCP1、2は、稼働系MSCP0から受信したロックデータとそれぞれのホスト1、2から受信したロックデータとに基づいて、故障した稼働系MSCP0の排他制御テーブルAのうち当該待機系MSCP1,2が受け持つ共用資源に係る排他制御テーブルA1、A2を再生する。このようにすることによって、稼働系MSCP0故障時に、その排他制御テーブルA全体を1つの待機系MSCP(例えばMSCP1)に再生する場合に比べて、排他制御テーブル再生処理の負荷が特定のMSCPに集中するのを防止でき、また運用再開後にロックもしくはアンロックに係る排他制御処理の負荷が特定のMSCPに集中するのを防止することができる。 As described with reference to FIGS. 13A-13E, in a loosely coupled system with multiple standby MSCPs (eg, MSCP1, MSCP2) to an active MSCP (eg, MSCP0), the active MSCP0 sends lock data to the respective standby MSCP1,2, and if the active MSCP0 fails, the respective hosts 1,2 determine the shared resources each of the multiple standby MSCPs1,2 will use in place of the failed active MSCP0. Each of the standby MSCPs 1 and 2 transmits to the standby MSCPs 1 and 2, of the lock data on the host side, lock data having serial numbers after the latest serial number included in the lock data received from the active MSCP by the standby MSCPs 1 and 2 and related to the shared resources that the standby MSCPs 1 and 2 are in charge of, and each of the standby MSCPs 1 and 2 transmits to the standby MSCPs 1 and 2 based on the lock data received from the active system MSCP 0 and the lock data received from the respective hosts 1 and 2, the failed active MSCP. 0 of the exclusive control table A, the exclusive control tables A1 and A2 related to the shared resources handled by the standby MSCP 1 and 2 are reproduced. By doing so, when the active system MSCP0 fails, the load of the exclusive control table reproduction process can be prevented from being concentrated on a specific MSCP, and the load of the exclusive control process related to locking or unlocking can be prevented from being concentrated on the specific MSCP after the restart of the operation, compared to the case where the entire exclusive control table A is reproduced in one standby system MSCP (for example, MSCP1).

[第4の実施形態]
次に本発明の第4の実施形態に係る疎結合システム400について説明する。図14を参照すると、疎結合システム400は、複数のホスト401と、複数のホスト401で共用する共用資源402と、稼働系MSCP403と、待機系MSCP404と、を備えている。
[Fourth embodiment]
Next, a loosely coupled system 400 according to a fourth embodiment of the invention will be described. Referring to FIG. 14, the loosely coupled system 400 comprises a plurality of hosts 401 , a shared resource 402 shared by the plurality of hosts 401 , an active MSCP 403 and a standby MSCP 404 .

稼働系MSCP403は、それぞれのホスト401から送信された共用資源402をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元のホスト401に送信するように構成されている。また稼働系MSCP403は、上記コマンドと上記コマンド実行結果とを含む装置側ロックデータを待機系MSCP404に送信するように構成されている。 The active MSCP 403 is configured to perform exclusive processing in accordance with commands for locking or unlocking the shared resource 402 sent from each host 401 and to send command execution results to the host 401 that is the sender. The active MSCP 403 is also configured to transmit device-side lock data including the above command and the command execution result to the standby MSCP 404 .

待機系MSCP404は、稼働系MSCP403から装置側ロックデータを受信するように構成されている。また待機系MSCP404は、稼働系MSCP403が故障した場合、稼働系MSCP403から受信した装置側ロックデータに基づいて、故障した稼働系MSCP403の排他制御情報を再生するように構成されている。 The standby MSCP 404 is configured to receive device-side lock data from the active MSCP 403 . The standby MSCP 404 is configured to reproduce the exclusive control information of the failed active MSCP 403 based on the device-side lock data received from the active MSCP 403 when the active MSCP 403 fails.

このように構成された疎結合システム400は、以下のように機能する。即ち、稼働系MSCP403は、それぞれのホスト401から送信された共用資源402をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元のホスト401に送信し、また上記コマンドと上記コマンド実行結果とを含む装置側ロックデータを待機系MSCP404に送信する。待機系MSCP404は、稼働系MSCP403から装置側ロックデータを受信し、稼働系MSCP403が故障した場合、稼働系MSCP403から受信した装置側ロックデータに基づいて、故障した稼働系MSCP403の排他制御情報を再生する。 The loosely coupled system 400 configured in this way functions as follows. That is, the active MSCP 403 performs exclusive processing according to the command to lock or unlock the shared resource 402 transmitted from each host 401, transmits the command execution result to the transmission source host 401, and transmits device-side lock data including the command and the command execution result to the standby MSCP 404. The standby MSCP 404 receives device-side lock data from the active MSCP 403 , and when the active MSCP 403 fails, reproduces the exclusive control information of the failed active MSCP 403 based on the device-side lock data received from the active MSCP 403 .

このように本実施形態によれば、複数のホストと複数のMSCPとの接続形態による制約を受けずに、故障した稼働系MSCPが保持していた排他制御情報を待機系MSCPに速やかに再生することができる。その理由は、稼働系MSCP403は、それぞれのホスト401から送信された共用資源402をロックもしくはアンロックするコマンドに従って排他処理を行い、上記コマンドと上記コマンド実行結果とを含む装置側ロックデータを待機系MSCP404に送信し、待機系MSCP404は、稼働系MSCP403から装置側ロックデータを受信し、稼働系MSCP403が故障した場合、稼働系MSCP403から受信した装置側ロックデータに基づいて、故障した稼働系MSCP403の排他制御情報を再生するためである。 As described above, according to the present embodiment, exclusive control information held by a failed working MSCP can be quickly reproduced in a standby MSCP without being restricted by connection modes between multiple hosts and multiple MSCPs. The reason for this is that the active MSCP 403 performs exclusive processing according to the command to lock or unlock the shared resource 402 transmitted from each host 401, transmits the device-side lock data including the command and the command execution result to the standby MSCP 404, and the standby MSCP 404 receives the device-side lock data from the active MSCP 403, and if the active MSCP 403 fails, based on the device-side lock data received from the active MSCP 403, This is for reproducing the exclusive control information of the active system MSCP 403 that has failed.

以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。 Although the present invention has been described with reference to the above-described embodiments, the present invention is not limited to the above-described embodiments. Various changes can be made to the configuration and details of the present invention within the scope of the present invention that can be understood by those skilled in the art.

本発明は、複数のホスト間で共用される共用資源を、MSCPを用いて排他制御しながら複数の処理を行う疎結合システムに利用できる。 INDUSTRIAL APPLICABILITY The present invention can be used in a loosely coupled system in which shared resources shared among a plurality of hosts are subjected to exclusive control using MSCP while performing a plurality of processes.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、
前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
前記待機系排他制御装置は、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
疎結合システム。
[付記2]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、
前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、
前記待機系排他制御装置は、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
疎結合システム。
[付記3]
前記待機系排他制御装置を複数備え、
前記稼働系排他制御装置は、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
付記2に記載の疎結合システム。
[付記4]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備えた疎結合システムが実行するリカバリ方法であって、
前記稼働系排他制御装置が、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
前記待機系排他制御装置が、前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
リカバリ方法。
[付記5]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備えた疎結合システムが実行するリカバリ方法であって、
前記稼働系排他制御装置が、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
それぞれの前記ホストが、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、
前記待機系排他制御装置が、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストが、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、前記待機系排他制御装置が、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
リカバリ方法。
[付記6]
前記疎結合システムは、前記待機系排他制御装置を複数備え、
前記稼働系排他制御装置が、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストが、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置が、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
付記5に記載のリカバリ方法。
[付記7]
複数のホストと前記複数のホストで共用する共用資源と稼働系排他制御装置と待機系排他制御装置とを備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信する手段と、
前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備える待機系排他制御装置。
[付記8]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する手段と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備える待機系排他制御装置。
[付記9]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、複数の待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを複数の前記待機系排他制御装置のそれぞれに送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する手段と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備える待機系排他制御装置。
[付記10]
複数のホストと前記複数のホストで共用する共用資源と稼働系排他制御装置と待機系排他制御装置とを備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果とを含む装置側ロックデータを前記待機系排他制御装置に送信する、疎結合システムにおける前記待機系排他制御装置を構成するコンピュータに、
前記稼働系排他制御装置から前記装置側ロックデータを受信する処理と、
前記稼働系排他制御装置が故障した場合、前記稼働系排他制御装置から受信した前記装置側ロックデータに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する処理と、
を行わせるためのプログラム。
[付記11]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置を構成するコンピュータに、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する処理と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する処理と、
を行わせるためのプログラム。
[付記12]
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、複数の待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを複数の前記待機系排他制御装置のそれぞれに送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置を構成するコンピュータに、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する処理と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する処理と、
を行わせるためのプログラム。
Some or all of the above embodiments may also be described in the following additional remarks, but are not limited to the following.
[Appendix 1]
a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device;
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the transmission source host, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device;
The standby exclusive control device receives the device-side lock data from the active exclusive control device,
When the active exclusive control device fails, the standby exclusive control device reproduces the exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device.
Loosely coupled system.
[Appendix 2]
a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device;
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the transmission source host, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device;
each of the hosts holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number;
The standby exclusive control device receives the device-side lock data from the active exclusive control device,
When the active exclusive control device fails, each of the hosts transmits to the standby exclusive control device the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device, among the host-side lock data. regenerate exclusive control information,
Loosely coupled system.
[Appendix 3]
comprising a plurality of the standby exclusive control devices;
The active exclusive control device transmits the device-side lock data to each of the standby exclusive control devices,
When the active exclusive control device fails, each of the hosts determines the shared resources to be handled by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device, and waits for each of the standby exclusive control devices the host-side locked data having a serial number after the newest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device and related to the shared resource handled by the standby exclusive control device. each of the standby exclusive control devices, based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts, among the exclusive control information of the failed active exclusive control device, reproduces the exclusive control information related to the shared resource that the standby exclusive control device is in charge of.
The loosely coupled system of clause 2.
[Appendix 4]
A recovery method executed by a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device,
The active exclusive control device performs exclusive processing according to commands for locking or unlocking the shared resource transmitted from each of the hosts, transmits command execution results to the transmission source host, and transmits device-side lock data including the commands and the command execution results to the standby exclusive control device;
When the standby exclusive control device receives the device-side lock data from the working exclusive control device and the working exclusive control device fails, the exclusive control information of the failed working exclusive control device is reproduced based on the device-side lock data received from the working exclusive control device.
recovery method.
[Appendix 5]
A recovery method executed by a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device,
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the transmission source host, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device;
each of the hosts holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number;
the standby exclusive control device receives the device-side lock data from the active exclusive control device;
When the active exclusive control device fails, each of the hosts transmits to the standby exclusive control device the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device, and the standby exclusive control device determines the status of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts. regenerate exclusive control information,
recovery method.
[Appendix 6]
The loosely coupled system includes a plurality of the standby exclusive control devices,
the active exclusive control device transmits the device-side lock data to each of the standby exclusive control devices;
When the active exclusive control device fails, each of the hosts determines the shared resource to be handled by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device, and waits for each of the standby exclusive control devices the host-side locked data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device and related to the shared resource handled by the standby exclusive control device. each of the standby exclusive control devices, based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts, among the exclusive control information of the failed active exclusive control device, reproduces the exclusive control information related to the shared resource handled by the standby exclusive control device;
The recovery method described in Supplementary Note 5.
[Appendix 7]
A standby exclusive control device in a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the host as a transmission source, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device,
means for receiving the device-side lock data from the active exclusive control device;
means for, when the active exclusive control device fails, reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device;
Standby system exclusive control device.
[Appendix 8]
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device are provided, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device, The host holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number, and when the active exclusive control device fails, the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device among the host-side lock data is transmitted to the standby exclusive control device, wherein the host-side lock data is transmitted to the standby exclusive control device. ,
means for receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
means for reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
Standby system exclusive control device.
[Appendix 9]
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a plurality of standby exclusive control devices, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and sends device-side lock data including the command, the command execution result, and the serial number to each of the plurality of standby exclusive control devices. each host retains host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number; when the active exclusive control device fails, each of the hosts determines the shared resource to be used by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device; said standby exclusive control device in a loosely coupled system, which transmits to said standby exclusive control device said host side lock data having a serial number subsequent to the latest serial number included in said device side lock data received from said system exclusive control device and related to said shared resource that said standby exclusive control device is in charge of, said standby exclusive control device comprising:
means for receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
means for reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
Standby system exclusive control device.
[Appendix 10]
A computer that constitutes the standby exclusive control device in a loosely coupled system, comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result to the host that is the transmission source, and transmits device-side lock data including the command and the command execution result to the standby exclusive control device.
a process of receiving the device-side lock data from the active exclusive control device;
a process of reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device when the active exclusive control device fails;
A program to make the
[Appendix 11]
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device are provided, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device, The host configures the standby exclusive control device in a loosely coupled system, wherein host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number are included, and when the active exclusive control device fails, the host-side lock data having serial numbers after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device among the host-side lock data are transmitted to the standby exclusive control device. on the computer that
a process of receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
a process of reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
A program to make the
[Appendix 12]
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a plurality of standby exclusive control devices are provided, wherein the active exclusive control devices perform exclusive processing according to commands for locking or unlocking the shared resources transmitted from the respective hosts, transmit command execution results and serial numbers assigned to the command execution results to the transmission source host, and transmit device-side lock data including the commands, the command execution results, and the serial numbers to each of the plurality of standby exclusive control devices. each host retains host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number; when the active exclusive control device fails, each of the hosts determines the shared resource to be used by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device; A computer constituting the standby exclusive control device in a loosely coupled system, which transmits to the standby exclusive control device the host side lock data having a serial number after the latest serial number included in the device side lock data received from the system exclusive control device and related to the shared resource that the standby exclusive control device is in charge of,
a process of receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
a process of reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
A program to make the

1…ホスト
2…ホスト
3…共用資源
4…稼働系MSCP
5…待機系MSCP
1 --- Host 2 --- Host 3 --- Shared resource 4 --- Active MSCP
5 Standby system MSCP

Claims (7)

複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、
前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、
前記待機系排他制御装置は、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
疎結合システム。
a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device;
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the transmission source host, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device;
each of the hosts holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number;
The standby exclusive control device receives the device-side lock data from the active exclusive control device,
When the active exclusive control device fails, each of the hosts transmits to the standby exclusive control device the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device, among the host-side lock data. regenerate exclusive control information,
Loosely coupled system.
前記待機系排他制御装置を複数備え、
前記稼働系排他制御装置は、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
請求項に記載の疎結合システム。
comprising a plurality of the standby exclusive control devices;
The active exclusive control device transmits the device-side lock data to each of the standby exclusive control devices,
When the active exclusive control device fails, each of the hosts determines the shared resources to be handled by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device, and waits for each of the standby exclusive control devices the host-side locked data having a serial number after the newest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device and related to the shared resource handled by the standby exclusive control device. each of the standby exclusive control devices, based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts, among the exclusive control information of the failed active exclusive control device, reproduces the exclusive control information related to the shared resource that the standby exclusive control device is in charge of.
2. The loosely coupled system of claim 1 .
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備えた疎結合システムが実行するリカバリ方法であって、
前記稼働系排他制御装置が、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、
それぞれの前記ホストが、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、
前記待機系排他制御装置が、前記稼働系排他制御装置から前記装置側ロックデータを受信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストが、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、前記待機系排他制御装置が、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する、
リカバリ方法。
A recovery method executed by a loosely coupled system comprising a plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device,
The active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the transmission source host, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device;
each of the hosts holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number;
the standby exclusive control device receives the device-side lock data from the active exclusive control device;
When the active exclusive control device fails, each of the hosts transmits to the standby exclusive control device the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device, and the standby exclusive control device determines the status of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts. regenerate exclusive control information,
recovery method.
前記疎結合システムは、前記待機系排他制御装置を複数備え、
前記稼働系排他制御装置が、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストが、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置が、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
請求項に記載のリカバリ方法。
The loosely coupled system includes a plurality of the standby exclusive control devices,
the active exclusive control device transmits the device-side lock data to each of the standby exclusive control devices;
When the active exclusive control device fails, each of the hosts determines the shared resource to be handled by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device, and waits for each of the standby exclusive control devices the host-side locked data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device and related to the shared resource handled by the standby exclusive control device. each of the standby exclusive control devices, based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts, among the exclusive control information of the failed active exclusive control device, reproduces the exclusive control information related to the shared resource handled by the standby exclusive control device;
The recovery method according to claim 3 .
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する手段と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備える待機系排他制御装置。
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device are provided, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device, The host holds host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number, and when the active exclusive control device fails, the host-side lock data having a serial number after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device among the host-side lock data is transmitted to the standby exclusive control device, wherein the host-side lock data is transmitted to the standby exclusive control device. ,
means for receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
means for reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
Standby system exclusive control device.
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、複数の待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを複数の前記待機系排他制御装置のそれぞれに送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置であって、
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する手段と、
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する手段と、
を備える待機系排他制御装置。
A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a plurality of standby exclusive control devices, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and sends device-side lock data including the command, the command execution result, and the serial number to each of the plurality of standby exclusive control devices. each host retains host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number; when the active exclusive control device fails, each of the hosts determines the shared resource to be used by each of the plurality of standby exclusive control devices to be used in place of the failed active exclusive control device; said standby exclusive control device in a loosely coupled system, which transmits to said standby exclusive control device said host side lock data having a serial number subsequent to the latest serial number included in said device side lock data received from said system exclusive control device and related to said shared resource that said standby exclusive control device is in charge of, said standby exclusive control device comprising:
means for receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
means for reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
Standby system exclusive control device.
複数のホストと、前記複数のホストで共用する共用資源と、稼働系排他制御装置と、待機系排他制御装置と、を備え、前記稼働系排他制御装置は、それぞれの前記ホストから送信された前記共用資源をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果と該コマンド実行結果に付与した通番とを送信元の前記ホストに送信し、且つ、前記コマンドと前記コマンド実行結果と前記通番とを含む装置側ロックデータを前記待機系排他制御装置に送信し、それぞれの前記ホストは、前記稼働系排他制御装置に送信した前記コマンドと前記稼働系排他制御装置から受信した前記コマンド実行結果と前記通番とを含むホスト側ロックデータを保持し、前記稼働系排他制御装置が故障した場合、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番の前記ホスト側ロックデータを前記待機系排他制御装置へ送信する、疎結合システムにおける前記待機系排他制御装置を構成するコンピュータに、 A plurality of hosts, a shared resource shared by the plurality of hosts, an active exclusive control device, and a standby exclusive control device are provided, wherein the active exclusive control device performs exclusive processing according to a command for locking or unlocking the shared resource transmitted from each of the hosts, transmits a command execution result and a serial number assigned to the command execution result to the host as a transmission source, and transmits device-side lock data including the command, the command execution result, and the serial number to the standby exclusive control device, The host configures the standby exclusive control device in a loosely coupled system, wherein host-side lock data including the command sent to the active exclusive control device, the command execution result received from the active exclusive control device, and the serial number are included, and when the active exclusive control device fails, the host-side lock data having serial numbers after the latest serial number included in the device-side lock data received by the standby exclusive control device from the active exclusive control device among the host-side lock data are transmitted to the standby exclusive control device. on the computer that
前記稼働系排他制御装置から前記装置側ロックデータを受信し、前記稼働系排他制御装置が故障した場合、それぞれの前記ホストから前記ホスト側ロックデータを受信する処理と、 a process of receiving the device-side lock data from the active exclusive control device, and receiving the host-side lock data from each of the hosts when the active exclusive control device fails;
前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報を再生する処理と、 a process of reproducing exclusive control information of the failed active exclusive control device based on the device-side lock data received from the active exclusive control device and the host-side lock data received from each of the hosts;
を行わせるためのプログラム。A program to make the
JP2019216420A 2019-11-29 2019-11-29 loosely coupled system Active JP7315215B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019216420A JP7315215B2 (en) 2019-11-29 2019-11-29 loosely coupled system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019216420A JP7315215B2 (en) 2019-11-29 2019-11-29 loosely coupled system

Publications (2)

Publication Number Publication Date
JP2021086489A JP2021086489A (en) 2021-06-03
JP7315215B2 true JP7315215B2 (en) 2023-07-26

Family

ID=76087891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019216420A Active JP7315215B2 (en) 2019-11-29 2019-11-29 loosely coupled system

Country Status (1)

Country Link
JP (1) JP7315215B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212280A (en) 2011-03-31 2012-11-01 Nec Corp File system, file system management method and file exclusive control device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212280A (en) 2011-03-31 2012-11-01 Nec Corp File system, file system management method and file exclusive control device

Also Published As

Publication number Publication date
JP2021086489A (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US7685227B2 (en) Message forwarding backup manager in a distributed server system
US7114094B2 (en) Information processing system for judging if backup at secondary site is necessary upon failover
KR101547719B1 (en) Maintaining data integrity in data servers across data centers
JP2948496B2 (en) System and method for maintaining replicated data consistency in a data processing system
KR101801432B1 (en) Providing transparent failover in a file system
JP4204769B2 (en) System and method for handling failover
JP5075736B2 (en) System failure recovery method and system for virtual server
KR101970839B1 (en) Replaying jobs at a secondary location of a service
US6654771B1 (en) Method and system for network data replication
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
JP5444178B2 (en) Backup / restore processing device, backup / restore processing method and program
WO1991014230A1 (en) Message communication processing system
JP2004295540A (en) Method for synchronizing transaction, database system, and database apparatus
JP5292351B2 (en) Message queue management system, lock server, message queue management method, and message queue management program
JPH08212095A (en) Client server control system
KR101605455B1 (en) Method for Replicationing of Redo Log without Data Loss and System Thereof
CN116233146A (en) Techniques to achieve cache coherency across distributed storage clusters
WO2009031156A2 (en) Method and apparatus for grid based data protection
JP7315215B2 (en) loosely coupled system
US20230401337A1 (en) Two person rule enforcement for backup and recovery systems
JP5480046B2 (en) Distributed transaction processing system, apparatus, method and program
JP7315214B2 (en) loosely coupled system
JP2008084264A (en) Network storage computer system, network storage management method, management server, and program for it
TW202424774A (en) Systems and methods for recovery with a distributed lock manager
JP6305078B2 (en) System and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230706

R151 Written notification of patent or utility model registration

Ref document number: 7315215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151