IP Library Granted Patent US 8,386,638
Granted Patent B2
US 8,386,638 · App. 13/460,698 · Granted Feb 26, 2013

Systems and methods for adaptive communication control

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,386,638
App. No.
13/460,698
Granted
Feb 26, 2013
Kind
B2
Abstract

Computer program products, apparatus, and methods for processing digital messages to recipients at destination domains is provided. A plurality of profiles are established, each profile for handling digital to a specific domain or set of domains. A request to process a plurality of outbound digital messages is handled by, for each given digital message, processing the given digital message by (i) determining a destination domain for digital messages, (ii) reading a profile for the determined destination domain for the digital messages and (iii) based on at least one parameter set in the profile: (a) sending the given digital message to the determined destination domain in accordance with the profile when permitted by the at least one parameter set in the profile, or (b) not sending the digital message to the determined destination domain when required by the at least one parameter set in the profile.

Claims (56)

1. A method of processing digital messages, comprising:

on a digital message system having one or more processors and memory storing one or more programs for execution by the one or more processors:

obtaining digital message policy information for a plurality of domains;

determining a respective digital policy for each corresponding domain in the plurality of domains, wherein the digital message policy for each corresponding domain in the plurality of domains dictates a manner in which digital messages are to be sent to the corresponding domain;

establishing a plurality of profiles wherein each respective profile in the plurality of profiles is for handling digital messages to an associated domain in the plurality of destination domains and wherein each respective profile in the plurality of profiles comprises a set of parameters at least one of which is specified by the digital policy of the associated domain;

receiving, after the establishing, a request from a remote computer system to process for transfer a plurality of outbound digital messages, each outbound digital message in the plurality of outbound digital messages specifying delivery to at least one recipient at a particular domain; and

for a respective outbound digital message in the plurality of outbound digital messages, processing the respective outbound digital message using the digital message system by:

determining a destination domain for the respective outbound digital message

reading a respective profile, in the plurality of profiles, associated with the determined destination domain of the respective outbound digital message and, based on at least one parameter in the respective profile:

(i) sending the respective outbound digital message to the associated determined destination domain in accordance with the respective profile when permitted by the at least one parameter in the respective profile, or

(ii) holding the respective outbound digital message without sending the respective outbound digital message to the determined destination domain when required by the at least one parameter in the respective profile.

2. The method of claim 1 , further comprising:

receiving a message notification from the determined destination domain in response to the sending of the respective outbound digital message to the determined destination domain by the digital message system; and

updating the respective profile for the determined destination domain in response to the message notification.

3. The method of claim 2 , wherein the message notification is a delivery failure notification indicating that the respective outbound digital message was not delivered to the determined destination domain and the updating step comprises:

updating the respective profile for the determined destination domain to postpone delivery of any digital message from the digital message system to the determined destination domain for a period of time.

4. The method of claim 1 , wherein the respective profile in the plurality of profiles corresponding to the determined destination domain further comprises:

a connection time out period such that, when the digital message system attempts to establish contact with the determined destination domain in order to deliver a digital message and connection is not established within the connection time out period, the delivery of the digital message is deemed to have failed; and

a maximum number of attempts parameter that determines a number of times the digital message system will attempt to deliver a digital message to the determined destination domain before permanently aborting any attempt to deliver the digital message to the determined destination domain.

5. The method of claim 1 , the method further comprising:

automatically obtaining an update, without user intervention, of one or more profiles in the plurality of profiles from an external system.

6. The method of claim 1 , further comprising:

monitoring digital messages sent to the determined destination domain to determine whether a condition is satisfied and, when the condition is satisfied, updating the profile for the determined destination domain, in the plurality of profiles, to include one or more actions corresponding to the condition.

7. The method of claim 6 , wherein the condition is a number of time outs that occurred during a predetermined evaluation interval and the action is a requirement that all digital messages bound for the determined destination domain be deferred; wherein the monitoring comprises:

evaluating, each time a period of time equal to the predetermined evaluation interval has elapsed, a number of times during the latest predetermined evaluation interval that the digital message system failed to deliver a digital message to the determined destination domain; and

when the number of times the digital message system failed to deliver a digital message to the determined destination domain exceeds a maximum allowable number of time outs, the profile for the determined destination domain is updated to include a deferral requirement that specifies that all further digital messages from the digital message system to the determined destination domain be deferred; and

