JP4981951B2 - 分散コンピューティングシステム - Google Patents

分散コンピューティングシステム Download PDF

Info

Publication number
JP4981951B2
JP4981951B2 JP2010127356A JP2010127356A JP4981951B2 JP 4981951 B2 JP4981951 B2 JP 4981951B2 JP 2010127356 A JP2010127356 A JP 2010127356A JP 2010127356 A JP2010127356 A JP 2010127356A JP 4981951 B2 JP4981951 B2 JP 4981951B2
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.)
Expired - Fee Related
Application number
JP2010127356A
Other languages
English (en)
Other versions
JP2011253390A (ja
Inventor
典孝 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Priority to PCT/JP2011/058549 priority patent/WO2011152118A1/ja
Publication of JP2011253390A publication Critical patent/JP2011253390A/ja
Application granted granted Critical
Publication of JP4981951B2 publication Critical patent/JP4981951B2/ja
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)

Description

本発明はデータベース等の状態のキャッチアップが可能である分散コンピューティングシステムに関する。
クラウドコンピューティングに代表されるように、近年では、通信ネットワークの発達により、分散コンピューティングシステムが発達している。この分散コンピューティングシステムでは、複数のサーバが、同時並行的にそれぞれの処理を実行し、ネットワークを介して互いに通信しあうことにより、その処理を行っている。
このような分散コンピューティングシステムにおいては、当該システムを構成するサーバに障害が発生した場合であっても、提供するサービスを継続することが求められているため、現行系サーバと待機系サーバ群を備える冗長構成が採用されていることが一般的である。
上記冗長構成の分散コンピューティングシステムでは、現行系サーバに障害等が発生した場合、待機系サーバに切り替えることによってサービスを継続させることが可能となる。そのような耐障害性を高めるためには、各待機系サーバが現行系サーバのオリジナルデータベース等の状態と、同一のレプリカデータベース等の状態を保持している必要がある。そのため、いずれかの待機系サーバに障害が生じた場合には、レプリカデータベース等の状態の復旧を行い、オリジナルデータベース等の状態と同一性を保つ、すなわちキャッチアップしておく必要がある。
従来のデータベースのキャッチアップ方法の1つとしては、以下の方法が存在する。すなわち、バックアップ時におけるデータベースと、当該バックアップ時と次の時点のバックアップ時までにデータベースに対して行った操作コマンド列をジャーナルとして永続化保存する。そして、障害等発生時には、バックアップ時を初期状態とし、当該初期状態のデータに、順次、記憶されている操作コマンド列を実行することにより、所定の状態にまでデータベースを回復する方法である。
ところで、上記方法では、キャッチアップをしている間に、現行系サーバが処理を実行してしまっている場合には、さらに、最新の状態となるまで、データベースのキャッチアップをしなければならない。そこで、オリジナルデータベースを有するサーバ(情報処理装置)からレプリカデータベースを有するサーバへと更新情報(データベース更新情報)を順次に通知し、更新情報が通知されたサーバのデータベースに当該更新情報を反映させることにより、順次、データベースを同一内容に更新するデータベースのキャッチアップ技術が存在している(特許文献1)。
特開平11−296422号公報
しかし、従来のキャッチアップシステムでは、複製先情報を各サーバのみにおいて管理しているため、更新情報を通知した先のサーバに障害が発生しているような場合、該障害の発生しているサーバ及びその先のサーバではデータベースの更新ができなくなってしまうため、更新が必要な全てのデータベース等の状態を更新することができないことがあった。
また、上記キャッチアップでは、現行系サーバがキャッチアップの指示を統括することになるため、自律的なキャッチアップをするものではなく、また、キャッチアップ時には、他の全てのサーバの動作を停止し、操作列を同期させてから再始動を行うという静的な処理を行うことができるにすぎないという課題が存在していた。
本発明は、上記の問題点を解決するためになされたものであり、高速かつ自律的に、情報処理装置の処理状態に対する動的なキャッチアップが可能となる分散コンピューティングシステムを提供することを目的とする。
上記課題を解決するために、本発明の分散コンピューティングシステムは、各々がネットワークで接続されている複数の情報処理装置から構成され、前記各情報処理装置は、同一の初期状態であるデータベースと、操作の順番を示す操作通番と当該操作通番に一対一で対応する操作コマンドに対応して、前記データベースに格納されているデータに対して処理を実行するための操作実行手段と、を備え、前記各情報処理装置が、Paxosによって過半数以上のサーバにより合意形成された同一の前記操作コマンドを実行することにより同一のタスクを行う分散コンピューティングシステムにおいて、さらに、前記各情報処理装置は、前記ネットワークを介して、自身以外の前記各情報処理装置に対して所望の時間間隔で送信時間データと、自身が処理した最新の前記操作コマンドに対応する操作通番である自己最大操作通番データとを含む発信データを送信するための発信データ送信手段と、前記ネットワークを介して、前記自身以外の前記各情報処理装置から所望の時間間隔で送信された、送信時間データと、前自身以外の各情報処理装置が処理した最新の前記操作コマンドに対応する操作通番である送信元最大操作通番データとを含む被発信データを受信するための被発信データ受信手段と、自身以外の前記情報処理装置から送信された前記送信元最大操作通番データと、前記被発信データを受信した時点における自己最大操作通番データとを比較する操作通番比較手段と、前記送信元最大操作通番データが、前記自己最大操作通番データより大きいときに、送信元の前記情報処理装置に対して、処理状態のキャッチアップに必要となるキャッチアップ操作通番データ及び前記キャッチアップ操作通番データに対応するキャッチアップ操作コマンドを有するキャッチアップデータの返信を要求するキャッチアップデータ要求手段と、前記キャッチアップデータの返信要求をうけ、当該キャッチアップデータを返信するキャッチアップデータ返信手段とを備え、前記キャッチアップデータを受信した前記情報処理装置は、前記操作実行手段により、前記キャッチアップ操作通番データに対応した操作コマンドを、前記情報処理装置の処理状態に適用することにより、前記送信元の前記情報処理装置の処理状態を複製して、キャッチアップすることを特徴としている。
ここで、キャッチアップとは、自身の情報処理装置の処理状態(例えば、データベースに格納されているデータ等の処理状態)が、自身以外の他の情報処理装置の処理状態と比較して遅れている場合において、先行する情報処理装置の処理状態に追いつくように自身の処理状態に対して操作コマンドの実行を行い、自身の情報処理装置の処理状態と、自身以外の他の情報処理装置の処理状態を同一化することをいう。
また、上記情報処理装置の処理状態は、ある一時点における処理状態に操作コマンド列を実行させることにより変化していくものであり、データベースのみならずメモリ上の対象となる状態(例えば排他用資源)をも含む概念である。
本発明によれば、各情報処理装置は、自身以外の総ての前記各情報処理装置に対して、発信データ送信手段及び被発信データ受信手段を備え、発信データ及び被発信データを送受信することにより、自身以外の各情報処理装置のタスクの処理状況を把握することができる。そして、キャッチアップデータ要求手段により、自身以外の情報処理装置の最新のタスクの処理状況を示す送信元最大操作通番データが、自己最大操作通番データより大きいときに、自身の情報処理装置のキャッチアップの必要性を認識し、キャッチアップ操作通番データを他の情報処理装置から送信を受けることができる。その後、当該キャッチアップ操作通番データに対応した操作コマンドを自身の処理状態に適用することにより、処理状態のキャッチアップを行うことができる。このように、情報処理装置の処理状態のキャッチアップを自律的かつ動的に行うことができる。
また、前記分散コンピューティングシステムにおいて、前記キャッチアップ操作通番データと、前記キャッチアップ操作通番データに対応する操作コマンドが、前記情報処理装置のキャッシュメモリに記憶させられるようになっていることが好適である。
本発明によれば、前記キャッチアップ操作通番データ等が、キャッシュメモリに記憶させられるようになっているため、処理状態のキャッチアップを迅速に行うことができる。
前記分散コンピューティングシステムにおいて、前記発信データ送信手段は、一定時間間隔で、前記各情報処理装置との間で、前記発信データを送受信していることが好適である。
本発明によれば、発信データ送信手段は、一定時間間隔で各情報処理装置との間で発信データを送信し、被発信データを受信することにより、常時、各情報処理装置のタスクの進行状況を確認しているため、自身のタスクが他の情報処理装置のタスクから遅れたことを即座に認識し、自律的かつ迅速に、処理状態のキャッチアップを実行できる。
前記分散コンピューティングシステムにおいて、前記キャッチアップ処理を行っている前記情報処理装置(以下、「キャッチアップ実行情報処理装置」という。)は、前記キャッチアップ処理の終了後に、キャッチアップ終了データを前記送信元の前記情報処理装置(以下、「被キャッチアップ情報処理装置」という。)に送信することができるようになっており、前記送信元の前記情報処理装置は、当該キャッチアップデータの受信後から前記キャッチアップ終了データを受信する間、自身の処理状態に対する前記操作コマンドの実行を中断するように構成されていることが好適である。
本発明によれば、キャッチアップデータの返信の要求を受けた被キャッチアップ情報処理装置は、キャッチアップデータを返信した後からキャッチアップ終了データを受信する間、自身のデータベースに対する操作コマンドの実行を中断するように構成されているため、キャッチアップ実行情報処理装置のキャッチアップ作業中に、被キャッチアップ情報処理装置のタスクが進行することを抑止することができる。
本発明によれば、高速かつ自律的に、情報処理装置の処理状態に対する動的なキャッチアップが可能となる分散コンピューティングシステムを提供することができる。
本発明の分散コンピューティングシステムを示す概要図である。 本発明の分散コンピューティングシステムを示す全体構成図である。 本発明の分散コンピューティングシステムの構成要素であるサーバの構成図である。 (a)発信パケットデータの概念図である。 (b)キャッチアップ終了データの概念図である。 (c)キャッチアップ要求データの概念図である。 (d)キャッチアップ応答データの概念図である。 本発明の分散コンピューティングシステムの動作を示すフロー図である。
本発明を実施するための一形態(以下、「実施形態」という。)について、図面を参照して詳細に説明する。
本発明の分散コンピューティングシステムS(以下、「本システム」という。)は、複数台のコンピューティングデバイス(情報処理装置)がインターネット及びLAN等の通信ネットワークNを介して接続されていることにより構成されている。以下、説明の便宜上、一台のリーダサーバLと、2台のエージェントサーバA,B(以下、3台のサーバを総称して「各サーバ」という場合がある。)を例とし、処理状態として、データベースDのキャッチアップを行う場合について説明する。
なお、上記各サーバL,A,Bは、名称を変えて説明しているが、その構成は同様であり、それぞれがクライアントKの要求に応じて他のサーバの役割を担える装置となっている。そのため、同一の構成要素を説明するに際し、当該構成要素を総称する場合には同一の符号を付すことを原則とするが、サーバの違いによる構成要素の違いを表す際には当該符号の末尾にさらに、L,A,Bを付して区別するものとする(但し、符号は図示していない場合がある)。
また、以下は、説明の便宜上、特に断らない限り、送信元をリーダサーバLとし、受信元及び返信元をエージェントサーバA,Bとする。また、エージェントサーバA,Bのうち、リーダサーバLと比較してタスクが遅れている装置は、エージェントサーバAとし、当該エージェントサーバAが、リーダサーバLに対して、データベースDAのキャッチアップ(以下、単に「キャッチアップ」という。)を行う場合を想定して説明を行う。
なお、各エージェントサーバA,Bの間でもタスクの遅れが生じることがありうるが、本システムSでは、そのような場合にも各装置が動作して、同様のキャッチアップが可能となっている。
〔本システムSの全体構成〕
図1及び図2に示すように、本実施形態の分散コンピューティングシステムSは、3台のサーバL,A,Bから構成されている。各サーバL,A,Bは、互いに通信可能に接続され、それらのIPアドレスを把握するクライアントKにネットワークNを介して接続されている。各サーバL,A,Bは、同一のデータベースDL,DA,DB(初期データベース)に格納されているデータに対して、クライアントKからの指示を受け、操作実行手段(図示せず)を介して、演算処理等の操作コマンド(列)を実行することにより所望のタスク(以下、「本件タスク」という。)を行うことができるようになっている。
上記操作コマンドを実行するためのアプリケーションプログラム及び本件タスクを分散処理するための分散コンピューティング用のプログラムは、ここでは各サーバL,A,Bのそれぞれにインストールされている。
各サーバL,A,Bは、それぞれ汎用コンピュータであり、CPU(図示せず)、キャッシュメモリM等を備えているが、説明の便宜上は、図2に示すように、そのCPU、記憶装置等のプロセッサ能力、ストレージ能力を合意形成部4L,4A,4Bと実行部5L,5A,5Bに分けることができるように構成されている。
合意形成部4L,4A,4Bは、セルの内部で既知であるPaxosにより合意を形成するためのPaxos装置Pを構成する。Paxos装置Pにおいては、上記分散コンピューティング用プログラムに従って、過半数以上のサーバにより合意形成された操作コマンドを実行し、本件タスクを行うことができるようになっている。すなわち、操作コマンドは、上記Paxsos装置Pにより決定され、実行部5L,5A,5Bは当該操作コマンドを上記アプリケーションプログラムに適用することにより、本件タスクを実行することができるようになっている(この点に関しては詳述せず)。
上記操作コマンドには、操作通番(整数値が1ずつ増加するように設定されているシーケンス番号)のデータが操作コマンドに一対一で対応するように付加されており、これらの操作コマンドデータは、後記消去時刻まで、キャッシュメモリMに記録されている。
〔キャッチアップシステム〕
図3に示すように、本システムSでは、各サーバL,A,Bは、キャッチアップシステムを構成するために、通信データ制御手段10、キャッチアップ制御手段30等を備えている。
(通信データ制御手段10)
通信データ制御手段10は、通信手段70であるデータ送信装置80及びデータ受信装置85(パケットデータ受信手段)を介して、各種データの送受信を制御するための手段であり、HB通信制御装置20(但し、HBは「ハートビート」の略である。)を備えている。このHB通信制御装置20は、各種の通信データのうち、自身以外の総てのサーバとの双方向通信を維持するためのハートビート通信を制御する装置であり、さらに、HB通信データ作成装置21、HB通信状態確認装置22及びHB通信データ記憶装置23を備えている。
HB通信データ作成装置21は、ハートビート通信を行うための発信パケットデータを作成するための装置である。
「発信パケットデータ」は、予め割り当てられている送信元サーバ装置番号(例えば、リーダサーバLの装置番号)及び送信先サーバ装置番号(例えば、エージェントサーバA,Bの装置番号)、送信元サーバの計時機能に基づく送信時刻タイムスタンプ(送信時間データ)(以下、「送信時刻タイムスタンプ」という。)、送信先サーバが、後記HB通信データ記憶装置23に記憶している、発信パケットデータの送信元サーバから一時点前に送られてきた送信時刻タイムスタンプ(以下、「記憶済送信時刻タイムスタンプ」という。)(但し、初回の通信時には存在しないため「0」)(詳細は後記)及び自身が既に処理している最新の操作コマンドの操作通番(以下、「自己最大操作通番」という。)のデータを少なくとも含んでいる(図4(a))。
なお、各サーバL,A,Bは、同一の構成を有する装置であり、各々のサーバL,A,Bが相互に通信を行っているため、各エージェントサーバA,Bから送信された発信パケットデータの基本構造は、リーダサーバLから送信された発信パケットデータと同じである。各サーバは、それぞれが、上記発信パケットデータの送受信を行っており、当該発信パケットデータを送信する又は受信することになる。そのため、説明の便宜上、各サーバが自ら発信したパケットデータを発信パケットデータ、送信先のサーバから送信されたパケットデータを「被発信パケットデータ」と称して、区別することとする。
そして、特段の説明がない場合には、送信先と称した場合は、各種のデータを発信したサーバからみた相手方サーバのことを言い、送信元と称した場合は、各種データを送信した自身のサーバ、或いは、各種データを受信したサーバからみた相手方サーバのことを言うこととする。
また、被発信パケットデータにおける自己最大操作通番は、送信元のサーバが既に処理している最新の操作コマンドの操作通番であり、特許請求の範囲における「送信元最大操作通番」となる。
HB通信データ送信装置81(発信パケットデータ送信手段)は、データ送信装置80の一部を形成しており、HB通信データ作成装置21により作成された発信パケットデータを、自身以外の各サーバに送信するための装置である。本実施形態では、リーダサーバLは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA,Bに発信パケットデータを送信し続けるようになっている。また、他のエージェントサーバA,Bも、リーダサーバLと同様に、自身以外の各サーバL,B(又はA)に発信パケットデータを送信し続けるようになっている。
HB通信データ受信装置86(被発信パケットデータ受信手段)は、データ受信装置85の一部を形成しており、自身以外のサーバのHB通信データ送信装置81から送信された被発信パケットデータを受信するために、常時動作している装置である。
HB通信データ記憶装置23は、送信元の各サーバから送信された被発信パケットデータを、HB通信データ受信装置86を介して受信し、一時的に、かつ、読出し自在に記憶するための装置である。
エージェントサーバAのHB通信データ記憶装置23Aでは、発信パケットデータの送信元であり、被発信パケットデータの送信先であるリーダサーバLの送信時刻タイムスタンプを記憶済送信時刻タイムスタンプとして、リーダサーバLの装置番号と関連づけて記憶するとともに、当該リーダサーバLの送信元最大操作通番を記憶することができるようになっている。
また、リーダサーバLのHB通信データ記憶装置23Lでは、エージェントサーバA,Bの送信時刻タイムスタンプを記憶済送信時刻タイムスタンプとして、エージェントサーバA,Bの装置番号と関連づけて記憶するとともに、エージェントサーバA,Bの送信元最大操作通番を記憶することができるようになっている。
また、HB通信データ記憶装置23は、自身以外の各サーバA,Bから送信される被発信パケットデータを常に監視し、受信した各送信元最大操作通番のうちで最大の通番のデータを通信最大操作通番として、その発信元の装置番号と関連して保存、更新し続けることができるようになっている。
HB通信状態確認装置22は、HB通信データ送信装置81とHB通信データ受信装置86と協働して、自身と自身以外の各サーバとの間に双方向の通信が確立されているか否かを判断するための装置である。
上記の通り、例えば、リーダサーバLのHB通信データ送信装置81Lは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA,Bに発信パケットデータを送信している。送信先のエージェントサーバA,Bは、障害等が生じて受信不可能な状態になっていない限りは、当該発信パケットデータを受信し続けているとともに、自らも、送信元のリーダサーバLに対して、同一の時間間隔(Δt)で発信パケットデータを送信し続けている(但し、送信開始時刻は一致していなくてもよい)。
このような状況の中、HB通信状態確認装置22は、以下の判断を行うことにより、各サーバ間において、HB通信が確立されているか否かを判断できるようになっている。
すなわち、各サーバは、同一の時間間隔(Δt)で通信を行っているため、予め定められている各サーバ間の通信時間(以下、「サーバ間通信時間」という。)をΔdとすると、通信が確立されている場合には、リーダサーバLが発信パケットデータの送信を行った後、2Δd乃至Δt+2Δdの時間の間に、エージェントサーバA,Bから被発信パケットデータが送信されることになる。
ところで、被発信パケットデータには、当該被発信パケットデータの送信先であるリーダサーバLの一時点前の送信時刻である記憶済送信時刻タイムスタンプが記録されており、当該記憶済送信時刻タイムスタンプと、被発信パケットデータの受信時刻の差を便宜上、HB応答時間と定義すると、当該HB応答時間が、Δt+2Δd+所定余裕時間(この値を、「HB通信状態判別基準時間値」という。)以下であるか否かにより、HB通信が確立されているか否かを判断することができる。したがって、本装置では、HB応答時間がHB通信状態判別基準時間値以下であれば、各サーバ間での双方向通信が確保されていると判断し、それより大きければ双方向通信が遮断されていると判断することができるようになっている。
なお、記憶済送信時刻タイムスタンプと、被発信パケットデータの受信時刻は、同一サーバの計時機能により記録されているため、両時刻の差をとることにより、容易にHB間隔を算出できるようになっている。
(キャッチアップ制御手段30)
キャッチアップ制御手段30は、各サーバのデータベースD(作業用データベースD’も含む)をキャッチアップさせるための処理を行うための手段であり、キャッチアップ判定装置40及びキャッチアップ統括装置50を備えている。
1)キャッチアップ判定装置40
キャッチアップ判定装置40は、各サーバL,A,Bに関して、キャッチアップが必要か否かを判断するための装置であり、操作通番比較装置41及びキャッチアップ状態判定装置42を備えている。
操作通番比較装置41は、何れかのサーバに対して、キャッチアップ要求を行うか否かの判断をするための装置であり、以下の処理を行うことができるように構成されている。すなわち、操作通番比較装置41は、上記通信最大操作通番の値と、コマンド実行部(図示せず)から送られる自己最大操作通番の値とを比較し、通信最大操作通番の値が大きい場合には、送信元のサーバの操作コマンドの進度が自身の操作コマンドの進度と比較して先行していると判断し、後記キャッチアップ操作通番データ要求装置51に対して、送信元サーバに向けたキャッチアップ要求データの発生を要求することができるようになっている。その一方で、通信最大操作通番の値が自己最大操作通番の値以下の場合には、自身の操作コマンドの進度が、送信元サーバの操作コマンドの進度と比較して先行していないと判断し、それ以降の処理を行わないようになっている。
キャッチアップ状態判定装置42は、各サーバL,A,Bがキャッチアップのための操作コマンド(以下、「キャッチアップ操作コマンド」という。)を行っている際に、キャッチアップが完了したか否かを判定する装置であり、キャッチアップ時における自己最大操作通番の値が、通信最大操作通番の値に達したか否かを判断するとともに、当該自己最大操作通番の値が通信最大操作通番の値に達した場合(以下、「キャッチアップ終了時」という。)には、例えば、エージェントサーバAが、後記するキャッチアップ要求データを送信した送信先のリーダサーバLに対して、データ送信装置80Aを介して、キャッチアップ終了データを送信するための装置である。
「キャッチアップ終了データ」は、送信元サーバの装置番号(例えば、エージェントサーバAの装置番号)、送信先サーバの装置番号(例えば、リーダサーバLの装置番号)、キャッチアップが終了したことを示す識別データ(以下、「キャッチアップ終了タイプ」という。)を少なくとも含むデータである(図4(b))。
2)キャッチアップ統括装置50
キャッチアップ統括装置50は、各エージェントサーバA,Bがキャッチアップを行う場合に必要なデータを算出することや、キャッチアップの実行を行わせること、キャッチアップ実行中の自身の処理の中断及び再開等を制御することなどを行う装置である。
このキャッチアップ統括装置50は、キャッチアップデータ要求装置51(キャッチアップデータ要求手段)、抑止要求時間算出装置52、タスク中断時刻設定装置53、キャッチアップデータ返信装置54(キャッチアップデータ返信手段)、キャッチアップ命令装置55を備えている。
○キャッチアップデータ要求装置51
キャッチアップデータ要求装置51は、操作通番比較装置41からキャッチアップ要求データの発生要求があった場合に、操作コマンドの進度が先行しているサーバ(例えば、リーダサーバL)に対して、当該データを作成し、データ送信装置80により送信する装置である。
「キャッチアップ要求データ」は、キャッチアップを実行するサーバが送信するものであり、送信元サーバの装置番号(例えば、エージェントサーバAの装置番号)、送信先サーバの装置番号(例えば、リーダサーバLの装置番号)、相手の操作コマンドに対応するようにキャッチアップを行いたいことを示す識別データ(以下、「キャッチアップ要求タイプ」という。)、キャッチアップ要求コマンドの操作通番(以下、「キャッチアップ要求操作通番」という。)及び後記タスク抑止要求時間のデータを少なくとも含むデータである(図4(c))。
ここで、キャッチアップ要求操作通番とは、自身の処理が遅れている対象となっているコマンドに対応する操作通番であり、例えば、送信元のエージェントサーバAにおける自己最大操作通番に1を加えた値から通信最大操作通番までの値である。そのため、キャッチアップ要求データの数は、(通信最大操作通番−既処理操作通番)の個数が必要となる。
なお、このキャッチアップ要求データは、個々の操作コマンド毎に送信してもよいが、通信処理の負荷を軽減するためには、キャッチアップを行うことが必要な操作コマンドの数(操作コマンド列)毎にまとめて送信することが好適である。
○抑止要求時間算出装置52
本システムSでは、キャッチアップを実行しているサーバ(以下、「キャッチアップ実行サーバ」という。)のキャッチアップ実行時において、キャッチアップされているサーバ(以下、「被キャッチアップサーバ」という。)が新たな操作コマンドを実行しないように、当該被キャッチアップサーバのタスクの処理を中断させることができるように構成されている。
タスクの処理を中断させるための時間は、操作コマンドの種類及び数により異なってくるが、抑止要求時間算出装置52では、それらを考慮して、必要となるタスクの抑止要求時間を算出するための手段である。
例えば、抑止要求時間として、上記サーバ間通信時間(Δd)、操作コマンドの実行時間(Σn△ln×n)(但し、Σは、(△ln×n)につき1〜nまでの総和をする演算子、Δlnはn番目の操作コマンドの実行時間、nは実行が必要な操作コマンドの数を示す整数値)の和を与えることができる。
このように、抑止要求時間算出装置52は、操作通番比較装置41によりキャッチアップが必要であると判断された場合に、予め定められているサーバ間通信時間及び操作コマンドの処理時間によりタスク抑止要求時間を計算し、キャッチアップ要求データの一部として受け渡すことができるようになっている。
なお、上記タスク抑止要求時間は、キャッチアップ終了時には、初期設定値である「0」となるように構成されている。
○タスク中断時刻設定装置53
タスク中断時刻設定装置53は、送信された上記タスク抑止要求時間に対応するように、被キャッチアップサーバに、タスクの中断時刻(以下、「タスク中断時刻」という。)を設定し、当該タスク中断時刻に達するまで、操作コマンドの実行を中断させるための手段である。
本装置では、通常時には、タスク中断時刻は「0」に初期設定されているが、被キャッチアップサーバ(例えば、リーダサーバL)がキャッチアップ要求データを受信すると、当該被キャッチアップサーバの計時機能に基づく現在時刻にタスク抑止要求時間を加算することにより、タスク中断時刻が設定されるようになっている。
上記タスク中断時刻が設定された被キャッチアップサーバでは、現在時刻がタスク中断時刻を上回る(キャッチアップが終了し、タスク中断時刻が初期設定値である「0」に戻った場合も含む)まで、作業用データベースDに対し、操作コマンドによる処理が実行できないように、演算処理装置に対して、操作コマンド実行中止命令を発することができるようになっている。
これにより、被キャッチアップサーバは、キャッチアップ実行サーバ(例えば、エージェントサーバA)から送信されるキャッチアップ終了データを受信するまで自らの操作コマンドの実行が停止するようになっており、キャッチアップ実行サーバがキャッチアップするまでの間に被キャッチアップサーバのタスクが進行することを抑止することが可能となっている。
なお、このタスク中断時刻は、キャッチアップが終了する、すなわち、キャッチアップ終了データが受信されると、初期設定値である「0」となるように構成されている。
○キャッチアップデータ返信装置54
キャッチアップデータ返信装置54は、データ受信装置85を介して、送信元のサーバ(キャッチアップ実行サーバ、例えば、エージェントサーバA)からキャッチアップ要求データを受信した場合に、キャッチアップ応答データを作成し、データ送信装置80を介して、当該キャッチアップ要求データの送信元のサーバ(被キャッチアップサーバ)に対して返信するための装置である。
「キャッチアップ応答データ」は、例えば、送信元サーバの装置番号(例えば、リーダサーバLの装置番号)、送信先サーバの装置番号(例えば、エージェントサーバAの装置番号)、被キャッチアップサーバが要求に対応したキャッチアップを許可すること示す識別データ(以下、「キャッチアップ許可タイプ」という。)、キャッチアップ対象コマンドの操作通番(以下、「キャッチアップ許可操作通番」という。)及び当該キャッチアップ許可操作通番に対応する操作コマンド(以下、「キャッチアップ操作コマンド」という。)のデータを少なくとも含むデータである(図4(d))。
なお、キャッチアップ許可操作通番及び当該キャッチアップ許可操作通番に対応する操作コマンドは、自身のキャッシュメモリMに記録されている当該データを複写することで作成されるように構成されている。
○キャッチアップ命令装置55
キャッチアップ命令装置55は、データ受信装置85を介して、送信先のサーバ(例えば、リーダサーバL)から返信されたキャッチアップ応答データを受信し、キャッチアップ許可操作通番が昇順となるようにキャッシュメモリMに記録させるとともに、作業用データベースDL’のデータに対して、当該キャッチアップ許可操作通番の小さい順にキャッチアップ操作コマンドを実行させるように命令するための装置である。
(その他)
本発明を構成する各サーバは、上記装置の他に、通信手段70、データベース複製装置61及びキャッシュメモリ消去装置62を備えている。
通信手段70は、データ送信装置80及びデータ受信装置85を備え、通信ネットワークNを介して、発信(被発信)パケットデータ、キャッチアップ要求データ、キャッチアップ応答データ、キャッチアップ終了データ等の各種データの通信を行うための手段である。
データベース複製装置61は、タスクの実行開始時において、作業領域に初期のデータベースDを作業用データベースD’として複製することができるようになっている。また、データベース複製装置61は、所定間隔ごと、若しくは、所定の指示を受けることにより、データベースDの複製すること、若しくは、キャッシュメモリM上の状態の永続化を行うとともに、当該永続化を行ったデータベースD、若しくは、キャッシュメモリM上の状態を復元することができるようになっている。
キャッシュメモリ消去装置62は、キャッシメモリMの容量の減少を解消するために、当該キャッシュメモリMに記録されている不要なデータ等を適時消去するための装置である。上記のように、データベース複製装置61が作動して、データベースDの複製が行われた後において、それ以前に行われた操作コマンド及び操作通番(以下、「消去予定操作コマンド等データ」という。)を消去することができるように構成されている。
ところで、本システムSにおいて、一台のサーバを除いた各サーバが同一のタスクを行っているが、当該一台のサーバの処理が大幅に遅れていて(以下、「遅延状態サーバ」という。)、キャッチアップが必要な場合が存在する場合を想定すると、遅延状態サーバ以外のサーバのデータベースDの複製が行われ、キャッシュメモリMに記録されていた消去予定操作コマンド等データが消去されてしまった場合には、遅延状態サーバはキャッチアップを行うことができないことになってしまう。
そこで、このような状態を回避するため、少なくとも、前回データベースの消去が行われてから今回消去が行われるまでに実行された操作コマンドを消去しないこととしておくとともに、消去予定操作コマンド等データに消去時刻データを付加することにより、現在時刻が消去時刻となるまで、キャッシュメモリ消去装置62により、消去予定操作コマンド等データが消去できないようになっている。
なお、消去時刻データは、キャッチアップが可能となる充分な余裕時間を考慮して、予め定められているものである。
[動作]
図5を参照して、本システムSの動作について説明する。
なお、以下の説明では、各サーバL,A,Bの間で、HB通信が確立していることを前提とする。
初期状態であるリーダサーバLと各エージェントサーバA,Bは、クライアントKからの要求に応じて、所定のアプリケーションに従って、操作コマンド(列)が実行され本件タスクを開始する。本件タスクの実行の前に、作業領域に初期のデータベースDL,DAを複製した作業用データベースDL’,DA’が作成される。そして、当該作業用データベースDL’,DA’に対して、操作コマンドが実行され、自己最大操作通番がキャッシュメモリML,MAに記録、更新される(S1)。このとき、各サーバ間L,A,Bにおいて、発信・被発信パケットデータの送受信が行われており、各送信元最大操作通番のうちで最大の通番のデータが通信最大操作通番として更新されている(S2〜S4)。このとき、自己最大操作通番と通信最大操作通番が、操作通番比較装置41で監視されている。
その後、所定時間が経過し、リーダサーバLと比較して、エージェントサーバAの操作コマンドの進度に遅れが発生し始めたとする。
リーダサーバLのHB通信データ送信装置81Lは、エージェントサーバAに、発信パケットデータを送信し、エージェントサーバAはHB通信データ受信装置86Aにより、当該被発信パケットデータを受信する。操作通番比較装置41Aは、被発信パケットデータの通信最大操作通番の値と、自己最大操作通番の値とを比較し、通信最大操作通番の値が大きいと判断する(S5)。そして、キャッチアップデータ要求装置51に対して、リーダサーバLに対するキャッチアップ要求データの送信等を要求する。
要求を受けたキャッチアップデータ要求装置51Aは、エージェントサーバAがリーダサーバLと比較して、操作コマンドの進度が遅れていることを認識する。そして、キャッチアップするために必要となるキャッチアップ要求操作通番を決定するとともに、抑止要求時間算出装置52Aから算出されたタスク抑止要求時間からデータの引渡しを受けることにより、当該リーダサーバLに対するキャッチアップ要求データを作成し、データ送信装置80Aにより送信する(S6)。
キャッチアップ要求データを受信したリーダサーバLは、自身のキャッシュメモリMLに記録されている自己最大操作通番と、当該自己最大操作通番に対応する操作コマンドを複写することにより、キャッチアップ応答データを作成し、キャッチアップデータ返信装置54L及びデータ送信装置80Lを介して、送信元であるエージェントサーバAに返信する(S7)。
また、タスク中断時刻設定装置53Lにより、キャッチアップ要求データに記録されているタスク抑止要求時間と、キャッチアップに必要な要求コマンドの総数を考慮し、タスク中断時刻を算出する。そして、演算処理装置(図示せず)に対して、操作コマンド実行中止命令を発し、データベースDL’に対する操作コマンドの実行を停止する(S8)。
データ受信装置85Aを介して、送信先のリーダサーバLから返信されたキャッチアップ応答データを受信したエージェントサーバAは、自身のキャッシュメモリMAに、キャッチアップ許可操作通番が昇順となるように記録する。そして、キャッチアップ命令装置55Aは作業用データベースDA’のデータに対して、キャッチアップ許可操作通番の小さい順にキャッチアップ操作コマンドを実行させるように命令し、操作実行手段(図示せず)を介して、演算処理等の操作コマンドを実行することにより本件タスクを行い、自身のデータベースDA’の状態をリーダサーバLのデータベースDL’の状態に一致させることになる(S9)。
その後、キャッチアップ状態判定装置42Aは、自己最大操作通番の値がキャッチアップ許可操作通番の最大値に達した場合には、キャッチアップを終了し、キャッチアップ要求データを送信したリーダサーバLに対して、データ送信装置80Aを介して、キャッチアップ終了データを送信する(S10,S11)。
なお、このとき、抑止時間が初期設定値である「0」にリセットされる。
また、被キャッチアップサーバであるリーダサーバLが、キャッチアップ終了データを受信したときは、タスク中断時刻が初期設定値である「0」とリセットされ、演算処理装置に対する操作コマンド実行中止命令が解除される(S12)。これにより、リーダサーバLの操作コマンドは通常通りの実行を開始し、タスクが進行することになる。
なお、本システムSの動作中において、データベース複製装置61L,61Aにより、一定の期間毎に、その時点での作業用データベースDL’,DA’の複製が行われ、消去時刻になった場合には、キャッシュメモリML,MAに保存されていた、消去予定操作コマンド等のデータも消去されることになる。
[作用効果]
上記のように、本システムSによれば、各サーバL,A,Bは、自身以外の総てのサーバに対して、HB通信データ送信装置81及びHB通信データ受信装置86により、一定時間間隔で、各サーバL,A,B間において、発信パケットデータ及び被発信パケットデータを送受信している。このように、常時、各サーバのタスクの進行状況を確認しているため、自身のタスクが他のサーバのタスクから遅れたことを即座に認識することができる。そして、発信パケットデータ及び被発信パケットデータを送受信することにより、自身以外の各サーバL,A,Bの操作コマンドの実行状況(タスクの処理状況)を把握することができ、キャッチアップデータ要求装置51により、通信最大操作通番の値が、自己最大操作通番の値より大きいときに、自身のサーバのキャッチアップの必要性を認識し、キャッチアップ操作通番データに対応した操作を、上記データベースDのデータに適用することができる。これらの一連の動作により、データベースDの動的なキャッチアップ処理を、自律的にかつ非常に迅速に行うことができる。
各サーバL,A,Bは、同一のデータベースDL,DA,DBを有しており、本発それらの各サーバのうち1台でも稼働していれば、他のサーバはキャッチアップを実行することができる。ここで、サーバ数をN、各サーバの1台当たりの故障率をrとすれば、本システムがキャッチアップ不能な状態となる確率は、1−rN(Paxosの場合には、1−rN/2)であるが、現実的に各サーバの故障率が小さいことからすれば、非常に高確率でシステム全体の耐障害性を高めることができる。
また、上記のようにキャッチアップ要求データを受信したリーダサーバLは、それ以降からキャッチアップ終了データを受信する間、自身のデータベースDLに対する操作を中断することになるため、キャッチアップ作業中に、被キャッチアップサーバであるリーダサーバLのタスクが進行することを抑止できる。
また、本システムSによれば、キャッチアップ操作通番データ等が、キャッシュメモリMに記憶させられるようになっているため、キャッチアップを迅速に行うことができる。
さらに、データベースDのバックアップを行う際に、キャッシュメモリMに記録されていた消去予定操作コマンド等データが不用意に消去されることを回避するため、消去予定操作コマンド等データに消去時刻データが付加されている。これにより、現在時刻が消去時刻となるまで、キャッシュメモリ消去装置62により、消去予定操作コマンド等データが消去されることを防止することができる。
[Paxos装置との関係]
本発明は、Paxos装置Pに使用の有無に関わらず適用可能であるが、上記実施形態にように、Paxos装置Pを使用した場合には、特有の事象が生じ得ることになる。
すなわち、Paxos装置Pにおいては、上記分散コンピューティング用プログラムに従って、過半数以上のサーバにより合意形成された操作コマンドを実行し、本件タスクを行うことができるようになっている。一方、キャッチアップ実行サーバがキャッチアップを行っている場合において、当該キャッチアップ実行サーバと被キャッチアップサーバ(以下、「キャッチアップ関連サーバ」という。)はこの合意形成には関与せず、他のサーバにより合意形成がなされて、本システムSが実行すべき操作コマンドが決定される場合が生じ得る。このときには、キャッチアップ関連サーバの処理とは無関係に、他のサーバのタスクが進行してしまう事態が生じてしまうことになる。この場合において、当該キャッチアップ関連サーバは、他のサーバに対して、タスクの進度が遅れてしまうことが生じ得るが、上記説明と同様な方法によりキャッチアップ関連サーバのキャッチアップが行われることにより対応可能であるため、特段の問題が生じることはない。
以上、本発明について、好適な実施形態についての一例を説明したが、本発明は当該実施形態に限られず、本発明の趣旨を逸脱しない範囲で適宜設計変更が可能である。
上記実施形態では、情報処理装置は、3台のサーバの場合を例として説明したが、複数台のコンピューティングデバイスであれば、その種類や数はこれに限られるものではない。また、複数台の情報処理装置は、インターネットやLAN以外にも、どのような接続手段により接続されているものであってもよい。
また、上記実施形態では、通信データ制御手段において通信方式としてUDPを使用することを前提とした場合について説明したが、通信方式は上記のようにハートビートの送受信をする技術に限らず、TCP等の通信方式を使用したものであってもよい。
また、通信最大操作通番などのキャッチアップに必要となるデータは、発信パケットデータ及び被発信パケットデータ以外の、各サーバ間における通信データに記録させるものであってもよいことは勿論である。
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通信データ受信装置(被発信パケットデータ受信手段)

