IP Library Granted Patent US 9,467,405
Granted Patent B2
US 9,467,405 · App. 14/805,299 · Granted Oct 11, 2016

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,467,405
App. No.
14/805,299
Granted
Oct 11, 2016
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 (35)

1. A method for routing a message, the method comprising:

receiving, by a message routing system from a sending service, a message directed to a receiving service;

logically routing, by the message routing system, the message to a plurality of in-transit services, wherein during the logical routing each of the plurality of services modifies routing of the message or context of the message without physically receiving the message;

physically routing, by the message routing system, the message to a subset of in-transit services from the plurality of in-transit services, the physical routing determined based on the logical routing and comprising physical delivery of the message to each in-transit service of the subset; and

providing, by the message routing system, the message to the receiving service.

2. The method of claim 1 , wherein during the logical routing an in-transit service from the plurality of in-transit services determines not to include itself in the physical routing of the message.

3. The method of claim 1 , wherein logically routing the message comprises evaluating scripts defined by one or more of the plurality of services.

4. The method of claim 1 , wherein the message is physically routed through a routing network built on an open platform overlaying a public network.

5. The method of claim 1 , wherein each in-transit service from the subset performs one or more of the following operations upon receiving the message:

transforming data of the message, enriching the message, cross-referencing data included in the message, and filtering the message.

6. The method of claim 1 , wherein providing the message to the receiving service comprises storing the message in a queue, the message retrieved by the receiving service from the queue.

7. The method of claim 1 , wherein providing the message to the receiving service comprises transmitting the message to the receiving service.

8. A computer program product for routing a message, the computer program product comprising a non-transitory computer-readable storage medium containing computer program instructions for:

receiving, by a message routing system from a sending service, a message directed to a receiving service;

logically routing, by the message routing system, the message to a plurality of in-transit services, wherein during the logical routing each of the plurality of services modifies routing of the message or context of the message without physically receiving the message;

physically routing, by the message routing system, the message to a subset of in-transit services from the plurality of in-transit services, the physical routing determined based on the logical routing and comprising physical delivery of the message to each in-transit service from the subset; and

providing, by the message routing system, the message to the receiving service.

9. The computer program product of claim 8 , wherein during the logical routing an in-transit service from the plurality of in-transit services determines not to include itself in the physical routing of the message.

10. The computer program product of claim 8 , wherein logically routing the message comprises evaluating scripts defined by one or more of the plurality of services.

11. The computer program product of claim 8 , wherein the message is physically routed through a routing network built on an open platform overlaying a public network.

12. The computer program product of claim 8 , wherein each in-transit service from the subset performs one or more of the following operations upon receiving the message: transforming data of the message, enriching the message, cross-referencing data included in the message, and filtering the message.

13. The computer program product of claim 8 , wherein providing the message to the receiving service comprises storing the message in a queue, the message retrieved by the receiving service from the queue.

14. The computer program product of claim 8 , wherein providing the message to the receiving service comprises transmitting the message to the receiving service.

15. A message routing system comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium containing computer program instructions executed by the one or more computer processors for:

receiving, from a sending service, a message directed to a receiving service;

logically routing the message to a plurality of in-transit services, wherein during the logical routing each of the plurality of services modifies routing of the message or context of the message without physically receiving the message;

physically routing the message to a subset of in-transit services from the plurality of in-transit services, the physical routing determined based on the logical routing and comprising physical delivery of the message to each in-transit service from the subset; and

providing the message to the receiving service.

16. The message routing system of claim 15 , wherein during the logical routing an in-transit service from the plurality of in-transit services determines not to include itself in the physical routing of the message.

17. The message routing system of claim 15 , wherein logically routing the message comprises evaluating scripts defined by one or more of the plurality of services.

18. The message routing system of claim 15 , wherein the message is physically routed through a routing network built on an open platform overlaying a public network.

19. The message routing system of claim 15 , wherein each in-transit service from the subset performs one or more of the following operations upon receiving the message: transforming data of the message, enriching the message, cross-referencing data included in the message, and filtering the message.

20. The message routing system of claim 15 , wherein providing the message to the receiving service comprises transmitting the message to the receiving service or storing the message in a queue, wherein the message is retrieved by the receiving service from the queue.

Assignments (2)
CHANGE OF NAME Recorded Oct 9, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065190/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2016
From: BROUK, LEV; NORTON, KENNETH; DOUGLAS, JASON; PANEC, PETER
To: SALESFORCE.COM, INC.
Reel/Frame 037554/0146 →