Claims
- 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; obtaining a connection state value indicating a number of data elements processed by the application; exchanging the connection state value with the opposite endpoint over the network; 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 detecting a 2nd communication channel that is currently more efficient than a current 1st communication channel.
- 8. A method as recited in claim 7, further comprising the operation of re-mapping a logical connection to the 2nd communication channel.
- 9. 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; 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 over the network, 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.
- 10. A computer program as recited in claim 9, wherein the reconnect protocol module further receives an opposite connection state value indicating a number of data elements processed using the opposite endpoint.
- 11. A computer program as recited in claim 10, 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.
- 12. A computer program as recited in claim 9, wherein the application programming interface notifies the application that an interruption has occurred.
- 13. A computer program as recited in claim 9, wherein the application programming receives a request to reconnect from the application, and wherein the application provides the connection state value.
- 14. A computer program as recited in claim 9, wherein an endpoint is a client application and the opposite endpoint is a server application.
- 15. A computer program as recited in claim 9, wherein the connection monitor module detects a 2nd communication channel that is currently more efficient than a current 1st communication channel.
- 16. A computer program as recited in claim 15, wherein the connection monitor module interrupts the digital connection on the current 1st communication channel and re-maps a logical connection to the 2nd communication channel.
- 17. 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 having a control connection with the server control layer, 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.
- 18. A distributed environment as recited in claim 17, 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.
- 19. A distributed environment as recited in claim 18, wherein the server control layer exchanges a server connection state value with the client control layer indicating a number of data elements processed using the server application.
- 20. A distributed environment as recited in claim 19, 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.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP151), filed Feb. 27, 2003, and entitled “Method for Asynchronous Support of Fault-Tolerant and Adaptive Communication,” which is incorporated herein be reference.