Systems and methods for providing messages to multiple subscribers
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage device, to execute operatons including retrieving messages of a particular channel of a plurality of channels from respective storage buffers, wherein each storage buffer comprises a respective first time-to-live. The operations may also include storing the retrieved messages of the particular channel in a delivery buffer, wherein the delivery buffer comprises one or more data blocks, and wherein each data block comprises a respective second time-to-live. The operations may also include transmitting, by one or more computer processors, the messages stored in the delivery buffer to subscribers of the particular channel.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
retrieving messages of a particular channel of a plurality of channels from respective storage buffers,
wherein each storage buffer comprises a respective first time-to-live;
storing the retrieved messages of the particular channel in a delivery buffer,
wherein the delivery buffer comprises one or more data blocks, and
wherein each data block comprises a respective second time-to-live; and
transmitting, by one or more computer processors, the messages stored in the delivery buffer to subscribers of the particular channel,
2 . The method of claim 1 , further comprising:
receiving the messages from a plurality of publishers; and assigning each of the messages to one of the plurality of channels.
3 . The method of claim 2 , further comprising:
storing the messages of each of the plurality of channels in the respective storage buffers.
4 . The method of claim 1 , wherein the messages of each of the plurality of channels are stored in the respective storage buffers according to an order, and wherein the retrieved messages of the particular channel are stored in the delivery buffer according to the order.
5 . The method of claim 1 , wherein storing the retrieved messages of the particular channel in the delivery buffer comprises:
storing the retrieved messages of the particular channel earlier in an order in data blocks having second time-to-lives that will expire sooner than data blocks used to store retrieved messages of the particular channel later in the order.
6 . The method of claim 1 , wherein the delivery buffer comprises a visible area and an invisible area.
7 . The method of claim 6 , wherein a subscriber with a new connection is permitted to access messages from the visible area and not permitted to access messages from the invisible area.
8 . The method of claim 6 , wherein a subscriber with a pre-existing connection is permitted to access messages from both the visible area and the invisible area.
9 . The method of claim 1 , wherein the first time-to-live and the second time-to-live comprise similar durations of time.
10 . The method of claim 1 , wherein each channel of the plurality of channels comprises an ordered plurality of messages.
11 . A system, comprising:
one or more computer processors programmed to perform operations to:
retrieve messages of a particular channel of a plurality of channels from respective storage buffers,
wherein each storage buffer comprises a respective first time-to-live;
store the retrieved messages of the particular channel in a delivery buffer,
wherein the delivery buffer comprises one or more data blocks, and
wherein each data block comprises a respective second time-its-live; and
transmit the messages stored in the delivery buffer to subscribers of the particular channel.
12 . The system of claim 11 , wherein the operations are further to:
receive the messages from a plurality of publishers; and assign each of the messages to one of the plurality of channels.
13 . The system of claim 12 , wherein the operations are further to:
store the messages of each of the plurality of channels in the respective storage buffers.
14 . The system of claim 11 , wherein the messages of each of the plurality of channels are stored in the respective storage buffers according to an order, and wherein the retrieved messages of the particular channel are stored in the delivery buffer according to the order.
15 . The system of claim 11 , wherein to store the retrieved messages of the particular channel in the delivery buffer the one or more computer processors are further to:
store the retrieved messages of the particular channel earlier in an order in data blocks having second time-to-lives that will expire sooner than data blocks used to store retrieved messages of the particular channel later in the order.
16 . The system of claim 11 , wherein the delivery buffer comprises a visible area and an invisible area.
17 . The system of claim 16 , wherein a subscriber with a new connection is permitted to access messages from the visible area and not permitted to access messages from the invisible area.
18 . The system of claim 16 , wherein a subscriber with a pre-existing connection is permitted to access messages from both the visible area and the invisible area.
19 . The system of claim 11 , wherein the first time-to-live and the second time-to-live comprise similar durations of time.
20 . 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:
retrieve messages of a particular channel of a plurality of channels from respective storage buffers,
wherein each storage buffer comprises a respective first time-to-live;
store the retrieved messages of the particular channel in a delivery buffer,
wherein the delivery buffer comprises one or more data blocks, and
wherein each data block comprises a respective second time-to-live; and
transmit, by the one or more computer processors, the messages stored in the delivery buffer to subscribers of the particular channel.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.