JP5201134B2 - 二重化システム、切替プログラムおよび切替方法 - Google Patents

二重化システム、切替プログラムおよび切替方法 Download PDF

Info

Publication number
JP5201134B2
JP5201134B2 JP2009512839A JP2009512839A JP5201134B2 JP 5201134 B2 JP5201134 B2 JP 5201134B2 JP 2009512839 A JP2009512839 A JP 2009512839A JP 2009512839 A JP2009512839 A JP 2009512839A JP 5201134 B2 JP5201134 B2 JP 5201134B2
Authority
JP
Japan
Prior art keywords
node
processing
transaction
switching
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009512839A
Other languages
English (en)
Other versions
JPWO2008136107A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008136107A1 publication Critical patent/JPWO2008136107A1/ja
Application granted granted Critical
Publication of JP5201134B2 publication Critical patent/JP5201134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Description

この発明は、一連の処理単位であるトランザクションの処理を実行する運用ノードと、当該運用ノードで実行されていたトランザクションの処理をリカバリするための待機ノードとを含んで構成され、当該運用ノードおよび当該待機ノードが互いに独立化された完全二重化システムにおいて、当該運用ノードに異常が発生した場合に、当該待機ノードを新運用ノードとして切り替える処理をコンピュータに実行させる切替処理プログラム、切替処理方法および完全二重化システムに関する。
従来より、データベースの絶対的な安定稼動の維持を目的として、運用ノードと待機ノードとが完全に独立化された完全二重化システム(図7参照)が企業などにより利用されている。この完全二重化システムは、待機について起動状態を維持し、更新差分ログを用いて、運用ノード内のデータベースと待機ノード内のデータベースとの間のデータ同期を取るとともに、運用ノードと待機ノードとの間の切り替え処理を秒単位で実現する。
ところで、完全二重化システムのようなシステムにおける運用ノードに異常が発生した場合に、待機ノードを新運用ノードとして切り替える処理を迅速に行うための技術が開示されている(例えば、特許文献1参照)。なお、完全二重化システムでは、運用ノードに異常が検知された場合に、通常、運用ノードで実行されている処理(例えば、トランザクションの処理)を停止してから、運用ノードで実行されている処理を引き継ぐように、待機ノードを新運用ノードとして切り替える処理を実行する。
特開2004−348701号公報
ところで、上記した従来の技術は、運用ノードで仕掛かり中のトランザクションから停止すべきものを利用者が選択することは非常に困難であり、一般的には全ての仕掛かり中トランザクションが完了してから切り替える方式を選択しているという背景から、待機ノードを新運用ノードとして迅速に切り替えることができない場合があるという問題点があった。
例えば、複数のノードで構成されている完全二重化システム(拡張性を考慮した構成を採用する完全二重化システム)において、一部の運用ノードに異常が検知された場合には、APサーバも含めて一斉に切り替える要件がある場合や、DBMSが管理する情報の一貫性を保証する理由などから、正常な運用ノードを含めた全ての運用ノードの片系を構成する各待機ノードを、新運用ノードとしてそれぞれ切り替える必要がある(図8参照)。そして、切り替え処理を実行する前には、全ての運用ノードで実行されているトランザクションの処理を停止する必要があるので、正常な運用ノードを含めた全ての運用ノードの片系を構成する各待機ノードを、新運用ノードとして迅速にそれぞれ切り替えることができない場合があるという問題点があった。なお、トランザクションの処理を停止する方法として、従来の技術では、DBMSのインスタンスを停止する方法が一般的に採用されるが、この方法では、ロールバック処理や異常回収などの全ての終了処理を待ち合わせる必要があり、瞬時の切り替えを実現する場合には採用できない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、運用ノードで実行中のトランザクションの中から、ノード切り替え時にトランザクションの処理停止を待つ必要があるものをDBMSが自動的に選択することにより、最低限のトランザクションの停止時間を実現することで、待機ノードを新運用ノードとして迅速に切り替えることが可能な切替処理プログラム、切替処理方法および完全二重化システムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、一連の処理単位であるトランザクションの処理を実行する運用ノードと、当該運用ノードで実行されていたトランザクションの処理をリカバリするための待機ノードとを含んで構成され、当該運用ノードおよび当該待機ノードが互いに独立化された完全二重化システムにおいて、当該運用ノードに異常が発生した場合に、当該待機ノードを新運用ノードとして切り替える処理をコンピュータに実行させる切替処理プログラムであって、前記運用ノードに異常が発生した場合に、当該運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断手順と、前記判断手順による前記処理属性および前記処理状態の判断結果に応じて、運用ノードにおけるトランザクションの停止処理を実行する停止処理実行手順と、前記停止処理実行手順により前記停止処理が実行された後に、前記待機ノードを新運用ノードとして切り替える切替手順と、をコンピュータに実行させることを特徴とする。
また、発明は、上記の発明において、前記判断手順は、前記処理属性が更新であるか否か判断し、当該処理属性が更新であると判断した場合には、前記処理状態が更新トランザクションの実行中、または更新トランザクションに関するコミット処理の実行中のいずれに該当するか判断し、前記停止処理実行手順は、前記判断手順により前記処理属性が更新であって、かつ前記処理状態が更新トランザクションの実行中であると判断された場合には、当該実行中である更新トランザクションの停止処理を実行し、または、前記判断手順により前記処理属性が更新であって、かつ前記処理状態が前記コミット処理の実行中であると判断された場合には、当該実行中であるコミット処理を完了させる処理を実行し、前記切替手順は、前記停止処理実行手順による前記更新トランザクションの停止処理実行に伴ったロールバック処理の完了を待たずに前記待機ノードを新運用ノードとして切り替え、または、前記停止処理実行手順により前記コミット処理が完了された後に前記待機ノードを新運用ノードとして切り替えることを特徴とする。
また、発明は、上記の発明において、前記完全二重化システムは、前記運用ノードおよび前記待機ノードを複数含んで構成され、前記判断手順は、前記運用ノードのいずれかに異常が発生した場合に、各運用ノードにおいてトランザクションの処理属性および処理状態をそれぞれ判断し、前記停止処理実行手順は、前記判断手順による前記処理属性および前記処理状態の判断結果に応じて、各運用ノードにおいてトランザクションの停止処理を実行し、前記切替手順は、前記停止処理実行手順により各運用ノードにおいて前記停止処理がそれぞれ実行された後に、各待機ノードを新運用ノードとしてそれぞれ切り替えることを特徴とする。
また、発明は、一連の処理単位であるトランザクションの処理を実行する運用ノードと、当該運用ノードで実行されていたトランザクションの処理をリカバリするための待機ノードとを含んで構成され、当該運用ノードおよび当該待機ノードが互いに独立化された完全二重化システムにおいて、当該運用ノードに異常が発生した場合に、当該待機ノードを新運用ノードとして切り替える切替処理方法であって、前記運用ノードに異常が発生した場合に、当該運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断工程と、前記判断工程による前記処理属性および前記処理状態の判断結果に応じて、運用ノードにおけるトランザクションの停止処理を実行する停止処理実行工程と、前記停止処理実行工程により前記停止処理が実行された後に、前記待機ノードを新運用ノードとして切り替える切替工程と、を含んだことを特徴とする。
また、発明は、一連の処理単位であるトランザクションの処理を実行する運用ノードと、当該運用ノードで実行されていたトランザクションの処理をリカバリするための待機ノードとを含んで構成され、当該運用ノードおよび当該待機ノードが互いに独立化された完全二重化システムであって、前記運用ノードに異常が発生した場合に、当該運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断手段と、前記判断手段による前記処理属性および前記処理状態の判断結果に応じて、運用ノードにおけるトランザクションの停止処理を実行する停止処理実行手段と、前記停止処理実行手段により前記停止処理が実行された後に、前記待機ノードを新運用ノードとして切り替える切替手段と、を備えたことを特徴とする。
本発明によれば、運用ノードに異常が発生した場合に、トランザクションの処理属性および処理状態を判断し、トランザクションの処理属性および処理状態の判断結果に応じて、運用ノードにおけるトランザクションの停止処理を実行した後に、待機ノードを新運用ノードとして切り替えるので、運用ノードで実行中のトランザクションの中から、ノード切り替え時にトランザクションの処理停止を待つ必要があるものをDBMSが自動的に選択することにより、最低限のトランザクションの停止時間を実現することができ、待機ノードを新運用ノードとして迅速に切り替えることが可能である。
また、本発明によれば、トランザクションの処理属性が更新であるか否か判断し、処理属性が更新であると判断した場合には、処理状態が更新トランザクションの実行中、または更新トランザクションに関するコミット処理の実行中のいずれに該当するか判断し、処理属性が更新であって、かつ処理状態が更新トランザクションの実行中であると判断された場合には、実行中である更新トランザクションの停止処理を実行し、または、処理属性が更新であって、かつ処理状態がコミット処理の実行中であると判断された場合には、コミット処理を完了させる処理を実行し、更新トランザクションの停止処理実行に伴ったロールバック処理の完了を待たずに待機ノードを新運用ノードとして切り替え、または、コミット処理が完了された後に待機ノードを新運用ノードとして切り替えるので、更新トランザクションの停止処理実行に伴って実行されるロールバック処理が完了することを待つことなく、待機ノードを新運用ノードとして切り替える処理を実行することができ、待機ノードを新運用ノードとして切り替える処理を短時間で実現することが可能である。また、実行中であるトランザクションの更新処理に関するコミット処理が完了された後に、待機ノードを新運用ノードとして切り替えることができ、待機ノードを新運用ノードとして切り替える処理をコミット処理に要する一定時間で実現することが可能である。
また、本発明によれば、完全二重化システムは、運用ノードおよび待機ノードを複数含んで構成され、運用ノードのいずれかに異常が発生した場合に、各運用ノードにおいてトランザクションの処理属性および処理状態をそれぞれ判断し、処理属性および処理状態の判断結果に応じて、各運用ノードにおいてトランザクションの停止処理を実行し、各運用ノードにおいて停止処理が実行された後に、各待機ノードを新運用ノードとしてそれぞれ切り替えるので、例えば、システムが複数のノードを含んで構成されている場合であっても、各運用ノードで実行中のトランザクションに関する停止処理を瞬時に完了させることができ、各待機ノードを新運用ノードとしてそれぞれ迅速に切り替えることが可能である。
以下に添付図面を参照して、本発明に係る切替処理プログラム、切替処理方法および完全二重化システムの実施例を詳細に説明する。なお、以下では、本発明に係る切り替え処理プログラムの一実施形態として、この切替処理プログラムを適用した完全二重化システムを例に挙げて実施例1として説明した後に、本発明に含まれる他の実施例を説明する。
以下の実施例1では、実施例1に係る完全二重化システムの概要および特徴、この完全二重化システムに含まれるDBサーバの構成および処理を順に説明した後に、実施例1に係る効果を説明する。
[完全二重化システムの概要および特徴(実施例1)]
まず、図1を用いて、実施例1に係る完全二重化システムの概要および特徴を説明する。図1は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。
実施例1に係る完全二重化システムは、一連の処理単位であるトランザクションの処理を実行する運用ノードと、この運用ノードで実行されていたトランザクションの処理をリカバリするための待機ノードとを含んで構成され、運用ノードおよび待機ノードが互いに独立化されたシステムであって、運用ノードに異常が発生した場合に、待機ノードを新運用ノードとして切り替えることを概要とする。
そして、実施例1に係る完全二重化システムは、待機ノードを新運用ノードとして切り替える場合に、運用ノードにおいて実行中のトランザクションに関する停止処理を瞬時に完了させて、待機ノードを新運用ノードとして迅速に切り替えることが可能である点に主たる特徴がある。
この主たる特徴について具体的に説明すると、図1に示すように、実施例1に係る完全二重化システムは、APサーバ10とDBサーバ20〜50とを通信可能な状態で接続して構成されている。また、図には示していないが、実施例1に係る完全二重化システムは、運用ノードおよび待機ノードで完全二重化されており、一方が運用ノードとして機能する場合には、他方が待機ノードとして機能する。
このような構成を有する完全二重化システムにおいて、運用ノードとして機能しているDBサーバ20の切り替え処理部は、APサーバ10から切り替え指示を受け付けると、他のDBサーバ30〜50に対してトランザクションの停止指示依頼を発行するとともに(図1の(1)参照)、トランザクション停止指示処理を実行する。ここで、トランザクション停止指示処理について簡単に説明すると、DBサーバ20の切り替え処理部は、トランザクション処理部が参照可能な参照メモリ内に処理停止指示状態を設定した後に、自ノードのトランザクション処理部に対してトランザクション停止指示を発行する処理を実行する。
各DBサーバ30〜50の切り替え処理部は、DBサーバ20からトランザクションの停止指示依頼を受け付けると、DBサーバ20と同様に、トランザクション停止指示処理を実行する(図1の(2)参照)。また、各DBサーバ30〜50のトランザクション処理部は、切り替え処理部からトランザクション停止指示を受け付けると、トランザクション停止処理を実行する(図1の(3)参照)。また、DBサーバ20のトランザクション処理部も同様に、トランザクションを停止させる処理を実行する。
ここで、トランザクション停止処理について簡単に説明すると、DBサーバ20のトランザクション処理部、および各DBサーバ30〜50のトランザクション処理部は、トランザクションを構成するSQLの処理属性および処理状態に応じてトランザクションを停止するか否か判断し、判断結果に応じてトランザクションを停止させる処理を実行する。
再び、DBサーバ20に話を戻すと、DBサーバ20の切り替え処理部は、トランザクション停止指示処理を実行した後、他のDBサーバ30〜50に対してトランザクション停止確認要求を発行する。
これに対して、各DBサーバ30〜50の切り替え処理部は、トランザクション停止指示処理を実行した後、トランザクション処理部においてトランザクション停止処理が完了しているか否か確認するトランザクション停止確認処理を実行する(図1の(4)参照)。そして、DBサーバ20からトランザクション停止確認要求を受け付けると、各DBサーバ30〜50の切り替え処理部は、トランザクションの停止処理に関する完了通知をDBサーバ20に発行する(図1の(5)参照)。
再び、DBサーバ20に話を戻すと、DBサーバ20の切り替え処理部は、他のDBサーバ30〜50からトランザクションの停止処理の完了通知を全て受け付けているか否か確認し、完了通知を全て受け付けている場合には、自ノードのトランザクション処理部においてトランザクション停止処理が完了しているか否か確認する停止確認処理を実行する。そして、停止確認処理において自ノードのトランザクション停止処理が完了していることを確認すると、DBサーバ20の切り替え処理部は、更新ログを待機ノード側に全て反映することを保証するとともに、他のDBサーバ30〜50にも更新ログを待機ノード側に全て反映することを保証させる。尚、待機ノード側への反映保証などの切り替え処理部の一部を待機ノードで実行してもよい。
更新ログの反映保証後、各DBサーバ20〜50の切り替え処理部は、待機ノードを新運用ノードとして一斉に切り替える。
このようなことから、実施例1に係る完全二重化システムは、運用ノードにおいて実行中のトランザクションに関する停止処理を瞬時に完了させて、待機ノードを新運用ノードとして迅速に切り替えることが可能である。
[DBサーバの構成(実施例1)]
次に、図2を用いて、実施例1に係るDBサーバの構成を説明する。図2は、実施例1に係るDBサーバの構成を示すブロック図である。
実施例1に係る完全二重化システムは、運用ノードおよび待機ノードで完全二重化されており、実施例1に係るDBサーバ20として、運用ノードにはDBサーバ20(運用)が配置され、待機ノードにはDBサーバ20’(待機)が配置されている。
DBサーバ20(運用)とDBサーバ20’(待機)とは同一の構成であるので、DBサーバ20(運用)について説明する。なお、図2においては、実施例1に係るDBサーバ20を実現する上で必要となる処理構成部のみを記載し、その他の処理構成部については記載を省略する。
図2に示すように、DBサーバ20は、通信制御I/F部21およびDBMS22から構成される。通信制御I/F部21は、APサーバ10や他のDBサーバ30〜50との間でやり取りする各種情報に関する通信を制御する。
DBMS22は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、切り替え処理部22aと、トランザクション処理部22bと、参照メモリ22cとを備える。
参照メモリ22cは、切り替え処理部22aにより設定された処理停止指示状態と、トランザクション処理部22bによりインクリメントまたはデクリメントされたトランザクション実行数とを記憶して構成される。
切り替え処理部22aは、トランザクション停止指示処理およびトランザクション停止確認処理を実行する処理部である。ここで、トランザクション停止指示処理とは、トランザクション処理部22bによりトランザクションの処理を停止させるための処理である。また、トランザクション停止確認処理とは、トランザクション処理部22bにおいてトランザクション停止処理が完了したかどうか確認するための処理である。
トランザクション停止指示処理の内容について具体的に説明すると、切り替え処理部22aは、トランザクション処理部22bが参照可能な参照メモリ22c内に処理停止指示状態を設定するとともに、トランザクション処理部22bに対してトランザクション停止指示を発行する。
次に、トランザクション停止確認処理の内容について具体的に説明すると、参照メモリ22c内に記憶されているトランザクション数を確認し、トランザクション数が“0”である場合には、トランザクション停止処理が完了したものと判断する。なお、トランザクション停止処理の完了後、切り替え処理部22aは、更新ログを待機ノード側に全て反映することを保証する。
なお、切り替え処理部22aは、自ノードがAPサーバ10から切り替え指示を受け付けた場合には、他のDBサーバ30〜50に対してトランザクション停止指示依頼を発行し、自ノードがAPサーバ10から切り替え指示を受け付けていない場合には、他のノードからトランザクションの停止指示依頼を受け付ける。
トランザクション処理部22bは、SQL実行処理およびトランザクション停止処理を実行する処理部である。ここで、SQL実行処理とは、“INSERT(挿入)”処理、“DELETE(削除)”処理および“UPDATE(更新)”処理などがこれに該当し、トランザクション停止処理とは、トランザクションのコミット処理およびロールバック処理がこれに該当する。
SQL実行処理の内容について具体的に説明すると、トランザクション処理部22bは、切り替え処理部22aからトランザクション停止指示を受け付けると、トランザクションを構成するSQLの属性が更新SQLであるか否か判断する。その結果、トランザクションの属性を更新SQLであると判断した場合には、トランザクション処理部は、参照メモリ22cを参照して、処理停止指示状態が設定されているか否かの検出を試みる。これとは反対に、トランザクションの属性が更新SQLではない場合には(例えば、参照SQLである場合には)、処理停止指示状態が設定されているか否かの検出を試みることなく、SQL実行処理を継続する。
参照メモリ22cを参照して、処理停止指示状態が設定されているか否かの検出を試みた結果、処理停止指示状態が設定されていることを参照メモリ22c内から検出した場合には、トランザクション処理部22bは、更新SQLの処理を異常完了させる。
一方、処理停止指示状態が設定されていることを参照メモリ22c内から検出しなかった場合には、トランザクション処理部22bは、更新SQLがトランザクション内で最初のSQLであるか否か確認する。確認の結果、最初のSQLである場合には、トランザクション実行数を参照メモリ22c内にインクリメント(+1)した後に、更新SQLの処理を継続実行する。これとは反対に、更新SQLが最初のSQLでない場合には、既にトランザクション実行数は参照メモリ22c内にインクリメントされているので、そのまま、更新SQLの処理を継続実行させる。
次に、トランザクション停止処理の内容について具体的に説明すると、トランザクション処理部22bは、更新SQL文が正常完了することによって該当トランザクションのコミット要求を利用者から受け付けた場合には、コミット処理を行った後に、トランザクション実行数を参照メモリ内からデクリメント(−1)して、参照メモリ22c内に記憶されているトランザクション実行数を“0”にすることによりトランザクション停止処理を完了する。すなわち、トランザクション処理部22bが、コミット処理を行った後にトランザクションの実行数を参照メモリ22c内からデクリメントすることにより、コミット処理の完了を保証した状態でトランザクションの処理を停止させる趣旨である。
一方、トランザクションの処理停止指示が設定されていることを参照メモリ22c内から検出することにより、更新SQLの処理が正常終了されなかった(つまり、異常完了された)ことを把握した利用者から、該当トランザクションのコミット要求ではなく、ロールバック要求を受け付けた場合には、トランザクション処理部22bは、トランザクション実行数を参照メモリ22c内からデクリメントして、参照メモリ22c内に記憶されているトランザクション実行数を“0”にすることによりトランザクション停止処理を完了する一方で、ロールバック処理を開始する。すなわち、トランザクション処理部22bは、トランザクション実行数を参照メモリ22c内からデクリメントした後にロールバック処理を開始することで、ロールバック処理の実行とは無関係にトランザクションの処理を停止させる趣旨である。
[DBサーバの処理(実施例1)]
続いて、図3〜図5を用いて、実施例1に係るDBサーバの処理を説明する。図3は、実施例1に係る切り替え処理の流れを示すフローチャートである。図4は、実施例1に係るSQL実行処理の流れを示すフローチャートである。図5は、実施例1に係るトランザクション停止処理の流れを示すフローチャートである。
[切り替え処理(実施例1)]
まず、図3を用いて、実施例1に係る切り替え処理の流れを説明する。なお、以下では、APサーバ10から切り替え指示を受け付けたDBサーバで実行される処理を主切り替え処理として説明するとともに、他のDBサーバからトランザクションの停止指示依頼を受け付けたDBサーバで実行される処理を副切り替え処理として説明する。
主切り替え処理から説明すると、同図に示すように、APサーバ10から切り替え指示を受け付けると(ステップS101肯定)、DBサーバ20の切り替え処理部22aは、他のDBサーバ30〜50に対してトランザクションの停止指示依頼を発行するとともに(ステップS102)、トランザクション停止指示処理を実行する(ステップS103)。
トランザクション停止指示処理を実行した後、DBサーバ20の切り替え処理部22aは、他のDBサーバ30〜50に対してトランザクション停止確認要求を発行する(ステップS104)。そして、切り替え処理部22aは、他の全DBサーバ30〜50からトランザクションの停止処理の完了通知を全て受け付けているか否か確認する(ステップS105)。
確認の結果、他の全DBサーバ30〜50から完了通知を受け付けている場合には(ステップS105肯定)、DBサーバ20の切り替え処理部22aは、自ノードのトランザクション処理部においてトランザクション停止処理が完了しているか否か確認する停止確認処理を実行する(ステップS106)。一方、確認の結果、他の全DBサーバ30〜50から完了通知を受け付けていない場合には(ステップS105否定)、完了通知の受付を待機する。
そして、DBサーバ20の切り替え処理部22aは、停止確認処理において自ノードのトランザクション停止処理が完了していることを確認すると、DBサーバ20の切り替え処理部22aは、更新ログを待機ノード側に全て反映することを保証するとともに、他のDBサーバ30〜50にも更新ログを待機ノード側に全て反映することを保証させる。なお、待機ノード側への反映保証などの切り替え処理部の一部を待機ノードで実行してもよい。
更新ログの反映保証後、各DBサーバ20〜50の切り替え処理部は、待機ノードを新運用ノードとして一斉に切り替える(ステップS107)。
次に、副切り替え処理について説明すると、同図に示すように、各DBサーバ30〜50の切り替え処理部は、DBサーバ20からトランザクションの停止指示依頼を受け付けると(ステップS201)、DBサーバ20と同様に、トランザクション停止指示処理を実行する(ステップS202)。トランザクション停止指示処理を実行した後、各DBサーバ30〜50の切り替え処理部は、トランザクション停止処理が完了しているか否か確認するトランザクション停止確認処理を実行する(ステップS203)。
そして、DBサーバ20からトランザクション停止確認要求を受け付けているか否か確認する(ステップS204)。確認の結果、トランザクション停止確認要求を受け付けている場合には(ステップS204肯定)、各DBサーバ30〜50の切り替え処理部は、トランザクションの停止処理に関する完了通知をDBサーバ20に発行する(ステップ205)。一方、確認の結果、トランザクション停止確認要求を受け付けている場合には(ステップS204否定)、各DBサーバ30〜50の切り替え処理部は、トランザクション停止確認要求の受付を待機する。
[SQL実行処理(実施例1)]
続いて、図4を用いて、実施例1に係るSQL実行処理の流れを説明する。同図に示すように、トランザクション処理部22bは、切り替え処理部22aからトランザクション停止指示を受け付けると、トランザクションを構成するSQLの属性が更新SQLであるか否か判断する(ステップS301)。その結果、トランザクションの属性を更新SQLであると判断した場合には(ステップS301肯定)、トランザクション処理部は、参照メモリを参照して、処理停止指示状態が設定されているか否か検出を試みる(ステップS302)。これとは反対に、トランザクションの属性が更新SQLではない場合には(例えば、参照SQLである場合には)(ステップS301否定)、処理停止指示状態が設定されているか否かの検出を試みることなく、SQL実行処理を継続する。
処理停止指示状態が設定されているか否かの検出を試みた結果、処理停止指示状態が設定されていることを参照メモリ22c内から検出しなかった場合には(ステップS302否定)、トランザクション処理部22bは、更新SQLがトランザクション内で最初のSQLであるか否か確認する(ステップS303)。確認の結果、最初のSQLである場合には(ステップS303肯定)、トランザクション実行数を参照メモリ22c内にインクリメント(+1)した後に(ステップS304)、更新SQLの処理を継続実行させる(ステップS305)。これとは反対に、更新SQL最初のSQLでない場合には(ステップS303否定)、既にトランザクション実行数は参照メモリ22c内にインクリメントされているので、そのまま、更新SQLの処理を継続実行させる。
ここで、ステップS302の説明に戻ると、処理停止指示状態が設定されていることを参照メモリ22c内から検出した場合には(ステップS302肯定)、トランザクション処理部22bは、更新SQLの処理を異常完了させる(ステップS306)。
[トランザクション停止処理(実施例1)]
続いて、図5を用いて、実施例1に係るトランザクション停止処理の流れを説明すると、同図に示すように、トランザクション処理部22bは、更新SQL文が正常完了することによって該当トランザクションのコミット要求を利用者から受け付けた場合には(ステップS401肯定)、コミット処理を行った後に(ステップS402)、トランザクション実行数を参照メモリ内からデクリメント(−1)して(ステップS403)、参照メモリ22c内に記憶されているトランザクション実行数を“0”にすることによりトランザクション停止処理を完了する。すなわち、トランザクション処理部22bが、コミット処理を行った後にトランザクションの実行数を参照メモリ22c内からデクリメントすることにより、コミット処理の完了を保証した状態でトランザクションの処理を停止させる趣旨である。
ここで、ステップS401の説明に戻ると、トランザクションの処理停止指示が設定されていることを参照メモリ22c内から検出することにより、更新SQLの処理が正常終了されなかった(つまり、異常完了された)ことを把握した利用者から、該当トランザクションのコミット要求ではなく、ロールバック要求を受け付けた場合には(ステップS401否定)、トランザクション処理部22bは、トランザクション実行数を参照メモリ22c内からデクリメントして(ステップS404)、参照メモリ22c内に記憶されているトランザクション実行数を“0”にすることによりトランザクション停止処理を完了する一方で、ロールバック処理を開始する(ステップS405)。すなわち、トランザクション処理部22bは、トランザクション実行数を参照メモリ22c内からデクリメントした後にロールバック処理を開始することで、ロールバック処理の実行とは無関係にトランザクションの処理を停止させる趣旨である。
[実施例1による効果]
上述してきたように、実施例1によれば、運用ノードのDBサーバに異常が発生した場合に、トランザクションの処理属性および処理状態を判断し、トランザクションの処理属性および処理状態の判断結果に応じて、運用ノードのDBサーバにおけるトランザクションの停止処理を実行した後に、待機ノードを新運用ノードとして切り替えるので、運用ノードで実行中のトランザクションの中から、ノード切り替え時にトランザクションの処理停止を待つ必要があるものをDBMSが自動的に選択することにより、最低限のトランザクションの停止時間を実現することができ、待機ノードを新運用ノードとして迅速に切り替えることが可能である。
また、実施例1によれば、トランザクションを構成するSQLの処理属性が更新であるか否か判断し、処理属性が更新であると判断した場合には、処理状態が更新トランザクションの実行中、または更新トランザクションに関するコミット処理の実行中のいずれに該当するか判断し、処理属性が更新であって、かつ処理状態が更新トランザクションの実行中であると判断された場合には、実行中である更新トランザクションの停止処理を実行し、または、処理属性が更新であって、かつ処理状態がコミット処理の実行中であると判断された場合には、コミット処理を完了させる処理を実行し、更新トランザクションの停止処理実行に伴ったロールバック処理の完了を待たずに待機ノードを新運用ノードとして切り替え、または、コミット処理が完了された後に待機ノードを新運用ノードとして切り替えるので、更新トランザクションの停止処理実行に伴って実行されるロールバック処理が完了することを待つことなく、待機ノードを新運用ノードとして切り替える処理を実行することができ、待機ノードを新運用ノードとして切り替える処理を短時間で実現することが可能である。また、実行中であるトランザクションの更新処理に関するコミット処理が完了された後に、待機ノードを新運用ノードとして切り替えることができ、待機ノードを新運用ノードとして切り替える処理をコミット処理に要する一定時間で実現することが可能である。
また、上記の実施例1では、複数のノードで構成される完全二重化システムに本発明を適用する場合を説明したが、単数のノードで構成されるシステムにも同様に本発明を適用することができ、待機ノードを新運用ノードとして迅速に切り替えることが可能である。
また、上記の実施例1では、トランザクション処理部が、トランザクションの属性を判断するとともに、トランザクション実行数をインクリメントまたはデクリメントしてトランザクション状態を管理し、切り替え処理部が、トランザクション実行数に基づいてトランザクションの停止処理完了を判断して、切り替え処理を実行する場合を説明したが、本発明はこれに限定されるものではなく、トランザクション処理部がトランザクションの属性および状態を判断して自己の振る舞いを決定することができ、切り替え処理部がトランザクション処理部の振る舞いに基づいて切り替え処理を実行することができる方法であれば、どのような方法を採用してもよい。
また、上記の実施例1では、APサーバから切り替え指示を受け付けたDBサーバの一つが、他のDBサーバに対して停止指示依頼を発行する場合を説明したが、本発明はこれに限定されるものではなく、各DBサーバがAPサーバから切り替え指示を受け付けて、それぞれ処理を実行するようにしてもよい。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
(1)システム構成等
図2に示したDBサーバ20の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、DBサーバ20の分散・統合の具体的形態は図示のものに限られず、切り替え処理部22aとトランザクション処理部22bとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、DBサーバ20にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(2)切替処理プログラム
ところで、上記の実施例で説明した各種の処理(図3〜図5等参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図6を用いて、上記の実施例と同様の機能を有する切替処理プログラムを実行するコンピュータの一例を説明する。図6は、切替処理プログラムを実行するコンピュータを示す図である。
同図に示すように、DBサーバとしてコンピュータ60は、通信制御I/F部61、RAM62、ROM63およびCPU64をバス70で接続して構成される。
そして、ROM63には、上記の実施例に示したDBサーバと同様の機能を発揮する切替処理プログラム、つまり、図6に示すように、切り替え処理プログラム63aおよびトランザクション処理プログラム63bがあらかじめ記憶されている。なお、これらのプログラム63aおよび63bについては、図2に示したDBサーバの各構成要素と同様、適宜統合または分散してもよい。なお、ROM63は、不揮発性の「RAM」でもよい。
そして、CPU64が、これらのプログラム63aおよび63bをROM63から読み出して実行することで、図6に示すように、各プログラム63aおよび63bは、切り替え処理プロセス64aおよびトランザクション処理プロセス64bとして機能するようになる。なお、各プロセス64aおよび64bは、図2に示したDBサーバ20の切り替え処理部22aおよびトランザクション処理部22bにそれぞれ対応する。
また、RAM62には、CPU64が実行するプロセスに用いられる実行数データ62aおよび停止指示状態データ62bがそれぞれ格納されている。なお、実行数データ62aおよび停止指示状態データ62bは、図2に示した参照メモリ22cに記憶されているトランザクション停止指示状態、およびトランザクション実行数に関するデータにそれぞれ対応する。そして、CPU64はRAM62に格納された実行数データ62aおよび停止指示状態データ62bに基づいて処理を実行する(例えば、RAM62に格納されたデータを直接“UPDATE(更新)”する)。
なお、上記した各プログラム63aおよび63bについては、必ずしも最初からROM63に記憶させておく必要はなく、例えば、コンピュータ60に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ60の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ60に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ60がこれらから各プログラムを読み出して実行するようにしてもよい。
図1は、実施例1に係る完全二重化システムの概要および特徴を説明する図である。 図2は、実施例1に係るDBサーバの構成を示すブロック図である。 図3は、実施例1に係る切り替え処理の流れを示すフローチャートである。 図4は、実施例1に係るSQL実行処理の流れを示すフローチャートである。 図5は、実施例1に係るトランザクション停止処理の流れを示すフローチャートである。 図6は、切替制御プログラムを実行するコンピュータを示す図である。 図7は、従来技術を説明するための図である。 図8は、従来技術を説明するための図である。
1 ネットワーク
10 APサーバ
20 DBサーバ(運用)
20’ DBサーバ(待機)
21、21’ 通信制御I/F部
22、22’ DBMS
22a、22a’ 切り替え処理部
22b、22b’ トランザクション処理部
22c、22c’ 参照メモリ
30 DBサーバ(運用)
30’ DBサーバ(待機)
40 DBサーバ(運用)
40’ DBサーバ(待機)
50 DBサーバ(運用)
50’ DBサーバ(待機)
60 コンピュータ
61 通信制御I/F部
62 RAM(Random Access Memory)
62a 実行数データ
62b 停止指示状態データ
63 ROM(Read Only Memory)
63a 切り替え処理プログラム
63b トランザクション処理プログラム
64 CPU(Central Processing Unit)
64a 切り替え処理プロセス
64b トランザクション処理プロセス
70 バス

Claims (6)

  1. 一連の処理単位であるトランザクションの処理を実行する複数の運用ノードと、当該複数の運用ノードそれぞれに対応する待機ノードであって、当該複数の運用ノードそれぞれで実行されていたトランザクションの処理をリカバリするための複数の待機ノードとを含む二重化システムであって
    前記複数の運用ノードの各々は、
    自運用ノードに異常が発生した場合に、自運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断処理を実行する判断手段と、
    前記判断手段により、前記処理属性が更新、かつ、前記処理状態が更新トランザクションの実行中であると判断された場合には、自運用ノードにおいて実行中である更新トランザクションの停止処理を実行し、前記処理属性が更新、かつ、前記処理状態がコミット処理の実行中であると判断された場合には、自運用ノードにおいて実行中であるコミット処理を完了させる完了処理を実行する処理実行手段と、
    前記処理実行手段により前記停止処理が実行された後に、前記処理実行手段による前記更新トランザクションの停止処理の実行に伴ったロールバック処理の完了を待たずに前記複数の待機ノードそれぞれを新たな運用ノードとして切り替え、または、前記処理実行手段により前記完了処理が実行された後に、前記複数の待機ノードそれぞれを新たな運用ノードとして切り替える切替処理を実行する切替手段と、
    を備えたことを特徴とする二重化システム。
  2. 前記複数の運用ノードのうちの第1の運用ノードは、切替指示を前記複数の運用ノードのうちの第2の運用ノードへ通知し、前記第2の運用ノードにおいて実行された前記切替指示に応じた前記判断処理、ならびに、前記停止処理または前記完了処理の実行完了を前記第2の運用ノードから受信する通知手段
    をさらに備え、
    前記第1の運用ノードにおける前記切替手段は、自運用ノードにおいて前記判断処理、ならびに、前記停止処理または前記完了処理が実行完了し、かつ、前記第2の運用ノードから前記実行完了を受信した場合に、前記第2の運用ノードの前記切替手段と同期して前記切替処理を実行する
    ことを特徴とする請求項1に記載の二重化システム。
  3. 一連の処理単位であるトランザクションの処理を実行する複数の運用ノードと、当該複数の運用ノードそれぞれに対応する待機ノードであって、当該複数の運用ノードそれぞれで実行されていたトランザクションの処理をリカバリするための複数の待機ノードとを含む二重化システムにおける運用ノードとしてのコンピュータにノード切替を実行させる切替プログラムであって
    前記複数の運用ノードの各々としての前記コンピュータに、
    自運用ノードに異常が発生した場合に、自運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断処理を実行し、
    前記処理属性が更新、かつ、前記処理状態が更新トランザクションの実行中であると判断した場合には、自運用ノードにおいて実行中である更新トランザクションの停止処理を実行し、前記処理属性が更新、かつ、前記処理状態がコミット処理の実行中であると判断した場合には、自運用ノードにおいて実行中であるコミット処理を完了させる完了処理を実行し、
    前記停止処理が実行された後に、前記更新トランザクションの停止処理の実行に伴ったロールバック処理の完了を待たずに前記複数の待機ノードそれぞれを新たな運用ノードとして切り替え、または、前記完了処理が実行された後に、前記複数の待機ノードそれぞれを新たな運用ノードとして切り替える切替処理を実行する
    各処理を実行させることを特徴とする切替プログラム。
  4. さらに、
    前記コンピュータに、
    前記複数の運用ノードのうちの第1の運用ノードは、切替指示を前記複数の運用ノードのうちの第2の運用ノードへ通知し、前記第2の運用ノードにおいて実行された前記切替指示に応じた前記判断処理、ならびに、前記停止処理または前記完了処理の実行完了を前記第2の運用ノードから受信し、
    前記第1の運用ノードは、自運用ノードにおいて前記判断処理、ならびに、前記停止処理または前記完了処理が実行完了し、かつ、前記第2の運用ノードから前記実行完了を受信した場合に、前記第2の運用ノードと同期して前記切替処理を実行する
    各処理を実行させることを特徴とする請求項3に記載の切替プログラム。
  5. 一連の処理単位であるトランザクションの処理を実行する複数の運用ノードと、当該複数の運用ノードそれぞれに対応する待機ノードであって、当該複数の運用ノードそれぞれで実行されていたトランザクションの処理をリカバリするための複数の待機ノードとを含む二重化システムがノード切替を実行する切替方法であって
    前記複数の運用ノードの各々は、
    自運用ノードに異常が発生した場合に、自運用ノードにおけるトランザクションの処理属性および処理状態を判断する判断処理を実行し、
    前記処理属性が更新、かつ、前記処理状態が更新トランザクションの実行中であると判断した場合には、自運用ノードにおいて実行中である更新トランザクションの停止処理を実行し、前記処理属性が更新、かつ、前記処理状態がコミット処理の実行中であると判断した場合には、自運用ノードにおいて実行中であるコミット処理を完了させる完了処理を実行し、
    前記停止処理が実行された後に、前記更新トランザクションの停止処理の実行に伴ったロールバック処理の完了を待たずに前記複数の待機ノードそれぞれを新たな運用ノードとして切り替え、または、前記完了処理が実行された後に、前記複数の待機ノードそれぞれを新たな運用ノードとして切り替える切替処理を実行する
    各処理を実行することを特徴とする切替方法。
  6. さらに、
    前記複数の運用ノードのうちの第1の運用ノードは、切替指示を前記複数の運用ノードのうちの第2の運用ノードへ通知し、前記第2の運用ノードにおいて実行された前記切替指示に応じた前記判断処理、ならびに、前記停止処理または前記完了処理の実行完了を前記第2の運用ノードから受信し、
    前記第1の運用ノードは、自運用ノードにおいて前記判断処理、ならびに、前記停止処理または前記完了処理が実行完了し、かつ、前記第2の運用ノードから前記実行完了を受信した場合に、前記第2の運用ノードと同期して前記切替処理を実行する
    各処理を実行することを特徴とする請求項5に記載の切替方法。
JP2009512839A 2007-04-25 2007-04-25 二重化システム、切替プログラムおよび切替方法 Active JP5201134B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/058987 WO2008136107A1 (ja) 2007-04-25 2007-04-25 切替処理方法

Publications (2)

Publication Number Publication Date
JPWO2008136107A1 JPWO2008136107A1 (ja) 2010-07-29
JP5201134B2 true JP5201134B2 (ja) 2013-06-05

Family

ID=39943230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009512839A Active JP5201134B2 (ja) 2007-04-25 2007-04-25 二重化システム、切替プログラムおよび切替方法

Country Status (3)

Country Link
US (1) US8174966B2 (ja)
JP (1) JP5201134B2 (ja)
WO (1) WO2008136107A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671187B1 (en) 2010-07-27 2014-03-11 Aerohive Networks, Inc. Client-independent network supervision application
JP5640767B2 (ja) * 2011-01-25 2014-12-17 富士通株式会社 情報処理装置、データ管理方法およびデータベースシステム
US9948626B2 (en) 2013-03-15 2018-04-17 Aerohive Networks, Inc. Split authentication network systems and methods
US9690676B2 (en) * 2013-03-15 2017-06-27 Aerohive Networks, Inc. Assigning network device subnets to perform network activities using network device information
US9152782B2 (en) 2013-12-13 2015-10-06 Aerohive Networks, Inc. Systems and methods for user-based network onboarding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344141A (ja) * 2000-03-29 2001-12-14 Fuji Photo Film Co Ltd データバックアップ機能を備えた分散処理システムおよびその処理方法
US20020129146A1 (en) * 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
JP2004295540A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd トランザクション同期方法、データベースシステム及びデータベース装置
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1139235B1 (en) 2000-03-29 2006-05-24 Fuji Photo Film Co., Ltd. Distributed data processing system and method of processing data in distributed data processing system
US7231391B2 (en) * 2001-02-06 2007-06-12 Quest Software, Inc. Loosely coupled database clusters with client connection fail-over
US7383264B2 (en) 2003-03-27 2008-06-03 Hitachi, Ltd. Data control method for duplicating data between computer systems
JP4289056B2 (ja) 2003-03-27 2009-07-01 株式会社日立製作所 計算機システム間のデータ二重化制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344141A (ja) * 2000-03-29 2001-12-14 Fuji Photo Film Co Ltd データバックアップ機能を備えた分散処理システムおよびその処理方法
US20020129146A1 (en) * 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
JP2004295540A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd トランザクション同期方法、データベースシステム及びデータベース装置
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法

Also Published As

Publication number Publication date
JPWO2008136107A1 (ja) 2010-07-29
US8174966B2 (en) 2012-05-08
WO2008136107A1 (ja) 2008-11-13
US20100020678A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
US11194679B2 (en) Method and apparatus for redundancy in active-active cluster system
WO2019085875A1 (zh) 存储集群的配置修改方法、存储集群及计算机系统
CA2657882C (en) Fault tolerance and failover using active copy-cat
US8392749B2 (en) Match server for a financial exchange having fault tolerant operation
AU2010295938B2 (en) Match server for a financial exchange having fault tolerant operation
US7865763B2 (en) Data replication method
US7730029B2 (en) System and method of fault tolerant reconciliation for control card redundancy
JP5201134B2 (ja) 二重化システム、切替プログラムおよび切替方法
WO2017215430A1 (zh) 一种集群内的节点管理方法及节点设备
US7669080B2 (en) Reducing likelihood of data loss during failovers in high-availability systems
US10049021B2 (en) Redundant system and redundancy method
US8880552B2 (en) Database system and database control method
US7194675B2 (en) Backup method, backup system, disk controller and backup program
US20120191645A1 (en) Information processing apparatus and database system
US9971661B2 (en) Redundant system, method for redundant system, method for controlling node of redundant system and computer readable storage medium
JP2007280270A (ja) ソフトウェア二重化運用システム、ソフトウェア二重化運用方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5201134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3