IP Library Granted Patent US 7,178,051
Granted Patent B2
US 7,178,051 · App. 10/378,005 · Granted Feb 13, 2007

Method for synchronous support of fault-tolerant and adaptive communication

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,178,051
App. No.
10/378,005
Granted
Feb 13, 2007
Kind
B2
Abstract

An invention is provided for fault-tolerant and adaptive communication in a distributed computing environment. The invention includes detecting an interruption in a digital connection on a network between two endpoints. Upon detection, a connection state value indicating a number of data elements processed by the application is obtained. The connection state value is then exchanged with the opposite endpoint over the network. In this manner, remaining data elements of the transaction can be received sequentially over the network from the opposite endpoint. In particular, the remaining data elements begin with a data element at a point indicated by the connection state value plus one.

Claims (34)

1. A method for providing fault-tolerant and adaptive communication in a distributed computing environment, comprising:

detecting an interruption in a digital connection on a network between two endpoints, the digital connection being utilized to transmit data elements of a transaction sequentially from an opposite endpoint to an application running at one end point;

obtaining a connection state value indicating a number of data elements processed by the application;

establishing a control connection on the network between the two endpoints upon the interruption in the digital connection;

exchanging the connection state value with the opposite endpoint using the control connection on the network;

detecting a 2 nd communication channel, the 2 nd communication channel providing an alternate option of communication between the two endpoints that is different from a current 1 st communication channel; and

receiving remaining data elements of the transaction sequentially over the network from the opposite endpoint, wherein the remaining data elements begin with a data element at a point indicated by the connection state value plus one.

2. A method as recited in claim 1 , further comprising the operations of:

receiving an opposite connection state value indicating a number of data elements processed using the opposite endpoint; and

transmitting remaining data elements sequentially over the network to the opposite endpoint, wherein the remaining data elements begin with a data element at a point indicated by the opposite connection state value plus one.

3. A method as recited in claim 1 , further comprising the operation of notifying the application that an interruption has occurred.

4. A method as recited in claim 1 , further comprising the operation of receiving a request to reconnect from the application, wherein the application provides the connection state value.

5. A method as recited in claim 4 , further comprising the operation of passing control back to the application after exchanging state information with the opposite endpoint.

6. A method as recited in claim 1 , wherein an endpoint is a client application and the opposite endpoint is a server application.

7. A method as recited in claim 1 , further comprising the operation of re-mapping a logical connection to the 2 nd communication channel.

8. A computer program embodied on a computer readable medium for providing fault-tolerant and adaptive communication in a distributed computing environment, comprising:

a connection monitor module that detects:

an interruption in a digital connection on a network between two endpoints, the digital connection being utilized to transmit data elements of a transaction sequentially from an opposite endpoint to an application;

a 2 nd communication channel, the 2 nd communication channel providing an alternate option of communication between the two end points that is different from a 1 st communication channel;

an application programming interface that obtains a connection state value indicating a number of data elements processed by the application; and

a reconnect protocol module that exchanges the connection state value with the opposite endpoint using a control communication over the network, wherein the control communication is established between the two endpoints upon detecting an interruption in the digital connection, wherein remaining data elements of the transaction are received sequentially over the network from the opposite endpoint, and wherein the remaining data elements begin with a data element at a point indicated by the connection state value plus one.

9. A computer program as recited in claim 8 , wherein the reconnect protocol module further receives an opposite connection state value indicating a number of data elements processed using the opposite endpoint.

10. A computer program as recited in claim 9 , wherein the application transmits remaining data elements sequentially over the network to the opposite endpoint, and wherein the remaining data elements begin with a data element at a point indicated by the opposite connection state value plus one.

11. A computer program as recited in claim 8 , wherein the application programming interface notifies the application that an interruption has occurred.

12. A computer program as recited in claim 8 , wherein the application programming receives a request to reconnect from the application, and wherein the application provides the connection state value.

13. A computer program as recited in claim 8 , wherein an endpoint is a client application and the opposite endpoint is a server application.

14. A computer program as recited in claim 8 , wherein the connection monitor module interrupts the digital connection on the current 1 st communication channel and re-maps a logical connection to the 2 nd communication channel.

15. A distributed environment having fault-tolerant and adaptive communication, comprising:

a server application in communication with a server control layer;

a client application having logical connection with the server application, the logical connection being utilized to transmit data elements of a transaction sequentially from the server application to the client application; and

a client control layer establishing a control connection with the server control layer upon detection of an interruption in the logical connection, wherein the client control layer exchanges a client connection state value with the server control layer using the control connection when the logical connection is interrupted, the client connection state value indicating a number of data elements processed by the client application.

16. A distributed environment as recited in claim 15 , wherein the server application transmits remaining data elements of the transaction sequentially over the network beginning with a data element at a point indicated by the client connection state value plus one.

17. A distributed environment as recited in claim 16 , wherein the server control layer exchanges a server connection state value with the client control layer using the control connection upon detecting an interruption in the logical connection, the server connection state value indicating a number of data elements processed using the server application.

18. A distributed environment as recited in claim 17 , wherein the client application transmits remaining data elements sequentially over the network to the server application beginning with a data element at a point indicated by the server connection state value plus one.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2003
From: BARR, TERRENCE; GOVINDARAJAPURAM, SHIVAKUMAR; JENSEN, PETER STRARUP; VAGHAR, SHAHRIAR
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013848/0939 →