Exactly once protocol for message-based collaboration
First Claim
1. A method of reliably transporting a message from a sending application to a receiving application in a collaborative network, the method comprising:
- storing the message in a database associated with the sending application, wherein the message includes application data and a message identifier (ID) uniquely identifying the message;
transmitting a hypertext transport protocol (HTTP) request to the receiving application, wherein the HTTP request includes the message ID;
determining whether the message ID matches a message ID previously stored in a database associated with the receiving application;
if the message ID does not match the message ID previously stored in the database associated with the receiving application, transmitting the application data from the database associated with the sending application to the database associated with the receiving application; and
sending the message from the sending application to the receiving application using a first cycle including a first messaging and transport layer (MTL) at the sending application, using a second cycle at an integration server, coupled between the sending application and the receiving application, the second cycle including a second messaging and transport layer, and a third cycle including a third messaging and transport layer, each of the first, second, and third messaging and transport layers including a message queue, a physical address resolution, a database for storing the message identifier, and a transport mechanism for the HTTP request.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for reliably exchanging a message among collaborating applications are disclosed. The methods and systems utilize a central exchange infrastructure (XI) for executing collaborative business processes among heterogeneous applications. Reliable message transmission is guaranteed by an Exactly Once Protocol (EOP), in which a database associated with the messaging and transport layer (MTL) of an HTTP-compliant server is used for storing a message identifier and comparing the message identifier to previously received message identifiers. If there is no match, the XI facilitates an exchange of message content of application data from a sending application to a receiving application.
29 Citations
19 Claims
-
1. A method of reliably transporting a message from a sending application to a receiving application in a collaborative network, the method comprising:
-
storing the message in a database associated with the sending application, wherein the message includes application data and a message identifier (ID) uniquely identifying the message; transmitting a hypertext transport protocol (HTTP) request to the receiving application, wherein the HTTP request includes the message ID; determining whether the message ID matches a message ID previously stored in a database associated with the receiving application; if the message ID does not match the message ID previously stored in the database associated with the receiving application, transmitting the application data from the database associated with the sending application to the database associated with the receiving application; and sending the message from the sending application to the receiving application using a first cycle including a first messaging and transport layer (MTL) at the sending application, using a second cycle at an integration server, coupled between the sending application and the receiving application, the second cycle including a second messaging and transport layer, and a third cycle including a third messaging and transport layer, each of the first, second, and third messaging and transport layers including a message queue, a physical address resolution, a database for storing the message identifier, and a transport mechanism for the HTTP request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of reliably transporting a message from a sending application in a collaborative network, wherein the message includes application data and a message identifier (ID) uniquely identifying the message, the method comprising:
-
determining a least one receiving application based on routing rules accessed from a directory and associated with the application data; transmitting a hypertext transport protocol (HTTP) request to the at least one receiving application, wherein the HTTP request includes the message ID; determining whether the message ID matches a message ID previously stored in a database associated with the receiving; and sending the message from the sending application to the receiving application using a first cycle including a first messaging and transport layer (MTL) at the sending application, using a second cycle at an integration server, coupled between the sending application and the receiving application, the second cycle including a second messaging and transport layer, and a third cycle including a third messaging and transport layer, each of the first, second, and third messaging and transport layers including a message queue, a physical address resolution, a database for storing the message identifier, and a transport mechanism for the HTTP request. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for reliably transporting a message from a sending application to a receiving application in a collaborative network, comprising:
-
a sender database associated with the sending application; a first HTTP transport mechanism coupled to receive the message from the sending application and to store the message in the sender database; a receiver database associated with the receiving application; and a second HTTP transport mechanism coupled to receive the message from the first HTTP transport mechanism and to store the message in the receiver database; wherein the second HTTP transport mechanism includes logic to determine whether a message has been previously received by the receiving application by examining a message identifier uniquely identifying the message, wherein the message is sent from the sending application to the receiving application using a first cycle including a first messaging and transport layer (MTL) at the sending application, using a second cycle at an integration server, coupled between the sending application and the receiving application, the second cycle including a second messaging and transport layer, and a third cycle including a third messaging and transport layer, each of the first, second, and third messaging and transport layers including a message queue, a physical address resolution, a database for storing the message identifier, and a transport mechanism for the HTTP request. - View Dependent Claims (19)
-
Specification