JPH10149306A - Service cooperation device and its generation device - Google Patents

Service cooperation device and its generation device

Info

Publication number
JPH10149306A
JPH10149306A JP30633296A JP30633296A JPH10149306A JP H10149306 A JPH10149306 A JP H10149306A JP 30633296 A JP30633296 A JP 30633296A JP 30633296 A JP30633296 A JP 30633296A JP H10149306 A JPH10149306 A JP H10149306A
Authority
JP
Japan
Prior art keywords
service
transaction
coordinator
services
transactions
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.)
Pending
Application number
JP30633296A
Other languages
Japanese (ja)
Inventor
Takashi Fujimura
考 藤村
Masayuki Terada
雅之 寺田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP30633296A priority Critical patent/JPH10149306A/en
Publication of JPH10149306A publication Critical patent/JPH10149306A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a service coordinator by controlling the execution of transactions and to satisfy the inter-transaction limit condition that is designated for every composite transaction when the execution requests are given to plural services and a group of processing (composite transaction) is carried out as a whole. SOLUTION: Plural coordinators a 130 set on a network 100 are expressed in a pair of a set of transactions designated to services 140 to 142 and a set of inter-transaction limit conditions. Then the execution of the transaction set is controlled to satisfy the limit condition set. Thus, a coordinator 130 is obtained with no dependence on the services 140 to 142 and accordingly can be offered as a general-purpose service in the network 100. Furthermore, the concentration of load can be evaded because a coordinator factory 120 produces the coordinators 130 for every composite transaction.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワーク上の
サービスシステムに関し、特にネットワーク上に提供し
ている複数のサービスに対して処理(トランザクショ
ン)の実行が依頼されると、それらを連携して1まとま
りの処理(複合トランザクション)を実行する場合、そ
れら複数のトランザクションの実行を制御して、複合ト
ランザクション単位で予め指定された複数のトランザク
ション間の制約条件を満たすことを保証するサービス連
携装置(コーディネータ)、その生成装置、およびサー
ビスシステムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a service system on a network, and in particular, when a request is made to execute a process (transaction) for a plurality of services provided on the network, the service is linked to the service. When executing a group of processes (composite transaction), a service coordinator (coordinator) that controls the execution of the plurality of transactions and guarantees that a constraint between a plurality of transactions specified in advance for each composite transaction is satisfied. , Its generating device, and a service system.

【0002】[0002]

【従来の技術】近年、ホテルや航空券等の各種の予約、
信用調査等、各種多様なサービスが、インターネット等
のネットワーク上に出現している。これらの各種サービ
スを組み合わせることにより、例えば旅行代理店を介さ
ずに、一般の人でも旅行に必要なチケットを全てオンラ
インで予約することができるようになってきている。し
かしながら、一般の利用者には、旅行代理店が持つよう
な仮押さえの権限がないため、例えば一旦、ホテルを予
約すると、航空券が確保できない場合でもホテルをキャ
ンセルすることはできないか、あるいはキャンセル料金
を支払わなければならない場合があった。このような方
法では、予約条件が複雑な場合、それらの条件を満たす
組み合わせに必要な全ての予約を行うことは困難であ
る。また、ホテル等のサービス側に立って見た場合、こ
のような不利益を利用者に与えないように不特定多数の
利用者に客室等のサービス資源の仮押さえを許すなら
ば、悪意のある利用者が仮押さえ期限の限界まで故意に
客室を仮押さえてしまい、莫大な損害を受けることにな
る。そこで、従来においては、利用者が直接サービスを
予約することなく、旅行代理店等の信頼できる第三者を
仲介してサービスの予約が行われていた。旅行予約の場
合には、このような代理店に複数のトランザクションの
一貫性の保証を依頼することが可能である。しかしなが
ら、現在、ネットワークの急速な普及により、従来では
存在しなかったような種々のサービスの提供が可能とな
ってきた。これらのサービスを組み合わせて1つのサー
ビスを構築する場合には、旅行代理店のように旅行業務
に関するトランザクションの一貫性の保証のみを扱うだ
けではなく、あらゆるサービスの組み合わせにも対処し
得る汎用的な複数のトランザクション間の一貫性を保証
するサービスが必要となる。しかしながら、従来、その
ようなサービスは存在していない。
2. Description of the Related Art In recent years, various reservations for hotels and air tickets,
Various services, such as credit checks, have appeared on networks such as the Internet. By combining these various services, it has become possible for ordinary people to make online reservations for all tickets necessary for travel without going through a travel agency, for example. However, since ordinary users do not have the authority of temporary hold as travel agents have, for example, once a hotel is reserved, it is not possible to cancel the hotel even if the airline ticket cannot be secured, or In some cases, you had to pay a fee. In such a method, when the reservation conditions are complicated, it is difficult to make all reservations necessary for a combination satisfying those conditions. In addition, when viewed from the service side of a hotel or the like, if unspecified number of users are allowed to temporarily suppress service resources such as guest rooms so as not to give such disadvantages to users, it is malicious. The user intentionally temporarily restrains the guest room to the limit of the temporary restraint period, resulting in enormous damage. Therefore, in the related art, service reservations have been made through a reliable third party such as a travel agency without the user directly making a reservation for the service. In the case of a travel booking, it is possible to ask such an agency to guarantee the consistency of multiple transactions. However, at present, with the rapid spread of networks, it has become possible to provide various services that did not exist conventionally. When these services are combined to form a single service, a general-purpose service that can handle any combination of services as well as guaranteeing the consistency of transactions related to travel business like a travel agency A service that guarantees consistency between multiple transactions is required. However, conventionally, no such service exists.