Claims (3)

  1. 各々がネットワークで接続されている複数の情報処理装置から構成され、
    前記各情報処理装置は、同一の初期状態であるデータベースと、
    操作の順番を示す操作通番と当該操作通番に一対一で対応する操作コマンドに対応して、前記データベースに格納されているデータに対して処理を実行するための操作実行手段と、を備え、
    前記各情報処理装置が、Paxosによって過半数以上のサーバにより合意形成された同一の前記操作コマンドを実行することにより同一のタスクを行う分散コンピューティングシステムにおいて、
    さらに、前記各情報処理装置は、
    前記ネットワークを介して、自身以外の前記各情報処理装置に対して所望の時間間隔で
    送信時間データと、自身が処理した最新の前記操作コマンドに対応する操作通番である自己最大操作通番データとを含む発信データを送信するための発信データ送信手段と、
    前記ネットワークを介して、前記自身以外の前記各情報処理装置から所望の時間間隔で送信された、
    送信時間データと、前自身以外の各情報処理装置が処理した最新の前記操作コマンドに対応する操作通番である送信元最大操作通番データとを含む被発信データを受信するための被発信データ受信手段と、
    自身以外の前記情報処理装置から送信された前記送信元最大操作通番データと、前記被発信データを受信した時点における自己最大操作通番データとを比較する操作通番比較手段と、
    前記送信元最大操作通番データが、前記自己最大操作通番データより大きいときに、送信元の前記情報処理装置に対して、処理状態のキャッチアップに必要となるキャッチアップ操作通番データ及び前記キャッチアップ操作通番データに対応するキャッチアップ操作コマンドを有するキャッチアップデータの返信を要求するキャッチアップデータ要求手段と、
    前記キャッチアップデータの返信要求をうけ、当該キャッチアップデータを返信するキャッチアップデータ返信手段とを備え、
    前記キャッチアップデータを受信した前記情報処理装置は、前記操作実行手段により、前記キャッチアップ操作通番データに対応した操作コマンドを、前記情報処理装置の処理状態に適用することにより、前記送信元の前記情報処理装置の処理状態を複製し、キャッチアップするとともに、
    前記キャッチアップを行っている前記情報処理装置は、前記キャッチアップの終了後に、キャッチアップ終了データを前記送信元の前記情報処理装置に送信することができるようになっており、
    前記送信元の前記情報処理装置は、当該キャッチアップデータの受信後から前記キャッチアップ終了データを受信する間、自身の処理状態に対する前記操作コマンドの実行を中断するように構成されていることを特徴とする分散コンピューティングシステム。
  2. 前記キャッチアップ操作通番データと、前記キャッチアップ操作通番データに対応する操作コマンドが、前記情報処理装置のキャッシュメモリに記憶させられるようになっていることを特徴とする請求項1に記載の分散コンピューティングシステム。
  3. 前記発信データ送信手段は、一定時間間隔で、前記各情報処理装置との間で、前記発信データを送信していることを特徴とする請求項1又は請求項2に記載の分散コンピューティングシステム。
