System and Method to propagate client-aware and context-aware information as part of XID in a distributed transaction in a cloud environment
Publication Date: 2015-Sep-30
The IP.com Prior Art Database
A method to pass client information to all nodes of a distributed transaction system with all all XA calls. The client information will be passed inside XID. All the participants of the transaction can use the information in various ways like transaction tracking, etc.
Page 01 of 6
System and Method to propagate client -aware and context-aware information as part of XID in a distributed transaction in a cloud environment
A client aware or a context-aware cloud is an intelligent cloud infrastructure that can deliver cloud based applications taking into account the capabilities of the device at hand.
Today's users are increasingly likely to utilize multiple devices, including smart phones, tablets, and PCs, to access information. They embrace new applications and devices in their daily life and expect those same capabilities to be available at work. Yet, when it comes to the ability to access, display, manipulate, or secure data, some devices are clearly more capable than others.
Cloud environment typically constitutes of a hybrid software systems involving multiple layers of transactional managers and/or resource managers (spanning across data centres for example, or within a cloud environment) and are often abstracted to the client devices or systems. Such interconnected systems today are not client or context aware (for e.g. the origin of the request), even if some systems are aware of the client contexts the same is not propagated to its connected systems.
A lot of intelligent choices can be made by making these systems that are interconnected to be client aware such as metering, tracking the client's request at various stages, etc,. However there are no standard means to achieve this in terms of propagating the client aware information across discrete set of systems constituting of application servers / transaction managers / resource managers and providing any new mechanisms would be difficult as it would create a dependency for all software systems participating in the hybrid environment for the implementation.
The Open Group provides standardized specifications for a distributed transaction processing environment. The XA specification is one of the standard for global transaction with 2 phase commit protocol to co-ordinate across multiple resource managers. It specifies the XA interface which is the bidirectional interface between a transaction manager and a resource manager.
Today, there are a lot of XA compliant products, for example, IBM TXSeries, Oracle Tuxedo, Micro Focus Server, etc as a TM (transaction manager), and IBM DB2, Oracle Database, SAP Sybase ASE as a RM (resource manager). In the DTP (distributed transaction processing) environment using such products, the TM manages the connection and the transaction coordination to all the resource managers.
The XA interface uses an identifier often referred to as XID that is used to identify a conversation across TM and RM. Currently the XID structure is defined as following in 'Distributed Transaction Processing: XA Specification'
long formatID; /* format identifier */ long gtrid_length; /* value 1-64 */ long bqual_length; /* value 1-64 */ char data[XIDDATASIZE];
typedef struct xid_t XID;
The 'data' field of the xid_t structure is...