IP Library Granted Patent US 8,429,233
Granted Patent B2
US 8,429,233 · App. 11/305,543 · Granted Apr 23, 2013

Method and system for journaling electronic messages

Inventor: Jörg-Stefan Sell (Eching, DE)
Assignee: Open Text Software GmbH
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,429,233
App. No.
11/305,543
Granted
Apr 23, 2013
Kind
B2
Abstract

A method and system is provided for efficient journaling and management of electronic messages, wherein a copy of a first message sent from or received on a mail server is received, the copy of the first message is then recorded by a journal service, wherein the journal service comprises determining whether the first message contains an identification for which a second message has already been recorded and adding only metadata of the first message to the metadata of the second message when for the identical identification the second message has already been recorded.

Claims (102)

1. A method for journaling of e-mail messages, comprising:

receiving a copy of a first e-mail message sent from or received on a mail server, wherein the first e-mail message contains metadata and content data and wherein the metadata of the first e-mail message contains a message-ID stored as an independent field in the metadata of the first e-mail message distinct from a subject of the first e-mail message and e-mail addresses for the first e-mail message that specify senders and recipients of the first e-mail message, wherein the message-ID identifies the first e-mail message as a particular e-mail message;

recording the copy of the first e-mail message by a relocation service running on a journal server remote from the mail server, wherein the relocation service performs a method of recording comprising:

determining whether a second e-mail message having said message-ID in the metadata of said second e-mail message has already been recorded;

if the second e-mail message having said message-ID has already been recorded in a database of e-mail messages, adding the metadata for the first e-mail message to a set of metadata linked to content data of the second e-mail message in the database but not recording any of the content data of the first e-mail message;

if no second e-mail having said message-ID has been recorded:

generating a first entry for the first e-mail message in the database;

determining a first e-mail message verification value based on the content data of the first e-mail message;

storing said first e-mail message verification value and the metadata of the first e-mail message in said first entry; and

recording the entire content data of the first e-mail message in the database separate from content data of other e-mail messages and linking the content data of the first e-mail message to the first entry.

2. The method according to claim 1 , wherein the relocation service further performs the steps of:

determining the first e-mail message verification value based on attributes of the first e-mail message when for the message-ID second e-mail message has already been recorded;

determining whether the first e-mail message verification value is identical with a second e-mail message verification value of the already recorded second e-mail message having the same message-ID;

performing the step of adding the metadata for the first e-mail message to a set of metadata linked to content data of the second e-mail message but not recording the content data of the first e-mail message when the first and second e-mail message verification values are identical by updating a second entry of the second e-mail message with the metadata of the first e-mail message; and

storing said first e-mail message verification value and the metadata of the first e-mail message in said first entry and recording the content data of the first e-mail message with a link to the first entry when the first and second e-mail message verification values are not identical.

3. The method according to claim 2 , further comprising:

identifying the first e-mail message as an e-mail message with a falsified message-ID when the message-ID of the first and second e-mail messages are identical but the first and second e-mail message verification values are not identical; and

sending a warning to the relocation service.

4. The method according to claim 1 , wherein the e-mail message verification value contains at least one checksum of content data of the e-mail message.

5. The method according to claim 4 , wherein the checksum is calculated from the contents of subject, body and possible attachments of the e-mail message.

6. The method according to claim 4 , wherein the checksum is calculated from at least one technical attribute of the e-mail message which is unambiguous for the e-mail message.

7. The method according to claim 6 , wherein one of the technical attributes is the sending time of the e-mail message.

8. The method according to claim 4 , wherein the checksum is a unique hash value of the subject, body, attachment and/or technical attribute of the e-mail message.

9. The method according to claim 1 , wherein the metadata comprises recipient information and/or technical attributes of the e-mail message.

10. The method according to claim 1 , further comprising:

providing an e-mail message identification table containing the message-ID for each recorded e-mail message.

11. The method according to claim 10 , wherein in the e-mail message identification stable further contains the e-mail message verification value and a reference to the entry for each recorded e-mail message.

12. The method according to claim 11 , further comprising:

storing said e-mail message identification table on the database;

storing said entry by an attribute service and/or the database;

storing said e-mail message by an archive service; and

wherein in the e-mail message identification table for each recorded e-mail message a data record containing the message-ID, e-mail message verification value, reference to the entry on the attribute service and reference to the e-mail message on the archive service is stored.

13. The method of claim 10 , further comprising:

requesting a journaled e-mail message from a user client;

identifying a recorded e-mail message as the requested e-mail message by comparing metadata of the requested e-mail message with metadata recorded by the relocation service;

retrieving the identified e-mail message;

reconstructing the retrieved e-mail message with its metadata and possible attachments; and

providing the reconstructed e-mail message to the user client.

14. The method according to claim 1 , further comprising:

providing a journal of recorded e-mail messages containing a list of entries generated by the relocation service.

15. The method of claim 1 , further comprising storing entries for recorded e-mails in a relational database indexed by e-mail message-ID numbers.

16. A computer program product comprising a physical computer readable storage medium containing computer executable program code for journaling of e-mail messages containing metadata and content data, and wherein the computer program is executable by a processor, the computer executable code comprising code executable to:

