JP2011253390A - Distributed computing system - Google Patents

Distributed computing system Download PDF

Info

Publication number
JP2011253390A
JP2011253390A JP2010127356A JP2010127356A JP2011253390A JP 2011253390 A JP2011253390 A JP 2011253390A JP 2010127356 A JP2010127356 A JP 2010127356A JP 2010127356 A JP2010127356 A JP 2010127356A JP 2011253390 A JP2011253390 A JP 2011253390A
Authority
JP
Japan
Prior art keywords
data
catch
sequence number
information processing
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010127356A
Other languages
Japanese (ja)
Other versions
JP4981951B2 (en
Inventor
Noritaka Watanabe
典孝 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tritek Co Ltd
Original Assignee
Tritek Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tritek Co Ltd filed Critical Tritek Co Ltd
Priority to JP2010127356A priority Critical patent/JP4981951B2/en
Priority to PCT/JP2011/058549 priority patent/WO2011152118A1/en
Publication of JP2011253390A publication Critical patent/JP2011253390A/en
Application granted granted Critical
Publication of JP4981951B2 publication Critical patent/JP4981951B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a distributed computing system where catch-up of a processing state of an information processor is dynamically and autonomously performed.SOLUTION: Respective information processors L, A, B include a catch-up data request means 51 for requesting return of the catch-up data of the information processor when transmitter maximum operation serial number data are larger than self maximum operation serial number data, and a catch-up data returning means 54 for returning the catch-up data in response to the return request of the catch-up data. The respective information processors which have received the catch-up data perform catch-up processing of a database by applying an operation command corresponding to the catch-up operation serial number data to data of the database by the operation execution means.

Description

本発明はデータベース等の状態のキャッチアップが可能である分散コンピューティングシステムに関する。   The present invention relates to a distributed computing system capable of catching up a state of a database or the like.

クラウドコンピューティングに代表されるように、近年では、通信ネットワークの発達により、分散コンピューティングシステムが発達している。この分散コンピューティングシステムでは、複数のサーバが、同時並行的にそれぞれの処理を実行し、ネットワークを介して互いに通信しあうことにより、その処理を行っている。
このような分散コンピューティングシステムにおいては、当該システムを構成するサーバに障害が発生した場合であっても、提供するサービスを継続することが求められているため、現行系サーバと待機系サーバ群を備える冗長構成が採用されていることが一般的である。
As represented by cloud computing, in recent years, distributed computing systems have been developed due to the development of communication networks. In this distributed computing system, a plurality of servers execute their respective processes concurrently and communicate with each other via a network.
In such a distributed computing system, even if a failure occurs in a server constituting the system, it is required to continue the service provided. In general, a redundant configuration is employed.

上記冗長構成の分散コンピューティングシステムでは、現行系サーバに障害等が発生した場合、待機系サーバに切り替えることによってサービスを継続させることが可能となる。そのような耐障害性を高めるためには、各待機系サーバが現行系サーバのオリジナルデータベース等の状態と、同一のレプリカデータベース等の状態を保持している必要がある。そのため、いずれかの待機系サーバに障害が生じた場合には、レプリカデータベース等の状態の復旧を行い、オリジナルデータベース等の状態と同一性を保つ、すなわちキャッチアップしておく必要がある。   In the redundant distributed computing system described above, when a failure or the like occurs in the current server, the service can be continued by switching to the standby server. In order to enhance such fault tolerance, each standby server needs to maintain the state of the original database of the current server and the state of the same replica database. Therefore, when a failure occurs in any one of the standby servers, it is necessary to restore the state of the replica database or the like and maintain the same state as the state of the original database, that is, catch up.

従来のデータベースのキャッチアップ方法の1つとしては、以下の方法が存在する。すなわち、バックアップ時におけるデータベースと、当該バックアップ時と次の時点のバックアップ時までにデータベースに対して行った操作コマンド列をジャーナルとして永続化保存する。そして、障害等発生時には、バックアップ時を初期状態とし、当該初期状態のデータに、順次、記憶されている操作コマンド列を実行することにより、所定の状態にまでデータベースを回復する方法である。   The following methods exist as one of the conventional database catch-up methods. That is, the database at the time of backup and the operation command sequence performed on the database between the backup and the backup at the next time point are permanently stored as a journal. Then, when a failure or the like occurs, the database is restored to a predetermined state by setting the backup state as an initial state and sequentially executing operation command sequences stored in the initial state data.

ところで、上記方法では、キャッチアップをしている間に、現行系サーバが処理を実行してしまっている場合には、さらに、最新の状態となるまで、データベースのキャッチアップをしなければならない。そこで、オリジナルデータベースを有するサーバ(情報処理装置)からレプリカデータベースを有するサーバへと更新情報(データベース更新情報)を順次に通知し、更新情報が通知されたサーバのデータベースに当該更新情報を反映させることにより、順次、データベースを同一内容に更新するデータベースのキャッチアップ技術が存在している(特許文献1)。   By the way, in the above method, if the current server has executed the process while catching up, it is necessary to catch up the database until it becomes the latest state. Therefore, update information (database update information) is sequentially notified from the server having the original database (information processing apparatus) to the server having the replica database, and the update information is reflected in the database of the server to which the update information is notified. Thus, there is a database catch-up technique for sequentially updating the database to the same content (Patent Document 1).

特開平11−296422号公報Japanese Patent Laid-Open No. 11-296422

しかし、従来のキャッチアップシステムでは、複製先情報を各サーバのみにおいて管理しているため、更新情報を通知した先のサーバに障害が発生しているような場合、該障害の発生しているサーバ及びその先のサーバではデータベースの更新ができなくなってしまうため、更新が必要な全てのデータベース等の状態を更新することができないことがあった。
また、上記キャッチアップでは、現行系サーバがキャッチアップの指示を統括することになるため、自律的なキャッチアップをするものではなく、また、キャッチアップ時には、他の全てのサーバの動作を停止し、操作列を同期させてから再始動を行うという静的な処理を行うことができるにすぎないという課題が存在していた。
However, in the conventional catch-up system, since the replication destination information is managed only by each server, if a failure has occurred in the server that has notified the update information, the server in which the failure has occurred In addition, since it becomes impossible to update the database in the server beyond that, it may not be possible to update the states of all databases that need to be updated.
Also, in the above catch-up, the current server supervises the catch-up instructions, so it does not autonomously catch up, and all other servers are stopped during the catch-up. However, there is a problem that only a static process of performing a restart after synchronizing the operation sequence can be performed.

本発明は、上記の問題点を解決するためになされたものであり、高速かつ自律的に、情報処理装置の処理状態に対する動的なキャッチアップが可能となる分散コンピューティングシステムを提供することを目的とする。   The present invention has been made to solve the above problems, and provides a distributed computing system capable of dynamically catching up the processing state of an information processing apparatus at high speed and autonomously. Objective.

上記課題を解決するために、本発明の分散コンピューティングシステムは、各々がネットワークで接続されている複数の情報処理装置から構成され、前記各情報処理装置は、同一の初期状態であるデータベースと、操作の順番を示す操作通番と当該操作通番に一対一で対応する操作コマンドに対応して、前記データベースに格納されているデータに対して処理を実行するための操作実行手段と、を備え、前記各情報処理装置が同一の前記操作コマンドを実行することにより同一のタスクを行う分散コンピューティングシステムにおいて、さらに、前記各情報処理装置は、前記ネットワークを介して、自身以外の前記各情報処理装置に対して所望の時間間隔で送信時間データと、自身が処理した最新の前記操作コマンドに対応する操作通番である自己最大操作通番データとを含む発信データを送信するための発信データ送信手段と、前記ネットワークを介して、前記自身以外の前記各情報処理装置から所望の時間間隔で送信された、送信時間データと、前自身以外の各情報処理装置が処理した最新の前記操作コマンドに対応する操作通番である送信元最大操作通番データとを含む被発信データを受信するための被発信データ受信手段と、自身以外の前記情報処理装置から送信された前記送信元最大操作通番データと、前記被発信データを受信した時点における自己最大操作通番データとを比較する操作通番比較手段と、前記送信元最大操作通番データが、前記自己最大操作通番データより大きいときに、送信元の前記情報処理装置に対して、処理状態のキャッチアップに必要となるキャッチアップ操作通番データ及び前記キャッチアップ操作通番データに対応するキャッチアップ操作コマンドを有するキャッチアップデータの返信を要求するキャッチアップデータ要求手段と、前記キャッチアップデータの返信要求をうけ、当該キャッチアップデータを返信するキャッチアップデータ返信手段とを備え、前記キャッチアップデータを受信した前記情報処理装置は、前記操作実行手段により、前記キャッチアップ操作通番データに対応した操作コマンドを、前記情報処理装置の処理状態に適用することにより、前記送信元の前記情報処理装置の処理状態を複製して、キャッチアップすることを特徴としている。   In order to solve the above problems, the distributed computing system of the present invention is composed of a plurality of information processing devices each connected by a network, and each of the information processing devices has a database in the same initial state, Corresponding to an operation sequence number indicating the order of operations and an operation command corresponding to the operation sequence number on a one-to-one basis, and an operation execution means for executing processing on data stored in the database, In a distributed computing system in which each information processing apparatus performs the same task by executing the same operation command, each information processing apparatus further communicates with each information processing apparatus other than itself via the network. For the transmission time data at the desired time interval, and the operation serial number corresponding to the latest operation command processed by itself. Transmission data transmission means for transmitting transmission data including self-maximum operation sequence number data, and transmission time data transmitted from the respective information processing devices other than the self at a desired time interval via the network , A transmitted data receiving means for receiving transmitted data including the transmission source maximum operation sequence data that is an operation sequence corresponding to the latest operation command processed by each information processing device other than itself, and other than itself Operation source number comparison means for comparing the source maximum operation sequence number data transmitted from the information processing apparatus and the self-maximum operation sequence number data at the time of receiving the transmitted data, and the source maximum operation sequence number data When the value is larger than the self-maximum operation sequence number data, the key required for catching up the processing state for the information processing apparatus as the transmission source. Catch-up operation sequence number data and catch-up data requesting means for requesting a reply of catch-up data having a catch-up operation command corresponding to the catch-up operation sequence number data; The information processing apparatus comprising a reply means and receiving the catch-up data, by applying an operation command corresponding to the catch-up operation sequence number data to the processing state of the information processing apparatus by the operation execution means, The processing state of the information processing apparatus of the transmission source is copied and caught up.

ここで、キャッチアップとは、自身の情報処理装置の処理状態(例えば、データベースに格納されているデータ等の処理状態)が、自身以外の他の情報処理装置の処理状態と比較して遅れている場合において、先行する情報処理装置の処理状態に追いつくように自身の処理状態に対して操作コマンドの実行を行い、自身の情報処理装置の処理状態と、自身以外の他の情報処理装置の処理状態を同一化することをいう。
また、上記情報処理装置の処理状態は、ある一時点における処理状態に操作コマンド列を実行させることにより変化していくものであり、データベースのみならずメモリ上の対象となる状態(例えば排他用資源)をも含む概念である。
Here, catch-up means that the processing state of its own information processing device (for example, the processing state of data stored in the database) is delayed compared to the processing state of other information processing devices other than itself. If there is an operation command, execute an operation command for its own processing state so as to catch up with the processing state of the preceding information processing device, and the processing state of its own information processing device and the processing of another information processing device other than itself It means making the state identical.
In addition, the processing state of the information processing apparatus is changed by executing the operation command sequence to the processing state at a certain point in time, and the target state on the memory as well as the database (for example, an exclusive resource) ).

