System and method for flow control in a messaging subsystem based on message-in/out rates
First Claim
1. A system for use in a messaging subsystem, which supports flow control of messages between one or more producer systems operable to send messages in batches having a batch size and a plurality of consumer systems operable to process said messages, the system comprising:
- a computer, including a computer readable medium and processor;
a message broker operating on said computer;
wherein the message broker includes at least one destination which receives said messages from said one or more producer systems at a producing rate, and from which said plurality of consumer systems consume said messages at a combined consuming rate, wherein the combined consuming rate comprises consumption of messages by all of said plurality of consumer systems in combination;
wherein the message broker includes a flow controller configured to monitor said producing rate and said combined consuming rate and calculate a calculated ratio of said producing rate and said combined consuming rate; and
wherein the flow controller is configured to send an adjusted batch size indication based on said calculated ratio from said flow controller to said one or more producer to dynamically adjust the batch size for batches of messages sent from said one or more producer to said at least one destination of the message broker.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided, for use in a messaging subsystem, which supports flow control of messages between producers and consumers. A system can include at least one producer that is operable to send messages in a batch to one or more consumers via at least one destination; and one or more consumers that are operable to process messages received from the at least one producer via the at least one destination. The system can also include a message broker which includes the at least one destination and which manages communications between the at least one producer and the one or more consumers. The message broker includes a flow controller that is operable to monitor a producing rate and a consuming rate, and dynamically adjust a batch size of the batch at the at least one producer based on the producing rate and the consuming rate to communicate the messages more efficiently.
14 Citations
20 Claims
-
1. A system for use in a messaging subsystem, which supports flow control of messages between one or more producer systems operable to send messages in batches having a batch size and a plurality of consumer systems operable to process said messages, the system comprising:
-
a computer, including a computer readable medium and processor; a message broker operating on said computer; wherein the message broker includes at least one destination which receives said messages from said one or more producer systems at a producing rate, and from which said plurality of consumer systems consume said messages at a combined consuming rate, wherein the combined consuming rate comprises consumption of messages by all of said plurality of consumer systems in combination; wherein the message broker includes a flow controller configured to monitor said producing rate and said combined consuming rate and calculate a calculated ratio of said producing rate and said combined consuming rate; and wherein the flow controller is configured to send an adjusted batch size indication based on said calculated ratio from said flow controller to said one or more producer to dynamically adjust the batch size for batches of messages sent from said one or more producer to said at least one destination of the message broker. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for use in a messaging subsystem, which supports flow control of messages between one or more producer systems operable to send messages in batches having a batch size and a plurality of consumer systems, the method comprising:
-
providing a message broker, executing on a computer including a computer readable medium and processor, wherein the message broker includes at least one destination and a flow controller; receiving, at the at least one destination, messages in a batch from the one or more producer systems at a producing rate; providing the messages in the at least one destination to a plurality of consumer systems that consume the messages at a combined consuming rate, wherein said plurality of consumer systems are operable to process the messages received from the one or more producer systems via the at least one destination, and wherein the combined consuming rate comprises consumption of messages by all of said plurality of consumer systems in combination; managing communications between the one or more producer systems and said plurality of consumer systems using the flow controller, including monitoring said producing rate and said combined consuming rate using the flow controller of the message broker, calculating a calculated ratio of said producing rate and said combined consuming rate, and sending an adjusted batch size indication based on said calculated ratio from said flow controller to said one or more producer systems to dynamically adjust the batch size for batches of messages sent from said one or more producer systems to said at least one destination of the message broker. - View Dependent Claims (8, 9, 10, 11, 12, 20)
-
-
13. A non-transitory computer readable storage medium including instructions stored thereon for supporting flow control of messages between one or more producer systems operable to send messages in batches having a batch size and a plurality of consumer systems, which instructions, when executed by one or more computers, causes the one or more computers to perform steps comprising:
-
providing a message broker, executing on a computer including a computer readable medium and processor, wherein the message broker includes at least one destination and a flow controller; receiving, at the at least one destination, messages from said one or more producer systems at a producing rate; providing the messages in the at least one destination to said plurality of consumer systems that consume the messages at a combined consuming rate, wherein the plurality of consumer systems are operable to process the messages received from the one or more producer systems via the at least one destination, and wherein the combined consuming rate comprises consumption of messages by all of said plurality of consumer systems in combination; managing communications between the one or more producer systems and the plurality of consumer systems using the flow controller, including monitoring said producing rate and said combined consuming rate using the flow controller of the message broker, calculating a calculated ratio of said producing rate and said combined consuming rate, and sending an adjusted batch size indication based on said calculated ratio from said flow controller to said one or more producer systems to dynamically adjust the batch size for batches of messages sent from said one or more producer systems to said at least one destination of the message broker. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification