IP Library Granted Patent US 10,452,488
Granted Patent B1
US 10,452,488 · App. 15/594,554 · Granted Oct 22, 2019

Systems and methods for efficient archiving of related electronic messages

Inventors: Steven Bull (Reading, GB); Andrew Gilbert (Reading, GB)
Assignee: Veritas Technologies LLC
G06F11/1451G06F2201/87
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 10,452,488
App. No.
15/594,554
Granted
Oct 22, 2019
Kind
B1
Abstract

The disclosed computer-implemented method for efficient archiving of related electronic messages may include (1) receiving, at a message archiving system, a corpus of electronic messages from one or more servers, where at least a portion of the electronic messages in the corpus represents electronic messages that are related to each other, (2) processing the corpus of electronic messages into groups of related electronic messages, where each group of the related electronic messages is associated with a message identifier, and (3) archiving, by the message archiving system, each group of related electronic messages as a corresponding unified archive item. Various other methods, systems, and computer-readable media are also disclosed.

Claims (77)

1. A computer-implemented method for efficient archiving of related electronic messages, at least a portion of the method being performed by a computing device comprising at least one physical processor, the method comprising:

receiving, at a message archiving system, a corpus of electronic messages from one or more servers, wherein at least a portion of the electronic messages in the corpus represent electronic messages that are related to each other;

processing the corpus of electronic messages into groups of related electronic messages, wherein each group of the related electronic messages is associated with a message identifier and wherein processing the corpus of electronic messages comprises:

identifying the electronic messages in the corpus as journal parts based on the message identifier;

designating the journal parts for grouping;

grouping the journal parts for archiving after a configurable time period has elapsed;

iterating through each of a plurality of entries in a cache of message identifiers to check, in a count of contiguous folders, receipt of a related journal part associated with the message identifiers over a configurable threshold period; and

determining that the grouped journal parts are eligible for archiving when the configurable threshold period has been exceeded without receiving the related journal part; and

archiving, by the message archiving system, each group of related electronic messages as a corresponding unified archive item.

2. The method of claim 1 , wherein receiving the corpus of electronic messages comprises:

receiving the corpus of electronic messages in a load balancer of the archiving system; and

presorting the corpus of electronic messages to ensure that each group of the related electronic messages is sent to a designated archive server in the message archiving system.

3. The method of claim 2 , wherein presorting the corpus of electronic messages comprises:

determining that a message identifier for an electronic message in the corpus already exists in a load balancer storage;

identifying a designated archive server associated with the message identifier in the load balancer storage;

updating a storage entry associated with the message identifier in the load balancer storage with a timestamp; and

sending the electronic message to the designated archive server.

4. The method of claim 2 , wherein presorting the corpus of electronic messages comprises:

determining that a message identifier for an electronic message in the corpus does not exist in a load balancer storage;

selecting an archive server in the message archiving system;

creating a storage entry in the load balancer storage for the electronic message, the storage entry comprising the message identifier, the selected archive server, and a timestamp; and

sending the electronic message to the selected archive server.

5. The method of claim 2 , wherein presorting the corpus of electronic messages comprises:

determining that a message identifier does not exist for an electronic message in the corpus;

selecting, by the load balancer, an archive server; and

sending the electronic message to the selected archive server.

6. The method of claim 1 , wherein archiving each group of related electronic messages as a corresponding unified archive item comprises:

receiving a set of grouped journal parts corresponding to a group of the related electronic messages; and

archiving the grouped journal parts as the unified archive item.

7. The method of claim 6 , wherein the grouped journal parts comprise a journal report.

8. The method of claim 1 , wherein the archiving system comprises a Simple Mail Transfer Protocol (SMTP) mail archiving system.

9. A system for efficient archiving of related electronic messages, the system comprising:

a reception module, stored in memory, that receives a corpus of electronic messages from one or more servers, wherein at least a portion of the electronic messages in the corpus represent electronic messages that are related to each other;

a processing module, stored in memory, that processes the corpus of electronic messages into groups of related electronic messages, wherein each group of the related electronic messages is associated with a message identifier and wherein the processing module processes the corpus of electronic messages by:

identifying the electronic messages in the corpus as journal parts based on the message identifier;

designating the journal parts for grouping;

grouping the journal parts for archiving after a configurable time period has elapsed;

