IP Library Granted Patent US 9,998,421
Granted Patent B2
US 9,998,421 · App. 14/735,702 · Granted Jun 12, 2018

Open channel application programming interface

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 9,998,421
App. No.
14/735,702
Granted
Jun 12, 2018
Kind
B2
Abstract

Systems and methods for distributing messages are described. In some embodiments, a server system includes one or more processors, and memory storing one or more programs for execution by the one or more processors. The system receives message distribution information, the message distribution information including a channel identifier and a message distribution address. The system receives from a message queue a plurality of messages that correspond to the channel identifier. The plurality of messages is for distribution to a plurality of users through one or more message distribution servers. The system processes the plurality of messages in accordance with the message distribution information; and sends a plurality of processed messages to the message distribution address for distribution to the plurality of users.

Claims (50)

1. A method, comprising:

at a server system comprising one or more processors and memory:

receiving message distribution information, the message distribution information including a channel identifier and a message distribution address corresponding to one or more message distribution servers;

obtaining from a message queue of the server system a plurality of messages that correspond to the channel identifier, wherein the message queue includes the plurality of messages prior to the server system receiving the message distribution information, each message of the plurality of messages has a designed recipient, and the plurality of messages is for distribution to a plurality of users through the one or more message distribution servers;

processing the plurality of messages in accordance with the message distribution information; and

sending the plurality of processed messages to the message distribution address for distribution to the plurality of users through the one or more message distribution servers.

2. The method of claim 1 , wherein the server system, in response to receiving the message distribution information, sends a request to retrieve from the message queue the plurality of messages that correspond to the channel identifier; and

wherein processing the plurality of messages includes:

coupling one or more adapters, of a plurality of adapters, to process the plurality of messages, wherein each adapter of the plurality of adapters includes at least one message distribution configuration, each message distribution configuration corresponding to a respective message distribution server of a plurality of message distribution servers and specifying a message format change and/or supplemental information to be added to messages to be sent via the respective message distribution server of the plurality of message distribution servers; and

processing the plurality of messages with the one or more coupled adapters.

3. The method of claim 1 , wherein timing of obtaining from the message queue the plurality of messages that correspond to the channel identifier is independent of receiving the message distribution information.

4. The method of claim 1 , wherein the message distribution information includes a predefined distribution configuration that is configured for processing the plurality of messages.

5. The method of claim 4 , wherein processing the plurality of messages in accordance with the predefined distribution configuration includes generating the plurality of processed messages by inserting predefined information in the predefined distribution configuration into each of the plurality of messages.

6. The method of claim 1 , wherein the plurality of messages is in a first format, and processing the plurality of messages in accordance with the message distribution information includes converting the plurality of messages into a second format that is distinct from the first format.

7. The method of claim 1 , further comprising:

receiving a plurality of responses, a respective response of the plurality of responses responding to a respective processed message of the plurality of processed messages;

processing the plurality of responses in accordance with the message distribution information; and

storing a plurality of processed responses.

8. The method of claim 7 , wherein the plurality of responses are in a third format, and processing the plurality of responses in accordance with information in the message distribution information includes converting the plurality of responses into a fourth format that is distinct from the third format.

9. The method of claim 1 , wherein the one or more message distribution servers are located remotely from the server system.

10. A server system, comprising:

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

receiving message distribution information, the message distribution information including a channel identifier and a message distribution address corresponding to one or more message distribution servers;

obtaining from a message queue of the server system a plurality of messages that correspond to the channel identifier, wherein the message queue includes the plurality of messages prior to the server system receiving the message distribution information, each message of the plurality of messages has a designed recipient, and the plurality of messages is for distribution to a plurality of users through the one or more message distribution servers;

processing the plurality of messages in accordance with the message distribution information; and

sending the plurality of processed messages to the message distribution address for distribution to the plurality of users through the one or more message distribution servers.

11. The system of claim 10 , wherein the one or more programs include instructions for, in response to receiving the message distribution information, sending a request to retrieve from the message queue the plurality of messages that correspond to the channel identifier; and

wherein processing the plurality of messages includes:

coupling one or more adapters, of a plurality of adapters, to process the plurality of messages, wherein each adapter of the plurality of adapters includes at least one message distribution configuration, each message distribution configuration corresponding to a respective message distribution server of a plurality of message distribution servers and specifying a message format change and/or supplemental information to be added to messages to be sent via the respective message distribution server of the plurality of message distribution servers; and

processing the plurality of messages with the one or more coupled adapters.

12. The system of claim 10 , wherein timing of obtaining from the message queue the plurality of messages that correspond to the channel identifier is independent of receiving the message distribution information.

13. The system of claim 10 , wherein the message distribution information includes a predefined distribution configuration that is configured for processing the plurality of messages.

14. The system of claim 13 , wherein processing the plurality of messages in accordance with the predefined distribution configuration includes generating the plurality of processed messages by inserting predefined information in the predefined distribution configuration into each of the plurality of messages.

15. The system of claim 10 , wherein the plurality of messages is in a first format, and processing the plurality of messages in accordance with the message distribution information includes converting the plurality of messages into a second format that is distinct from the first format.

16. The system of claim 10 , wherein the one or more programs include instructions for:

receiving a plurality of responses, a respective response of the plurality of responses responding to a respective processed message of the plurality of processed messages;

processing the plurality of responses in accordance with the message distribution information; and

storing a plurality of processed responses.

17. The system of claim 16 , wherein the plurality of responses are in a third format, and processing the plurality of responses in accordance with information in the message distribution information includes converting the plurality of responses into a fourth format that is distinct from the third format.

18. The system of claim 10 , wherein the one or more message distribution servers are located remotely from the server system.

19. A non-transitory computer readable storage medium storing one or more programs for execution by one or more processors of a server system, the one or more programs including instructions for:

receiving message distribution information, the message distribution information including a channel identifier and a message distribution address corresponding to one or more message distribution servers;

obtaining from a message queue of the sever system a plurality of messages that correspond to the channel identifier, wherein the message queue includes the plurality of messages prior to the server system receiving the message distribution information, each message of the plurality of messages has a designed recipient, and the plurality of messages is for distribution to a plurality of users through the one or more message distribution servers;

processing the plurality of messages in accordance with the message distribution information; and

sending the plurality of processed messages to the message distribution address for distribution to the plurality of users through the one or more message distribution servers.

20. The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs include instructions for, in response to receiving the message distribution information, sending a request to retrieve from the message queue the plurality of messages that correspond to the channel identifier; and

wherein processing the plurality of messages includes:

coupling one or more adapters, of a plurality of adapters, to process the plurality of messages, wherein each adapter of the plurality of adapters includes at least one message distribution configuration, each message distribution configuration corresponding to a respective message distribution server of a plurality of message distribution servers and specifying a message format change and/or supplemental information to be added to messages to be sent via the respective message distribution server of the plurality of message distribution servers; and

processing the plurality of messages with the one or more coupled adapters.

Assignments (12)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: MAYALA, TULSI RAM
To: STRONGMAIL SYSTEMS, INC.
Reel/Frame 045253/0528 →
CHANGE OF NAME Recorded Mar 16, 2018
From: STRONGMAIL SYSTEMS, INC.
To: STRONGVIEW SYSTEMS, INC.
Reel/Frame 045618/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: STERNS, JEREMY
To: SELLIGENT, INC.
Reel/Frame 045619/0199 →
CHANGE OF NAME Recorded Mar 16, 2018
From: STRONGVIEW SYSTEMS, INC.
To: SELLIGENT, INC.
Reel/Frame 045619/0201 →