【0003】従来、分散して実行される処理の間で、処
理の一貫性の保証を行うための方法として、トランザク
ション処理システムが多く提案されている。例えば、オ
ブジェクト技術関連の標準化団体OMGは、分散オブジ
ェクト・トランザクション・サービス(OTS)仕様書
において、分散オブジェクトが保持している資源の同期
更新を実現するための方法が定義されている。OTSで
は、コーディネータと呼ばれる特別のオブジェクトを定
義しており、このコーディネータが一貫性を保証すべき
対象の資源を保持する分散オブジェクト(トランザクシ
ョン・オブジェクト)の状態を集中管理し、それらに対
するコミットあるいはロールバックの制御を行うことに
より、トランザクション・オブジェクトの一貫性を保証
している。しかしながら、このような従来のトランザク
ション処理システムでは、分散した複数の処理の全てが
成功するか、あるいは全ての処理が実行されないか、の
いずれかの状態となることを保証するだけであって、こ
れではトランザクション間の一貫性を保証するものとは
言えない。一部が失敗した場合には他の代替処理を行え
る等、より複雑な制約条件を持つトランザクション間の
一貫性を保証できる機能を備えたものは、従来存在しな
かった。また、複雑なトランザクションの関係を論理式
で表現し、その制約を満たすようにトランザクションの
実行を制御するシステムが、例えばAhmed K.E
lmagarmid編“Database Trans
action Models for Advance
d Applications”(1995年Morg
an Kaufmann出版)等にいくつか報告されて
いる。これらは、上記の目的を達成するために有効な要
素技術を提供しているが、コーディネータをネットワー
クサービスとして運用することを前提としていないため
に、コーディネータを利用した場合の仲介料の徴収方法
や、不特定多数の利用者およびサービスの間における認
証機構等については未だ検討されていない。
Conventionally, many transaction processing systems have been proposed as a method for guaranteeing the consistency of processing between processes executed in a distributed manner. For example, a standardization organization OMG related to object technology defines a method for realizing synchronous updating of resources held by a distributed object in the Distributed Object Transaction Service (OTS) specification. In the OTS, a special object called a coordinator is defined. This coordinator centrally manages the state of a distributed object (transaction object) holding a resource whose consistency is to be guaranteed, and commits or rolls back the distributed object. Controls the consistency of the transaction object. However, such a conventional transaction processing system only guarantees that all of a plurality of distributed processes are successful or that all of the processes are not executed. This does not guarantee consistency between transactions. Conventionally, there has not been a function provided with a function capable of guaranteeing consistency between transactions having more complicated constraints, such as performing another alternative processing when a part fails. Further, a system that expresses a complicated transaction relationship by a logical expression and controls the execution of the transaction so as to satisfy the constraint is disclosed in, for example, Ahmed K. et al. E
“Database Trans” edited by lmgarmid
action Models for Advance
d Applications "(Morg, 1995)
an Kaufmann). These provide elemental technologies that are effective to achieve the above objectives, but do not assume that the coordinator is operated as a network service, so the method of collecting brokerage fees when using the coordinator, The authentication mechanism between unspecified number of users and services has not been studied yet.

【0004】[0004]

【発明が解決しようとする課題】このように、従来にお
いては、ネットワーク上で提供されている複数のサービ
スに対して処理(トランザクション)の実行要求を行
い、全体で1まとまりの処理(複合トランザクション)
を行う場合に、予め指定された複数のトランザクション
間の制約条件を満たすことを保証することができる方法
はなかった。本発明の目的は、上記のような従来の課題
を解決し、複合トランザクションを実行する際に、それ
らのトランザクションの実行を制御し、複合トランザク
ション単位で予め指定された複数のトランザクション間
の制約条件を満たすことを保証するサービス連携装置お
よびその生成装置を提供することにある。
As described above, in the prior art, processing (transaction) execution requests are made to a plurality of services provided on a network, and a whole processing (composite transaction) is performed.
However, there is no method that can guarantee that the constraints between a plurality of transactions specified in advance are satisfied. SUMMARY OF THE INVENTION An object of the present invention is to solve the conventional problems as described above, and when executing composite transactions, control the execution of those transactions, and restrict constraints between a plurality of transactions specified in advance in units of composite transactions. It is an object of the present invention to provide a service cooperation device that guarantees satisfaction, and a generation device thereof.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するた
め、本発明のサービス連携装置(以下、コーディネータ
と呼ぶ)では、利用者が各サービスに対するトランザ
クションの集合と、それらのトランザクション間の制約
条件の集合との組により表現された複合トランザクショ
ンを与えると、その制約条件に基づいて適切な順序で各
サービスにトランザクションの実行依頼を行う手段と、
実行依頼したトランザクションの状態を監視する手段
と、一部ないし全部のトランザクションが失敗した場合
に、代替のトランザクションの実行を依頼し、必要に応
じて既に実行依頼しているトランザクションに対するロ
ールバックの指示を行う手段とを設け、これらの手段に
より最終的に上記制約条件を満足するような成功したト
ランザクションの集合を決定し、これらのトランザクシ
ョンをコミットする手段により複合トランザクションを
処理することを特徴としている。 本発明のコーディネータ生成装置は、上記構成のコー
ディネータを利用者から与えられた1つないし複数の複
合トランザクション毎に動的に生成し、必要に応じてネ
ットワーク上に分散配置することも特徴としている(以
下、サービス連携装置を生成する装置を、コーディネー
タ・ファクトリと呼ぶ)。 また、上記構成のコーディネータ・ファクトリは、利
用登録を行った利用者の識別子のリストを保持し、この
リストに基づいて利用登録した利用者に限ってコーディ
ネータを生成し、それを利用可能にすることも特徴とし
ている。 また、上記構成のコーディネータは、サービス登録を
行ったサービスの識別子のリストを保持し、このリスト
に含まれているサービスに対するトランザクションに限
ってその実行依頼を行うことも特徴としている。 さらに、上記構成のコーディネータあるいはコーディ
ネータ・ファクトリは、利用登録あるいはサービス登録
を行う代りに、電子現金等により仲介料の課金を動的に
行うことも特徴としている。
In order to achieve the above object, in a service coordination apparatus (hereinafter, referred to as a coordinator) of the present invention, a user sets a set of transactions for each service and a constraint condition between the transactions. Given a compound transaction represented by a set and a set, means for performing a transaction execution request to each service in an appropriate order based on the constraints,
A means to monitor the status of the submitted transaction and, if some or all of the transactions fail, request the execution of an alternative transaction and, if necessary, instruct a rollback for the already submitted transaction Means for determining a set of successful transactions that finally satisfies the above-mentioned constraint condition by means of these means, and processing the composite transaction by means of committing these transactions. The coordinator generation apparatus of the present invention is also characterized in that the coordinator having the above configuration is dynamically generated for each of one or a plurality of composite transactions given by a user, and is distributed and arranged on a network as required ( Hereinafter, a device that generates a service cooperation device is referred to as a coordinator factory.) In addition, the coordinator factory having the above configuration holds a list of identifiers of users who have registered use, generates a coordinator only for users who have registered use based on this list, and makes it available. Also features. Further, the coordinator having the above configuration is characterized in that it holds a list of identifiers of services for which service registration has been performed, and requests execution of only transactions for services included in this list. Further, the coordinator or coordinator factory having the above-described configuration is characterized in that instead of performing use registration or service registration, an intermediary fee is charged dynamically using electronic cash or the like.

