Method and apparatus for managing electronic messages
First Claim
1. A method for the storage-efficient management of electronic messages, comprising:
- in a system comprising an email server and an archive server, receiving a first email message at the archive server from the email server;
decomposing at the archive server the first email message into a first basic structure and file attachments attached to the first email message;
selecting a file attachment attached to the first email message;
determining if the selected file attachment is an additional email message containing further file attachments;
if the selected file attachment is an email message containing further file attachments, decomposing the selected file attachment into an additional basic structure for a corresponding email message and further file attachments attached to the corresponding email message;
recursively performing the selecting, determining and decomposing steps using each file attachment and further file attachment as the selected file attachment until the first email message is decomposed into the basic structure, additional basic structures and file attachments not containing further file attachments;
calculating at the archive server a new unique identification code for each one of the file attachments not containing further file attachments;
calculating at the archive server a hash value for each one of the file attachments with an identification code based on the content of that file attachment;
storing the file attachments not containing further file attachments as files with respective identification codes and hash values for which no file with an identical hash value already exists in storage;
adding at the archive server the new unique identification code and incrementing a reference counter for file attachments not containing further file attachments for whose hash value a file already exists in the storage;
storing by the archive server the first basic structure, wherein the first basic structure is stored with references to additional basic structures for email messages attached to the first basic structure and any file attachments not containing additional file attachments attached to the first email message;
storing by the archive server each additional basic structure with a references to additional basic structures for email messages attached to the additional email message corresponding to the email message being stored and with references to any file attachments not containing further file attachments attached to the additional email message corresponding to the additional basic structure being stored.
8 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for the storage-efficient management of electronic messages, wherein a message that is to be managed is first received, the message is decomposed into a basic structure and file attachments contained in the message, a unique identification value is calculated for each file attachment, the file attachment is stored as a file with a respective identification value for which no file exists in the storage, or a reference counter of the file attachment for whose identification value a file already exists in the storage, is incremented, and the basic structure with references to the files in the storage, which references correspond to the file attachments originally contained in the message, is stored.
37 Citations
22 Claims
-
1. A method for the storage-efficient management of electronic messages, comprising:
-
in a system comprising an email server and an archive server, receiving a first email message at the archive server from the email server; decomposing at the archive server the first email message into a first basic structure and file attachments attached to the first email message; selecting a file attachment attached to the first email message; determining if the selected file attachment is an additional email message containing further file attachments; if the selected file attachment is an email message containing further file attachments, decomposing the selected file attachment into an additional basic structure for a corresponding email message and further file attachments attached to the corresponding email message; recursively performing the selecting, determining and decomposing steps using each file attachment and further file attachment as the selected file attachment until the first email message is decomposed into the basic structure, additional basic structures and file attachments not containing further file attachments; calculating at the archive server a new unique identification code for each one of the file attachments not containing further file attachments; calculating at the archive server a hash value for each one of the file attachments with an identification code based on the content of that file attachment; storing the file attachments not containing further file attachments as files with respective identification codes and hash values for which no file with an identical hash value already exists in storage; adding at the archive server the new unique identification code and incrementing a reference counter for file attachments not containing further file attachments for whose hash value a file already exists in the storage; storing by the archive server the first basic structure, wherein the first basic structure is stored with references to additional basic structures for email messages attached to the first basic structure and any file attachments not containing additional file attachments attached to the first email message; storing by the archive server each additional basic structure with a references to additional basic structures for email messages attached to the additional email message corresponding to the email message being stored and with references to any file attachments not containing further file attachments attached to the additional email message corresponding to the additional basic structure being stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a non-transitory computer readable medium storing a computer program and wherein the program comprises code executable by a processor to cause an archive server to:
-
receive a first email message from an email server; decompose a first email message into a first basic structure and file attachments contained in the message; select a file attachment attached to the first email message; determine if the selected file attachment is an additional email message containing further file attachments; if the selected file attachment is an email message containing further file attachments, decompose the selected file attachment into an additional basic structure for a corresponding email message and further file attachments attached to the corresponding email message; recursive perform the selecting, determining and decomposing steps using each file attachment and further file attachment as the selected file attachment until the first email message is decomposed into the first basic structure additional basic structures and file attachments not containing further file attachments; calculate a new unique identification code for each one of the file attachments not containing further file attachments; calculate a unique hash value for each one of the file attachments with an identification code based on the contents of the file attachment; store the file attachments not containing further file attachments as files with respective identification codes and hash values for which no file with an identical hash value already exists in storage; add the new unique identification code and increment a reference counter of file attachments not having further file attachments for whose hash value a file already exists in the storage; return each identification code to the basic structure or the respective additional basic structure from which the file attachment corresponding to said identification code has been decomposed; store the first basic structure, wherein the first basic structure is stored with references to additional basic structures for email messages attached to the first email message and any file attachments not containing further file attachments attached to the first email message; and store each additional basic structure with references to additional basic structures for email messages attached to the additional email message corresponding to the additional basic structure being stored and with references to any file attachments not containing additional file attachments attached to the additional email message corresponding to the additional basic structure being stored.
-
-
16. A system for the storage-efficient management of electronic messages, comprising:
-
an archive server, comprising a first processor, a first storage, a message swapping-out module, an identification value calculation module and a reference counter management module, wherein; the message swapping-out module, by application of the first processor; divides a first email message that is to be managed into a first basic structure and the file attachments contained in the first email message; selects a file attachment attached to the first email message; determines if the selected file attachment is an additional email message containing further file attachments; if the selected file attachment is an email message containing further file attachments, decomposes the selected file attachment into an additional basic structure for a corresponding email message and file attachments attached to the corresponding email message; recursively performs the selecting, determining and decomposing steps using each file attachment and further file attachment as the selected file attachment until the first email message is decomposed into the first basic structure, additional basic structures and file attachments not containing further file attachments; the identification value calculation module calculates an unique new identification code and a unique hash value for each one of the file attachments not containing further file attachments; if the hash value has not been assigned to a file attachment already stored on the archive server, the corresponding file attachment is stored in the first storage with its identification code and hash value, otherwise, if a file having the calculated hash value already exists in the first storage, the corresponding file attachment is not stored over again, but the reference counter management module increments a reference counter of the existing file, adds the new unique identification code for the file attachment not containing further file attachments having the same hash value, and returns each unique identification code to the first basic structure or the respective additional basic structure corresponding to the email message from which the file attachment corresponding to said unique identification code has been decomposed; and the archive server stores the first basic structure with references, wherein the references comprise references to the additional basic structures and all the identification codes returned for file attachments containing no further attachments that were attached to the first email message and stores each additional basic structure with references to file attachments containing no further file attachments that were attached to the corresponding additional email message. - View Dependent Claims (17, 18, 19)
-
-
20. An archive server for the storage-efficient management of electronic messages, comprising a network interface to connect to a network, a processor, a computer readable storage medium, and a set of computer instructions stored on the computer readable storage medium and executable by the processor to cause the archive server to perform a method comprising:
-
decomposing a first email message into a first basic structure and file attachments attached to the first email message; selecting a file attachment attached to the first email message; determining if the selected file attachment is an additional email message containing further file attachments; if the selected file attachment is an additional email message containing further file attachments, decomposing the selected file attachment into an additional basic structure for the corresponding email message and the further file attachments attached to the corresponding email message; recursively performing the selecting, determining and decomposing steps using each file attachment and further file attachment as the selected file attachment until the first email message is decomposed into the first basic structure additional basic structures and file attachments not containing further file attachments; calculating at the archive server a new unique identification code for each one of the file attachments not containing further file attachments; calculating at the archive server a unique hash value for each one of the file attachments with an identification code; storing the file attachments not containing further file attachments as files with respective identification codes and hash values for which no file with an identical hash value already exists in storage; adding the identification code and incrementing a reference counter of file attachments not containing additional file attachments for whose hash value a file already exists in the storage; storing by the archive server the first basic structure, wherein the first basic structure is stored with references to additional basic structures for email messages attached to the first email message and any file attachments not containing further file attachments attached to the first email message; and storing by the archive server each additional basic structure with references to additional basic structures for email messages attached to the additional email message corresponding to the additional basic structure being stored and with references to any file attachments not containing further file attachments attached to the additional email message corresponding to the additional basic structure being stored. - View Dependent Claims (21, 22)
-
Specification