JP7147347B2 - 原子性保証装置および原子性保証方法 - Google Patents
原子性保証装置および原子性保証方法 Download PDFInfo
- Publication number
- JP7147347B2 JP7147347B2 JP2018149980A JP2018149980A JP7147347B2 JP 7147347 B2 JP7147347 B2 JP 7147347B2 JP 2018149980 A JP2018149980 A JP 2018149980A JP 2018149980 A JP2018149980 A JP 2018149980A JP 7147347 B2 JP7147347 B2 JP 7147347B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- cancellation
- atomicity
- api
- request
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/521—Atomic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
したがって、連携サービスの原子性を保証することができる
また、第2のサービスの更新処理の取消手段を、サービスごと、かつ、取消APIメソッドごとに記憶するサービス取消情報記憶部を備えることで、更新処理の取消手段が多様となるサービス群から構成される連携サービスの原子性を保証する手段を提供することができる。
図1に示すように、本実施形態のシステムは、原子性保証装置1と、連携サービス実行装置2と、サービス事業者端末3と、サーバ41~43とを備える。
原子性保証装置1は、連携サービスの原子性を保証する装置である。原子性保証装置1の詳細は、後記する。
サーバ41は、サービスAを提供する装置である。サーバ41は、サービスAが公開するAPIであるサービスA_API41aを備える。
サーバ42は、サービスBを提供する装置である。サーバ42は、サービスBが公開するAPIであるサービスB_API42aを備える。
サーバ43は、サービスCを提供する装置である。サーバ43は、サービスCが公開するAPIであるサービスC_API43aを備える。
図1に示すように、原子性保証装置1は、連携部11と、連携サービス解析部12と、原子性判定部13と、取消APIリクエスト生成部14と、取消APIリクエスト送信部15と、状態レポート生成部16と、サービス取消情報記憶部Tとを備える。
「HTTPメソッド」は、原子性保証装置1からサーバ41~43に対して発行する直接の命令が格納される。
「APIリソース」は、原子性保証装置1が発行するHTTPメソッドによる命令の対象となるリソースが格納される。
「取消APIメソッド」は、取消APIとして機能するHTTPメソッドによる命令が格納される。
「取消APIリソース」は、取消APIメソッドによる命令の対象となるリソースが格納される。
「取消APIパラメータ情報」は、取消APIメソッドによる命令を実行するために必要となるパラメータが格納される。
本実施形態の原子性保証装置1の処理について、図3を参照して説明する。図3は、連携サービスの実行を取り消すための一連の処理を示すシーケンス図である。図3の処理の対象となる連携サービスは、サービスA~Cを組み合わせたものとして説明する。サービスAを提供するサーバ41、および、サービスCを提供するサーバ43(図示の便宜上、図3では図示略)には障害はなく、連携サービス実行装置2からの要求に正常に応答することができる。一方、サービスBを提供するサーバ42には障害が発生しているため、連携サービス実行装置2からの要求にエラー応答を返すとする。
以上で、図3の処理が終了する。
本実施形態によれば、連携サービスを構成する複数種類のサービスの実行要求に対し、複数種類のサービスのうち第1のサービスについてエラー応答があった場合において、連携サービスを構成する複数種類のサービスのうち第1のサービス以外となる第2のサービスの更新処理が完了している場合には、当該更新処理を取り消すことで、連携サービスの状態を実行前の状態に戻すことができる。
したがって、連携サービスの原子性を保証することができる。
(a)本実施形態では、原子性保証装置1と連携サービス実行装置2とを別体の装置として説明したが、例えば、連携サービス実行装置2が原子性保証装置1を含む構成をとってもよい。
(b)本実施形態では、原子性保証装置1が連携サービス実行装置2に、サービスカタログやサービス要求&応答を照会することで、サービスの更新処理が完了しているか否かの判定を行った(図3のステップS11~ステップS13)。しかし、サービスの更新処理が完了しているか否かの判定方法は上記に限らず、例えば、サーバ41~43とやり取りした連携サービス実行装置2自身が、各サービスの更新処理が完了しているか否かの判定をし、原子性保証装置1からの照会があれば当該判定結果を原子性保証装置1に通知するようにしてもよい。
(c)各実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
11 連携部
12 連携サービス解析部
13 原子性判定部
14 取消APIリクエスト生成部
15 取消APIリクエスト送信部
16 状態レポート生成部
T サービス取消情報記憶部
2 連携サービス実行装置
3 サービス事業者端末
41~43 サーバ
41a サービスA_API
42a サービスB_API
43a サービスC_API
Claims (5)
- 連携サービスの原子性を保証する原子性保証装置であって、
前記連携サービスを構成する複数種類のサービスの実行要求に対し、前記複数種類のサービスのうち、第1のサービスについてエラー応答があった場合には、前記連携サービスを構成する複数種類のサービスのうち、前記第1のサービス以外となる第2のサービスの更新処理が完了しているか否かを、前記連携サービスを実行する連携サービス実行装置への照会を踏まえて判定する原子性判定部と、
前記第2のサービスの更新処理が完了している場合には、完了した、前記第2のサービスの更新処理を取り消すための取消APIリクエストを生成する取消APIリクエスト生成部と、
前記生成された取消APIリクエストを、前記第2のサービスを提供するサーバに送信する取消APIリクエスト送信部と、を備え、
前記取消APIリクエストは、取消APIメソッドを用いたリクエストであり、
前記第2のサービスの更新処理の取消手段を、前記サービスごと、かつ、前記取消APIメソッドごとに記憶するサービス取消情報記憶部、をさらに備える、
ことを特徴とする原子性保証装置。 - 前記第2のサービスの更新処理の取消完了を示す状態レポートを生成する状態レポート生成部、をさらに備える、
ことを特徴とする請求項1に記載の原子性保証装置。 - 前記第2のサービスで用いるAPIが、サービスの更新処理が取消不可となる通知系APIである場合には、前記第2のサービスの更新処理の取消手段は、先の通知内容が取り消された旨の通知をする手段である、
ことを特徴とする請求項1または請求項2に記載の原子性保証装置。 - 連携サービスの原子性を保証する原子性保証装置における原子性保証方法であって、
前記原子性保証装置は、
前記連携サービスを構成する複数種類のサービスの実行要求に対し、前記複数種類のサービスのうち、第1のサービスについてエラー応答があった場合には、前記連携サービスを構成する複数種類のサービスのうち、前記第1のサービス以外となる第2のサービスの更新処理が完了しているか否かを、前記連携サービスを実行する連携サービス実行装置への照会を踏まえて判定するステップと、
前記第2のサービスの更新処理が完了している場合には、完了した、前記第2のサービスの更新処理を取り消すための取消APIリクエストを生成するステップと、
前記生成された取消APIリクエストを、前記第2のサービスを提供するサーバに送信するステップと、を実行し、
前記取消APIリクエストは、取消APIメソッドを用いたリクエストであり、
前記第2のサービスの更新処理の取消手段を、前記サービスごと、かつ、前記取消APIメソッドごとに記憶するステップ、をさらに実行する、
ことを特徴とする原子性保証方法。 - 前記原子性保証装置は、
前記第2のサービスの更新処理の取消完了を示す状態レポートを生成するステップ、をさらに実行する、
ことを特徴とする請求項4に記載の原子性保証方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018149980A JP7147347B2 (ja) | 2018-08-09 | 2018-08-09 | 原子性保証装置および原子性保証方法 |
US17/267,170 US11995482B2 (en) | 2018-08-09 | 2019-07-26 | Atomicity assurance device and atomicity assurance method |
PCT/JP2019/029378 WO2020031744A1 (ja) | 2018-08-09 | 2019-07-26 | 原子性保証装置および原子性保証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018149980A JP7147347B2 (ja) | 2018-08-09 | 2018-08-09 | 原子性保証装置および原子性保証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020027308A JP2020027308A (ja) | 2020-02-20 |
JP7147347B2 true JP7147347B2 (ja) | 2022-10-05 |
Family
ID=69415247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018149980A Active JP7147347B2 (ja) | 2018-08-09 | 2018-08-09 | 原子性保証装置および原子性保証方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11995482B2 (ja) |
JP (1) | JP7147347B2 (ja) |
WO (1) | WO2020031744A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2022003911A1 (ja) * | 2020-07-02 | 2022-01-06 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338197A (ja) | 2005-05-31 | 2006-12-14 | Fujitsu Ltd | トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム |
JP2018032897A (ja) | 2016-08-22 | 2018-03-01 | 日本電信電話株式会社 | 事業者間一括サービス構築装置及び事業者間一括サービス構築方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2276737A (en) * | 1993-03-30 | 1994-10-05 | Ibm | Fault-tolerant transaction-oriented data processing |
US8468042B2 (en) * | 2006-06-05 | 2013-06-18 | International Business Machines Corporation | Method and apparatus for discovering and utilizing atomic services for service delivery |
US20140278715A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Estimating required time for process granularization |
CN105094758A (zh) * | 2014-04-29 | 2015-11-25 | 国际商业机器公司 | 用于避免事务回滚的方法和装置 |
JP6402537B2 (ja) * | 2014-08-22 | 2018-10-10 | 富士通株式会社 | 更新処理プログラム、装置、及び方法 |
US10025802B2 (en) * | 2014-09-19 | 2018-07-17 | Amazon Technologies, Inc. | Automated configuration of log-coordinated storage groups |
JP2016066224A (ja) * | 2014-09-24 | 2016-04-28 | 富士通株式会社 | 更新プログラム、更新方法及び更新装置 |
US10719414B2 (en) * | 2018-05-11 | 2020-07-21 | Cisco Technology, Inc. | Rollback for cloud native workflows |
-
2018
- 2018-08-09 JP JP2018149980A patent/JP7147347B2/ja active Active
-
2019
- 2019-07-26 WO PCT/JP2019/029378 patent/WO2020031744A1/ja active Application Filing
- 2019-07-26 US US17/267,170 patent/US11995482B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338197A (ja) | 2005-05-31 | 2006-12-14 | Fujitsu Ltd | トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム |
JP2018032897A (ja) | 2016-08-22 | 2018-03-01 | 日本電信電話株式会社 | 事業者間一括サービス構築装置及び事業者間一括サービス構築方法 |
Also Published As
Publication number | Publication date |
---|---|
US11995482B2 (en) | 2024-05-28 |
JP2020027308A (ja) | 2020-02-20 |
US20210303374A1 (en) | 2021-09-30 |
WO2020031744A1 (ja) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649761B2 (en) | Application upgrade method and apparatus | |
US8874640B2 (en) | Method and system for reducing service overhead in service oriented architectures | |
JP6639245B2 (ja) | サーバシステム、サーバシステムを制御する方法およびプログラム。 | |
CN108681777A (zh) | 一种基于分布式***的机器学习程序运行的方法和装置 | |
JP2003186696A (ja) | システムのリスク診断方法及びプログラム並びに装置 | |
JP2013097548A (ja) | 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム | |
WO2019208098A1 (ja) | 連携処理再開装置、および、連携処理再開方法 | |
JP4336735B1 (ja) | サービス処理装置、システム、プログラム及び記録媒体 | |
CN103562853B (zh) | 用于管理程序代码的实例的方法和*** | |
JP7147347B2 (ja) | 原子性保証装置および原子性保証方法 | |
EP2131279B1 (en) | System and method for a generic integration of a database into a high availability cluster | |
US20150269498A1 (en) | Double-booking prevention | |
CN109729177B (zh) | 用于生成信息的方法和装置 | |
JP4259427B2 (ja) | サービス処理システムおよびその処理方法並びにその処理プログラム | |
JP6169485B2 (ja) | 分散処理システム | |
JP2017167842A (ja) | トランザクション制御システムおよびトランザクション制御方法 | |
JP2013149170A (ja) | 修正プログラム提供システム及びプログラム | |
EP3123411A1 (en) | Double-processing prevention | |
US20040122720A1 (en) | Meta-coordination of distributed computations | |
Maciel et al. | Fault‐tolerant timestamp‐based two‐phase commit protocol for RESTful services | |
JP2007517279A (ja) | 通信オブジェクト間で結果を送信するための非同期自動デバイス及び方法 | |
WO2019216194A1 (ja) | サービス連携装置および通知方法 | |
JP2010072952A (ja) | サービス処理装置、システム、プログラム及び記録媒体 | |
Johansson | Message-Oriented Middleware as a Queue Management Solution to Improve Job Handling within an E-Commerce System | |
JP2005208985A (ja) | 指示記述内容変更装置及び方法、指示記述内容変更プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220406 |
|
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: 20220823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7147347 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |