IP Library Granted Patent US 9,824,386
Granted Patent B2
US 9,824,386 · App. 15/347,395 · Granted Nov 21, 2017

HTTP parallel processing router

Inventor: John Randy Frerking (Prairie Grove, AR)
Assignee: Wal-Mart Stores, Inc.
G06Q30/0623H04L67/02H04L67/1095H04L67/16H04L67/327
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,824,386
App. No.
15/347,395
Granted
Nov 21, 2017
Kind
B2
Abstract

According to one aspect, embodiments of the invention provide a router having a first I/O terminal and a second I/O terminal, wherein the first I/O terminal is configured to be in communication with at least one client via a first network, wherein the second I/O terminal is configured to be in communication with a plurality of remote servers via a second network, and wherein the router is configured to receive, at the first I/O terminal via the first network, a web services request from the at least one client, identify, based on the web services request from the at least one client, a group of the plurality of remote servers that are capable of fulfilling the web services request, and transmit, in parallel via the second I/O terminal and the second network, the received web services request to each one of the plurality of remote servers within the group.

Claims (56)

1. A server comprising:

a router, the router having a first Input/Output (I/O) terminal and a second I/O terminal;

wherein the first I/O terminal of the router is configured to be in communication with at least one client via a first network;

wherein the second I/O terminal of the router is configured to be in communication with a plurality of remote servers via a second network; and

wherein the router is configured to:

receive, through the first I/O terminal, a web services request from the at least one client;

identify, based on the web services request, a group of the plurality of remote servers each to receive at least a portion of the web services request; and

transmit, in parallel through the second I/O terminal, at least respective portions of the received web services request to each one of the plurality of remote servers within the group.

2. The server of claim 1 , wherein the router is further configured to:

receive, through the second I/O terminal and via the second network, a plurality of responses from the plurality of remote servers within the group;

compile the plurality of responses from the plurality of remote servers into a single response; and

transmit, through the first I/O terminal and the first network, the single response to the at least one client.

3. The server of claim 2 , wherein the at least one of the plurality of responses received by the router from the plurality of remote servers includes availability information related to at least one product.

4. The server of claim 1 , wherein a first web services request transmitted to a first sub-group of the plurality of remote servers includes first UPC information related to a first product and wherein a second web services request transmitted to a second sub-group of the plurality of remote servers includes second UPC information related to a second product.

5. A method of responding to web services requests, the method comprising:

receiving, through a first Input/Output (I/O) terminal of a router, a web services request from the at least one client;

identifying a group of a plurality of remote servers that are capable of fulfilling the web services request; and

transmitting in parallel, through a second I/O terminal of the router, at least respective portions of the web services request to each one of the plurality of remote servers within the group.

6. The method of claim 5 , further comprising:

receiving, by the router from the plurality of remote servers, a plurality of responses;

compiling the plurality of responses from the plurality of remote servers into a single request; and

transmitting the single request to the at least one client.

7. The method of claim 5 , wherein the web services request transmitted from the router to each one of the plurality of remote servers within the group includes UPC information related to at least one product.

8. A non-transitory computer readable medium comprising computer-executable instructions that when executed on a processor performs a method of responding to web services requests, the method comprising:

receiving, through a first Input/Output (I/O) terminal of a router, a web services request from the at least one client;

identifying a group of a plurality of remote servers that are capable of fulfilling the web services request; and

transmitting in parallel, with the router, the web services request to each one of the plurality of remote servers within the group.

9. The server of claim 1 , wherein the router is further configured to:

obtain, from the web services request, server identification information of at least two of the plurality of remote servers each to receive at least the respective portion of the web service request.

10. The server of claim 1 , wherein the router is further configured to:

obtain criteria from the web services request; and

utilize the criteria to define at least two of the plurality of remote servers each to receive at least the respective portion of the web service request.

11. The server of claim 10 , wherein the router in defining the at least two of the plurality of remote servers each to receive at least the respective portion of the web service request further configured to identify the plurality of remote servers corresponding to locations that are within a defined proximity of the at least one client.

12. The server of claim 1 , wherein the router is further configured to:

generate a send web service request to be sent to a first remote server of the group of the plurality of remote servers, wherein the send web service request is modified from the received web services request to include a first server identification information corresponding to the first remote server and to exclude one or more other server identification information corresponding to one or more others of the plurality of remote servers.

13. The server of claim 1 , wherein the router is further configured to:

generate a first send web service request to be sent to a first remote server of the group of the plurality of remote servers, wherein the first send web service request is modified from the received web services request to include a first product identification information corresponding to a first product and included in the web service request; and

generate a second send web service request to be sent to a second remote server of the group of the plurality of remote servers, wherein the second send web service request is modified from the received web services request to include a second product identification information corresponding to a second product and included in the web service request.

14. The server of claim 1 , wherein the router is further configured to:

activate a plurality of parallel secondary applications implemented on the router;

direct the web service request to each of the plurality of parallel secondary applications that are each configured to cause the transmission of at least one of the respective portions of the received web services request to at least one of the plurality of remote servers within the group.

15. The method of claim 5 , further comprising:

obtaining, from the web services request, server identification information of at least two of the plurality of remote servers each to receive at least the respective portion of the web service request.

16. The method of claim 5 , further comprising:

obtaining criteria from the web services request; and

defining, utilizing the criteria, at least two of the plurality of remote servers each to receive at least the respective portion of the web service request.

17. The method of claim 16 , wherein the defining the at least two of the plurality of remote servers each to receive at least the respective portion of the web service request further comprises identifying the plurality of remote servers corresponding to locations that are within a defined proximity of the at least one client.

18. The method of claim 5 , further comprising:

generating a send web service request to be sent to a first remote server of the group of the plurality of remote servers, wherein the send web service request is modified from the received web services request to include a first server identification information corresponding to the first remote server and to exclude one or more other server identification information corresponding to one or more others of the plurality of remote servers.

19. The method of claim 5 , further comprising:

generating a first send web service request to be sent to a first remote server of the group of the plurality of remote servers, wherein the first send web service request is modified from the received web services request to include a first product identification information corresponding to a first product and included in the web service request; and

generating a second send web service request to be sent to a second remote server of the group of the plurality of remote servers, wherein the second send web service request is modified from the received web services request to include a second product identification information corresponding to a second product and included in the web service request.

20. The method of claim 5 , further comprising:

activating a plurality of parallel secondary applications implemented on the router; and

directing the web service request to each of the plurality of parallel secondary applications; and

causing the transmission by each of the plurality of parallel secondary applications of at least one of the respective portion of the received web services request to at least one of the plurality of remote servers within the group.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 62125147 TO APPLICATION NUMBER 62425147 PREVIOUSLY RECORDED ON REEL 045780 FRAME 0612. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 046458/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045780/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: FRERKING, JOHN RANDY
To: WAL-MART STORES, INC.
Reel/Frame 041934/0133 →
Continuity (3)
Continuation 14603476 · Jan 23, 2015
Continuation 13653801 · Oct 17, 2012
Related Publication 20170061514A1 · Mar 2, 2017