Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of distributing messages to subscribers that are located in multiple regions, the method comprising, by a first data center of a cloud computing system: receiving messages that are to be published to multiple subscribers; for each of the messages, determining a channel on which the message is to be published; saving the messages in a data collection at the first data center along with, for each of the saved messages, an association for the determined channel on which the message is to be published; and for a first channel, performing a limited replication process by: accessing an interest map indicating data centers with which subscribers for the first channel are associated, and transmitting the saved messages that are associated with the first channel to the data centers with which the subscribers for the channel are associated as indicated by the interest map for replication, and not to other data centers that are not indicated by the interest map as being associated with the subscribers for the channel.
2. The method of claim 1 , further comprising: periodically updating the interest map; and for each update in which one or more associations between subscribers of the first channel and associated data centers have changed from a prior version of the interest map: identifying a new additional data center with which a subscriber of the first channel has associated in the update but to which no subscriber of the first channel was connected in the prior version, and transmitting the saved messages that are associated with the first channel to the new additional data center.
3. The method of claim 1 , further comprising: periodically updating the interest map; and for each update in which one or more associations between subscribers of the first channel and data centers have changed from a prior version of the interest map: identifying a data center with which a subscriber of the first channel was associated in the prior version but with which no subscriber of the first channel is associated in the update, and thereafter, when transmitting the saved messages that are associated with the first channel to the data centers with which the subscribers for the first channel are associated for replication, excluding the identified data center from the replication.
4. The method of claim 1 further comprising, by the first data center, performing the limited replication process for a plurality of additional channels.
5. The method of claim 1 , further comprising generating the interest map as an array comprising, for each of a plurality of channels and a plurality of time periods, an indication of whether interest has been expressed for each channel in each time period.
6. The method of claim 5 comprising, for each new time period, adding a new set of time series data to the interest map for the new time period and removing an oldest set of time series data from the interest map.
7. The method of claim 5 , wherein the indication comprises a hashed or compressed representation of a tenant's channel name space.
8. The method of claim 1 further comprising: receiving a request for interest map data from another data center; and transmitting a portion of the interest map to the other data center.
9. The method of claim 1 further comprising, when transmitting the saved messages, performing a chatter reduction process that combines entries from multiple interest maps into a single Ethernet frame.
10. The method of claim 1 wherein the limited replication process further comprises, before transmitting the saved messages: determining whether a regional restriction exists for the first channel; identifying whether any of the data centers with which subscribers for the first channel are associated are data centers that are subject to the regional restriction; and when transmitting the saved messages that are associated with the first channel, only doing so to data centers that are not subject to the regional restriction.
11. A system for distributing messages to subscribers that are located in multiple regions, the system comprising: a first data center comprising a first processing unit and a first computer-readable medium containing programming instructions that are configured to cause the first processing unit to: receive messages that are to be published to multiple subscribers, for each message, determine a channel on which the message is to be published, save the messages in a data store at the first data center along with, for each saved message, an association for the determined channel on which the saved message is to be published; and for a first channel, perform a limited replication process by: accessing an interest map indicating data centers with which subscribers for the first channel are associated, and transmitting the saved messages that are associated with the first channel to the data centers with which the subscribers for the first channel are associated as indicated by the interest map for replication, and not to other data centers that are not indicated by the interest map as being associated with the subscribers for the first channel.
12. The system of claim 11 , further comprising additional programming instructions that are configured to cause the first processing unit to: periodically update the interest map; and for each update in which one or more associations between subscribers of the first channel and associated data centers have changed from a prior version of the interest map: identify a new additional data center with which a subscriber of the first channel has associated in the update but to which no subscriber of the first channel was connected in the prior version, and transmit the saved messages that are associated with the first channel to the new additional data center.
13. The system of claim 11 , further comprising additional programming instructions that are configured to cause the first processing unit to: periodically update the interest map; and for each update in which one or more associations between subscribers of the first channel and data centers have changed from a prior version of the interest map: identify a data center with which a subscriber of the first channel was associated in the prior version but with which no subscriber of the first channel is associated in the update, and thereafter, when transmitting the saved messages that are associated with the first channel to the data centers with which the subscribers for the first channel are associated for replication, exclude the identified data center from the replication.
14. The system of claim 11 further comprising additional programming instructions that are configured to cause the first processing unit to perform the limited replication process for a plurality of additional channels.
15. The system of claim 11 , further comprising additional programming instructions that are configured to cause the first processing unit to generate the interest map as an array comprising, for each of a plurality of channels and a plurality of time periods, an indication of whether interest has been expressed for each channel in each time period.
16. The system of claim 15 , further comprising additional programming instructions that are configured to cause the first processing unit to, for each new time period, add a new set of time series data to the interest map for the new time period and remove an oldest set of time series data from the interest map.
17. The system of claim 15 , wherein the indication comprises a hashed or compressed representation of a tenant's channel name space.
18. The system of claim 11 further comprising additional programming instructions that are configured to cause the first processing unit to: receive a request for interest map data from a second data center; and transmit a portion of the interest map to the second data center.
19. The system of claim 11 , further comprising additional programming instructions that are configured to cause the first processing unit to, when transmitting the saved messages, perform a chatter reduction process that combines entries from multiple interest maps into a single Ethernet frame.
20. The system of claim 11 , wherein the programming instructions to perform the limited replication process further comprise instructions to cause the first processing unit to, before transmitting the saved messages: determine whether a regional restriction exists for the first channel; identify whether any of the data centers with which subscribers for the first channel are associated are data centers that are subject to the regional restriction; and when transmitting the saved messages that are associated with the first channel, only do so to data centers that are not subject to the regional restriction.
Unknown
May 3, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.