JP2010127356A 2010-06-02 2010-06-02 分散コンピューティングシステム Expired - Fee Related JP4981951B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010127356A JP4981951B2 (ja) 2010-06-02 2010-06-02 分散コンピューティングシステム
PCT/JP2011/058549 WO2011152118A1 (ja) 2010-06-02 2011-04-04 分散コンピューティングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010127356A JP4981951B2 (ja) 2010-06-02 2010-06-02 分散コンピューティングシステム

Publications (2)

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

Family

ID=45066504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010127356A Expired - Fee Related JP4981951B2 (ja) 2010-06-02 2010-06-02 分散コンピューティングシステム

Country Status (2)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5635027B2 (ja) * 2012-03-12 2014-12-03 日本電信電話株式会社 コンピュータシステム及びシステム制御方法
EP2849005B1 (en) * 2012-05-10 2019-08-07 Mitsubishi Electric Corporation Standby dual redundant system
WO2015033410A1 (ja) 2013-09-04 2015-03-12 株式会社東芝 情報処理システム、サーバ装置、情報処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1415235B1 (en) * 2001-07-16 2018-10-31 Oracle International Corporation Data replication system and method
JP2003345640A (ja) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp データベースバックアップシステム
US7711825B2 (en) * 2003-12-30 2010-05-04 Microsoft Corporation Simplified Paxos
US7698465B2 (en) * 2004-11-23 2010-04-13 Microsoft Corporation Generalized Paxos
JP5213108B2 (ja) * 2008-03-18 2013-06-19 株式会社日立製作所 データ複製方法及びデータ複製システム