本発明によれば、各情報処理装置は、自身以外の総ての前記各情報処理装置に対して、発信データ送信手段及び被発信データ受信手段を備え、発信データ及び被発信データを送受信することにより、自身以外の各情報処理装置のタスクの処理状況を把握することができる。そして、キャッチアップデータ要求手段により、自身以外の情報処理装置の最新のタスクの処理状況を示す送信元最大操作通番データが、自己最大操作通番データより大きいときに、自身の情報処理装置のキャッチアップの必要性を認識し、キャッチアップ操作通番データを他の情報処理装置から送信を受けることができる。その後、当該キャッチアップ操作通番データに対応した操作コマンドを自身の処理状態に適用することにより、処理状態のキャッチアップを行うことができる。このように、情報処理装置の処理状態のキャッチアップを自律的かつ動的に行うことができる。   According to the present invention, each information processing device includes a transmission data transmission unit and a transmitted data reception unit for all the information processing devices other than itself, and transmits and receives the transmission data and the transmitted data. Thus, it is possible to grasp the task processing status of each information processing apparatus other than itself. When the source maximum operation sequence number data indicating the latest task processing status of the information processing device other than itself is larger than the self maximum operation sequence number data, the catch-up data request means Recognizing the necessity, the catch-up operation serial number data can be received from another information processing apparatus. Thereafter, by applying an operation command corresponding to the catch-up operation sequence number data to its own processing state, the processing state can be caught up. In this way, the processing state of the information processing apparatus can be caught up autonomously and dynamically.

また、前記分散コンピューティングシステムにおいて、前記キャッチアップ操作通番データと、前記キャッチアップ操作通番データに対応する操作コマンドが、前記情報処理装置のキャッシュメモリに記憶させられるようになっていることが好適である。   In the distributed computing system, it is preferable that the catch-up operation sequence number data and an operation command corresponding to the catch-up operation sequence number data are stored in a cache memory of the information processing apparatus. is there.

本発明によれば、前記キャッチアップ操作通番データ等が、キャッシュメモリに記憶させられるようになっているため、処理状態のキャッチアップを迅速に行うことができる。   According to the present invention, since the catch-up operation sequence number data and the like are stored in the cache memory, the processing state can be quickly caught up.

前記分散コンピューティングシステムにおいて、前記発信データ送信手段は、一定時間間隔で、前記各情報処理装置との間で、前記発信データを送受信していることが好適である。   In the distributed computing system, it is preferable that the transmission data transmission unit transmits and receives the transmission data to and from the information processing devices at regular time intervals.

本発明によれば、発信データ送信手段は、一定時間間隔で各情報処理装置との間で発信データを送信し、被発信データを受信することにより、常時、各情報処理装置のタスクの進行状況を確認しているため、自身のタスクが他の情報処理装置のタスクから遅れたことを即座に認識し、自律的かつ迅速に、処理状態のキャッチアップを実行できる。   According to the present invention, the transmission data transmission means always transmits the transmission data to and from each information processing apparatus at regular time intervals and receives the transmitted data. Therefore, it is possible to immediately recognize that its own task is delayed from the task of another information processing apparatus, and to catch up the processing state autonomously and quickly.

前記分散コンピューティングシステムにおいて、前記キャッチアップ処理を行っている前記情報処理装置(以下、「キャッチアップ実行情報処理装置」という。)は、前記キャッチアップ処理の終了後に、キャッチアップ終了データを前記送信元の前記情報処理装置(以下、「被キャッチアップ情報処理装置」という。)に送信することができるようになっており、前記送信元の前記情報処理装置は、当該キャッチアップデータの受信後から前記キャッチアップ終了データを受信する間、自身の処理状態に対する前記操作コマンドの実行を中断するように構成されていることが好適である。   In the distributed computing system, the information processing apparatus performing the catch-up process (hereinafter referred to as “catch-up execution information processing apparatus”) transmits catch-up end data after the catch-up process ends. The information processing apparatus can transmit to the original information processing apparatus (hereinafter referred to as “caught-up information processing apparatus”), and the transmission-source information processing apparatus receives the catch-up data after receiving the catch-up data. It is preferable that the execution of the operation command for its own processing state is interrupted while receiving the catch-up end data.

本発明によれば、キャッチアップデータの返信の要求を受けた被キャッチアップ情報処理装置は、キャッチアップデータを返信した後からキャッチアップ終了データを受信する間、自身のデータベースに対する操作コマンドの実行を中断するように構成されているため、キャッチアップ実行情報処理装置のキャッチアップ作業中に、被キャッチアップ情報処理装置のタスクが進行することを抑止することができる。   According to the present invention, a catch-up information processing apparatus that has received a request for reply of catch-up data interrupts execution of an operation command for its own database while receiving catch-up end data after returning the catch-up data. Therefore, it is possible to prevent the task of the catch-up information processing apparatus from progressing during the catch-up operation of the catch-up execution information processing apparatus.

本発明によれば、高速かつ自律的に、情報処理装置の処理状態に対する動的なキャッチアップが可能となる分散コンピューティングシステムを提供することができる。   According to the present invention, it is possible to provide a distributed computing system capable of dynamically catching up with the processing state of the information processing apparatus at high speed and autonomously.

本発明の分散コンピューティングシステムを示す概要図である。1 is a schematic diagram showing a distributed computing system of the present invention. 本発明の分散コンピューティングシステムを示す全体構成図である。1 is an overall configuration diagram showing a distributed computing system of the present invention. 本発明の分散コンピューティングシステムの構成要素であるサーバの構成図である。It is a block diagram of the server which is a component of the distributed computing system of this invention. (a)発信パケットデータの概念図である。 (b)キャッチアップ終了データの概念図である。 (c)キャッチアップ要求データの概念図である。 (d)キャッチアップ応答データの概念図である。(A) It is a conceptual diagram of outgoing packet data. (B) It is a conceptual diagram of catch-up end data. (C) It is a conceptual diagram of catch-up request data. (D) It is a conceptual diagram of catch-up response data. 本発明の分散コンピューティングシステムの動作を示すフロー図である。It is a flowchart which shows operation | movement of the distributed computing system of this invention.

本発明を実施するための一形態(以下、「実施形態」という。)について、図面を参照して詳細に説明する。
本発明の分散コンピューティングシステムS(以下、「本システム」という。)は、複数台のコンピューティングデバイス(情報処理装置)がインターネット及びLAN等の通信ネットワークNを介して接続されていることにより構成されている。以下、説明の便宜上、一台のリーダサーバLと、2台のエージェントサーバA,B(以下、3台のサーバを総称して「各サーバ」という場合がある。)を例とし、処理状態として、データベースDのキャッチアップを行う場合について説明する。
An embodiment for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail with reference to the drawings.
The distributed computing system S (hereinafter referred to as “the present system”) of the present invention is configured by connecting a plurality of computing devices (information processing apparatuses) via a communication network N such as the Internet and a LAN. Has been. Hereinafter, for convenience of explanation, one reader server L and two agent servers A and B (hereinafter, the three servers may be collectively referred to as “each server”) are taken as an example, and the processing states are as follows. A case where the database D is caught up will be described.

なお、上記各サーバL,A,Bは、名称を変えて説明しているが、その構成は同様であり、それぞれがクライアントKの要求に応じて他のサーバの役割を担える装置となっている。そのため、同一の構成要素を説明するに際し、当該構成要素を総称する場合には同一の符号を付すことを原則とするが、サーバの違いによる構成要素の違いを表す際には当該符号の末尾にさらに、L,A,Bを付して区別するものとする(但し、符号は図示していない場合がある)。   The servers L, A, and B are described with different names, but the configuration is the same, and each of them is a device that can play the role of another server in response to a request from the client K. . Therefore, in describing the same component, in principle, when the component is generically referred to, the same symbol is attached, but when expressing the difference of the component due to the difference of servers, it is added at the end of the symbol. Further, L, A, and B are added for distinction (however, the reference numerals may not be shown).

また、以下は、説明の便宜上、特に断らない限り、送信元をリーダサーバLとし、受信元及び返信元をエージェントサーバA,Bとする。また、エージェントサーバA,Bのうち、リーダサーバLと比較してタスクが遅れている装置は、エージェントサーバAとし、当該エージェントサーバAが、リーダサーバLに対して、データベースDAのキャッチアップ(以下、単に「キャッチアップ」という。)を行う場合を想定して説明を行う。
なお、各エージェントサーバA,Bの間でもタスクの遅れが生じることがありうるが、本システムSでは、そのような場合にも各装置が動作して、同様のキャッチアップが可能となっている。
In the following, for convenience of explanation, unless otherwise specified, the transmission source is a reader server L, and the reception source and the return source are agent servers A and B. Further, of the agent servers A and B, the device whose task is delayed compared to the reader server L is the agent server A, and the agent server A catches up the database DA with respect to the reader server L (hereinafter referred to as the agent server A). , Simply “catch-up”).
Although there may be a task delay between the agent servers A and B, in this system S, each device operates even in such a case, and the same catch-up is possible. .

〔本システムSの全体構成〕
図1及び図2に示すように、本実施形態の分散コンピューティングシステムSは、3台のサーバL,A,Bから構成されている。各サーバL,A,Bは、互いに通信可能に接続され、それらのIPアドレスを把握するクライアントKにネットワークNを介して接続されている。各サーバL,A,Bは、同一のデータベースDL,DA,DB(初期データベース)に格納されているデータに対して、クライアントKからの指示を受け、操作実行手段(図示せず)を介して、演算処理等の操作コマンド(列)を実行することにより所望のタスク(以下、「本件タスク」という。)を行うことができるようになっている。
[Overall configuration of the system S]
As shown in FIGS. 1 and 2, the distributed computing system S according to the present embodiment includes three servers L, A, and B. The servers L, A, and B are communicably connected to each other, and are connected via a network N to a client K that knows their IP addresses. Each server L, A, B receives an instruction from the client K for data stored in the same database DL, DA, DB (initial database), and through operation execution means (not shown). A desired task (hereinafter referred to as “the present task”) can be performed by executing an operation command (sequence) such as arithmetic processing.

