AU7010900A - Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid) - Google Patents

Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid) Download PDF

Info

Publication number
AU7010900A
AU7010900A AU70109/00A AU7010900A AU7010900A AU 7010900 A AU7010900 A AU 7010900A AU 70109/00 A AU70109/00 A AU 70109/00A AU 7010900 A AU7010900 A AU 7010900A AU 7010900 A AU7010900 A AU 7010900A
Authority
AU
Australia
Prior art keywords
transaction
information
supplier
transactions
communication channel
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.)
Abandoned
Application number
AU70109/00A
Inventor
Laurent Clevy
Ramzi Karoui
Michel Ruffin
Simone Sedillot
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel SA
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 Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Publication of AU7010900A publication Critical patent/AU7010900A/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

1 A method for the asynchronous transmission of information in accordance with ACID properties. The invention relates to the field of transmitting information between 5 suppliers and consumers via a string of communication channels. The invention consists more particularly of effecting such transmission asynchronously in accordance with ACID properties. Asynchronous transfer mode communication systems are used more and more widely. Reliable communications are necessary in a great number of situations. 10 Reliability can be assured by adding transactional mechanisms to the communication service. An asynchronous communication service includes a manager and one or more communication channels. A supplier (service client) sends information on a specific channel. The 15 channel transfers the information to the consumer (also a service client) by invoking its interface. The channel acts as an intermediary between two clients and decouples the transmission of information at both ends. It must be able to deliver the information reliably and maintain the desynchronization of suppliers and consumers. A prior art solution to the problem of transmitting data reliably is based on 20 transactional systems. A transaction is initiated by a supplier of data and is then "propagated" to intermediate elements (communication channels) and eventually reaches a consumer. Once the data has been delivered, properties associated with the execution of the transaction are verified before confirming the modifications effected (i.e. the delivery of the data). 25 It must be possible for the execution of transactions to propagate via a communication channel. Asynchronous communication channels imply desynchronization of suppliers and consumers but transactions necessitate synchronization to enable the stability properties of the transactions to be monitored from end to end of execution. 30 A transaction must satisfy four properties grouped together under the acronym ACID: Atomicity, Coherence, Isolation and Durability. These four properties are closely interrelated. The objective of competition and restart control mechanisms executed by a transactional engine is to ensure compliance with them. Atomicity guarantees that all the updates of a transaction are effected or 35 none of them. Failure to comply with this property can change the set of data from a 2 coherent initial state to an incoherent state. To comply with this property, any series of actions constituting a transaction is marked by a beginning and an end. The beginning of a transaction reports the start event of a transaction to the transactional engine. Two instructions are provided 5 for marking the end of a transaction: "commit" enables the transaction to report to the transactional monitor that from the point of view of the transaction alone all of its actions have succeeded, and "abort' enables the transaction to report to the transactional monitor that one or more of its actions have failed and that the transaction does not wish to be validated (the data modified by the transaction must 10 be returned to its preceding state). Depending on the event received by the transactional monitor at the end of the transaction, and on any overview of the system that it may have (interaction between transactions), the transactional monitor decides whether to validate the transaction, i.e. whether to finalize the modifications effected by it. If a system fault occurs before the end of a transaction the transaction 15 is considered to be aborted. One mechanism for ensuring compliance with the atomicity property consists of retaining for each transaction in progress the preceding image of any data updated. If a transaction is aborted, it is possible to undo the transaction by applying all the preceding images of the transaction. The coherence property concerns the semantic coherence of a set of data. 20 This can be preserved in part by mechanisms that monitor integrity constraints and by maintaining the property [lacuna] of the transactions. Isolation is indispensable in a multitasking environment to guarantee that each transaction sees a coherent state of the set of data. Isolation consists of guaranteeing that if the transaction is executed in parallel with other transactions 25 accessing a common data set there is a serial execution of the same transactions that would produce the same changes on the data set accessed by the transactions. In this case, the isolation property is verified for that set of transactions. Durability guarantees that the updates of a validated transaction are final. The only action that can permit the updates of a validated transaction to be undone is 30 the execution of a compensation transaction. This property goes hand-in-hand with the atomicity property stipulating that the updates of a transaction form a coherent whole which is either aborted as a whole or validated permanently. A restart mechanism can be provided to recover information lost in the event of a memory fault or disk fault leading to the loss of some of the information from the database. 35 Reliable end-to-end asynchronous communication mechanisms are required.
3 It is difficult to combine the asynchronous aspect of the transfer with transactions which are essentially synchronous. In a synchronous system, a transaction can be initiated and guarantee compliance with ACID properties from the information supplier to the consumer. In 5 an asynchronous system the actions that guarantee these properties must interact with each other in a particular and reliable way, depending on the required quality of service. The object of the invention is therefore to provide an asynchronous communication system having ACID properties. 10 The invention therefore provides a method of transmitting information asynchronously between a supplier and a consumer in accordance with ACID properties, the supplier and the consumer being connected by a chain of communication channels, characterized in that the information is transmitted by means of independent transactions set up: 15 * between the supplier and the first communication channel of the chain, " between each of the communication channels of the chain, and * between the last communication channel of the chain and the consumer. The invention also provides a communication channel enabling asynchronous transmission of information between a supplier and a consumer in 20 accordance with ACID properties, the channel having a set of clients which can be other communication channels and/or consumers, characterized in that it includes: * means for storing the information contained in a transaction for which the channel is the target, o means for finalizing the transaction, and 25 * means for initiating transactions containing the information with the clients if the transaction has succeeded. The minimum number of transactions can be undone in the event of a problem because independent transactions are initiated for each link of the chain. This obviously achieves good performance in terms of the time to deliver the 30 information to the consumer. Also, the supplier initiates a transaction with only the first communication channel of the chain. The result of that transaction ("commit" or "abort") will therefore be obtained very quickly, and the supplier will not be blocked pending delivery of the information to the consumer. In other words, the objective of asynchronous 35 transmission is achieved.
4 Delivery of the information to the consumer in compliance with ACID properties is ensured because all the intermediate transmissions are effected by means of transactions. In other words, it might be said that there is a "virtual transaction" between the supplier and the consumer. 5 The following detailed description of one embodiment of the invention explains the invention. Figure 1 shows the general principle of a chain of transactions in accordance with the invention. Figure 2 shows one example of a communication network using 10 communication channels in accordance with the invention. In figure 1, the suppliers, the asynchronous communication channel and the consumers are objects virtually connected into a unidirectional information propagation chain. As explained in more detail below, the chain can include a plurality of communication channels in cascade between the supplier and the 15 consumers. A transaction is initiated by a supplier 1 and is addressed to a communication channel 2. The transaction includes at least the information that the supplier wishes to transmit to the consumers 5. The communication channel then stores the information in a reliable 20 memory 4. The reliable memory can conventionally be a database which has an XA interface and the necessary restart mechanisms. The transaction that was initiated by the supplier 1 is then finalized. If finalization succeeds (which conventionally corresponds to sending a "commit" message to the supplier), the information contained in the transaction is stored in 25 queues 6. There is one queue for each client of the channel. A client of the channel can be a consumer, as in this example, or another communication channel. Thus in the figure 1 example there are two queues, each associated with one of the two consumers 5. In one embodiment of the invention the information is stored in the queues 30 before the transaction is finalized, but is not made available (for example by means of an availability identifier associated with each queue) until finalization has succeeded. Note that more than one supplier can invoke the same communication channel 2 in parallel. This is made technically possible by using more than one 35 thread.
5 Similarly, there is more than one thread for each consumer virtually connected to the channel. The role of the threads is to consume the information stored in the queues 6 in order to initiate transactions with the clients of the communication channel. Those clients can be consumers 5 or, obviously, other 5 communication channels. The transactions contain the information stored in the queues and previously received from the supplier 1. Thus the information is transmitted along the chain. The clients (here the consumers 5) then finalize the transactions. If the transactions succeed, the communication channel receives in return a message 10 ("commit") advising it of this. In this case, the information stored in the queue 6 corresponding to the client that transmitted the "commit" is withdrawn. Note that in this case the reliable memory is never accessed in read mode. Because the reliable memory is typically a database, it is clear that any access to it represents a penalty in terms of execution speed. The above method therefore 15 minimizes access to the reliable memory by using much faster queues and consequently increases the speed at which information is transmitted from the supplier to the consumers. In one embodiment of the invention each software element (supplier, communication channel, consumers) provides a standard recovery interface for 20 restarting in the event of a fault. That interface enables the action performed by a transaction that has failed to be undone. Similarly, the reliable memory provides an interface mainly enabling information associated with a transaction to be withdrawn from storage. Accordingly, if one of the transactions in the chain fails, all of the actions undertaken on the objects implicated by the transaction in question are 25 undone. Once the actions have been undone because of the failure of a transaction, the transaction can be restarted by reading the information stored in the reliable memory. As stated above, if a transaction fails, it can be undone and restarted without 30 calling into question the other transactions previously effected in the chain. If the state of a channel, i.e. the content of the queues and the knowledge of its virtual interconnections, is lost, the reliable memories enable it to be restored. The above solution provides an end-to-end data recovery mechanism working automatically with an external transactional system. Compared to other 35 solutions, the mechanism is generic.
6 The foregoing description considers only one communication channel, but the mechanism is symmetrical and works in the same way in any chain of channels. In other words, there can be any number of communication channels between the supplier and the consumer or consumers. As previously indicated, in this situation a 5 communication channel can be connected as a client of another communication channel. Figure 2 shows one example of a network of communication channels. A supplier F, is connected to a first communication channel. A supplier F 2 is connected to a second communication channel. These two communication channels have a 10 third communication channel as a client. One or more consumers C, are connected as clients of the first communication channel and one or more consumers C 2 are connected as clients of the second communication channel. The above kind of network topology is highly beneficial in practice. It enables consumers C, to receive only information from suppliers F, and consumers 15 C 2 to receive information from suppliers F, and F 2 . Any software entity can therefore choose to receive information from more than one supplier by choosing the communication channel to which it must connect as a client.

Claims (6)

1. A method of transmitting information asynchronously between a supplier and a consumer in accordance with ACID properties, said supplier and said 5 consumer being connected by a chain of communication channels, characterized in that said information is transmitted by means of independent transactions set up: " between said supplier and the first communication channel of said chain, " between each of the communication channels of said chain, and " between the last communication channel of said chain and said consumer. 10
2. A method according to claim 1, characterized in that each communication channel has a set of clients which can be other communication channels and/or consumers, and in that when a communication channel of said chain is the target of one of said independent transactions, it effects the following steps: 15 * storing said information in a reliable memory, " finalizing said independent transaction, and " if said independent transaction has succeeded, initiating independent transactions with said clients containing said information.
3. A method according to the preceding claim, characterized in that to 20 initiate said independent transactions said information is stored in queues each of which is associated with one of said clients and consumed by a thread.
4. A communication channel enabling asynchronous transmission of information between a supplier and a consumer in accordance with ACID properties, said channel having a set of clients which can be other communication channels 25 and/or consumers, characterized in that it includes: e means for storing the information contained in a transaction for which said channel is the target, " means for finalizing said transaction, and * means for initiating transactions containing said information with said 30 clients if said transaction has succeeded.
5. A communication channel according to the preceding claim, characterized in that it further includes queues each of which is associated with one of said clients.
6. A transactional asynchronous communication architecture utilizing a 35 plurality of communication channels according to either claim 4 or claim 5.
AU70109/00A 1999-08-16 2000-08-10 Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid) Abandoned AU7010900A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9910516 1999-08-16
FR9910516 1999-08-16
PCT/FR2000/002292 WO2001013225A2 (en) 1999-08-16 2000-08-10 Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid)