iterating through each of a plurality of entries in a cache of message identifiers to check, in a count of contiguous folders, receipt of a related journal part associated with the message identifiers over a configurable threshold period; and

determining that the grouped journal parts are eligible for archiving when the configurable threshold period has been exceeded without receiving the related journal part;

an archiving module, stored in memory, that archives each group of related electronic messages as a corresponding unified archive item; and

at least one physical processor that executes the reception module, the processing module, and the archiving module.

10. The system of claim 9 , wherein the reception module receives the corpus of electronic messages by:

receiving the corpus of electronic messages in a load balancer of the archiving system; and

presorting the corpus of electronic messages to ensure that each group of the related electronic messages is sent to a designated archive server.

11. The system of claim 10 , wherein the reception module presorts the corpus of electronic messages by:

determining that a message identifier for an electronic message in the corpus already exists in a load balancer storage;

identifying a designated archive server associated with the message identifier in the load balancer storage;

updating a storage entry associated with the message identifier in the load balancer storage with a timestamp; and

sending the electronic message to the designated archive server.

12. The system of claim 10 , wherein the reception module presorts the corpus of electronic messages by:

determining that a message identifier for an electronic message in the corpus does not exist in a load balancer storage;

selecting an archive server in the message archiving system;

creating a storage entry in the load balancer storage for the electronic message, the storage entry comprising the message identifier, the selected archive server, and a timestamp; and

sending the electronic message to the selected archive server.

13. The system of claim 10 , wherein the reception module presorts the corpus of electronic messages by:

determining that a message identifier does not exist for an electronic message in the corpus;

selecting, by the load balancer, an archive server; and

sending the electronic message to the selected archive server.

14. The system of claim 10 , wherein the archiving module archives each group of related electronic messages as a corresponding unified archive item by:

receiving a set of grouped journal parts corresponding to a group of the related electronic messages; and

archiving the grouped journal parts as the unified archive item.

15. The system of claim 14 , wherein the grouped journal parts comprise a journal report.

16. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one physical processor of a computing device, cause the computing device to:

receive a corpus of electronic messages from one or more servers, wherein at least a portion of the electronic messages in the corpus represent electronic messages that are related to each other;

process the corpus of electronic messages into groups of related electronic messages, wherein each group of the related electronic messages is associated with a message identifier and wherein the corpus of electronic messages is processed by:

identifying the electronic messages in the corpus as journal parts based on the message identifier;

designating the journal parts for grouping;

grouping the journal parts for archiving after a configurable time period has elapsed;

iterating through each of a plurality of entries in a cache of message identifiers to check, in a count of contiguous folders, receipt of a related journal part associated with the message identifiers over a configurable threshold period; and

determining that the grouped journal parts are eligible for archiving when the configurable threshold period has been exceeded without receiving the related journal part; and

archive each group of related electronic messages as a corresponding unified archive item.

17. The non-transitory computer readable medium of claim 16 , wherein the one or more computer-executable instructions cause the computing device to archive each group of related electronic messages as a corresponding unified archive item by:

receiving a set of grouped journal parts corresponding to a group of the related electronic messages; and

archiving the grouped journal parts as the unified archive item.

18. The computer-implemented method of claim 1 , wherein determining that the configurable threshold period has been exceeded comprises checking that a count of contiguous folders for storing the electronic messages and that are viewable without encountering a journal part for the message identifier exceeds the configurable threshold period.

19. The system of claim 9 , wherein the processing module determines that the configurable threshold period has been exceeded by checking that a count of contiguous folders for storing the electronic messages and that are viewable without encountering a journal part for the message identifier exceeds the configurable threshold period.

20. The non-transitory computer readable medium of claim 16 , wherein the one or more computer-executable instructions cause the computing device to determine that the configurable threshold period has been exceeded by checking that a count of contiguous folders for storing the electronic messages and that are viewable without encountering a journal part for the message identifier exceeds the configurable threshold period.

Assignments (14)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA AND CORRECT THE PATENT NUMBERS PREVIOUSLY RECORDED AT REEL: 69548 FRAME: 468. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 4, 2026
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 074876/0584 →
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0931 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 10, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043141/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2017
From: BULL, STEVEN; GILBERT, ANDREW
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 042369/0348 →