上記操作コマンドを実行するためのアプリケーションプログラム及び本件タスクを分散処理するための分散コンピューティング用のプログラムは、ここでは各サーバL,A,Bのそれぞれにインストールされている。
各サーバL,A,Bは、それぞれ汎用コンピュータであり、CPU(図示せず)、キャッシュメモリM等を備えているが、説明の便宜上は、図2に示すように、そのCPU、記憶装置等のプロセッサ能力、ストレージ能力を合意形成部4L,4A,4Bと実行部5L,5A,5Bに分けることができるように構成されている。
Here, the application program for executing the operation command and the program for distributed computing for distributed processing of the task are installed in each of the servers L, A, and B, respectively.
Each of the servers L, A, and B is a general-purpose computer and includes a CPU (not shown), a cache memory M, and the like. For convenience of explanation, as shown in FIG. The processor capability and the storage capability are configured to be divided into consensus forming units 4L, 4A, 4B and execution units 5L, 5A, 5B.

合意形成部4L,4A,4Bは、セルの内部で既知であるPaxosにより合意を形成するためのPaxos装置Pを構成する。Paxos装置Pにおいては、上記分散コンピューティング用プログラムに従って、過半数以上のサーバにより合意形成された操作コマンドを実行し、本件タスクを行うことができるようになっている。すなわち、操作コマンドは、上記Paxsos装置Pにより決定され、実行部5L,5A,5Bは当該操作コマンドを上記アプリケーションプログラムに適用することにより、本件タスクを実行することができるようになっている(この点に関しては詳述せず)。   The agreement forming units 4L, 4A, and 4B constitute a Paxos device P for forming an agreement with Paxos that is known inside the cell. In the Paxos apparatus P, according to the distributed computing program, an operation command that is agreed upon by a majority of servers or more is executed, and this task can be performed. That is, the operation command is determined by the Paxsos device P, and the execution units 5L, 5A, and 5B can execute the task by applying the operation command to the application program (this I won't go into detail about that).

上記操作コマンドには、操作通番(整数値が1ずつ増加するように設定されているシーケンス番号)のデータが操作コマンドに一対一で対応するように付加されており、これらの操作コマンドデータは、後記消去時刻まで、キャッシュメモリMに記録されている。   In the operation command, data of an operation serial number (sequence number set so that the integer value is incremented by 1) is added so as to correspond to the operation command on a one-to-one basis. It is recorded in the cache memory M until the erasure time described later.

〔キャッチアップシステム〕
図3に示すように、本システムSでは、各サーバL,A,Bは、キャッチアップシステムを構成するために、通信データ制御手段10、キャッチアップ制御手段30等を備えている。
[Catch-up system]
As shown in FIG. 3, in this system S, each server L, A, B includes a communication data control means 10, a catch-up control means 30 and the like in order to constitute a catch-up system.

(通信データ制御手段10)
通信データ制御手段10は、通信手段70であるデータ送信装置80及びデータ受信装置85(パケットデータ受信手段)を介して、各種データの送受信を制御するための手段であり、HB通信制御装置20(但し、HBは「ハートビート」の略である。)を備えている。このHB通信制御装置20は、各種の通信データのうち、自身以外の総てのサーバとの双方向通信を維持するためのハートビート通信を制御する装置であり、さらに、HB通信データ作成装置21、HB通信状態確認装置22及びHB通信データ記憶装置23を備えている。
(Communication data control means 10)
The communication data control means 10 is a means for controlling transmission / reception of various data via the data transmission device 80 and the data reception device 85 (packet data reception means) which are the communication means 70, and the HB communication control device 20 ( However, HB is an abbreviation for “heartbeat”. The HB communication control device 20 is a device that controls heartbeat communication for maintaining bidirectional communication with all servers other than itself among various types of communication data, and further, an HB communication data creation device 21. The HB communication status confirmation device 22 and the HB communication data storage device 23 are provided.

HB通信データ作成装置21は、ハートビート通信を行うための発信パケットデータを作成するための装置である。
「発信パケットデータ」は、予め割り当てられている送信元サーバ装置番号(例えば、リーダサーバLの装置番号)及び送信先サーバ装置番号(例えば、エージェントサーバA,Bの装置番号)、送信元サーバの計時機能に基づく送信時刻タイムスタンプ(送信時間データ)(以下、「送信時刻タイムスタンプ」という。)、送信先サーバが、後記HB通信データ記憶装置23に記憶している、発信パケットデータの送信元サーバから一時点前に送られてきた送信時刻タイムスタンプ(以下、「記憶済送信時刻タイムスタンプ」という。)(但し、初回の通信時には存在しないため「0」)(詳細は後記)及び自身が既に処理している最新の操作コマンドの操作通番(以下、「自己最大操作通番」という。)のデータを少なくとも含んでいる(図4(a))。
The HB communication data creation device 21 is a device for creating outgoing packet data for performing heartbeat communication.
“Outgoing packet data” includes a transmission source server device number (for example, device number of the reader server L) and a transmission destination server device number (for example, device numbers of the agent servers A and B), Transmission time stamp (transmission time data) based on the timekeeping function (hereinafter referred to as “transmission time time stamp”), a transmission source of outgoing packet data stored in the HB communication data storage device 23 described later by the transmission destination server The transmission time stamp sent from the server before the temporary point (hereinafter referred to as “stored transmission time stamp”) (however, “0” because it does not exist at the first communication) (details will be described later) and It contains at least the data of the operation sequence number of the latest operation command that has already been processed (hereinafter referred to as “self maximum operation sequence number”). Figure 4 (a)).

なお、各サーバL,A,Bは、同一の構成を有する装置であり、各々のサーバL,A,Bが相互に通信を行っているため、各エージェントサーバA,Bから送信された発信パケットデータの基本構造は、リーダサーバLから送信された発信パケットデータと同じである。各サーバは、それぞれが、上記発信パケットデータの送受信を行っており、当該発信パケットデータを送信する又は受信することになる。そのため、説明の便宜上、各サーバが自ら発信したパケットデータを発信パケットデータ、送信先のサーバから送信されたパケットデータを「被発信パケットデータ」と称して、区別することとする。
そして、特段の説明がない場合には、送信先と称した場合は、各種のデータを発信したサーバからみた相手方サーバのことを言い、送信元と称した場合は、各種データを送信した自身のサーバ、或いは、各種データを受信したサーバからみた相手方サーバのことを言うこととする。
Each server L, A, B is a device having the same configuration, and since each server L, A, B is communicating with each other, the outgoing packet transmitted from each agent server A, B The basic structure of the data is the same as outgoing packet data transmitted from the reader server L. Each server transmits and receives the outgoing packet data, and transmits or receives the outgoing packet data. Therefore, for convenience of explanation, packet data transmitted by each server itself is referred to as outgoing packet data, and packet data transmitted from a destination server is referred to as “transmitted packet data”.
If there is no special explanation, when referring to the destination, it refers to the partner server viewed from the server that sent the various data, and when referring to the source, it refers to the own server that sent the various data. The server or the partner server viewed from the server that received the various data.

また、被発信パケットデータにおける自己最大操作通番は、送信元のサーバが既に処理している最新の操作コマンドの操作通番であり、特許請求の範囲における「送信元最大操作通番」となる。   The self-maximum operation sequence number in the transmitted packet data is the operation sequence number of the latest operation command already processed by the transmission source server, and is the “transmission source maximum operation sequence number” in the claims.

HB通信データ送信装置81(発信パケットデータ送信手段)は、データ送信装置80の一部を形成しており、HB通信データ作成装置21により作成された発信パケットデータを、自身以外の各サーバに送信するための装置である。本実施形態では、リーダサーバLは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA,Bに発信パケットデータを送信し続けるようになっている。また、他のエージェントサーバA,Bも、リーダサーバLと同様に、自身以外の各サーバL,B(又はA)に被発信パケットデータを送信し続けるようになっている。   The HB communication data transmission device 81 (outgoing packet data transmission means) forms part of the data transmission device 80 and transmits the outgoing packet data created by the HB communication data creation device 21 to each server other than itself. It is a device for doing. In the present embodiment, the reader server L continues to transmit outgoing packet data to each of the agent servers A and B other than itself at a predetermined time interval (Δt). Further, like the reader server L, the other agent servers A and B are also configured to continue transmitting the transmitted packet data to the servers L and B (or A) other than itself.

HB通信データ受信装置86(被発信パケットデータ受信手段)は、データ受信装置85の一部を形成しており、自身以外のサーバのHB通信データ送信装置81から送信された被発信パケットデータを受信するために、常時動作している装置である。   The HB communication data receiving device 86 (transmitted packet data receiving means) forms part of the data receiving device 85, and receives the transmitted packet data transmitted from the HB communication data transmitting device 81 of the server other than itself. In order to do this, it is a device that is always operating.

HB通信データ記憶装置23は、送信元の各サーバから送信された被発信パケットデータを、HB通信データ受信装置86を介して受信し、一時的に、かつ、読出し自在に記憶するための装置である。
エージェントサーバAのHB通信データ記憶装置23Aでは、発信パケットデータの送信元であり、被発信パケットデータの送信先であるリーダサーバLの送信時刻タイムスタンプを記憶済送信時刻タイムスタンプとして、リーダサーバLの装置番号と関連づけて記憶するとともに、当該リーダサーバLの送信元最大操作通番を記憶することができるようになっている。
また、リーダサーバLのHB通信データ記憶装置23Lでは、エージェントサーバA,Bの送信時刻タイムスタンプを記憶済送信時刻タイムスタンプとして、エージェントサーバA,Bの装置番号と関連づけて記憶するとともに、エージェントサーバA,Bの送信元最大操作通番を記憶することができるようになっている。
The HB communication data storage device 23 is a device for receiving the transmitted packet data transmitted from each server of the transmission source via the HB communication data receiving device 86 and storing it temporarily and readable. is there.
In the HB communication data storage device 23A of the agent server A, the transmission time stamp of the reader server L which is the transmission source of the outgoing packet data and the transmission destination of the outgoing packet data is used as the stored transmission time time stamp. Are stored in association with the device number, and the transmission source maximum operation sequence number of the reader server L can be stored.
The HB communication data storage device 23L of the reader server L stores the transmission time stamps of the agent servers A and B as stored transmission time stamps in association with the device numbers of the agent servers A and B, and also stores the agent server. The transmission source maximum operation sequence numbers of A and B can be stored.

また、HB通信データ記憶装置23は、自身以外の各サーバA,Bから送信される被発信パケットデータを常に監視し、受信した各送信元最大操作通番のうちで最大の通番のデータを通信最大操作通番として、その発信元の装置番号と関連して保存、更新し続けることができるようになっている。   Also, the HB communication data storage device 23 constantly monitors the transmitted packet data transmitted from the servers A and B other than itself, and the maximum communication number data among the received transmission source maximum operation sequence numbers is communicated to the maximum. As the operation serial number, it can be stored and updated in association with the device number of the transmission source.

HB通信状態確認装置22は、HB通信データ送信装置81とHB通信データ受信装置86と協働して、自身と自身以外の各サーバとの間に双方向の通信が確立されているか否かを判断するための装置である。
上記の通り、例えば、リーダサーバLのHB通信データ送信装置81Lは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA,Bに発信パケットデータを送信している。送信先のエージェントサーバA,Bは、障害等が生じて受信不可能な状態になっていない限りは、当該発信パケットデータを受信し続けているとともに、自らも、送信元のリーダサーバLに対して、同一の時間間隔(Δt)で発信パケットデータを送信し続けている(但し、送信開始時刻は一致していなくてもよい)。
The HB communication status confirmation device 22 cooperates with the HB communication data transmission device 81 and the HB communication data reception device 86 to determine whether or not bidirectional communication has been established between itself and each server other than itself. It is an apparatus for judging.
As described above, for example, the HB communication data transmitter 81L of the reader server L transmits outgoing packet data to the agent servers A and B other than itself at a predetermined time interval (Δt). The destination agent servers A and B continue to receive the outgoing packet data as long as a failure or the like has not occurred and the reception is not possible. Thus, the transmission packet data continues to be transmitted at the same time interval (Δt) (however, the transmission start times may not match).

このような状況の中、HB通信状態確認装置22は、以下の判断を行うことにより、各サーバ間において、HB通信が確立されているか否かを判断できるようになっている。
すなわち、各サーバは、同一の時間間隔(Δt)で通信を行っているため、予め定められている各サーバ間の通信時間(以下、「サーバ間通信時間」という。)をΔdとすると、通信が確立されている場合には、リーダサーバLが発信パケットデータの送信を行った後、2Δd乃至Δt+2Δdの時間の間に、エージェントサーバA,Bから被発信パケットデータが送信されることになる。
Under such circumstances, the HB communication state confirmation device 22 can determine whether or not HB communication is established between the servers by making the following determination.
That is, since each server performs communication at the same time interval (Δt), assuming that a predetermined communication time between servers (hereinafter referred to as “inter-server communication time”) is Δd, communication is performed. Is established, the transmitted packet data is transmitted from the agent servers A and B during the period of 2Δd to Δt + 2Δd after the reader server L transmits the transmitted packet data.

ところで、被発信パケットデータには、当該被発信パケットデータの送信先であるリーダサーバLの一時点前の送信時刻である記憶済送信時刻タイムスタンプが記録されており、当該記憶済送信時刻タイムスタンプと、被発信パケットデータの受信時刻の差を便宜上、HB応答時間と定義すると、当該HB応答時間が、Δt+2Δd+所定余裕時間(この値を、「HB通信状態判別基準時間値」という。)以下であるか否かにより、HB通信が確立されているか否かを判断することができる。したがって、本装置では、HB応答時間がHB通信状態判別基準時間値以下であれば、各サーバ間での双方向通信が確保されていると判断し、それより大きければ双方向通信が遮断されていると判断することができるようになっている。   By the way, in the transmitted packet data, a stored transmission time timestamp that is a transmission time one point before the reader server L that is a transmission destination of the transmitted packet data is recorded, and the stored transmission time timestamp is recorded. When the difference in the reception time of the transmitted packet data is defined as the HB response time for convenience, the HB response time is equal to or less than Δt + 2Δd + predetermined margin time (this value is referred to as “HB communication state determination reference time value”) Whether or not HB communication is established can be determined based on whether or not there is. Therefore, in this apparatus, if the HB response time is equal to or less than the HB communication state determination reference time value, it is determined that the two-way communication is secured between the servers, and if it is larger than that, the two-way communication is blocked. It can be judged that there is.

なお、記憶済送信時刻タイムスタンプと、被発信パケットデータの受信時刻は、同一サーバの計時機能により記録されているため、両時刻の差をとることにより、容易にHB間隔を算出できるようになっている。   Since the stored transmission time stamp and the reception time of the transmitted packet data are recorded by the time keeping function of the same server, the HB interval can be easily calculated by taking the difference between the two times. ing.

(キャッチアップ制御手段30)
キャッチアップ制御手段30は、各サーバのデータベースD(作業用データベースD’も含む)をキャッチアップさせるための処理を行うための手段であり、キャッチアップ判定装置40及びキャッチアップ統括装置50を備えている。
(Catch-up control means 30)
The catch-up control means 30 is means for performing processing for catching up the database D (including the work database D ′) of each server, and includes a catch-up determination device 40 and a catch-up control device 50. Yes.

1)キャッチアップ判定装置40
キャッチアップ判定装置40は、各サーバL,A,Bに関して、キャッチアップが必要か否かを判断するための装置であり、操作通番比較装置41及びキャッチアップ状態判定装置42を備えている。
1) Catch-up determination device 40
The catch-up determination device 40 is a device for determining whether catch-up is necessary for each of the servers L, A, and B, and includes an operation sequence number comparison device 41 and a catch-up state determination device 42.

