×

Distributed synchronization data in a message management service

  • US 10,122,665 B2
  • Filed: 03/06/2014
  • Issued: 11/06/2018
  • Est. Priority Date: 03/06/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • receiving, by a server of a message management service, a plurality of messages from a message server of a messaging service, wherein each message of the plurality of messages comprises an external identifier set by the message server;

    selecting, by the server of the message management service, a set of messages from the plurality of messages based on one or more criteria, wherein the set of messages is less than a number of messages of the plurality of messages;

    generating, by the server of the message management service, an internal identifier for each message of the set of messages;

    storing, by the server of the message management service, the set of messages in a message management service window, the set of messages comprising at least a first message;

    generating, by the server of the message management service, a synchronization data bundle for each message in the message management service window, wherein the synchronization data bundle includes the internal identifier linked to a corresponding external identifier;

    identifying, by the server of the message management service, that a client device is online;

    receiving, from the client device, a set of queued action requests;

    defining, by the server of the message management service, a reconciled message window based at least in part on a current state of the message management service window, wherein a number of messages in the reconciled message window exceeds a nominal maximum size of the message management server window;

    updating, by the server of the message management service, the message management server window to correspond to the reconciled message window, such that the message management server window temporarily exceeds the nominal maximum size;

    sending, to the client device, an instruction to update the messages stored thereon to conform to the reconciled message window;

    upon identifying that the client device is online, synchronizing, by the server of the message management service, the set of messages in the message management service window with a client message window hosted on a client device remote from the server, by sending the set of the messages and the corresponding synchronization data bundle for each message in the set of messages to the client device;

    performing, by the server of the message management service, an update to the message management service window during a time when the client device is offline, wherein performing the update comprises removing the first message from the message management services window;

    receiving, by the server of the message management service, a first request from the client device to perform an action on the first message, the first request comprising the synchronization data bundle for the first message;

    determining, by the server of the message management service, that the first message has been removed from the message management services window based on the internal message identifier of the first message; and

    based on the determination, sending, by the server of the message management service to the message server, a second request to perform the action on the first message at the message server, the second request identifying the first message to the messaging service using the external message identifier.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×