×

Resilient messaging infrastructure

  • US 10,051,080 B2
  • Filed: 11/18/2016
  • Issued: 08/14/2018
  • Est. Priority Date: 08/07/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • receiving, at a first message resilience client device from a second message resilience client device, a message and a request to deliver the message on behalf of a 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 provides outgoing client/server messaging services to the remote client/server-based client application that originated the message;

    storing, in response to determining that delivery of the message as requested on behalf of the 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 remote client/server-based client application;

    detecting that a local client/server-based client application has originated a local message to send to a locally-targeted client/server-based server application that is executed by a locally-targeted server device and that provides outgoing client/server messaging services to the local client/server-based client application that originated the local message;

    determining that a connection to the locally-targeted server device that executes the locally-targeted client/server-based server application is not currently available;

    determining that a connection to the at least one other message resilience client device is available;

    sending, to the at least one other message resilience client device, the local message and a request to deliver the local message on behalf of the local client/server-based client application to the locally-targeted client/server-based server application that provides the outgoing client/server messaging services to the local client/server-based client application that originated the local message;

    determining whether message presence information that identifies the local message exists within a message presence database and indicates whether the local message has already been delivered to the locally-targeted client/server-based server application;

    in response to determining that the local message has already been delivered;

    notifying the local client/server-based client application that the local message has been successfully delivered; and

    one of;

    deleting the message presence information that identifies the local message from the message presence database; and

    updating the message presence information to indicate a time duration for storage of the message presence information by the message presence database; and

    in response to determining that the local message has not already been delivered;

    sending, in response to determining that a connection to the locally-targeted server device that executes the locally-targeted client/server-based server application is currently available, the local message to the locally-targeted client/server-based server application that provides the outgoing client/server messaging services to the local client/server-based client application; and

    creating the message presence information that identifies the local message within the message presence database, that indicates that the local message has been delivered to the locally-targeted client/server-based server application, and that indicates the time duration for storage of the message presence information by the message presence database.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×