JPWO2014006713A1 - システム、情報処理装置、取得方法および取得プログラム - Google Patents
システム、情報処理装置、取得方法および取得プログラム Download PDFInfo
- Publication number
- JPWO2014006713A1 JPWO2014006713A1 JP2014523491A JP2014523491A JPWO2014006713A1 JP WO2014006713 A1 JPWO2014006713 A1 JP WO2014006713A1 JP 2014523491 A JP2014523491 A JP 2014523491A JP 2014523491 A JP2014523491 A JP 2014523491A JP WO2014006713 A1 JPWO2014006713 A1 JP WO2014006713A1
- Authority
- JP
- Japan
- Prior art keywords
- node
- log
- order
- stored
- storage unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
システム(1)は、複数のノード(3)を有する。複数のノード(3)は、記憶部(5)と、送信制御部(6b)と、通信部(4)と、取得部(6d)とを有する。記憶部(5)は、ログを記憶する。送信制御部(6b)は、異常が発生したノード以外の他のノードに、記憶部(5)に記憶されたログが生成された順番を示す情報の送信を依頼する。通信部(4)は、他のノードから他のノードに記憶されたログが生成された順番を示す情報を受信する。取得部(6d)は、受信した情報が示す順番、および、記憶部(5)に記憶されたログが生成された順番に基づいて、次のような処理を行う。すなわち、取得部(6d)は、記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他のノードが存在する場合には、新しい順番のログが記憶された他のノードから、記憶部(5)に記憶されたログよりも新しい順番のログを取得する。
Description
本発明は、システム、情報処理装置、取得方法および取得プログラムに関する。
従来、SQLなどを用いてデータベースに対してデータの変更、削除、追加などの更新を行う装置がある。また、データベースを2台設けて、1つのデータベースに更新が行われた場合に、更新された内容を他のデータベースに反映させるシステムがある(例えば特許文献1、特許文献2および特許文献3参照)。
かかるシステムでは、例えば、SQLを用いた処理を実行するアプリケーションを実行する第1のノードから、データベースを有する第2のノードがSQL文を受信した場合には、第2のノードは、次のような処理を行う。すなわち、第2のノードは、SQL文に基づいてデータベースを更新し、データベースの更新内容を示すログを生成する。そして、第2のノードは、生成したログをリカバリログとしてリカバリログファイルに登録する。また、第2のノードは、生成したログを差分ログとして他のデータベースを有する第3のノードに送信する。かかる差分ログを受信した第3のノードは、受信した差分ログを差分ログファイルに登録するとともに、受信した差分ログをリカバリログとしてリカバリログファイルに登録する。そして、第3のノードは、リカバリログファイルを用いてデータベースを更新する。なお、リカバリログおよび差分ログには、ログが生成された順番を示す情報である世代番号が含まれる。
また、上記のシステムでは、例えば、第2のノードがマスタノード、第3のノードがスレーブノードである場合に、第2のノードに異常が発生したときには、第3のノードがマスタノードに切り替わり第1のノードによるアプリケーションの実行が継続される。
しかしながら、上記の従来の技術を、データベースを有する3台以上のノードに適用した場合には、負荷が1台のマスタノードに集中してしまうという問題がある。上記の従来の技術を、データベースを有する3台以上のノードに適用した場合について説明する。図14および図15は、従来の技術を、データベースを有する3台以上のノードに適用した場合の一例を説明するための図である。図14の例に示すシステムは、アプリケーションノード90、ノード91a〜91fを有する。図14の例では、アプリケーションノード90は、SQLを用いた処理を実行するアプリケーションを実行する。また、図14の例は、ノード91aがマスタノードであり、ノード91b〜91fがスレーブノードである場合を示す。また、図14の例では、ノード91a〜91fのそれぞれは、データベースを有する。図14の例では、ノード91aがアプリケーションノード90からSQL文を受信した場合には、ノード91aは、SQL文に基づいてデータベースを更新する。そして、ノード91aは、データベースの更新内容を示すログを生成する。そして、ノード91aは、生成したログをリカバリログとしてリカバリログファイルに登録する。これに加えて、ノード91aは、生成したログを差分ログとしてノード91b〜91fに送信する。差分ログを受信したノード91b〜91fは、受信した差分ログを差分ログファイルに登録するとともに、受信した差分ログをリカバリログとしてリカバリログファイルに登録する。そして、ノード91b〜91fのそれぞれは、リカバリログファイルを用いてデータベースを更新する。
ここで、マスタノードであるノード91aに異常が発生した場合には、例えば、図15に示すように、ノード91bがマスタノードに切り替わる。ここで、図15の例に示すように、スレーブノードであるノード91c〜91fにおける受信済みの差分ログの最新の世代番号は、それぞれ、「2」、「5」、「2」、「4」である。すなわち、図15の例では、ノード91c〜91fのそれぞれは、世代番号「2」、「5」、「2」、「4」のそれぞれの差分ログまでを保持している。そして、新たにマスタノードとなったノード91bは、図15の例に示すように、ノード91c〜91fにおける受信済みの差分ログの世代番号が、ノード91bにおける差分ログの世代番号「6」となるように、各ノード91c〜91fに差分ログを送信する。図15の例では、ノード91bは、ノード91cに世代番号「3」〜「6」の差分ログを送信する。また、ノード91bは、ノード91dに世代番号「6」の差分ログを送信する。また、ノード91bは、ノード91eに世代番号「3」〜「6」の差分ログを送信する。また、ノード91bは、ノード91fに世代番号「5」〜「6」の差分ログを送信する。このように、上記の従来の技術を、データベースを有する3台以上のノードに適用した場合には、新たにマスタノードに切り替わったノードは、全てのスレーブノードに多数の差分ログを送信する。そのため、上記の従来の技術を、データベースを有する3台以上のノードに適用した場合には、負荷がマスタノードに集中してしまうという問題がある。
1つの側面では、本発明は、負荷が1つのノードに集中することを抑制することを目的とする。
一態様のシステムは、複数のノードを有するシステムである。複数のノードは、記憶部と、送信制御部と、受信部と、取得部とを有する。記憶部は、ログを記憶する。送信制御部は、異常が発生したノード以外の他のノードに、記憶部に記憶されたログが生成された順番を示す情報の送信を依頼する。受信部は、他のノードから他のノードに記憶されたログが生成された順番を示す情報を受信する。取得部は、前記受信した情報が示す順番、および、記憶部に記憶されたログが生成された順番に基づいて、次のような処理を行う。すなわち、取得部は、記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他のノードが存在する場合には、新しい順番のログが記憶された他のノードから、記憶部に記憶されたログよりも新しい順番のログを取得する。
一態様によれば、負荷が1つのノードに集中することを抑制することができる。
以下に、本願の開示するシステム、情報処理装置、取得方法および取得プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
実施例1に係るシステムについて説明する。図1は、実施例1に係るシステムの構成の一例を示す図である。図1の例に示すシステム1は、アプリケーションノード2、および、6台のノード3a〜3fを有する。なお、アプリケーションノード、および、ノードの台数は、任意の台数を採用できる。アプリケーションノード2と、ノード3a〜3fとは、ネットワーク70を介して接続されている。すなわち、アプリケーションノード2と、ノード3a〜3fとは、互いに通信可能である。なお、アプリケーションノード2と、ノード3a〜3fとは、有線に限らず、無線など任意の通信網を介して接続することができる。以下、ノード3a〜3fを区別することなく説明する場合には、ノード3と総称する。また、ノード3は、互いに異常の発生を監視しており、他のノード3の異常の発生を検出すると、他のノード3の異常を検出したことを示す情報をアプリケーションノード2および異常が発生していないノード3に送信する。これにより、アプリケーションノード2および異常が発生していないノード3は、異常が発生したノード3を把握することができる。
アプリケーションノード2は、SQLを用いた処理を行うアプリケーションを実行する。例えば、アプリケーションノード2は、ノード3a〜3fのうち、マスタノードのノードにSQL文を送信し、マスタノードのデータベースにアクセスする。
ノード3は、データベースを有する。複数のノード3のうち、マスタノードは、アプリケーションノード2からSQL文を受信した場合には、SQL文に基づいてデータベースを更新する。そして、マスタノードは、データベースの更新内容を示すログを生成する。そして、マスタノードは、生成したログをリカバリログとしてリカバリログファイルに登録する。これに加えて、マスタノードは、生成したログを差分ログとして、スレーブノードに送信する。差分ログを受信したスレーブノードは、受信した差分ログを差分ログファイルに登録するとともに、受信した差分ログをリカバリログとしてリカバリログファイルに登録する。そして、スレーブノードは、リカバリログファイルを用いてデータベースを更新する。これにより、マスタノードおよびスレーブノードのデータベースの登録内容が一致するようになる。ただし、マスタノードとスレーブノードとの間で通信の遅延が発生するなどの理由により、スレーブノードでのデータベースの更新が遅くなり、全ノードの登録内容が一致しないような状況もあり得る。
図2は、実施例1に係るノードの機能的な構成の一例を示す図である。ノード3は、通信部4、記憶部5、制御部6を有する。
通信部4は、ノード間の通信を行うためのインターフェースである。例えば、通信部4は、他のノード3と定期的に正常であることを示す情報を交換している。そして、通信部4は、他のノード3から正常であることを示す情報を所定期間受信できなかった場合、または、異常の発生を示す情報を受信した場合、もしくは、通信の異常を検出した場合には、後述する通信制御部6bへ異常の発生を送信する。また、通信部4は、アプリケーションノード2からネットワーク70を介してSQL文を受信した場合には、受信したSQL文を制御部6へ送信する。また、通信部4は、後述する送信制御部6bから、リカバリログの世代番号を受信した場合には、ネットワーク70を介してスレーブノードへ、受信した世代番号を送信する。また、通信部4は、後述する決定部6cから、マスタノードであることを示す情報を受信した場合には、ネットワーク70を介して、スレーブノードおよびアプリケーションノード2へ、受信した情報を送信する。また、通信部4は、後述する取得部6dから、差分ログの要求を受信した場合には、ネットワーク70を介して、後述する親ノードへ、受信した要求を送信する。また、通信部4は、取得部6dから、完了通知を受信した場合には、ネットワーク70を介して、親ノードへ、受信した完了通知を送信する。また、通信部4は、後述する実行部6aから、差分ログを受信した場合には、ネットワーク70を介して、スレーブノードへ、受信した差分ログを送信する。
記憶部5は、各種の情報を記憶する。例えば、記憶部5は、Data Base(DB;データベース)5a、リカバリログファイル5b、差分ログファイル5cを記憶する。
DB5aには、アプリケーションノード2からの処理の要求に応じて実行された処理に関するデータが後述する実行部6aにより登録される。例えば、自ノードがマスタノードである場合には、アプリケーションノード2から送信されたSQL文が後述する実行部6aにより実行された結果、DB5aの登録内容が更新される。また、自ノードがスレーブノードである場合には、リカバリファイル5bに基づいて実行部6aによりDB5aの登録内容が更新される。
また、リカバリログファイル5bには、自ノードがマスタノードである場合に、アプリケーションノード2からの処理の要求に応じて実行された処理の履歴であるログが実行部6aにより登録される。かかるログには、ログが生成された順番を示す情報である世代番号が含まれる。また、リカバリログファイル5bには、自ノードがスレーブノードである場合に、差分ログファイル5cに新たに登録された差分ログが、リカバリログとして実行部6aにより登録される。図3Aは、リカバリログファイルの一例を示す図である。図3Aの例は、リカバリログファイル5bに、世代番号が「1」、「2」、・・・のログが登録された場合を示す。なお、リカバリログファイル5bに登録されるログは、「リカバリログ」とも称される。
また、差分ログファイル5cは、自ノードがスレーブノードである場合に、マスタノードから送信されたログが実行部6aにより登録される。かかるログには、ログが生成された順番を示す情報である世代番号が含まれる。図3Bは、差分ログファイルの一例を示す図である。図3Bの例は、差分ログファイル5cに、世代番号が「1」、「2」、・・・のログが登録された場合を示す。なお、差分ログファイル5cに登録されるログは、「差分ログ」とも称される。
記憶部5は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部5は、上記の種類の記憶装置に限定されるものではなく、Random Access Memory(RAM)、Read Only Memory(ROM)であってもよい。
制御部6は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部6は、実行部6aと、送信制御部6bと、決定部6cと、取得部6dとを有する。
実行部6aは、Relational DataBase Management System(RDBMS)のソフトウェアがインストールされた処理部である。例えば、実行部6aは、自ノードがマスタノードである場合には、次のような処理を行う。すなわち、実行部6aは、アプリケーションノード2からSQL文を受信すると、受信したSQL文を実行してDB5aを更新する。そして、実行部6aは、世代番号を生成し、生成した世代番号と、実行したSQL文を示す情報とを含むログを生成する。続いて、実行部6aは、生成したログをリカバリログとしてリカバリログファイル5bに登録する。そして、実行部6aは、生成したログを差分ログとして、スレーブノードに送信する。これにより、マスタノードおよびスレーブノードの各DB5aの登録内容が一致するようになる。このように、実行部6aは、マスタノードおよびスレーブノードの各DB5aの登録内容を一致させるミラーリングの機能を有する。なお、マスタノードとスレーブノードとの間で通信の遅延が発生するなどの理由により、スレーブノードでのデータベースの更新が遅くなり、全ノードの登録内容が一致しないような状況もあり得る。
さらに、実行部6aは、自ノードがマスタノードである場合には、次のような処理も行う。すなわち、実行部6aは、自ノードに対する子ノードから、後述の完了通知を受信した場合には、全てのスレーブノードに対して、スレーブノードが保有していない世代番号の差分ログを送信する。
また、実行部6aは、自ノードがスレーブノードである場合には、次のような処理を行う。すなわち、実行部6aは、マスタノードおよび他のスレーブノードから差分ログを受信した場合には、受信した差分ログを差分ログファイル5cに登録するとともに、受信した差分ログをリカバリログとしてリカバリログファイル5bに登録する。そして、実行部6aは、リカバリログファイル5cを用いてDB5aを更新する。
送信制御部6bは、異常が発生したノード以外の他のノードに、記憶部5に記憶されたログが生成された順番を示す情報を送信するように制御する。すなわち、送信制御部6bは、異常が発生したノード以外の他のノードに、記憶部5に記憶されたログが生成された順番を示す情報の送信を依頼する。具体例を挙げて説明する。例えば、送信制御部6bは、通信部4から、あるノードの異常を検出したことを示す情報を受信したときには、次のような処理を行う。すなわち、送信制御部6bは、リカバリログファイル5bに登録されたリカバリログの最新の世代番号を通信部4に送信して、異常が発生していない他のノード3に送信するように制御する。
図4は、各ノードが実行する処理の一例を説明するための図である。図4の例は、ノード3aがマスタノードである場合に、ノード3aに異常が発生した場合の一例を示す。図4の例に示すように、通信部4から、ノード3aの異常を検出したことを示す情報を受信したノード3bの送信制御部6bは、リカバリログの最新の世代番号「6」をノード3b〜3fに送信するように通信部4を制御する。また、図4の例に示すように、通信部4から、ノード3aの異常を検出したことを示す情報を受信したノード3cの送信制御部6bは、リカバリログの最新の世代番号「2」をノード3b、3d〜3fに送信するように通信部4を制御する。また、図4の例に示すように、通信部4から、ノード3aの異常を検出したことを示す情報を受信したノード3dの送信制御部6bは、リカバリログの最新の世代番号「5」をノード3a、3b、3e、3fに送信するように通信部4を制御する。また、図4の例に示すように、通信部4から、ノード3aの異常を検出したことを示す情報を受信したノード3eの送信制御部6bは、リカバリログの最新の世代番号「2」をノード3b〜3d、3fに送信するように通信部4を制御する。また、図4の例に示すように、通信部4から、ノード3aの異常を検出したことを示す情報を受信したノード3fの送信制御部6bは、リカバリログの最新の世代番号「4」をノード3b〜3eに送信するように通信部4を制御する。
決定部6cは、自ノードのリカバリログの最新の世代番号、および、他ノードのリカバリログの最新の世代番号に基づいて、自ノードがマスタノードであるのか、または、スレーブノードであるのかを決定する。例えば、決定部6cは、異常が発生していない他の全てのノードから、リカバリログの最新の世代番号を受信したか否かを判定する。他の全てのノードからリカバリログの最新の世代番号を受信した場合には、決定部6cは、次のような処理を行う。すなわち、決定部6cは、自ノードのリカバリログの最新の世代番号と、他のノードから受信した世代番号とを比較し、自ノードのリカバリログの最新の世代番号が、他のノードから受信した世代番号よりも最新であるか否かを判定する。
最新であると判定した場合には、決定部6cは、自ノードをマスタノードとして決定する。そして、決定部6cは、異常が発生していない他のノードをスレーブノードとして決定する。続いて、決定部6cは、自ノードがマスタノードであることを示す情報を通信部4へ送信して、かかる情報をスレーブノードおよびアプリケーションノード2へ送信するように通信部4を制御する。これにより、かかる情報を受信したアプリケーションノード2は、SQL文の送信先を新たなマスタノードに切り替える。また、かかる情報を受信したスレーブノードは、マスタノードがどのノードであるかを把握することができる。
一方、最新でないと判定した場合には、決定部6cは、自ノードをスレーブノードとして決定する。なお、決定部6cは、最新の世代番号が複数ある場合には、次のような処理を行うこともできる。例えば、決定部6cは、最新の世代番号のリカバリログを有する各ノードのMedia Access Control address(MACアドレス)を比較して、MACアドレスが小さいノードをマスタノードとして決定することもできる。
例えば、図4の例に示すように、ノード3bの決定部6cは、自ノードのリカバリログの世代番号「6」が最新であるため、自ノードをマスタノードとして決定する。また、ノード3bの決定部6cは、ノード3c〜3fをスレーブノードとして決定する。そして、ノード3bの決定部6cは、ノード3bがマスタノードであることを示す情報をアプリケーションノード2およびスレーブノードに送信するように通信部4を制御する。これにより、図4の例に示すように、アプリケーションノード2は、SQL文の送信先をノード3bに切り替える。また、図4の例に示すように、ノード3c〜3fの各決定部6cは、自ノードをスレーブノードとして決定する。
取得部6dは、自ノードがスレーブノードである場合に、通信部4により受信された他ノードのリカバリログの世代番号、および、自ノードに記憶されたリカバリログの最新の世代番号に基づいて、次のような処理を行う。すなわち、取得部6dは、自ノードに記憶されたリカバリログの最新の世代番号よりも新しい世代番号のログが記憶された他のノードが存在するか否かを判定する。存在する場合には、取得部6dは、新しい世代番号のログが記憶された他のノードから、自ノードのリカバリログの最新の世代番号よりも新しい世代番号のログを取得する。
例えば、取得部6dは、まず、自ノードがスレーブノードである場合に、通信部4により他ノードの最新のリカバリログの世代番号が受信されたときには、次のような処理を行う。すなわち、取得部6dは、他ノードの最新のリカバリログの世代番号と、自ノードのリカバリログの最新の世代番号とを比較する。そして、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがあるか否かを判定する。新しい世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがある場合には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、新しい世代番号のリカバリログを有する他のノードのうち、自ノードのリカバリログの最新の世代番号に最も近い世代番号のリカバリログを最新のリカバリログとして有する他のノードを自ノードに対する親ノードとして決定する。
図5および図6は、各ノードが実行する処理の一例を説明するための図である。図5および図6の例は、先の図4の例において、ノード3bがマスタノードとして決定され、ノード3c〜3fがスレーブノードとして決定された場合を示す。図5、図6の例に示すように、ノード3fの取得部6dは、自ノードのリカバリログの最新の世代番号「4」よりも新しい世代番号「5」のリカバリログを最新の世代番号のリカバリログとしてノード3dが有しているため、次のような処理を行う。すなわち、ノード3fの取得部6dは、新しい世代番号「5」のリカバリログを最新のリカバリログとして有するノード3dを自ノードに対する親ノードとして決定する。また、ノード3cの取得部6dは、自ノードのリカバリログの最新の世代番号「2」よりも新しい世代番号「5」、「4」のリカバリログを最新の世代番号のリカバリログとして有するノード3d、3fがあるため、次のような処理を行う。すなわち、ノード3cの取得部6dは、ノード3d、3fのうち、自ノードのリカバリログの最新の世代番号「2」に最も近い世代番号「4」のリカバリログを最新のリカバリログとして有するノード3fを自ノードに対する親ノードとして決定する。また、ノード3eの取得部6dは、自ノードのリカバリログの最新の世代番号「2」よりも新しい世代番号「5」、「4」のリカバリログを最新の世代番号のリカバリログとして有するノード3d、3fがあるため、次のような処理を行う。すなわち、ノード3eの取得部6dは、ノード3d、3fのうち、自ノードのリカバリログの最新の世代番号「2」に最も近い世代番号「4」のリカバリログを最新のリカバリログとして有するノード3fを自ノードに対する親ノードとして決定する。
そして、取得部6dは、他ノードの最新のリカバリログの世代番号と、自ノードのリカバリログの最新の世代番号とを比較する。そして、取得部6dは、自ノードのリカバリログの最新の世代番号よりも古い世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがあるか否かを判定する。古い世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがある場合には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、古い世代番号のリカバリログを有する他のノードのうち、自ノードのリカバリログの最新の世代番号に最も近い世代番号のリカバリログを最新のリカバリログとして有する他のノードを自ノードに対する子ノードとして決定する。
例えば、図5および図6の例では、ノード3dのリカバリログの最新の世代番号「5」よりも古い世代番号「4」、「2」、「2」のリカバリログを最新の世代番号のリカバリログとしてノード3f、3c、3eが有する場合が示されている。この場合、ノード3dの取得部6dは、ノード3f、3c、3eのうち、自ノードのリカバリログの最新の世代番号「5」に最も近い世代番号「4」のリカバリログを最新のリカバリログとして有するノード3fを自ノードに対する子ノードとして決定する。また、ノード3fの取得部6dは、自ノードのリカバリログの最新の世代番号「4」よりも古い世代番号「2」のリカバリログを最新の世代番号のリカバリログとして有するノード3c、3eがあるため、次のような処理を行う。すなわち、ノード3fの取得部6dは、自ノードのリカバリログの最新の世代番号「4」に最も近い世代番号「2」のリカバリログを最新のリカバリログとして有するノード3c、3eを自ノードに対する子ノードとして決定する。
子ノードおよび親ノードが決定された場合には、取得部6dは、決定された親ノードがマスタノードであるか否かを判定する。決定された親ノードがマスタノードでない場合には、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードに送信するように通信部4を制御する。これにより、自ノードのリカバリログの最新の世代番号よりも1つ新しい世代番号から、スレーブノード内での最新の世代番号までのリカバリログが差分ログとして、親ノードから自ノードに送信される。
例えば、図5および図6の例に示すように、ノード3fの取得部6dは、世代番号「4」よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードであるノード3dに送信するように通信部4を制御する。これにより、ノード3fのリカバリログの最新の世代番号「4」よりも1つ新しい世代番号「5」のリカバリログが差分ログとして、親ノードであるノード3dからノード3fに送信される。
自ノードのリカバリログの最新の世代番号よりも1つ新しい世代番号から、スレーブノード内での最新の世代番号までのリカバリログが差分ログとして、親ノードから送信された場合や、親ノードがマスタノードである場合には、取得部6dは次の処理を行う。すなわち、取得部6dは、自ノードに対する全ての子ノードから完了通知を受信したか否かを判定する。全ての子ノードから完了通知を受信した場合には、取得部6dは、完了通知を通信部4に送信して、親ノードに完了通知を送信するように通信部4を制御する。
例えば、図5および図6の例が示す場合では、ノード3fの取得部6dは、子ノードであるノード3c、3eから完了通知を受信した場合には、完了通知を通信部4に送信して、親ノードであるノード3dに完了通知を送信するように通信部4を制御する。また、ノード3dの取得部6dは、子ノードであるノード3fから完了通知を受信した場合には、完了通知を通信部4に送信して、親ノードであるノード3bに完了通知を送信するように通信部4を制御する。
一方、古い世代番号のリカバリログを有する他のノードがあるか否かを判定した結果、古い世代番号のリカバリログを有する他のノードがない場合には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードに送信するように通信部4を制御する。これにより、自ノードのリカバリログの最新の世代番号よりも1つ新しい世代番号から、スレーブノード内での最新の世代番号までのリカバリログが差分ログとして、親ノードから自ノードに送信される。
例えば、図5および図6の例が示す場合では、ノード3cの取得部6dは、世代番号「2」よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードであるノード3fに送信するように通信部4を制御する。これにより、ノード3cのリカバリログの最新の世代番号「2」よりも1つ新しい世代番号「3」から、スレーブノード内での最新の世代番号「5」までのリカバリログが差分ログとして、親ノードであるノード3fからノード3cに送信される。同様に、ノード3eの取得部6dは、世代番号「2」よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードであるノード3fに送信するように通信部4を制御する。これにより、ノード3eのリカバリログの最新の世代番号「2」よりも1つ新しい世代番号「3」から、スレーブノード内での最新の世代番号「5」までのリカバリログが差分ログとして、親ノードであるノード3fからノード3eに送信される。
そして、自ノードのリカバリログの最新の世代番号よりも1つ新しい世代番号から、スレーブノード内での最新の世代番号までのリカバリログが差分ログとして、親ノードから自ノードに送信された場合には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、完了通知を通信部4に送信して、親ノードに完了通知を送信するように通信部4を制御する。
例えば、図5および図6の例が示す場合では、ノード3cの取得部6dは、完了通知を通信部4に送信して、親ノードであるノード3fに完了通知を送信するように通信部4を制御する。同様に、ノード3eの取得部6dは、完了通知を通信部4に送信して、親ノードであるノード3fに完了通知を送信するように通信部4を制御する。
ここで、上述したように、実行部6aは、自ノードがマスタノードである場合には、自ノードに対する子ノードから、完了通知を受信した場合には、全てのスレーブノードに対して、スレーブノードが保有していない世代番号の差分ログを送信する。
図7〜図9は、各ノードが実行する処理の一例を説明するための図である。図7の例は、先の図5および図6の例において、マスタノードとして決定されたノード3bにアプリケーションノード2からSQL文が送信されて、世代番号「7」のリカバリログが新たにリカバリログファイル5bに登録された場合を示す。また、図8および図9の例は、先の図5および図6の例において、スレーブノードであるノード6c〜6fのそれぞれのリカバリログの最新の世代番号がスレーブノード内で最新の世代番号「5」となった場合を示す。
図7〜図9の例が示すように、自ノードがマスタノードであるノード3bの実行部6aは、自ノードに対する子ノードであるノード3dから完了通知を受信した場合には、次の処理を行う。すなわち、自ノードがマスタノードであるノード3bの実行部6aは、全てのスレーブノード(ノード3c〜3f)に対して、スレーブノードが保有していない世代番号「6」および「7」のリカバリログを差分ログとして送信する。
このように、本実施例のシステム1では、スレーブノードの親ノードと子ノードとの間で差分ログをやりとりした上で、マスタノードからスレーブノードへ差分ログを送信する。したがって、本実施例のシステム1によれば、負荷が1つのノードに集中することを抑制することができる。
制御部6は、Application Specific Integrated Circuit(ASIC)などの集積回路である。また、制御部6は、Field Programmable Gate Array(FPGA)であってもよい。また、制御部6は、Central Processing Unit(CPU)などの電子回路であってもよい。さらに、制御部6は、Micro Processing Unit(MPU)であってもよい。
次に、本実施例に係るノード3が実行する処理の流れを説明する。図10は、決定処理の手順を示すフローチャートである。この決定処理は、例えば、ノード3に電源が投入されている間、所定時間ごとに繰り返し実行される。
図10に示すように、送信制御部6bは、上述した通信部4から、ノードの異常を検出したことを示す情報を受信したか否かを判定する(S101)。ノードの異常を検出したことを示す情報を受信していない場合(S101否定)には、送信制御部6bは、再びS101の判定を行う。一方、ノードの異常を検出したことを示す情報を受信した場合(S101肯定)には、送信制御部6bは、次のような処理を行う。すなわち、送信制御部6bは、リカバリログファイル5bに登録されたリカバリログの最新の世代番号を通信部4に送信して、異常が発生していない他のノードに送信するように制御する(S102)。
続いて、決定部6cは、異常が発生していない他の全てのノードから、リカバリログの最新の世代番号を受信したか否かを判定する(S103)。他の全てのノードからリカバリログの最新の世代番号を受信していない場合(S103否定)には、決定部6cは、再び、S103の判定を行う。一方、他の全てのノードからリカバリログの最新の世代番号を受信した場合(S103肯定)には、決定部6cは、次のような処理を行う。すなわち、決定部6cは、自ノードのリカバリログの最新の世代番号と、他のノードから受信した世代番号とを比較し、自ノードのリカバリログの最新の世代番号が、他のノードから受信した世代番号よりも最新であるか否かを判定する(S104)。
最新である場合(S104肯定)には、決定部6cは、自ノードをマスタノードとして決定する(S105)。そして、決定部6cは、異常が発生していない他のノードをスレーブノードとして決定する(S106)。続いて、決定部6cは、自ノードがマスタノードであることを示す情報を通信部4へ送信して、かかる情報をスレーブノードおよびアプリケーションノード2へ送信するように通信部4を制御し(S107)、処理を終了する。
一方、最新でない場合(S104否定)には、決定部6cは、自ノードをスレーブノードとして決定し(S108)、処理を終了する。
図11は、取得処理の手順を示すフローチャートである。この取得処理は、例えば、先の図10に示す決定処理において、自ノードをスレーブノードとして決定したノードにより実行される。
図11に示すように、取得部6dは、他ノードの最新のリカバリログの世代番号と、自ノードのリカバリログの最新の世代番号とを比較する。そして、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがあるか否かを判定する(S201)。新しい世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがない場合(S201否定)には、処理を終了する。
一方、新しい世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがある場合(S201肯定)には、取得部6dは、新しい世代番号のリカバリログを有する他のノードのうち、次のノードを自ノードに対する親ノードとして決定する。すなわち、取得部6dは、自ノードのリカバリログの最新の世代番号に最も近い世代番号のリカバリログを最新のリカバリログとして有する他のノードを自ノードに対する親ノードとして決定する(S202)。
そして、取得部6dは、他ノードの最新のリカバリログの世代番号と、自ノードのリカバリログの最新の世代番号とを比較する。そして、取得部6dは、自ノードのリカバリログの最新の世代番号よりも古い世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがあるか否かを判定する(S203)。古い世代番号のリカバリログを最新の世代番号のリカバリログとして有する他のノードがある場合(S203肯定)には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、古い世代番号のリカバリログを有する他のノードのうち、自ノードのリカバリログの最新の世代番号に最も近い世代番号のリカバリログを最新のリカバリログとして有するノードを自ノードに対する子ノードとして決定する(S204)。
続いて、取得部6dは、S202で決定された親ノードがマスタノードであるか否かを判定する(S205)。決定された親ノードがマスタノードでない場合(S205否定)には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードに送信するように通信部4を制御する(S206)。そして、取得部6dは、親ノードから送信された差分ログを受信したか否かを判定する(S207)。親ノードから送信された差分ログを受信していない場合(S207否定)には、取得部6dは、再び、S207の判定を行う。
一方、親ノードから送信された差分ログを受信した場合(S207肯定)や、親ノードがマスタノードである場合(S205肯定)には、取得部6dは次の処理を行う。すなわち、取得部6dは、自ノードに対する全ての子ノードから完了通知を受信したか否かを判定する(S208)。全ての子ノードから完了通知を受信していない場合(S208否定)には、取得部6dは、再び、S208の判定を行う。
一方、全ての子ノードから完了通知を受信した場合(S208肯定)には、取得部6dは、完了通知を通信部4に送信して、親ノードに完了通知を送信するように通信部4を制御し(S209)、処理を終了する。
また、古い世代番号のリカバリログを有する他のノードがない場合(S203否定)には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、自ノードのリカバリログの最新の世代番号よりも新しい世代番号の差分ログを送信する旨の要求を通信部4に送信して、かかる要求を親ノードに送信するように通信部4を制御する(S210)。
そして、親ノードから送信された差分ログを受信したか否かを判定する(S211)。親ノードから送信された差分ログを受信していない場合(S211否定)には、取得部6dは、再び、S211の判定を行う。一方、親ノードから送信された差分ログを受信した場合(S211肯定)には、取得部6dは、次のような処理を行う。すなわち、取得部6dは、完了通知を通信部4に送信して、親ノードに完了通知を送信するように通信部4を制御し(S212)、処理を終了する。
図12は、送信処理の手順を示すフローチャートである。この送信処理は、例えば、先の図10に示す決定処理において、自ノードをマスタノードとして決定したノードにより実行される。
図12に示すように、実行部6aは、自ノードに対する子ノードから、完了通知を受信したか否かを判定する(S301)。完了通知を受信していない場合(S301否定)には、実行部6aは、再び、S301の判定を行う。一方、完了通知を受信した場合(S301肯定)には、実行部6aは、全てのスレーブノードに対して、スレーブノードが保有していない世代番号の差分ログを送信する(S302)。そして、実行部6aは、ミラーリングを開始し(S303)、処理を終了する。
上述してきたように、本実施例のシステム1では、スレーブノードの親ノードと子ノードとの間で差分ログをやりとりした上で、マスタノードからスレーブノードへ差分ログを送信する。したがって、本実施例のシステム1によれば、負荷が1つのノードに集中することを抑制することができる。
さて、これまで開示のシステムに関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、異常が検出されたノードが修理されるなどして状態が正常に回復した場合には、上記の実施例で説明したスレーブノードが行う処理と同様の処理を行って、異常が検出されたノードをスレーブノードとしてシステムに組み込んでもよい。
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[プログラム]
また、上記の実施例で説明したノード3の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図13を用いて、上記の実施例で説明したノード3と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、プログラムを実行するコンピュータを示す図である。
また、上記の実施例で説明したノード3の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図13を用いて、上記の実施例で説明したノード3と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、プログラムを実行するコンピュータを示す図である。
図13に示すように、コンピュータ300は、CPU310、ROM320、Hard Disk Drive(HDD)330、RAM340を有する。CPU310、ROM320、HDD330、RAM340は、バスを介して接続される。
ROM320には、OSなどの基本プログラムが記憶されている。また、HDD330には、上記の各実施例で示す実行部6a、送信制御部6b、決定部6c、取得部6dと同様の機能を発揮するプログラム330aが予め記憶される。なお、プログラム330aについては、適宜分離しても良い。また、HDD330には、DB、リカバリログファイル、差分ログファイルが設けられる。これらDB、リカバリログファイル、差分ログファイルは、上述したDB5a、リカバリログファイル5b、差分ログファイル5cに対応する。
そして、CPU310が、プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、DB、リカバリログファイル、差分ログファイルを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納されたDB、リカバリログファイル、差分ログファイルを用いて、プログラム330aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM330に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記したプログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
1 システム
2 アプリケーションノード
3 ノード
5 記憶部
5a DB
5b リカバリログファイル
5c 差分ログファイル
6 制御部
6a 実行部
6b 送信制御部
6c 決定部
6d 取得部
2 アプリケーションノード
3 ノード
5 記憶部
5a DB
5b リカバリログファイル
5c 差分ログファイル
6 制御部
6a 実行部
6b 送信制御部
6c 決定部
6d 取得部
Claims (5)
- 複数のノードを有するシステムであって、
前記複数のノードは、
ログを記憶する記憶部と、
異常が発生したノード以外の他のノードに、前記記憶部に記憶されたログが生成された順番を示す情報の送信を依頼する送信制御部と、
前記他のノードから前記他のノードに記憶されたログが生成された順番を示す情報を受信する受信部と、
前記受信した情報が示す順番、および、前記記憶部に記憶されたログが生成された順番に基づいて、前記記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他のノードが存在する場合には、当該新しい順番のログが記憶された他のノードから、前記記憶部に記憶されたログよりも新しい順番のログを取得する取得部と、
を有することを特徴とするシステム。 - 前記取得部は、前記記憶部に記憶されたログが生成された順番よりも新しく、かつ、該順番に最も近い順番のログが記憶された他のノードから、前記記憶部に記憶されたログよりも新しい順番のログを取得する
ことを特徴とする請求項1に記載のシステム。 - ログを記憶する記憶部と、
異常が発生した情報処理装置以外の他の情報処理装置に、前記記憶部に記憶されたログが生成された順番を示す情報の送信を依頼する送信制御部と、
前記他の情報処理装置から前記他の情報処理装置に記憶されたログが生成された順番を示す情報を受信する受信部と、
前記受信した情報が示す順番、および、前記記憶部に記憶されたログが生成された順番に基づいて、前記記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他の情報処理装置が存在する場合には、当該新しい順番のログが記憶された他の情報処理装置から、前記記憶部に記憶されたログよりも新しい順番のログを取得する取得部と、
を有することを特徴とする情報処理装置。 - 情報処理装置が、
異常が発生した情報処理装置以外の他の情報処理装置に、ログを記憶する記憶部に記憶されたログが生成された順番を示す情報の送信を依頼し、
前記他の情報処理装置から前記他の情報処理装置に記憶されたログが生成された順番を示す情報を受信する受信部により受信された情報が示す順番、および、前記記憶部に記憶されたログが生成された順番に基づいて、前記記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他の情報処理装置が存在する場合には、当該新しい順番のログが記憶された他の情報処理装置から、前記記憶部に記憶されたログよりも新しい順番のログを取得する、
各処理を実行することを特徴とする取得方法。 - コンピュータに、
異常が発生した情報処理装置以外の他の情報処理装置に、ログを記憶する記憶部に記憶されたログが生成された順番を示す情報の送信を依頼し、
前記他の情報処理装置から前記他の情報処理装置に記憶されたログが生成された順番を示す情報を受信する受信部により受信された情報が示す順番、および、前記記憶部に記憶されたログが生成された順番に基づいて、前記記憶部に記憶されたログが生成された順番よりも新しい順番のログが記憶された他の情報処理装置が存在する場合には、当該新しい順番のログが記憶された他の情報処理装置から、前記記憶部に記憶されたログよりも新しい順番のログを取得する、
各処理を実行させることを特徴とする取得プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/067133 WO2014006713A1 (ja) | 2012-07-04 | 2012-07-04 | システム、情報処理装置、取得方法および取得プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014006713A1 true JPWO2014006713A1 (ja) | 2016-06-02 |
JP5967198B2 JP5967198B2 (ja) | 2016-08-10 |
Family
ID=49881503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014523491A Active JP5967198B2 (ja) | 2012-07-04 | 2012-07-04 | システム、情報処理装置、取得方法および取得プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150112940A1 (ja) |
JP (1) | JP5967198B2 (ja) |
WO (1) | WO2014006713A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235252B1 (en) * | 2016-06-28 | 2019-03-19 | EMC IP Holding Company LLC | Retroactive log retrieval service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274394A (ja) * | 1993-03-19 | 1994-09-30 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベース制御方法 |
JP2007304898A (ja) * | 2006-05-12 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベースシステムおよび方法、並びに、この方法のプログラムおよびこのプログラムを記録した記録媒体 |
JP2009230369A (ja) * | 2008-03-21 | 2009-10-08 | Konica Minolta Holdings Inc | 共有データの同期方法、共有データを同期するためのプログラム、および共有データを同期して保持可能なネットワークシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3963417B2 (ja) * | 1999-11-19 | 2007-08-22 | 株式会社東芝 | データ同期処理のための通信方法および電子機器 |
US7627611B2 (en) * | 2006-08-17 | 2009-12-01 | Osisoft, Inc. | Conflict resolution in database replication through autonomous node qualified folding |
JP5416490B2 (ja) * | 2009-06-17 | 2014-02-12 | 日本電信電話株式会社 | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム |
US9081888B2 (en) * | 2010-03-31 | 2015-07-14 | Cloudera, Inc. | Collecting and aggregating log data with fault tolerance |
US9317572B2 (en) * | 2010-03-31 | 2016-04-19 | Cloudera, Inc. | Configuring a system to collect and aggregate datasets |
US20130311488A1 (en) * | 2012-01-06 | 2013-11-21 | Citus Data Bilgi Islemleri Ticaret A.S. | Time Stamp Bounded Addition of Data to an Append-Only Distributed Database Table |
-
2012
- 2012-07-04 WO PCT/JP2012/067133 patent/WO2014006713A1/ja active Application Filing
- 2012-07-04 JP JP2014523491A patent/JP5967198B2/ja active Active
-
2014
- 2014-12-22 US US14/579,160 patent/US20150112940A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274394A (ja) * | 1993-03-19 | 1994-09-30 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベース制御方法 |
JP2007304898A (ja) * | 2006-05-12 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベースシステムおよび方法、並びに、この方法のプログラムおよびこのプログラムを記録した記録媒体 |
JP2009230369A (ja) * | 2008-03-21 | 2009-10-08 | Konica Minolta Holdings Inc | 共有データの同期方法、共有データを同期するためのプログラム、および共有データを同期して保持可能なネットワークシステム |
Also Published As
Publication number | Publication date |
---|---|
WO2014006713A1 (ja) | 2014-01-09 |
JP5967198B2 (ja) | 2016-08-10 |
US20150112940A1 (en) | 2015-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6607783B2 (ja) | 分散キャッシュクラスタ管理 | |
JP6556851B2 (ja) | データベースシステム、サーバ装置、プログラムおよび情報処理方法 | |
US10462250B2 (en) | Distributed caching cluster client configuration | |
US9367261B2 (en) | Computer system, data management method and data management program | |
JP5542398B2 (ja) | 障害の根本原因解析結果表示方法、装置、及びシステム | |
JP5686034B2 (ja) | クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
US9378078B2 (en) | Controlling method, information processing apparatus, storage medium, and method of detecting failure | |
US10970256B2 (en) | Reconciler for a distributed storage system | |
CN111708668B (zh) | 集群故障的处理方法、装置及电子设备 | |
JP5967198B2 (ja) | システム、情報処理装置、取得方法および取得プログラム | |
KR102665749B1 (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
JP4989295B2 (ja) | データベース等価システムおよびデータベース等価方法 | |
US20150234648A1 (en) | Firmware management system, method, and recording medium storing program | |
TW201523447A (zh) | 伺服器系統與韌體更新方法 | |
JP5812512B2 (ja) | データベースシステム、マスタースレーブ管理方法およびマスタースレーブ管理プログラム | |
JP5094903B2 (ja) | データベース多重化システム及び多重化方法 | |
JP5473016B2 (ja) | データ共有システム、端末装置、データ共有方法、及びプログラム | |
JP6043687B2 (ja) | サーバ/クライアントシステム | |
JP7013988B2 (ja) | 制御装置、制御方法、制御プログラム、及び制御システム | |
WO2013073022A1 (ja) | 計算機システム及び障害検出方法 | |
JP2014215680A (ja) | データベースシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160322 |
|
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: 20160607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160620 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5967198 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |