Server to server interaction in content item selection events
US-2019104201-A1 · Apr 4, 2019 · US
US10645183B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10645183-B2 |
| Application number | US-201715633476-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 26, 2017 |
| Priority date | Jun 26, 2017 |
| Publication date | May 5, 2020 |
| Grant date | May 5, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to access a request from a client device, and send the request to a first endpoint, in which the first endpoint is configured to generate a first response to the request. The instructions are further to cause the processor to receive the first response from the first endpoint, in which the first response includes redirect information for the request, select, based upon the redirect information, a second endpoint that is configured to generate a second response to the request, send the request to the selected second endpoint, receive the second response from the second endpoint, and send a final response to the client device, the final response including information included in both the first response and the second response.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a processor; and a memory on which is stored machine readable instructions that are to cause the processor to: access a request from a client device; send the request to a first endpoint, wherein the first endpoint is configured to generate a first response to the request; receive the first response from the first endpoint, wherein the first response includes redirect information for the request, wherein the redirect information includes a collection of name/value pairs from which the processor is to determine a second endpoint; determine, based upon a calculation using the name/value pairs received from the first endpoint, the second endpoint that is configured to generate a second response to the request, wherein the second endpoint is determined from a plurality of candidate endpoints; send the request to the selected second endpoint; receive the second response from the second endpoint; and send a final response to the client device, the final response including information included in both the first response and the second response. 2. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to add the name/value pairs in the received redirect information into a processing context to determine the second endpoint from the plurality of candidate endpoints. 3. The apparatus according to claim 1 , wherein the second response includes second redirect information, and wherein to process the second response, the instructions are further to cause the processor to: select, based upon the second redirect information, a further endpoint that is configured to generate a further response; send the request to the selected further endpoint; receive the further response from the further endpoint; and wherein the final response includes information from the further response. 4. The apparatus according to claim 3 , wherein the second response includes second redirect information, and wherein to process the second response, the instructions are further to cause the processor to: select, based upon the second redirect information, the first endpoint, wherein the first endpoint is configured to generate the further response from information contained in the second response; and receive, from the first endpoint, the further response. 5. The apparatus according to claim 1 , wherein the first response includes partial information that satisfies a portion of the request, and wherein the instructions are further to cause the processor to: insert the partial information into the request; and send the request with the partial information to the determined second endpoint. 6. The apparatus according to claim 5 , wherein the second response includes second partial information that satisfies a second portion of the request, and wherein the instructions are further to cause the processor to: insert the second partial information into the request; send the request with the second partial information to the first endpoint, wherein the first endpoint is configured to process the second partial information to generate a third response; receive the third response; and wherein the final response includes information from the third response. 7. The apparatus according to claim 5 , wherein the second response includes second partial information that satisfies a second portion of the request, and wherein the instructions are further to cause the processor to: prepare the final response to include the partial information from the first endpoint and the second partial information from the second endpoint; and wherein the first endpoint and the second endpoint provide microservices of a service. 8. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to: determine whether responses received from a plurality of endpoints are successful responses to the request; determine, based upon the determination as to whether the responses are successful responses to the request, health statuses of the plurality of endpoints; and record the determined health statuses. 9. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to: determine whether a number of redirects to a plurality of endpoints exceeds a predetermined threshold count; and in response to a determination that the number of redirects exceeds the predetermined threshold count, cease delivery of the request to an additional endpoint. 10. A method comprising: accessing, by a processor, a request from a client; selecting, by the processor, a first endpoint that is configured to generate a first portion of a response to the request; sending the request to the selected first endpoint; receiving the first portion of the response from the first endpoint, the first portion of the response including redirect information for the request and a bit field that indicates that the request is to be redirected to another endpoint; selecting, by the processor and based upon the redirect information and the bit field indicating that the request is to be redirected to another endpoint, a second endpoint that is configured to generate a second portion of the response to the request, wherein the second endpoint is selected from a plurality of candidate endpoints; redirecting the request to the second endpoint; receiving the second response from the second endpoint; and outputting a final response to the client, the final response including information from the first portion of the response and the second portion of the response. 11. The method according to claim 10 , wherein the second portion of the response includes second redirect information, said method further comprising: selecting, based upon the second redirect information, a third endpoint that is configured to generate a third portion of the response; sending the request to the selected third endpoint; receiving the third portion of the response from the third endpoint; determining whether the third portion of the response includes third redirect information; and in response to a determination that the third portion of the response does not include third redirect information, determining whether the final response is a successful response to the request. 12. The method according to claim 11 , further comprising: in response to a determination that the final response is not a successful response to the request, recording a health of the further endpoint; selecting a replacement endpoint that is configured to generate the third portion of the response; sending the request to the selected replacement endpoint; receiving the third portion of the response from the replacement endpoint; and wherein the final response includes information from the third portion of the response from the replacement endpoint. 13. The method according to claim 11 , wherein outputting the final response further comprises outputting the final response in response to a determination that the final response is a successful response to the request. 14. The method according to claim 10 , further comprising: receiving a subsequent portion of the response that is subsequent to the second portion of the response from a subsequent endpoint; determining that the subsequent portion of the response includes subsequent redirect information; determining whether a redirect count of the request exceeds a predetermined redirect count; in response to a determination that the redirect count does not exceed the predetermined redirect count, sending the request to a second subseque
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Resource delivery mechanisms · CPC title
Electricity · mapped topic
Electricity · mapped topic
Intermediate processing functionally located close to the data provider application, e.g. reverse proxies · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.