Web server constraint support
AssigneeNetflix, Inc.
InventorsJohn FUNGE, Mark WATSON
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for a web server to support constraints specified by a client. In one embodiment, the web server receives, from the client, a request for one or more blocks of data. The request includes one or more constraints provided by the client. The web server may perform an action responsive to an increase in network congestion, based on the one or more constraints. Accordingly, the web server may handle the request in a manner that more closely meets the needs of the client.
Claims20
A computer-implemented method of responding to a request to stream data from a server to a client, the method comprising:
- receiving, from the client and by the server, one or more requests for one or more blocks of data, wherein the one or more requests include one or more suggested constraints for streaming the requested blocks of data to the client;
- subsequent to receiving the one or more requests, detecting an increase in network congestion, wherein the server is configured to reduce, responsive to the increase in network congestion and by a predefined amount, bandwidth for sending data to the client;
- and
- upon determining that the one or more suggested constraints cannot be satisfied in servicing the one or more requests using the reduced bandwidth, performing, by operation of one or more computer processors, at least one of:
- (i) abandoning the one or more requests and (ii) reducing the bandwidth by a lesser amount than the predefined amount, to provide bandwidth sufficient to satisfy the one or more suggested constraints.
A computer-readable storage medium containing a program which, when executed, performs an operation for responding to a request to stream data from a server to a client, wherein the operation comprises:
- receiving, from the client and by the server, one or more requests for one or more blocks of data, wherein the one or more requests include one or more suggested constraints for streaming the requested blocks of data to the client;
- subsequent to receiving the one or more requests, detecting an increase in network congestion, wherein the server is configured to reduce, responsive to the increase in network congestion and by a predefined amount, bandwidth for sending data to the client;
- and
- upon determining that the one or more suggested constraints cannot be satisfied in servicing the one or more requests using the reduced bandwidth, performing at least one of:
- (i) abandoning the one or more requests and (ii) reducing the bandwidth by a lesser amount than the predefined amount, to provide bandwidth sufficient to satisfy the one or more suggested constraints.
A system, comprising:
- one or more computer processors;
- a memory containing a program, which when executed by the one or more computer processors is configured to perform an operation for responding to a request to stream data to a client, the operation comprising:
- receiving, from the client, one or more requests for one or more blocks of data, wherein the one or more requests include one or more suggested constraints for streaming the requested blocks of data to the client;
- subsequent to receiving the one or more requests, detecting an increase in network congestion, wherein the system is configured to reduce, responsive to the increase in network congestion and by a predefined amount, bandwidth for sending data to the client;
- and
- upon determining that the one or more suggested constraints cannot be satisfied in servicing the one or more requests using the reduced bandwidth, performing at least one of:
- (i) abandoning the one or more requests and (ii) reducing the bandwidth by a lesser amount than the predefined amount, to provide bandwidth sufficient to satisfy the one or more suggested constraints.
Dependencies are inferred from the claim text.