Method for connection acceptance control and optimal multi-media content delivery over networks
DCFirst Claim
1. A method for optimal multimedia content delivery over networks from a server to one or more clients, comprising:
- delineating a state variable that represents a data rate for delivery of multimedia content having a fixed duration and, wherein an initial data rate is equal to or greater than a minimum flow rate, and wherein the minimum flow rate ensures that all required content will be available to each client when needed, and a subsequent data rate, which is equal to or less than a real-time rate of play back of the multimedia content;
delineating a set of conditions which represent time-varying constraints on the data rate of said multimedia content said conditions including;
(1) the total data rate for all clients does not exceed the maximum throughput of the server or network, whichever is least;
(2) the data rate from server to client does not exceed the maximum data rate for the client;
(3) the data rate of the client will never overflow a client buffer;
(4) the server will never underflow; and
(5) the data rate from the server will never be less than the client'"'"'s minimum data rate, and wherein the minimum data rate is a non-increasing function of time obtained by dividing the content not yet delivered by the remaining play time;
delineating a cost function which represents the value of a proposed solution;
performing periodic computations in compliance with conditions (1)-(5) to obtain a state value that maximizes said cost function; and
periodically adjusting the data rate to each client to maintain an optimal solution over a given period of time.
11 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method is disclosed for call and/or connection acceptance control and the optimal delivery of multimedia (audio/video) data over networks. This method involves the establishment and monitoring of certain criteria which may be used to maximize the number of simultaneous clients without sacrificing quality-of-service for already-connected clients. Methods are disclosed for maximizing total throughput as well as maximum charge models for different levels of service. The disclosed methods solve these optimization problems by expanding on linear-program techniques in manners geared towards multimedia content delivery over networks and many variations suitable for varying business models are disclosed.
-
Citations
19 Claims
-
1. A method for optimal multimedia content delivery over networks from a server to one or more clients, comprising:
-
delineating a state variable that represents a data rate for delivery of multimedia content having a fixed duration and, wherein an initial data rate is equal to or greater than a minimum flow rate, and wherein the minimum flow rate ensures that all required content will be available to each client when needed, and a subsequent data rate, which is equal to or less than a real-time rate of play back of the multimedia content; delineating a set of conditions which represent time-varying constraints on the data rate of said multimedia content said conditions including; (1) the total data rate for all clients does not exceed the maximum throughput of the server or network, whichever is least; (2) the data rate from server to client does not exceed the maximum data rate for the client; (3) the data rate of the client will never overflow a client buffer; (4) the server will never underflow; and (5) the data rate from the server will never be less than the client'"'"'s minimum data rate, and wherein the minimum data rate is a non-increasing function of time obtained by dividing the content not yet delivered by the remaining play time; delineating a cost function which represents the value of a proposed solution; performing periodic computations in compliance with conditions (1)-(5) to obtain a state value that maximizes said cost function; and periodically adjusting the data rate to each client to maintain an optimal solution over a given period of time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 15, 16, 17)
-
-
9. A method for connection acceptance control for delivery of multimedia data from server to one or more clients over a network, comprising the steps of:
-
determining server swing capacity given by the difference between the total server bandwidth and the sum of the minimum flow rates of all currently-connected clients receiving multimedia data having a fixed duration, wherein the minimum flow rate for each client is expressed as a non-increasing function of time obtained by dividing data not vet delivered by remaining play time, and wherein the minimum flow rate ensures that all required data will be available to each client when needed; and allocating server bandwidth for each prospective client which will fit without server bandwidth saturation, as determined by comparing an average data play rate of each prospective client with the remaining bandwidth, represented by said server swing capacity, available to the server. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for bandwidth allocation for delivery of multimedia data from a server to one or more clients over a network, the method comprising:
-
storing multimedia data on at least one server, the multimedia data having a fixed duration; delivering the multimedia data from the at least one server to at least one client device upon demand of the at least one client by way of a network having a defined bandwidth, and wherein the multimedia data is available for playback upon client request; storing a sequence of data representing scheduled bandwidth changes for the at least one server; determining a maximum flow rate and a minimum flow rate for each of the one or more clients at the present time, the determination of the minimum flow rate being based on a non-increasing function of time obtained by dividing multimedia data not yet delivered by remaining play time, and wherein the minimum allowed flow rate ensures that all required multimedia data will be available to each client when needed; determining the flow rate range for each client as given by the difference between said maximum flow rate and said minimum flow rate; sorting the list of clients according to said flow rate range; initializing current flow rate for each client as said minimum flow rate and summing said flow rate into total server flow rate; and allocating remaining server bandwidth to remaining clients. - View Dependent Claims (18, 19)
-
Specification