IP Library Granted Patent US 7,698,369
Granted Patent B2
US 7,698,369 · App. 10/857,601 · Granted Apr 13, 2010

Email delivery system using metadata on emails to manage virtual storage

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 7,698,369
App. No.
10/857,601
Granted
Apr 13, 2010
Kind
B2
Abstract

E-mail system which organizes e-mails into queues based on their locations and characterizes the e-mails. Metadata, indicative of the e-mail, is appended to the e-mail. The queues are organized based on the metadata, and processed. The metadata is always stored in local storage; and the message body may be stored in local storage, or in remote storage, depending on how long it will be until the message is sent. A special server manages whether the information is stored in local or remote storage.

Claims (33)

1. An e-mail system comprising:

(A) a non-persistent or random memory comprising a plurality of data nodes, each respective data node in the plurality of data nodes uniquely representing a corresponding e-mail in a plurality of e-mails that are to be sent over a network by the e-mail system to one or more destinations;

(B) an input handler, wherein the input handler comprises instructions for:

(i) receiving an incoming e-mail from an e-mail client over a network connection,

(ii) storing a portion of the incoming e-mail in a first location in persistent storage that is accessible by the e-mail system,

(iii) digesting the incoming e-mail into a data node representing the incoming e-mail, wherein the data node includes (a) a pointer to the first location, (b) routing information for the incoming e-mail that includes a destination domain for the incoming e-mail, and (c) metadata that represents a state of processing of the incoming e-mail,

(iv) adding the data node to the plurality of data nodes, wherein the adding (iv) comprises storing the data node in a queue in a plurality of queues in said non-persistent or random memory based on said destination domain of the incoming e-mail,

(v) assigning a unique identifier to the incoming e-mail from a bit vector of the incoming e-mail, wherein the bit vector of the incoming e-mail includes sufficient information to reconstruct the incoming e-mail and the state of processing of the incoming e-mail by the e-mail system in the event of a disruption of the e-mail system without storing the entirety of the incoming e-mail to persistent storage,

(vi) storing the bit vector of the incoming e-mail in a second location in persistent storage, and

(viii) storing the unique identifier of the incoming e-mail in the data node corresponding to the incoming e-mail; and

(C) an e-mail processing element, wherein the e-mail processing element comprises instructions for:

(i) reading a first data node, in said plurality of data nodes, that uniquely represents a corresponding e-mail in said plurality of e-mails,

(ii) determining a next action for delivery of the corresponding e-mail based at least partly on said metadata in the first data node,

(iii) reconstructing the corresponding e-mail from (a) the first data node and (b) the portion of the e-mail at a first location in persistent storage identified by the pointer to the corresponding e-mail that is in the first data node, and

(iv) sending the corresponding e-mail over a network to the destination domain specified by the first data node.

2. The e-mail system as in claim 1 , wherein said metadata in a respective data node in the plurality of data nodes includes a quality of service guarantee, and said e-mail processing element determines a priority for processing the respective e-mail uniquely represented by the respective data node based on said quality of service guarantee.

3. The e-mail system as in claim 1 , wherein said metadata in a respective data node in the plurality of data nodes indicates a state of asynchronous processing of the respective e-mail uniquely represented by the respective data node, and wherein said e-mail processing element determines whether the respective e-mail is ready for delivery based on said state of asynchronous processing.

4. The e-mail system as in claim 3 , wherein said state of asynchronous processing of the respective e-mail is a state of DNS lookup, wherein said metadata in the data node that uniquely represents the respective e-mail indicates a state of DNS lookup for the respective e-mail, and said e-mail processing element determines whether the respective e-mail is ready for sending based on said state of DNS lookup.

5. The e-mail system as in claim 3 , wherein said state of asynchronous processing of the respective e-mail includes an indication of whether a specified service has been requested for the respective e-mail.

6. The e-mail system as in claim 5 , wherein said specified service is an antivirus check.

7. The e-mail system as in claim 5 , wherein said state of asynchronous processing of the respective e-mail also includes an indication of whether the specified service has been completed for the respective e-mail.