【0006】[0006]

【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の一実施例を示す
コーディネータの全体のブロック構成図であり、図2
は、図1において、1つの複合トランザクションが処理
される手順を示すフローチャートである。図1に示すよ
うに、初期状態においては、ネットワーク100上に本
システムの利用者110、コーディネータ・ファクトリ
(コーディネータ生成装置)120、およびサービス1
40,141,142が接続されている(実線参照)。
ここで、利用者110は、実際に予約を依頼する顧客で
あってもよく、またいくつかのサービスを組み合わせて
より高度なサービスを別の利用者に提供するサービスで
もよい。なお、本発明において、利用者110は人間自
体のことではなく、利用者が有する端末を含む施設を意
味しており、サービス140〜142もサービス自体で
はなく、サービスを提供する施設を意味している。図2
において、先ず利用者110が、利用者の要求に基づい
て利用したいトランザクションの集合{T1・・・T
n}と、それらのトランザクション間の制約条件の集合
{C1・・・Cm}を生成する(ステップ201)。各
トランザクションT1・・・Tnには、サービスの識別
子SIDと、そのサービスへ要求する処理の識別子RI
Dと、パラメータPの3つの組《SID,RID,P》
が付与されている。SIDには、ネットワークアドレス
にも含まれ、これだけでネットワーク上でサービスのイ
ンスタンスが特定されるものである。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is an overall block diagram of a coordinator showing one embodiment of the present invention.
FIG. 3 is a flowchart showing a procedure in which one composite transaction is processed in FIG. As shown in FIG. 1, in an initial state, a user 110 of the present system, a coordinator factory (coordinator generation device) 120, and a service 1
40, 141 and 142 are connected (see the solid line).
Here, the user 110 may be a customer who actually requests a reservation, or may be a service in which some services are combined to provide a more advanced service to another user. In the present invention, the user 110 does not refer to the person itself, but refers to a facility including a terminal owned by the user, and the services 140 to 142 also refer to facilities that provide the service, not the service itself. I have. FIG.
, The user 110 first wants to use a set of transactions {T1... T
n} and a set {C1... Cm} of constraints between those transactions are generated (step 201). Each transaction T1... Tn has an identifier SID of a service and an identifier RI of a process requested to the service.
Three sets of D and parameter P << SID, RID, P >>
Is given. The SID is also included in the network address, and is used alone to specify an instance of a service on the network.

【0007】トランザクション間の制約条件C1・・・
Cmには、例えば実行の成功および失敗に関する論理制
約、つまり各トランザクションTi(1<i<n)を実
行した結果、成功した場合に真、失敗した場合に偽を割
り当てた場合に、T1∧(T2∨T3)のような論理和
や論理積で表わされる制約や、T1→T2(T1がT2
よりも先に実行されることを表わす)のような実行順序
に関する制約や、各トランザクションが実行した結果得
られたパラメータ値Pがある範囲内に収まらなくてはな
らないという制約、等がある。利用者110は、利用者
の識別子UIDと暗号化された認証データUAUT’を
コーディネータ・ファクトリ120に送り、コーディネ
ータ130の生成とそのコーディネータの識別子CID
の返送を依頼する(ステップ202)。識別子UIDお
よびCIDには、ネットワーク・アドレスも含んでいる
ので、利用者110およびコーディネータ130を各々
ネットワーク上で特定することができる。コーディネー
タ・ファクトリ120は、受理した利用者の識別子UI
Dと暗号化された認証データUAUT’により認証確認
を行う。認証確認の方法は、ここでは述べないが、既に
多くの認証サービスがインターネット等のネットワーク
上で普及しているので、それらを利用することができ
る。また、コーディネータ・ファクトリ120は、予め
料金を支払って、利用登録の済んでいる利用者の識別子
UIDのリスト121を保持しているので、これに基づ
いて各利用者が利用登録済みか否かを判定する。
[0007] Constraints C1 between transactions ...
For example, as a result of executing each transaction Ti (1 <i <n), true is assigned to Cm and false is assigned to Cm as a result of execution of each transaction Ti (1 <i <n). A constraint expressed by a logical sum or a logical product such as T2∨T3, or T1 → T2 (where T1 is T2
(Representing that the transaction is executed before the transaction), or that the parameter value P obtained as a result of executing each transaction must fall within a certain range. The user 110 sends the user identifier UID and the encrypted authentication data UAUT 'to the coordinator factory 120 to generate the coordinator 130 and the coordinator identifier CID.
Is requested (step 202). Since the identifiers UID and CID also include the network address, the user 110 and the coordinator 130 can each be specified on the network. The coordinator factory 120 receives the received user identifier UI
Authentication is confirmed using D and the encrypted authentication data UAUT '. Although a method of authentication confirmation is not described here, since many authentication services have already spread on networks such as the Internet, they can be used. In addition, the coordinator factory 120 has paid the fee in advance and holds the list 121 of the identifiers UID of the registered users, and based on this, determines whether or not each user has registered the usage. judge.

【0008】コーディネータ・ファクトリ120は、こ
の判定が成功した場合には、コーディネータ130を1
つ生成して、その識別子CIDを利用者に返送する。本
実施例においては、このようにして複合トランザクショ
ン毎に1つのコーディネータ130が生成される。な
お、図1においては、コーディネータ130が新たに生
成されたことを破線で表わしている。コーディネータ・
ファクトリ120内の121は登録利用者のリストであ
り、122は登録サービスのリストである。また、コー
ディネータ130内の131は登録サービスのリスト
(コピー)、132はトランザクション格納部、133
は制約条件格納部、134はトランザクション実行状態
格納部である。他の実施例においては、コーディネータ
・ファクトリ120は予め料金を支払ってサービス提供
登録を済ませたサービスのリスト122を保持してお
り、そのリストの複製131を作成して、それをコーデ
ィネータ130に受け渡す。このリスト131は、後述
する図2のステップ204で、コーディネータ130が
実行トランザクションを決定する際に利用して、このリ
スト131に含まれていないサービスに対するトランザ
クションの実行を制限する。さらに他の実行例において
は、コーディネータ130の利用を上述のように予め登
録した利用者またはサービスに制限する代りに、電子現
金を利用して利用者またはサービスへのコーディネータ
の使用料の課金を動的に行い、不特定の利用者が不特定
のサービスを組み合わせた処理の連携を依頼することが
可能となる。
[0008] If this determination is successful, the coordinator factory 120 sets the coordinator 130 to 1
And the identifier CID is returned to the user. In the present embodiment, one coordinator 130 is thus generated for each composite transaction. In FIG. 1, the newly generated coordinator 130 is indicated by a broken line. Coordinator
Reference numeral 121 in the factory 120 denotes a list of registered users, and reference numeral 122 denotes a list of registered services. Reference numeral 131 in the coordinator 130 denotes a list (copy) of registered services; 132, a transaction storage unit;
Is a constraint condition storage unit, and 134 is a transaction execution state storage unit. In another embodiment, the coordinator factory 120 maintains a list 122 of services that have been pre-paid and registered for service provision, make a copy 131 of the list, and pass it on to the coordinator 130. . The list 131 is used when the coordinator 130 determines an execution transaction in step 204 of FIG. 2 described later, and restricts the execution of transactions for services not included in the list 131. In yet another example of execution, instead of restricting the use of the coordinator 130 to the users or services registered in advance as described above, the usage of the coordinator is charged to the users or services using electronic cash. In this way, it becomes possible for an unspecified user to request cooperation of processing combining unspecified services.

【0009】図2において、利用者110は識別子CI
Dで指定したコーディネータ130に対し、ステップ2
01で生成したトランザクションの集合{T1・・・T
n}と制約条件の集合{C1・・・Cm}を送信する
(ステップ203)。コーディネータ130は、トラン
ザクションの集合{T1・・・Tn}と制約条件の集合
{C1・・・Cm}を受理して、これらをトランザクシ
ョン格納部132、および制約条件格納部133にそれ
ぞれ格納する。次に、コーディネータ130は、トラン
ザクションの集合{T1・・・Tn}の部分集合で、制
約条件の集合{C1・・・Cm}を充足できる候補の集
合CS={Ti・・・Tj}を決定し、各Ti・・・T
jを提供しているサービス(SIDで特定される)14
0〜142に対して、該当するトランザクションに含ま
れる処理識別子RIDおよびパラメータPと、コーディ
ネータ130の識別子CIDと、暗号化した利用者11
0の認証情報CAUA’と、利用者110の識別子UI
Dと、暗号化した利用者110の認証情報UAUT’と
の組《RID、P、CID、CAUT’、UID、UA
UT’》を送付して、実行を要求する(ステップ20
4)。 集合CSを効率的に決定する方法については、
本実施例では特に述べないが、従来から制約充足の問題
に関して多くの研究があるので、それらの成果を利用す
ることができる。
In FIG. 2, a user 110 has an identifier CI
Step 2 for the coordinator 130 specified in D
Set of transactions generated in 01 {T1... T
n} and a set of constraints {C1... Cm} are transmitted (step 203). The coordinator 130 receives the set of transactions {T1... Tn} and the set of constraints {C1... Cm} and stores them in the transaction storage unit 132 and the constraint storage unit 133, respectively. Next, the coordinator 130 determines a set of candidates CS = {Ti... Tj} that can satisfy the set of constraints {C1... Cm} with a subset of the set of transactions {T1. And each Ti ... T
service providing j (specified by SID) 14
For 0 to 142, the process identifier RID and parameter P included in the corresponding transaction, the identifier CID of the coordinator 130, and the encrypted user 11
0 authentication information CAUA 'and the identifier UI of the user 110
D and a set of encrypted authentication information UAUT 'of the user 110 << RID, P, CID, CAUT', UID, UA
UT '>> and request execution (step 20).
4). For a method of efficiently determining the set CS,
Although not specifically described in the present embodiment, since there have been many studies on the problem of constraint satisfaction, the results of those studies can be used.

【0010】各サービス140,141,142は、コ
ーディネータ130から送付されたトランザクションの
処理要求《RID、P、CID、CAUT’、UID、
UAUT’》を受理し、認証確認を行って、不正なトラ
ンザクションではないと判断された場合には、その処理
を実行し、実行結果をコーディネータ130に返送する
(ステップ205)。ただし、この段階では、候補の集
合Ti・・・Tjは最終的なコミット指示があるまで取
り消し可能な状態にしておく。具体的には、そのトラン
ザクションがデータ資源の更新を行う場合には、仮更
新、つまり資源のオリジナルをロックし、コピーを更新
する方法や加算に対する減算のように、そのトランザク
ションの効果を消す補償トランザクションを定義できる
場合には、資源を実更新しても、コーディネータ130
からのロールバック指示を受け取った場合に、この補償
トランザクションを実行できるような機構をサービス1
40〜142に用意しておく方法がある。コーディネー
タ130は、トランザクション実行状態格納部134に
各サービス140〜142からの実行結果を保存し、1
つ以上のトランザクションの実行の失敗が返送されたと
き、または処理を依頼した全てのトランザクションの実
行結果が揃ったとき、制約条件C1・・・Cmを満たす
か否かをチェックする(ステップ206)。
Each of the services 140, 141, 142 receives a transaction processing request sent from the coordinator 130 (RID, P, CID, CAUT ', UID,
UAUT '>> is accepted, authentication is confirmed, and if it is determined that the transaction is not an unauthorized transaction, the processing is executed and the execution result is returned to the coordinator 130 (step 205). However, at this stage, the set of candidates Ti... Tj is kept in a revocable state until a final commit instruction is issued. Specifically, if the transaction updates the data resource, a tentative update, a compensation transaction that locks the resource's original and cancels the effect of the transaction, such as updating the copy or subtracting from the addition. Can be defined, even if the resource is actually updated, the coordinator 130
Service 1 provides a mechanism that can execute this compensation transaction when it receives a rollback instruction from
There is a method of preparing them in 40 to 142. The coordinator 130 stores the execution result from each of the services 140 to 142 in the transaction execution state storage unit 134,
When the execution failure of one or more transactions is returned, or when the execution results of all the transactions for which processing has been requested are completed, it is checked whether or not the constraint conditions C1... Cm are satisfied (step 206).

【0011】チェックの結果、1つでも制約条件を満た
すことができなければ、コーディネータ130は新しい
候補集合CS’={Tp・・・Tq}を定める(ステッ
プ207)。もし、過去に確認していない新しい候補集
合が見出せないときには、エラーとなる。ただし、制約
条件に、一般に必ず成功するようなトランザクションを
論理和で結合すれば、このようなエラーは一般には避け
られる。具体的には、『予約は失敗しました』というこ
とを利用者に通知するトランザクションのみからなる候
補集合が、制約条件を満たす優先順位の最下位の候補集
合となるように定義することによって回避できる。そし
て、コーディネータ130は、{x|x∈CS かつ
¬x∈CS’}の要素に対してロールバックの指示を
し、{x|¬x∈CS かつ x∈CS’}の要素の実
行を各サービス140〜142に対して要求する(ステ
ップ207)。なお、上式の記号┓は∈(包含)の否定
を意味するものである。各サービス140〜142は、
コーディネータ130の指示に従ってロールバック、あ
るいは新たなトランザクションの実行を行い、その結果
をコーディネータ130に返送する(ステップ20
8)。新たなトランザクションの実行を行う場合には、
ステップ205と同じように、それらのトランザクショ
ンの実行は、最終的なコミット指示があるまで、取り消
し可能な状態にしておく。
As a result of the check, if even one constraint cannot be satisfied, the coordinator 130 determines a new candidate set CS ′ = {Tp... Tq} (step 207). If a new candidate set that has not been confirmed in the past cannot be found, an error occurs. However, such errors can generally be avoided if the transactions that generally succeed always are combined with the constraints by OR. Specifically, it can be avoided by defining a candidate set consisting only of transactions that notify the user that "reservation failed" to be the lowest candidate set of the priority order that satisfies the constraints. . Then, the coordinator 130 determines that {x | x∈CS and
The rollback is instructed for the element of {x {CS '}, and the execution of the element of {x | {x} CS and x {CS'} is requested to each service 140 to 142 (step 207). . The symbol ┓ in the above equation means negation of ∈ (inclusive). Each service 140-142,
Rollback or execution of a new transaction is performed according to the instruction of the coordinator 130, and the result is returned to the coordinator 130 (step 20).
8). When executing a new transaction,
As in step 205, the execution of those transactions remains undoable until a final commit instruction is issued.

【0012】コーディネータ130は、古い候補トラン
ザクションの集合CSを新しい候補トランザクションの
集合CS’で置き換え、再びステップ206に戻る(ス
テップ209)。再びステップ206〜209を繰り返
し、最後に全ての制約条件C1・・・Cmを満たすこと
ができると、次のステップ210に進む。コーディネー
タ130は、各サービス140〜142で処理されたC
Sの要素であるトランザクションに対して、コミットの
指示を行う(ステップ210)。各サービス140〜1
42は、コーディネータ130から依頼されたコミット
指示に従ってコミット処理を行う(ステップ211)。
具体的には、仮更新されている資源を実更新すること等
である。コーディネータ130は、各サービス140〜
142のコミット処理が正常に終了するのを確認した
後、自己を消滅させる(ステップ212)。以上で処理
が終了する。
The coordinator 130 replaces the old candidate transaction set CS with the new candidate transaction set CS ', and returns to step 206 again (step 209). Steps 206 to 209 are repeated again. When all the constraint conditions C1... Cm can be finally satisfied, the process proceeds to the next step 210. The coordinator 130 determines the C processed by each service 140-142.
A commit instruction is issued to the transaction that is an element of S (step 210). Each service 140-1
42 performs a commit process according to the commit instruction requested by the coordinator 130 (step 211).
More specifically, the temporarily updated resource is actually updated. The coordinator 130 has services 140 to
After confirming that the commit processing of 142 has been completed normally, the self is deleted (step 212). Thus, the process ends.

【0013】このように、本発明においては、ネット
ワーク100上の複数のサービス連携処理130を、各
サービス140〜142に対するトランザクションの集
合{T1・・・Tn}と、それらのトランザクション間
の制約条件の集合{C1・・・Cm}との組の形式で表
現することにより、この制約条件集合{C1・・・C
m}を充足するようにトランザクション集合{T1・・
・Tn}の実行を制御する。これにより、コーディネー
タ130は、サービス140〜142に非依存で実現可
能となる。その結果、コーディネータ130を汎用的な
ネットワーク100上のサービスとして提供することが
できる。 また、本発明では、コーディネータ・ファクトリ12
0が1つないし複数の複合トランザクション毎にコーデ
ィネータ130を動的に生成し、ネットワーク100上
に分散配置するので、コーディネータ130に対する負
荷の集中を避けることができる。 また、本発明では、コーディネータ・ファクトリ12
0において、利用登録者の識別子のリスト121を保持
することにより、コーディネータ130の生成をこれら
の登録者のみに制限できるので、ネットワーク100上
のサービスとしてコーディネータ130を提供した場合
に、利用者登録料により利用料金の徴収が可能となる。 また、本発明では、コーディネータ130において、
サービス提供登録者の識別子のリスト131を保持する
ので、実行するトランザクションをこれらの登録サービ
ス140〜142に対するトランザクションのみに制限
することができ、その結果、ネットワーク100上のサ
ービスとしてコーディネータ130を提供した場合に、
サービス登録料により利用料金の徴収が可能となる。 さらに、本発明では、コーディネータ130あるいは
コーディネータ・ファクトリ120において、利用登録
あるいはサービス登録を行う代りに、電子現金等により
利用料の課金を動的に行うことにより、ネットワーク1
00上のサービスとしてコーディネータ130を提供し
た場合に、サービス利用料金の徴収が可能となる。
As described above, in the present invention, a plurality of service cooperation processes 130 on the network 100 are defined as a set of transactions {T1... Tn} for each of the services 140 to 142 and a constraint condition between those transactions. By expressing in the form of a set with the set {C1... Cm}, this constraint set {C1.
transaction set {T1 ...
• Control the execution of Tn}. Thus, the coordinator 130 can be realized independently of the services 140 to 142. As a result, the coordinator 130 can be provided as a service on the general-purpose network 100. In the present invention, the coordinator factory 12
0 dynamically generates the coordinator 130 for each of one or a plurality of composite transactions and distributes the coordinator 130 on the network 100, so that the load on the coordinator 130 can be prevented from being concentrated. In the present invention, the coordinator factory 12
0, the generation of the coordinator 130 can be limited to only those registrants by holding the list 121 of the identifiers of the registrants. Therefore, when the coordinator 130 is provided as a service on the network 100, This makes it possible to collect usage fees. In the present invention, in the coordinator 130,
Since the list 131 of service provider registrant identifiers is retained, transactions to be executed can be limited to only transactions for these registered services 140 to 142. As a result, when the coordinator 130 is provided as a service on the network 100, To
Usage fees can be collected by the service registration fee. Further, in the present invention, instead of performing the use registration or the service registration in the coordinator 130 or the coordinator factory 120, the usage fee is dynamically charged by electronic cash or the like, so that the network 1
In the case where the coordinator 130 is provided as a service on 00, a service usage fee can be collected.

【0014】[0014]

【発明の効果】以上説明したように、本発明によれば、
ネットワーク上で提供されている複数のサービスに対し
て処理(トランザクション)の実行要求があり、全体で
1まとまりの処理(複合トランザクション)を行う場合
に、それらのトランザクションの実行を制御して、複合
トランザクション単位で予め指定された複数のトランザ
クション間の制約条件を満たすことを保証するサービス
連携装置(コーディネータ)を実現することができる。
その結果、例えば旅行代理店を介することなく、一般の
人でも旅行に必要なチケットを全てオンラインで予約す
ることが可能であり、各種の分野にも応用することがで
きる。
As described above, according to the present invention,
When there is a request to execute a process (transaction) for a plurality of services provided on the network, and when a group of processes (composite transaction) is performed as a whole, the execution of those transactions is controlled and a composite transaction is performed. It is possible to realize a service cooperation device (coordinator) that guarantees that a constraint between a plurality of transactions specified in advance in units is satisfied.
As a result, for example, ordinary people can make online reservations for all tickets necessary for travel without going through a travel agency, and can be applied to various fields.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例を示すサービス連携装置(コ
ーディネータ)を含むシステムの全体構成図である。
FIG. 1 is an overall configuration diagram of a system including a service cooperation device (coordinator) according to an embodiment of the present invention.

【図2】図1におけるコーディネータにおいて、1つの
複合トランザクションが処理される場合のフローチャー
トである。
FIG. 2 is a flowchart when a single composite transaction is processed in the coordinator in FIG. 1;

【符号の説明】[Explanation of symbols]

100…ネットワーク、110…サービス利用者、13
0…コーディネータ、120…コーディネータ・ファク
トリ、121…登録利用者のリスト、122…登録サー
ビスのリスト、131…登録サービスのリスト(コピ
ー)、132…トランザクション格納部、133…制約
条件格納部、134…トランザクション実行状態格納
部、140〜142…サービス。
100: network, 110: service user, 13
0: coordinator, 120: coordinator factory, 121: list of registered users, 122: list of registered services, 131: list (copy) of registered services, 132: transaction storage unit, 133: constraint condition storage unit, 134 ... Transaction execution status storage unit, 140 to 142 ... service.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】ネットワークに結合された複数のサービス
を処理する分散処理システムにおいて、 上記サービスに対して処理を依頼する複数のトランザク
ションが格納されたトランザクション格納部と、 該トランザクション間の制約条件の情報が格納された制
約条件格納部と、 該制約条件に基づいて、適切な順序で上記各サービスに
トランザクションの実行依頼を行う第1の手段と、 実行依頼したトランザクションの状態を監視して、該状
態を格納する第2の手段と、 該トランザクションの一部ないし全部が制約条件の充足
に失敗したとき、代替のトランザクションの実行を依頼
して、必要に応じ既に実行依頼しているトランザクショ
ンに対するロールバックの指示を行う第3の手段と、 最終的に上記制約条件を満足するトランザクションの組
を決定して、該トランザクションをコミットする第4の
手段とを含むことを特徴とするサービス連携装置。
1. A distributed processing system for processing a plurality of services connected to a network, a transaction storage unit storing a plurality of transactions requesting processing for the services, and information on constraint conditions between the transactions. And a first means for requesting each of the services to execute a transaction in an appropriate order based on the constraint condition, and monitoring the status of the requested transaction, and A second means for storing a transaction, and when a part or all of the transaction fails to satisfy the constraint condition, requests execution of an alternative transaction and, if necessary, performs rollback of the already executed transaction. A third means for giving an instruction, and a transaction that finally satisfies the above constraint And determining a set, service cooperation apparatus which comprises a fourth means for committing the transaction.
【請求項2】請求項1に記載のサービス連携装置を、1
つないし複数の連携処理毎に動的に生成し、該サービス
連携装置をネットワーク上に分散配置することを特徴と
するサービス連携装置の生成装置。
2. The service cooperation apparatus according to claim 1,
A service coordination device generation device, wherein the coordination device is dynamically generated for each of a plurality of coordination processes, and the service coordination device is distributed and arranged on a network.
【請求項3】請求項2に記載のサービス連携装置の生成
装置において、前記生成装置内に、利用登録を行った利
用者の識別子のリストを保持するリスト格納部を備え、
該リストに基づいて利用登録した利用者に限って前記サ
ービス連携装置を生成し、該利用者に利用可能にするこ
とを特徴とするサービス連携装置の生成装置。
3. The generation apparatus for a service cooperation apparatus according to claim 2, further comprising: a list storage unit for holding a list of identifiers of users who have registered for use in said generation apparatus;
A service coordination device generating apparatus, wherein the service coordination device is generated only for a user who has registered for use based on the list, and is made available to the user.
【請求項4】請求項1に記載のサービス連携装置におい
て、前記サービス連携装置内に、サービス提供登録を行
ったサービスの識別子のリストを保持するリスト格納部
を備え、該リストに含まれているサービスに対するトラ
ンザクションに限って、該トランザクションの実行を依
頼することを特徴とするサービス連携装置。
4. The service cooperation device according to claim 1, further comprising: a list storage unit for holding a list of service identifiers for which service provision registration has been performed, included in the service cooperation device. A service cooperation apparatus for requesting execution of a transaction only for a transaction for the service.
【請求項5】請求項3に記載のサービス連携装置の生成
装置、あるいは請求項4に記載のサービス連携装置にお
いて、前記利用者あるいはサービスへの仲介料の課金を
動的に行い、不特定多数の利用者が不特定多数のサービ
スを組み合わせた処理の連携を可能にすることを特徴と
するサービスシステム。
5. The apparatus for generating a service cooperation apparatus according to claim 3, or the service cooperation apparatus according to claim 4, wherein the user or the service is dynamically charged with an intermediary fee, and A service system that enables a user to cooperate with a process combining an unspecified number of services.
JP30633296A 1996-11-18 1996-11-18 Service cooperation device and its generation device Pending JPH10149306A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30633296A JPH10149306A (en) 1996-11-18 1996-11-18 Service cooperation device and its generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30633296A JPH10149306A (en) 1996-11-18 1996-11-18 Service cooperation device and its generation device

Publications (1)

Publication Number Publication Date
JPH10149306A true JPH10149306A (en) 1998-06-02

Family

ID=17955840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30633296A Pending JPH10149306A (en) 1996-11-18 1996-11-18 Service cooperation device and its generation device

Country Status (1)

Country Link
JP (1) JPH10149306A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339287A (en) * 1999-04-15 2000-12-08 Internatl Business Mach Corp <Ibm> Concentrated affinity maintenance device and method therefor in client/server.data processing system managed by work load
WO2003036866A1 (en) * 2001-10-23 2003-05-01 Matsushita Electric Industrial Co., Ltd. Information processing apparatus
JP2005284439A (en) * 2004-03-29 2005-10-13 Hitachi Omron Terminal Solutions Corp System and method for cooperating in service in different business category
JP2010020537A (en) * 2008-07-10 2010-01-28 Fujitsu Ltd Workflow execution control program, workflow execution control apparatus, and workflow execution control method
JP2010537338A (en) * 2007-08-30 2010-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Transaction aggregation to increase transaction processing throughput
JP2013506199A (en) * 2009-09-25 2013-02-21 アビニシオ テクノロジー エルエルシー Processing transactions in graph-based applications
WO2022003911A1 (en) * 2020-07-02 2022-01-06 日本電信電話株式会社 Workflow consistency securing device, workflow consistency securing method, and workflow consistency securing program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134959A (en) * 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd Remote service execution control system
JPH05244217A (en) * 1992-02-26 1993-09-21 Mitsubishi Electric Corp Communication control system
JPH05274137A (en) * 1992-01-24 1993-10-22 Nec Corp Wrong sequence processing preventing method
JPH06325037A (en) * 1993-05-13 1994-11-25 Nec Corp Kana/kanji conversion system
WO1996017315A1 (en) * 1994-12-01 1996-06-06 Toyota Jidosha Kabushiki Kaisha Schedule setting and processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134959A (en) * 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd Remote service execution control system
JPH05274137A (en) * 1992-01-24 1993-10-22 Nec Corp Wrong sequence processing preventing method
JPH05244217A (en) * 1992-02-26 1993-09-21 Mitsubishi Electric Corp Communication control system
JPH06325037A (en) * 1993-05-13 1994-11-25 Nec Corp Kana/kanji conversion system
WO1996017315A1 (en) * 1994-12-01 1996-06-06 Toyota Jidosha Kabushiki Kaisha Schedule setting and processing system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339287A (en) * 1999-04-15 2000-12-08 Internatl Business Mach Corp <Ibm> Concentrated affinity maintenance device and method therefor in client/server.data processing system managed by work load
WO2003036866A1 (en) * 2001-10-23 2003-05-01 Matsushita Electric Industrial Co., Ltd. Information processing apparatus
JP2005284439A (en) * 2004-03-29 2005-10-13 Hitachi Omron Terminal Solutions Corp System and method for cooperating in service in different business category
JP2010537338A (en) * 2007-08-30 2010-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Transaction aggregation to increase transaction processing throughput
US8904393B2 (en) 2007-08-30 2014-12-02 International Business Machines Corporation Transaction aggregation to increase transaction processing throughput
JP2010020537A (en) * 2008-07-10 2010-01-28 Fujitsu Ltd Workflow execution control program, workflow execution control apparatus, and workflow execution control method
JP2013506199A (en) * 2009-09-25 2013-02-21 アビニシオ テクノロジー エルエルシー Processing transactions in graph-based applications
WO2022003911A1 (en) * 2020-07-02 2022-01-06 日本電信電話株式会社 Workflow consistency securing device, workflow consistency securing method, and workflow consistency securing program

Similar Documents

Publication Publication Date Title
Limthanmaphon et al. Web service composition transaction management
Bertino et al. Trust-/spl Xscr/;: a peer-to-peer framework for trust establishment
US6078982A (en) Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system
Tartanoglu et al. Dependability in the Web services architecture
Dalal et al. Coordinating business transactions on the web
Little Transactions and web services
CN102385718B (en) Methods and systems for managing quality of services for network participants in a networked business process
JP2005519410A (en) Systems, methods and computer program products for online travel and expense management
WO2003009512A2 (en) Trust management
US10972269B2 (en) Systems and methods for token vault synchronization using a distributed ledger
JP2002297254A (en) License management device and license management method, service providing method and mobile agent
CN114363352A (en) Block chain-based Internet of things system cross-chain interaction method
JPH10149306A (en) Service cooperation device and its generation device
Koshutanski et al. Interactive access control for web services
Ma et al. PeerBFT: making hyperledger fabric’s ordering service withstand byzantine faults
Erven et al. The web services-businessactivity-initiator (ws-ba-i) protocol: an extension to the web services-businessactivity specification
JP2000132625A (en) Workflow managing system
Robinson et al. Atomic crosschain transactions white paper
Tang et al. Automatic transaction compensation for reliable grid applications
Bunting et al. Web services composite application framework (ws-caf) ver1. 0
CN112926981A (en) Transaction information processing method, device and medium for block chain and electronic equipment
Robinson et al. Layer 2 Atomic Cross-Blockchain Function Calls
CN111292176A (en) Tax proxy method, device, electronic equipment and computer-readable storage medium
Saito et al. BBc-1: Beyond Blockchain One
Little Ws-caf: Contexts, coordination and transactions for web services

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050415