JP5419166B2 - チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム - Google Patents
チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム Download PDFInfo
- Publication number
- JP5419166B2 JP5419166B2 JP2010164607A JP2010164607A JP5419166B2 JP 5419166 B2 JP5419166 B2 JP 5419166B2 JP 2010164607 A JP2010164607 A JP 2010164607A JP 2010164607 A JP2010164607 A JP 2010164607A JP 5419166 B2 JP5419166 B2 JP 5419166B2
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- service
- thread
- list
- stop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000012545 processing Methods 0.000 claims description 105
- 238000003860 storage Methods 0.000 claims description 60
- 239000003550 marker Substances 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
実施例1に係る分散システム10を説明する。図1に示すように分散システム10は、ネットワークでつながれたN個の分散処理装置100−n(n=1,2,…,Nである。図1ではN=3)からなる。エンドユーザは利用者端末90を用い、インターネットを介して、分散処理システム10にアクセスしサービスを要求する。分散システム10において、N個の分散処理装置100−nがネットワークを通じて互いに情報を送受信して処理を行い、エンドユーザに対しサービスを提供する。
図2及び図3を用いて分散処理装置100−nを説明する。分散システム10において一部の分散処理装置のクラッシュ故障に備えて、各分散処理装置100−nは、他の分散処理装置100−p(n≠p)と矛盾しない内容でハードディスクなどの安定記憶手段に、その状態を記録する。つまり、各分散処理装置100−nは、チェックポイントを作成しながら処理を進めていく。そのため、分散処理装置をチェックポイント作成装置とも呼ぶ。
入出力手段101は、例えば、データが入力される入力デバイス(例えばキーボード、マウス等)の出力信号や外部記憶装置より読み出される信号やネットワークから受信した信号等を入力するための入力インタフェースと、例えば、データが出力される出力デバイス(例えばディスプレイ、プリンタ等)の出力信号や外部記憶装置に書き出す信号やネットワークへ送信する信号等を出力するための出力インタフェースからなる。
記憶手段103は、入力デジタル信号や、処理途中の信号や各種パラメータ等が記憶する。制御手段105は、記憶手段103に対し、各処理過程で所定の信号やパラメータの読み書きを行う。但し、制御手段105は、必ずしも記憶手段103に対し各データの読み書きを行わなければならないわけではなく、各手段間で直接データを受け渡すように制御してもよい。
サービススレッドは、分散システム上で動作するアプリケーションまたは他のサービススレッド手段の要求に応じて処理を行うサービススレッド手段110−mとしてコンピュータを機能させるためのプログラムである。サービススレッド手段を単にサービススレッドとも呼ぶ。
リクエストログの更新はサービススレッドによって以下のように行われる。他の分散処理装置からリクエストが届いたとき、そのリクエストを処理するため、新たにサービススレッドが生成される。このとき、そのサービススレッドに対応したリクエストログを生成する。例えば、サービス内容(サービス名とその呼び出し元や呼び出された順番等である引数)と実行カウンタ(例えば生成時は実行カウンタを0に設定する)を登録する。その後、そのサービススレッドがサービススレッド動作を行う毎に実行カウンタを1ずつ増加させる。また、同期型リクエスト送信、またはデータベース読み出しを行う場合は、リクエスト送信動作、データベース読み出し動作に加えて、各々応答結果、読み出し結果も実行履歴に登録する。登録は実行順に並べられる。なお、リクエスト送信動作の場合には、実行履歴として、サービス名(図4中、service1、service2と示す)、引数(図4中、v2、v3と示す)、対象チェックポイント装置名(図4中、分散処理装置100−2、100−1と示す)及び応答結果を登録する。また、データベース読み出し動作の場合には、実行履歴として、SQL文(図4中、read1,read2,read3と示す)と対象データベース名(図4中、d1,d2,d3と示す)及び読み出し結果(図4中、w1、w2、w3と示す)を登録する。なお、応答結果、読み出し結果得られるまで、実行履歴の応答結果、読み出し結果部分は未定として登録しておく。
チェックポイントスレッドは分散処理装置間で送受信するマーカメッセージの送受信を行い、停止フラグ及びマーカリストを更新するようにコンピュータを機能させるチェックポイントスレッド手段130としてコンピュータを機能させるためのプログラムである。なお、チェックポイントスレッドは各分散処理装置に1つ存在する。チェックポイントスレッド手段を単にチェックポイントスレッドとも呼ぶ。
フラグスレッドは、停止フラグを参照するフラグスレッド手段140−rとしてコンピュータを機能させるためのプログラムである。例えば、サービススレッドのサービススレッド動作が同期型リクエスト送信動作またはデータベース読み出し動作の場合にフラグスレッドを生成する。フラグスレッド手段を単にフラグスレッドとも呼ぶ。
図12及び図13を用いて、動作例を説明する。分散処理装置100−1、分散処理装置100−2があり、分散システム10で動作するアプリケーションの要求により、分散処理装置100−1にサービス名service1、引数v1でサービススレッド1が生成されたとする(s61)。チェックポイントスレッドがサービススレッド1を実行リストに登録し、サービススレッド1がリクエストログを生成し、リクエストログ記憶手段103aにリクエストログとしてサービス内容(service1,v1)を記憶する(s62)。サービススレッド1の最初のサービススレッド動作がデータベースd1の読み出しだったとする。サービススレッド1は、実行前に停止フラグ記憶手段103bに記憶されている停止フラグを参照する。この動作例では、停止フラグの初期状態はoffとし、チェックポイントスレッドにより更新される。サービススレッド1は、停止フラグがoffなので、フラグスレッドを生成し、実行カウンタを1増やし、リクエストログの実行履歴にサービススレッド動作であるデータベース読み出し(read1,d1)を登録する(s63)。次に、データベースを読み出して、サービス処理を実行する(s64)。また、フラグスレッドは定期的に停止フラグ記憶手段103bの停止フラグを参照している。本実施例では、未だ停止フラグはoffなので、フラグスレッドは停止リストの登録申請等は行わない。サービススレッド1は、動作の結果、データベースd1の読み出しから値w1を得て、その値をリクエストログに記録してリクエストログを更新し、フラグスレッドを終了させる(s65)。次に、サービススレッド1のサービススレッド動作が、分散処理装置100−2への同期型リクエスト送信であり、サービス名service2、引数v2とする。まず、サービススレッド1は停止フラグを参照し、停止フラグがoffなので、サービススレッド1は新たにフラグスレッドを生成し、リクエストログに同期リクエスト送信(service2,v2,分散処理装置100−2)を登録する(s66)。リクエスト送信を行い、サービス処理を実行する(s67)。
本実施例の分散処理装置は、非特許文献1と同様に無矛盾なチェックポイントを作成することができ、さらに、1台の分散処理装置上で1以上のサービススレッドを一括して管理するため、効率よくマーカを送受信することができ、分散システムにおけるネットワークの通信量を減らし、送受信に係る処理(計算量)を減らすことができるという効果を奏する。
サービススレッドの実行リスト及び停止リストへの登録は、チェックポイントスレッドが行うのではなく、サービススレッドまたはフラグスレッドが行ってもよい。また、サービススレッドの実行リストからの削除は、チェックポイントスレッドが行うのではなく、サービススレッド自身が終了前に行ってもよい。
図14は、本実施例における分散処理装置100−nのハードウェア構成を例示したブロック図である。図14に例示するように、この例の分散処理装置100−nは、それぞれCPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
上述のように、補助記憶装置14には、本実施例の分散処理装置100−nの各処理を実行するための各プログラムが格納される。チェックポイント作成プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。
CPU11は、読み込まれたOSプログラムに従い、補助記憶装置14に格納されている上述のプログラムや各種データをRAM16に展開する。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
及びフラグスレッド140−rは、CPU11にチェックポイント作成プログラムを実行させることにより構成されるものである。
100−n チェックポイント作成装置
103 記憶手段
110−m サービススレッド手段
130 チェックポイントスレッド手段
140−r フラグスレッド手段
Claims (4)
- 分散システムを構成し、チェックポイントを作成しながら処理を進めていくチェックポイント作成装置であって、
前記分散システム上で動作するアプリケーションまたは他のサービススレッド手段の要求に応じて処理を行う1以上のサービススレッド手段と、
このチェックポイント作成装置上で動作するサービススレッド手段の停止を意味するか否かを示す停止フラグと、このチェックポイント作成装置上で動作するサービススレッド手段のリストである実行リストと、このチェックポイント作成装置上で動作を停止している前記サービススレッド手段のリストである停止リストと、各前記サービススレッド手段の実行履歴からなるリクエストログと、を記憶する記憶手段と、
故障によって失われない記憶領域である安定記憶手段と、
前記停止フラグを更新するチェックポイントスレッド手段と、
前記停止フラグを参照するフラグスレッド手段と、を備え、
前記チェックポイントスレッド手段は、このチェックポイント作成装置に最初にマーカが届いたときに、または、このチェックポイント作成装置がスナップショットを起動したときに、停止フラグをこのチェックポイント作成装置上で動作するサービススレッド手段の停止を意味する停止フラグにし、前記実行リストと前記停止リストとに記憶されるサービススレッド手段が一致すると、前記安定記憶手段に前記リクエストログを記憶する、
ことを特徴とするチェックポイント作成装置。 - チェックポイントを作成しながら処理を進めていく1以上のチェックポイント作成装置からなるチェックポイント作成システムであって、
このチェックポイント作成システムを構成する各前記チェックポイント作成装置は、
このチェックポイント作成システム上で動作するアプリケーションまたは他のサービススレッド手段の要求に応じて処理を行う1以上のサービススレッド手段と、
このチェックポイント作成装置上で動作するサービススレッド手段の停止を意味するか否かを示す停止フラグと、チェックポイント作成システムを構成するチェックポイント作成装置間で送受信されるマーカメッセージの送信先のリストであるマーカリストと、このチェックポイント作成装置上で動作するサービススレッド手段のリストである実行リストと、このチェックポイント作成装置上で動作を停止している前記サービススレッド手段のリストである停止リストと、各前記サービススレッド手段の実行履歴からなるリクエストログと、を記憶する記憶手段と、
故障によって失われない記憶領域である安定記憶手段と、
前記マーカメッセージの送受信を行い、前記停止フラグと前記マーカリストを更新するチェックポイントスレッド手段と、
前記停止フラグを参照するフラグスレッド手段と、を備え、
各前記チェックポイント作成装置のチェックポイントスレッド手段は、他のチェックポイント作成装置から最初にマーカが届いたときに、または、このチェックポイント作成装置がスナップショットを起動したときに、停止フラグをこのチェックポイント作成装置上で動作するサービススレッド手段の停止を意味する停止フラグにし、前記実行リストと前記停止リストとに記憶されるサービススレッド手段が一致すると、前記安定記憶手段に前記リクエストログを記憶し、前記停止フラグをこのチェックポイント作成装置上で動作するサービススレッド手段の停止を意味しない停止フラグにし、前記停止リストをリセットし、他のチェックポイントスレッド手段にマーカメッセージの送信する、
ことを特徴とするチェックポイント作成システム。 - 分散システムを構成する分散処理装置のチェックポイント作成方法であって、
前記分散処理装置上で、1つ以上のサービススレッドと、1つ以上のフラグスレッドと、チェックポイントスレッドとが動作し、停止フラグは分散処理装置上で動作するサービススレッドの停止を意味するか否かを示す情報とし、実行リストは分散処理装置上で動作するサービススレッドのリストとし、停止リストは分散処理装置上で動作を停止している前記サービススレッドのリストとし、
前記サービススレッドが、前記分散システム上で動作するアプリケーションまたは他のサービススレッドの要求に応じて処理を行うサービススレッドステップと、
各前記サービススレッドの実行履歴をリクエストログとして記憶するリクエストログ記憶ステップと、
前記チェックポイントスレッドが、前記分散処理装置に最初にマーカが届いたときに、または、前記分散処理装置がスナップショットを起動したときに、前記停止フラグをこのチェックポイント作成装置上で動作するサービススレッドの停止を意味するものに更新するステップと、
前記サービススレッドが要求に応じて処理を行う前に、または、前記フラグスレッドが定期的に、停止フラグを参照し、停止フラグがチェックポイント作成装置上で動作するサービススレッドの停止を意味するものであった場合に、サービススレッドの処理を停止するステップと、
前記実行リストと前記停止リストに記憶されるサービススレッドが一致すると、故障によって失われない記憶領域に前記リクエストログを記憶する安定記憶ステップと、を備える、
ことを特徴とするチェックポイント作成方法。 - 請求項1記載のチェックポイント作成装置として、コンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010164607A JP5419166B2 (ja) | 2010-07-22 | 2010-07-22 | チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010164607A JP5419166B2 (ja) | 2010-07-22 | 2010-07-22 | チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012027634A JP2012027634A (ja) | 2012-02-09 |
JP5419166B2 true JP5419166B2 (ja) | 2014-02-19 |
Family
ID=45780503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010164607A Active JP5419166B2 (ja) | 2010-07-22 | 2010-07-22 | チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5419166B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6318031B2 (ja) * | 2014-07-08 | 2018-04-25 | 株式会社野村総合研究所 | バッチサーバメンテナンス方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3154942B2 (ja) * | 1995-09-11 | 2001-04-09 | 株式会社東芝 | 分散チェックポイント生成方法および同方法が適用される計算機システム |
JP2003150568A (ja) * | 2001-11-08 | 2003-05-23 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークシステムのバックアップ方法、バックアッププログラム並びにそのプログラムを記録した記録媒体 |
JP4773715B2 (ja) * | 2004-12-01 | 2011-09-14 | 富士通株式会社 | チェックポイント取得方法 |
-
2010
- 2010-07-22 JP JP2010164607A patent/JP5419166B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012027634A (ja) | 2012-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627135B2 (en) | Management of a distributed computing system through replication of write ahead logs | |
JP5191062B2 (ja) | ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム | |
JP4405509B2 (ja) | データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム) | |
KR101602312B1 (ko) | 데이터 송신 방법, 데이터 수신 방법, 및 저장 장치 | |
US20180150501A1 (en) | Database system, server device, computer program product, and information processing method | |
US8707085B2 (en) | High availability data storage systems and methods | |
US9710344B1 (en) | Locality based quorum eligibility | |
CN107544783B (zh) | 一种数据更新方法、装置及*** | |
JP2007286860A (ja) | データ転送方法及び情報処理装置 | |
US9389968B2 (en) | Preventing non-detectable data loss during site switchover | |
CN106855834B (zh) | 一种数据备份方法、装置和*** | |
US20230333945A1 (en) | Scalable Low-Loss Disaster Recovery for Data Stores | |
JP4560074B2 (ja) | 仮想計算機システム及び同システムにおける仮想計算機復元方法 | |
JP2004199682A (ja) | 高可用性クラスタにおける活性判定用通信ネットワークとしての記憶媒体の使用 | |
US9367413B2 (en) | Detecting data loss during site switchover | |
US20230315713A1 (en) | Operation request processing method, apparatus, device, readable storage medium, and system | |
US10146648B1 (en) | Preserving disaster recovery protection for a data storage object | |
US11016863B2 (en) | Self-contained disaster detection for replicated multi-controller systems | |
JP5419166B2 (ja) | チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム | |
JP4563412B2 (ja) | ソフトウェア複製 | |
CN107168774A (zh) | 一种基于本地存储的虚拟机迁移方法及*** | |
Gog et al. | Falkirk wheel: Rollback recovery for dataflow systems | |
JP4461777B2 (ja) | トランザクション処理システムおよび方法ならびにプログラム | |
JP3467750B2 (ja) | 分散オブジェクト処理システム | |
US11669516B2 (en) | Fault tolerance for transaction mirroring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20111121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111121 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131028 |
|
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: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5419166 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |