throbber
Architectural Design of Adaptive Distributed
`Multimedia Systems
`
`Gregor v. Bochmannt, Brigitte Kerherv6* , Abdelhakim Hafidt,
`Petre Dini t , Anne Pons*,
`
`hJniversitk de Montreal
`D6partement IRO
`CP 6128, succursale centre ville
`Montrkal, H3C 357, Canada
`E-mail: { bochmann,hafid,dini} @iro.umontreal.ca
`Tel: (514) 343 74 84; Fax: (514) 343 58 34
`
`hJniversit6 du Qu6bec & Montrkal
`Dkpartement Informatique
`CP 8888, succursale centre ville
`Montrkal, H3C 3P8, Canada
`E-mail: { Kerherve.Brigitte,Pons.Anne } @ uqam.ca
`Tel: (514) 987 67 16; Fax: (514) 987 84 77
`
`Abstract
`In the context of a collaborative research project funded
`Research (CITR) ', we have developed a prototype
`by the Canadian Institute for Telecommunications
`
`system for remote access to News-on-Demand. This
`system allows the user to remotely access a multimedia
`database, containing news clips in the form of
`multimedia documents, over ATM and other types of
`networks. Special attention is given to quality of service
`(QoS) negotiation and adaptation. For instance, a given
`document may exist in different versions on different
`to different
`sites and possibly corresponding
`presentation qualities, such as video and audio quality,
`size of display and cost. A graphical interface is
`available for the user to select his preferences and
`provides the possibility of obtaining examples of specific
`quality features. The QoS negotiation and adaptation
`features allow for the selection of the best configuration
`for a given user request and for automatic adaptation in
`case of changes to the system parameters, such as
`network or server congestion.
`We present in this paper an abstract architectural design
`of our adaptive distributed multimedia system for remote
`access to multimedia databases. This design focuses on
`the aspects of the system which are essential for QoS
`negotiation and adaptation, which is our main concern
`in the ongoing CITR research project. The paper gives a
`the system and details its
`functional overview of
`structural and behavioral aspects. An abstract
`application programming interface (API) is given and
`issues related to the transition from the abstract system
`design to an implementation are discussed.
`
`I This work was supported by a grant from the Canadian Institute for
`Telecommunication Research (CITR), under the Network of Centers for
`Excellence Program of the Canadian Government.
`
`0-8186-7511-6/96 $5.00 0 1996 IEEE
`
`31
`
`1. Introduction
`
`Multimedia information systems integrate diverse media
`such as text, video and images to enable a range of
`multimedia applications including information retrieval.
`In the collaborative research project "Broadband
`Services" funded by the Canadian Institute for
`Telecommunications Research (CITR), we have taken
`the "News-on-Demand'' application as the target for our
`prototype development. This target application embodies
`many features that are generally applicable to many
`multimedia presentational applications, such as digital
`libraries or computer-assisted training.
`Our News-on-Demand prototype is an integration of
`software components developed by the various sub-
`groups of the CITR collaboration [ 131. The prototype
`consists of the distributed multimedia database (DBMS)
`from University of Alberta [lo] , a distributed
`continuous media file (CMFS) server from University of
`British Columbia [9] , a synchronization component
`from University of Ottawa [7] , and the QoS
`management module from Universitk de Montreal [6] .
`Scalable video encoding
`is studied at INRS
`Telecommunications [ 11 . With the current prototype, the
`user may choose a document in the database for
`presentation, and select the desired quality of service
`(QoS) including such parameters as video and audio
`quality, size of display, and cost. A graphical interface is
`available for this purpose which includes the possibility
`of obtaining example of specific quality features. The
`transmission of the continuous media components of the
`document, e.g. video and audio, proceeds in real-time
`over ATM or a local network during the presentation of
`the document. The system allows for several versions of
`a given media component, possibly with different QoS
`parameters and accessible over different netwoirks. The
`QoS negotiation and adaptation features allow for the
`
`CISCO Exhibit 1003, pg. 1
`
`

`
`selection of the best configuration for a given user
`request and for automatic adaptation in case of changes
`of the QoS system parameters, such as in case of
`network or server congestion.
`We present in this paper a new architectural design of
`our system, at a relatively abstract level. As mentioned in
`[ll] ,it is sometimes better to describe a high-level
`specification of a new system after the experience gained
`during the implementation process through
`the
`encounters of various problems and the study of possible
`solutions. The architectural design presented here results
`of our work with the News-on-Demand prototype, but it
`is conceived to be much more general in nature. We
`concentrate on those aspects of the system design which
`are essential to QoS negotiation and adaptation, which is
`our main concern within the CITR project.
`The paper is organized as follows. In Section 2, we give
`a functional overview of our adaptive distributed
`multimedia system. In particular, a few use cases
`including QoS negotiation and adaptation are presented.
`The architectural design of the system is presented in
`Section 3 and 4 in an object-oriented framework. Section
`3 contains a presentation of the major objects within the
`system, their attributes and operations. The behavioral
`aspects of the system are described in more detail in
`Section 4 by considering in more detail the use cases
`introduced in Section 2. Some additional objects are
`introduced and the role of all objects in the execution
`scenarios corresponding to the above use cases is
`explained in detail. An abstract application programming
`interface (API) is also given, based on the abstract
`architectural design. Issues related to the transition from
`the abstract system design to an implementation are
`discussed in Section 5, in particular aspects related to the
`distribution of the different system components, the
`implementation of active objects, including objects for
`multimedia stream processing, and the mapping of the
`abstract API onto a concrete interface in terms of the
`programming languages C and C++ used in our
`prototype. Some conclusions are given in Section 6.
`2. Adaptive Distributed Multimedia
`System
`Distributed multimedia systems should provide the user
`with efficient access to pertinent information with the
`required quality. However, since multimedia objects are
`voluminous and unstructured, manipulation, transfer and
`visualization of such objects can require a lot of resource
`and time. It then becomes essential to prevent
`unsatisfactory information delivery. For that purpose,
`Quality of Service (QoS) management appears as an
`essential function to be provided by distributed
`multimedia systems [4; 81 and significant contributions
`have been recently made in this field.
`Our approach is similar to the one proposed in [8] where
`the architecture uses a brokerage model which
`
`incorporates QoS translation, QoS negotiation and
`renegotiation. In contrast to the previous approach where
`the system configurations considered are static, we
`propose a QoS management architecture that supports
`the dynamic choice of a configuration to support the QoS
`requirements of the user of a specific application [3] .
`We consider different system configurations and select
`an optimal one to provide the appropriate QoS support.
`Moreover, the service requested may be different from a
`data flow service, depending on the particular
`application.
`The QoS function aims at controlling and guaranteeing
`the level of quality that the system is able to offer to the
`user. The role of a QoS manager is to determine and
`examine the possible alternatives to respond to a user‘s
`request, and among the different possibilities to choose
`the one which satisfy the QoS constraints expressed by
`the user and those supported by the different components
`of the system.
`Integrating such a function leads to consider the user’s
`requirements regarding the quality of service and the
`various constraints supported by the distributed
`multimedia system [14] . The user’s requirements may
`concern system performance, the quality of information
`provided and the financial costs attached to document
`delivery. The system constraints include those attached
`to the client machines such as the screen type, to the
`server, to the transport systems as well as the
`characteristics of the multimedia objects.
`In the framework of the CITR Broadband Services major
`project, our role is to design and develop methods for
`managing the resources needed for QoS adaptation in a
`distributed environment. Such methods are dedicated to
`support distributed multimedia applications that can
`adapt to changing QoS conditions of the underlying
`transport service and the remote information servers. In
`this section we give a general overview of our adaptive
`distributed multimedia system. We first give the general
`overview of this system and describe the different actors,
`and then, through a set of simple scenarios we give an
`intuitive presentation of the system behavior.
`2.1. Functional Overview
`
`The adaptive distributed multimedia system runs in a
`fully distributed architecture where multimedia data are
`stored at various sites, and where users can access from
`different places throughout the network. Figure 1
`presents the functional view of our system in OMT
`object model notation [12] .
`The database is the information provider. It can be
`supported by several database servers and stores
`multimedia data as well as metadata used to facilitate
`searching, transfer and delivery. The multimedia
`documents stored in the database are composed of
`several monomedia objects, linked together with spatial
`and temporal synchronization constraints. Several
`
`32
`
`CISCO Exhibit 1003, pg. 2
`
`

`
`physical representations can exist for a monomedia
`object, we here use the term of version, which
`correspond to a format version. As for example two
`versions of a same video sequence could offer different
`color qualities. Version 1 could be a super-color version
`of the video sequence, while version 2 could be the black
`and white version of the same video. A given version is
`stored on a specific server machine.
`The search is processed on a client machine and the
`selected multimedia documents will be delivered there.
`The server machine is a machine located in the network
`on which the objects that compose multimedia
`documents are stored. A server machine can be either a
`database server, an image server or a continuous media
`server. The network physically links the different
`machines together.
`
`Database
`
`Client Machine Qos
`
`Server Machine Qos
`
`Server Machine
`
`Client Machine
`
`Figure 1 : General Overview
`For the multimedia document chosen by the user, the
`negotiation protocol is initiated for each composed
`monomedia object to select the version that matches the
`requirements of the user given by his user profile and the
`
`33
`
`constraints of all the involved actors. These constraints
`are identified for each actor by analyzing its QoS
`information. Some of the QoS parameters, such as the
`client machine environment are static, while other
`parameters are dynamic, such as the load of the server
`machine or the available memory ressources. This
`information will be detailed in Section 3.
`2.2. A Comprehensive Example
`
`In this section we describe the behavior of the system
`while searching multimedia documents through three
`different scenarios.
`Let’s assume that our application is concerned with
`cultural multimedia news, and specifically with news
`related to movies and actors. A video sequence of the
`Clint Eastwood’s movie “A perfect world” is stored in
`the database. Two versions of this video sequence exist:
`the super-color version is stored on server 1, and the
`color version is stored on server 2. Server 1 is connected
`to the client machine through network 1 and server 2
`through network 2. Network 2 is cheaper than network 1.
`Let’s assume that the user’s requirements concerning
`QoS for videos are the following: color is the minimum
`color-quality requested and cost should not exceed 50
`cost-units. Priority between offers is given to those with
`lower costs. The user searches in the database for a video
`sequence from the Clint Eastwood’s movie “A perfect
`world”. Video sequences stored on server 1 and server 2
`are relevant to the query. The following scenarios may
`occur at different times:
`Scenario 1: QoS manager chooses the less expensive
`offer.
`Transferring the super-color video sequence froim server
`1 to the client machine through network 1 is estimated at
`45 cost-units. transferring the color video sequence from
`server 2 to the client machine through network 2 is
`estimated at 37 cost-units. The QoS manager chooses the
`second solution which is less expensive. This decision is
`made without any interaction with the user and transfer
`of version 1 is activated.
`-
`Scenario 2: the two possible offers are too expensive:
`negotiation is required.
`Transferring the super-color video sequence from server
`1 to the client machine through network 1 is estimated at
`61 cost-units. Transferring the color video sequence form
`server 2 to the client machine through network 2 is
`estimated at 58 cost-units. Both offers do not satisfy the
`user’s requirements. Thus, negotiation with the user is
`initiated. The two possible offers are submitted to the
`user who chooses the one he prefers.
`Scenario 3: during the transfer, congestiori of the
`network occurs.
`Scenario 1 has been selected, but during the transfer of
`version 1 from server 1, a congestion of network 1
`appears. The cost of transferring version 2 from server 2
`
`CISCO Exhibit 1003, pg. 3
`
`

`
`is 45 cost-units and still lower than the user’s
`requirement. Thus the system performs an automatic
`switch-over to version 2 from server 2. If the cost had
`been more than 50 cost-units, a re-negotiation should
`have been initiated with the user.
`3. Architectural Design
`In this section we present the major objects within the
`system: the database manager, the profile manager, the
`QoS manager and the network monitor. For each of these
`objects, we detail attributes and operations.
`3.1. Database Manager
`
`The conceptual object model we present now captures
`the semantic of a multimedia document used in the QoS
`negotiation protocol. We first describe the structure of
`the Multimedia and Monomedia entities using the OMT
`object model [12]. Later, we explain our choices of
`modeling related to the negotiation of the quality.
`The multimedia and monomedia document entities that
`we have defined express a different semantic than what
`is used in classical multimedia models. They refer to
`logical objects collaborating in the QoS negotiation for
`generating a “displayable” multimedia document with
`the required quality.
`
`Descriution U
`
`Pause
`A
`
`I
`
`Leaend
`A
`
`a-,
`
`Inheritance
`
`Agregation
`
`Multiple association
`(many)
`
`Format
`
`1+
`
`I
`
`I
`
`Alternatives
`ontent: TContentQuality
`
`I
`
`ServerMachine
`ServerMachmeQoSPa:
`
`ImageQoSParam: TVisualResolution €iEz3 ContinuousMedia
`AudioQoSPm: TAudioResolution -
`t
`I
`5
`3
`I
`
`
`stop
`Pause
`
`L = 3
`
`Activate
`
`GetPosition
`
`TextQoSParam: TTextQoSP €ziit
`
`-
`
`I
`Audiovideo
`AudioVideoQoSParam:
`V~sualResolution: TVisualResolution
`FrameRate: TFrameRate
`AudioQuahty: TAudioResolution
`
`I
`
`Video
`VideoQoSParam:
`VisualResolution: TVisualResolution
`FrameRate: TFrameRate
`
`I
`
`I
`
`Figure 2: Object Model for Multimedia Documents
`
`34
`
`CISCO Exhibit 1003, pg. 4
`
`

`
`A document as shown in Figure 2, is either a multimedia
`document or a monomedia object. A multimedia
`document is composed of several monomedia objects
`usually synchronized with each other and possibly
`shared by different multimedia documents. In the model
`presented in Figure 2, the Multimedia entity is described
`by the aggregation link with MonoMedia documents and
`by the attributes that depict the spatial and temporal
`synchronization relationship between the associated
`monomedia.
`These relationships are used during the transfer and
`display of the document. In addition, a multimedia
`document includes a Price and information allowing the
`expression of search conditions on the set of multimedia
`documents stored in the database. Before displaying a
`multimedia document, one has to select, for each
`monomedia object, one of its versions, since we assume
`that each monomedia may exist in different physical
`representations, called Versions, which are used by the
`negotiation protocol. A monomedia object is defined in a
`particular medium: a text, a still image, an audio
`sequence, a graphic, a video sequence or an audio-video
`sequence. Its versions are physical objects represented in
`the same medium but with different formats and quality.
`For instance, a monomedia document which is a video
`sequence may exist in MPEG2 format and also in
`MJPEG format and under different resolutions.
`Each monomedia has different degrees of quality given
`by its versions. The negotiation must choose one of them
`according to the desires of the user and the constraints of
`the client machine. The quality of a given monomedia
`document is defined by its price, static parameters
`depending on the kind of monomedia medium or
`referring to the physical localization of the element. The
`parameters give, for instance, the format of the coding,
`the size of the file, the color of a video. They are specific
`to a version, so they are stored in the version inheritance
`hierarchy. The parameters related to the machine where
`the file is located are included in the ServerMachine
`component of the version. In case of replication of the
`version, several server machines are needed that have
`specific quality parameters. In addition, a version of a
`monomedia object can be decomposed into several
`streams. The number of streams of a physical
`monomedia is an additional criteria of quality. Each
`composition of streams produces a specific Version
`object of the monomedia with different QoS levels.
`The different qualities of a monomedia document are
`associated to physical monomedia elements -versions-
`defined on the same medium and holding the same
`informative content. The negotiation might fail if the
`quality required by a user for a given monomedia is not
`available. In this case, the quality of any version doesn't
`match the requirements. To offer a means to bypass this
`failure, we propose a second level of negotiation
`concerning alternatives. This second level affects the
`
`informative content of the presentation. The monomedia
`can be substituted in the context of a given multimedia
`document by an other monomedia component, called
`alternative. This object may represent condensed or
`abstracted information andor another medium in order
`to get documents at a lower cost. Such an alternative will
`be delivered when the QoS offer is not satisfactory for
`the original monomedia component. For instance, an
`alternative for a video sequence could be an audio
`sequence describing the same event or a portion of text
`describing it.
`3.2. Profile Manager
`In the previous sections, we have seen that the QoS
`management consists in providing the user with the offer
`which corresponds to his requirements. The profile
`manager is in charge of managing the user's QoS
`preferences; that is, helping the user while setting and
`modifying his requirements through user profiles. The
`following operations of the ProfileManager object may
`be called by an application:
`OpenProfileWindow: This operation lets the user select
`an active profile different from his default profile,
`and define new profiles for future use.
`GetActiveProfile: This operation returns the active
`profile selected by the user.
`NegotiateActiveProfile: This operation is called by the
`application when the active profile is too restrictive
`compared to the services that can be provided.
`Therefore the application will provide as parameters
`a set of alternative profiles for which services can be
`provided. The result of this operation should be the
`selection of one of these profiles or a refusal by the
`user.
`A user profile describes user preferences in terms of (1)
`QoS settings for video, audio, still images and text, (2)
`cost he is willing to pay for a given quality, and (3) of
`time constraints, such as the maximum delivery time.
`The user QoS setting is described in terms of a set of
`user-perceived characteristics of the performance of a
`service. It is expressed in user-understandable language
`and manifests itself as the set of value for the different
`QoS parameters.
`To avoid repeating the lengthy QoS parameters setting
`process, the user should be able to store QoS profiles.
`Then, while starting a new session he selects the: desired
`profile. Furthermore the user can display examples of
`varying quality in order to see if the profile is pertinent.
`A set of QoS parameters is associated to each type of
`monomedia, namely video, audio, text and image.
`Furthemore to specify the cost and timing constraints a
`number of parameters are required. The profile imanager
`provides a set of predefined user profiles that lhelp the
`user in setting a new profile. A detailed presentation of
`the profile manager can be founded in [5] .
`
`35
`
`CISCO Exhibit 1003, pg. 5
`
`

`
`3.3. Quality of Service Manager
`
`The purpose of quality of service negotiation is to
`provide a presentation quality that corresponds to the
`user's wishes and his financial constraints, as well as
`within the constraints imposed by the limitations of
`various system components, such as the available
`resources at the client's workstation, the bandwidth
`limitations of the network and the encoding schemes of
`the available multimedia documents [3] . Therefore this
`process is based on various management information
`associated with the various system components. Figure 3
`shows the objects within the overall system which are
`relevant for QoS negotiation. The QoSManager object
`corresponds to the "QoS" process in Figure 1. The
`Network, ClientMachine, and ServerMachine (including
`the continuous media file servers, CMFServer) were also
`included in that figure. Figure 3 provides some details
`about the QoS parameters of the Network and
`ClientMachine that are relevant for the QoS negotiation
`process.
`
`Network
`
`QoSManager
`
`I
`
`I
`
`I
`
`
`
`&
`
`integer
`"Speed:
`guarantee' guarantee
`
`cost: networkcost
`
`screensize: TscreenSize
`screenColor: TscreenColor
`speakerAvailable: boolean
`speakerQuality : audioQualityType
`availableVideoDecoders: set of videodecoders
`availableAudioDecoders: set of AudioDecoders
`availableImageDecoders: set of ImageDecoders
`
`Figure 3: Objects within the Overall System
`At the high level of abstraction considered in this
`section, where distribution is not explicitly taken into
`account, we associate the management information
`directly with the objects. For instance, the network has
`the following QoS attributes: maxspeed: the maximum
`throughput of a single connection, guarantee: indicates
`whether a throughput guarantee can be provided, and
`
`cost: a tariff table quoting the cost (per minute) for
`various throughputs and guarantees. A distinction
`between static and dynamic management information is
`sometimes made [3]
`. The above information is
`considered static. Dynamic information, such as the
`available network bandwidth or possible database server
`congestion, should also be taken into account during
`QoS negotiation. We assume that such dynamic
`information is taken into account when the system
`resources are actually reserved.
`The QoS Manager object performs the QoS negotiation
`and adaptation by interacting with various system
`components, as shown in Figure 4. This diagram
`includes the Document and QoSManager objects already
`shown in Figure 3, and in addition an object representing
`the application program and additional objects that are
`involved in the negotiation process. The ProfileManager
`object is described in Section 3.2, and the objects of type
`Version are the same as those shown in Figure 2. Figure
`4 shows the operations that can be involved on each of
`the objects. The arrows indicate calling relations between
`the objects. Two kinds of calls are considered: (a) a
`standard procedure call by a client object on a server
`object, denoted by a thin arrow, and (b) the invocation of
`a "notification" by a server object on a client object
`(which previously has made a normal call on the server),
`denoted by a thick arrow. For example, the application
`may call the negotiatepresentation operation of the
`QoSManager, whereas the latter may invoke the
`notification QoSViolation while the user and application
`are possibly searching through the document using the
`fastforward, fastbackward and play operations.
`A typical scenario of QoS negotiation proceeds as
`follows. The application may call the operation
`Negotiatepresentation on the QoSManager, providing as
`parameter a Document and a userprofile obtained from
`the ProfileManager. The objective of this operation is to
`establish, if possible, a configuration of suitable versions
`of the monomedia in the document that can be presented
`with a quality of service within the bounds of the given
`user profile.
`If such a configuration is found, then the configuration
`including the necessary communication links are
`established, and the document is ready to be played. If
`such a configuration is not found, the operation returns
`one or several alternatives of multimedia profiles each
`corresponding to a possible configuration, which,
`however, does not conform to the given user profile. The
`negotiatedpresentation operation may also be called
`during an ongoing session when a change of the
`presentation quality or its cost is desired; in this case,
`the parameter reneg should be set to true in order to
`indicate that this is a case of renegotiation.
`
`36
`
`CISCO Exhibit 1003, pg. 6
`
`

`
`openProfileWindow(activeProfi1e: userprofile):
`
`userprofile
`
`3.4. Network Monitor
`In the case that the network does not guarantee the QoS
`negotiated during the establishment of a connection, such
`as in the context of the Internet, it may be useful to
`monitor the quality actually provided by the network for
`a given connection. Such monitoring may be useful for
`switching automatically to an alternative system
`configuration (if available), without the intervention of
`the user, when the effective presentation quality does not
`conform anymore to the profile which was used for the
`original QoS negotiation.
`The object NetworkMonitor shown in Figure 4 performs
`these monitoring actions. Network monitoring is
`triggered by the QoSManager by calling the start
`operation. Parameters of this operation indicate the
`duration of each measurement period and the frequency
`with which such measurements should be performed.
`The NetworkMonitor notifies the QoS manager when the
`average of the measured values do not satisfy the
`threshold values provided in the start operation.
`Measurement values may also be directly obtained by
`calling operations such as getLastMeasurement or
`getMeasurementLog .
`
`Figure 4: Interactions for QoS Negotiation
`4. QoS Negotiation and Adaptation:
`Behavior Definitions
`After having defined the object types and the operations,
`the object-oriented analysis and design methods usually
`lead to the definition of the behavior of the objects
`involved. Instead of giving a complete definition of the
`behavior, we will simply explain informally the behavior
`of the objects described in Section 2, by considering
`some typical interaction scenarios, which are related to
`the use cases discussed in section 2. We will complete
`this section with a discussion of an abstract application
`programming interface (MI).
`4.1. Establishing a Presentation Session
`A typical application program will begin by determining
`the QoS user profile to be used during the session. For
`this purpose, it could invoke the GetDefauiltProfile
`operation of the ProfileManager object. As next step,
`The application will then execute a SearchDocument
`operation on the Database object with search information
`obtained from the user.
`
`37
`
`CISCO Exhibit 1003, pg. 7
`
`

`
`In order to select a suitable configuration, the application
`calls the operation NegotiatePresentation of the
`QoSManager. As further explained in [2] , the QoS
`manager will consult the meta-data of the document and
`determine, for each continuous monomedia component,
`which of the available versions is the best. For the case
`described in Section 2, the QoS manager will select the
`version residing on CMFServer 1 for presentation.
`For each continuous monomedia component, a real-time
`transport connection is established over which the coded
`data can be transmitted from the CMFServer containing
`the selected version to the client's workstation. The
`QoSManager will therefore request these connections
`from the network(s) by calling the Connect operation on
`a suitable TConnection object. Once a version is
`associated with an open transport connection, its
`operation Activate may be called. This operation
`communicates with the CMFServer and reserves the
`necessary resources for the real-time data transfer over
`the associated transport connection. The resources
`include a synchronization protocol to assure the delivery
`of data [7] . Once a version has been activated for each
`monomedia component of the document, the document
`may be played by invoking the Play operation.
`4.2. Negotiation with the User
`
`In the case that the QoSManager does not find any
`satisfying configuration, the NegotiatePresentation
`operation returns with a failure status and a set of
`MMProfiles which correspond to certain possible
`configurations which, however, do not satisfy the active
`user profile. The application has essentially three choices
`in such a situation: (a) abandon the presentation of this
`document, (b) proceed with the presentation according to
`one of the configurations proposed by the QoSManager,
`or (c) let the user decide. For realizing choice (b), the
`application could simply call the Renegotiate operation.
`In the case of choice (c), the application could call the
`operation NegotiateActiveProfile on the ProfileManager
`object and use the resulting Userprofile as the parameter
`to a subsequent negotiatePresentation operation called on
`the QoS manager object.
`4.3. Automatic Adaptation
`
`Let us assume that a presentation session is in progress
`and that the network becomes congested, thus leading to
`lower QoS parameters for the transport. Let us assume
`also that the QoSManager has started network
`monitoring for this connection with threshold values
`selected to assure the WorstAcceptedQoS values
`accepted by the user profile. If the averaged value of the
`measurements for one of the QoS parameters goes below
`the threshold, the NetworkMOnitor object will notify the
`QoSManager by calling the QoSNotification operation.
`The QoSManager has essentially four choices in such a
`situation: (a) to continue the ongoing session with the
`
`present QoS parameters, (b) idem, but also to notify the
`application of the reduced QoS invoking the notification
`QoSViolation, (c) to automatically select another
`configuration, and (d) to call the QoSViolation operation
`in giving all possible configurations in order to let the
`application decide.
`In the case of automatic reconfiguration (choice (c)), the
`QoSManager stops the presentation of the document
`after having obtained the current position by calling the
`GetPosition operation of the document. It then
`determines the best alternate configuration, activates this
`configuration and restarts the presentation by calling the
`play operation with the position parameter set earlier.
`4.4. An Abstract Application Programming
`Interface
`
`An application programming interface (API) of a given
`software module is usually a set of procedures which can
`be called by an application program to obtain the
`services provided by the software module. In the
`following we describe the functionality of the API
`provided by the multimedia database and Q

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket