Non-blocking distributed transaction processing system

https://doi.org/10.1016/S0164-1212(00)00053-4Get rights and content

Abstract

The prolific development of the wide variety of Internet applications forces a need for a software solution to enable access to multiple data sources while ensuring data integrity and consistency. Common Object Request Broker Architecture (CORBA) Services specified by the Object Management Group (OMG) includes a Transaction Service Specification. The Object Transaction Server (OTS) developed in this project is based on this specification. It acts as a robust system level tool to enable distributed applications to coordinate their operations into transactions. The OTS incorporates a three phase commit protocol to ensure atomicity of the transactions. This is a non-blocking protocol that ensures that operational sites participating in a transaction come to a common outcome based on the local data even in the event of (non-catastrophic) site failures.

Introduction

In response to growing demands for faster and more cost-effective application development, Information Technology (IT) organizations are turning to the distributed object computing model, which enables the reuse of business processing functionality. In order to successfully share data and functionality, and to ensure data integrity across multiple sources, organizations employing the distributed object computing model must coordinate the activities of multiple objects into transactions. Transaction processing techniques are deeply ingrained in the fields of databases and operating systems and are used to monitor, control and update information in modern computer systems.

A transaction is a unit of work composed of a set of operations on objects. A transaction is characterized by essentially its four “ACID” properties namely Atomicity, Consistency, Isolated and Durability (Tanenbaum, 1995).

The ability of transactions to hide the effects of concurrency and failures makes them appropriate building blocks for structuring reliable distributed systems in general. Industry is embracing transactions in a big way, with a near explosion occurring in usage, requirements, and sophistication of transaction processing.

