Method and structure for balanced queue communication between nodes in a distributed computing application
First Claim
1. A balanced queue computer communication system for exchanging messages between an originating process and a receiving process, said balanced queue communication system comprising:
- a first memory device associated with said originating process;
a second memory device associated with said receiving process;
a communication medium connecting said originating process and said receiving process for the exchange of messages therebetween;
a first wraparound queue associated with said originating process stored in said first memory device and having a plurality of locations;
a second wraparound queue associated with said receiving process stored in said second memory device and having a plurality of locations, wherein the number of locations in said second wraparound queue is equal to the number of locations in said first wraparound queue;
means associated with said originating process for retrieving a message from said first wraparound queue and for transmitting said message via said communication medium to said receiving process with indicia of the location from which said message was retrieved; and
means in said receiving process for receiving said message and said indicia and for storing said message in said second wraparound queue at a location corresponding to said indicia.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated structure providing a balanced queue communication system for the exchange of messages between an originating node and a receiving node in a distributed computing environment. A balanced queue comprises a pair of wraparound (circular) queues, one each associated with the originating node and the receiving node. A message is queued by the originating node in the queue associated therewith. Background processing within the originating node retrieves message queued therein and transmits the messages to the intended receiving node. The position in the originating node'"'"'s circular queue is pre-pended to the message and transmitted therewith. The receiving node places the received message in its circular queue in the position specified by the pre-pended location with each message. Background daemon and application processing within the receiving node then retrieves the queued messages for application specific processing. The queue control structures of the balanced queue are integrated with the transaction processing recovery management tables on each of the respective nodes to assure synchronization of the messaging queues of the balanced queue with the application specific processing. These methods and structures of the balanced queue assure robust exchange of messages, synchronized with the application'"'"'s database, while improving the message processing performance as compared to prior solutions. Messages are delivered "exactly once" while reducing overhead (thereby improving performance) as compared to prior techniques.
-
Citations
21 Claims
-
1. A balanced queue computer communication system for exchanging messages between an originating process and a receiving process, said balanced queue communication system comprising:
-
a first memory device associated with said originating process; a second memory device associated with said receiving process; a communication medium connecting said originating process and said receiving process for the exchange of messages therebetween; a first wraparound queue associated with said originating process stored in said first memory device and having a plurality of locations; a second wraparound queue associated with said receiving process stored in said second memory device and having a plurality of locations, wherein the number of locations in said second wraparound queue is equal to the number of locations in said first wraparound queue; means associated with said originating process for retrieving a message from said first wraparound queue and for transmitting said message via said communication medium to said receiving process with indicia of the location from which said message was retrieved; and means in said receiving process for receiving said message and said indicia and for storing said message in said second wraparound queue at a location corresponding to said indicia. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a distributed computing application having an originating process and a receiving process, a method for exchanging messages between said originating process and said receiving process comprising the steps of:
-
(a) storing a message in a first location of a first wraparound queue in association with operation of said originating process; (b) retrieving said message from said first wraparound queue; (c) transferring said message and indicia of said first location to said receiving process; (d) storing said message in a pre-determined location of a second wraparound queue in association with operation of said receiving process, wherein said pre-determined location of said second wraparound queue is determined by said indicia of said first location; and (e) retrieving said message from said second wraparound queue. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A program storage device readable by a computer, tangibly embodying a program or instructions executable by the computer to perform method steps for exchanging messages in a distributed computing application between an originating process and a receiving process, said method steps comprising:
-
(a) storing a message in a first location of a first wraparound queue in association with operation of said originating process; (b) retrieving said message from said first wraparound queue; (c) transferring said message and indicia of said first location to said receiving process; (d) storing said message in a pre-determined location of a second wraparound queue in association with operation of said receiving process, wherein said pre-determined location of said second wraparound queue is determined by said indicia of said first location; and (e) retrieving said message from said second wraparound queue. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for transmission and reception of messages in a distributed processing environment, said system comprising:
-
a send queue, associated with an originating node, comprising at least one table having a plurality of entries in a first application database within said originating node, wherein each entry may store a message; a first background processing element, operable within said originating node, which retrieves entries from said send queue and transmits a message stored in said retrieved entries to a receiving node; a receive queue, associated with said receiving node, comprising at least one table having a plurality of entries in a second application database within said receiving node, wherein said receive queue adapted to receive and store a received message transmitted by said first background processing element; and a second background processing element operable within said receiving node which monitors said receive queue to start processing received messages stored in entries of said receive queue, wherein an index value indicative of the location of each entry retrieved from said send queue is transmitted with the message stored in the entry to said receiving node. - View Dependent Claims (20, 21)
-
Specification