操作通番比較装置41は、何れかのサーバに対して、キャッチアップ要求を行うか否かの判断をするための装置であり、以下の処理を行うことができるように構成されている。すなわち、操作通番比較装置41は、上記通信最大操作通番の値と、コマンド実行部(図示せず)から送られる自己最大操作通番の値とを比較し、通信最大操作通番の値が大きい場合には、送信元のサーバの操作コマンドの進度が自身の操作コマンドの進度と比較して先行していると判断し、後記キャッチアップ操作通番データ要求装置51に対して、送信元サーバに向けたキャッチアップ要求データの発生を要求することができるようになっている。その一方で、通信最大操作通番の値が自己最大操作通番の値以下の場合には、自身の操作コマンドの進度が、送信元サーバの操作コマンドの進度と比較して先行していないと判断し、それ以降の処理を行わないようになっている。   The operation serial number comparison device 41 is a device for determining whether or not to make a catch-up request to any of the servers, and is configured to perform the following processing. That is, the operation sequence number comparison device 41 compares the value of the communication maximum operation sequence number with the value of the self-maximum operation sequence number sent from the command execution unit (not shown), and when the value of the communication maximum operation sequence number is large. Determines that the progress of the operation command of the transmission source server is ahead of the progress of its own operation command, and catches the catch-up operation serial number data requesting device 51 described later toward the transmission source server. It is possible to request generation of up request data. On the other hand, if the communication maximum operation sequence number is less than or equal to the self-maximum operation sequence number, it is determined that the progress of its own operation command is not ahead of the progress of the operation command of the source server. The subsequent processing is not performed.

キャッチアップ状態判定装置42は、各サーバL,A,Bがキャッチアップのための操作コマンド(以下、「キャッチアップ操作コマンド」という。)を行っている際に、キャッチアップが完了したか否かを判定する装置であり、キャッチアップ時における自己最大操作通番の値が、通信最大操作通番の値に達したか否かを判断するとともに、当該自己最大操作通番の値が通信最大操作通番の値に達した場合(以下、「キャッチアップ終了時」という。)には、例えば、エージェントサーバAが、後記するキャッチアップ要求データを送信した送信先のリーダサーバLに対して、データ送信装置80Aを介して、キャッチアップ終了データを送信するための装置である。   The catch-up state determination device 42 determines whether or not the catch-up is completed when each of the servers L, A, and B is performing an operation command for catch-up (hereinafter referred to as “catch-up operation command”). It is a device that determines whether the value of the self-maximum operation sequence number at the time of catch-up has reached the value of the communication maximum operation sequence number, and the value of the self-maximum operation sequence number is the value of the communication maximum operation sequence number (Hereinafter referred to as “at the end of catch-up”), for example, the agent server A sets the data transmission device 80A to the destination reader server L that has transmitted catch-up request data to be described later. It is a device for transmitting catch-up end data through the network.

「キャッチアップ終了データ」は、送信元サーバの装置番号(例えば、エージェントサーバAの装置番号)、送信先サーバの装置番号(例えば、リーダサーバLの装置番号)、キャッチアップが終了したことを示す識別データ(以下、「キャッチアップ終了タイプ」という。)を少なくとも含むデータである(図4(b))。   “Catchup end data” indicates the device number of the transmission source server (for example, the device number of the agent server A), the device number of the transmission destination server (for example, the device number of the reader server L), and the completion of the catchup. This data includes at least identification data (hereinafter referred to as “catch-up end type”) (FIG. 4B).

2)キャッチアップ統括装置50
キャッチアップ統括装置50は、各エージェントサーバA,Bがキャッチアップを行う場合に必要なデータを算出することや、キャッチアップの実行を行わせること、キャッチアップ実行中の自身の処理の中断及び再開等を制御することなどを行う装置である。
このキャッチアップ統括装置50は、キャッチアップデータ要求装置51(キャッチアップデータ要求手段)、抑止要求時間算出装置52、タスク中断時刻設定装置53、キャッチアップデータ返信装置54(キャッチアップデータ返信手段)、キャッチアップ命令装置55を備えている。
2) Catch-up control device 50
The catch-up control device 50 calculates data necessary for the agent servers A and B to perform catch-up, performs catch-up execution, and interrupts and resumes its own processing during the catch-up execution. It is a device that controls and the like.
The catch-up control device 50 includes a catch-up data request device 51 (catch-up data request means), a suppression request time calculation device 52, a task interruption time setting device 53, a catch-up data return device 54 (catch-up data return means), and a catch-up command device. 55.

○キャッチアップデータ要求装置51
キャッチアップデータ要求装置51は、操作通番比較装置41からキャッチアップ要求データの発生要求があった場合に、操作コマンドの進度が先行しているサーバ(例えば、リーダサーバL)に対して、当該データを作成し、データ送信装置80により送信する装置である。
○ Catch-up data request device 51
The catch-up data requesting device 51, when there is a request for generating catch-up request data from the operation sequence number comparison device 41, sends the data to the server (for example, the leader server L) that is advanced by the progress of the operation command. This is a device that is created and transmitted by the data transmission device 80.

