US 11,856,073 B1
Message batching for communication protocols
Tanner McRae, San Francisco, CA (US); and Martin Schade, Belmont, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Mar. 22, 2019, as Appl. No. 16/362,418.
Int. Cl. H04L 29/08 (2006.01); H04L 67/565 (2022.01); H04L 67/12 (2022.01); H04L 67/568 (2022.01); H04L 67/53 (2022.01)
CPC H04L 67/565 (2022.05) [H04L 67/12 (2013.01); H04L 67/568 (2022.05); H04L 67/53 (2022.05)] 25 Claims
OG exemplary drawing
 
1. A system for transmission of content via a messaging protocol, the system comprising:
one or more first computing devices configured to execute an interface for communicating information in accordance with a topic-based messaging protocol, wherein the topic-based messaging protocol is associated with a message size maximum, wherein individual computing devices of the one or more first computing devices are configured to:
obtain content to be transmitted to at least one recipient device;
determine whether the content to be transmitted exceeds the message size maximum;
responsive to a determination that the content to be transmitted exceeds the message size maximum, calculate a set of sub-portions for the content to be transmitted based on a message transmission size;
determine a content identifier for the calculated set of sub-portions;
for individual sub-portions of the calculated set of sub-portions, embed sub-portion information corresponding to the determined content identifier, a number indicative of a quantity of sub-portions in the calculated set of sub-portions, and an associated order for the individual sub-portion within the calculated set of sub-portions; and
transmit the set of sub-portions as individual messages over a network; and
one or more second computing devices configured to execute an interface for receiving information in accordance with a topic-based messaging protocol, wherein the one or more second computing devices form a caching service and are configured to:
receive, via the network, one or more messages from the one or more first computing devices;
parse the received one or more messages to identify embedded sub-portion information;
cache the received one or more messages based on an identifier included in the embedded sub-portion information;
responsive to a determination that a full set of sub-portion messages has been cached:
process the full set of sub-portion messages to form the content to be transmitted to the at least one recipient computing device; and
transmit the content to the at least one recipient computing device; and
responsive to a determination that a full set of sub-portion messages has not been cached:
determine whether a time-to-live criterion for cached sub-portion messages has expired; and
responsive to a determination that the time-to-live criterion for the cached sub-portion messages has expired, discard the cached sub-portion messages.