Preferred embodiments of the present disclosure will be described below in more detail, with reference to the accompanying drawings:
According to an embodiment of the present disclosure, a multimedia system establishes a quality of service (QoS) supported by a system with dynamically arriving and departing clients, while substantially ensuring that clients with higher priorities experience better QoS. This problem differs significantly from web-service clusters because, for example, each request can be serviced at a different quality (video can have different representations), each session lasts for a significantly longer duration (video may be viewed for several minutes/hours) thereby impacting the QoS of future clients, and video streaming is resource intensive.
Referring to
While embodiments of the present invention have been described in terms of reserving communication bandwidth, one of ordinary skill in the art would appreciate that other capacities may be reserved, for example, CPU cycles, etc.
Referring to
According to an embodiment of the present disclosure, to substantially ensure better QoS for clients with higher priority, an adaptive resource reservation mechanism is implemented in the system 200. A server 2015 assigned to the client 202 is not changed during the course of a streaming session, although each client can be allocated a different bandwidth based on the available representations. Parameters of the adaptive resource reservation mechanism include:
One of ordinary skill in the art would appreciate that other parameters may be implemented.
Consider a client with priority p that arrives in the system at time t requesting video stream S; to perform adaptive resource reservation, a time-window is considered over which the reservation needs to be made. The time window can be as long as the duration of the current stream (e.g., expected value, since the user may play, pause or seek within the same stream), or as short as until the arrival of the next client into the system (e.g., expected arrival).
Labeling time window W; note that by changing this time window, the redundancy versus QoS guarantee tradeoff is controlled. If the time window is increased, added redundancy is placed in the system, wherein it is less likely that all available bandwidth will be used. At the same time, this leads to improved guarantees on the quality of service for higher priority clients.
The expected number of clients that arrive in the system in the interval during the interval may be determined as
When bandwidth is allocated to the current client, it only needs to consider that it does not lead to lowered QoS for clients that have a higher priority than it, that arrive in the system later. The expected number of clients of higher priority that arrive within this interval may be determined as
To guarantee that higher priority clients receive higher quality, a certain bandwidth is reserved for each of these “expected” clients. The amount of reserved bandwidth per client is a parameter that affects the redundancy versus QoS tradeoff. The larger the bandwidth reserved per client, the greater the redundancy, but at the same time providing better QoS guarantees. Consider that an average reserved bandwidth R R1≦R≦RN
Let the current load on server k be Lk(t). The maximum bandwidth that server k can allocate to the client with priority p (given this reservation) for video stream s may be determined as:
Furthermore, to balance the load across the servers, and to improve the quality that the client can receive, clients are assigned to the server with the lowest load. Hence the server m that the client is assigned to may be determined as:
and the bandwidth allotted to the client may be determined as:
{circumflex over (R)}=R
q, such that Rq≦Bp{circumflex over (m)},s(t)<Rq+1,
where R0=0 and RN
In a system comprising one server, the assigned server may be defaulted to the one server.
It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. In one embodiment, the present invention may be implemented in software as an application program tangibly embodied on a program storage device. The application program, e.g., mark detection software, database software, etc., may be uploaded to, and executed by, a machine comprising any suitable architecture.
Referring to
The computer platform 301 also includes an operating system and micro-instruction code. The various processes and functions described herein may either be part of the micro-instruction code or part of the application program (or a combination thereof), which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures may be implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
Having described embodiments for a system and method for prioritizing clients with dynamic bandwidth reservation and a quality of service method thereof, it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in particular embodiments of the invention disclosed which are within the scope and spirit of the disclosure.