ubiQoS is an application-level middleware, designed and implemented at LIA - DEIS - University of Bologna, for the tailoring, control and adaptation of QoS levels in VoD services. ubiQoS is implemented in terms of mobile agents and built upon the SOMA programming framework.
The name ubiQoS refers to the twofold dimension of ubiquity of our middleware approach:
ubiquitous accessibility. ubiQoS allows the reception of VoD flows anywhere, by automatically tailoring and adapting the VoD QoS depending on user preferences, access devices and available network resources.
ubiquitous middleware. ubiQoS tends to diffuse its components in the system. In fact, middleware components autonomously distribute on the network hosts along the paths from receivers to sources of VoD flows.
The ubiQoS middleware supports:
VoD service tailoring at negotiation time. When a user requests a specified VoD content, ubiQoS first retrieves user preferences and capabilities of her current access device. This information is maintained in CC/PP-compliant profiles stored in Lightweight Directory Access Protocol (LDAP) servers. Then, ubiQoS exploits discovery services to find the proper VoD server to provide the VoD content that satisfies the QoS requirements expressed in the profiles. Once the server is identified, ubiQoS establishes a server-to-client network path that the VoD flow is going to traverse during provision. Along this path, a set of ubiQoS components negotiate the most suitable QoS level to be maintained on any path segment and decide which and where to perform multimedia scaling operations. This permits to tailor the VoD flow distribution depending on the required QoS specifications. Any ubiQoS component also performs application-level admission control and reservation of its local resources. It accepts requests for new VoD flows (or for enhancing the QoS level of already established ones) only if there are enough resources available at request time.
VoD service adaptation at provision time. ubiQoS adapts the QoS levels of provided VoD flows depending on the current state of system and network resources along distribution paths. To this purpose, ubiQoS includes an ad-hoc monitoring component that dynamically controls the state of resources. In case of resource changes, the monitoring component can trigger adaptation operations to adjust the provided QoS level. Adaptation can affect the transmitted VoD data (from transcoding to frame resizing, from merging/splitting multi-layered tracks to reducing frame resolution and rate) but can also modify the established VoD path. In this case, it requires a new negotiation phase and the possible distribution of new ubiQoS components where needed. The type of corrective operations depends on the user/terminal receiver profile that assigns different priorities to possible adaptation modes. For instance, a personal digital assistant with limited display capabilities can suggest a lower frame resolution instead of a lower frame rate.