JP6100384B2 - 情報処理システム、サーバ装置、情報処理方法及びプログラム - Google Patents
情報処理システム、サーバ装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP6100384B2 JP6100384B2 JP2015535209A JP2015535209A JP6100384B2 JP 6100384 B2 JP6100384 B2 JP 6100384B2 JP 2015535209 A JP2015535209 A JP 2015535209A JP 2015535209 A JP2015535209 A JP 2015535209A JP 6100384 B2 JP6100384 B2 JP 6100384B2
- Authority
- JP
- Japan
- Prior art keywords
- candidate data
- request
- server device
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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
Description
・同意する値は、0か1のどちらかしかない。
・第2状態にできるリクエストがない場合、第2状態にできないことを他のサーバ装置10に通知する。
・乱拓は、任意の候補データの中から選ぶ。
・各サーバ装置10で順に各ラウンドを計算する(スキップしない)。
・同意する値として、2値ではなく多値が扱える。
・第2状態にできるリクエストがない場合、ランダムに選んだ第1状態の候補データを他のサーバ装置10に通知する。
・乱拓は、前のラウンドの第1状態の候補データの中からしか選ばない。
・現ラウンド番号より大きいラウンド番号を受信したとき、ラウンド番号を進める。
・自候補データが未決定の時、受信した候補データを自候補データとする。
11 第1記憶部
12 第2記憶部
13 受信部
14 生成部
15 選択部
16 変更部
17 同期部
18 送信部
20 クライアント装置
30 ネットワーク
31 制御装置
32 主記憶装置
33 補助記憶装置
34 表示装置
35 入力装置
36 通信装置
37 バス
Claims (13)
- 1以上のクライアント装置と、データを記憶するN以上(Nは3以上の整数)のサーバ装置とを備える情報処理システムであって、
前記クライアント装置は、
前記データの変更内容を示すリクエストを前記サーバ装置に送信する送信部を備え、
前記サーバ装置は、
前記リクエストと、前記リクエストの変更内容に基づいて前記データを変更する順序を示す順序番号とを関連付けた履歴データと、前記データとを記憶する第1記憶部と、
前記リクエストを前記クライアント装置から受信し、まだ使用されていない前記順序番号を示す現順序番号と、前記現順序番号を使用して履歴データに登録する候補となる前記リクエストと、前記リクエストの状態とを含む候補データを他の前記サーバ装置から受信する受信部と、
前記クライアント装置から受信した前記リクエストの状態を第1状態に決定し、前記第1状態のリクエストと、前記現順序番号とを含む候補データを生成する生成部と、
前記候補データの前記リクエストのうち前記変更内容が同一の前記リクエストの数が第1閾値より大きい場合、前記変更内容が同一のリクエストのうち一の前記リクエストを選択し、選択された前記リクエストの状態を第2状態に決定する選択部と、
選択された前記リクエストを含む前記候補データを他の前記サーバ装置に送信する送信部と、
前記候補データの前記リクエストのうち、状態が前記第2状態の前記リクエストの数が第2閾値より大きい場合、前記第2状態の前記リクエストを含む前記候補データのうち一の前記候補データを使用して前記履歴データを更新するとともに前記データを変更する変更部と、
を備える情報処理システム。 - 前記第1閾値と前記第2閾値とは、N/2である
請求項1に記載の情報処理システム。 - 前記選択部は、
前記候補データの前記リクエストのうち前記変更内容が相異なるものがある場合、一の前記候補データを選択し、
前記送信部は、
選択された前記候補データを他の前記サーバ装置に送信する
請求項1又は2に記載の情報処理システム。 - 前記変更部は、
前記候補データの前記リクエストのうち、前記第1状態の前記リクエストを含む前記候補データと、前記第2状態の前記リクエストを含む前記候補データとが共にある場合、前記第2状態の前記リクエストを含む前記候補データのうち一の前記候補データを選択し、選択された前記候補データの前記リクエストの状態を第1状態に決定し、
前記送信部は、
選択された前記リクエストを含む前記候補データを他の前記サーバ装置に送信する
請求項1乃至3のいずれか1項に記載の情報処理システム。 - 前記変更部は、
前記候補データの前記リクエストのうち、状態が前記第1状態の前記リクエストの数が第2閾値より大きい場合、一の前記候補データを選択し、
前記送信部は、
選択された前記候補データを他の前記サーバ装置に送信する
請求項1乃至4のいずれか1項に記載の情報処理システム。 - 前記受信部は、
自身の前記サーバ装置で前記候補データを決定していない場合、他の前記サーバ装置から受信した前記候補データに含まれるリクエストの状態を第1状態に決定し、自身の前記サーバ装置の前記候補データにする
請求項1乃至5のいずれか1項に記載の情報処理システム。 - 前記サーバ装置は、
前記候補データを一時的に記憶する第2記憶部を更に備え、
前記受信部は、
他の前記サーバ装置から受信した前記候補データを前記第2記憶部に記憶し、
前記選択部は、
前記選択部が選択しなかった前記リクエストを含む候補データを前記第2記憶部から削除し、
前記変更部は、
前記変更部が選択しなかった前記候補データを前記第2記憶部から削除する
請求項1乃至6のいずれか1項に記載の情報処理システム。 - 前記受信部が他の前記サーバ装置から受信した前記候補データの前記現順序番号が、前記履歴データの現順序番号よりも大きい場合、前記第2記憶部の前記候補データを削除し、前記現順序番号を送信した他の前記サーバ装置に、前記履歴データの送信を依頼する同期部を
更に備える請求項7に記載の情報処理システム。 - 前記受信部は、
他の前記サーバ装置が前記履歴データを更新したときに、他の前記サーバ装置から前記現順序番号を受信し、
前記同期部は、
他の前記サーバ装置から受信した前記現順序番号が、前記履歴データの現順序番号よりも大きい場合、前記第2記憶部の前記候補データを削除し、前記現順序番号を送信した他の前記サーバ装置に、前記履歴データの送信を依頼し、
前記変更部は、
前記履歴データを更新したときに、前記現順序番号を1増やし、1増やした後の前記順序番号を他の前記サーバ装置に送信する
請求項8に記載の情報処理システム。 - 前記生成部は、
初期値を設定したラウンド番号を更に含めて前記候補データを生成し、
前記第2記憶部は、
最新のラウンド番号を現ラウンド番号として更に記憶し、
前記選択部は、
選択した前記候補データの前記ラウンド番号を1増やすとともに、1増やした後の前記ラウンド番号を前記現ラウンド番号として第2記憶部に記憶し、
前記変更部は、
選択した前記候補データの前記ラウンド番号を1増やすとともに、1増やした後の前記ラウンド番号を前記現ラウンド番号として第2記憶部に記憶し、選択した前記候補データを使用して前記履歴データを更新するときに前記現ラウンド番号を初期値に戻し、
前記同期部は、
前記受信部が前記候補データを受信したときに、受信した前記候補データの前記ラウンド番号が、前記現ラウンド番号よりも大きい場合、前記第2記憶部の前記候補データを削除し、受信した前記候補データを前記第2記憶部に記憶するとともに、前記現ラウンド番号を受信した前記候補データの前記ラウンド番号にする
請求項8又は9に記載の情報処理システム。 - クライアント装置からデータの変更内容を示すリクエストを受信するサーバ装置であって、
前記リクエストと、前記リクエストの変更内容に基づいて前記データを変更する順序を示す順序番号とを関連付けた履歴データと、前記データとを記憶する第1記憶部と、
前記リクエストを前記クライアント装置から受信し、まだ使用されていない前記順序番号を示す現順序番号と、前記現順序番号を使用して履歴データに登録する候補となる前記リクエストと、前記リクエストの状態とを含む候補データを他の前記サーバ装置から受信する受信部と、
前記クライアント装置から受信した前記リクエストの状態を第1状態に決定し、前記第1状態のリクエストと、前記現順序番号とを含む候補データを生成する生成部と、
前記候補データの前記リクエストのうち前記変更内容が同一の前記リクエストの数が第1閾値より大きい場合、前記変更内容が同一のリクエストのうち一の前記リクエストを選択し、選択された前記リクエストの状態を第2状態に決定する選択部と、
選択された前記リクエストを含む前記候補データを他の前記サーバ装置に送信する送信部と、
前記候補データの前記リクエストのうち、状態が前記第2状態の前記リクエストの数が第2閾値より大きい場合、前記第2状態の前記リクエストを含む前記候補データのうち一の前記候補データを使用して前記履歴データを更新するとともに前記データを変更する変更部と、
を備えるサーバ装置。 - 1以上のクライアント装置と、データを記憶するN以上(Nは3以上の整数)のサーバ装置とを備える情報処理システムの情報処理方法であって、
クライアント装置が、前記データの変更内容を示すリクエストを前記サーバ装置に送信するステップと、
サーバ装置が、前記リクエストと、前記リクエストの変更内容に基づいて前記データを変更する順序を示す順序番号とを関連付けた履歴データと、前記データとを記憶するステップと、
サーバ装置が、前記リクエストを前記クライアント装置から受信し、まだ使用されていない前記順序番号を示す現順序番号と、前記現順序番号を使用して履歴データに登録する候補となる前記リクエストと、前記リクエストの状態とを含む候補データを他の前記サーバ装置から受信するステップと、
サーバ装置が、前記クライアント装置から受信した前記リクエストの状態を第1状態に決定し、前記第1状態のリクエストと、前記現順序番号とを含む候補データを生成するステップと、
サーバ装置が、前記候補データの前記リクエストのうち前記変更内容が同一の前記リクエストの数が第1閾値より大きい場合、前記変更内容が同一のリクエストのうち一の前記リクエストを選択し、選択された前記リクエストの状態を第2状態に決定するステップと、
サーバ装置が、選択された前記リクエストを含む前記候補データを他の前記サーバ装置に送信するステップと、
サーバ装置が、前記候補データの前記リクエストのうち、状態が前記第2状態の前記リクエストの数が第2閾値より大きい場合、前記第2状態の前記リクエストを含む前記候補データのうち一の前記候補データを使用して前記履歴データを更新するとともに前記データを変更するステップと、
を含む情報処理方法。 - データの変更内容を示すリクエストと、前記リクエストを記憶する順序を示す順序番号とを関連付けた履歴データを記憶する第1記憶部を備え、クライアント装置から前記リクエストを受信するサーバ装置を、
前記リクエストを前記クライアント装置から受信し、まだ使用されていない前記順序番号を示す現順序番号と、前記現順序番号を使用して履歴データに登録する候補となる前記リクエストと、前記リクエストの状態とを含む候補データを他の前記サーバ装置から受信する受信部と、
前記クライアント装置から受信した前記リクエストの状態を第1状態に決定し、前記第1状態のリクエストと、前記現順序番号とを含む候補データを生成する生成部と、
前記候補データの前記リクエストのうち前記変更内容が同一の前記リクエストの数が第1閾値より大きい場合、前記変更内容が同一のリクエストのうち一の前記リクエストを選択し、選択された前記リクエストの状態を第2状態に決定する選択部と、
選択された前記リクエストを含む前記候補データを他の前記サーバ装置に送信する送信部と、
前記候補データの前記リクエストのうち、状態が前記第2状態の前記リクエストの数が第2閾値より大きい場合、前記第2状態の前記リクエストを含む前記候補データのうち一の前記候補データを使用して前記履歴データを更新するとともに前記データを変更する変更部
として機能させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/073847 WO2015033410A1 (ja) | 2013-09-04 | 2013-09-04 | 情報処理システム、サーバ装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015033410A1 JPWO2015033410A1 (ja) | 2017-03-02 |
JP6100384B2 true JP6100384B2 (ja) | 2017-03-22 |
Family
ID=52627919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015535209A Active JP6100384B2 (ja) | 2013-09-04 | 2013-09-04 | 情報処理システム、サーバ装置、情報処理方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10165086B2 (ja) |
JP (1) | JP6100384B2 (ja) |
WO (1) | WO2015033410A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015140942A1 (ja) | 2014-03-18 | 2015-09-24 | 株式会社東芝 | 情報処理システム、サーバ装置、情報処理方法およびプログラム |
JP6203407B2 (ja) | 2014-08-05 | 2017-09-27 | 株式会社東芝 | 整列装置、データ処理装置、プログラム、整列方法および多重化システム |
CN105657473A (zh) * | 2015-11-25 | 2016-06-08 | 乐视云计算有限公司 | 数据处理的方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2534430B2 (ja) * | 1992-04-15 | 1996-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法 |
US6178522B1 (en) | 1998-06-02 | 2001-01-23 | Alliedsignal Inc. | Method and apparatus for managing redundant computer-based systems for fault tolerant computing |
DE19921179C2 (de) | 1999-05-07 | 2002-04-25 | Astrium Gmbh | Logikeinheit nach byzantinem Algorithmus, Rechnereinheit mit solcher Logikeinheit, Verbund aus Logik- oder Rechnereinheiten und Verfahren zum Betreiben eines solchen Verbunds |
JP3831154B2 (ja) | 1999-08-13 | 2006-10-11 | 株式会社東芝 | プログラム多重化拡大方法 |
JP4060522B2 (ja) | 2000-09-29 | 2008-03-12 | 株式会社東芝 | 分散コンピュータシステム及び同システムにおけるコンピュータ状態の多重化記憶方法 |
JP3655263B2 (ja) | 2001-06-15 | 2005-06-02 | 株式会社東芝 | 分散システムおよび同システムの多重化制御方法 |
US7272632B2 (en) * | 2001-06-15 | 2007-09-18 | Kabushiki Kaisha Toshiba | Distributed system and multiplexing control method for the system |
JP4278434B2 (ja) * | 2003-05-19 | 2009-06-17 | パナソニック株式会社 | 通信装置、情報共有システムおよび情報共有方法 |
DE102004046292A1 (de) | 2004-09-24 | 2006-03-30 | Robert Bosch Gmbh | Verfahren zur Durchführung eines Votings von redundanten Informationen |
JP2007219598A (ja) | 2006-02-14 | 2007-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 多重化データベースシステム及びその同期化方法、データベースサーバ、並びに、データベースサーバプログラム |
JP4612714B2 (ja) * | 2008-08-12 | 2011-01-12 | 株式会社日立製作所 | データ処理方法、クラスタシステム、及びデータ処理プログラム |
JP4818349B2 (ja) * | 2008-12-24 | 2011-11-16 | 株式会社東芝 | 分散システムおよび同システムの多重化制御方法 |
JP4956603B2 (ja) | 2009-12-04 | 2012-06-20 | 株式会社東芝 | 分散システムおよび論理時間調整方法 |
JP4981951B2 (ja) * | 2010-06-02 | 2012-07-25 | 株式会社トライテック | 分散コンピューティングシステム |
JP5613119B2 (ja) | 2011-07-26 | 2014-10-22 | 日本電信電話株式会社 | マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム |
WO2015140942A1 (ja) | 2014-03-18 | 2015-09-24 | 株式会社東芝 | 情報処理システム、サーバ装置、情報処理方法およびプログラム |
JP6203407B2 (ja) | 2014-08-05 | 2017-09-27 | 株式会社東芝 | 整列装置、データ処理装置、プログラム、整列方法および多重化システム |
-
2013
- 2013-09-04 WO PCT/JP2013/073847 patent/WO2015033410A1/ja active Application Filing
- 2013-09-04 JP JP2015535209A patent/JP6100384B2/ja active Active
-
2016
- 2016-03-04 US US15/060,715 patent/US10165086B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2015033410A1 (ja) | 2015-03-12 |
US20160191676A1 (en) | 2016-06-30 |
JPWO2015033410A1 (ja) | 2017-03-02 |
US10165086B2 (en) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225145B2 (en) | Method and device for updating client | |
Zhang et al. | BFTCloud: A byzantine fault tolerance framework for voluntary-resource cloud computing | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN104052803A (zh) | 一种去中心化的分布式渲染方法及渲染系统 | |
EP3629522B1 (en) | Systems and methods for testing resilience of a distributed network | |
CN104866339A (zh) | Fota数据的分布式持久化管理方法、系统和装置 | |
CN108810125B (zh) | 物理节点的服务发现方法及系统 | |
JP6100384B2 (ja) | 情報処理システム、サーバ装置、情報処理方法及びプログラム | |
JP6405255B2 (ja) | 通信システム、キュー管理サーバ、及び、通信方法 | |
CN109445827A (zh) | 一种游戏更新的方法及装置、电子设备、存储介质 | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
CN111147605B (zh) | 服务注册方法、装置和设备 | |
US10817512B2 (en) | Standing queries in memory | |
CN112040015B (zh) | 一种共识节点列表生成方法及相关装置 | |
CN104333614B (zh) | 终端识别的方法、装置及系统 | |
WO2022018808A1 (ja) | 負荷分散方法、負荷分散装置、負荷分散システムおよびプログラム | |
CN113032188B (zh) | 确定主服务器的方法、装置、服务器及存储介质 | |
JP6063882B2 (ja) | 仮想マシン配置システム及び方法 | |
JP6151365B2 (ja) | 情報処理システム、情報処理方法及びプログラム | |
CN109962963B (zh) | 消息处理方法及装置 | |
Jeevarani et al. | Improved consistency model in cloud computing databases | |
CN110784518A (zh) | 一种静态资源获取方法与装置 | |
JP6572574B2 (ja) | ストレージ制御システム、ストレージ制御システムのノード、およびストレージ制御方法 | |
JP6088452B2 (ja) | データベースシステムおよびデータ更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161202 |
|
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: 20170124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6100384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |