Resilient messaging infrastructure
First Claim
1. A method, comprising:
- receiving, at a first message resilience client device from a second message resilience client device that executes a remote client/server-based client application, a message and a request to deliver the message on behalf of the remote client/server-based client application that originated the message to a client/server-based server application that is executed by a server device and that is configured to provide client/server messaging services for the remote client/server-based client application;
determining whether delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is currently possible via any available connection;
storing, in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, the message locally for one of later delivery to the client/server-based server application and propagation of the message with the request to deliver the message to at least one other message resilience client device on behalf of the requesting remote client/server-based client application;
determining, subsequent to storing the message in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, that a new connection is available to the server device that executes the client/server-based server application;
determining whether message presence information that identifies the message exists within a message presence database and indicates whether the message has already been delivered to the client/server-based server application; and
in response to determining that the message presence information that identifies the message exists within the message presence database and indicates that the message has not already been delivered;
sending the message to the client/server-based server application on behalf of the requesting remote client/server-based client application;
deleting the message; and
updating the message presence information to indicate that the first message resilience client device delivered the message to the client/server-based server application on behalf of the requesting remote client/server-based client application.
1 Assignment
0 Petitions
Accused Products
Abstract
A first message resilience client device receives from a second message resilience client device a message and a request to deliver the message to a client/server-based server application executed by a server device on behalf of a remote client/server-based client application executed by the second message resilience client device that originated the message. A determination is made as to whether a connection to the server device that executes the client/server-based server application is currently possible using at least one available connection. In response to determining that the connection to the server device that executes the client/server-based server application is not currently possible, the message is stored locally for one of later delivery to the client/server-based server application and propagation of the message to another message resilience client device on behalf of the remote client/server-based client application.
5 Citations
17 Claims
-
1. A method, comprising:
-
receiving, at a first message resilience client device from a second message resilience client device that executes a remote client/server-based client application, a message and a request to deliver the message on behalf of the remote client/server-based client application that originated the message to a client/server-based server application that is executed by a server device and that is configured to provide client/server messaging services for the remote client/server-based client application; determining whether delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is currently possible via any available connection; storing, in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, the message locally for one of later delivery to the client/server-based server application and propagation of the message with the request to deliver the message to at least one other message resilience client device on behalf of the requesting remote client/server-based client application; determining, subsequent to storing the message in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, that a new connection is available to the server device that executes the client/server-based server application; determining whether message presence information that identifies the message exists within a message presence database and indicates whether the message has already been delivered to the client/server-based server application; and in response to determining that the message presence information that identifies the message exists within the message presence database and indicates that the message has not already been delivered; sending the message to the client/server-based server application on behalf of the requesting remote client/server-based client application; deleting the message; and updating the message presence information to indicate that the first message resilience client device delivered the message to the client/server-based server application on behalf of the requesting remote client/server-based client application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a memory; and a processor programmed to; receive, at a first message resilience client device from a second message resilience client device that executes a remote client/server-based client application, a message and a request to deliver the message on behalf of the remote client/server-based client application that originated the message to a client/server-based server application that is executed by a server device and that is configured to provide client/server messaging services for the remote client/server-based client application; determine whether delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is currently possible via any available connection; store, in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, the message locally in the memory for one of later delivery to the client/server-based server application and propagation of the message with the request to deliver the message to at least one other message resilience client device on behalf of the requesting remote client/server-based client application; determine, subsequent to storing the message in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, that a new connection is available to the server device that executes the client/server-based server application; determine whether message presence information that identifies the message exists within a message presence database and indicates whether the message has already been delivered to the client/server-based server application; and in response to determining that the message presence information that identifies the message exists within the message presence database and indicates that the message has not already been delivered; send the message to the client/server-based server application on behalf of the requesting remote client/server-based client application; delete the message from the memory; and update the message presence information to indicate that the first message resilience client device delivered the message to the client/server-based server application on behalf of the requesting remote client/server-based client application. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer program product, comprising:
a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to; receive, at a first message resilience client device from a second message resilience client device that executes a remote client/server-based client application, a message and a request to deliver the message on behalf of the remote client/server-based client application that originated the message to a client/server-based server application that is executed by a server device and that is configured to provide client/server messaging services for the remote client/server-based client application; determine whether delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is currently possible via any available connection; store, in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, the message locally for one of later delivery to the client/server-based server application and propagation of the message with the request to deliver the message to at least one other message resilience client device on behalf of the requesting remote client/server-based client application; determine, subsequent to storing the message in response to determining that the delivery of the message as requested on behalf of the requesting remote client/server-based client application to the server device that executes the client/server-based server application is not currently possible via any available connection, that a new connection is available to the server device that executes the client/server-based server application; determine whether message presence information that identifies the message exists within a message presence database and indicates whether the message has already been delivered to the client/server-based server application; and in response to determining that the message presence information that identifies the message exists within the message presence database and indicates that the message has not already been delivered; send the message to the client/server-based server application on behalf of the requesting remote client/server-based client application; delete the message; and update the message presence information to indicate that the first message resilience client device delivered the message to the client/server-based server application on behalf of the requesting remote client/server-based client application. - View Dependent Claims (14, 15, 16, 17)
Specification