Back to results
US 11,153,215 B1Granted
Asynchronous high throughput inbound messages with throttled outbound messages to safeguard enterprise backend systems
AssigneeCVS Pharmacy, Inc.
InventorsSubhash Bavi, Dharmendra Gudimetla, Sai Kumar Reddy Kotha Venkata
Life of this patent
Estimating the term…
Abstract
An enterprise backend system may have inherent limits on a throughput of inbound messages. In one implementation, a message producer publishes messages to a message broker at a high throughput. A message consumer receives messages from the broker and throttles the throughput of messages shipped to an enterprise backend system.
Claims6
A computer-implemented method of managing streaming message traffic, comprising:
- publishing, by a message producer, inbound messages of a message stream to a fault tolerant message broker, the inbound messages received from a first interface with the message producer, wherein the fault tolerant message broker is distributed and partitioned;
- receiving, by a message consumer, the inbound messages from the fault tolerant message broker;
- observing, by the message consumer, received inbound messages and pushing the received inbound messages to a sequence of buckets, each bucket is a message container having an associated maximum threshold storage size value for storage of the received inbound messages, wherein a bucket of the sequence of buckets is filled when the bucket stores messages to the threshold storage size values;
- marking the buckets that are filled as ready buckets for transport to an enterprise backend system and maintaining the ready buckets in memory, wherein a new bucket is spawned in response to filling one of the sequence of buckets, and wherein the new bucket is allocated from memory anticipated to process the inbound messages during peak times;
- regulating, by the message consumer, a flow of the received inbound messages received over the first interface to a second interface with the enterprise backend system by:
- periodically identifying the ready buckets;
- monitoring the ready buckets;
- and
- making a decision to ship messages and shipping the messages from the ready buckets over the second interface to the enterprise backend system at a rate no greater than a maximum rate of the enterprise backend system, wherein the rate of shipping messages over the second interface to the enterprise backend system is independent of a rate of the inbound messages received over the first interface from the message producer.
6 more elements
A computer system, comprising:
- a plurality of servers with associated memory storage configured to implement distributed partitions of a message broker;
- at least one processor;
- and a memory storing computer program instructions which, when executed, cause the at least one processor to:
- publish, by a message producer, inbound messages of a message stream to a fault tolerant message broker, the inbound messages received from a first interface with the message producer, wherein the fault tolerant message broker is distributed and partitioned;
- receive, by a message consumer, inbound messages from the fault tolerant message broker;
- observe, by the message consumer, received inbound messages and pushing the received inbound messages to a sequence of buckets, each bucket is a message container having an associated maximum threshold storage size value for storage of the received inbound messages, wherein a bucket of the sequence of buckets is filled when the bucket stores messages to the threshold storage size values;
- mark the buckets that are filled as ready buckets for transport to an enterprise backend system and maintaining the ready buckets in memory, wherein a new bucket is spawned in response to filling one of the sequence of buckets, and wherein the new bucket is allocated from memory anticipated to process the inbound messages during peak times;
- and
- regulate, by the message consumer, a flow of the received inbound messages received over the first interface to a second interface with the enterprise backend system by
- periodically identify the ready buckets;
- monitor the ready buckets;
- and
- make a decision to ship messages and ship the messages from the ready buckets over the second interface to the enterprise backend system at a rate no greater than a maximum rate of the enterprise backend system, wherein the rate of shipping messages over the second interface to the enterprise backend system is independent of a rate of the inbound messages received over the first interface from the message producer.
10 more elements
Dependencies are inferred from the claim text.