8. The e-mail system as in claim 3 , wherein said state of asynchronous processing of the respective e-mail includes an indication of whether other e-mails need to be sent to a recipient before the respective e-mail.

9. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes an identity of the sender of the e-mail represented by the data node.

10. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes an identity of the recipient of the e-mail represented by the data node.

11. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a unique session identifier for the e-mail represented by the data node.

12. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a visit count for the e-mail represented by the data node.

13. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a priority for the e-mail represented by the data node.

14. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a maximum size of the e-mail represented by the data node.

15. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes an indication of when the e-mail represented by the data node was received by the e-mail system.

16. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a virtual identifier for the e-mail represented by the data node.

17. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a number of retries for the e-mail represented by the data node.

18. The e-mail system as in claim 1 , wherein a data node in the plurality of data nodes includes a next retry strategy for the e-mail represented by the data node.

19. The e-mail system as in claim 1 , wherein the first location is in persistent storage in a remote location.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Jul 27, 2026
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: MARIGOLD USA, INC.; SAILTHRU, INC.; LIVECLICKER INC.
Reel/Frame 075403/0782 →
SECURITY INTEREST Recorded Feb 2, 2026
From: MARIGOLD USA, INC.; SAILTHRU, INC.; LIVECLICKER INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 073653/0421 →
RELEASE OF SECURITY INTEREST Recorded Dec 1, 2025
From: HERCULES CAPITAL, INC.
To: SELLIGENT, INC.
Reel/Frame 073067/0468 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT RECORDED AT REEL 59280, FRAME 0669 Recorded Dec 1, 2025
From: BARINGS FINANCE LLC
To: SELLIGENT, INC.
Reel/Frame 073840/0046 →
MERGER Recorded Dec 5, 2024
From: SELLIGENT, INC.
To: MARIGOLD USA, INC.
Reel/Frame 069492/0129 →
SECURITY INTEREST Recorded Mar 16, 2022
From: SELLIGENT, INC.
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 059280/0669 →
SECURITY INTEREST Recorded Jan 13, 2021
From: SELLIGENT, INC.
To: HERCULES CAPITAL, INC., COLLATERAL AGENT
Reel/Frame 054906/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 24, 2020
From: GOLD HILL CAPITAL 2008, LP
To: SELLIGENT INC., FORMERLY KNOWN AS STRONGMAIL SYSTEMS, INC.
Reel/Frame 054456/0962 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2020
From: AB PRIVATE CREDIT INVESTORS LLC
To: SELLIGENT, INC.
Reel/Frame 054270/0584 →
RELEASE Recorded Dec 3, 2018
From: SILICON VALLEY BANK
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 048002/0292 →
SECURITY INTEREST Recorded Nov 5, 2018
From: SELLIGENT, INC.
To: AB PRIVATE CREDIT INVESTORS LLC, AS COLLATERAL AGENT
Reel/Frame 047408/0396 →
CHANGE OF NAME Recorded Oct 22, 2018
From: STRONGVIEW SYSTEMS, INC.
To: SELLIGENT, INC.
Reel/Frame 047287/0699 →
RELEASE OF SECURITY INTEREST Recorded Sep 17, 2018
From: WF FUND IV LIMITED PARTNERSHIP
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 046892/0947 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2015
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 036644/0879 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 16, 2014
From: STRONGVIEW SYSTEMS, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 034642/0623 →
CHANGE OF NAME Recorded Aug 12, 2013
From: STRONGMAIL SYSTEMS, INC.
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 031004/0533 →
SECURITY AGREEMENT Recorded Aug 2, 2012
From: STRONGMAIL SYSTEMS, INC.
To: WF FUND IV LIMITED PARTNERSHIP
Reel/Frame 028716/0218 →
SECURITY INTEREST Recorded Jan 6, 2011
From: STRONGMAIL SYSTEMS, INC.
To: SILICON VALLEY BANK, AS AGENT
Reel/Frame 025642/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2004
From: ADDANTE, FRANK; MCQUILLEN, TIM; SHAITAN, JUNIOR
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 015767/0592 →