Multiplexing web requests for improved performance
Abstract
A request multiplexing system is described herein that takes multiple asynchronous requests from a client to multiple server endpoints and multiplexes the requests at the client into a single request to a new server endpoint. The new endpoint demultiplexes the requests at the server, calls the pre-existing separate endpoints to get the correct response for each request, combines the responses into a single multiplexed response, and returns the combined response to the client. On the client side, the response data is split up and handed to the appropriate handlers. From the components' points of view and those of the endpoints on the server, the requests occur just as they originally may. However, new logic on both the client and the server has packaged and unpackaged requests and responses appropriately to accomplish without component modification what formerly involved extensive coordination between developers of various components.
Claims
exact text as granted — not AI-modified1 - 10 . (canceled)
11 . A computer-implemented method to process at a server multiple asynchronous requests in a batch from a client, the method comprising:
receiving at a server batch endpoint a batch request to handle multiple individual client requests; identifying the individual client requests contained within the batch request; for each individual request contained within the batch request, identifying an endpoint associated with a selected individual request, wherein the endpoint is associated with underlying software logic for processing the individual request and producing a response; invoking the identified endpoint to process the selected request and produce the response; receiving individual response data from the invoked endpoint, and storing the response data for inclusion in a batch response to the client; creating a batch response to provide responses to the individual requests in a batch to the client; and sending the batch response from the server to the client, wherein the preceding steps are performed by at least one processor.
12 . The method of claim 11 wherein receiving at the server batch endpoint comprises providing at the server individual endpoints for separate requests as well as the server batch endpoint for receiving batch requests.
13 . The method of claim 11 wherein receiving at the server batch endpoint comprises providing batch handling in a manner that individual developers writing and maintaining individual endpoints need not be aware of or understand the batch process.
14 . The method of claim 11 wherein identifying individual client requests comprises accessing header information received with the batch request to delineate individual requests within the batch request.
15 . The method of claim 11 wherein identifying individual client requests comprises identifying separation markers within the batch request that delineate individual requests within the batch request.
16 . The method of claim 11 wherein handling of each individual client request contained within the batch request occurs on the server in parallel.
17 . The method of claim 11 wherein identifying the endpoint comprises identifying a uniform resource locator (URL) associated with the endpoint and contained within the request.
18 . The method of claim 11 wherein invoking the identified endpoint comprises forming an individual request like would traditionally have been sent from the client prior to batching and directing that request to the endpoint.
19 . The method of claim 11 wherein invoking the identified endpoint comprises directly invoking internal server logic associated with the endpoint.
20 . The method of claim 11 wherein creating the batch response comprises accessing stored response data from handling each individual request to create the batch response.
21 . The method of claim 11 wherein creating the batch response comprises building delineation information that allows a client to separately identify each individual response within the batch response.
22 . The method of claim 11 wherein sending the batch response comprises transmitting the batch response in a format that matches that used by the batch request received at the server.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.