Message delivery with configurable assurances and features between two endpoints
First Claim
1. In a messaging system that supports one or more message transports, a method of simplifying application development by providing a single programming model that permits specifying one or more end-to-end message delivery assurances that are to be met at runtime, independent of a particular message transport or transports that are used at runtime, as opposed to specifying the particular message transport or transports at development time, the method comprising acts of:
- defining a message channel interface that abstracts send and receive operations for exchanging messages over one or more message transports available for sending and receiving one or more messages; and
defining, for use within a single programming model, a plurality of end-to-end message delivery assurances, each of which may be specified at runtime independent of the one or more available message transports, without specifying the one or more available message transports at development time, wherein the plurality of message delivery assurances comprise at least one of at least once message delivery, at most once message delivery, in order sent message delivery, and session time to live.
2 Assignments
0 Petitions
Accused Products
Abstract
A single programming model is provided for accessing a plurality of distinct message transports while developing one or more applications for message delivery between two endpoints. The programming model allows for independently configurable assurances and features for transporting the messages. The configurable assurances may be selected from at least once delivery, at most once message delivery, in order message delivery, and message time to live. The independently chosen features may include a session state storage, an extension of time to live, and transacted message buffering.
174 Citations
47 Claims
-
1. In a messaging system that supports one or more message transports, a method of simplifying application development by providing a single programming model that permits specifying one or more end-to-end message delivery assurances that are to be met at runtime, independent of a particular message transport or transports that are used at runtime, as opposed to specifying the particular message transport or transports at development time, the method comprising acts of:
-
defining a message channel interface that abstracts send and receive operations for exchanging messages over one or more message transports available for sending and receiving one or more messages; and
defining, for use within a single programming model, a plurality of end-to-end message delivery assurances, each of which may be specified at runtime independent of the one or more available message transports, without specifying the one or more available message transports at development time, wherein the plurality of message delivery assurances comprise at least one of at least once message delivery, at most once message delivery, in order sent message delivery, and session time to live. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a messaging system that supports one or more message transports, a method of simplifying application development by providing a single programming model that permits specifying one or more end-to-end delivery assurances for use in selecting of a particular message transport at runtime, as opposed to specifying the particular message transport at development time, the method comprising steps for:
-
abstracting a message channel interface for exchanging messages over the one or more message transports; and
allowing an application developer to specify one or more of a plurality of end-to-end message delivery assurances, for use within the single programming model, the specified end-to-end delivery assurances to be used in selecting a suitable message transport at runtime, without specifying any message transport at development time, wherein the plurality of message delivery assurances comprise at least one of at least once message delivery, at most once message delivery, in order sent message delivery, and message time to live. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. In a messaging system that supports one or more message transports, a computer program product comprising one or computer readable media carrying computer executable instructions that implement a method of simplifying application development by providing a single programming model that permits specifying one or more end-to-end delivery assurances for use in selecting of a particular message transport at runtime, as opposed to specifying the particular message transport at development time, the method comprising acts of:
-
defining a message channel interface that abstracts send and receive operations for exchanging messages over the one or more message transports; and
defining, for use within a single programming model, a plurality of end-to-end message delivery assurances to be used in selecting a suitable message transport at runtime, without specifying the suitable message transport at development time, wherein the plurality of message delivery assurances comprise at least one of at least once message delivery, at most once message delivery, in order sent message delivery, and session time to live. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. In a messaging system that supports one or more message transports, a computer program product comprising one or computer readable media carrying computer executable instructions that implement a method of simplifying application development by providing a single programming model that permits specifying one or more end-to-end delivery assurances for use in selecting of a particular message transport at runtime, as opposed to specifying the particular message transport at development time, the method comprising steps for:
-
abstracting a message channel interface for exchanging messages over the one or more message transports; and
allowing an application developer to specify one or more of a plurality of end-to-end message delivery assurances, for use within the single programming model, the specified end-to-end delivery assurances to be used in selecting a suitable message transport at runtime, without specifying any message transport at development time, wherein the plurality of message delivery assurances comprise at least one of at least once message delivery, at most once message delivery, in order sent message delivery, and message time to live. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification