Methods and systems for efficient queue propagation using a single protocol-based remote procedure call to stream a batch of messages
First Claim
1. A computer-implemented method for enabling a single remote procedure call to stream of a plurality of messages from a source queue accessible by a first computer application to one or more selected remote destination queues accessible to a second computer application over a computer network, the computer-implemented method including steps of:
- signaling that an identity of a first destination queue for messages to be streamed within the single remote procedure call follows using a first message header indicator;
identifying the first destination queue using first header data;
signaling that a first message to be streamed to the first destination queue follows using a first message body indicator;
streaming first message data to the first destination queue identified by the first header data, the first message data including the first message;
signaling that a second message to be streamed within the single remote procedure call follows, using a second message body indicator;
streaming second message data, the second message data including the second message to be streamed;
signaling a change in destination queue for messages to follow using a second message header indicator;
identifying a second destination queue using second header data;
indicating that an immediately preceding message data is to be streamed to the second destination queue identified by the second header data using a same message indicator, and;
signaling the end of the stream of the plurality of messages using an end of batch token.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method of streaming a plurality of messages from a source queue to at least one destination queue over a computer network. The method may include steps of generating a remote procedure call, the remote procedure being configured to encapsulate at least header data, message data for each of the plurality of messages and an end of batch token, the header data being common to each of the plurality of messages and including an identification of the at least one destination queue, the end of batch token signaling that no further message data follows; sending the generated remote procedure call over the computer network to the destination queue identified in the header data, and dequeueing at least the message data for each of the plurality of messages from the source queue and streaming the dequeued messages over the network, and successively enqueueing each streamed message data into the at least one destination queue identified by the header data until the end of batch token is received.
-
Citations
14 Claims
-
1. A computer-implemented method for enabling a single remote procedure call to stream of a plurality of messages from a source queue accessible by a first computer application to one or more selected remote destination queues accessible to a second computer application over a computer network, the computer-implemented method including steps of:
-
signaling that an identity of a first destination queue for messages to be streamed within the single remote procedure call follows using a first message header indicator; identifying the first destination queue using first header data; signaling that a first message to be streamed to the first destination queue follows using a first message body indicator; streaming first message data to the first destination queue identified by the first header data, the first message data including the first message; signaling that a second message to be streamed within the single remote procedure call follows, using a second message body indicator; streaming second message data, the second message data including the second message to be streamed;
signaling a change in destination queue for messages to follow using a second message header indicator;
identifying a second destination queue using second header data;
indicating that an immediately preceding message data is to be streamed to the second destination queue identified by the second header data using a same message indicator, and;signaling the end of the stream of the plurality of messages using an end of batch token. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable medium having data stored thereon representing sequences of instructions which, when executed by a computing device, causes the computing device to enable a single remote procedure call to stream of a plurality of messages from a source queue accessible by a first computer application to one or more selected remote destination queues accessible to a second computer application over a computer network, the remote procedure call comprising:
-
a first message header indicator, the first message header indicator being configured to signal that an identity of a first destination queue for messages to be streamed follows; first header data configured to identify the first destination queue; a first message body indicator, the first message body indicator being configured to signal that a first message of the plurality of messages within the single remote procedure call to be streamed to the first destination queue follows; first message data, the first message data including the first message to be streamed to the first destination queue identified by the first header data; a second message body indicator, the second message body indicator being configured to signal that a second message of the plurality of messages within the sing1e remote procedure call to be streamed follows; second message data, the second message data including the second message to be streamed;
a second message header indicator, the second message header indicator being configured to signal a change in destination queue for messages to follow;
second header data configured to identify a second destination queue;
a same message indicator, the same message indicator indicating that an immediately preceding message data is to be streamed to the second destination queue identified by the second header data, and;an end of batch token, the end of batch token signaling the end of the stream of the plurality of messages. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-implemented method of streaming a plurality of messages from a source queue to at least one destination queue over a computer network, each of the plurality of messages including metadata and message data, the method comprising the steps of:
-
generating a single remote procedure call for the plurality of messages, the remote procedure being configured to encapsulate at least header data, message data for each of the plurality of messages and an end of batch token, the header data being common to each of the plurality of messages and including an identification of the at least one destination queue, the end of batch token signaling that no further message data follow, the single remote procedure call further including a second message header indicator configured to signal a change in destination queue for messages to follow;
the remote procedure call being further configured to identify a second destination queue using second header data, and to indicate that an immediately preceding message data is to be streamed to the second destination queue identified by the second header data using a same message indicator;sending the generated single remote procedure call over the computer network to the destination queue identified in the header data, and beginning execution of the single remote procedure call by invoking a Structured Query Language (SQL) engine and initiating a single insert statement to enqueue each of the streamed message data into the at least one destination queue identified by the header data during execution of the single remote procedure call, and dequeueing at least the message data for each of the plurality of messages from the source queue and streaming the dequeued messages over the network, and successively enqueueing each streamed message data into the at least one destination queue identified by the header data until the end of batch token is received. - View Dependent Claims (10, 12, 13, 14)
-
-
11. The computer-implemented method 9, further comprising a step of configuring the remote procedure call such that a message header indicator and header data precedes each group of message data to be streamed to a same destination queue.
Specification