Oracle Video Server System Tour
Release 2.1.7
A42272_3

Library

Product

Contents


Prev Next


System Tour

This System Tour provides a software and hardware overview of the Oracle Video Server system for a local area network (LAN). The Oracle Video Server system is a combination of Oracle products that delivers video data to multiple PC clients in real time. It is available on a variety of video server computers, client PCs, and networks. It allows you to develop and deploy interactive video applications such as interactive video-based training, interactive kiosks, and corporate repositories.

Read this tour if you administer or develop applications for the Oracle Video Server system or if you are curious about its architecture. Be sure to read this tour before you install, start, or operate the Oracle Video Server. This tour provides an overview of the Oracle Video Server system including:

This tour discusses these Oracle products in the Oracle Video Server system:

This tour also discusses the Oracle Media Data Store (MDS), the real-time file system where the Oracle Video Server stores video data.

Oracle Video Server System

This section gives you an overview of the Oracle Video Server system including:

Figure 1 shows the hardware pieces and Oracle software products in the system.

Figure 1: The Oracle Video Server system

System Hardware

The Oracle Video Server system requires these pieces of hardware:

Oracle Media Net also runs on both the video server computer and the client PCs to allow communication between them.

A System Round Trip

This section describes the steps in establishing a round trip, or a video request from an application on a client PC met by the video delivery from the Oracle Video Server:

  1. A user wants to play video from an application running on a client PC and requests a list of videos from the Oracle Video Server through the Oracle Video Client. Oracle Media Net carries the request to the Oracle Video Server running on the video server computer.
  2. The Oracle Video Server receives the request and queries the Oracle Media Data Store (MDS) for its contents. The MDS responds with a list of video files.
  3. The Oracle Video Server returns the list of video files through Oracle Media Net to the application.
  4. The application displays the list of available videos to the user.
  5. The user chooses a video to play from the list.
  6. The Oracle Video Client sends a request to play the video to the Oracle Video Server.
  7. The Oracle Video Server locates the video file in the MDS, opens it, logically links it to the client PC, and delivers it in MPEG-1 format to the application.
  8. The application receives the MPEG-1 data, decodes it, and displays the video on the client PC for the user to see.

While video is playing, the user may want to pause, restart, or seek within it. Requests for such operations are met in a similar manner beginning with step 6 in the process.

System Networking

Understanding networking in the Oracle Video Server system requires an understanding of basic Ethernet networking concepts and the differences between shared Ethernet and switched Ethernet.

Ethernet

This section discusses these Ethernet terms:

Packets

The packet is the basic unit of information that travels between computers on a network. All data transmitted over a network, whether a small message or a large video file, is divided into packets. Each packet contains a header and data. The header contains:

For Oracle Media Net packets, the receiving computer gathers the packets it receives and reassembles them based on the packet sequence in the header. The receiver can identify missing packets based on information in the headers of the received packets and corrupted packets based on the checksum information in their headers. If a packet is missing or has been corrupted, the receiver requests that the sending computer resend the packet and waits for its return before reassembling the data for the user.

Bus/Broadcast Topology

The most common type of Ethernet topology is a bus topology. In a bus topology all computers on the network are connected to the same communication channel. When one computer wants to send data over the network to another, it checks the data channel for data packet traffic and broadcasts the first packet when the channel is clear. If the data takes up multiple packets, the sender waits again until the channel is clear to transmit the next packet. This continues until all the packets have been sent. As a packet is broadcast on the channel, it is seen by all computers on the network. The packet is only useful to the computer to which it is addressed, denoted by the address in the packet header. This type of network is called shared Ethernet because all computers on the network share the same data channel.

Best-Effort Delivery

Ethernet uses best-effort delivery, which means that when data is sent over the network, every effort is made to deliver the data. However, if the receiving computer is turned off or if there is a network problem, the data is lost. Ethernet does not notify the sending computer when a message is received.

Demands of Video on the Network

A shared Ethernet network is sufficient for non-real-time applications such as databases or word processors in which delays of a fraction of a second in receiving data are not critical and are often not noticed by users.

