Claims
- 1. A method of handling messages received at a messaging system server, the method comprising:
storing, in non-persistent storage, messages received from at least one client; removing delivered messages from the non-persistent storage; and saving at least one of the messages stored in the non-persistent storage to persistent storage after a delay interval.
- 2. The method of claim 1, wherein the storing, removing, and saving occur concurrently.
- 3. The method of claim 1, wherein storing in the non-persistent storage comprises storing in a log queue.
- 4. The method of claim 1, further comprising transmitting an acknowledgement message to a client that sent a received message, the acknowledgement message indicating that the received message will not be lost by the server in the case of server failure.
- 5. The method of claim 4, wherein transmitting an acknowledgment message to the client comprises transmitting the acknowledgment message to the client for a delivered message.
- 6. The method of claim 4, wherein transmitting an acknowledgment message to the client comprises transmitting the acknowledgment message to the client for the received message's storage in persistent storage.
- 7. The method of claim 1, further comprising determining the delay interval.
- 8. The method of claim 7, wherein determining the delay interval comprises:
determining at least one metric based on messages handled by the server; and determining the delay interval based on the at least one metric.
- 9. The method of claim 8, wherein the metric comprises a metric based on a number of sending clients using the server to deliver messages.
- 10. The method of claim 7, wherein determining the delay interval comprises dynamically determining the delay.
- 11. The method of claim 1, wherein the received messages are received over a communications network.
- 12. The method of claim 1,
wherein the messages comprise guaranteed messages; and wherein the messaging system comprises a message-oriented middleware system.
- 13. A method of handling guaranteed messages received at a message-orient middleware server over a network, the method comprising:
storing, in a log queue in non-persistent storage, guaranteed messages received from at least one client as the guaranteed messages are received; removing guaranteed messages from the non-persistent storage as the guaranteed messages are delivered; dynamically determining a delay time period; storing at least one of the guaranteed messages stored in the non-persistent storage in persistent storage after the determined delay period; and transmitting a guarantee acknowledgement message to a client that sent a received message, the message indicating that the message will not be lost by the server.
- 14. The method of claim 13, wherein transmitting the guarantee acknowledgement message comprises transmitting the guarantee acknowledgement message for a delivered guaranteed message if the guaranteed message is not persistently stored, the guarantee acknowledgement message otherwise being sent when the message is persistently stored.
- 15. The method of claim 13, wherein dynamically determining the delay time period comprises:
determining a metric based on messages handled by the server; and determining the delay time period based on the determined metric.
- 16. A computer program product, disposed on a computer readable medium, for handling messages received at a server, the computer program including instructions for causing a server processor to:
store, in a non-persistent storage, messages received from at least one client as the messages are received; remove messages from the non-persistent storage as the messages are delivered; and save at least one of the messages stored in the non-persistent storage to persistent storage after a delay period.
- 17. The computer program of claim 16, wherein the instructions for causing the server processor to store messages in a non-persistent storage comprise instructions for causing the server processor to store the messages in a log queue.
- 18. The computer program of claim 16, further comprising instructions for causing the server processor to transmit an acknowledgement message to a client that sent a received message, the message indicating that the message will not be lost by the server.
- 19. The computer program of claim 18, wherein the computer program instructions for causing the server processor to transmit an acknowledgment message to the client comprise instructions for causing the server processor to transmit the acknowledgment message to the client for a message saved from non-persistent storage to persistent storage.
- 20. The computer program of claim 16, further comprising instructions for causing the server processor to determine the delay.
- 21. The computer program of claim 20, wherein the instructions for causing the server processor to determine the delay comprise instructions for causing the server processor to:
determine at least one metric based on the received messages; and determine the delay based on the at least one metric.
- 22. The computer program of claim 21, wherein the metric comprises a metric based on a number of clients using the server to deliver messages.
- 23. The computer program of claim 16, wherein the instructions for causing the processor to determine the delay comprise instructions for causing the processor to dynamically determining the delay.
- 24. A message oriented middleware server, the server comprising:
non-persistent storage; persistent storage; and at least one processor; and instructions for causing the server processor to:
store, in the non-persistent storage, messages received from at least one client as the messages are received; remove messages from the non-persistent storage as the messages are delivered; and save messages stored in the non-persistent storage to persistent storage after a delay interval.
- 25. The server of claim 24, wherein the instructions for causing the server processor to store in the non-persistent storage comprise instructions for causing the server processor to store the messages in a log queue.
- 26. The server of claim 24, further comprising instructions for causing the server processor to transmit an acknowledgment message to a client that sent a received message, the acknowledgment message indicating that the message will not be lost by the server.
- 27. The server of claim 26, wherein the server instructions for causing the server processor to transmit an acknowledgment message to the client comprise instructions for causing the server processor to transmit the acknowledgment message to the client as the message is stored from non-persistent storage to persistent storage.
- 28. The server of claim 24, further comprising instructions for causing the server processor to determine the delay.
- 29. The server of claim 28, wherein the instructions for causing the server processor to determine the delay comprise instructions for causing the server processor to:
determine at least one metric based on the received messages; and determine the delay based on the at least one metric.
- 30. The server of claim 29, wherein the metric comprises a metric based on a number of clients using the server to deliver messages.
- 31. The server of claim 24, wherein the instructions for causing the processor to determine the delay comprise instructions for causing the processor to dynamically determining the delay.
REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to co-pending U.S. Provisional Application Ser. No. 60/257,313, filed Dec. 20, 2000, entitled “Message Handling”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60257313 |
Dec 2000 |
US |