Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
253 words
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.
Claim 2
Independent Claim
253 words
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.
Claim 3
Dependent Claim
51 words
The method of claim 1 wherein the invocation information comprises a reference to a method that enables the invocation of the method, and wherein the step of invoking query methods and the step of invoking a convert method each include the step of dereferencing the read reference to invoke a method.
Claim 4
Dependent Claim
36 words
The method of claim 2 wherein the reference to a method comprises an address indicating the location of the method in memory, and wherein the dereferencing step includes the step of jumping to the read address.
Claim 5
Dependent Claim
49 words
The method of claim 2 wherein the reference to a method comprises the identity of a dynamic link library and an entry point into the dynamic link library, and wherein the dereferencing step includes the step of jumping to the read entry point in the read dynamic link library.
Claim 6
Dependent Claim
20 words
The method of claim 1, further including the step of, from the invoked conversion routine, invoking a user-provided conversion program.
Claim 7
Dependent Claim
37 words
The method of claim 5 wherein each conversion routine of the set of available conversion routines is programmed in a first programming language, and wherein the user provided conversion program is programmed in a second programming language.
Claim 8
Dependent Claim
35 words
The method of claim 5 wherein each conversion routine of the set of available conversion routines is stored in a dynamic link library, and wherein the user provided conversion program is stored as an executable.
Claim 9
Dependent Claim
34 words
The method of claim 5, further including the step of selecting from a plurality of user-provided conversion programs one user-provided conversion program to be invoked by the step of invoking a user-provided conversion program.
Claim 10
Independent Claim
200 words
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.
Claim 11
Independent Claim
200 words
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.
Claim 12
Dependent Claim
43 words
The method of claim 9 wherein the step of invoking the query method of each conversion routine invokes the query methods of the conversion routines in the order of their likelihood to indicate that their conversion routines are capable of converting the message.
Claim 13
Dependent Claim
71 words
The method of claim 9 wherein the class of the message is a member of a group of one or more classes, and wherein each conversion routine has a class of messages that it is designed to convert, and wherein the identifying step includes the step of determining whether, for each conversion routine, the class of messages that the conversion routine is designed to convert is among the group of classes.
Claim 14
Dependent Claim
96 words
The method of claim 11 wherein the class of the message is represented as a node in a tree of all classes, and wherein each conversion routine has a subtree of the tree of all classes that it is designed to convert, and wherein each subtree is defined by a head node, and wherein the step of invoking a query method of each conversion routine invokes the query methods of the conversion routines in decreasing order of the distance between the head node of each conversion routine and the node representing the class of the message.
Claim 15
Dependent Claim
97 words
The method of claim 9 wherein the multiplicity of conversion routines are each either for translating a message from a format acceptable to the first mail system into a format acceptable to the second mail system or for translating a message from a format acceptable to the second mail system into a format acceptable to the first mail system, further including the step of limiting the identified plurality of conversion routines to those that are for translating a message from a format acceptable to the first mail system into a format acceptable to the second mail system.
Claim 16
Dependent Claim
53 words
The method of claim 9 wherein each method is stored in a dynamic link library at an entry point, and wherein the invoking steps each include the step of jumping to the entry point at which the invoked method is stored in the dynamic link library in which the invoked method is stored.
Claim 17
Independent Claim
167 words
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.
Claim 18
Independent Claim
167 words
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.
Claim 19
Dependent Claim
61 words
The method of claim 15 wherein each subtree is defined by a head node, and wherein the step of invoking a query method of each message processing routine invokes the query methods of the message processing routines in decreasing order of the distance between the head node of each message processing routine and the node representing thee class of the message.
Claim 20
Dependent Claim
26 words
The method of claim 15 wherein the invoking steps each include the step of jumping to a selected entry point in a selected dynamic link library.
Claim 21
Dependent Claim
168 words
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.
Claim 22
Dependent Claim
168 words
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.
Claim 23
Dependent Claim
52 words
The system of claim 18, further including a conversion routine addition facility for storing an additional conversion routine in the conversion memory and storing an additional entry in the registry memory containing selection information and invocation information for the additional conversion routine, whereby the plurality of conversion routines may be dynamically expanded.
Claim 24
Dependent Claim
219 words
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.
Claim 25
Dependent Claim
219 words
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.
Claim 26
Dependent Claim
261 words
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.
Claim 27
Dependent Claim
261 words
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.
Claim 28
Dependent Claim
52 words
The system of claim 21, further including a conversion routine addition facility for storing an additional conversion routine in the conversion memory and storing an additional entry in the registry memory containing selection information and invocation information for the additional conversion routine, whereby the plurality of conversion routines may be dynamically expanded.
Claim 29
Dependent Claim
81 words
The method of claim 1, further comprising the steps of: storing code for a new conversion routine; adding to the registry selection information identifying classes of messages at least some members of which the conversion routine for which the code was stored is capable of converting; and storing invocation information in the added row of the registry indicating how the stored code may be invoked, and wherein the new conversion routine is the available conversion routine selected in the selecting step.
Claim 30
Dependent Claim
57 words
The method of claim 23 wherein messages to be converted by the conversion engine each have a message class characterizing content of the message, the step of storing selection information including the step of storing an indication of one or more message classes that the conversion routine for which the code was stored is designed to convert.
Claim 31
Dependent Claim
68 words
The method of claim 1, further including the steps of: storing query code for determining whether the conversion routine is actually capable of converting a particular message for access by the conversion engine; and storing an indication of how to invoke the developed query code in the created registry entry, and wherein the step of invoking the query method invokes the stored query code using the stored indication.
Claim 32
Dependent Claim
33 words
The method of claim 23 wherein the step of storing invocation information includes the step of storing a reference to a method that may be dereferenced in order to invoke the stored code.
Claim 33
Dependent Claim
81 words
The method of claim 26 wherein the step of storing code for the conversion routine includes the step of storing code for the conversion routine in a selected dynamic link library, and wherein the step of storing a reference to a method includes the step of storing an indication identifying the selected dynamic link library and an entry point into the selected dynamic link library at which the dynamic link library may be entered in order to invoke the stored code.
Claim 34
Dependent Claim
285 words
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.
Claim 35
Dependent Claim
285 words
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.
Claim 36
Dependent Claim
163 words
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.
Claim 37
Dependent Claim
163 words
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.
Claim 38
Dependent Claim
116 words
The computer-readable memory device of claim 29 wherein the invocation information of each entry includes invocation information for both a conversion method of the conversion routine and for a query method of the conversion routine, such that a conversion engine using the electronic mail message conversion registry data structure to convert a received message may use the invocation information for the query method of the selected conversion routine to invoke the query method of the selected conversion routine to confirm that the selected converter is capable of converting the received message, and may use the invocation information for the convert method of the selected conversion routine to invoke the converter method to convert the received message.