Claims
- 1. A method of queuing messages for communications between computer programs, comprising the steps of:placing a plurality of messages in a main queue, wherein each message has a message body and a message header; placing one or more property messages in one or more property queues associated with the main queue, wherein each property queue has an associated property name and each property message contains a zero-byte property message body and a property message header; for each property message, specifying within the property message header at least one property value of a respective message in the main queue and a unique identifier for the respective message; searching one or more property queues according to predefined priority list, wherein the predefined priority list indicates a priority for property names and property values; and retrieving at least one message from the main queue that is associated with the unique identifier specified in a property message identified in the step of searching.
- 2. The method of claim 1 wherein said specifying step specifies a property name for the respective message.
- 3. The method of claim 1 wherein said placing steps are performed using an application program interface (API) which makes the main queue and the one or more property queues appear as a single priority queue.
- 4. The method of claim 1 wherein:each property message is a zero-byte message having first and second keys; and said specifying step specifies the at least one property as the first key, and specifies the unique identifier as the second key.
- 5. The method of claim 1 wherein:a plurality of property queues are associated with the main queue; and said specifying step specifies, for at least one property message, a number of properties which is less than the number of property queues.
- 6. The method of claim 1 comprising the further step of retrieving at least one message from the main queue according to a predefined priority list which includes the at least one property.
- 7. The method of claim 6 wherein said retrieving step retrieves the message from the main queue according to a predefined priority list which includes at least one property name.
- 8. The method of claim 6 wherein said retrieving step retrieves the message from the main queue according to a predefined priority list which includes at least one property value.
- 9. The method of claim 6 comprising the further step of dynamically modifying the priority list.
- 10. The method of claim 6 wherein said placing steps are performed by a first computer connected to a network, said retrieving step is performed by a second computer connected to the network, and further comprising the step of transmitting the plurality of messages across the network.
- 11. A computer program product comprising:a storage medium; and program instructions stored on said storage medium for: placing a plurality of messages in a main queue, wherein each message has a message body a message header; placing one or more property messages in one or more property queues associated with the main queue, wherein each property queue has an associated property name and each property message contains a zero-byte property message body and a property message header; for each property message, specifying within the property message header at least one property value of a respective message in the main queue and a unique identifier for the respective message; searching one or more property queues according to predefined priority list, wherein the predefined priority list indicates a priority for property names and property values; and retrieving at least one message from the main queue that is associated with the unique identifier specified in a property message identified in the step of searching.
- 12. The computer program product of claim 11 wherein said program instructions specify a property name for the respective message.
- 13. The computer program product of claim 11 wherein said program instructions include an application program interface (API) which makes the main queue and the one or more property queues appear as a single priority queue.
- 14. The computer program product of claim 13 wherein the single priority queue is a one-to-one queue.
- 15. The computer program product of claim 11 wherein:each property message is a zero-byte message having first and second keys; and said program instructions specify the at least one property as the first key, and specify the unique identifier as the second key.
- 16. The computer program product of claim 11 wherein:a plurality of property queues are associated with the main queue; and said program instructions specify, for at least one property message, a number of properties which is less than the number of property queues.
- 17. The computer program product of claim 11 wherein said program instructions are further for retrieving at least one message from the main queue according to a predefined priority list which includes the at least one property.
- 18. The computer program product of claim 17 wherein said program instructions retrieve the message from the main queue according to a predefined priority list which includes at least one property name.
- 19. The computer program product of claim 17 wherein said program instructions retrieve the message from the main queue according to a predefined priority list which includes at least one property value.
- 20. The computer program product of claim 17 wherein said program instructions allow for dynamic modification of the priority list.
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority from provisional application Ser. No. 60/078,531 filed Mar. 19, 1998.
US Referenced Citations (9)
| Number |
Name |
Date |
Kind |
|
4965716 |
Sweeney |
Oct 1990 |
A |
|
5212778 |
Dally et al. |
May 1993 |
A |
|
5303382 |
Buch et al. |
Apr 1994 |
A |
|
5333269 |
Calvignac et al. |
Jul 1994 |
A |
|
5367681 |
Foss et al. |
Nov 1994 |
A |
|
5521916 |
Choudhury et al. |
May 1996 |
A |
|
5860149 |
Fiacco et al. |
Jan 1999 |
A |
|
6145059 |
Arimilli et al. |
Nov 2000 |
A |
|
6246683 |
Connery et al. |
Jun 2001 |
B1 |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/078531 |
Mar 1998 |
US |