Method, apparatus, and computer program product for server bandwidth utilization management
First Claim
1. A computer-implemented method for managing bandwidth utilization by a server in fulfilling requests for resources, said method comprising:
- receiving a request for a resource;
generating a delay value, said delay value less than an acceptable response time;
delaying fulfillment of said request by a predetermined time period, for reducing instantaneous bandwidth utilization by said server; and
thereafter fulfilling said request for said resource.
6 Assignments
0 Petitions
Accused Products
Abstract
A system for management of communications bandwidth utilization is disclosed in which delays are deliberately introduced when responding to requests for resources. Appropriately introducing delays can disperse the peak bandwidth consumption event over a longer period, however peak bandwidth utilization is decreased when responding to numerous substantially simultaneous requests. The deliberately introduced delays can be generated in a range bounded above by an acceptable response time (“ART”). The ART may be communicated to a server as part of the request, for instance in the ‘port’ or ‘path’ portion of a URI.
43 Citations
25 Claims
-
1. A computer-implemented method for managing bandwidth utilization by a server in fulfilling requests for resources, said method comprising:
-
receiving a request for a resource;
generating a delay value, said delay value less than an acceptable response time;
delaying fulfillment of said request by a predetermined time period, for reducing instantaneous bandwidth utilization by said server; and
thereafter fulfilling said request for said resource.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 22, 23, 24)
waiting for a time interval at least as great as said delay value to elapse.
-
-
3. The method according to claim 2 wherein said delay value is an element of a sequence distributed substantially uniformly between zero and said acceptable response time.
-
4. The method according to claim 3 wherein said sequence is a pseudo-random sequence.
-
5. The method according to claim 3 wherein said acceptable response time is received with said request.
-
6. The method according to claim 5 wherein said acceptable response time is determined by a port through which the request arrives.
-
7. The method according to claim 5 wherein said request comprises a path identifying said resource and said path comprises said acceptable response time.
-
8. The method according to claim 1 wherein receiving a request for a resource comprises:
-
receiving a request for a resource with a request dispatch process;
determining a delay value, said delay value determined with said request dispatch process; and
dispatching said request and said delay value to a request handling process for handling.
-
-
22. The computer program product according to claim 3 wherein said acceptable response time is received with said request.
-
23. The computer program product according to claim 22 wherein said acceptable response time is determined by a port through which the request arrives.
-
24. The computer program product according to claim 22 wherein said request comprises a path identifying said resource and said path comprises said acceptable response time.
-
9. An apparatus comprising a processor, a memory, a network interface, and a file system, programmed instructions configuring said apparatus to accept connections in order to service requests by sending responses thereto, said apparatus further configured with programmed instructions comprising:
-
a request receiver configured for receiving a request for a resource;
a delay value generator configured for generating a delay value, said delay value less than an acceptable response time;
a response fulfillment delayer configured for delaying fulfillment of said request by a predetermined time period; and
a request handler configured for fulfilling said request for said resource. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
a timer configured for waiting for a time interval at least as great as said delay value to elapse.
-
-
11. An apparatus according to claim 10 wherein said delay value is an element of a sequence distributed substantially uniformly between zero and said acceptable response time.
-
12. The method according to claim 10 wherein said sequence is a pseudo-random sequence.
-
13. An apparatus according to claim 12 wherein said acceptable response time is received with said request.
-
14. An apparatus according to claim 13 wherein said acceptable response time is determined by a port through which the request arrives.
-
15. An apparatus according to claim 13 wherein said request comprises a path identifying said resource and said path comprises said acceptable response time.
-
16. The method according to claim 10 wherein said request receiver comprises:
-
a request receiver configured for receiving a request for a resource with a request dispatch process;
a delay value determiner configured for determining a delay value with said request dispatch process; and
a request dispatcher configured for providing said request and said delay value to a request handling process.
-
-
17. A computer program product comprising a computer-readable medium having computer readable instructions encoded thereon for server bandwidth utilization management, comprising:
-
computer program instructions configured to cause a computer to receive a request for a resource;
computer program instructions configured to cause a computer to generate a delay value, said delay value less than an acceptable response time;
computer program instructions configured to cause a computer to delay fulfillment of said request by a predetermined time period; and
computer program instruction configured to cause a computer to fulfill said request for said resource after expire of said predetermined time period. - View Dependent Claims (18, 19, 20, 21)
computer program instructions configured to cause a computer to wait for a time interval at least as great as said delay value to elapse.
-
-
19. The computer program product according to claim 18 wherein said delay value is an element of a sequence distributed substantially uniformly between zero and said acceptable response time.
-
20. The computer program product according to claim 19 wherein said sequence is a pseudo-random sequence.
-
21. The computer program product according to claim 17 wherein said computer program instructions configured to cause a computer to receive a request for a resource comprises:
-
computer program instructions configured to cause a computer to receive a request for a resource with a request dispatch process;
computer program instructions configured to cause a computer to determine a delay value, said delay value determined with said request dispatch process; and
computer program instructions configured to cause a computer to dispatch said request and said delay value to a request handling process for handling.
-
-
25. A method for managing bandwidth utilization by a server in fulfilling requests for resources, said method comprising:
-
transmitting an identifier of a resource available on a server to a client, said identifier comprising an acceptable response time;
receiving a request for said resource from said client;
extracting said acceptable response time from said identifier; and
transmitting a response to said client after the expire of said acceptable response time.
-
Specification