IP Library Granted Patent US 10,482,518
Granted Patent B2
US 10,482,518 · App. 15/787,572 · Granted Nov 19, 2019

HTTP parallel processing router

Inventor: John R. Frerking (Prairie Grove, AR)
Assignee: Walmart Apollo, LLC
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 10,482,518
App. No.
15/787,572
Granted
Nov 19, 2019
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 (58)

1. A server comprising:

a router comprising an Input/Output (I/O) terminal;

wherein the router is configured to communicatively couple with at least one client;

wherein the I/O terminal of the router is configured to communicatively couple with a plurality of remote servers; and

wherein the router is configured to:

receive a web services request from the at least one client;

identify, based on the web services request, at least two remote servers of the plurality of remote servers that are to fulfill at least a portion of the web services request; and

transmit, in parallel via the I/O terminal, requests to fulfill respective portions of the received web services request to each of the at least two remote servers;

wherein the router is further configured to:

generate a first send web service request to be sent to a first remote server of the at least two remote servers, wherein the first send web service request comprises a first product identification information corresponding to a first product identified from the web service request;

generate a second send web service request to be sent to a second remote server of the at least two remote servers, wherein the second send web service request comprises a second product identification information corresponding to a second product identified from the web service request; and

wherein the router, in transmitting the requests to fulfill the respective portions of the received web service request, is configured to transmit in parallel the first send web service request to the first remote server and the second send web service request to the second remote server.

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

receive a plurality of responses to the request to fulfill the respective portions of the web services request from the at least two remote servers of the plurality of remote servers;

compile the plurality of responses into a single response; and

transmit 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 comprises price information related to at least one product.

4. The server of claim 2 , wherein the at least one of the plurality of responses received by the router comprises availability information related to at least one product.

5. The server of claim 1 , wherein the request transmitted to each of the at least two remote servers comprises Universal Product Code (UPC) information related to at least one product.

6. The server of claim 1 , wherein the first send web services request, of the requests to fulfill respective portions of the received web services request, transmitted to the first remote server of the at least two remote servers includes first UPC information related to the first product and wherein the second send web services request, of the requests to fulfill respective portions of the received web services request, transmitted to the second remote server of the at least two remote servers includes second UPC information related to the second product.

7. A method of responding to web services requests comprising:

receiving, at a router, a web services request from at least one client;

identifying, based on the web services request, at least two remote servers of a plurality of remote servers that are to fulfill at least a portion of the request;

generating a first send web service request to be sent to a first remote server of the at least two remote servers, wherein the first send web service request comprises a first product identification information corresponding to a first product identified from the web service request;

generating a second send web service request to be sent to a second remote server of the at least two remote servers, wherein the second send web service request comprises a second product identification information corresponding to a second product identified from the web service request; and

transmitting in parallel, from the router, requests to fulfill respective portions of the web services request to each of the at least two remote servers of the plurality of remote servers wherein the transmitting in parallel the requests to fulfill the respective portions of the web services request comprises transmitting in parallel the first send web service request to the first remote server and the second send web service request to the second remote server.

8. The method of claim 7 , further comprising:

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

compiling the plurality of responses into a single response; and

transmitting the single response to the at least one client.

9. The method of claim 7 , wherein the requests to fulfill the respective portions of the web services request transmitted from the router to each of the at least two remote servers includes UPC information related to at least one product.

10. The method of claim 9 , further comprising:

receiving, by the router from the at least two remote servers, a plurality of responses, wherein at least one of the plurality of responses comprises at least one of price and availability information related to the at least one product.

11. The method of claim 9 , wherein the transmitting the first send web service request comprises first UPC information related to the first product; and the transmitting the second send web service request comprises second UPC information related to the second product.

12. 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, at the router, a web services request from at least one client;

identifying, based on the web services request, at least two remote servers of a plurality of remote servers that are to fulfill at least a portion of the request;

generating a first send web service request to be sent to a first remote server of the at least two remote servers, wherein the first send web service request comprises a first product identification information corresponding to a first product identified from the web service request;

generating a second send web service request to be sent to a second remote server of the at least two remote servers, wherein the second send web service request comprises a second product identification information corresponding to a second product identified from the web service request; and

transmitting in parallel, with the router, requests to fulfill respective portions of the web services request to each of the at least two remote servers of the plurality of remote servers, wherein the transmitting in parallel the requests to fulfill the respective portions of the web services request comprises transmitting in parallel the first send web service request to the first remote server and the second send web service request to the second remote server.

13. The method of claim 12 , further comprising:

receiving, by the router from the at least two remote servers, a plurality of responses to the requests to fulfill respective portions of the web services request;

compiling the plurality of responses into a single response; and

transmitting the single response to the at least one client.

14. The method of claim 12 , wherein the requests to fulfill the respective portions of the web services request transmitted from the router to each of the at least two remote servers includes UPC information related to at least one product.

15. The method of claim 12 , further comprising:

receiving responses by the router from the at least two remote servers;

obtaining from at least one of the responses at least one of price and availability information related to the at least one product; and

transmitting a response to the client comprising the at least one of the price and availability information related to the at least one product.

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

obtain criteria from the web services request; and

utilize the criteria to identify the at least two remote servers each to receive one of the requests to fulfill a respective portion of the web service request.

17. The server of claim 16 , wherein the router, in identifying the at least two remote servers each to receive a respective request of the requests to fulfill a respective portion of the web service request, is further configured to identify the at least two remote servers that are within a defined proximity of a location the at least one client.

18. The server of claim 1 , wherein the router in generating the first send web service request is further configured to:

generate the first send web service request 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 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 requests to fulfill the respective portions of the received web services request to at least one of the at least two remote servers of the plurality of remote servers.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT NO. 15/182,387 PREVIOUSLY RECORDED AT REEL: 046313 FRAME: 0096. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 9, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 048101/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 046313/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: FRERKING, JOHN RANDY
To: WAL-MART STORES, INC.
Reel/Frame 044086/0433 →
Continuity (4)
Continuation 15347395 · Nov 9, 2016
Continuation 14603476 · Jan 23, 2015
Continuation 13653801 · Oct 17, 2012
Related Publication 20180040048A1 · Feb 8, 2018