IP Library Granted Patent US 8,914,455
Granted Patent B2
US 8,914,455 · App. 13/846,867 · Granted Dec 16, 2014

Systems and methods for processing emails

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,914,455
App. No.
13/846,867
Granted
Dec 16, 2014
Kind
B2
Abstract

An e-mail processing system includes: a non-persistent or random memory storing a message queue map having a plurality of message queues, an input handler, and an output handler. Each message queue includes a plurality of data nodes, and each data node represents one message intended for delivery to a respective domain. The input handler comprises instructions for: (i) obtaining an incoming first e-mail, (ii) digesting the incoming first e-mail into a first data node representing the incoming first e-mail, and (iii) analyzing the first data node to determine a first message queue in the number of message queues based at least on the destination domain of the first data node, (iv) appending the first data node to the plurality of data nodes in the first message queue. The output handler processes a data node in a message queue in the message queue map to send e-mail to an intended recipient.

Claims (63)

1. An e-mail processing system comprising:

one or more processors;

a non-persistent or random memory storing a message queue map having a plurality of message queues, wherein each message queue includes a plurality of data nodes, wherein each data node represents one message intended for delivery to a respective domain;

an input handler, wherein the input handler comprises instructions for:

(i) obtaining an incoming first e-mail,

(ii) digesting the incoming first e-mail into a first data node representing the incoming first e-mail,

(iii) analyzing the first data node to determine a first message queue in the number of message queues based at least on the destination domain of the first data node, and

(iv) appending the first data node to the plurality of data nodes in the first message queue, wherein

the first data node comprises a pointer to an area in a message files database and a pointer to an area in a mailing configuration database,

the message files database represents specific messages that are being sent, and

the mailing configuration database stores e-mail tracking information for the first e-mail; and

an output handler, wherein the output handler comprises instructions for:

processing a data node in a message queue in the message queue map to send e-mail to an intended recipient.

2. The system of claim 1 , wherein all the data nodes in a message queue in the message queue map are sent at once.

3. The system of claim 1 , wherein the output handler processes message queues in the message queue map in round robin fashion.

4. The system of claim 1 , wherein the output handler processes the message queue in the message queue map with the greatest number of message nodes therein.

5. The system of claim 1 , wherein the output handler removes a message queue from the message queue map once all the data nodes from the message queue have been sent.

6. The system of claim 1 , wherein the first message queue is associated with a specific domain, and wherein the specific domain matches the destination domain of the first data node.

7. The system of claim 1 , wherein the output handler further comprises instructions for, in accordance with a determination that a message queue does not include a predefined number of data nodes, removing the message queue from the message queue map.

8. The system of claim 1 , wherein the output handler further comprises instructions for, in accordance with a determination that a predefined error has occurred in connection with processing a data node included in a message queue:

adding the data node back to the message queue, or

adding the data node to a new message queue.

9. A method comprising:

at a computing device having one or more processors and non-persistent or random access memory storing one or more programs for execution by the one or more processors so as to perform the method, the computing device comprising a non-persistent or random memory, wherein

the memory stores a message queue map having a plurality of message queues,

each message queue includes a plurality of data nodes, and

each data node represents one message intended for delivery to a respective domain, the method comprising:

(i) obtaining an incoming first e-mail,

(ii) digesting the incoming first e-mail into a first data node representing the incoming first e-mail,

(iii) analyzing the first data node to determine a first message queue in the number of message queues based at least on the destination domain of the first data node, and

(iv) appending the first data node to the plurality of data nodes in the first message queue, wherein

the first data node comprises a pointer to an area in a message files database and a pointer to an area in a mailing configuration database,

the message files database represents specific messages that are being sent, and

the mailing configuration database stores e-mail tracking information for the first e-mail; and

(v) processing a data node in a message queue in the message queue map to send e-mail to an intended recipient.

10. The method of claim 9 , wherein all the data nodes in a message queue in the message queue map are sent at once.

11. The method of claim 9 , wherein the message queues in the message queue map are processed in round robin fashion.

12. The method of claim 9 , wherein the message queue with the greatest number of message nodes therein in the message queue map is processed first.

13. The method of claim 9 , wherein the one or more programs further comprises instructions to remove a message queue from the message queue map once all the data nodes from the message queue have been sent.

14. The method of claim 9 , wherein the first message queue is associated with a specific domain, and wherein the specific domain matches the destination domain of the first data node.

15. The method of claim 9 , further comprising:

in accordance with a determination that a message queue does not include a predetermined number of data nodes:

removing the message queue from the message queue map.

16. The method of claim 9 , further comprising:

in accordance with a determination that a predefined error has occurred in connection with processing a data node included in a message queue,

adding the data node back to the message queue, or

adding the data node to a new message queue.

17. A non-transitory computer readable storage medium storing one or more computer programs, the one or more computer programs in electronic communication with a non-persistent or random memory, wherein

the non-persistent or random memory stores a message queue map having a plurality of message queues,

each message queue includes a plurality of data nodes, and

each data node represents one message intended for delivery to a respective domain; the one or more computer programs comprising instructions, which when executed by a computer system, cause the computer system to:

(i) obtain an incoming first e-mail,

(ii) digest the incoming first e-mail into a first data node representing the incoming first e-mail,

(iii) analyze the first data node to determine a first message queue in the number of message queues based at least on the destination domain of the first data node, and

(iv) append the first data node to the plurality of data nodes in the first message queue, wherein

the first data node comprises a pointer to an area in a message files database and a pointer to an area in a mailing configuration database,

the message files database represents specific messages that are being sent, and

the mailing configuration database stores e-mail tracking information for the first e-mail; and

(v) process a data node in a message queue in the message queue map to send e-mail to an intended recipient.

18. The non-transitory computer readable storage medium of claim 17 , wherein all the data nodes in a message queue in the message queue map are sent at once.

19. The non-transitory computer readable storage medium of claim 17 , wherein the message queues in the message queue map are processed in round robin fashion.

20. The non-transitory computer readable storage medium of claim 17 , wherein the message queue with the greatest number of message nodes therein in the message queue map is processed first.

21. The non-transitory computer readable storage medium of claim 17 , wherein the one or more programs further comprises instructions to remove a message queue from the message queue map once all the data nodes from the message queue have been sent.

Assignments (13)
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 →
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 4, 2020
From: AB PRIVATE CREDIT INVESTORS LLC
To: SELLIGENT, INC.
Reel/Frame 054270/0584 →
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 20, 2018
From: SILICON VALLEY BANK
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 047822/0735 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2015
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 036644/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: ADDANTE, FRANK; MCQUILLEN, TIM; SHAITAN, JUNIOR
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 036510/0213 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 16, 2014
From: STRONGVIEW SYSTEMS, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 034642/0623 →
SECURITY INTEREST Recorded Sep 22, 2014
From: STRONGVIEW SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033788/0674 →
CHANGE OF NAME Recorded Aug 12, 2013
From: STRONGMAIL SYSTEMS, INC.
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 031004/0533 →