determine a message-ID for a first e-mail message from an independent field in the metadata of the first e-mail message distinct from a subject of the first e-mail message and e-mail addresses for the first e-mail message that specify senders and recipients of the first e-mail, wherein the message-ID identifies the first e-mail message as a particular e-mail message;

determine whether a second e-mail message having said message-ID in the metadata of said second e-mail message has already been recorded in a database;

add only metadata of the first e-mail message to the metadata of the second e-mail message such that the metadata of the first e-mail message is linked to content data of the second e-mail message if the second e-mail message has already been recorded in the database;

generate a first entry for the first e-mail message when no second e-mail message having said message-ID has been recorded;

determine a first e-mail message verification value based on the content data first e-mail message;

store said first e-mail message verification value and the metadata of the first e-mail message in said first entry; and

record the content data of the first e-mail message in the database separate from content data of other e-mail messages and link the content data of the first e-mail message to the first entry.

17. A system for journaling of e-mail messages, comprising:

a journaling system comprising one or more physical servers, the one or more physical servers coupled to one or more mail servers by a network, the journaling system providing a relocation service and configured to;

receive a copy of a first e-mail message over the network containing metadata and content data sent from or received on an e-mail server, wherein the metadata of the first e-mail message contains a message-ID stored as an independent field in the metadata of the first e-mail message distinct from a subject of the first e-mail message and e-mail addresses for the first e-mail message that specify senders and recipients of the first e-mail message, wherein the message-ID identifies the first e-mail message as a particular e-mail message;

determine whether a second e-mail message having said message-ID in the metadata of the second e-mail message has already been recorded in a database;

if the second e-mail message having said message-ID has already been recorded, add only metadata of the first e-mail message to the metadata of the second e-mail message in an entry for the second e-mail message in the database;

if no second e-mail message having said message-ID has been recorded:

generate a first entry for the first e-mail message,

determine a first e-mail message verification value based on the content data of the first e-mail message, and

store said first e-mail message verification value and the metadata of the first e-mail message in said first entry, and record the content data of the first e-mail message in the database separate from the content data of other e-mail messages with a link to the first entry.

18. The system according to claim 17 , wherein said relocation service is further configured to:

determine the first e-mail message verification value based on attributes of the first e-mail message when for the message-ID the second e-mail message has already been recorded;

determine whether the first e-mail message verification value is identical with a second e-mail message verification value of the already recorded second e-mail message having the same message-ID;

perform the step of adding only metadata of the first e-mail message to the metadata of the second e-mail message in the entry for the second e-mail message when the first and second e-mail verification values are identical by updating the entry of the second e-mail message with the metadata of the first e-mail message, and

to store said first e-mail message verification value and the metadata of the first e-mail message in said first entry, and to record the first e-mail message with a link to the first entry when the first and second e-mail message verification values are not identical.

19. The system according to claim 18 , wherein the system further comprises an administration service and the relocation service is further configured to identify the first e-mail message as an e-mail message with a falsified identification when the message-ID of the first and second e-mail messages are identical but the first and second e-mail message verification values are not identical, and to send a warning to the administration service.

20. The system according to claim 18 , wherein, the first e-mail message verification value contains at least one checksum of the content of the first e-mail message, and the relocation service is configured to calculate the checksum from the contents of subject, body and possible attachments of the first e-mail message.

21. The system according to claim 20 , wherein the relocation service is further adapted to calculate the checksum from at least one technical attribute of the first e-mail message uniquely defining the first e-mail message.

22. The system according to claim 20 , wherein the relocation service is further configured to calculate the checksum as a unique hash value of the subject, body, attachment and/or technical attribute of the first e-mail message.

23. The system according to claim 17 , further comprising:

an e-mail message identification table configured to contain the message-ID for each recorded e-mail message.

24. The system according to claim 23 , wherein the e-mail message identification table is further configured to contain the e-mail message verification value and a reference to the entry for each recorded e-mail message.

25. The system according to claim 23 , wherein the journaling system further comprises an archive server further comprising:

an attribute service running on the one or more servers which is configured to store said entry containing the metadata, wherein the metadata comprises recipient information of the first e-mail message;

an archive service running on the one or more servers which is configured to store e-mail messages in the database; and

wherein the e-mail message identification table is configured to store for each recorded e-mail message a data record containing identification, e-mail message verification value, reference to the entry on the attribute service and reference to the e-mail message on the archive service.

26. The system according to claim 25 , wherein the relocation service or the attribute service is further configured to provide on request a journal of recorded e-mail messages containing a list of entries generated be the relocation service.

27. The system according to claim 25 , further comprising a journal server configured to receive the copy of the first e-mail message sent from the mail server, and wherein the relocation service is configured to receive the copy of the first e-mail message sent from or received on the journal server; and the relocation service is further configured to remove the first e-mail message from the journal server after the first e-mail message or only metadata of the first e-mail message is recorded in the database.

