`
`Check to see if a new connection
`check_no_connections()
`can be supported.
`Indicate status of connection
`
`indicate_connection_setup_fai|ure()
`
`
`
`
`
`Indicate QOS Requirements.
`|
`indicate_QOS_needs( max_rate, min_rate,...)
`
`
`I Reserve resources.
`increment_no_users()
`Spawn a child to setup
`setup_connection(video.name, c|ient_name)
`
`dedicated UDP connections.
`
`
`
`
`
`start_QOS_negotiation(video_name, c|ient_name)
`retrieve_video_chars(videoJia me)
`
`setup.
`'
`| Begin QOS negotiation.
`Retrieve video characteristics
`for QOS negotiation.
`
`'
`
`Table 2: Connection Setup Primitives for the VOD Client
`
`
`
`Query the VDB for the
`
`specified video.
`Check to see if the connection
`
`can be sustained.
`Start the connection.
`Close the connection.
`
`
`
`
`
`
`‘ Initialize the playout hardware
`and wait for the connection call
`
`from the remote server.
`
`
`
`
`
`
`query.video_database(dalabase_name, video-name)
`
`examine_video_statistics(video_para ms)
`
`
`
`
`
`acknowledge_conn_acceptance()
`c|ose.connection()
`setup43layout.and.wait_for_connection()
`
`
`
`
`4 Application of the Services: The
`VVB
`
`In this section, we describe a prototype multime-
`dia application developed using the aforementioned
`framework. The Virtual Video Browser
`(VVB) is
`an interactive VOD prototype designed to allow the
`browsing of a database of movies and the subsequent
`playout of individual movies
`It incorporates a sim-
`ple query interface which lets users specify their prefer-
`ences to the system to retrieve the appropriate video.
`The VVB is designed to work in a distributed environ-
`ment in which movies are stored in different databases
`interconnected via a network. It is therefore an ideal
`testbed for running distributed multimedia applica-
`tions.
`
`4.1 The VVB Interface Functionality
`
`The basic VVB interface consists of four screens or
`
`the Category Screen, the Video Shelf Screen,
`menus:
`the Query Shelf Screen and the Text-Output Screen.
`In addition, the VVB allows a movie to be played-out
`in a video window.
`
`When a VVB session is started, a Category Screen
`
`15
`
`adjustment of volume are dealt with locally via the
`playout mechanism at the client. The connection man-
`agement flow is illustrated in Fig.
`4. Some of the
`functions that are required for connection manage
`ment and maintenance are summarized in Table 3.
`
`LDP hlnrfnco
`
`
`
`
`SdnnMiIll'I Com.
`
`Figure 4: Connection Management for VOD
`
`lOl /- Page /
`SONY |~'.XH H '1
`SONY EXHIBIT 1017- Page 7
`
`
`
`
`
`
`
`Table 3: Connection Management Primitives for the VVB
`
`p|ayout_video()
`
`
`
`Indicate to both the client and the server to
`
`forward_video()
`
`Indication to the server to playout every
`
`
`
`
`
`
`I Analogous to forward_video().
`Pause video stream. Directed toward the playout
`mechanism and the server.
`
`
`
`change_vo|ume()
`
`
`|
`
`Change volume at the client.
`
`postgres DBMS
`
`Motii/X11
`
`appears, which allows the user to choose from a set of
`
`predefined categories (western, action, comedy, etc.).
`A user’s selection results in a Video Shelf Screen to
`be displayed. The Video Shelf Screen represents “vir-
`tual” shelves that one might find in a video rental
`store. These shelves display the movie titles result-
`ing from a query to the movie database. The user
`can browse the shelf and playout a selected movie.
`The user has the additional option of querying the
`database for some specific attributes. When the user
`decides to formulate a query, the Query Shelf Screen
`is invoked. The user can customize a query by spec-
`ifying movie—specific attributes of the desired movie
`(producer, director, actor, scene, etc.).
`After applying the query, all movies that conform
`to the requirements are displayed on a Text-Output
`Screen and an updated Video Shelf Screen. The Text-
`Output Screen provides an additional level of detail
`with respect to the query. This screen allows the iden-
`tifying and browsing individual scenes of the movies.
`
`4.2 Software Architecture
`
`The VVB software architecture is designed in a
`layered fashion using object-oriented techniques with
`three application programming interfaces (APIS) as
`shown in Fig. 5. These APIs provide the function-
`alities required for database management, the video
`display, decompression, and user interface. The main
`program of the VVB integrates the API functional-
`ities. The advantage of this approach is the abil-
`ity to rapidly create additional applications based on
`the same core software components. The VVB soft-
`ware modules consist of both commercial, off the shelf
`(COTS) software and software developed in the Mul-
`timedia Communications Lab.
`
`4.3 The VVB Mechanics
`
`The system model for the VVB is consistent with
`the proposed distributed systems services of Section
`
`E] cors sonwara
`
`WB soflware
`
`Figure 5: Software Architecture for the VVB
`
`3. It consists of many movie-terminals, or clients, and
`video—databases, or servers, interconnected via a com-
`puter network (Fig. 3). No particular assumptions
`are made about the underlying network in its design.
`A single central database (QDB) contains the infor-
`mation about the availability of movies and their loca-
`tions within the VOD system. It acts as a name-server
`for the mapping of movies to the video databases. In
`the current VVB implementation, we do not distin-
`guish between the resource and metadata servers. The
`VDBS contain the video data (movies) necessary for
`playout. The clients are provided with the necessary
`hardware/software to support the VVB user-interface
`and movie playout. For the VVB implementation it
`is assumed that while the QDB is located at a single
`site known to all network stations, the VDB is dis-
`tributed across many sites in the network. The client
`queries the QDB to identify the VDB containing the
`required movie, and uses this information to set up a.
`video communication channel between the client and
`
`the server (details of the metadata models used for
`the VVB database are described extensively elsewhere
`[5])-
`
`The mechanics of the VVB operation can be de-
`scribed by three phases corresponding to a user query,
`connection establishment, and connection manage-
`ment (Fig. 6).
`
`16
`
`SONY |~'.XH H '1
`SONY EXHIBIT 1017- Page 8
`101/— Page 8
`
` iii f%§iS8¥€¥¥B
`
`
`
`video library