Publications (1)

Publication Number Publication Date
AU7010900A true AU7010900A (en) 2001-03-13

Family

ID=9549160

Family Applications (1)

Application Number Title Priority Date Filing Date
AU70109/00A Abandoned AU7010900A (en) 1999-08-16 2000-08-10 Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid)

Country Status (4)

Country Link
EP (1) EP1145121A3 (en)
JP (1) JP2003507789A (en)
AU (1) AU7010900A (en)
WO (1) WO2001013225A2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2301686A (en) * 1995-06-03 1996-12-11 Ibm Transaction synchronisation procedure in a routing node
EP0817019B1 (en) * 1996-07-02 2003-01-29 International Business Machines Corporation Method of stratified transaction processing

Also Published As

Publication number Publication date
EP1145121A2 (en) 2001-10-17
WO2001013225A2 (en) 2001-02-22
JP2003507789A (en) 2003-02-25
WO2001013225A3 (en) 2001-08-30
EP1145121A3 (en) 2002-09-11

Similar Documents

Publication Publication Date Title
US6012094A (en) Method of stratified transaction processing
JP3790589B2 (en) Commitment method for distributed database transactions
EP0673523B1 (en) Message transmission across a network
Reed Naming and Synchornization in a Decentralized Computer System
US6202067B1 (en) Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
US9632828B1 (en) Computing and tracking client staleness using transaction responses
US6823347B2 (en) Propagating commit times
US5734897A (en) Reduction of logging in distributed systems
EP0834122B1 (en) Synchronisation procedure in a routing node
US6247038B1 (en) Optimized synchronization procedure
CN108958984A (en) Dual-active based on CEPH synchronizes online hot spare method
EP1247182B1 (en) Preserving consistency of passively-replicated non-deterministic objects
CN113505012A (en) Message queue processing method, medium, device and system
AU7010900A (en) Method for asynchronous data transmission, with characteristics of atomicity, coherence, insulation and durability (acid)
JPH11161530A (en) Transaction processing system
CN114066476A (en) Method, device and storage medium for solving issue-first issue of distributed application transaction
EP0817019B1 (en) Method of stratified transaction processing
US6539434B1 (en) UOWE's retry process in shared queues environment
US20020078048A1 (en) Synchronization using commitment
AU6575400A (en) Transaction recovery system
Yoon et al. Real-time commit protocol for distributed real-time database systems
AU6575500A (en) Method for distributing the load of a communication channel
Guerraoui et al. The collective memory of amnesic processes
JP2001306380A (en) Two-phase commitment evading system and its program recording medium
CN101488134A (en) Method and system for high-performance affair modification in copying surroundings of database system

Legal Events

Date Code Title Description
MK1 Application lapsed section 142(2)(a) - no request for examination in relevant period