IP Library Granted Patent US 10,404,826
Granted Patent B2
US 10,404,826 · App. 15/673,150 · Granted Sep 3, 2019

Content based routing architecture system and method

Inventor: Sandesh N. Ramnathkar (Bentonville, AR)
Assignee: Walmart Apollo, LLC
H04L67/32H04L12/6418H04L45/00H04L61/10H04L69/22H04L45/308H04L45/38H04L45/44H04L45/502
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 10,404,826
App. No.
15/673,150
Granted
Sep 3, 2019
Kind
B2
Abstract

The present general inventive concept relates to systems and method for routing electronic messages depending on message content.

Claims (80)

1. A system for routing electronic messages comprising one or more computer servers with computer-readable code for carrying out the following instructions:

receiving an electronic request message by an Enterprise Service Bus (ESB) from a service consumer;

determining whether said electronic request message is proprietary or canonical, where a canonical message includes header information in a predetermined canonical format, and a proprietary message either lacks header information or includes header information different from the predetermined canonical format;

when said request message is proprietary, adding header information in said predetermined canonical format to said request message;

generating a request message list of instructions comprising message-specific service details comprising:

a route key defining at least a next destination of the message;

analyzing said list of instructions to determine whether translation is required;

applying translation logic to the request message when the translation is required; and

routing said request message to a service provider based on the route key of the request message list of instructions.

2. The system of claim 1 , wherein said service consumer is a remote client terminal in electronically networked communication with said one or more computer servers.

3. The system of claim 1 , wherein said electronic request message is a JAVA Message Service.

4. The system of claim 1 , wherein the one or more computer servers are further configured to carry out the following instructions:

receiving an electronic response message by the ESB from the service provider, said response message comprising a response message list of instructions;

analyzing said response message list of instructions to determine whether translation is required;

applying translation logic to the response message when translation is required; and

delivering said response message to said service consumer.

5. The system of claim 4 , wherein the one or more computer servers are further configured to carry out the following instructions:

analyzing said response message list of instructions to determine whether data transformation is required; and

applying data transformation logic to the response message when data transformation is required prior to delivering said response message.

6. The system of claim 1 , wherein the one or more computer servers are further configured to carry out the following instructions:

receiving an electronic response message by the ESB from the service provider, said response message comprising a response message list of instructions;

analyzing said response message list of instructions to determine whether data transformation is required;

applying data transformation logic to the response message when data transformation is required; and

delivering said response message to said service consumer.

7. The system of claim 1 , wherein the message-specific service details comprise one or more of:

a name of a service requested;

a version of the service requested;

an operation of the service requested; and

wherein said message-specific service details is acquired from a database based on the request message.

8. The system of claim 1 , further comprising:

analyzing said list of instructions to determine whether data transformation is required; and

applying data transformation logic to the request message when the data transformation is required.

9. The system of claim 1 , wherein the request message list of instructions comprises at least one step describing how the request message is to flow, in what sequence, and in what format.

10. A method of routing electronic messages, said method comprising the steps of:

receiving an electronic request message by an Enterprise Service Bus (ESB) from a service consumer;

determining whether said electronic request message is proprietary or canonical, where a canonical message includes header information in a predetermined canonical format, and a proprietary message either lacks header information or includes header information different from the predetermined canonical format;

when said request message is proprietary, adding header information in said predetermined canonical format to said request message;

generating a request message list of instructions comprising message-specific service details comprising:

a route key defining at least a next destination of the message;

analyzing said list of instructions to determine whether translation is required;

applying translation logic to the request message when the translation is required; and

routing said request message to a service provider based on the route key of the request message list of instructions.

11. The method of claim 10 , wherein said service consumer is a remote client terminal in electronically networked communication with said one or more computer servers.

12. The method of claim 10 , wherein said electronic request message is a JAVA Message Service.

13. The method of claim 10 , further comprising:

receiving an electronic response message by the ESB from the service provider, said response message comprising a response message list of instructions;

analyzing said response message list of instructions to determine whether translation is required;

applying translation logic to the response message when translation is required; and

delivering said response message to said service consumer.

14. The method of claim 13 , further comprising:

analyzing said response message list of instructions to determine whether data transformation is required; and

applying data transformation logic to the response message when data transformation is required prior to delivering said response message.

15. The method of claim 10 , further comprising:

receiving an electronic response message by the ESB from the service provider, said response message comprising a response message list of instructions;

analyzing said response message list of instructions to determine whether data transformation is required;

applying data transformation logic to the response message when data transformation is required; and

delivering said response message to said service consumer.

16. The method of claim 10 , wherein the message-specific service details comprise one or more of:

a name of a service requested;

a version of the service requested;

an operation of the service requested; and

wherein said message-specific service details is acquired from a database based on the request message.

17. A system for routing electronic messages comprising one or more computer servers with computer-readable code for carrying out the following instructions:

receiving an electronic request message by an Enterprise Service Bus (ESB) from a service consumer;

determining at the ESB whether said electronic request message is proprietary, wherein a proprietary message either lacks header information or includes header information in format or structure different from a predetermined canonical format;

when said request message is proprietary, adding header information in said predetermined canonical format to said request message;

generating a request message list of instructions comprising message-specific service details comprising a route key defining at least a next destination of the message;

analyzing said list of instructions to determine whether data transformation is required;

applying data transformation logic to the request message when the data transformation is required; and

routing said request message to a service provider based on the route key of the request message list of instructions.

18. The system of claim 17 , wherein the one or more computer servers, in analyzing the list of instructions, are further configured to:

analyze the list of instructions to determine whether translation is required; and

applying translation logic to the request message when the translation is required.

19. The system of claim 18 , wherein the one or more computer servers are further configured to:

receive an electronic response message by the ESB from the service provider, said response message including a response message list of instructions;

analyze said response message list of instructions to determine whether translation is required;

applying translation logic to the response message when required;

analyze said list of instructions to determine whether data transformation is required;

applying data transformation logic to the response message when data transformation is required; and

deliver said response message to said service consumer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 047570/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2017
From: RAMNATHKAR, SANDESH
To: WAL-MART STORES, INC.
Reel/Frame 043433/0465 →
Continuity (4)
Continuation 14935411 · Nov 8, 2015
Continuation 14054433 · Oct 15, 2013
Provisional Application 61714094 · Oct 15, 2012
Related Publication 20170353581A1 · Dec 7, 2017