Also Published As

Publication number Publication date
JP2011253390A (ja) 2011-12-15
WO2011152118A1 (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
CN110071821B (zh) 确定事务日志的状态的方法,节点和存储介质
JP4033769B2 (ja) ルータ及びルーティング・プロトコル冗長性
US9569517B1 (en) Fault tolerant distributed key-value storage
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
CN104335159A (zh) 间隔控制复制
US20160092324A1 (en) Fast single-master failover
JP2007328785A (ja) 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法
JP2006260355A (ja) ストレージシステム及び記憶制御方法
JP2004252939A (ja) クラスタリングシステムのサイトでの双方向障害検出の為のシステム及び方法
CN110545203B (zh) 云平台创建初始资源备份池和云平台自愈修复的方法
CN105493474A (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
JP4981951B2 (ja) 分散コンピューティングシステム
US7890715B2 (en) Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller
EP3617887B1 (en) Method and system for providing service redundancy between a master server and a slave server
EP3629111A2 (en) Process control system, process control apparatus and program update method
JP5707355B2 (ja) ホットスタンバイ方式によるクライアントサーバシステム
CN114138732A (zh) 一种数据处理方法及装置
US20090150459A1 (en) Highly available multiple storage system consistency heartbeat function
EP3912036B1 (en) Technique for connection handling in a distributed system
JP2007207250A (ja) ソフトウェア複製
US10809938B2 (en) Synchronized safe data commit scans in multiple data storage systems
US10645163B2 (en) Site-aware cluster management
US20120191645A1 (en) Information processing apparatus and database system
US10740007B2 (en) Synchronized primary-secondary role swaps with synchronized safe data commit scans
WO2023007209A1 (en) Fault-tolerant distributed computing for vehicular systems

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