IP Library Granted Patent US 10,581,767
Granted Patent B1
US 10,581,767 · App. 14/862,183 · Granted Mar 3, 2020

Systems and methods for email journaling

Inventors: Hrishikesh Desai (Pune, IN); Mukesh Panchauli (Pune, IN)
Assignee: Veritas Technologies LLC
H04L51/04H04L51/22H04L51/28G06Q10/107
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,581,767
App. No.
14/862,183
Granted
Mar 3, 2020
Kind
B1
Abstract

A computer-implemented method for email journaling may include (1) maintaining, by a journaling mail server, a cache that associates together an update sequence number that indicates a version of an email distribution list and email addresses that are both designated as targets for journaling and included within the version of the email distribution list identified by the update sequence number, (2) receiving, by the server, an email that includes, within at least one header field, a candidate update sequence number and an email distribution list identifier, (3) determining that the update sequence number in the cache is a match for the candidate update sequence number in the header field, and (4) identifying, based on the match between the update sequence number and the candidate update sequence number, the email addresses specified in the cache as the targets for journaling. Various other methods, systems, and computer-readable media are also disclosed.

Claims (45)

1. A computer-implemented method for email journaling, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

maintaining, by a journaling mail server, a cache that associates together:

an update sequence number that indicates a version of an email distribution list;

email addresses that are both designated as targets for journaling and included within the version of the email distribution list identified by the update sequence number;

receiving, by the journaling mail server, an email that includes, within at least one header field, a candidate update sequence number and an email distribution list identifier, the email distribution list identifier identifying the email distribution list;

determining that the update sequence number in the cache is a match for the candidate update sequence number in the header field;

identifying, based on the match between the update sequence number and the candidate update sequence number, the email addresses specified in the cache as the targets for journaling.

2. The method of claim 1 , wherein the journaling mail server executes a task according to the simple mail transfer protocol.

3. The method of claim 1 , wherein identifying the email addresses specified in the cache as the targets for journaling enables the journaling mail server to skip a process for matching email addresses that are designated as targets to email addresses that are included within an expanded list of email addresses for the email distribution list.

4. The method of claim 3 , wherein skipping the process for matching email addresses that are designated as targets to email addresses that are included within the expanded list of email addresses for the email distribution list comprises reusing cached results from a previous execution of the process for matching.

5. The method of claim 1 , wherein determining that the update sequence number in the cache is a match for the candidate update sequence number in the header field is performed in response to checking for whether the update sequence number in the cache is a match for the candidate update sequence number in the header field.

6. The method of claim 1 , wherein:

the email is formatted according to a protocol that provides for extensible header fields;

the email includes the candidate update sequence number and the email distribution list identifier within at least one extensible header field according to the protocol.

7. The method of claim 1 , further comprising receiving, by the journaling mail server, an additional email that includes an additional candidate update sequence number and the email distribution list identifier in a header field.

8. The method of claim 7 , further comprising determining that the update sequence number in the cache is not a match for the additional candidate update sequence number in the header field.

9. The method of claim 8 , further comprising, in response to determining that the update sequence number in the cache is not a match, performing a process for matching email addresses that are designated as targets to email addresses that are included within an expanded list of email addresses for the email distribution list.

10. The method of claim 9 , further comprising:

updating the update sequence number in the cache to match the candidate update sequence number in the header field;

updating the email addresses in the cache to specify results of performing the process for matching email addresses.

11. A system for email journaling, the system comprising:

a maintenance module, stored in memory, that maintains, as part of a journaling mail server, a cache that associates together:

an update sequence number that indicates a version of an email distribution list;

email addresses that are both designated as targets for journaling and included within the version of the email distribution list identified by the update sequence number;

a reception module, stored in memory, that receives, as part of the journaling mail server, an email that includes, within at least one header field, a candidate update sequence number and an email distribution list identifier, the email distribution list identifier identifying the email distribution list;

a determination module, stored in memory, that determines that the update sequence number in the cache is a match for the candidate update sequence number in the header field;

an identification module, stored in memory, that identifies, based on the match between the update sequence number and the candidate update sequence number, the email addresses specified in the cache as the targets for journaling;

at least one physical processor configured to execute the maintenance module, the reception module, the determination module, and the identification module.

12. The system of claim 11 , wherein the journaling mail server executes a task according to the simple mail transfer protocol.

13. The system of claim 11 , wherein the identification module identifies the email addresses specified in the cache as the targets for journaling at least in part by enabling the journaling mail server to skip a process for matching email addresses that are designated as targets to email addresses that are included within an expanded list of email addresses for the email distribution list.

14. The system of claim 13 , wherein the identification module skips the process for matching email addresses that are designated as targets to email addresses that are included within the expanded list of email addresses for the email distribution list by reusing cached results from a previous execution of the process for matching.

15. The system of claim 11 , wherein the determination module determines that the update sequence number in the cache is a match for the candidate update sequence number in the header field in response to checking for whether the update sequence number in the cache is a match for the candidate update sequence number in the header field.

16. The system of claim 11 , wherein:

the email is formatted according to a protocol that provides for extensible header fields;

the email includes the candidate update sequence number and the email distribution list identifier within at least one extensible header field according to the protocol.

17. The system of claim 11 , wherein the reception module receives, as part of the journaling mail server, an additional email that includes an additional candidate update sequence number and the email distribution list identifier in a header field.

18. The system of claim 17 , wherein the determination module determines that the update sequence number in the cache is not a match for the additional candidate update sequence number in the header field.

19. The system of claim 18 , wherein the identification module, in response to determining that the update sequence number in the cache is not a match, performs a process for matching email addresses that are designated as targets to email addresses that are included within an expanded list of email addresses for the email distribution list.

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

maintain, by a journaling mail server, a cache that associates together:

an update sequence number that indicates a version of an email distribution list;

email addresses that are both designated as targets for journaling and included within the version of the email distribution list identified by the update sequence number;

receive, by the journaling mail server, an email that includes, within at least one header field, a candidate update sequence number and an email distribution list identifier, the email distribution list identifier identifying the email distribution list;

determine that the update sequence number in the cache is a match for the candidate update sequence number in the header field;

identify, based on the match between the update sequence number and the candidate update sequence number, the email addresses specified in the cache as the targets for journaling.

Assignments (14)
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 →
SECURITY INTEREST Recorded Mar 17, 2025
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070530/0497 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: DESAI, HRISHIKESH; PANCHAULI, MUKESH
To: SYMANTEC CORPORATION
Reel/Frame 036628/0399 →