Shared network path contention reduction
First Claim
Patent Images
1. A method comprising:
- identifying a plurality of upstream network paths associated with a single downstream network path;
establishing a plurality of upstream path request queues, wherein first and second upstream path request queues of the plurality of upstream path request queues are associated with first and second upstream network paths of the plurality of upstream network paths, respectively;
receiving from one or more applications, first and second requests to be transmitted to first and second client devices, respectively;
determining that the first client device is associated with the first upstream network path and that the second client device is associated with the second upstream network path;
storing the first request in the first upstream path request queue and storing the second request in the second upstream path request queue; and
performing a scheduling process, the scheduling process comprising;
verifying that a bandwidth available on the downstream network path is larger than a data size of the first request;
verifying that a bandwidth available on the first upstream network path is larger than a data size of an anticipated response to the first request; and
moving the first request to a first dispatch queue.
2 Assignments
0 Petitions
Accused Products
Abstract
Shared network path contention can be reduced by limiting the number of contending client devices to which pending requests may be outstanding. Contention may also be reduced by managing available downstream bandwidth based on request size and managing available upstream bandwidth based on estimated response size. Portions of available downstream and/or upstream bandwidth may also be allocated to groups of one or more applications from which requests may be received, and the allocated portions may be configured to vary over time.
44 Citations
12 Claims
-
1. A method comprising:
-
identifying a plurality of upstream network paths associated with a single downstream network path; establishing a plurality of upstream path request queues, wherein first and second upstream path request queues of the plurality of upstream path request queues are associated with first and second upstream network paths of the plurality of upstream network paths, respectively; receiving from one or more applications, first and second requests to be transmitted to first and second client devices, respectively; determining that the first client device is associated with the first upstream network path and that the second client device is associated with the second upstream network path; storing the first request in the first upstream path request queue and storing the second request in the second upstream path request queue; and performing a scheduling process, the scheduling process comprising; verifying that a bandwidth available on the downstream network path is larger than a data size of the first request; verifying that a bandwidth available on the first upstream network path is larger than a data size of an anticipated response to the first request; and moving the first request to a first dispatch queue. - View Dependent Claims (2, 3)
-
-
4. A system comprising:
-
one or more application request channels for receiving requests to be transmitted to client devices via a downstream network path, individual ones of the application request channels having an associated downstream path bandwidth allocation; a plurality of upstream request queues for grouping the requests based on upstream network paths over which responses to the requests may be received; and a bandwidth management system configured to schedule the requests from the plurality of upstream request queues for transmission to the client devices based, at least in part, on a request size and the downstream path bandwidth allocation associated with the application request channel through which the request was received. - View Dependent Claims (5, 6)
-
-
7. A system comprising:
-
one or more application request channels for receiving requests to be transmitted to client devices via a downstream network path, individual ones of the application request channels having an associated upstream path bandwidth allocation; a plurality of upstream request queues for grouping the requests based on upstream network paths over which responses to the requests may be received; and a bandwidth management system configured to schedule the requests from the plurality of upstream request queues for transmission to the client devices based, at least in part, on an anticipated request response size and the upstream path bandwidth allocation associated with the application request channel through which the request was received. - View Dependent Claims (8, 9)
-
-
10. One or more computer-readable storage media comprising computer-executable instructions that, when executed, direct a computing system to perform a method comprising:
-
receiving a request through an application request channel; identifying a client device to which the request is to be transmitted; identifying an upstream network path associated with the client device; queuing the request for transmission over a downstream network path based on the upstream network path that was identified; identifying an upstream bandwidth allocation associated with the application request channel; and scheduling the request for transmission based on a comparison between a portion of an available bandwidth associated with the upstream network path and a size of an anticipated response to the request, wherein the portion of the available bandwidth is determined based on the upstream bandwidth allocation associated with the application request channel. - View Dependent Claims (11)
-
-
12. One or more computer-readable storage media comprising computer-executable instructions that, when executed, direct a computing system to perform a method comprising:
-
receiving a request through an application request channel; identifying a client device to which the request is to be transmitted; identifying an upstream network path associated with the client device; identifying a downstream network path associated with the client device; queuing the request for transmission over the downstream network path; and identifying a downstream bandwidth allocation associated with the application request channel; scheduling the request for transmission based on a comparison between a portion of an available bandwidth associated with the downstream network path and a size of the request, wherein the portion of the available bandwidth associated with the downstream network path is determined based on the downstream bandwidth allocation associated with the application request channel.
-
Specification