JP7315215B2 - loosely coupled system - Google Patents
loosely coupled system Download PDFInfo
- 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
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
また、複数のホストと複数の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).
しかしながら、第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を参照すると、本発明の第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
共用資源3は、ホスト1,2間で共用する資源(リソース)である。共用資源3は、例えばディスク装置などの記憶装置、或いは記憶装置に記憶されたファイルなどであってよい。
A shared
ホスト1は、オンライン処理やバッチ処理などの業務処理を実行する情報処理装置である。ホスト1は、演算処理部11と記憶部12と入出力装置13とを含んで構成されている。
The
入出力装置13は、キーボードなどの入力装置と、液晶ディスプレイなどの画面表示装置とを含んで構成されている。記憶部12は、ハードディスクやメモリなどの記憶装置からなり、演算処理部11での各種処理に必要な処理情報およびプログラム121を記憶するように構成されている。プログラム121は、演算処理部11に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置13などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部12に保存される。記憶部12で記憶される主な処理情報として、ロックデータテーブル122と受信状況テーブル123がある。
The input/
ロックデータテーブル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
受信状況テーブル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
演算処理部11は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部12からプログラム121を読み込んで実行することにより、上記ハードウェアとプログラム121とを協働させて各種処理部を実現するように構成されている。演算処理部11で実現される主な処理部として、AP(アプリケーションプロセス)111、排他制御部112、I/O制御部113、ロックデータ保持部114、ホスト間通信部115、受信状況問合せ部116、障害検出部117、および、MSCPリリーフ制御部118がある。
The
AP111は、オンライン処理やバッチ処理などの業務処理を実行するように構成されている。AP111は、共用資源3に対してアクセスする前に共用資源3のロックを要求する排他要求(ロック要求)を排他制御部112に対して発行し、ロック成功のコマンド実行結果が排他制御部112から通知された後、共用資源3をアクセスするように構成されている。またAP111は、共用資源3に対するアクセスを終えると、共用資源3のアンロックを要求する排他要求(アンロック要求)を排他制御部112に対して発行するように構成されている。
The
排他制御部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
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/
ロックデータ保持部114は、ロックデータをロックデータテーブル122に保存するように構成されている。例えば、ロックデータ保持部114は、稼働系MSCP4の識別番号とI/O制御部113に対して発行したコマンドのイメージとI/O制御部113から受信したコマンド実行結果と通番とを排他制御部112から通知されると、それらを1つのロックデータとしてロックデータテーブル122に確保した1つの空きエントリに記録する。
The lock
ホスト間通信部115は、ホスト1とホスト2との間の通信を行うように構成されている。本実施形態では、ホスト間通信部115は、MSCP4もしくはMSCP5を介して、ホスト同士でメッセージ通信を行うように構成されている。但し、本発明は、MSCP4、5を使用してホスト間通信を行う構成に限定されない。例えば、図示しない拡張記憶装置などの記憶装置を使用してホスト間通信を行うようにしてもよいし、LANなどのネットワークを通じてホスト間通信を行うようにしてもよい。
The
受信状況問合せ部116は、待機系MSCP5に対して、稼働系MSCP4からのロックデータの受信状況を問合せるように構成されている。また受信状況問合せ部116は、待機系MSCP5から受信状況の問合せ結果を受信すると、受信した問合せ結果に従って、受信状況テーブル123を更新するように構成されている。後述するように、受信状況の問合せ結果には、待機系MSCP5が稼働系MSCP4から最後に受信したロックデータに含まれる通番が含まれている。受信状況問合せ部116は、受信状況の問合せ結果に含まれる通番により、受信状況テーブルの受信完了通番の項目を上書きするように構成されている。
The reception
障害検出部117は、システムの運用中、MSCP4、5の故障(障害)を検出するように構成されている。故障検出手法は任意である。例えば、障害検出部117は、一定周期でMSCP4、5に対して何らかの問合せを行い、その問合せに対して一定時間内にMSCP4、5から応答がなかった場合、MSCP4、5に故障が発生したことを検出してよい。
The
MSCPリリーフ制御部118は、システムの運用中に障害検出部117によって稼働系MSCP4の故障が検出された場合、故障したMSCP4が保持していた排他制御情報を待機系MSCP5に再生した後、待機系MSCP5を新たに稼働系MSCPとして動作させてシステムの運用を継続させるように構成されている。ホスト間の排他制御に使われるMSCPの稼働系障害時に待機系MSCPに切り替えを行うことをMSCPリリーフと呼ぶ。MSCPリリーフ制御部118は、MSCPリリーフの制御を行うように構成されている。
The MSCP
ホスト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
稼働系MSCP4は、通常時に共用資源3の排他制御を実行する情報処理装置である。稼働系MSCP4は、演算処理部41と記憶部42とを含んで構成されている。
The
記憶部42は、ハードディスクやメモリなどの記憶装置からなり、演算処理部41での各種処理に必要な処理情報およびプログラム421を記憶するように構成されている。プログラム421は、演算処理部41に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置(図示せず)などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部42に保存される。記憶部42で記憶される主な処理情報として、排他制御テーブル422と通信領域424とがある。
The
排他制御テーブル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
通信領域424は、ホスト1とホスト2間で稼働系MSCP4を通じて行われるホスト間通信のために共用される通信領域である。
The
演算処理部41は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部42からプログラム421を読み込んで実行することにより、上記ハードウェアとプログラム421とを協働させて各種処理部を実現するように構成されている。演算処理部41で実現される主な処理部として、排他制御部411、通番制御部412、ロックデータ送信部413、および、メッセージ転送部414がある。
The
排他制御部411は、ホスト1,2間で共用される共用資源3の排他制御を、排他制御テーブル422を生成・更新しながら実行するように構成されている。
The
例えば、排他制御部411は、ホスト1、2からロックを要求するコマンドを受信すると、排他制御テーブル422に記録された共用資源のロック状態から、ロック要求された共用資源をロックすることが可能か否かを判定する。ロック可であれば、排他制御部411は、ロックを要求したタスクがその共用資源をロックしている情報を排他制御テーブル422に登録し、ロック要求を行ったホスト上のタスクに対してロック成功のコマンド実行結果と通番制御部412から取得した通番とを送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記ロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。
For example, upon receiving a lock request command from the
ロック不可であれば、排他制御部411は、ロック待ちの情報を排他制御テーブル422に登録し、ロック要求を行ったホスト上のタスクに対してロック待ちのコマンド実行結果と通番制御部412から取得した通番とを送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記ロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。
If the lock is not possible, the
また排他制御部411は、ホスト1,2からアンロックを要求するコマンドを受信すると、アンロック要求に該当するタスクのロック情報を排他制御テーブル422から削除し、アンロック要求を行ったホスト上のタスクに対してアンロック成功のコマンド実行結果と通番制御部412から取得した通番を送信する。また排他制御部411は、稼働系MSCP4の識別情報と上記アンロックを要求するコマンドのイメージと上記実行結果と上記通番とをロックデータ送信部413へ通知する。
Further, upon receiving a command requesting unlocking from the
さらに、アンロックされた共用資源に対してロック待ちしているタスクがあれば、排他制御部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
通番制御部412は、排他制御部411から通番の取得が要求されると、排他制御部411に最後に通知した通番の次の通番を排他制御部411に通知するように構成されている。
The serial
ロックデータ送信部413は、稼働系MSCP4の識別情報とロックもしくはアンロックを要求するコマンドのイメージと当該コマンドの実行結果と通番とが排他制御部411から通知されると、それらを1つのロックデータとして、信号線67を通じて待機系MSCP5へ送信するように構成されている。またロックデータ送信部413は、稼働系MSCP4の識別情報とアテンション通知とが排他制御部411から通知されると、それらを1つのロックデータとして、信号線67を通じて待機系MSCP5へ送信するように構成されている。ロックデータ送信部413は、1つのロックデータが発生する毎に、その発生したロックデータを、信号線67を通じて待機系MSCP5へ送信するように構成されていてよい。或いはロックデータ送信部413は、発生したロックデータを送信バッファに蓄積し、蓄積量が閾値を超えるか、或いは最も過去に蓄積したロックデータの蓄積時刻からの経過時間が一定時間を超えると、送信バッファに蓄積された全てのロックデータを、信号線67を通じて一括して待機系MSCP5へ送信するように構成されていてよい。
When the
メッセージ転送部414は、稼働系MSCP4を通じて行われるホスト間通信のメッセージの転送を行うように構成されている。例えば、メッセージ転送部414は、信号線62を通じてホスト1から受信したホスト2宛てのメッセージを、通信領域424に一時的に保持し、その後、通信領域424に保持したホスト2宛てのメッセージを、信号線65を通じてホスト2へ送信するように構成されている。またメッセージ転送部414は、信号線65を通じてホスト2から受信したホスト1宛てのメッセージを、通信領域424に一時的に保持し、その後、通信領域424に保持したホスト1宛てのメッセージを、信号線62を通じてホスト1へ送信するように構成されている。
The
待機系MSCP5は、稼働系MSCP4が故障した場合に稼働系MSCP4に代わって共用資源3の排他制御を実行する情報処理装置である。待機系MSCP5は、演算処理部51と記憶部52とを含んで構成されている。
The
記憶部52は、ハードディスクやメモリなどの記憶装置からなり、演算処理部51での各種処理に必要な処理情報およびプログラム521を記憶するように構成されている。プログラム521は、演算処理部51に読み込まれて実行されることにより各種処理部を実現するプログラムであり、入出力装置(図示せず)などのデータ入出力機能を介して外部装置(図示せず)や記録媒体(図示せず)から予め読み込まれて記憶部52に保存される。記憶部52で記憶される主な処理情報として、排他制御テーブル522とロックデータテーブル523と通信領域524とがある。
The
ロックデータテーブル523は、稼働系MSCP4から受信したロックデータを保持するテーブルである。
The lock data table 523 is a table that holds lock data received from the
排他制御テーブル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
演算処理部51は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部52からプログラム521を読み込んで実行することにより、上記ハードウェアとプログラム521とを協働させて各種処理部を実現するように構成されている。演算処理部51で実現される主な処理部として、メッセージ転送部514、ロックデータ受信部515、排他制御テーブル再生部516、および、受信状況応答部517がある。
The
ロックデータ受信部515は、稼働系MSCP4のロックデータ送信部413から送信されたロックデータを、信号線67を通じて受信するように構成されている。ロックデータ受信部515は、受信したロックデータをロックデータテーブル523に保存するように構成されている。またロックデータ受信部515は、稼働系MSCP4から最後に受信したロックデータに含まれる通番を受信状況応答部517に通知するように構成されている。さらにロックデータ受信部515は、MSCPリリーフ時、ホスト1、2のMSCPリリーフ制御部118から送信されたロックデータ(後述する不足ロックデータ)を、信号線63、66を通じて受信し、ロックデータテーブル523に保存するように構成されている。
The lock
受信状況応答部517は、ロックデータ受信部515から通知された、稼働系MSCP4から最後に受信したロックデータに含まれる通番を保持するように構成されている。また受信状況応答部517は、ホスト1、2の受信状況問合せ部116、216から受信状況の問合せ要求を受信すると、最後に保持した通番を問合せ元に送信するように構成されている。
The reception
排他制御テーブル再生部516は、MSCPリリーフ時、ロックデータテーブル523に保持されたロックデータに基づいて、故障した稼働系MSCP4の排他制御テーブル422を排他制御テーブル522として再生するように構成されている。
The exclusive control
メッセージ転送部514は、待機系MSCP5を通じて行われるホスト間通信のメッセージの転送を行うように構成されている。例えば、メッセージ転送部514は、信号線63を通じてホスト1から受信したホスト2宛てのメッセージを、通信領域524に一時的に保持し、その後、通信領域524に保持したホスト2宛てのメッセージを、信号線66を通じてホスト2へ送信するように構成されている。またメッセージ転送部514は、信号線66を通じてホスト2から受信したホスト1宛てのメッセージを、通信領域524に一時的に保持し、その後、通信領域524に保持したホスト1宛てのメッセージを、信号線63を通じてホスト1へ送信するように構成されている。
The
次に、上述のように構成された疎結合システム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
図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
稼働系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
ホスト1のI/O制御部113は、排他コマンドに対するコマンド結果と通番とを信号線62を通じて稼働系MSCP4から受信する(ステップS109)。次にロックデータ保持部114は、稼働系MSCP4の識別情報と上記発行された排他コマンドのイメージとその実行結果と通番とを1つのロックデータとしてロックデータテーブル122に保存する(ステップS110)。また排他制御部112は、上記コマンド結果を要求元のAP111へ通知する(ステップS111)。一方、待機系MSCP5のロックデータ受信部515は、稼働系MSCP4から送信されたロックデータを、信号線67を通じて受信し(ステップS112)、ロックデータテーブル523に保存する(ステップS113)。
The I/
また稼働系MSCP4の排他制御部411は、ホスト1から受信した排他コマンドがアンロックコマンドである場合、アンロックされた共用資源に対してロック待ちしているタスクがあれば(ステップS114)、そのロック待ちをロック成功に変更し(ステップS115)、そのロック成功の実行結果に通番制御部412から取得した通番を付与し(ステップS116)、ロック成功のコマンド実行結果と排他IDと通番とを含むアテンション通知をホストへ送信する(ステップS117)。またロックデータ送信部413は、稼働系MSCP4の識別情報と上記アテンション通知とを1つのロックデータとして信号線67を通じて待機系MSCP5へ送信する(ステップS118)。
If the exclusion command received from the
ホスト1のI/O制御部113は、上記アテンション通知を受信する(ステップS119)。次にロックデータ保持部114は、稼働系MSCP4の識別情報と上記アテンション通知とを1つのロックデータとしてロックデータテーブル122に保存する(ステップS120)。また排他制御部112は、アテンション通知の排他IDで特定されるAP111へロック成功のコマンド結果を通知する(ステップS121)。一方、待機系MSCP5のロックデータ受信部515は、稼働系MSCP4から送信されたアテンション通知を含むロックデータを、信号線67を通じて受信し(ステップS122)、ロックデータテーブル523に保存する(ステップS123)。
The I/
上述したように、稼働系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
次に、稼働系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
図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
先ず、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
代表ホスト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
先ず、MSCPリリーフ制御部118は、受信状況問合せ部116に対して受信完了通番の問合せを依頼する。受信状況問合せ部116は、その依頼に応じて待機系MSCP5の受信状況応答部517へ受信完了通番を問合せる。その問合せに応じて受信状況応答部517は、稼働系MSCP4から最後に受信したロックデータに含まれる通番を受信完了通番として受信状況問合せ部116へ送信する。受信状況問合せ部116は、受信した受信完了通番をMSCPリリーフ制御部118へ通知する。MSCPリリーフ制御部118は、通知された受信完了通番以降の通番を有するロックデータを不足ロックデータとしてロックデータテーブル122から取得する。
First, the MSCP
ホスト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
待機系MSCP5のロックデータ受信部515は、ホスト1のMSCPリリーフ制御部118から送信された不足ロックデータを、信号線63を通じて受信すると、ロックデータテーブル523へ保存する(ステップS145)。また待機系MSCP5のロックデータ受信部515は、ホスト2のMSCPリリーフ制御部218から送信された不足ロックデータを、信号線66を通じて受信すると、ロックデータテーブル523へ保存する(ステップS145)。
When the lock
代表ホスト1のMSCPリリーフ制御部118は、他の全ホストから不足ロックデータ送信完了通知を受信すると(ステップS146)、信号線63を通じて待機系MSCP5の排他制御テーブル再生部516に対して排他情報再生要求を送信する(ステップS147)。
When the MSCP
待機系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
代表ホスト1のMSCPリリーフ制御部118は、待機系MSCP5の排他制御テーブル再生部516から再生完了通知を受信すると(ステップS151)、ホスト間通信部115のホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して運用再開要求を送信する(ステップS152)。運用再開要求を受信したホスト2のMSCPリリーフ制御部218、および、運用再開要求を送信したホスト1のMSCPリリーフ制御部118は、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。
When the MSCP
このように本実施形態では、稼働系MSCP4が故障した場合、ホスト1、2のそれぞれは、ロックデータテーブルに保存されているロックデータのうち待機系MSCP5が稼働系MSCP4から受信したロックデータに含まれる通番の最新のもの以降の通番のロックデータ(不足ロックデータ)を待機系MSCP5へ送信し、待機系MSCP5は、稼働系MSCP4が正常に動作しているときに稼働系MSCP4から受信したロックデータとホスト1,2のそれぞれから受信した不足ロックデータとに基づいて、故障した稼働系MSCP4の排他制御テーブル422の排他制御情報を排他制御テーブル522に再生する。
As described above, in this embodiment, when the
次に、簡単な例を挙げて、本実施形態による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
(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
(2) Lock request from
(3) Lock request from
(4) Unlock request from
(5) Unlock request from
(6) Attention notification regarding resource a2 from
(8) Lock request from
(9) Lock request from
(10) Lock request from
(11) Unlock request from
図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
図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
このような状態で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
待機系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
上記説明では、待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に保存されたロックデータを通番の順に処理することによって、故障時点の排他制御テーブル422を排他制御テーブル522に再生した。しかし、排他制御テーブルの再生方法は上記に限定されない。故障時点の排他制御テーブル422を再生できるのであれば、他の方法を使用してもよい。例えば、次のような方法であってもよい。
In the above description, the exclusive control
待機系MSCP5の排他制御テーブル再生部516は、ロックデータテーブル523に対して、先ず、以下の処理1、2をその順に行う。
処理1:アテンション通知の前提となるロック待ちのロックデータにおけるロック待ちをロック成功に変更し、当該アテンション通知のロックデータを削除する。
処理2:アンロック成功のロックデータとその前提となるロック成功のロックデータとをロックデータテーブル523から削除する。
The exclusive control
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
図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
図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
このように本実施形態によれば、ホスト1、2が稼働系MSCP4に送信したロックコマンド、アンロックコマンドをロックデータテーブル122、222に大量に保持している状況で稼働系MSCP4が故障した場合であっても、故障した稼働系MSCP4が排他制御テーブル422に保持していた排他制御情報を待機系MSCP5の排他制御テーブル522に速やかに再生することができる。
As described above, according to this embodiment, even if the
[第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
第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
また本実施形態では、排他制御テーブル再生部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
ステップ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
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
上記のようにロックデータテーブル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
図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
一方、ホスト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
ホスト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
一方、ホスト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
ホスト1のMSCPリリーフ制御部118は、他の全ホストからロック待ちに係る不足ロックデータに基づく復元完了通知を受信すると(ステップS229)、ホスト間通信部115のホスト間通信を使用して、他の全ホストのMSCPリリーフ制御部に対して運用再開要求を送信し(ステップS230)、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。またホスト2のMSCPリリーフ制御部218は、運用再開要求を受信すると(ステップS231)、以後、MSCP5を新稼働系MSCPとしてシステムの運用を再開する。
When the MSCP
図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
次に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
ホスト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
[第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
図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
図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
図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
図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
またホスト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
図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
MSCP1のロックデータ受信部515は、図5のステップS145において、ホスト1、2から送信された上記不足ロックデータを受信してロックデータテーブルAに保存する。またMSCP1の排他制御テーブル再生部516は、図5のステップS149において、ロックデータテーブルAに保存されたロックデータに基づいて、故障したMSCP0の排他制御テーブルAのうち、ハッシュ値が0となる識別情報の共用資源に係る排他制御テーブルA1を再生する。具体的には、ロックデータテーブルAに保存されているロックデータのうち、ハッシュ値が0となる識別情報の共用資源に係るロックデータに基づいて排他制御テーブルを再生する。
The lock
排他制御テーブル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
[第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
稼働系MSCP403は、それぞれのホスト401から送信された共用資源402をロックもしくはアンロックするコマンドに従って排他処理を行い、コマンド実行結果を送信元のホスト401に送信するように構成されている。また稼働系MSCP403は、上記コマンドと上記コマンド実行結果とを含む装置側ロックデータを待機系MSCP404に送信するように構成されている。
The
待機系MSCP404は、稼働系MSCP403から装置側ロックデータを受信するように構成されている。また待機系MSCP404は、稼働系MSCP403が故障した場合、稼働系MSCP403から受信した装置側ロックデータに基づいて、故障した稼働系MSCP403の排他制御情報を再生するように構成されている。
The
このように構成された疎結合システム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
このように本実施形態によれば、複数のホストと複数の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
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。 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
[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
[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 ---
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.
前記稼働系排他制御装置は、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストは、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置は、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
請求項1に記載の疎結合システム。 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.
前記稼働系排他制御装置が、前記装置側ロックデータをそれぞれの前記待機系排他制御装置に送信し、
前記稼働系排他制御装置が故障した場合、それぞれの前記ホストが、故障した前記稼働系排他制御装置の代わりに使用する前記複数の待機系排他制御装置それぞれが受け持つ前記共用資源を決定し、前記待機系排他制御装置毎に、前記ホスト側ロックデータのうち前記待機系排他制御装置が前記稼働系排他制御装置から受信した前記装置側ロックデータに含まれる通番の最新のもの以降の通番であって且つ当該待機系排他制御装置が受け持つ前記共用資源に係る前記ホスト側ロックデータを前記待機系排他制御装置へ送信し、それぞれの前記待機系排他制御装置が、前記稼働系排他制御装置から受信した前記装置側ロックデータとそれぞれの前記ホストから受信した前記ホスト側ロックデータとに基づいて、前記故障した稼働系排他制御装置の排他制御情報のうち当該待機系排他制御装置が受け持つ前記共用資源に係る排他制御情報を再生する、
請求項3に記載のリカバリ方法。 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 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
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)
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 |
-
2019
- 2019-11-29 JP JP2019216420A patent/JP7315215B2/en active Active
Patent Citations (1)
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 |