Schema hierarchy for electronic messages
First Claim
1. In a computer system that is network connectable along with one or more other computer systems to a network, the computer system including a processor and system memory, a method for creating an electronic message that can be sent using a plurality of different message protocols, that is formatted to be compatible with a plurality of different message applications, and that can be stored and accessed by any of the plurality of different message applications using any of the plurality of different messaging protocols, the method comprising:
- an act of the processor creating a single message item representing the electronic message in accordance with a general message schema, the single message item creation including;
an act of defining one or more general data fields according to the general message schema that correspond to one or more general properties common to the plurality of different message protocols and common to the plurality of different message applications, including at least one data field corresponding to a primary type to the message item, the primary type indicating a primary behavior of a plurality of content portions linked to the message item;
an act of formatting the single message item for compatibility with the plurality of different message protocols, including for each different message protocol in the plurality of different message protocols;
an act of adding protocol specific data fields from at least one protocol specific extension schema to the single message item itself, to make the plurality of linked content portions compatible with the message protocol, each protocol specific extension schema accounting for any properties that are not common between the plurality of different message protocols; and
an act of assigning values to the protocol specific data fields within the single message item;
an act of formatting the single message item for compatibility with the plurality of different message applications, including for each different message application in the plurality of different message applications;
an act of adding application specific data fields from at least one application specific extension schema to the message item itself, to make the plurality of linked content portions compatible with the message application, each application specific extension schema accounting for properties that are not common between the plurality of different message applications; and
an act of assigning values to the application specific data fields within the single message item;
an act of assigning values to one or more of the general data fields, thereby defining at least one general property that is common between two different extension schemas; and
an act of sending the single message item, which has been formatted to include the protocol specific data fields for each of the plurality of different message protocols and the application specific data fields for each of the plurality of different message applications, to two or more of the plurality of different message applications via two or more of the plurality of different message protocols.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, computer program products, and data structures for efficiently storing and accessing electronic messages. Generally, electronic messages are created and transformed in accordance with an electronic message schema hierarchy. Electronic messages can be created according to a general message schema that defines a format for data fields that are common to all types of electronic messages (e.g. electronic mail, instant message, fax message). Electronic messages can also be extended according to message extension schemas that define formats for adding protocol specific and/or or application specific data fields to an electronic message. Data fields added in accordance with message extension schemas can differ between electronic messages types. Having some commonly defined fields and other differently defined fields promotes efficient storage and access of electronic messages, while also facilitating message compatibility with existing message protocols and message applications.
-
Citations
36 Claims
-
1. In a computer system that is network connectable along with one or more other computer systems to a network, the computer system including a processor and system memory, a method for creating an electronic message that can be sent using a plurality of different message protocols, that is formatted to be compatible with a plurality of different message applications, and that can be stored and accessed by any of the plurality of different message applications using any of the plurality of different messaging protocols, the method comprising:
-
an act of the processor creating a single message item representing the electronic message in accordance with a general message schema, the single message item creation including; an act of defining one or more general data fields according to the general message schema that correspond to one or more general properties common to the plurality of different message protocols and common to the plurality of different message applications, including at least one data field corresponding to a primary type to the message item, the primary type indicating a primary behavior of a plurality of content portions linked to the message item; an act of formatting the single message item for compatibility with the plurality of different message protocols, including for each different message protocol in the plurality of different message protocols; an act of adding protocol specific data fields from at least one protocol specific extension schema to the single message item itself, to make the plurality of linked content portions compatible with the message protocol, each protocol specific extension schema accounting for any properties that are not common between the plurality of different message protocols; and an act of assigning values to the protocol specific data fields within the single message item; an act of formatting the single message item for compatibility with the plurality of different message applications, including for each different message application in the plurality of different message applications; an act of adding application specific data fields from at least one application specific extension schema to the message item itself, to make the plurality of linked content portions compatible with the message application, each application specific extension schema accounting for properties that are not common between the plurality of different message applications; and an act of assigning values to the application specific data fields within the single message item; an act of assigning values to one or more of the general data fields, thereby defining at least one general property that is common between two different extension schemas; and an act of sending the single message item, which has been formatted to include the protocol specific data fields for each of the plurality of different message protocols and the application specific data fields for each of the plurality of different message applications, to two or more of the plurality of different message applications via two or more of the plurality of different message protocols. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer program product for use in a computer system that is network connectable along with one or more other computer systems to a network, the computer program product for implementing a method for creating an electronic message that can be sent via a plurality of different message protocols to a plurality of different message applications, can that be stored and accessed by any of the plurality of different message applications using any of the plurality of different messaging protocols, the computer program product comprising one or more computer storage devices having stored thereon computer executable instructions that, when executed by a processor, cause the computer system to perform the following:
-
create a single message item representing the electronic message in accordance with a general message schema, the single message item creation including; populating one or more general data fields according to the general message schema that correspond to one or more general properties common to the plurality of different message protocols and common to the plurality of different message applications, including at least one data field corresponding to a primary type to the message item, the primary type indicating a primary behavior of a plurality of content portions linked to the message item; populating the single message item with data fields that make the single message item compatible with the plurality of different message protocols, including for each different message protocol in the plurality of different message protocols; snapping on protocol specific data fields from at least one protocol extension schema to the single message item itself, to make the plurality of linked portions of content compatible with the message protocol, each protocol specific extension schema accounting for any properties that are not common between the plurality of different message protocols; and assigning values to the protocol specific data fields of the at least one protocol specific extension within the single message item; populating the single message item with data fields that make the single message item compatible with the plurality of different message applications, including for each different message application in the plurality of different message applications; snapping on application specific data fields from at least one application specific extension to the message item itself, to make the plurality of linked content portions compatible with the message application, each application specific extension schema accounting for properties that are not common between the plurality of different message applications; and assigning values to the application specific data fields of the at least one application specific extension within the single message item; assigning values to one or more of the general data fields, thereby defining at least one general property that is common between two different messaging extensions; and send the single message item, which has been populated with the protocol specific data fields for each of the plurality of different message protocols and the application specific data fields for each of the plurality of different message applications, to two or more of the plurality of different message applications via two or more of the plurality of different message protocols. - View Dependent Claims (36)
-
Specification