Routing instant messages using configurable, pluggable delivery managers
View Patent ↗Configurable, pluggable delivery managers are responsible for routing instant messages to intended recipients. A delivery manager is selected for a particular message, and that delivery manager defines, at runtime, a delivery policy to be used to route the instant message to an intended recipient of the message. The delivery policy is based upon a configuration of the delivery manager, a user configuration of the intended recipient, and one or more available delivery mechanisms. The delivery manager routes the instant message using the delivery policy.
1. A method of routing instant messages, said method comprising:
selecting a delivery manager from a plurality of available delivery managers, via a client application to route an instant message to an intended recipient of the instant message, wherein said delivery manager is pluggable;
configuring, said delivery manager at runtime via the client application wherein the configuring comprises selecting a configuration for said delivery manager from plurality of configurations, using content of the instant message;
querying, by the delivery manager, a user configuration database of the intended recipient to determine one or more available delivery mechanisms supported by the intended recipient;
querying, by the delivery manager, a delivery mechanism database to determine the active delivery mechanisms of the client application available for routing the instant message;
identifying, by the delivery manager, one or more delivery mechanisms that are common to a result of the querying of the user configuration database and the querying of the delivery mechanism database to yield one or more possible delivery mechanisms;
selecting, by the delivery manager, from the one or more possible delivery mechanisms, at least one delivery mechanism supported by the delivery manager; and
routing, by the delivery manager, the instant message to the intended recipient using the at least one delivery mechanism.
2. The method of claim 1 , wherein said at least one delivery mechanism supported by the delivery manager is included within the configuration of the delivery manager.
3. The method of claim 1 , wherein said routing comprises dispatching, by the delivery manager, the instant message to one or more delivery mechanisms of the at least one delivery mechanism in accordance with a policy specified by said configuration of the delivery manager.
4. The method of claim 1 , wherein at least one available delivery mechanism of said one or more available delivery mechanisms is pluggable.
5. The method of claim 1 , wherein the delivery manager comprises a routing logic module.
6. The method of claim 1 , further comprising creating an instance of the delivery manager based on the selected particular delivery managers.
7. The method of claim 1 , wherein the selecting the configuration based on content comprises selecting the configuration based on priority of the instant message to be routed.