Maintaining persistence of a messaging system
AssigneeSatori Worldwide, LLC
InventorsAndrey Kushnir, Maksim Terekhin
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs for receiving, from a first client device, a request for messages of a first channel of a plurality of channels starting at a position in the first channel, wherein each channel comprises a respective ordered plurality of messages stored in one or more respective buffers according to the order, each buffer having a respective time-to-live; receiving, from one of the second client devices, a response message comprising one or more messages of the first channel that are at or after the position in the order; and sending the messages to the first client device.
Claims20
A method, comprising:
- determining that a first message in a first channel of a plurality of channels corresponding to a position in the first channel is stored in a buffer having a time-to-live that has expired, wherein each channel comprises a respective plurality of messages stored in one or more respective buffers according to an order, wherein each buffer comprises a respective time-to-live, and, based thereon:
- sending, by one or more computer processors, a request for a history of messages beginning at the position to one or more client devices that subscribe to the first channel;
- receiving, from the one or more client devices, a response message comprising one or more messages of the first channel that are at or after the position;
- retrieving messages for the first channel from one or more buffers of the first channel having time-to-lives that have not expired;
- and
- combining, by the one or more computer processors the retrieved messages and the messages from the response message.
A system, comprising:
- one or more computer processors programmed to perform operations to:
- determine that a first message in a first channel of a plurality of channels corresponding to a position in the first channel is stored in a buffer having a time-to-live that has expired, wherein each channel comprises a respective plurality of messages stored in one or more respective buffers according to an order, wherein each buffer comprises a respective time-to-live, and, based thereon:
- send a request for a history of messages beginning at the position to one or more client devices that subscribe to the first channel;
- receive, from the one or more client devices, a response message comprising one or more messages of the first channel that are at or after the position;
- retrieve messages for the first channel from one or more buffers of the first channel having time-to-lives that have not expired;
- and
- combine the retrieved messages and the messages from the response message.
A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:
- determine that a first message in a first channel of a plurality of channels corresponding to a position in the first channel is stored in a buffer having a time-to-live that has expired, wherein each channel comprises a respective plurality of messages stored in one or more respective buffers according to an order, wherein each buffer comprises a respective time-to-live, and, based thereon:
- send, by the one or more computer processors, a request for a history of messages beginning at the position to one or more client devices that subscribe to the first channel;
- receive, from the one or more client devices, a response message comprising one or more messages of the first channel that are at or after the position;
- retrieve, messages for the first channel from one or more buffers of the first channel having time-to-lives that have not expired;
- and
- combine, by the one or more computer processors, the retrieved messages and the messages from the response message.
Dependencies are inferred from the claim text.