Previous Next Table of Contents

How to start using the system


The system presents its functionality to a user by means of a Java client. There are two ways of starting it: either as a standalone application or an applet using Java 1.1 or 1.2.
Either of them is a 100% pure Java program. They have been written using the following Java software: There are four versions of the client: Each of them has the same functionality but they are supposed to run in different environments.

The main difference between an application and an applet form, apart from the obvious fact that the applet might be run from a web browser, is that with the applet an end user cannot take advantage of a built-in video player to view films. Such a constraint comes from the security restrictions introduced into Java VM: an applet cannot receive any data that comes from the host different to the one the applet has been dowloaded. In the SVDA system it is common that a video server that streams data is not the computer that hosts an applet bytecode - and so the constraint is in force. Security limitations for an application form of Java programs are much weaker. That is why it is possible to make use of the whole functionality of the system without running any other externals.
  In the case of the applet it is necessary to start additional application - Java Media Framework (JMF) Player. The player can be specified with an IP address that video is distributed to (the one ordered using the client application). It is capable to play MPEG-1 video streams at Solaris 2.5, 2.6 and 2.7 operating system. The version for Microsoft Windows is being developed.

All the clients reported below are useful only when a user has an access to an already working SVDA system. It is possible to use the implementation that is working on the local (in the cs.agh.edu.pl domain) servers either through the applet start page or by downloading a proper piece of software. In order to connect to the local servers a user has to specify as login parameters:


Java 1.1 applet

The applet requires two additional packages: OrbixWeb3.0 and JFC Swing1.1 which it downloads as JAR files. Because Netscape Navigator has built-in implementation of ORB there is a conflict between this version and the version provided by OrbixWeb. In order for the applet to function seamlessly the file "iiop10.jar" has to be removed from the Netscape directory. There is no such problem running the applet using appletviewer.
The appletviewer version of the applet is run by invoking 'run a1' script or by directly using provided HTML and JAR files.


Java 1.2 applet

This version of the applet does not require removing any file from the Netscape distribution. However, it requires the Java Plugin 1.2.2 installed in the browser.
The appletviewer version of the applet is available with command 'run a2' or by directly using provided HTML and JAR files.


Player application

The player used in the system is a separate application. It is started by the "player" script with the following syntax:
player netdoc://address:port/mpg
where:
address - local or multicast address where a movie is being received
port - the port number for receiving data


Standalone application

The application is available by issuing:
'run 1' - for Java 1.1 version
'run 2' - for Java 1.2 version.


Servers

The SVDA architecture, according to the architecture description, consists of three main parts: video servers, archive servers and the main server. That is why in order to run the system it is necessary to start at least three programs: a video server (more video servers are acceptable, but at least one must be run), an archive server (more archive servers are permitted, too) and finally, the main server.

Startup order

The servers have been written with support of Iona's Orbix v2.3c03-01; they use Iona's OrbixNames v1.1c01-06 as a Naming Service. That's why both of these application: orbix daemon and naming service daemon must be started before any of the SVDA server. Refer to Orbix and OrbixNames Iona's configuration and startup documentation for the method of running the daemons.

The first startup ...

During the first startup we have to just run all of the servers according to the way described later. There is of no importance in which order we start up all the servers because the servers, for the first time, aren't tied with each other.

... and all the others

It is necessary to start up the system in the following order: The servers mentioned in the first free points doesn't depend on each other, so they might be run in any order. One of the most important things is that the last one - the main server - must be run after the other servers. This requirements follows the fact that the main server during its initialization process binds to video and archive servers already registered with it. If they weren't started, the main server couldn't attach to them and they would be unaccessible for the system. The servers must be run in accordance with the method explained later. After successful servers' startup the system is ready to use.

Run it

Media Stream Manager server

In order to run the Media Stream Manager server we must run msm_server application. The command line arguments, written on the standard output when msm_server is started without any arguments given, must be specified.

There is a helper script named msm_run that makes it easier to start a server. The script contains thorough description for each of the parameters that must be present in the command line.

Content Manager server

In order to run the Content Manager server we must run vfs_server application. The command line arguments, written on the standard output when vfs_server is started without any arguments, must be specified.

There is a helper script named vfs_run that makes it easier to start a server. The script contains thorough description for each of the parameters that must be present in the command line.

Archive server

In order to run the Archive server we must run as_server application. The command line arguments, written on the standard output when as_server is started without any arguments, must be specified.

There is a helper script named as_run that makes it easier to start a server. The script contains thorough description for each of the parameters that must be present in the command line.

The archive server requires that a configuration file name is specified in the command line. The configuration file is a text file so it can be created with a simple text editor, like vi. Each line of the file must contain the following information:

  1. The IP address of a computer with a UniTree FTP daemon running. This computer is connected with a tape library that stores films managed by SVDA.
  2. A TCP port number on which the FTP daemon waits for connections.
  3. The name of a directory that is to store video files.
  4. A Unix user name - we connect to the daemon by means of FTP protocol, so we should log on first.
  5. The user password.
The etc/archive.conf file is an example of the configuration file.

Main server

In order to run the main SVDA server we must run svda_server application. The command line arguments, written on the standard output when svda_server is started without any arguments, must be specified.
Moreover, the program takes an advantage of the environment and the configuration file.

Environment

Two environment variables must be set:
VFS_HOME - must point to the directory that contains the configuration file.
NS_IOR_FILE - must point to the file that contains the IOR of a OrbixNames daemon that all the servers registers with.

Configuration file

The configuration file contains information that allow to tune the way the system work. It is a text file. It must be named main_server.conf and be placed in $VFS_HOME directory. The file contains the following information (each parameter per one line):
lock_interval - the system uses this value to determine when it has to lock a film instance which is about to be played. That means if it is lock_interval or less seconds to the play time, the film is locked.
request_timeout - requests stays in a queue for this number of seconds after its time passed.
time_function_type - the function calculating time priority of files. Possible values are GAP, ARCTG and LINEAR.
gap_height, gap_position - two parameters used by GAP function. Otherwise they have no meaning. They have to range from 0 to 1 (non-inclusive).
threshold - this value determines what is the minimum difference between a file already stored on a video server and the new one, which is to be stored, to actually remove the first one. It also has to be between 0 and 1.
already_stored_bonus - a video server on which a requested film is already downloaded increases its priority (when searching for the best server to download this film) by this value. It has to range from 0 to 1.
maximum_lock_time - this value determines what is the maximum time (in seconds) during which a file can remain locked. After that time lock is removed.

All parameter listed above have their default values. They are used when the configuration file is missing or corrupted. The file must be changed with caution because it is not very error proof.

The etc/main_server.conf file is an example of the configuration file.

There is a helper script named svda_run that makes it easier to start a server. The script contains thorough description for each of the parameters that must be set up.

Configuration file

Each of the mentioned helper scripts takes an advantage of common environment variables that must be set when the servers are started. All of them are placed in the file config.sh. Variable specified in this file should be adjusted to appropriate for the destination system values.


Previous Next Table of Contents


Last modification:
Copyright © Distributed Systems Research Group. All Rights Reserved.
Contact: rzepa@ics.agh.edu.pl