「キャッチアップ要求データ」は、キャッチアップを実行するサーバが送信するものであり、送信元サーバの装置番号(例えば、エージェントサーバAの装置番号)、送信先サーバの装置番号(例えば、リーダサーバLの装置番号)、相手の操作コマンドに対応するようにキャッチアップを行いたいことを示す識別データ(以下、「キャッチアップ要求タイプ」という。)、キャッチアップ要求コマンドの操作通番(以下、「キャッチアップ要求操作通番」という。)及び後記タスク抑止要求時間のデータを少なくとも含むデータである(図4(c))。   The “catch-up request data” is transmitted by the server that performs the catch-up, and includes the device number of the transmission source server (for example, the device number of the agent server A) and the device number of the transmission destination server (for example, the reader server L). Device number), identification data (hereinafter referred to as “catch-up request type”) indicating that it is desired to perform catch-up to correspond to the operation command of the other party, operation serial number of the catch-up request command (hereinafter referred to as “catch-up”). This is data including at least the request operation serial number ”and the task suppression request time data described later (FIG. 4C).

ここで、キャッチアップ要求操作通番とは、自身の処理が遅れている対象となっているコマンドに対応する操作通番であり、例えば、送信元のエージェントサーバAにおける自己最大操作通番に1を加えた値から通信最大操作通番までの値である。そのため、キャッチアップ要求データの数は、(通信最大操作通番−既処理操作通番)の個数が必要となる。
なお、このキャッチアップ要求データは、個々の操作コマンド毎に送信してもよいが、通信処理の負荷を軽減するためには、キャッチアップを行うことが必要な操作コマンドの数(操作コマンド列)毎にまとめて送信することが好適である。
Here, the catch-up request operation sequence number is an operation sequence number corresponding to a command whose processing is delayed, for example, 1 is added to the self-maximum operation sequence number in the source agent server A. It is a value from the value to the maximum communication operation number. Therefore, the number of catch-up request data needs to be the number of (maximum communication operation sequence number-already processed operation sequence number).
The catch-up request data may be transmitted for each operation command. However, in order to reduce the communication processing load, the number of operation commands that need to be caught up (operation command string). It is preferable to transmit the data collectively at every time.

