Methods of routing messages using a listener registry

Abstract
A method of routing messages may include providing a listener registry of a plurality of listeners and associated namespaces so that at least one namespace is associated with each of the plurality of listeners. A message may be received from an originating application, and the message may include a message namespace. The message may be stored in a message queue, and a determination may be made to determine if a listener from the listener registry is associated with the message namespace. If no listener from the listener registry is associated with the message namespace, the message may be stored in a parked message queue separate from the message queue. After the message has been in the parked message queue for a predetermined period of time, the message may be deleted from the parked message queue.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram illustrating examples of communication networks, systems, and devices according to embodiments of the present invention.



FIG. 2 is a block diagram illustrating examples of consumer communication devices according to embodiments of the present invention.



FIG. 3 illustrates examples of message formats according to embodiments of the present invention.



FIG. 4 is a block diagram illustrating examples of message routers according to embodiments of the present invention.



FIGS. 5A and 5B illustrate examples of hash algorithms for client application connection security according to embodiments of the present invention.



FIGS. 6A and 6B illustrate examples of security messages according to embodiments of the present invention.



FIGS. 7-11 are flow charts illustrating operations of message routers according to embodiments of the present invention.


Claims
  • 1. A method of routing messages, the method comprising: providing a listener registry of a plurality of listeners and associated namespaces so that at least one namespace is associated with each of the plurality of listeners;receiving a message from an originating application wherein the message includes a message namespace;storing the message in a message queue;determining if a listener from the listener registry is associated with the message namespace;if no listener from the listener registry is associated with the message namespace, storing the message in a parked message queue separate from the message queue; andafter the message has been in the parked message queue for a predetermined period of time, deleting the message from the parked message queue.
  • 2. A method according to claim 1 wherein the message includes an identification of a target application, the method further comprising: if no listener from the listener registry is associated with the message namespace, initiating starting the target application identified in the message;accepting connection of the target application;responsive to accepting connection of the target application, identifying the message in the parked message queue including the identification of the target application; andresponsive to identifying the message in the parked message queue, transmitting the message from the parked message queue to the target application.
  • 3. A method according to claim 1 further comprising: if a listener from the listener registry is associated with the message namespace, transmitting the message to the listener.
  • 4. A method according to claim 3 wherein the message is received at a message router residing on a consumer communications device, and wherein each of the originating application and listener both reside on the consumer communications device.
  • 5. A method according to claim 3 wherein the message is received at a message router residing on a consumer communications device, and wherein at least one of the originating application and/or the listener reside on a device remote from the consumer communications device.
  • 6. A method according to claim 1 further comprising: receiving a second message wherein the second message includes a second message namespace;storing the second message in the message queue;identifying a listener from the listener registry that is associated with the message namespace; andtransmitting the second message to the listener.
  • 7. A method according to claim 6 further comprising: deleting the first and second messages from the message queue.
  • 8. A method of routing messages, the method comprising: providing a listener registry of a plurality of listeners and associated namespaces so that at least one namespace is associated with each of the plurality of listeners;receiving a message from an originating application wherein the message includes a message namespace and an identification of a target application;storing the message in a message queue;determining if a listener from the listener registry is associated with the message namespace;if no listener from the listener registry is associated with the message namespace, storing the message in a parked message queue separate from the message queue, and initiating starting the target application;after initiating starting, accepting connection of the target application;responsive to accepting connection of the target application, identifying the message in the parked message queue including the identification of the target application; andafter identifying the message, transmitting the message from the parked message queue to the target application.
  • 9. A method according to claim 8 further comprising: after transmitting the message, deleting the message from the parked message queue.
  • 10. A method according to claim 8 further comprising: if a listener from the listener registry is associated with the message namespace, identifying the listener from the listener registry; andafter identifying the listener, transmitting the message to the listener.
  • 11. A method according to claim 10 wherein the message is received at a message router residing on a consumer communications device, and wherein each of the originating application and the listener both reside on the consumer communications device.
  • 12. A method according to claim 10 wherein the message is received at a message router residing on a consumer communications device, and wherein at least one of the originating application and/or the listener reside on a device remote from the consumer communications device.
  • 13. A method according to claim 8 further comprising: receiving a second message wherein the second message includes a second message namespace;storing the second message in the message queue;identifying a listener from the listener registry that is associated with the second message namespace; andtransmitting the message to the listener.
  • 14. A method according to claim 13 further comprising: deleting the first and second messages from the message queue.
  • 15. A method of routing messages, the method comprising: providing a listener registry of a plurality of listeners and associated namespaces so that at least one namespace is associated with each of the plurality of listeners;receiving a message from an originating application wherein the message includes a message namespace;storing the message in a message queue;determining if a listener from the listener registry is associated with the message namespace;if no listener from the listener registry is associated with the message namespace, storing the message in a parked message queue separate from the message queue; anddeleting the message from the message queue.
  • 16. A method according to claim 15 further comprising: after the message has been in the parked message queue for a predetermined period of time, deleting the message from the parked message queue.
  • 17. A method according to claim 15 wherein the message includes an identification of a target application, the method further comprising: if no listener from the listener registry is associated with the message namespace, initiating starting the target application;accepting connection of the target application;responsive to accepting connection of the target application, identifying the message in the parked message queue including the identification of the target application; andresponsive to identifying the message in the parked message queue, transmitting the message from the parked message queue to the target application.
  • 18. A method according to claim 15 further comprising: if a listener from the listener registry is associated with the message namespace, identifying the listener from the listener registry; andafter identifying the listener, transmitting the message to the listener.
  • 19. A method according to claim 18 wherein the message is received at a message router residing on a consumer communications device, and wherein each of the originating application and the listener both reside on the consumer communications device.
  • 20. A method according to claim 18 wherein the message is received at a message router residing on a consumer communications device, and wherein at least one of the originating application and/or the listener reside on a device remote from the consumer communications device.
Continuation in Parts (2)
Number Date Country
Parent 11316432 Dec 2005 US
Child 11524103 US
Parent 11311765 Dec 2005 US
Child 11316432 US