Patent ID: 7383338

Claim:
A system for allocating bandwidth between a server device and at least one client device, the system comprising: a server device operative to store and deliver content having a fixed duration; a call acceptance module operative to receive an incoming request for service; a flow regulator configured to deliver content at a modulated target flow rate, the content being delivered between the server device and a respective client device when a call is accepted by the call acceptance module; and a flow optimizer configured to modulate the target flow rate of the flow regulator in order to optimize an aggregate flow of content: describing a control variable which represents a target flow rate of content from the server device to each client device, the target flow rate equal to or greater than a minimum flow rate, wherein the minimum flow rate is a non-increasing function of time obtained by dividing the content not yet delivered by remaining playtime, which ensures that all required content will be available to each client when needed; determining time-varying constraints on the target flow rate of the content; determining a cost function of the control variables for all clients, wherein the cost function represents an aggregate flow rate and is a sum of all flow rates for all clients; prescribing bandwidth to all clients based upon a value of the control variables that maximize the cost function comprising performing periodic computations to update the value of the control variable such that the bandwidth can be continuously allocated to each client; and wherein a new client is accepted by: determining an admission capacity of the bandwidth; admitting a prospective client if the clients minimum allowed value of the control variable is less than the admission capacity; and wherein a client admitted for service is guaranteed to have sufficient content flow over the entire session.