28. The system according to claim 17 , wherein the relocation service is further configured to reconstruct a journaled e-mail message requested from a user client, in which the relocation service is configured to identify a recorded e-mail message as the requested e-mail message by comparing metadata of the requested e-mail message with metadata recorded by the relocation service, to retrieve the identified e-mail message, to reconstruct the retrieved e-mail message with its metadata and possible attachments, and to provide the reconstructed e-mail message to the user client.

29. A system for journaling of e-mail messages, comprising:

a mail server;

a journaling system coupled to the mail server, the journaling system comprising a processor, a network interface, a non-transitory memory and a database, the memory storing computer code executable by the processor, the journaling system configured to:

receive a copy of a first e-mail message over a network from the mail server, the first e-mail containing metadata and content data, wherein the metadata of the first e-mail message contains a message-ID stored as an independent field in the metadata of the first e-mail message distinct from a subject of the first e-mail message and e-mail addresses for the first e-mail message that specify senders and recipients of the first e-mail message, wherein the message-ID identifies the first e-mail message as a particular e-mail message;

determine at the journaling system whether a second e-mail message having said message-ID in the metadata of the second e-mail message has already been recorded in the database;

if the second e-mail message having said message-ID has already been recorded, add at the journaling system only metadata of the first e-mail message to the metadata of the second e-mail message in an entry for the second e-mail message;

if no second e-mail message having said message-ID has been recorded:

generate at the journaling system a first entry for the first e-mail message,

determine at the journaling system a first e-mail message verification value based on the content data of the first e-mail message, and

store at the journaling system said first e-mail message verification value and the metadata of the first e-mail message in said first entry, and record the content data of the first e-mail message in the database separate from the content data of other e-mail messages with a link to the first entry.

30. The system according to claim 29 , wherein the mail server is configured to send copies of e-mail messages sent to or received at the mail server to the journaling system.

31. The system according to claim 30 , wherein the journaling system comprises a plurality of servers coupled to the mail server via the network.

32. The system of claim 31 , wherein the journaling system comprises:

a journal server configured to receive emails from the mail server;

an archive server coupled to the journal server configured to determine that the journal has a new e-mail message to journal and to process the new e-mail message as the first e-mail message.

33. The system according to claim 29 , wherein the journaling system is further configured to:

determine the first e-mail message verification value based on attributes of the first e-mail message when for the message-ID of first e-mail message has already been recorded;

determine whether the first e-mail message verification value is identical with a second e-mail message verification value of the already recorded second e-mail message having the same message-ID;

perform the step of adding only metadata of the first e-mail message to the metadata of the second e-mail message in the entry for the second e-mail message when the first and second e-mail verification values are identical by updating the entry of the second e-mail message with the metadata of the first e-mail message, and

store said first e-mail message verification value and the metadata of the first e-mail message in said first entry, and to record the first e-mail message with a link to the first entry when the first and second e-mail message verification values are not identical.

34. The system according to claim 33 , wherein the journaling system is further configured to provide an administration service and a relocation service, wherein the relocation service is further configured to identify the first e-mail message as e-mail message with a falsified identification when the message-ID of the first and second e-mail messages are identical but the first and second e-mail message verification values are not identical, and to send a warning to the administration service.

35. The system according to claim 34 , wherein, the first e-mail message verification value contains at least one checksum of the content of the first e-mail message, and the relocation service is configured to calculate the checksum from the contents of subject, body and possible attachments of the e-mail message.

36. The system according to claim 35 , wherein the relocation service is further adapted to calculate the checksum from at least one technical attribute of the e-mail message uniquely defining the e-mail message.

37. The system according to claim 35 , wherein the relocation service is further configured to calculate the checksum as a unique hash value of the subject, body, attachment and/or technical attribute of the e-mail message.

38. The system according to claim 29 , wherein the journaling system is further configured to reconstruct a journaled e-mail message requested from a user client, in which the journaling system is configured to identify a recorded e-mail message as the requested e-mail message by comparing metadata of the requested e-mail message with metadata recorded by the journaling system, to retrieve the identified e-mail message, to reconstruct the retrieved e-mail message with its metadata and possible attachments, and to provide the reconstructed e-mail message to the user client.

Assignments (7)
IP BUSINESS SALE AGREEMENT Recorded Nov 7, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040573/0244 →
CERTIFICATE OF CONTINUANCE Recorded Nov 7, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040575/0324 →
CERTIFICATE OF AMALGAMATION Recorded Nov 7, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040575/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2015
From: OPEN TEXT SOFTWARE GMBH
To: OPEN TEXT S.A.
Reel/Frame 034856/0285 →
MERGER Recorded Nov 11, 2011
From: IXOS SOFTWARE AG
To: OPEN TEXT SOFTWARE GMBH
Reel/Frame 027282/0041 →
MERGER Recorded Jan 29, 2010
From: IXOS SOFTWARE AG
To: OPEN TEXT SOFTWARE GMBH
Reel/Frame 023876/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2006
From: SELL, JORG-STEFAN
To: IXOS SOFTWARE AG
Reel/Frame 017224/0375 →
Priority Claims (1)
EP 05105987 · Jun 30, 2005 · regional
Continuity (1)
Related Publication 20070038714A1 · Feb 15, 2007