Two of the most popular and competing object oriented middleware technologies, Object Management Group’s (OMG's) Common Object Request Broker Architecture (CORBA), and Microsoft’s Distributed Component Object Model (DCOM) provide well-defined infrastructure for distributed object applications (ISG, 1997). Object oriented middleware facilitates development by providing an excellent framework for application developers. Using either CORBA or DCOM, developers are provided with a higher level of abstraction, which does not require them to write any communication code. All the necessary communication code, including the marshaling of application data, is generated from the IDL compiler. Both CORBA and DCOM have their respective advantages and disadvantages, and while it is difficult to say one is better than the other in general, the choice of CORBA over DCOM for this project is based on software availability and consideration for future use by other projects.

With the growth of the Internet and sophisticated web-based applications, the need arises to coordinate application objects into transactions. Several web-based applications typically need access to multiple data sources, such as inventory, customer, or shipping data, and it is necessary to maintain data integrity across different sources to ensure consistency. These applications would benefit enormously from software services that can coordinate the activities of the application objects to ensure atomicity, consistency, isolation and durability.

CORBA Services (Object Services) is a set of interface specifications providing fundamental services that application developers may need in order to find and manage their objects and data, and to coordinate the execution of complex operations. These services augment the CORBA architecture and include, among others, a transaction service, which specifies a mechanism for CORBA objects uniformly distributed in a heterogeneous network, machine and language medium to participate in distributed transactions using a two phase commit protocol. The Object Transaction Service (OTS) simplifies the complexity of distributed transactions by providing an essential set of services integrated into one architecture, including transaction management, recovery and logging. The goal of the current project is to develop a software system for the OTS defined as part of CORBA Services. This service specification extends the CORBA model, allowing interoperability with existing CORBA-compliant application domains.

OMG’s CORBA OTS architecture specifies a transaction manager that runs the two phase commit protocol to manage its transactions. This protocol ensures that any and all changes to resources occur atomically. If a failure occurs in any one of the participating resources such that it cannot complete its part of the transaction, all other resources undo their changes. While the two phase commit protocol guarantees global atomicity, its biggest drawback is that it is a blocking protocol. This is undesirable in certain cases, where a site failure may result in certain other sites waiting indefinitely while holding locks on resources (Singhal and Shivaratri, 1994). To ensure progress despite failures, a nonblocking protocol is used to develop the OTS. Thus this project employs a three phase commit protocol (3PC) for transaction management, where the operational sites come to an outcome mutually agreed upon, even in case of site failures.

Section 2 presents background essential to understanding the project, and provides a brief outline of some related work. A detailed description of the two phase and three phase commit protocols is given and a comparative study of the two protocols is made. In Section 3, the working of the OTS and the issues in the design of the OTS based on the three phase commit protocol are discussed. Section 4 presents detailed implementation of the various components of the OTS. The example application developed for testing the OTS is presented to illustrate how an application programmer can use the OTS to build a transaction management system. Finally, conclusions and future work are presented in Section 5.

Section snippets

Common Object Request Broker Architecture

Today CORBA is becoming an increasingly popular standard for distributed objects in the enterprise. Common Object Request Broker Architecture (CORBA), a specification ratified by the members of the OMG, specifies a way in which developers may achieve seamless integration and interoperability of distributed objects (Fleming et al., 1997). The OMG is a non-profit consortium formed to promote the theory and practice of object technology in distributed computing systems. The Object Management

System design goals

The intent of the current project is to develop a robust software system for managing transaction processing. The design goals of this system include:

  • Transparency: The details of the transaction processing system should be hidden from the user of an application based on the OTS Server. The user should not have to deal with the initiation or termination of transactions manually.

  • Ease of use: A distributed application developer intending to use to the OTS to incorporate distributed transaction

Implementation issues

This section discusses the implementation details of the various components specified in the design section. VisiBroker, a CORBA compliant ORB implementation by Inprise is used as the communication layer. VisiBroker provides automatic multi-threading of server object implementations. When several clients try to access the OTS Server simultaneously, each of the clients will be served automatically by a different worker thread. VisiBroker thus relieves the application programmers of the task of

Summary

This report presented the details of the design, development and testing of the OTS Server as specified in the CosTransactions module of the CORBAServices specification, with modifications to replace the two phase commit protocol with the three phase protocol for improved performance in case of site failures. The following conclusions can be drawn based on the experiences with the system developed:

  • Portability of the system is achieved through the use of VisiBroker, a CORBA 2.0 compliant ORB,

Manjula Kommareddy received the M.S. degree in computer science in August 1998 from the Iowa State University, Iowa. In July 1998, she joined Newmonics Corporation in Ames, IA and is currently a software engineer. Her current research activities are in distributed systems. Other areas of work includes the use of Java technology as business solution in the real-time applications.

References (14)

  • (COSS) Transaction Service Specification....
  • Evans, E., Rogers, D., 1996. Using Java Applets and CORBA for Distributed Application Development. Applied Research...
  • Fleming, K., Aslam-Mir, S., Damstra, J., Vilicich, M., 1997. Distributed Transactions using CORBA, Expersoft...
  • Inprise Corporation, 1998. VisiBroker Product Documentation....
  • International Systems Group, 1997. Middleware – The Essential Component for Client/Server Applications....
  • Iona Technologies, OrbixWeb 3.1 The Internet ORB....
  • Keahey, K., A Brief Tutorial on CORBA....
There are more references available in the full text version of this article.

Cited by (0)

Manjula Kommareddy received the M.S. degree in computer science in August 1998 from the Iowa State University, Iowa. In July 1998, she joined Newmonics Corporation in Ames, IA and is currently a software engineer. Her current research activities are in distributed systems. Other areas of work includes the use of Java technology as business solution in the real-time applications.

Dr. Johnny Wong is a Full Professor of the Computer Science Department, Iowa State University at Ames, Iowa, USA. His research interests include Operating Systems, Distributed Systems, Telecommunication Networks, Broadband-Integrated Services Digital Networks, Concurrency Control and Recovery, Multimedia and Hypermedia Systems, Intelligent Multi-Agents Systems, Intrusion Detection. He has been an investigator for research contracts with Telecom Australia from 1983 to 1986, studying the performance of network protocols of the ISDN. During this period, he has contributed to the study and evaluation of the communication architecture and protocols of ISDN. From 1989 to 1990, he was the Principal Investigator for a research contract with Microware Systems Corporation at Des Moines, Iowa. This involved the study of Coordinated Multimedia Communication in ISDN. In Summers 1991 and 1992, Dr. Wong was supported by IBM corporation in Rochester. While at IBM, he worked on the Distributed Computing Environment (DCE) for the Application Systems. This involved the integration of communication protocols and distributed database concepts. Dr Wong is also involved in the Coordinated Multimedia System (COMS) in Courseware Matrix Software Project, funded by NSF Synthesis Coalition Project to enhance engineering education. From 1993 to 1996, he is working on a research project on a knowledge-based system for energy conservation education using multimedia communication technology, funded by the Iowa Energy Center. From 1995–1996, he was supported by the Ames Laboratory of the Department of Energy (DOE), working in Middleware for Multidatabases system. Currently, he is working on Intelligent Multi-Agents for Intrusion Detection and Countermeasures funded the Department of Defence (DoD), Database Generating and X-Ray Displaying on the World Wide Web Applications funded by Mayo Foundation and CISE Educational Innovation: Integrated Security Curricular Modules funded by the National Science Foundation (NSF).

View full text