when the number of times the digital message system failed to deliver a digital message to the determined destination domain does not exceed a maximum allowable number of time outs and digital messages to the determined destination domain has not been deferred during the latest predetermined evaluation interval, the profile for the determined destination domain is not updated to include a deferral requirement that specifies that all further digital messages from the digital message system to the determined destination domain are to be deferred.

8. The method of claim 7 , wherein, when a predetermined period of time has elapsed and the respective profile for the determined destination domain specifies that digital messages from the digital message system to the determined destination domain is to be deferred, the method further comprises updating the profile for the determined destination domain to remove the deferral requirement so that the digital message system can resume sending digital messages to the determined destination domain.

9. The method of claim 6 , wherein the condition is a number of spam block notifications sent from the determined destination domain to the digital message system that occurred during a predetermined evaluation interval and the action is an indication that the determined destination be deemed dormant; wherein the monitoring step comprises:

evaluating, each time a period of time equal to the predetermined evaluation interval has elapsed, a number of times a spam block notification was received from the determined destination domain during the latest predetermined evaluation interval indicating that a digital message sent to the determined destination domain was spam; and

when the number of times a span block notification was received exceeds a maximum allowable number of span block notifications, the profile for the determined destination domain is updated to include a dormant indication that specifies that all further digital messages from the digital message system to the determined destination domain not be sent.

10. The method of claim 1 , wherein for the respective profile, in the plurality of profiles, associated with the determined destination domain of the respective outbound digital message, the at least one parameter is specified by the originator of the digital message.

11. A digital message system, for processing digital messages, comprising:

one or more processors; and

memory storing one or more programs to be executed by the one or more processors;

the one or more programs comprising instructions for:

obtaining digital message policy information for a plurality of domains;

determining a digital policy for each respective domain in the plurality of domains, wherein the digital message policy for each respective domain in the plurality of domains dictates a manner in which digital messages are to be sent to the respective domain;

establishing a plurality of profiles wherein each respective profile in the plurality of profiles is for handling digital messages to a corresponding domain in the plurality of destination domains and wherein each respective profile in the plurality of profiles comprises a set of parameters at least one of which is specified by the digital policy of the associated domain;

receiving, after the establishing, a request from a remote computer system to process for transfer a plurality of outbound digital messages, each outbound digital message in the plurality of outbound digital messages specifying delivery to at least one recipient at a particular domain; and

for a respective outbound digital message in the plurality of outbound digital messages, processing the respective outbound digital message using the digital message system by:

determining a destination domain for the respective outbound digital message

reading a respective profile, in the plurality of profiles, associated with the determined destination domain of the respective outbound digital message and, based on at least one parameter in the respective profile:

(i) sending the respective outbound digital message to the associated determined destination domain in accordance with the respective profile when permitted by the at least one parameter in the respective profile, or

(ii) holding the respective outbound digital message without sending the respective outbound digital message to the determined destination domain when required by the at least one parameter in the respective profile.

12. The system of claim 11 , wherein the digital message system comprises a plurality of servers and the server in the plurality of servers that performs the processing of the respective outbound digital message is dynamically determined based on server load in the plurality of servers.

13. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:

obtaining digital message policy information for a plurality of domains;

determining a digital policy for each respective domain in the plurality of domains, wherein the digital message policy for each respective domain in the plurality of domains dictates a manner in which digital messages are to be sent to the respective domain;

establishing a plurality of profiles wherein each respective profile in the plurality of profiles is for handling digital messages to a corresponding domain in the plurality of destination domains and wherein each respective profile in the plurality of profiles comprises a set of parameters at least one of which is specified by the digital policy of the associated domain;

receiving, after the establishing, a request from a remote computer system to process for transfer a plurality of outbound digital messages, each outbound digital message specifying delivery to at least one recipient at a particular domain; and

for a respective outbound digital message in the plurality of outbound digital messages, processing the respective outbound digital message using the digital message system by:

determining a destination domain for the respective outbound digital message

reading a respective profile, in the plurality of profiles, associated with the determined destination domain of the respective outbound digital message and, based on at least one parameter in the respective profile:

(i) sending the respective outbound digital message to the associated determined destination domain in accordance with the respective profile when permitted by the at least one parameter in the respective profile, or

(ii) holding the respective outbound digital message without sending the respective outbound digital message to the determined destination domain when required by the at least one parameter in the respective profile.

Assignments (15)
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 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: MCQUILLEN, TIM; MAYALA, TULSI R.
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 036511/0664 →
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 →