The present invention pertains to the field of email. More particularly, the present invention pertains to synchronizing email in different devices.
Various mobile different devices—handheld computers, mobile phones, pagers, laptop computers—may all synchronize their data, and may do so with respect either to each other or with respect to a network or desktop computer application (such as a desktop calendar) or with respect to other devices where information is stored. Email synchronization is standardized by the so-called Open Mobile Alliance (OMA); the standard is currently specified in SyncML Specification version 1.0.1. In email synchronization, a device acting as a synchronization server synchronizes email with two or more other, client devices. The OMA specifications also include email object specifications that define the content and format of email being synchronized, i.e. the representation of the email within the data synchronization context. The specification that does this currently is “Email data object specification,” version 1.2, draft version, 19 Jan. 2004.
The synchronization server may truncate an e-mail in some way before sending it to a client (because e.g. the email client has indicated to the synchronization server that no attachments are to be provided when synchronizing). For example, an attachment may be left out. The current standard does not provide any means by which the synchronization server can indicate whether some part of an email has not been transferred, i.e. whether the email has been in any way truncated.
It would be advantageous for an email receiving device to receive some kind of an indication of truncation when a truncated email is provided to the device.
Accordingly, in a first aspect of the invention, a method is provided, comprising: a step in which a synchronization server determines an email to send to a synchronization client and determines what if any parts of the email to omit; and a step in which the synchronization server sends the email in whole or in part to the synchronization client and describes what if any parts of the email are omitted, wherein the description is provided using an extensible markup language.
In accord with the first aspect of the invention, the description may include a truncated element for indicating whether any parts of the email are omitted. Further, the truncated element may include a body element for indicating that a part of the body of the email is omitted or an attach element for indicating that an attachment is omitted.
Also in accord with the first aspect of the invention, the synchronization client may also indicate the size of at least some omitted parts.
In a second aspect of the invention, a computer program product is provided comprising a computer readable storage structure embodying computer program code thereon for execution by a computer processor, wherein said computer program code comprises instructions for performing a method including: a step of determining an email to send to a client device and of determining what if any parts of the email to omit; and a step of sending the email in whole or in part to the client device and of describing what if any parts of the email are omitted, wherein description is provided using an extensible markup language.
In a third aspect of the invention a method is provided, comprising: a step in which an email client apparatus having email client functionality and having email folders receives from a synchronization server apparatus an email in whole or in part as well as a description of what if any parts are omitted, wherein the description is provided using an extensible markup language; and a step in which the email client displays information indicating whether only part of the email is received.
In a fourth aspect of the invention, a computer program product is provided comprising a computer readable storage structure embodying computer program code thereon for execution by a computer processor, wherein said computer program code comprises instructions for performing a method including: a step of receiving from a server apparatus an email in whole or in part as well as a description of what if any parts are omitted, wherein description is provided using an extensible markup language; and a step of displaying information indicating whether only part of the email is received.
In a fifth aspect of the invention, a synchronization server apparatus is provided, comprising: means for determining an email to send to a synchronization client and for determining what if any parts of the email to omit; and means for sending the email to the synchronization client in whole or in part and for describing what if any parts of the email are omitted, wherein the email is described using an extensible markup language.
In a sixth aspect of the invention, a synchronization client apparatus having email folders is provided, comprising: means for receiving from a synchronization server apparatus an email in whole or in part as well as a description of what if any parts are omitted, wherein description is provided using an extensible markup language; and means for displaying information indicating whether only part of the email is received.
In a seventh aspect of the invention, a system is provided, comprising a synchronization server apparatus according to the fifth aspect of the invention and also comprising at least one synchronization client apparatus according to the sixth aspect of the invention.
The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:
According to the invention, the server performing the email synchronization—i.e. the device performing the server role in a client-server model for synchronization, even if the device is a mobile station—specifies whether the email is in any way truncated in XML script describing the email. More specifically, the XML describing the email is provided so as to contain an XML element—called here the truncated element—indicating each omitted part of the email and also the size and type of the omitted part. The email client on the device receiving the XML description then parses the description and so obtains the indication without having to examine the email data itself.
The data type definition (DTD) specification for the truncated element (of the XML description) according to the invention can be as follows:
so that it includes a body element and an attach element.
The email object DTD is extended to include the truncated element:
As an example of the use of the XML description of an email as modified by the invention, suppose that the email body is truncated so that 1235 bytes of the body is still left on the server (and is not included in the email provided to the email client being synchronized), and also that two attachments—a brand xx word processor document and a brand yy presentation document—are omitted. Then the modified XML description could be as follows:
The usage of the truncated element is advantageously mandatory for a server, but the usage of the elements within the truncated element is advantageously optional. By utilizing the body element within the truncated element, the server can specify if the body of the email was truncated, and the size (in bytes) of the part of the body left on the server (and not provided to the email client). The attach element can be used to specify the number of attachments, and the names, types and the sizes (in bytes) of the attachments still on the server. The server advantageously specifies the body element only if the body part of the email is truncated, and only once. The server advantageously specifies the attach elements only if attachments are omitted, and specifies one attach element per attachment. By utilizing just the truncated element—and not also the body and attach elements—the server can indicate to the client that the email object is truncated, without providing any more detailed information; making it optional for the server to use the body and attach elements, the server need not obtain information about the omitted body and attachments, which is advantageous because sometimes such information is not readily available to the server.
Referring now to
Referring now also to
The invention is described above in terms of a method. Besides a method, the invention also encompasses a corresponding computer program product including a computer readable storage structure embodying computer program code—i.e. software or firmware—thereon for execution by a computer processor.
It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.