# US 10,482,518 B2 · HTTP parallel processing router

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,518 B2
- Document ID: US10482518B2
- Status: Granted
- Kind: B2
- Application number: 15/787,572
- Filed: 2017-10-18
- Published: 2018-02-08
- Granted: 2019-11-19
- Earliest claimed: 2012-10-17
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: John R. Frerking
- Web page: https://patentgrep.com/patent/US10482518B2

## CPC

- G06Q 30/0623: {by investigating goods or services}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/63: Routing a service request depending on the request content or context
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 2)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 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.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 7)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 9)

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.

### Claim 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.

### Claim 13 (depends on 12)

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.

### Claim 14 (depends on 12)

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.

### Claim 15 (depends on 12)

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.

### Claim 16 (depends on 1)

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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 1)

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.

### Claim 19 (depends on 1)

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.