However, applications receiving video are time-sensitive and depend on isochronous, or time-based, delivery. Data packets must arrive on time to be useful, or the video suffers a brief interruption and the user notices a flaw (or "glitch") in the video such as:

Glitch-free video is not easy to deliver on a shared Ethernet network because:

Once a video stream starts, it must continue and finish uninterrupted by other data transfers or by glitches. To ensure uninterrupted video:

Switched Ethernet

The Oracle Video Server system uses switched Ethernet to ensure consistent glitch-free video delivery and to reduce network congestion. Unlike shared Ethernet in which every computer reads every packet, switched Ethernet uses a hardware hub that provides a dedicated link to each client PC. The dedicated link allows the hub to physically map each client PC IP address to the communication channel between the hub and the client PC. The switched Ethernet hub examines the IP address of each packet as it moves through the hub and routes it directly to its destination segment ensuring that data in the communication channel between the hub and a client PC is destined for that client PC. Each client PC views only its data and does not spend time examining packets addressed to others on the same communication channel.

The switched Ethernet hub also has high capacity input allowing for the multiplexing of video streams from the server to many client PCs into a single line. A high capacity interface, such as Fiber Distributed Data Interface (FDDI) or Copper Distributed Data Interface (CDDI), handles many video streams from the video server computer at once, with a dedicated segment for each client PC, ensuring optimum performance for both the dedicated segments and the entire network.

Oracle Video Client

The Oracle Video Client runs on a client PC and enables a client application to receive video data from the Oracle Video Server and display it:

Oracle Video Server

The Oracle Video Server runs on the video server computer and has these responsibilities:

The Oracle Video Server consists of these components:

The Oracle Video Server is fully scalable from single-processor systems delivering video to a few client PCs to large multi-processor computers capable of delivering video to many clients. Note that the scalability of the Oracle Video Server system depends on:

Oracle Media Data Store (MDS) Process

All processes that access files in the Oracle Media Data Store (MDS) must gain access through the MDS process. For example, when a video pump is requested to play a video file, it first opens the file by sending a message to the MDS process. The MDS process returns a small structure describing the file's layout on disk. With this structure, the video pump can access the file's contents directly. This direct access prevents the MDS process from becoming an I/O bottleneck.

Video Content Manager

The video content manager allows the application to browse a list of available videos in the MDS. On request of the application, the video content manager reads the MDS and returning a list of files to the application.

Stream Service

The stream service receives requests for video from applications. When the stream service receives a request to play, pause, restart, or seek within a video file, it reads the tag file associated with the requested video from the MDS. The tag file contains information about which part of the video file must be played to meet the request. The stream service then tells the video pump which portion of the video file to play.

Video Pump

The video pump reads video files from the MDS and delivers them to the network. When an application requests video, the video pump receives a message from the stream service, reads the appropriate portion of the file from the MDS, and sends video data to the application over the network.

Connection Service

The connection service manages each client PC's session with the Oracle Video Server, which includes allocating resources such as video pumps and downstream managers required for the session. The connection service maps physical addresses of PC clients to physical downstream addresses on the video server computer.

Oracle Media Net

Oracle Media Net is the communication infrastructure used by all components of the Oracle Video Server system. It allows connectionless communication among components on different platforms, using heterogeneous network protocols. The network protocols underlying Oracle Media Net are transparent to the components using it. Each component has a Media Net address that uniquely identifies it among other components in the Media Net network. Oracle Media Net is also responsible for logging error messages and warnings in the Oracle Video Server system.

When a component requires a resource or functionality that is not available on its computer, it sends a message to another component on another computer. This message is called a remote procedure call (RPC). The component making the RPC is called the client and the receiving component is called the server. The RPC mechanism shields both components from the details of network communication by:

This section describes each component of Oracle Media Net.

Oracle Media Net Name Server

The Oracle Media Net name server maps the names of server processes to their Media Net addresses. When a server process is started, it registers its name and Media Net address with the name server. Before a client can send a message to a server, the client first contacts the name server to find the server's Media Net address.

Oracle Media Net Address Server

The Oracle Media Net address server maps Media Net addresses to corresponding physical addresses. When a server process starts, it requests a Media Net address from and registers its corresponding transport layer address with the address server.

The address server is also responsible for invalidating the addresses of inactive processes. When the address server determines that a process is inactive, it removes the process' address from its Media Net address table and notifies other processes.

Oracle Media Net Process Server

The Oracle Media Net process server receives RPC service requests from clients that are intended for the stream service or other application services and routes these messages to a process that services the request.

Oracle Media Net Logger Process

The Oracle Media Net logger process writes system and trace messages to its logfile for all Oracle Video Server and Oracle Media Net components. It is useful for troubleshooting the Oracle Video Server system. For a list of the messages written by the logger process, see the Oracle Video Server Logger Messages manual.

Oracle Media Data Store (MDS)

The Oracle Media Data Store (MDS) is a real-time system designed to store and deliver uninterrupted video in real time. The MDS is composed of these parts:

Oracle Media Data Store (MDS) Files

The MDS can store virtually any type of file, although the Oracle Video Server system only supports decoding of video files stored in MPEG-1 format on the client PC. MPEG-1 is a standard format defined by the Motion Picture Experts Group that reduces the disk space required to store video in binary format by taking advantage of redundancies among frames in a video sequence.
MPEG-1 provides:

The MDS should contain a tag file associated with each stored video file.

Oracle Media Data Store (MDS) Volumes

MDS files are stored in volumes. A volume is a named collection of disks. Each volume stores files in a flat namespace. The MDS provides quick access to a file given a unique ID, such as a filename, but is not meant to be a general purpose file system with directories to search and browse. Sophisticated databases and client user interface applications control that level of interaction.

The MDS supports these special features for storing data:

Striping

In a striped volume, each file is divided into pieces, or stripes, and each stripe is stored on a different disk. Striping improves performance if some files are often accessed by many users concurrently. Storing small pieces of a heavily-accessed file on different disks distributes access to the file across those disks, rather than concentrating it on one.

In a striped MDS volume, each file is striped across all the disks of that volume. Figure 2 shows a striped volume with 5 disks.

Figure 2: A striped volume

Redundant Arrays of Inexpensive Disks (RAID) Protection

Redundant arrays of inexpensive disks (RAID) protection means storing data redundantly so it is still accessible in the event of a disk failure. The MDS's RAID protection is similar to hardware-based RAID5 protection.

If RAID protection is enabled for an MDS volume, the disks in the volume are divided into RAID sets. The MDS, in addition to storing the data, now also stores parity information as a checksum (the bitwise exclusive OR) of the other data. Figure 3 shows a RAID set of 5 disks with parity data striped across the RAID set.

Figure 3: A RAID set showing parity data striped across the disks

If a disk fails, the MDS can dynamically reconstruct the data on the failed disk from the other disks in the RAID set using this parity information. The MDS reconstructs the data as it is requested. The MDS also provides the mdsrebuild utility that rebuilds data from a failed disk onto a new disk. For more information, see the Oracle Video Server Utilities User's Guide.

The MDS can tolerate one failed disk in each RAID set and continue to deliver video without glitches. If there are multiple concurrent failures in a RAID set, the missing data cannot be reconstructed and the requests for video fail.

Together, striping and RAID offer tremendous performance benefits with a high degree of reliability. Figure 4 shows a volume of 2 RAID sets and 10 disks that uses striping and RAID.

Figure 4: RAID protection and disk striping offer tremendous performance benefits

Spare Disks

Disk sparing allows you to designate a spare disk onto which you can rebuild the data on a broken disk while the volume is still delivering video. If your video server computer does not support hot-swapping, you must designate a spare disk in your volume if you want to be able to rebuild data and continue to deliver video at the same time. Without spare disks, you would have to disable the Oracle Video Server to replace and rebuild the failed disk.

Disk Space Allocation

The units that describe storage in MDS are:

The raidstripe is the smallest unit of allocation in the MDS. The area of Figure 6 within the dotted rectangle is a raidstripe.

Figure 6: A raidstripe

Write Consistency

The MDS process enforces write consistency on MDS files:

Volume Access Bandwidth

An MDS volume can operate in two modes:




Prev

Next
Oracle
Copyright © 1997 Oracle Corporation.
All Rights Reserved.

Library

Product

Contents