The Calypso demonstration platform

This document describes the setup of the Calypso demonstration scheduled for 8th December, 1997.


1. General

The purpose of the demonstration is to illustrate the capabilities of the Calypso platform. Two services different in nature have been selected to do the task: the TV Channel Distribution to demonstrate unidirectional multicast service and the Internet Service to demonstrate on-demand switched connection to an Internet router. These services are likely to be important ones in the future consumer broadband network and they are also an essential basis for digital interactive TV applications.

The services of the Calypso 1997 demonstration can be considered as pre-alpha prototypes and they lack many features necessary for production use, such as authentication, billing and security features etc. They do, however, demonstrate the ability to create broadband services using Java and Calypso platform as well as the capability to support native ATM streams and IP over ATM connections with a single platform. They are also necessary for the future development of the Calypso service architecture as concrete test cases to produce requirements for the service architecture.


2. The TV distribution service

Figure 1 The TV distribution service

The TV distribution service demonstrates the concept of delivering TV programs over a switched broadband network. In the Calypso prototype the TV "channels" are implemented as unidirectional point-to-multipoint ATM virtual channels transmitted from a server machine. The contents of the streams are MPEG encoded video directly over ATM AAL5. In practise the "programs" are short MPEG video clips read from a file and transmitted in a loop by the server rather than live TV broadcasts.

The viewers may join and leave the streams at will. When the viewer application is started in the client machine, it connects to the service agent running in the Calypso switch controller. The service agent opens a virtual channel in the client's ATM link and starts waiting for channel selections made by the user. When the user requests a channel, the agent joins the client's VC as a leaf to the multicast tree of that channel. When the user changes channel, the agent prunes the client's VC from the old channel and joins it to the requested channel; from the client's point of view only the content of the incoming VC changes.

Some components in addition to the service agent and client are needed to implement the TV service. The MPEG sender is a simple C program of which one instance per TV channel is running in the server. The sender process reads a MPEG file and transmits its contents to a given ATM VC, timed according to time stamps within the MPEG file. The stream is received by a MPEG forwarder program running in the client machine. The forwarder relays the recevied MPEG stream to the actual viewer application, which is a commercial program (see section 5 below).


3. The Internet service

Figure 2 The Internet service

The purpose of the Internet service is to provide on-demand Internet connectivity. The concept is very simple: when user wishes to connect a site in the Internet, an ATM virtual channel is opened from the users machine to a dedicated router connected to the Internet. The channel is switched through the intermediate access network, so the access switches do not need to implement powerful routing or IP switching functions.

The Calypso implementation of the Internet service consists of three parts: the service agent, service client and a daemon in the routing server. When the client requests a connection from the agent, the agent opens the virtual channel from the user to the router and then connects to the router daemon and tells it to add the client to its routing table. Finally the agent returns the opened VC to the client that is now able to open a new IP over ATM channel that will be used to access the Internet. The user opens and closes the connection by pushing a button in the Internet client program dialog.


4. Hardware used

Figure 3 Hardware and network setup

The switch used in the demonstration is the FSR (Frame Synchronized Ring) developed by the Technical Research Center of Finland (VTT). The switch is controlled using a PC running Calypso switch controller software in Linux operating system. The two end user terminals in this demonstration are also Linux PCs that are able to run the Calypso user applications. The remaining component is the server machine providing the TV channel streams as well as the routing service to the Internet. This machine is a Linux PC as well.

All machines are connected to the FSR using 155 Mbps fiber links (STM-1), the server machine is connected to the Internet using 100 Mbps Ethernet. The ATM Network Interface Cards used are Efficient Networks PCI adapters.

No special hardware (such as MPEG decoder cards) is needed for the TV viewer application, only regular S3 based display cards and SoundBlaster soundcards are used in the client machines. Client machines also have infrared detectors to enable controlling the TV application using an ordinary TV remote control. The IR detectors are the only nonstandard hardware component (excluding the FSR switch), handmade by the project team using publicly available schematics (LIRC project). The cost of the components for the IR detector is about 50 FIM.


5. Software used

All Linux machines run kernel version 2.0.29, patched with ATM package version 0.31, which is the latest available for stable (v2.0) kernels. The kernel configuration of the server machine enables IP routing, firewalling and masquerading; the server also has the firewall administration toolkit (ipfwadm) installed, which is used to control the Internet service. The kernel configurations of the other machines do not include special features, only ATM and Classical IP over ATM must be enabled.

The Calypso software is written mostly in Java, using standard JDK (Java Development Kit) version 1.1.4 Linux port (version 1.1.3 works as well). GCC version 2.7.2 is used for the parts written in C or C++.

The TV viewer application requires an MPEG player program capable of viewing System Layer (MPEG-1 with audio) MPEG streams. The program used in the demonstration is MpegTV, which is a commercially available player program.

The Internet service requires no special software in the client.


Updated by Juhana Räsänen <Juhana.Rasanen@hut.fi> 03 Dec 1997