IP Library Granted Patent US 9,658,906
Granted Patent B2
US 9,658,906 · App. 14/708,012 · Granted May 23, 2017

Routing messages between applications

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,658,906
App. No.
14/708,012
Granted
May 23, 2017
Kind
B2
Abstract

A system and method for enabling the interchange of enterprise data through an open platform is disclosed. This open platform can be based on a standardized interface that enables parties to easily connect to and use the network. Services operating as senders, recipients, and in-transit parties can therefore leverage a framework that overlays a public network.

Claims (48)

1. A method for routing a message between a message producer and a message consumer, the method comprising:

receiving, by a message routing system from a message producer, a request to authenticate the message producer;

authenticating, by the message routing system, the message producer;

generating, by the message routing system, a token indicating authentication of the message producer by the message routing system;

transmitting, by the message routing system, the token to the message producer;

receiving, by the message routing system from the message producer, a first message directed to a message consumer, the first message including the token;

authenticating, by the message routing system, the first message based on the token included with the first message;

responsive to authenticating the first message, determining, by the message routing system, a route for routing the first message to the message consumer;

storing, by the message routing system based on the determined route, the first message in a storage associated with the message consumer;

responsive to receiving by the message routing system from the message consumer a first polling request for messages in the storage, providing, by the message routing system to the message consumer, the stored first message received from the message producer;

storing, by the message routing system, a second message in the storage; and

responsive to receiving a second polling request from the message consumer, determining, by the message routing system, not to provide the second message to the message consumer based on an expiration time being reached.

2. The method of claim 1 , further comprising:

processing the first message prior to storing the first message in the storage associated with the message consumer.

3. The method of claim 1 , wherein the token includes information associated with the authenticated message producer.

4. The method of claim 1 , wherein the message routing system authenticates the first message without requesting authentication information from the message producer.

5. A method for routing a message between a message producer and a message consumer, the method comprising:

receiving, by a message routing system from a message producer, a request to authenticate the message producer;

authenticating, by the message routing system, the message producer;

generating, by the message routing system, a token including information associated with the message producer and indicating authentication of the message producer by the message routing system;

transmitting, by the message routing system, the token to the message producer;

receiving, by the message routing system from the message producer, a first message directed to a message consumer, the first message including the token;

authenticating, by the message routing system, the first message based on the token included with the first message;

responsive to authenticating the first message, determining, by the message routing system, a route for routing the first message to the message consumer;

storing, by the message routing system based on the determined route, the first message in a storage associated with the message consumer;

responsive to receiving by the message routing system from the message consumer a first polling request for messages in the storage, providing, by the message routing system to the message consumer, the stored first message;

storing, by the message routing system, a second message in the storage; and

responsive to receiving a second polling request from the message consumer, determining, by the message routing system, not to provide the second message to the message consumer based on an expiration time being reached.

6. The method of claim 5 , further comprising:

processing the first message prior to storing the first message in the storage associated with the message consumer.

7. The method of claim 5 , wherein the information included in the token is identifying information of the authenticated message producer.

8. The method of claim 5 , wherein the message routing system authenticates the first message without requesting authentication information from the message producer.

9. A computer program product comprising a non-transitory computer-readable storage medium containing computer program code for routing a message between a message producer and a message consumer, the computer program product comprising a computer-readable storage medium containing computer program code for:

receiving, by a message routing system from a message producer, a request to authenticate the message producer;

authenticating, by the message routing system, the message producer;

generating, by the message routing system, a token indicating authentication of the message producer by the message routing system;

transmitting, by the message routing system, the token to the message producer;

receiving, by the message routing system from the message producer, a first message directed to a message consumer, the first message including the token;

authenticating, by the message routing system, the first message based on the token included with the first message;

responsive to authenticating the first message, determining, by the message routing system, a route for routing the first message to the message consumer;

storing, by the message routing system based on the determined route, the first message in a storage associated with the message consumer;

responsive to receiving by the message routing system from the message consumer a first polling request for messages in the storage, providing, by the message routing system to the message consumer, the stored first message;

storing, by the message routing system, a second message in the storage; and

responsive to receiving a second polling request from the message consumer, determining, by the message routing system, not to provide the second message to the message consumer based on an expiration time being reached.

10. The computer program product of claim 9 , wherein the computer program code is further for:

processing the first message prior to storing the first message in the storage associated with the message consumer.

11. The computer program product of claim 9 , wherein the token includes information identifying the authenticated message producer.

12. The computer program product of claim 9 , wherein the message routing system authenticates the first message without requesting authentication information from the message producer.

Assignments (7)
CHANGE OF NAME Recorded Oct 9, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065190/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: BROUK, LEV; NORTON, KENNETH; DOUGLAS, JASON; PANEC, PETER
To: GRAND CENTRAL NETWORKS, INC.
Reel/Frame 053608/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: GRAND CENTRAL COMMUNICATIONS, INC.
To: UECKER & ASSOCIATES, INC.
Reel/Frame 053608/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: UECKER & ASSOCIATES, INC.
To: ON DEMAND VENTURE FUND LLC
Reel/Frame 053608/0072 →
MERGER Recorded Aug 26, 2020
From: ON DEMAND VENTURE FUND, LLC
To: MINOR VENTURES, LLC
Reel/Frame 053608/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: MINOR VENTURES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 053608/0101 →
CHANGE OF NAME Recorded Aug 26, 2020
From: GRAND CENTRAL NETWORKS, INC.
To: GRAND CENTRAL COMMUNICATIONS, INC.
Reel/Frame 053609/0584 →