Method and system for converting computer mail messages using an extensible set of conversion routines
First Claim
1. A method in a computer mail system for converting a message having a class characterizing the content of the message from an original format to a destination format using a set of available conversion routines, each of the set of available conversion routines having selection information describing the classes of messages that the conversion routine was designed to convert and invocation information for use in invoking the conversion routine, the method comprising the steps of:
- selecting one of the set of available conversion routines whose selection information indicates that it is designed to convert messages having the class or the message; and
invoking the selected conversion routine to convert the message from the original format to the destination format using the read invocation information of the selected conversion routine, the method further including the step of selecting one or more conversion routines from the set of available conversion routines whose selection information indicates that it is designed to convert messages having the class of the message, and wherein each of the selected conversion routines includes a query method which indicates whether the conversion routine is capable of converting the message and a convert method, and wherein the invoking step includes the steps of;
invoking the query method of each of the selected conversion routines in turn until a query method indicates that the conversion routine is capable of converting the message; and
invoking the convert method of the conversion routine that is capable of converting the message in order to convert the message.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for converting the format of computer mail messages using a dynamic set of conversion routines is provided. In a preferred embodiment, a message format conversion engine uses an updatable registry to access an extensible set of available conversion routines. The registry contains selection information and invocation information for each of the available conversion routines. The selection information in each case describes the classes of messages that the conversion routine is potentially capable of converting. The invocation information comprises information necessary to invoke the conversion routine. When a message is submitted to the conversion engine, the engine reads the selection information stored in the registry. The engine then uses the read selection information to select one of the available conversion routines likely to be capable of converting the message. The engine reads the invocation information stored in the registry for the selected conversion routine and uses it to invoke the selected conversion routine to convert the format of the message. In a further preferred embodiment, the conversion engine invokes the selected conversion routine in two stages. The engine first invokes a query method of a selected conversion routine, which indicates whether the selected conversion routine is actually capable of converting the message. If the invocation of the query method indicates that the selected conversion routine is actually capable of converting the message, then the engine invokes a convert method of the selected conversion routine in order to convert the format of the message.
84 Citations
30 Claims
-
1. A method in a computer mail system for converting a message having a class characterizing the content of the message from an original format to a destination format using a set of available conversion routines, each of the set of available conversion routines having selection information describing the classes of messages that the conversion routine was designed to convert and invocation information for use in invoking the conversion routine, the method comprising the steps of:
-
selecting one of the set of available conversion routines whose selection information indicates that it is designed to convert messages having the class or the message; and invoking the selected conversion routine to convert the message from the original format to the destination format using the read invocation information of the selected conversion routine, the method further including the step of selecting one or more conversion routines from the set of available conversion routines whose selection information indicates that it is designed to convert messages having the class of the message, and wherein each of the selected conversion routines includes a query method which indicates whether the conversion routine is capable of converting the message and a convert method, and wherein the invoking step includes the steps of; invoking the query method of each of the selected conversion routines in turn until a query method indicates that the conversion routine is capable of converting the message; and invoking the convert method of the conversion routine that is capable of converting the message in order to convert the message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 23, 24, 25, 26, 27)
-
-
9. A method in a gateway between a first computer mail system and a second computer mail system for translating a message passing from the first computer mail system to the second computer mail system from a format acceptable to the first mail system into a format acceptable to the second mail system, the message having content and a class characterizing the content of the message, the method including the steps of:
-
providing a multiplicity of conversion routines for converting the format of messages; from the multiplicity of conversion routines, identifying a plurality of conversion routines, each of which is designed to convert messages of the class of the message; providing a query method for each of the plurality of conversion routines for indicating whether the conversion routine is capable of converting a particular message; invoking the query method of each conversion routine of the plurality until a query method indicates that the conversion routine is capable of converting the message; providing a convert method for the conversion routine that is capable of converting the message; and invoking the convert method of the conversion routine that indicated that it is capable of converting the message in order to convert the message. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method in a computer mail system for processing a computer mail message using a plurally of message processing routines, the message having a class characterizing content contained in the message, the class of the message being represented as a node in the tree of all classes, each message processing routine having a subtree of the tree of all classes that it is designed to process, the method comprising the steps of:
-
identifying from a multiplicity of available message processing routines a plurality of message processing routines where, for each identified message processing routine, the node representing the class of the message is within the subtree of classes that the message processing routine is designed to process; invoking a query method of each identified message processing routine until a message processing routine indicates that it is capable of processing the message; and invoking a processing method of the message processing routine that indicated that it is capable of processing the message in order to process the message. - View Dependent Claims (16, 17)
-
-
18. A computer mail message format conversion system using a dynamic set of conversion routines, comprising:
-
a conversion memory for storing a plurality of conversion routines; a registry memory for storing entries each describing a conversion routine, each entry containing selection information identifying classes characterizing message content that the conversion routine is designed to convert and invocation information indicating how the conversion routine may be invoked, the invocation information including query method invocation information indicating how a query method for the conversion routine may be invoked; and a conversion engine that, for each message, uses selection information stored in the registry memory to select a conversion routine based on the class of the message, uses the query method invocation information stored in the registry memory for the query method for the selected conversion to invoke the query method routine to verify that the selected conversion routine is capable of converting the content of the message, and uses invocation information from the registry memory to invoke the selected conversion routine. - View Dependent Claims (19)
-
-
20. In a computer mail gateway for passing a message between two mail systems, the gateway having a conversion memory for storing a plurality of available conversion routines and a registry memory for storing entries each describing an available conversion routine, each entry containing selection information describing the identifying classes characterizing message content that the conversion routine is designed to convert and invocation information indicating how the conversion routine may be invoked, the invocation information including query method invocation information indicating how a query method for the conversion routine may be invoked, a computer mail message conversion engine for converting the format of a message having content that is passed between the two mail systems, comprising:
-
a selection subsystem for using the selection information stored in the registry memory to select a conversion routine to convert the format of the message based upon the class of the message; and an invocation subsystem for using the query method invocation information stored in the registry memory for the query method for the selected conversion routine to invoke the query method for the selected conversion routine to verify that the selected conversion routine is capable of converting the content of the message, and for using the invocation information stored in the registry memory to invoke the conversion routine selected by the selection subsystem.
-
-
21. A compound computer mail system for exchanging computer mail messages, comprising:
-
a first mail system containing at least one node from which messages may be sent and received in any of a first set of formats; a second mail system containing at least one node from which messages may be sent and received in any of a second set of formats each corresponding to one of the first set of formats; and a gateway connected to both the first mail system and the second mail system for exchanging messages between the first mail system and the second mail system, the gateway comprising; a conversion memory for storing a plurality of available conversion routines, a registry memory for storing entries each describing a conversion routine, each entry containing selection information describing the message formats that the conversion routine is designed to convert and invocation information indicating how the conversion routine may be invoked, the invocation information including query method invocation information indicating how a query method for the conversion routine may be invoked, and a conversion engine that, for each message, uses selection information stored in the registry memory to select an available conversion routine based upon the format of the message, uses the query method invocation information stored in the registry memory for the query method for the selected conversion routine to invoke the query method for the selected conversion routine to verify that the selected conversion routine is capable of converting the content of the message, and uses invocation information from the registry memory to invoke the selected conversion routine. - View Dependent Claims (22)
-
-
28. An instance of computer-readable media whose contents cause a computer mail system to convert a message having a class characterizing content of the message from an original format to a destination format using a extensible set of available conversion routines, the system having a registry containing, for each of the set of available conversion routines, selection information describing the classes of messages that the conversion routine is designed to convert and invocation information for use in invoking the conversion routine, by performing the steps of:
-
reading selection information stored in the registry; selecting one of the set of available conversion routines designed to convert messages of the same class as the message using the read selection information; reading invocation information stored in the registry for invoking the selected conversion routine; and invoking the selected conversion routine to convert the message from the original format to the destination format using the read invocation information, the instance of computer-readable media further causing the computer mail system to perform the step of selecting one or more further conversion routines from the set of available conversion routines that are designed to convert the message using the read selection information, and wherein each of the selected conversion routines includes a query method which indicates whether the conversion routine is actually capable of converting the message and a convert method, and wherein the invoking step includes the steps of; invoking the query method of each of the selected conversion routines in turn until a query method indicates that the conversion routine is actually capable of converting the message; and invoking the convert method of the conversion routine that is actually capable of converting the message in order to convert the message.
-
-
29. A computer-readable memory device that contains an electronic mail message conversion registry data structure comprising a plurality of entries, each entry corresponding to a different electronic mail message conversion routine and comprising:
-
selection information describing classes of messages that the conversion routine is designed to convert; and invocation information for use in invoking the conversion routine, the invocation information including query method invocation information indicating how a query method for the conversion routine may be invoked, such that a conversion engine using the electronic mail message conversion registry data structure may use the selection information of one or more entries to select a conversion routine, may use the query method invocation information for the selected conversion routine to invoke the query method for the selected conversion routine to verify that the selected conversion routine is capable of converting the content of the message, and may use the invocation information of the entry for the selected conversion routine to invoke the selected conversion routine. - View Dependent Claims (30)
-
Specification