○抑止要求時間算出装置52
本システムSでは、キャッチアップを実行しているサーバ(以下、「キャッチアップ実行サーバ」という。)のキャッチアップ実行時において、キャッチアップされているサーバ(以下、「被キャッチアップサーバ」という。)が新たな操作コマンドを実行しないように、当該被キャッチアップサーバのタスクの処理を中断させることができるように構成されている。
タスクの処理を中断させるための時間は、操作コマンドの種類及び数により異なってくるが、抑止要求時間算出装置52では、それらを考慮して、必要となるタスクの抑止要求時間を算出するための手段である。
例えば、抑止要求時間として、上記サーバ間通信時間(Δd)、操作コマンドの実行時間(Σn△ln×n)(但し、Σは、(△ln×n)につき1〜nまでの総和をする演算子、Δlnはn番目の操作コマンドの実行時間、nは実行が必要な操作コマンドの数を示す整数値)の和を与えることができる。
○ Suppression request time calculation device 52
In this system S, a server that is being caught up (hereinafter referred to as “catch-up execution server”) during the catch-up execution of a server that is executing the catch-up (hereinafter referred to as “catch-up execution server”). Is configured so that the processing of the task of the catch-up server can be interrupted so that a new operation command is not executed.
The time for suspending task processing differs depending on the type and number of operation commands, but the suppression request time calculation device 52 takes these into consideration and calculates the required task suppression request time. Means.
For example, a request to inhibit time between the server communication time ([Delta] d), the execution of the operation command time (Σ n △ l n × n ) ( where, sigma is the sum of up 1~n per (△ l n × n) ? N n is the execution time of the n-th operation command, and n is an integer value indicating the number of operation commands that need to be executed.

このように、抑止要求時間算出装置52は、操作通番比較装置41によりキャッチアップが必要であると判断された場合に、予め定められているサーバ間通信時間及び操作コマンドの処理時間によりタスク抑止要求時間を計算し、キャッチアップ要求データの一部として受け渡すことができるようになっている。
なお、上記タスク抑止要求時間は、キャッチアップ終了時には、初期設定値である「0」となるように構成されている。
As described above, when the operation sequence number comparison device 41 determines that catch-up is necessary, the suppression request time calculation device 52 determines the task suppression request based on the predetermined inter-server communication time and operation command processing time. Time can be calculated and passed as part of the catch-up request data.
The task suppression request time is configured to be “0”, which is an initial setting value at the end of catch-up.

○タスク中断時刻設定装置53
タスク中断時刻設定装置53は、送信された上記タスク抑止要求時間に対応するように、被キャッチアップサーバに、タスクの中断時刻(以下、「タスク中断時刻」という。)を設定し、当該タスク中断時刻に達するまで、操作コマンドの実行を中断させるための手段である。
本装置では、通常時には、タスク中断時刻は「0」に初期設定されているが、被キャッチアップサーバ(例えば、リーダサーバL)がキャッチアップ要求データを受信すると、当該被キャッチアップサーバの計時機能に基づく現在時刻にタスク抑止要求時間を加算することにより、タスク中断時刻が設定されるようになっている。
○ Task suspension time setting device 53
The task suspension time setting device 53 sets a task suspension time (hereinafter referred to as “task suspension time”) in the catch-up server so as to correspond to the transmitted task suppression request time, and the task suspension time is set. This is means for interrupting the execution of the operation command until the time is reached.
In this apparatus, normally, the task interruption time is initially set to “0”. However, when the catch-up server (for example, the reader server L) receives the catch-up request data, the time keeping function of the catch-up server concerned The task suspension time is set by adding the task suppression request time to the current time based on.

上記タスク中断時刻が設定された被キャッチアップサーバでは、現在時刻がタスク中断時刻を上回る(キャッチアップが終了し、タスク中断時刻が初期設定値である「0」に戻った場合も含む)まで、作業用データベースDに対し、操作コマンドによる処理が実行できないように、演算処理装置に対して、操作コマンド実行中止命令を発することができるようになっている。
これにより、被キャッチアップサーバは、キャッチアップ実行サーバ(例えば、エージェントサーバA)から送信されるキャッチアップ終了データを受信するまで自らの操作コマンドの実行が停止するようになっており、キャッチアップ実行サーバがキャッチアップするまでの間に被キャッチアップサーバのタスクが進行することを抑止することが可能となっている。
In the catch-up server in which the task suspension time is set, until the current time exceeds the task suspension time (including the case where the catch-up is completed and the task suspension time returns to the initial setting value “0”), An operation command execution stop command can be issued to the arithmetic processing unit so that the operation database D cannot be processed with respect to the work database D.
Thus, the catch-up server stops the execution of its own operation command until it receives catch-up end data transmitted from the catch-up execution server (for example, agent server A). It is possible to prevent the task of the server being caught up from progressing until the server catches up.

なお、このタスク中断時刻は、キャッチアップが終了する、すなわち、キャッチアップ終了データが受信されると、初期設定値である「0」となるように構成されている。   The task interruption time is configured to be “0”, which is an initial setting value, when catch-up ends, that is, when catch-up end data is received.

○キャッチアップデータ返信装置54
キャッチアップデータ返信装置54は、データ受信装置85を介して、送信元のサーバ(キャッチアップ実行サーバ、例えば、エージェントサーバA)からキャッチアップ要求データを受信した場合に、キャッチアップ応答データを作成し、データ送信装置80を介して、当該キャッチアップ要求データの送信元のサーバ(被キャッチアップサーバ)に対して返信するための装置である。
○ Catch-up data reply device 54
When the catch-up data reply device 54 receives the catch-up request data from the transmission source server (catch-up execution server, for example, agent server A) via the data receiving device 85, the catch-up data reply device 54 creates catch-up response data. This is a device for sending a reply to the server (catch-up server) that sent the catch-up request data via the data transmitting device 80.

「キャッチアップ応答データ」は、例えば、送信元サーバの装置番号(例えば、リーダサーバLの装置番号)、送信先サーバの装置番号(例えば、エージェントサーバAの装置番号)、被キャッチアップサーバが要求に対応したキャッチアップを許可すること示す識別データ(以下、「キャッチアップ許可タイプ」という。)、キャッチアップ対象コマンドの操作通番(以下、「キャッチアップ許可操作通番」という。)及び当該キャッチアップ許可操作通番に対応する操作コマンド(以下、「キャッチアップ操作コマンド」という。)のデータを少なくとも含むデータである(図4(d))。
なお、キャッチアップ許可操作通番及び当該キャッチアップ許可操作通番に対応する操作コマンドは、自身のキャッシュメモリMに記録されている当該データを複写することで作成されるように構成されている。
The “catch-up response data” is, for example, the device number of the transmission source server (for example, the device number of the reader server L), the device number of the transmission destination server (for example, the device number of the agent server A), and requested by the catch-up server. Identification data (hereinafter referred to as “catch-up permission type”) indicating that a catch-up corresponding to the above is permitted, an operation sequence number of a catch-up target command (hereinafter referred to as “catch-up permission operation sequence number”), and the catch-up permission The data includes at least data of an operation command (hereinafter referred to as “catch-up operation command”) corresponding to the operation serial number (FIG. 4D).
The catch-up permission operation sequence number and the operation command corresponding to the catch-up permission operation sequence number are configured to be created by copying the data recorded in its own cache memory M.

○キャッチアップ命令装置55
キャッチアップ命令装置55は、データ受信装置85を介して、送信先のサーバ(例えば、リーダサーバL)から返信されたキャッチアップ応答データを受信し、キャッチアップ許可操作通番が昇順となるようにキャッシュメモリMに記録させるとともに、作業用データベースDL’のデータに対して、当該キャッチアップ許可操作通番の小さい順にキャッチアップ操作コマンドを実行させるように命令するための装置である。
○ Catch-up instruction device 55
The catch-up command device 55 receives the catch-up response data returned from the destination server (for example, the reader server L) via the data receiving device 85, and caches the catch-up permission operation serial numbers in ascending order. This is a device for recording in the memory M and instructing the data in the work database DL ′ to execute the catch-up operation command in ascending order of the catch-up permission operation serial number.

(その他)
本発明を構成する各サーバは、上記装置の他に、通信手段70、データベース複製装置61及びキャッシュメモリ消去装置62を備えている。
(Other)
Each server constituting the present invention includes a communication means 70, a database replication device 61, and a cache memory erasing device 62 in addition to the above devices.

通信手段70は、データ送信装置80及びデータ受信装置85を備え、通信ネットワークNを介して、発信(被発信)パケットデータ、キャッチアップ要求データ、キャッチアップ応答データ、キャッチアップ終了データ等の各種データの通信を行うための手段である。   The communication means 70 includes a data transmitting device 80 and a data receiving device 85, and various data such as outgoing (called) packet data, catch-up request data, catch-up response data, catch-up end data, etc. via the communication network N. It is means for performing communication.

データベース複製装置61は、タスクの実行開始時において、作業領域に初期のデータベースDを作業用データベースD’として複製することができるようになっている。また、データベース複製装置61は、所定間隔ごと、若しくは、所定の指示を受けることにより、データベースDの複製すること、若しくは、キャッシュメモリM上の状態の永続化を行うとともに、当該永続化を行ったデータベースD、若しくは、キャッシュメモリM上の状態を復元することができるようになっている。   The database replication device 61 can replicate the initial database D as a work database D 'in the work area at the start of task execution. In addition, the database replication device 61 replicates the database D or persists the state on the cache memory M at predetermined intervals or upon receiving a predetermined instruction, and performs the persistence. The state on the database D or the cache memory M can be restored.

キャッシュメモリ消去装置62は、キャッシメモリMの容量の減少を解消するために、当該キャッシュメモリMに記録されている不要なデータ等を適時消去するための装置である。上記のように、データベース複製装置61が作動して、データベースDの複製が行われた後において、それ以前に行われた操作コマンド及び操作通番(以下、「消去予定操作コマンド等データ」という。)を消去することができるように構成されている。   The cache memory erasing device 62 is a device for erasing unnecessary data and the like recorded in the cache memory M in a timely manner in order to eliminate a decrease in the capacity of the cache memory M. As described above, after the database replication device 61 is operated and the database D is replicated, the operation command and operation sequence number previously performed (hereinafter referred to as “data to be erased operation command etc.”) are performed. Is configured to be erased.

ところで、本システムSにおいて、一台のサーバを除いた各サーバが同一のタスクを行っているが、当該一台のサーバの処理が大幅に遅れていて(以下、「遅延状態サーバ」という。)、キャッチアップが必要な場合が存在する場合を想定すると、遅延状態サーバ以外のサーバのデータベースDの複製が行われ、キャッシュメモリMに記録されていた消去予定操作コマンド等データが消去されてしまった場合には、遅延状態サーバはキャッチアップを行うことができないことになってしまう。   By the way, in this system S, each server except one server performs the same task, but the processing of the one server is greatly delayed (hereinafter referred to as “delayed state server”). Assuming that there is a case where catch-up is necessary, the database D of the server other than the delayed server is duplicated, and the data such as the scheduled deletion operation command recorded in the cache memory M is deleted. In some cases, the delayed state server will not be able to catch up.

そこで、このような状態を回避するため、少なくとも、前回データベースの消去が行われてから今回消去が行われるまでに実行された操作コマンドを消去しないこととしておくとともに、消去予定操作コマンド等データに消去時刻データを付加することにより、現在時刻が消去時刻となるまで、キャッシュメモリ消去装置62により、消去予定操作コマンド等データが消去できないようになっている。
なお、消去時刻データは、キャッチアップが可能となる充分な余裕時間を考慮して、予め定められているものである。
Therefore, in order to avoid such a situation, at least, it is decided not to erase the operation commands executed from the previous database erase to the current erase, and to erase the data such as scheduled operation commands to be erased. By adding the time data, the cache memory erasing device 62 cannot erase data such as the scheduled operation command until the current time reaches the erasing time.
Note that the erasure time data is determined in advance in consideration of a sufficient margin time that allows catch-up.

[動作]
図5を参照して、本システムSの動作について説明する。
なお、以下の説明では、各サーバL,A,Bの間で、HB通信が確立していることを前提とする。
[Operation]
The operation of the system S will be described with reference to FIG.
In the following description, it is assumed that HB communication is established between the servers L, A, and B.

初期状態であるリーダサーバLと各エージェントサーバA,Bは、クライアントKからの要求に応じて、所定のアプリケーションに従って、操作コマンド(列)が実行され本件タスクを開始する。本件タスクの実行の前に、作業領域に初期のデータベースDL,DAを複製した作業用データベースDL’,DA’が作成される。そして、当該作業用データベースDL’,DA’に対して、操作コマンドが実行され、自己最大操作通番がキャッシュメモリML,MAに記録、更新される(S1)。このとき、各サーバ間L,A,Bにおいて、発信・被発信パケットデータの送受信が行われており、各送信元最大操作通番のうちで最大の通番のデータが通信最大操作通番として更新されている(S2〜S4)。このとき、自己最大操作通番と通信最大操作通番が、操作通番比較装置41で監視されている。   In response to a request from the client K, the reader server L and each of the agent servers A and B in the initial state execute an operation command (sequence) according to a predetermined application and start this task. Prior to the execution of this task, work databases DL 'and DA' are created by duplicating the initial databases DL and DA in the work area. Then, an operation command is executed for the work databases DL 'and DA', and the self-maximum operation sequence number is recorded and updated in the cache memories ML and MA (S1). At this time, transmission / reception packet data is transmitted / received between the servers L, A, and B, and the data of the maximum sequence number among the transmission source maximum operation sequence numbers is updated as the communication maximum operation sequence number. (S2 to S4). At this time, the self-maximum operation sequence number and the communication maximum operation sequence number are monitored by the operation sequence number comparison device 41.

その後、所定時間が経過し、リーダサーバLと比較して、エージェントサーバAの操作コマンドの進度に遅れが発生し始めたとする。
リーダサーバLのHB通信データ送信装置81Lは、エージェントサーバAに、発信パケットデータを送信し、エージェントサーバAはHB通信データ受信装置86Aにより、当該被発信パケットデータを受信する。操作通番比較装置41Aは、被発信パケットデータの通信最大操作通番の値と、自己最大操作通番の値とを比較し、通信最大操作通番の値が大きいと判断する(S5)。そして、キャッチアップデータ要求装置51に対して、リーダサーバLに対するキャッチアップ要求データの送信等を要求する。
After that, it is assumed that a predetermined time has elapsed and a delay has started in the progress of the operation command of the agent server A as compared with the reader server L.
The HB communication data transmitter 81L of the reader server L transmits outgoing packet data to the agent server A, and the agent server A receives the outgoing packet data by the HB communication data receiver 86A. The operation sequence number comparison device 41A compares the communication maximum operation sequence number value of the transmitted packet data with the self maximum operation sequence number and determines that the communication maximum operation sequence number is large (S5). Then, the catch-up data requesting device 51 is requested to transmit catch-up request data to the reader server L.

要求を受けたキャッチアップデータ要求装置51Aは、エージェントサーバAがリーダサーバLと比較して、操作コマンドの進度が遅れていることを認識する。そして、キャッチアップするために必要となるキャッチアップ要求操作通番を決定するとともに、抑止要求時間算出装置52Aから算出されたタスク抑止要求時間からデータの引渡しを受けることにより、当該リーダサーバLに対するキャッチアップ要求データを作成し、データ送信装置80Aにより送信する(S6)。   Upon receiving the request, the catch-up data requesting device 51A recognizes that the agent server A is behind the leader server L and the progress of the operation command is delayed. Then, the catch-up request operation sequence number required for catch-up is determined, and the catch-up for the reader server L is received by receiving the delivery of data from the task suppression request time calculated from the suppression request time calculation device 52A. Request data is created and transmitted by the data transmission device 80A (S6).

キャッチアップ要求データを受信したリーダサーバLは、自身のキャッシュメモリMLに記録されている自己最大操作通番と、当該自己最大操作通番に対応する操作コマンドを複写することにより、キャッチアップ応答データを作成し、キャッチアップデータ返信装置54L及びデータ送信装置80Lを介して、送信元であるエージェントサーバAに返信する(S7)。   Upon receiving the catch-up request data, the reader server L creates catch-up response data by copying the self-maximum operation sequence number recorded in its own cache memory ML and the operation command corresponding to the self-maximum operation sequence number. Then, the message is returned to the agent server A that is the transmission source via the catch-up data return device 54L and the data transmission device 80L (S7).

また、タスク中断時刻設定装置53Lにより、キャッチアップ要求データに記録されているタスク抑止要求時間と、キャッチアップに必要な要求コマンドの総数を考慮し、タスク中断時刻を算出する。そして、演算処理装置(図示せず)に対して、操作コマンド実行中止命令を発し、データベースDL’に対する操作コマンドの実行を停止する(S8)。   The task suspension time setting device 53L calculates the task suspension time in consideration of the task suppression request time recorded in the catch-up request data and the total number of request commands required for catch-up. Then, an operation command execution stop command is issued to the arithmetic processing unit (not shown), and the execution of the operation command for the database DL 'is stopped (S8).

データ受信装置85Aを介して、送信先のリーダサーバLから返信されたキャッチアップ応答データを受信したエージェントサーバAは、自身のキャッシュメモリMAに、キャッチアップ許可操作通番が昇順となるように記録する。そして、キャッチアップ命令装置55Aは作業用データベースDA’のデータに対して、キャッチアップ許可操作通番の小さい順にキャッチアップ操作コマンドを実行させるように命令し、操作実行手段(図示せず)を介して、演算処理等の操作コマンドを実行することにより本件タスクを行い、自身のデータベースDA’の状態をリーダサーバLのデータベースDL’の状態に一致させることになる(S9)。   The agent server A that has received the catch-up response data returned from the destination reader server L via the data receiving device 85A records the catch-up permission operation sequence number in ascending order in its own cache memory MA. . Then, the catch-up instruction device 55A instructs the data in the work database DA ′ to execute the catch-up operation command in ascending order of the catch-up permission operation sequence number, and via an operation execution means (not shown). The task is performed by executing an operation command such as arithmetic processing, and the state of its own database DA ′ is matched with the state of the database DL ′ of the reader server L (S9).

その後、キャッチアップ状態判定装置42Aは、自己最大操作通番の値がキャッチアップ許可操作通番の最大値に達した場合には、キャッチアップを終了し、キャッチアップ要求データを送信したリーダサーバLに対して、データ送信装置80Aを介して、キャッチアップ終了データを送信する(S10,S11)。
なお、このとき、抑止時間が初期設定値である「0」にリセットされる。
Thereafter, when the value of the self-maximum operation sequence number reaches the maximum value of the catch-up permission operation sequence number, the catch-up state determination device 42A ends the catch-up and sends the catch-up request data to the reader server L that has transmitted the catch-up request data. Then, the catch-up end data is transmitted via the data transmitting device 80A (S10, S11).
At this time, the suppression time is reset to “0” which is an initial setting value.

また、被キャッチアップサーバであるリーダサーバLが、キャッチアップ終了データを受信したときは、タスク中断時刻が初期設定値である「0」とリセットされ、演算処理装置に対する操作コマンド実行中止命令が解除される(S12)。これにより、リーダサーバLの操作コマンドは通常通りの実行を開始し、タスクが進行することになる。   In addition, when the catch-up server leader server L receives catch-up completion data, the task suspension time is reset to the initial value “0”, and the operation command execution suspension instruction for the arithmetic processing unit is canceled. (S12). As a result, the operation command of the reader server L starts to be executed as usual, and the task proceeds.

なお、本システムSの動作中において、データベース複製装置61L,61Aにより、一定の期間毎に、その時点での作業用データベースDL’,DA’の複製が行われ、消去時刻になった場合には、キャッシュメモリML,MAに保存されていた、消去予定操作コマンド等のデータも消去されることになる。   During the operation of the system S, when the database replication devices 61L and 61A replicate the work databases DL ′ and DA ′ at that point in time at regular intervals, and the deletion time comes. The data such as the scheduled deletion operation command stored in the cache memories ML and MA is also deleted.

[作用効果]
上記のように、本システムSによれば、各サーバL,A,Bは、自身以外の総てのサーバに対して、HB通信データ送信装置81及びHB通信データ受信装置86により、一定時間間隔で、各サーバL,A,B間において、発信パケットデータ及び被発信パケットデータを送受信している。このように、常時、各サーバのタスクの進行状況を確認しているため、自身のタスクが他のサーバのタスクから遅れたことを即座に認識することができる。そして、発信パケットデータ及び被発信パケットデータを送受信することにより、自身以外の各サーバL,A,Bの操作コマンドの実行状況(タスクの処理状況)を把握することができ、キャッチアップデータ要求装置51により、通信最大操作通番の値が、自己最大操作通番の値より大きいときに、自身のサーバのキャッチアップの必要性を認識し、キャッチアップ操作通番データに対応した操作を、上記データベースDのデータに適用することができる。これらの一連の動作により、データベースDの動的なキャッチアップ処理を、自律的にかつ非常に迅速に行うことができる。
[Function and effect]
As described above, according to the present system S, each of the servers L, A, and B is set at regular intervals by the HB communication data transmitting device 81 and the HB communication data receiving device 86 with respect to all the servers other than itself. Thus, outgoing packet data and outgoing packet data are transmitted and received between the servers L, A, and B. Thus, since the progress of the task of each server is always checked, it can be immediately recognized that its own task is delayed from the task of the other server. Then, by transmitting and receiving outgoing packet data and outgoing packet data, it is possible to grasp the execution status (task processing status) of the operation commands of the servers L, A, and B other than itself, and the catch-up data requesting device 51 Thus, when the value of the communication maximum operation sequence number is larger than the value of the self-maximum operation sequence number, the necessity of catching up its own server is recognized, and the operation corresponding to the catchup operation sequence number data is Can be applied to. With these series of operations, the dynamic catch-up process of the database D can be performed autonomously and very quickly.

各サーバL,A,Bは、同一のデータベースDL,DA,DBを有しており、本発それらの各サーバのうち1台でも稼働していれば、他のサーバはキャッチアップを実行することができる。ここで、サーバ数をN、各サーバの1台当たりの故障率をrとすれば、本システムがキャッチアップ不能な状態となる確率は、1−rN(Paxosの場合には、1−rN/2)であるが、現実的に各サーバの故障率が小さいことからすれば、非常に高確率でシステム全体の耐障害性を高めることができる。 Each server L, A, B has the same database DL, DA, DB, and if one of these servers is running, the other servers will perform catch-up Can do. Here, if the number of servers is N and the failure rate per server is r, the probability that the system will be unable to catch up is 1-r N (in the case of Paxos, 1-r N / 2 ), but if the failure rate of each server is actually small, the fault tolerance of the entire system can be improved with a very high probability.

また、上記のようにキャッチアップ要求データを受信したリーダサーバLは、それ以降からキャッチアップ終了データを受信する間、自身のデータベースDLに対する操作を中断することになるため、キャッチアップ作業中に、被キャッチアップサーバであるリーダサーバLのタスクが進行することを抑止できる。   In addition, since the reader server L that has received the catch-up request data as described above interrupts the operation on its own database DL while receiving the catch-up end data from then on, during the catch-up work, It is possible to prevent the task of the reader server L that is the catch-up server from progressing.

また、本システムSによれば、キャッチアップ操作通番データ等が、キャッシュメモリMに記憶させられるようになっているため、キャッチアップを迅速に行うことができる。   Further, according to the present system S, since the catch-up operation sequence number data and the like are stored in the cache memory M, catch-up can be performed quickly.

さらに、データベースDのバックアップを行う際に、キャッシュメモリMに記録されていた消去予定操作コマンド等データが不用意に消去されることを回避するため、消去予定操作コマンド等データに消去時刻データが付加されている。これにより、現在時刻が消去時刻となるまで、キャッシュメモリ消去装置62により、消去予定操作コマンド等データが消去されることを防止することができる。   Further, when performing backup of the database D, the erasure time data is added to the erasure scheduled operation command data in order to prevent the erasure scheduled operation command data recorded in the cache memory M from being inadvertently erased. Has been. As a result, it is possible to prevent the cache memory erasing device 62 from erasing data such as the scheduled operation command until the current time reaches the erasing time.

[Paxos装置との関係]
本発明は、Paxos装置Pに使用の有無に関わらず適用可能であるが、上記実施形態にように、Paxos装置Pを使用した場合には、特有の事象が生じ得ることになる。
すなわち、Paxos装置Pにおいては、上記分散コンピューティング用プログラムに従って、過半数以上のサーバにより合意形成された操作コマンドを実行し、本件タスクを行うことができるようになっている。一方、キャッチアップ実行サーバがキャッチアップを行っている場合において、当該キャッチアップ実行サーバと被キャッチアップサーバ(以下、「キャッチアップ関連サーバ」という。)はこの合意形成には関与せず、他のサーバにより合意形成がなされて、本システムSが実行すべき操作コマンドが決定される場合が生じ得る。このときには、キャッチアップ関連サーバの処理とは無関係に、他のサーバのタスクが進行してしまう事態が生じてしまうことになる。この場合において、当該キャッチアップ関連サーバは、他のサーバに対して、タスクの進度が遅れてしまうことが生じ得るが、上記説明と同様な方法によりキャッチアップ関連サーバのキャッチアップが行われることにより対応可能であるため、特段の問題が生じることはない。
[Relationship with Paxos device]
The present invention can be applied to the Paxos apparatus P regardless of whether or not it is used. However, when the Paxos apparatus P is used as in the above-described embodiment, a unique event can occur.
That is, in the Paxos apparatus P, according to the distributed computing program, an operation command agreed upon by a majority of servers or more can be executed to perform this task. On the other hand, when the catch-up execution server is performing the catch-up, the catch-up execution server and the catch-up server (hereinafter referred to as “catch-up related server”) are not involved in this consensus formation, There may be a case where an agreement is made by the server and an operation command to be executed by the system S is determined. At this time, regardless of the processing of the catch-up related server, a situation in which the task of the other server progresses occurs. In this case, the catch-up related server may cause the progress of the task to be delayed with respect to other servers, but the catch-up related server is caught up in the same manner as described above. Since it is possible to deal with, there is no particular problem.

以上、本発明について、好適な実施形態についての一例を説明したが、本発明は当該実施形態に限られず、本発明の趣旨を逸脱しない範囲で適宜設計変更が可能である。
上記実施形態では、情報処理装置は、3台のサーバの場合を例として説明したが、複数台のコンピューティングデバイスであれば、その種類や数はこれに限られるものではない。また、複数台の情報処理装置は、インターネットやLAN以外にも、どのような接続手段により接続されているものであってもよい。
As mentioned above, although an example about a suitable embodiment was explained about the present invention, the present invention is not restricted to the embodiment concerned, and a design change is possible suitably in the range which does not deviate from the meaning of the present invention.
In the above-described embodiment, the information processing apparatus has been described by taking the case of three servers as an example. However, the type and number of information processing apparatuses are not limited to this as long as they are a plurality of computing devices. Further, the plurality of information processing apparatuses may be connected by any connection means other than the Internet and the LAN.

また、上記実施形態では、通信データ制御手段において通信方式としてUDPを使用することを前提とした場合について説明したが、通信方式は上記のようにハートビートの送受信をする技術に限らず、TCP等の通信方式を使用したものであってもよい。
また、通信最大操作通番などのキャッチアップに必要となるデータは、発信パケットデータ及び被発信パケットデータ以外の、各サーバ間における通信データに記録させるものであってもよいことは勿論である。
In the above-described embodiment, the communication data control unit is assumed to use UDP as a communication method. However, the communication method is not limited to the technology for transmitting and receiving heartbeats as described above, and TCP and the like. The communication method may be used.
Of course, data necessary for catch-up such as the maximum communication operation sequence number may be recorded in communication data between servers other than outgoing packet data and outgoing packet data.

S 分散コンピューティングシステム
N ネットワーク
K クライアント
L リーダサーバ
A,B エージェントサーバ
P Paxos装置
4L,4A,4B 合意形成部
5L,5A,5B 実行部
DL,DA,DB データベース(初期データベース)
D’ 作業用データベース
M キャッシュメモリ
10 通信データ制御手段
20 HB通信制御装置
21 HB通信データ作成装置
22 HB通信状態確認装置
23 HB通信データ記憶装置
30 キャッチアップ制御手段
40 キャッチアップ判定装置
41 操作通番比較装置(操作通番比較手段)
42 キャッチアップ状態判定装置
50 キャッチアップ統括装置
51 キャッチアップデータ要求装置(キャッチアップデータ要求手段)
52 抑止要求時間算出装置
53 タスク中断時刻設定装置
54 キャッチアップデータ返信装置(キャッチアップデータ返信手段)
55 キャッチアップ命令装置
61 データベース複製装置
62 キャッシュメモリ消去装置
70 通信手段
80 データ送信装置
81 HB通信データ送信装置(発信パケットデータ送信手段)
85 データ受信装置
86 HB通信データ受信装置(被発信パケットデータ受信手段)
S distributed computing system N network K client L leader server A, B agent server P Paxos devices 4L, 4A, 4B consensus building units 5L, 5A, 5B execution units DL, DA, DB database (initial database)
D 'work database M cache memory 10 communication data control means 20 HB communication control apparatus 21 HB communication data creation apparatus 22 HB communication state confirmation apparatus 23 HB communication data storage apparatus 30 catch-up control means 40 catch-up determination apparatus 41 operation serial number comparison Equipment (operation serial number comparison means)
42 Catch-up state determination device 50 Catch-up control device 51 Catch-up data request device (catch-up data request means)
52 Suppression Request Time Calculation Device 53 Task Interrupt Time Setting Device 54 Catch-up Data Reply Device (Catch-up Data Reply Unit)
55 Catch-up instruction device 61 Database replication device 62 Cache memory erasing device 70 Communication means 80 Data transmission device 81 HB communication data transmission device (outgoing packet data transmission means)
85 Data receiving device 86 HB communication data receiving device (transmitted packet data receiving means)

Claims (4)

各々がネットワークで接続されている複数の情報処理装置から構成され、
前記各情報処理装置は、同一の初期状態であるデータベースと、
操作の順番を示す操作通番と当該操作通番に一対一で対応する操作コマンドに対応して、前記データベースに格納されているデータに対して処理を実行するための操作実行手段と、を備え、
前記各情報処理装置が同一の前記操作コマンドを実行することにより同一のタスクを行う分散コンピューティングシステムにおいて、
さらに、前記各情報処理装置は、
前記ネットワークを介して、自身以外の前記各情報処理装置に対して所望の時間間隔で
送信時間データと、自身が処理した最新の前記操作コマンドに対応する操作通番である自己最大操作通番データとを含む発信データを送信するための発信データ送信手段と、
前記ネットワークを介して、前記自身以外の前記各情報処理装置から所望の時間間隔で送信された、
送信時間データと、前自身以外の各情報処理装置が処理した最新の前記操作コマンドに対応する操作通番である送信元最大操作通番データとを含む被発信データを受信するための被発信データ受信手段と、
自身以外の前記情報処理装置から送信された前記送信元最大操作通番データと、前記被発信データを受信した時点における自己最大操作通番データとを比較する操作通番比較手段と、
前記送信元最大操作通番データが、前記自己最大操作通番データより大きいときに、送信元の前記情報処理装置に対して、処理状態のキャッチアップに必要となるキャッチアップ操作通番データ及び前記キャッチアップ操作通番データに対応するキャッチアップ操作コマンドを有するキャッチアップデータの返信を要求するキャッチアップデータ要求手段と、
前記キャッチアップデータの返信要求をうけ、当該キャッチアップデータを返信するキャッチアップデータ返信手段とを備え、
前記キャッチアップデータを受信した前記情報処理装置は、前記操作実行手段により、前記キャッチアップ操作通番データに対応した操作コマンドを、前記情報処理装置の処理状態に適用することにより、前記送信元の前記情報処理装置の処理状態を複製し、キャッチアップすることを特徴とする分散コンピューティングシステム。
Each is composed of multiple information processing devices connected via a network,
Each of the information processing devices has the same initial state database;
An operation execution means for executing processing on data stored in the database in response to an operation sequence number indicating an operation order and an operation command corresponding to the operation sequence number on a one-to-one basis;
In a distributed computing system in which each information processing apparatus performs the same task by executing the same operation command,
Further, each of the information processing devices
Via the network, transmission time data for each information processing apparatus other than itself at desired time intervals, and self-maximum operation sequence number data that is an operation sequence number corresponding to the latest operation command processed by itself. Outgoing data transmission means for transmitting outgoing data including:
Transmitted from the respective information processing devices other than the device at a desired time interval via the network,
Transmitted data receiving means for receiving transmitted data including transmission time data and source maximum operation sequence number data that is an operation sequence number corresponding to the latest operation command processed by each information processing device other than itself When,
Operation sequence number comparison means for comparing the transmission source maximum operation sequence number data transmitted from the information processing apparatus other than itself and the self-maximum operation sequence number data at the time of receiving the transmitted data;
When the transmission source maximum operation sequence number data is larger than the self-maximum operation sequence number data, the catch-up operation sequence number data and the catch-up operation necessary for catching up the processing state for the information processing apparatus of the transmission source Catch-up data request means for requesting a reply of catch-up data having a catch-up operation command corresponding to the serial number data;
A catch-up data reply means for receiving a reply request for the catch-up data and returning the catch-up data;
The information processing apparatus that has received the catch-up data applies the operation command corresponding to the catch-up operation sequence number data to the processing state of the information processing apparatus by the operation executing means, thereby the information of the transmission source A distributed computing system, wherein a processing state of a processing device is copied and caught up.
前記キャッチアップ操作通番データと、前記キャッチアップ操作通番データに対応する操作コマンドが、前記情報処理装置のキャッシュメモリに記憶させられるようになっていることを特徴とする請求項1に記載の分散コンピューティングシステム。   2. The distributed computer according to claim 1, wherein the catch-up operation sequence number data and an operation command corresponding to the catch-up operation sequence number data are stored in a cache memory of the information processing apparatus. System. 前記パケットデータ送信手段は、一定時間間隔で、前記各情報処理装置との間で、前記発信データを送信していることを特徴とする請求項1又は請求項2に記載の分散コンピューティングシステム。   3. The distributed computing system according to claim 1, wherein the packet data transmission unit transmits the outgoing data to and from each of the information processing apparatuses at a constant time interval. 前記キャッチアップを行っている前記情報処理装置は、前記キャッチアップの終了後に、キャッチアップ終了データを前記送信元の前記情報処理装置に送信することができるようになっており、
前記送信元の前記情報処理装置は、当該キャッチアップデータの受信後から前記キャッチアップ終了データを受信する間、自身の処理状態に対する前記操作コマンドの実行を中断するように構成されていることを特徴とする請求項1乃至請求項3のいずれか1項に記載の分散コンピューティングシステム。
The information processing apparatus performing the catch-up can transmit catch-up end data to the information processing apparatus of the transmission source after the end of the catch-up,
The information processing apparatus as the transmission source is configured to interrupt the execution of the operation command for its own processing state while receiving the catch-up end data after receiving the catch-up data. The distributed computing system according to any one of claims 1 to 3.
JP2010127356A 2010-06-02 2010-06-02 Distributed computing system Expired - Fee Related JP4981951B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010127356A JP4981951B2 (en) 2010-06-02 2010-06-02 Distributed computing system
PCT/JP2011/058549 WO2011152118A1 (en) 2010-06-02 2011-04-04 Distributed computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010127356A JP4981951B2 (en) 2010-06-02 2010-06-02 Distributed computing system

Publications (2)

Publication Number Publication Date
JP2011253390A true JP2011253390A (en) 2011-12-15
JP4981951B2 JP4981951B2 (en) 2012-07-25

Family

ID=45066504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010127356A Expired - Fee Related JP4981951B2 (en) 2010-06-02 2010-06-02 Distributed computing system

Country Status (2)

Country Link
JP (1) JP4981951B2 (en)
WO (1) WO2011152118A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013190879A (en) * 2012-03-12 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> Computer system and system control method
WO2013168258A1 (en) * 2012-05-10 2013-11-14 三菱電機株式会社 Standby dual redundant system
WO2015033410A1 (en) * 2013-09-04 2015-03-12 株式会社東芝 Information processing system, server device, information processing method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345640A (en) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp Data backup system
JP2005196763A (en) * 2003-12-30 2005-07-21 Microsoft Corp Simplified paxos
JP2005526298A (en) * 2001-07-16 2005-09-02 ビーイーエイ システムズ, インコーポレイテッド Data replication protocol
JP2006155614A (en) * 2004-11-23 2006-06-15 Microsoft Corp GENERALIZED Paxos
JP2009223780A (en) * 2008-03-18 2009-10-01 Hitachi Ltd Data replication method and data replication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005526298A (en) * 2001-07-16 2005-09-02 ビーイーエイ システムズ, インコーポレイテッド Data replication protocol
JP2003345640A (en) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp Data backup system
JP2005196763A (en) * 2003-12-30 2005-07-21 Microsoft Corp Simplified paxos
JP2006155614A (en) * 2004-11-23 2006-06-15 Microsoft Corp GENERALIZED Paxos
JP2009223780A (en) * 2008-03-18 2009-10-01 Hitachi Ltd Data replication method and data replication system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013190879A (en) * 2012-03-12 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> Computer system and system control method
WO2013168258A1 (en) * 2012-05-10 2013-11-14 三菱電機株式会社 Standby dual redundant system
JPWO2013168258A1 (en) * 2012-05-10 2015-12-24 三菱電機株式会社 Standby redundant unit
WO2015033410A1 (en) * 2013-09-04 2015-03-12 株式会社東芝 Information processing system, server device, information processing method and program
JPWO2015033410A1 (en) * 2013-09-04 2017-03-02 株式会社東芝 Information processing system, server device, information processing method, and program
US10165086B2 (en) 2013-09-04 2018-12-25 Kabushiki Kaisha Toshiba Information processing system, server apparatus, information processing method, and computer program product

Also Published As

Publication number Publication date
JP4981951B2 (en) 2012-07-25
WO2011152118A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
CN110071821B (en) Method, node and storage medium for determining the status of a transaction log
US9569517B1 (en) Fault tolerant distributed key-value storage
WO2016070375A1 (en) Distributed storage replication system and method
JP2007279890A (en) Backup system and method
US9052833B2 (en) Protection of former primary volumes in a synchronous replication relationship
JP2004534414A (en) Router and routing protocol redundancy
CN104335159A (en) Interval-controlled replication
US20160092324A1 (en) Fast single-master failover
JP2006260355A (en) Storage system and storage control method
CN110545203B (en) Method for establishing initial resource backup pool and self-healing repair of cloud platform by cloud platform
CN105493474A (en) System and method for supporting partition level journaling for synchronizing data in a distributed data grid
JP2006164080A (en) Data processing method and system
US7890715B2 (en) Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller
JP4981951B2 (en) Distributed computing system
CN114138732A (en) Data processing method and device
US20090150459A1 (en) Highly available multiple storage system consistency heartbeat function
JP2007207250A (en) Software duplication
US10809938B2 (en) Synchronized safe data commit scans in multiple data storage systems
US10645163B2 (en) Site-aware cluster management
US20220086037A1 (en) Technique for Connection Handling in a Distributed System
KR102294048B1 (en) Method and system for replicating blockchain application service
US10740007B2 (en) Synchronized primary-secondary role swaps with synchronized safe data commit scans
Toader Increasing reliability of web services
US7587628B2 (en) System, method and computer program product for copying data
JP2007264770A (en) Database access method and device

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111207

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20111220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120308

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: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120420

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4981951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees