You are on page 1of 71

2001:024

MASTER'S THESIS

Web Based EPG

Stefan Johansson

Civilingenjörsprogrammet Datateknik

Institutionen för Systemteknik


Avdelningen för Programvaruteknik

2001:024 • ISSN: 1402-1617 • ISRN: LTU-EX--01/024--SE


Preface
This master thesis was begun during the summer of 1999 and was performed at Telia Research in
Nynäshamn, however the major part of the people involved in the project that this master thesis area
is a part of, are placed at Telia Research in Farsta. Since this work is just one of many aspects in that
project, I hope that my conclusions can participate in the decision for choosing the development
platform and also in the creation of the electronic program guide.

I would like to thank both Niclas Klack and Magnus Nilsson who where my supervisors at Telia
Research. I had Magnus during the first two month of my master thesis and Niclas during the rest of
the time. From them I got valuable feedback and support during my work. I also would like to thank my
examiner, Roland Parviainen at Luleå University of Technology, for shown interest and support.
Abstract
As the number of available channels is increasing, new ways to help users find programs they want to
se has developed. Instead of using a paper based TV-guide or the teletext, users can use an
electronic program guide to find the shows they are interested in.

The Swedish existing web based EPG (Electronic program guide) that where found, are all very
similarly regarding both interface and functions, and the overall function is the one that shows what is
on all the channels, right this second. The channel information for these channels can be found in
several companies, but the most interesting is TVData, Infomedia and Avisa. To connect the database
containing the channel information with the server holding the EPG, a database driver is required. The
most suitable for this among the JDBC drivers, are the Native-API partly-Java driver and for ODBC,
the Two-tier-architecture. Before constructing an EPG, a decision regarding which platform to chose,
needs to be made. The evaluated platforms are the web based, OpenTV and MediaHighway. When
comparing web based EPG with EPGs from OpenTV and MediaHighway. There are more advantages
for using web based tools when creating an EPG, like no licence and that the developing language is
well known. But OpenTV and MediaHighway are better prepared against a large increase of users.
Since they broadcast there contents all the time.

New products that already contain an EPG, are products like TiVo and ReplayTV. These products can
be seen as the future VCR as they have several interesting functions and store all the movies on an
internal hard disk. Since the products from TiVo and ReplayTV have very similarly functions and price.
It will in my opinion be how user-friendly their interfaces for their different functions are, that will
separate these two. These products that can be seen as local-on-demand also have more advantages
compared with server based video-on-demand.
Sammanfattning
Allt eftersom de antal kanaler som blir tillgängliga för hushållen ökar hela tiden. Kommer behovet av
ett hjälpmedel för att hitta de önskade programmen att behövas. Istället för att använda sig av en
pappers baserad TV-guide eller texttv, så kommer en elektronisk TV-guide, dvs en elektronisk
program guide att användas. Med en sådan kommer användaren kunna söka bland kanalerna genom
att t ex ange dag, kanal, kategori för att hitta det önskade programmet.

De webbaserade elektroniska program guider som idag finns i Sverige, är väldigt lika vad gäller både
utseende och funktion. Den gemensamma funktionen som de har är att de kan visa vad som sänds
just nu på alla kanaler. Själva kanal informationen till dessa elektroniska program guider finns på flera
ställen, men de mest intressanta bolagen är TVData, Infomedia och Avisa. För att kunna koppla en
databas med sådan information till en server där EPG:n finns, krävs det en databaskoppling. Den
mest lämpliga av JDBC kopplingarna var Native-API partly-Java och för ODBC, Two-tier-architecture.
Innan man skapar en EPG bör man fundera vilken platform man skall välja. De platformar jag har
utvärderat är den webbaserade, OpenTV och MediaHighway. Det är flera fördelar för att utvecklingen
skall ske på den webbaserade platformen. Som t ex att det inte finns någon licenskostnad och språket
är väl känt. Dock är OpenTV och MediaHighway bättre förberedda när det gäller många samtida
användare. Eftersom de broadcastar ut sitt innehåll hela tiden.

Nya produkter som redan innehåller en EPG är t ex TiVo och ReplayTV. Dessa kan ses som
framtidens videoappart, dock med fler intressanta funktioner samt att de lagrar alla program på en
hårddisk. TiVo och ReplayTV har nästa samma funktioner och samma pris. Så vad som kommer att
skilja dessa två är hur användarvänliga deras funktioner kommer att uppfattas. Dessa produkter kan
ses som local-on-demand och har även flera fördelar jämfört med serverbaserad-on-demand.
Contents
__________________________________________________________________________________________

Table of Contents

1 INTRODUCTION................................................................................................................................... 1
1.1 About Telia ....................................................................................................................................... 1
1.2 Background....................................................................................................................................... 1
1.3 Purpose ............................................................................................................................................. 1
1.4 Objectives ......................................................................................................................................... 2
1.5 Demarcation...................................................................................................................................... 2
1.6 Chapter description............................................................................................................................ 3
2 INTRODUCING TELEVISION............................................................................................................. 4
2.1 Analogue Television.......................................................................................................................... 4
2.2 Digital Television.............................................................................................................................. 4
2.3 Distribution networks ........................................................................................................................ 5
2.3.1 Terrestrial ................................................................................................................................. 5
2.3.2 Satellite ..................................................................................................................................... 5
2.3.3 Cable......................................................................................................................................... 6
2.3.4 Back channel ............................................................................................................................. 6
2.4 Future alternatives ............................................................................................................................. 6
2.4.1 ADSL......................................................................................................................................... 6
2.4.2 Mains ........................................................................................................................................ 7
2.4.3 VDSL......................................................................................................................................... 8
2.4.4 Ethernet LAN............................................................................................................................. 8
2.4.5 High-Quality ATM ..................................................................................................................... 8
2.5 Television improvements................................................................................................................... 9
2.5.1 Internet TV ................................................................................................................................ 9
2.5.2 Enhanced TV ............................................................................................................................. 9
2.6 Television standards .......................................................................................................................... 9
2.6.1 Television system ..................................................................................................................... 10
2.6.2 Frame creation ........................................................................................................................ 11
3 STANDARDS........................................................................................................................................ 12
3.1 NorDig............................................................................................................................................ 12
3.2 DVB ............................................................................................................................................... 12
4 SET-TOP BOX...................................................................................................................................... 13
4.1 Types of set-top boxes ..................................................................................................................... 13
4.2 Future set-top box............................................................................................................................ 13
5 VIDEO-ON-DEMAND ......................................................................................................................... 14
5.1 The first VOD network.................................................................................................................... 14
5.2 TiVo & ReplayTV........................................................................................................................... 14
5.2.1 TiVo ........................................................................................................................................ 15
5.2.1.1 Connections ..................................................................................................................................15
5.2.1.2 Back panel.....................................................................................................................................15
5.2.1.3 Remote control..............................................................................................................................16
5.2.1.4 Description of TiVos functionality.................................................................................................17
5.2.2 ReplayTV................................................................................................................................. 18
5.2.2.1 Remote control..............................................................................................................................18
5.2.2.2 Description of ReplayTVs functionality ........................................................................................19
5.2.3 Comparison chart .................................................................................................................... 20
5.2.4 Conclusions ............................................................................................................................. 22
5.3 Protocols ......................................................................................................................................... 22
5.4 Server based vs local based video-on-demand .................................................................................. 27
5.4.1 Advantage for local based system compare to server based system ........................................... 27
5.4.2 Disadvantage for local compare to server based....................................................................... 27
5.4.3 Conclusions ............................................................................................................................. 27
5.5 Improvements for server based video-on-demand............................................................................. 28
5.5.1 Proxy caching.......................................................................................................................... 28

Web based EPG


Contents
__________________________________________________________________________________________

5.5.2 Playback restart....................................................................................................................... 29


5.5.3 Skyscraper multicast ................................................................................................................ 30
6 EPG ....................................................................................................................................................... 31
6.1 Transmitting EPG information to a STB .......................................................................................... 31
6.2 Channel Information........................................................................................................................ 31
6.3 Telia Infomedia ............................................................................................................................... 32
6.4 Different platforms for EPG ............................................................................................................ 33
6.4.1 OPENTV.................................................................................................................................. 34
6.4.2 MEDIAHIGHWAY................................................................................................................... 35
6.4.3 Web based ............................................................................................................................... 36
6.5 Comparing these EPG platforms with web based EPG ..................................................................... 36
6.5.1 The market............................................................................................................................... 38
6.5.2 Conclusions ............................................................................................................................. 38
6.5.3 Future ..................................................................................................................................... 39
7 DATABASE .......................................................................................................................................... 40
7.1 Database Models ............................................................................................................................. 40
7.1.1 Flat file.................................................................................................................................... 40
7.1.2 The Hierarchical Model........................................................................................................... 40
7.1.3 The Network model .................................................................................................................. 40
7.1.4 The Relational Model............................................................................................................... 40
7.1.5 The Object-Oriented Model...................................................................................................... 40
7.1.6 The Object-Relational Model ................................................................................................... 41
7.2 DBMS............................................................................................................................................. 41
7.3 Database connection........................................................................................................................ 41
7.3.1 JDBC ...................................................................................................................................... 41
7.3.1.1 Drivers ...........................................................................................................................................42
7.3.1.2 Performance..................................................................................................................................43
7.3.1.3 Conclusions...................................................................................................................................44
7.3.2 ODBC ..................................................................................................................................... 44
7.3.2.1 Drivers ...........................................................................................................................................45
7.3.2.2 Conclusions...................................................................................................................................46
8 CONSTRUCTION OF THE EPG ........................................................................................................ 47
8.1 Language for EPG........................................................................................................................... 47
9 THE WEB BASED EPG PROTOTYPE .............................................................................................. 49
9.1 Language ........................................................................................................................................ 49
9.2 Architecture .................................................................................................................................... 49
9.3 Components .................................................................................................................................... 49
9.4 The EPG interface ........................................................................................................................... 50
10 FUTURE WORK .............................................................................................................................. 52

11 CONCLUSION AND DISCUSSION ................................................................................................ 53

12 REFERENCES.................................................................................................................................. 54

APPENDIX ................................................................................................................................................... 58
Existing web based EPG ............................................................................................................................. 58
Script environments for creating EPG ......................................................................................................... 59
ABBREVIATIONS....................................................................................................................................... 64
Figures
__________________________________________________________________________________________

Figures

Figure 2-1 Illustration of Nipkows Television system [2] ................................................................................ 4


Figure 2-2 Back channels for distributed networks ......................................................................................... 6
Figure 2-3 The construction of ADSL network [6] ......................................................................................... 7
Figure 2-4 The Architecture for Digital Power Line [7] ................................................................................. 7
Figure 2-5 The principle of comability [1] ................................................................................................... 10
Figure 2-6 The extension of television standards [71] .................................................................................. 10
Figure 2-7 Recreation of frame [1] .............................................................................................................. 11
Figure 3-1 Adoption of DVB standards world-wide [70] .............................................................................. 12
Figure 4-1 Example of a set-top box [57] ..................................................................................................... 13
Figure 5-1 Satellite receiver, cable box and a VCR connected to a TiVo STB. [22] ...................................... 15
Figure 5-2 Back panel of the TiVo STB [23]................................................................................................ 15
Figure 5-3 TiVos remote control [20]......................................................................................................... 16
Figure 5-4 TiVos EPG [21]......................................................................................................................... 17
Figure 5-5 ReplayTVs remote control [26].................................................................................................. 18
Figure 5-6 ReplayTVs EPG [59]................................................................................................................. 19
Figure 5-7 ReplayTVs STB [26] .................................................................................................................. 20
Figure 5-8 TiVos STB [20].......................................................................................................................... 20
Figure 5-9 Internet multimedia conference protocols [33]............................................................................ 22
Figure 5-10 Example of IP multicast protocols [39] .................................................................................... 23
Figure 5-11 RTSP Client / Server Communication: Standard UDP Mode [34].............................................. 26
Figure 5-13 Smoothing model [67] .............................................................................................................. 28
Figure 5-14 Video-on-Demand system model [68]....................................................................................... 29
Figure 5-15 An Example of Skyscraper transmission schedule [69] .............................................................. 30
Figure 6-1 Topology of a STB software stack [77]........................................................................................ 34
Figure 6-2 The MediHighway software architecture in the STB [80] ............................................................ 35
Figure 6-3 The Europeean market for middlewares [79] .............................................................................. 38
Figure 7-1 Components of DBMS [42]........................................................................................................ 41
Figure 7-2 Java drivers [44]........................................................................................................................ 42
Figure 7-3 Java drivers [44]........................................................................................................................ 42
Figure 7-4 The relationship between the ODBC components. [65]................................................................ 45
Figure 7-5 One-tier-architecture [66] ......................................................................................................... 45
Figure 7-6 Two-tier-architecture [66].......................................................................................................... 46
Figure 8-1 The Servlet life cycle [75] ........................................................................................................... 47
Figure 9-1 The graphical user interface for the EPG.................................................................................... 50
Figure 9-2 Frames in the EPG ..................................................................................................................... 51
Figure 10-1 Tjohoo´s EPG [60]................................................................................................................... 58
Figure 10-2 TVProgram.nu´s EPG [61]...................................................................................................... 58
Figure 10-3 DagensTV´s EPG [62]............................................................................................................. 58
Figure 10-4 SvD´s EPG [63] ...................................................................................................................... 58
Figure 10-5 Spray´s EPG [64].................................................................................................................... 58
Figure 10-6 Aftonbladet´s EPG [81] ........................................................................................................... 58
Figure 10-7 EPG overview........................................................................................................................... 59
Figure 10-7 The build-in components in ASP [54]........................................................................................ 59
Figure 10-8 A COM object [52]................................................................................................................... 61
Figure 10-9 Application accessing COM objects [52] ................................................................................. 61
Figure 10-10 ColdFusion application processing [72] ................................................................................ 62

Web based EPG


Introduction
__________________________________________________________________________________________

1 Introduction

1.1 About Telia


Telia is a government-owned telecom company in Sweden. It was established in 1854 and became a
corporation in 1993. Telia will be a public limited company during the summer of 2000, but the
government will in the initial stage have the share majority. Today there are approximately 30000
employees working at Telia and their organisation consists of five different business areas. These
business areas are Carrier & Nät, Enterprises, Företag, Mobil and Privat. In 1991 Telia created Telia
Research AB, a company that would be able to meet the fast changes in the telecom business. This
company has about 300 employees and offices placed in Malmö, Nynäshamn, Farsta and Luleå.

The task for Telia Research are according to their own brochure, to develop new product- and
business-concept based on strategic breakthrough in the information- and communication-technology,
and to support Telias business area in the productification of these concepts. Telia Research has for
the moment three different research and development areas. These areas are communication
services, information services and net services. My master thesis has been performed at Telia
Research in Nynäshamn, in an area called Hemmet & Media, which is a part of the communication
services area.

1.2 Background
The people in Sweden had during a long time only access to two different channels, SVT1 and SVT2.
All information about the programs that where transmitted in those channels, could be found in a
newspaper. Since the people only had to search through information for two channels, it was no
problem to find the show he/she wanted to watch. But when it was possible to transmit channels
through satellite and cable, special paper based TV-guides, was created. So the people would have all
the channel information gathered at one place. Since the number of channels that people subscribe to
continues to increase, a new way to find the desired program has been developed. Instead of using
the paper-based guide, an EPG (Electronic Program Guide) can be used. With the electronic program
guide the user will have the possibility to search for programs using for example: program category,
channel or the start time for the program. Today there exist a number of different electronic program
guides, some of them are web based guides and exist on the Internet. Others like Telias cable
company, Comhem have an electronic program guide, which have been constructed using an
application program interface from OpenTV.

Some of the channels that are sent can either be coded or transmitted with digitally signals. To be able
to watch those channels, people will need a STB (Set-Top Box) that convert the digital signal into an
analogue signal and if needed decodes the signal. A new type of set-top boxes has been developed
from TiVo and ReplayTV. These boxes are a combination between an ordinary set-top box and a
VCR, but with more functions and these products are predicted to exist in almost every home in the
future. The boxes also have an EPG, and as the areas of use for the EPG grows, people will certainly
in a short time be familiarly with this type of application.

1.3 Purpose
The project at Telia Research that this master thesis is performed in are involved in streaming
television programs over the Internet protocol. They are interested in offering an electronic program
guide that is made with web based tools, so people easily can find the program they want to watch.
Since several special application program interfaces for this kind of applications exist on the market
today, but are intended for other platforms. An evaluation regarding the areas concerning the web
based electronic guide needs to be done. This involves investigation of where the channel information
can be found and which database connection to prefer. Also perform a comparison between an

Web based EPG 1


Introduction
__________________________________________________________________________________________

electronic program guide constructed with web based tools and those using some of the application
program interfaces from OpenTV or MediaHighway. The last area involves investigating the existing
web based electronic program guides on the net today and finally constructing my own electronic
program guide with web based tools.

With server based video-on-demand, users can choose from a wide area of programs and the concept
may act as the future video store. But since the number of channels that each household is
subscribing are likely to increase, the future households will have a large number of programs to
choose between and the need for server based video-on-demand might be question. Products like
TiVo and ReplayTV, which are set-top boxse that have functions that can search for programs and
give suggestions among the programs that are broadcast, needs to be evaluated. These products
save all the content on an internal hard disk and can be seen as local video-on-demand. So a
comparison between server based video-on-demand and local video-on-demand is also required.

1.4 Objectives
The following tasks are the objectives with this master thesis.

• Examining existing EPGs and databases with channel information

• Investigate different types of database connections

• Compare web based EPG with EPGs developed for other platforms

• Evaluate TiVo and ReplayTV and compare these with server based video-on-demand

• Construct an EPG

1.5 Demarcation
There are three ways to transport the EPG and the channel information to the users. One way is to
have the EPG and the channel information transmitted with the same stream as the audio and the
video. This is how the cable companies are doing it today. Another way is to just send the EPG with
the audio and video stream, and have all the channel information sent to the user, using IP. Which
users will received by a modem in the set-top box. The final way would to have both the EPG and the
channel information sent to the user that way.

Since the project that I am performing this master thesis in will use that last alternative, my report is
based on that procedure.

Existing EPGs and the channel information


I have only searched for existing web based EPGs that are used in Sweden and the focus regarding
companies that sell channel information, has been at companies existing in Sweden.

Database connections
Several different ways to connect to database from a web page has been investigated, but a more
thoroughly investigation has been done with the different types of drivers of JDBC and ODBC.

EPGs developed for other platforms


I have based my evaluation at more generally differences between them. Since I did not have access
to OpenTV or MediaHighway, and a technically difference in depth would have taken to much time.

TiVo & ReplayTV


It was my intention to buy and fully exam these two products. But after contacting both TiVo and
RepalyTV, it turned out that none of them are selling their products to customer outside the U.S.
Because of this I have not been able to fully examine these devices. I have based my conclusions
from documents that both manufactures have on their web addresses and by contacts with these

Web based EPG 2


Introduction
__________________________________________________________________________________________

companies. Since TiVo had more information about their product, my report is based a little bit more
on TiVos functions compared to ReplayTVs. According to ReplayTV, the model 2020 is now the only
one available. Since the other models 2001, 2003, and 2005 have been discontinued. My evaluation
of their product was finished when I discovered their new model. Therefor I have just added the
differences that the model 2020 has in the table.

1.6 Chapter description


Section 2 gives an introduction to the television terminology. Here the existing techniques for
transmitting television programs and some future ways are explained. Chapter 3 describes some
organisations that are working with standards mainly in the area of digital television. A short
description of a set-top box is done in section 4 and some text on the future box.

The evaluation of TiVo and RepalyTV is done in chapter 5 and also the comparison between these
two products and the server based video-on-demand system. I have also given some suggestions how
to improve the video-on-demand system. Section 6 contains the databases with channel information
and the comparison between the web based electronic program guide and electronic program guides
created with OpenTV API and MediaHighway API. This section also describes some general
information about the information sent to the electronic program guide.

Chapter 7 gives an introduction to different types of databases before the evaluation of different
database connection is done. I have concentrated my evaluation to drivers from JDBC and ODBC. In
the appendix there is also a description of some of the most common database connections. In
Chapter 8 and 9 I give an evaluation about which web based tool to use for creating an EPG and I
also explain my EPG construction. The Examination of the existing EPGs is shown in the appendix.

Web based EPG 3


Introducing Television
_________________________________________________________________________________________

2 Introducing Television
The English word television, which has the same meaning in the Swedish language, is compound by
the Greek word tele and the Latin word visus [1]. Tele means distant and visus means vision, and a
translation of televisus into Swedish would be fjärrsyn.

Households today can receive television signals by three different ways. It is through satellite, cable
and terrestrial broadcast. A major part of these transmissions are analogous, but it is possible today to
receive digitally transmissions in all three areas. The television has in our society become one of the
products that exist almost in every home. Its roll as an entertainment medium has grown as more
channels and new functions have become available. One of the first kinds of interactive services was
teletext. This gave users access to news, sport results and other type of information. The future will
certainly offer more sophisticated interactive services then teletext.

2.1 Analogue Television


The technique that is used today, regarding how a picture is read, is based on the principle of Nipkow.
Paul Nipkow (1860 - 1940) was a German University student when he in 1884 patented and proposed
the world's first electromechanical television system [2]. The system, presented in figure 2-1 was
based on a disc that was perforated with holes that together formed the shape of a spiral. To transfer
an image, it will first be projected on the disc by a lens system. When the disc is rotating, each
perforated hole will scan a line of the image and send that light variation to a selenium cell, placed
behind the disc. The disc rotates until the whole image is scanned. To reconstruct the image at a
receiver, the receivers disc has to be synchronised with the disc at the transmitter. When the first line
of the image is scanned and received by the selenium cell, that light variation will be transported by an
electric signal to the receiver. That signal will control a lamp that will vary its brightness to display the
image. When both discs are rotating fast, the receiver will not be able to apprehend that the image is
in fact divided.

Figure 2-1 Illustration of Nipkows Television system [2]

Other important inventions that also have had great impact on today’s television system are for
example the cathode ray tube. This was developed in the beginning of the nineteen-century. Beside
the electrical system where there also a mechanical system. It was the mechanical system that first
where able to transmit moving pictures. It was done in 1925, but fifteen years later the mechanical
system had to acknowledge its defeat against the electronic system.

The first transmissions that where performed did not contain any colour. In Sweden could the first
colour transmission be performed in 1968.

2.2 Digital Television


Digital television has been broadcast through cable and satellite in Sweden since 1997. The terrestrial
broadcast, which is controlled by the government, got its breakthrough in the spring of 1997 when the
Swedish government decided to introduce digital terrestrial broadcast [3]. Today almost half of the

Web based EPG 4


Introducing Television
_________________________________________________________________________________________

Swedish population has access to that kind of broadcast. The digital system have the ability to create
duplex communications and with that the possibility to make interactive services.

To use digital signal instead of analogous implies several advantages. The frequency range that one
analogous signal use could be used by between four to six digital signals. There are several reasons
for this; one is that the compression of the digital signal is more efficient compare to analogous
compression [M. Andersson, Personally communication, 17 Jun 1999]. Other advantages are that the
digital signals are more resistant against interference. If a bit have been affected by interference, it can
be recreated, as long as it can be identified. Could it not be identified then it can not be used.
Analogous signals with interference can always be recreated but not to the same standard as it was
sent. This means that interference will always have negative qualities affect both regarding the picture
and the sound when transmitting with analogous signals. By using digital signals both the picture and
the sound quality will be improved, since some interference can be handled. Digital signals can also
be transmitted in random order since they will be reassembled at the receiver. This is not possible with
analogous signals, since they have to be received in the same order as they were sent. Otherwise the
receiver can not interpret the signals correctly.

The television display is created by small dots that can have different combinations and strength of the
colours red, blue and green. How often the frame is updated depends on which system is used. An
analogous television has no memory of what frame latest was displayed, that’s why the whole frame
has to be updated every time. With digital signals, only the changes from the previous frame have to
be sent. This is accomplished by a memory that remembers the previous frame. The next frame will
only update the parts of the old frame that have changes.

2.3 Distribution networks


There exist three different technologies for broadcasting television programs on the market today.
Users can receive television program either by terrestrial, satellite or cable.

2.3.1 Terrestrial
The Swedish terrestrial net consists of three minor net, SVT1, SVT2 and TV4 [3]. The net is built and
handle by Teracom AB, which is the largest radio and television operator in Sweden. Every minor net
only has room for one program when the program is broadcast with analogous signals. The transmit
stations that are at the end of the net can transmit more then one program, since every program is
transmitted at a different frequency's. When these programs will be sent with digital signals, every
minor net will be able to broadcast between four to six programs at the same frequency that where
used to broadcast one program with analogous signals. Before a program will reach a household, the
signal first has to be sent from the program producers to Teracom at Kaknästornet [5]. Kaknästornet is
the connection point for this kind of traffic in Sweden and from there the signals are transported out to
a broadcast station by the radio link net. Satellite or temporary radio links will complement places that
are not covered by this net. The signal will be broadcast when it reaches one of the broadcast stations
and these signals will then be received by the household’s antenna. These stations have a broadcast
range of thirty to fifty kilometres due to mountains and the bending of the earth [4]. It take
approximately 54 large broadcast stations to cover the area of Sweden and several hundred smaller
slave stations that are placed in between. The slave stations job is to amplify the signal until the signal
reaches one of the broadcast stations. It is not possible for the user to transmit information back
through the terrestrial net.

2.3.2 Satellite
The structure for broadcasting by satellite is much easier compare to the terrestrial structure. In
Sweden the company that produce the programs sends their signals to an uplink that will pass the
information to a satellite. Kaknästornet in Sweden is such an uplink, but domestic channels can use
other uplinks. Like the Swedish channel, TV 3. They have there own uplink, which is located in
England [E. Schüler, Personally communication, 16 June 1999]. The satellite that receives the
information from the uplink can send it to a very large area and the households will only need a
satellite dish to receive that information. The reason for the shape of a satellite dish is because the

Web based EPG 5


Introducing Television
_________________________________________________________________________________________

signal first has to be concentrated before the receiver can interpret it. If the signal already is strong
when it is received, then there is no need for a large dish [4].

2.3.3 Cable
This technique is different from the other two. Since the signals here are sent in cables, their signals
do not compete in the frequency area with other traffic like signals for terrestrial and satellite
broadcast. But that regards only the part from the cable network to the households. Since the cable
companies usually receive programs by satellite and then distribute them over to the cable network.
The cable network consists of fibre networks and coaxial cables. The backbone network is usually
build on fibre and is connected to a central, which is located close to the household’s [4]. Coaxial
cables are connecting the households to this central. Every apartment is either connected directly to
that central or to a loop with coaxial cable that passes all the households. Cable networks exist mainly
in block of flats. Today Telia is using digital technique to transmit program in there net and Stjärn-TV
will during 1999 digitise there net as well.

2.3.4 Back channel


The distribution networks just mention has different technologies they can use for transmitting data
from the user see figure 2-2. The ordinary modem uses the phone lines and the cable modem uses
the coaxial cable to transmit their data from the user. Ethernet connections can also be used as a back
channel, if the household is equipped with that.

Terrestrial Satellite Cable


Ordinary modem X x x
Cable modem x
Ethernet connection X x x
Figure 2-2 Back channels for distributed networks

2.4 Future alternatives


It will in the future be possible for people to receive television programs in other ways then by cable,
satellite or terrestrial broadcast. Below I give a short description of some of the technologies that could
be the next way to distribute television programs to the households.

2.4.1 ADSL
ADSL (Asymmetric Digital Subscriber Line) is a technique that uses copper-wire as transporting
medium. This means that the existing telephone wires can be used. Regarding the conflict with
ordinary telephone-calls, the frequency’s up to 4 kHz is used for calls and the remaining part from 25
kHz is used by ADSL [6]. So using the telephone will be possible at the same time data is transported.
Since ADSL is an asymmetric technique, the bandwidth is not the same in both directions. Telia have
introduced Flexicom, illustrated in figure 2-3, which is a service based on ADSL. The concept consists
of three different areas, the home, the tele station and the connection point. The offered bandwidth is
2 Mbit/s to the user and 150 Kbit/s from the user. That bandwidth is guaranteed to the connection
point that is closest to the Internet. The distance from the home to the tele station should not be more
than 3 km, to guarantee the bandwidth performance.

Web based EPG 6


Introducing Television
_________________________________________________________________________________________

Figure 2-3 The construction of ADSL network [6]

Every home needs to be equipped with an ADSL modem and a filter to be able to use ADSL. The filter
will divide the data- and telephone signals, and the modem will translate signals from either Ethernet
or ATM into ADSL signals. The signals from the modem can be sent out either on an Ethernet port or
an ATM port. The reason for ATM between the modem and the TV, are because they want to be able
to reserve bandwidth. In every tele station there will be an AXE-switch, a filter and a DSLAM (Digital
Subscriber Line Access Multiplexor). The AXE-switch handles telephone calls and the DSLAM will
handle the data signals. It is the filter unit that will send the telephone signal to the AXE-switch and the
ADSL signal to the DSLAM. A DSLAM is a modempool for xDSL-technique. It will handle multiple
users and pass these over one outgoing link. The net that Telia have chosen between the tele station
and the connection point is based on asynchronous transfer mode (ATM) and has a bandwidth of 155
Mbit/s. At the connection point exist besides a router also several servers and databases. The servers
are used for example to cache information and the database store subscriber information. Since Telia
have a distributed net, there are several connection points in different places in Sweden.

This technique can in the future be use to transmit television programs. Tests have been made with
bandwidth of 4 Mbit/s to the user with satisfied results and since the copper net already exists there is
no need to create any additional net in to the households.

2.4.2 Mains
The Swedish companies Sydkraft and Stockholm Energi are together with Tele2 and the company
Nor.Web offering Internet through the mains. Nor.Web is a joint venture company between Nortel
(Northern Telecom) and United Utilities. Nor.Web delivers this technique and it is called DPL (Digital
Power Line). The technique converts electrical low volt networks into a data network with symmetric
data transmissions [7]. The structure for this concept is presented in figure 2-4.

Figure 2-4 The Architecture for Digital Power Line [7]

Web based EPG 7


Introducing Television
_________________________________________________________________________________________

Every household will need a communications module, a coupling unit and an energy meter to
participate in this type of network. The energy meter which register all the electricity that a household
is using, will receive all the electricity and pass all of it on to the coupling unit. Here the data signals
will be sort out and sent with the ordinary electricity to a power point [M. Murray, Personal
communication, 8 Nov 1999]. The communication module, which is a modem, connects to the PC by a
10Base T Ethernet cable and with a coaxial cable to the power point. Communication between the
modem and the coupling unit is handled by the DPL protocol. The base station will receive the data
signal from the user and forward them to an ISP (Internet Service Provider). A test with this is now
going on with 200 house in the area of Stockholm. It involves both Tele2 and Stockholm Energi [8] and
other test is being done in Germany, Island and Italy. The bandwidth that this technique can offer is 1
Mbit/s in both directions.

If they are able to increase the bandwidth, I believe that this is a technique that in the future could
send television program on. Although according to Michelle Murray [Personal communication, 8 Nov
1999], they have now disbanded the joint venture Nor.Web.

2.4.3 VDSL
VDSL (Very high date rate Digital Subscriber Line) is one of the techniques in the xDSL series. It runs
on copper wires and has considerable bandwidth improvements compare to ADSL. It is like ADSL an
asymmetric technique but together with a technique called the Zipper-technique, the operator has
more control over the capacity. The Zipper-technique divides the total bandwidth into 2048 frequency
bands [10]. Where every band can be used to transport information upstream (from the user) or
downstream (to the user). This makes it more flexible compare to ADSL. It will also be compatible with
the ADSL systems that are constructed today. It is Telia Research and the French semiconductor
manufacturer ST Microelectronics that have developed the Zipper VDSL. The bandwidth that it offers
can be as high as 60 Mbit/s but then the user should not be more then 1500 m from the telephone
station [9]. The Zipper VDSL is very sensitive regarding the distance between the user and the
telephone station. At the range of two kilometres between users and telephone stations, the bandwidth
has dropped to 10 Mbit/s.

VDSL with Zipper has with its bandwidth the possibility to transport several channels to the user, and
the user could still have about 10 Mbit/s of free bandwidth from their homes. Regarding the
infrastructure, it does not demand a new network, since it can use the existing telephone net. The only
problem is that it will probably not be on the market for about one to two years.

2.4.4 Ethernet LAN


The Swedish company Bredbandsbolaget is offering the house-owner a solution where the
apartments are connected into a local area network [11]. Every household is equipped with an
Ethernet socket and that socket is connected to an Ethernet switch. The switch will be connected by
fibre to the closest city node. The offered bandwidth is 10 Mbit/s, which is divided between both the
upstream and downstream traffic. There is another Swedish company that has almost the same
concept. That is Telecyber, there infrastructure consists of Gigabit routers, Single Mode fibre and fibre
nets [13]. All apartments have there own Ethernet 100TX port. This port is connected to one of several
switches that exist in the apartment house by a cat6 (350Mhz) PIMF-cable, which can support
bandwidth up to 1000 Mbit/s. From there to the Gigabit router they use Single Mode fibre. With this
technique they are able to deliver bandwidth up to 100 Mbit/s divided between up and downstream
traffic. In October last year, the acquisition of Telecyber was made by Bredbandsbolaget [12].

These methods will certainly be able to show multiple television channels in the future. Even though
they can not rely on existing infrastructure as techniques that runs on copper wire or mains do. But the
predicted bandwidth that they will deliver is larger then the techniques that use existing networks.

2.4.5 High-Quality ATM


High-Quality ATM is a further development of ATM. It was developed in USA for their navy. The city
construction is based on a microwave link that is placed on a tall building [15]. This link will pass the
signal to the houses where the customers are. When the antenna on the block of flats receives the

Web based EPG 8


Introducing Television
_________________________________________________________________________________________

signal, it can be sent to the household in two different ways. Wireless or by using existing telephone
cables. The wireless way is done by having the antenna pass the signal to another antenna that is
placed high on the front of the house. That antenna will send the signal along the front of the house
and an antenna that is placed at the window in each apartment, will receive the signal. From there it
will be transported through a cable to a set-top box, where the signal will be interpreted. The other way
is to connect a xDSL modem at the antenna. Which then has access to the buildings telephone
network. To be able to receive the signal from the telephone network, every apartment has to install a
xDSL modem. The signal will then be sent through the telephone cables to the modem at the receiver
and then probably by Ethernet cable in to the set-top box. The bandwidth this technique can offer is
between 6 and 8 Mbit/s and the backbone net for this solution is a fibre optic net, with bandwidth from
64 Kbit/s to 100 Mbit/s. The backbone is connected to UUNET. The UUNET is one of the largest
Internet service providers with connections all over the world [14]. Tests have been made with this
technique around Stockholm since the fall of 1998.

This technique could be a future way for transmitting television. With the bandwidth today it is
sufficient to send two channels. The company that tested this technique has however withdrawn all
information about this from their homepage, without any explanation.

2.5 Television improvements


Over the past years have new functions developed that has improved the functionality for the
television. At first the television where a totally passive medium, people where only using it to watch
television programs. It is that passivity that is about to be changed, it started with teletext and below
are some functions that will make the television into a more active device.

2.5.1 Internet TV
This gives people access to the Internet through their television. The concept is mainly for people that
can not afford or do not need a computer but want access to the Internet. It gives the user access to
both Internet and services like email. The set-top box that provide these functions contains among
other things a processor, modem, smart card and also a keyboard are provided. Telia offered this
service in December 1997 with a set-top box from Technema, but the box was introduced with the
trademark Internet TV.

2.5.2 Enhanced TV
It where companies in the US that introduced the enhanced television expression. The idea was that
instead of having two different platforms, the Internet and ordinary television functions separated.
Enhanced television merges those two together. This makes it possible to display information from the
Internet at the same time as the program that is broadcast. But since the Internet information is
prepared for being displayed on monitor with video graphics array (VGA) -format. It first has to be
transformed into the actually television standard that the television set is handling [58]. The set-top box
contains besides the Internet functions also a TV-tuner and the hardware that handles the graphic
overlay. The information that is displayed together with the ordinary program can be information about
the program that just now is broadcast or some other type of information that would be valuable to the
user. The VBI (Vertical blanking Interval) technique is used when displaying information accessed
form the Internet at the screen together with a television program, which is also the same technique
that is used to transmit teletext.

2.6 Television standards


When the first television programs where broadcast, the signal contained no colour, so only
monochrome programs where possible to watch. But when the technique for adding colour to the
monochrome signal was developed, some restrictions where made about what qualities a colour/black
and white compatible television system should have [1]. There are some limitations about the number
of lines and the frame-frequency to make sure that the transmissions will not take to much space in

Web based EPG 9


Introducing Television
_________________________________________________________________________________________

the air. Also households with only monochrome television set must be able to watch program that are
broadcast in colour, and a colour television must be able to show program that are broadcast in black
and white. Colour systems that fulfils these requirements are called compatible television system, the
principle for these kinds of system are illustrated in figure 2-5.

To be able to define a colour, it takes three different method of measurement: luminance, colour tone
and saturation.

Figure 2-5 The principle of comability [1]


(Chrominance: colour tone and saturation.)

2.6.1 Television system


There exist three major television systems that countries around the world use. The system that is
used by the most countries is the PAL system. Figure 2-6 show how the different standards have been
adopted in the world.

I
Figure 2-6 The extension of television standards [71]

NTSC
The first compatible system was developed 1953 in USA by a working team in the National Television
Systems Committee. The system was called NTSC and where in the same year set to be the standard
in America for broadcasting colour television. This system is mainly used in North America, Canada,
Japan, and parts of Central and South America [16]. But the NTSC system presented incorrect colour
tones when phase fault occurred some where in the chain of transmissions. Every phase divergence
will result in wrong colour tones. It is the phase position of the colour carrier wave that is decisive for
what colour will be presented at the receiver. To avoid this, two other compatible systems was
developed, named PAL and SECAM.

Web based EPG 10


Introducing Television
_________________________________________________________________________________________

PAL
It was AEG-TELEFUNKEN in Hannover under guidance by DR. Walter Bruch that by further
developing the NTSC system into a phase error compensated system. That system was named PAL
(Phase Alternation Line). To eliminate phase error, an equally large phase failure was added but in the
opposite direction. One drawback with this solution is that the amplitude of colour signals was
redouble. The amplitude is by the system later divide into half. Which resulted in a smaller saturation
fault at the receiver. PAL is used for example in Western Europe, Australia, and parts of Central and
South America.

SECAM
SECAM (sequentiell a’emoire) was also developed from NTSC for the same reason as PAL, to avoid
phase failure. It was the Frenchmen Henry de France that created this system in 1957. SECAM is
mainly used in France, Eastern Europe and former Soviet.

In 1965, the European countries gather to decide which system should be set as standard in Europe.
Since no agreement where made, one half of Europe uses SECAM and the other half uses PAL.

2.6.2 Frame creation


To transmit television pictures from one place to another. Every picture first has to be divided into a
number of horizontal lines. The lines are read from left to right and from the upper line to the last one.
The picture element is then transmitted over the same connection one after the other. The receiver
then put together these elements to recreate the frame. When the frame is recreated at the receiver,
the same method is used as when the frame was read at the production place. But now the lines are
created, starting at the top and from left to right as shown in figure 2-7.

Figure 2-7 Recreation of frame [1]

A country that uses PAL has agreed on having 626 lines per frame as standard. France which uses
SECAM have 819 lines per frames but I can not tell if that it is the standard for SECAM. Those
countries that have NTSC as they’re standard, like USA and Japan, have 525 lines per frame. To draw
every line, the picture tube uses a beam of electrons. The beam is extinct when is changes row or is
finished with a frame. When a frame is finished the beam quickly moves back to the upper left corner
and is ready to display lines of the next frame. The lowest rate of switching frames to create motion
continuity is 16 frames per second and the standard for movies is 24 frames per second.

In USA where the net frequency is 60 Hz has the frame switching standard set to 30 Hz (30
frames/sec). That is because disturbances occur if the frame-frequency not has the same or a multiple
of the net frequency. In Sweden, which uses the PAL system, has a net frequency 50 Hz and the
frame-frequency is there by set to 25

Web based EPG 11


Standards
_________________________________________________________________________________________

3 Standards

3.1 NorDig
NorDig (Nordic Digital Television) is a Nordic co-operate that was formed in November 1997, with the
purpose of specifying a common platform for digital television within the Nordic region. Some of the
things that this includes are to create a technical specification of requirements for the set-top boxes
that shall receive the digital signals, with starting-point of the standards set by DVB. A standard for
which application-programming interface (API) these boxes should used, shall also be set. Some of
the API’s for the set-top box that members of NorDig are using today is OpenTV and MediaHighway
[36]. The Swedish members in NorDig are Senda, Sveriges Television, TV4 Sweden, Telia and
Teracom.

3.2 DVB
This project started in 1991 when broadcasters and consumer equipment manufactures discussed
how to create a European platform for developing digital terrestrial television. In 1993 the group
became DVB (Digital Video Broadcast). The project today involves more then 220 companies from 30
different countries and the Swedish members in DVB are SVT, Telia and Teracom. The main task for
DVB is to work out suggestions for standards which is later evaluated and accepted by the standard
organisations ETSI (European Telecommunications Standards Institute) and CENELEC (Commite
Europen de Normalisation ElectroTechnique) [70]. Today it is not only the European countries that are
using these standards. DVB standards have become a global standard for digitally broadcasting. The
global adoption of the DVB standards is presented in figure 3-1.

Figure 3-1 Adoption of DVB standards world-wide [70]

Since the purpose with this project is to create a common platform for digital broadcasts, there are
different standards for different technique of broadcasts. DVB-S is the standard for satellite broadcast,
DVB-C is standard for broadcast through cable and the standard for terrestrial is DVB-T. All these
systems are based on MPEG-2. Which is a standard for video and audio compression that are
developed by the Moving Picture Experts Group (MPEG).

Web based EPG 12


Set-top box
__________________________________________________________________________________________

4 Set-top box
The television signals that today are broadcast can be both analogous and digitally. But since most
households today have a television set that only can interpret analogue signals. There is a need for
converting the digitally signal into an analogous signal, so that the television set can understand it.
The digital signals can also be encoded, since some channels want to be sure that their customers
that have a subscription are the only one that can watch their programs. A set-top box (STB) today,
can both decodes and converts the signal that it receives. The signals are decoded by a smart card
that can be received from the Swedish company Senda AB. Figure 4-1 shows a typical design of a
STB.

Figure 4-1 Example of a set-top box [57]

4.1 Types of set-top boxes


On the market today there exists several different types of set-top boxes. The Internet TV box, is one
type of STB that add functionality to the television set. Other types of boxes are those that have more
ordinary tasks, like converting and decoding signals for the different types of broadcast.

Below are example of set-top boxes that has an electronic program guide built in. These boxes are
built to receive digitally signals.

• Nokia Mediamaster 9820 T – receiver for terrestrial broadcast

• Nokia Mediamaster 9730 C – receiver for cable transmissions

• Nokia Mediamaster 9600 S – receiver for satellite broadcast

4.2 Future set-top box


It is my personally opinion that since people only buy a new television set every 10-15 year, it will not
be possible to have the television set itself to handle all the new functions that are developing. Since
that would mean that users would have to buy a new television set every 3-4 year, because the
development rate is so moving fast. It would be much better to have a small box that could handle the
incoming signal and only send a “ready to watch digitally signal”to the television set. This means that
the television set in the future would only work as a simple display screen. On the other hand it would
not be practical to install more software then necessary into the STB. Since software upgrades should
be as simple as possible. The STB are easily to handle and supported if they can be considered as
“thin clients”. The best thing might be to store as much software as possible some where in the
network.

Web based EPG


Video-on-Demand
__________________________________________________________________________________________

5 Video-on-Demand
Video-on-demand (VOD) is the service where users can make their own decisions of which movie they
want to watch. They choose the desired movie and just a short time after the movie has started it is
displayed on the television set. The service can be seen as having direct access to a video store.
There are on the market today some services that can be seen as a simplification of real VOD. That is
pay per view, where the customer contacts the company and orders a movie to be displayed at a
certain time. Regarding the way to transmit a movie. Ordinary television programs are broadcast but
the movies in the VOD case are using unicast. This means that the movie is only transmitted to a
specific receiver, as in this case would be the person performing the request.

5.1 The first VOD network


Time-Warner performed in 1994 a full service network (FSN) test in Orlando Florida and it would
continue until the end of 1997. The goal of the test was to provide answers of what demands customer
preferred [17]. The service’s that was delivered to the several thousand people participating in the trail
was among other thing movies-on-demand and news-on-demand. Movies-on-demand where the
service that was the most popular. The indication of the test was that the other things offered did not
bring any value for the users, since they where seldom used. This information and that the users
where upper-income families with children where theoretically the ideal market for these services, cast
doubts over the whole concept. It would be difficult financial, with only one services that is really
demanded.

Since their where a demand for movies, Jim Burton one of the architects of FSN joined Mike Ramsey,
to form TiVo [18]. A company that would give consumer more control over the television content. The
concept of letting the people watch the programs they want instead of the programs the cable system
want to sell to them, did make a lot of sense. But instead of storing all the digitised programs on a
large central computer, way not store some of the programs at the STB.

5.2 TiVo & ReplayTV


This is a new type of “VCR”known as PVR (Personal Video Recorder) that gives the television
viewers new abilities to capture and manipulate the stream of television shows. These products do not
depended on how the program is broadcast to the user. This concept can also be called local based
VOD, since all the available movies are stored located at the user. These kinds of products have been
called ”tapeless VCR”and it has almost the same size of a VCR. These products offer more functions
than the ordinary VCR. It does not use videotapes to store programs on, since all the programs will
instead be stored on an internal hard disk. Some of the functions that a user can choose from are the
possibility to pause, rewind and fast-forward live television. Both companies where formed in 1997 and
have their headquarters in California.

Shared Functions
When the analogous signal is received it is transferred to the STB (TiVo or ReplayTV). The analogue
and digital converter will convert the signal from analogue to digital. Then MPEG2 is used for
compressing the signal. It will then be saved at the hard disk and then decompressed and converted
back to analogues format. Now the signal can be sent to the television for display and at the same
time be stored at the hard disk. This is the procedure that makes is possible to pause live television [K.
Geoffrey, Personally communication, 4 Aug 1999]. But since it can only receives one channel when
recording. It is not possible to watch another channel except the ones being recorded. On the other
hand, it is possible to watch a program that already is stored on the hard disk and at the same time
record another program. To be able to watch a different channel besides the one being recorded, the
incoming cable signal needs to be split, and then connect one cable to the STB and the another cable
is connected directly to the television [20].

Web based EPG


Video-on Demand
_________________________________________________________________________________________

It will start recording the program a user currently is watching. If the user switch to another channel, it
will start to record that program starting from that moment. The other show that the user just zapped
from will not continued to be recorded. If a user stop the program that he/she is watching, the box will
continues to record it. And the user can fast forward until he/she have cached up with the live
transmissions. Both product records entire programs, including any commercials. It is not possible to
have the commercial erased while recording the program. To be able to update their channel guides
both ReplayTV and TiVo has a built-in telephone jack. Where they every night dial to a secure server
and download the latest channel guide information. When transferring a recorded program to the VCR,
it will take the same amount of time as the program length is. Both can change channels on other set-
top boxes using IR or serial connection.

5.2.1 TiVo

5.2.1.1 Connections
Here is a connection example with both a cable box, satellite receiver and a VCR. Figure 5-1 shows
the maximum of units that can be used together with TiVo.

Figure 5-1 Satellite receiver, cable box and a VCR connected to a TiVo STB. [22]

5.2.1.2 Back panel


Below is a description of TiVos back panel, se figure 5-2. The same in– and out-puts also exists on
ReplayTVs back panel.

Figure 5-2 Back panel of the TiVo STB [23]

The Phone line: Uses TiVos built-in modem to get software updates and new program listings.

Web based EPG 15


Video-on Demand
_________________________________________________________________________________________

Serial and IR: Are connections to gain access to other boxes and be able to change channel on them
using TiVos remote control. The infrared sensor is connected to the box and then the infrared stick is
placed in front on the IR receiver on the box the user want to control. The serial connection is to prefer
since its works better then the IR.

Audio L/R: Is used when the user connect a cable/satellite box where video and audio is transferred
separately. It can also be used to connect a stereo.

Composite Video: This is an RCA contact and the functionality is to deliver one video-stream without
sound. Here there is no need for a tuner, since only one program at the time will be transmitted, at a
specific frequency.

S-Video: Another name for it is super-vhs. It's a 4-pin mini DIN connector and the reason to use this
one instead of composite video is that the luminance and chrominance signals are divided at different
pins. Since they are on a different pin (pin 3 is for luminance and pin 4 is for chrominance). There is no
need to filter the signal, which will give a better picture compared to composite video [O. Lidholm,
Personally communication, 2 Aug 1999].

RF (in): Here there is a tuner that makes it possible for the user to choose between all the programs
that are being broadcast. The natural connection is from terrestrial network. But it can be connected
from another STB as well, although then only one program will be transmitted to this connection. A
signal transmitted through RF contains both video and audio. This connection is also used when the
user wants to connect an analogue STB to TiVo.

RF (out): This is used if it is not possible to connect the television any other way. If this contact is used
the RF switch should not be set to the same channel that is occupied by any local broadcast channel.
Otherwise the picture quality will be affected.

On the back panel of RepalyTV there also exist a FireWire (IEEE-1394) port. This can be used to
connect expansion modules that will increase the storage capacity of ReplayTV.

5.2.1.3 Remote control


The remote control for TiVo is displayed in figure 5-3 and some of the functions are descried below.

Figure 5-3 TiVos remote control [20]

Functions

• Live TV/Guide This button takes the user directly to live TV. If the button is
pressed again, the TV-guide will be displayed.
• Thumbs Up / Down Indicates approval or disapproval of a program.

Web based EPG 16


Video-on Demand
_________________________________________________________________________________________

• Select Selects the marked item on the screen.


• Record Records a program from live TV.
• Play Start a recorded program at normal speed.
• Pause Pause the program the user is watching.
• Back/Forward Fast forward or rewinds at three different choices of speed.
• Slow-motion Plays a recorded or live program in slow motion.
• Jump Catches up to live TV or move the user to the end of a recorded
program.
• Instant replay Replay the last 8 seconds, of live TV or a recorded program.

5.2.1.4 Description of TiVos functionality


Below follows some of the more characteristic functions that TiVo have.

TV-guide
TiVo uses an overlay half-grid EPG, where all the channels are displayed on the left side and at the
right side are programs that will be broadcast for that channel, the nearest hours. TiVos EPG is shown
in figure 5-4. It has a small description for every program and also display start and stop time for that
program.

Figure 5-4 TiVos EPG [21]

Record
When the user resume after having paused live TV, a status bar shows how far behind the live
transmission the user are. If a user have watched a program and decides to record it, TiVo will start
recording from the point where the user starts recording. So the part of the program that have been
recorded in the thirty minutes large cache will not be used [24]. It is possible to let TiVo record
programs for the user by grading shows with thumbs up. If there is a particular program that a user
does not want to miss, he/she can give it a season pass. This means that TiVo will record this show on
this channel whenever it is broadcast. Unfortunately this means that re-runs of this program will also
be recorded, if they are transmitted on the same channel [TiVo Customer Care, Personally
communication, 04 Aug 1999]. The TiVo box can not detect if a program (sport event) goes into
overtime.

It is possible to watch a program that is being recorded at the same time. The user can start watching
a show that is being recorded. Without having to wait until the recording is finished. When the user
wants to record a program, TiVo first checks that it will not overlap with another programs that the user
have asked it to record. It also inspects that there is enough disk space to record the program. Every
program is normally saved for two days. If the user have some shows recorded and want to save them
longer, the user can choose between “save until I delete”or “delete after x days”. TiVo will not delete
any of the shows marked with a season pass. Those shows that have not been specific told to keep,
TiVo will use a FIFO algorithm to figure out which shows should be deleted. The useful lifetime of the
hard disk is according to TiVo between five to seven years.

Web based EPG 17


Video-on Demand
_________________________________________________________________________________________

TiVo will grade their different recording modes like this.


Best: approaches the level of DVD
Good: close to VHS tape

Thumb up/down
TiVo automatically give every thing that is record one thumb. If it turns outs to be a lousy program TiVo
will still recommend that kind of films in the future because of the one thumb up. The user can give
every show up to three thumbs up or down to make the choice stronger. If there are more then one
person that uses TiVo and the thumbs up/down. TiVo will selects among a wide range of shows to
record. By default TiVo always tries to keep the hard disk full. It will continuously search for program
the user might like, based on the thumbs up.

5.2.2 ReplayTV

5.2.2.1 Remote control


Figure 5-5 shows ReplayTVs remote control, and below are some of its functions described.

Figure 5-5 ReplayTVs remote control [26]

Functions

• Channel guide Integrated, on-screen channel guide.


• Quickstep Steps forward 30 seconds in the program the user currently watching.
• Instant replay Replay the last 7 seconds of live TV or a recorded program.
• Replay guide All channels that where created by Replay zones are displayed.
• Replay zones Creates your own channel that ReplayTV will record for the user.
• Record Record a program from live TV.
• Rew/FF Fast forward or rewind in different speed choices.
• Play Start the program from being paused.
• Live TV Returns to live TV.
• Pause Pause live TV.
• Jump Switch back to the last show the user were watching.

Web based EPG 18


Video-on Demand
_________________________________________________________________________________________

5.2.2.2 Description of ReplayTVs functionality

Channel guide
The EPG that ReplayTV has, figure 5-6, show programs that are on right now and for some hours
ahead. It also shows when a program begins and when it ends, a description for every program also
exists.

Figure 5-6 ReplayTVs EPG [59]

Replay guide
List all shows that a user has created with Replay zones. It also shows the program that has been
recorded for each Replay zone.

Replay Zones (Replay Channel)


ReplayTV has the ability to search its built-in channel guide and record shows based on the user's
search criteria. When this is done, a Replay Channel is created. For instance, if the user tell ReplayTV
to get Clint Eastwood movies, then ReplayTV would create a Clint Eastwood Replay Channel and
record a new Clint Eastwood movie every time one is broadcast [26]. The user can then choose the
Clint Eastwood Replay Channel from the channel guide and begin watching the movie. That's an
example of an actor-based Replay Channel, but ReplayTV can also create theme-based and show-
based Replay Channels. When the user create a Replay Channel for a favourite show. The user can
choose how many episodes of this show it want to keep. If the user select that just one episode should
be stored, then Replay will replace the stored show every time a new show is broadcast.

The ReplayTV has a different way of recording shows comparing with an ordinary VCR. When the
user want to record a show he/she can do this by clicking on the program and it will be record and
stored on the hard disk. A red dot will show behind the program and if the user click on the program a
second time, the user are telling ReplayTV to record this program whenever it is sending. This will
result in two red dots shown after the program. ReplayTV will notice the user if it tries to record a show
that are in conflict with an earlier set recording. It is not possible to record parts of a show, but is being
considered for a future software release.

According to ReplayTV, their compression rates give following picture quality [27]

2 Mbit/s: The picture quality will be better than VHS tape.


4 Mbit/s: The picture quality will be better than SVHS tape.
6 Mbit/s: The quality approaches the level of DVD.

Web based EPG 19


Video-on Demand
_________________________________________________________________________________________

5.2.3 Comparison chart

Introduction
Feature ReplayTV TiVo

Personal Television Recorder

Figure 5-7 ReplayTVs STB [26] Figure 5-8 TiVos STB [20]
Remote control Can control up to 6 different Can control on/off and volume
devices. for the TV and volume for stereo.
Model / storage capacity 2001 10 hours PTV100 14 hours (HDR112)
2003 14 hours PTV300 30 hours (HDR312)
2005 28 hours
2020 20 hours
Hard disk (gigabyte) 2001 10.2 PTV100 13.6
2003 13.6 PTV300 27.2
2005 27.2
2020 20.0
Price 2001 $699.00 PTV100 $499.00
2003 $899.00 (HDR112 $299.00)
2004 $1,499.00 PTV300 $999.00
(HDR312 $399.00)
2020 $699.00 (now $399.99)
TV-Program service Included Monthly $9.95/month
Annual $99.00/year
Lifetime $199.00
Availability Since April, 1999 Since March 31, 1999
Since 15 November 1999
(model 2020)

Is only available in US Is only available in US


Guarantee / Warranty 30 day money back 30 day money back
1 year for parts in the receiver 1 year for parts in the receiver

Product specification
Feature ReplayTV TiVo
Video In 1 S-Video 1 S-Video
2 Composite video RCA 1 Composite video RCA
Video Out 1 S-Video 1 S-Video
2 Composite video RCA 2 Composite video RCA
Audio In 2 Pairs RCA 1 Pair RCA
Audio Out 2 Pairs RCA 2 Pairs RCA
RF In 1 (antenna) 1 (antenna)
RF Out 0 1 (channel 3 or 4, switchable)
IR control out 1 1
Serial control out 1 1
Modem speed N/A N/A
Phone RJ-11 Yes Yes
IEEE-1394 (FireWire) 2 ports No
No (model 2020)
Processor N/A PowerPC
OS N/A Linux
Hard disk N/A Quantum Quickview
Type of video compression MPEG-2 MPEG-2

Web based EPG 20


Video-on Demand
_________________________________________________________________________________________

Broadcast format NTSC NTSC


HDTV No No
Power 120 VAC 60 Hz 120 VAC 60 Hz

Functions
Feature ReplayTV TiVo
Fast forward/rewind 2X 4X 16X 20X (model 2020) 3X 20X 60X
Skip forward 30 s No
Skip backward 7s 8s
Stop/pause Yes Pause only
Slow-motion No (yes model 2020) Yes, 1/4X
One Frame forward/rewind N/A Yes

EPG
Feature ReplayTV TiVo
EPG Yes Yes
Future program listings 7 days 13 days and every day check for
changes
Search program listings By name, category, time and By name, category, time and
channel channel

Service and update


Feature ReplayTV TiVo
Phone call For software and programming For software and programming
information updates. information updates.
Privacy N/A Anonymous viewing information
is used. It can be prevented by
informing TiVo

Recording
Feature ReplayTV TiVo
Recording modes 2 Mbit/s 4 Mbit/s 6 Mbit/s Good, medium, high and best
Recording length with different 2001 10h N/A N/A PTV 100 14h 8h 6h 4h
modes (low to high) 2003 14h N/A N/A PTV 300 30h 18h 14h 9h
2005 28h N/A N/A
2020 20h 11h 9h
Cache for live TV Limited only by free available 30 min
disk
Save or clear cache when Clear Clear
changing channel
Record program everytime Yes, Replay channel Yes , season pass
Record program everytime by Yes, Replay channel No
theme
Store programs to a ZIP drive N/A No
Store programs to a VCR Yes Yes
Conflict handler Yes Yes

N/A means that the information was not available. All the information in this table is received from the
sources under the TiVo-ref and Replay-ref. The references that has been using for this chart are [22],
[24], [25], TiVo customer care. [26], [27], [28], [29], Kevin Murray and Kelly Geoffroy. The name
changes and the latest price changes are in parenthesis.

Web based EPG 21


Video-on Demand
_________________________________________________________________________________________

5.2.4 Conclusions
Almost every comment from people that have compared these two products feel that the price is to
high and that the remote control from TiVo is much user-friendlier. I thought that ReplayTV was better
prepared for upgrading the hard disk. But when the new model 2020 is without FireWire connections
and the other models have been discontinued, ReplayTV lost their advantage at that area. Regarding
TiVos thumbs up/down, if there are several peoples in a household and they are all using TiVos
thumbs up/down to grade their programs. TiVo will suggest several different kinds of programs, and
the accuracy of the function will disappear. ReplayTVs thirty seconds skip button will certainly be well
used, since there are a lot of advertising on the TV.

In my opinion the size of the hard disk it too small and the price is little bit to high. But as the price on
disks drops the product will be cheaper and have larger storage capacity. When all signals are digital
there is no need for AD- and DA-converter, which will also affect the price. One thing that is expensive
and can not be removed even if all signals are digitally, is the MPEG coder. I think that these two
products are very similar, regarding functions, service and storage capability. It is more their special
functions that separate them, ReplayTVs –Replay channel and TiVos thumbs up/down. What will
separate the two products are in my opinion how user-friendly their interfaces for all their functions are.

The Future
According to Forrester Research analyst Josh Bernoff will the PVR, in the future exist in almost every
home. He predicts that in “ten years from now, personal video recorders will have penetrated four out
of five homes and overall television ad viewing will be cut nearly in half”[19]. This will certainly affect
the television advertising, as we know it today. Since all the companies that now invest in television
commercial, will have second thoughts of continue with that. If they know that most of viewers can fast
forward through commercials.

5.3 Protocols
When transmitting video over the Internet, several protocols are involved. Below is a description of
protocols that are being used for multimedia streams as the figure 5-9 shows.

Figure 5-9 Internet multimedia conference protocols [33]

IP (Internet protocol)
This is the base protocol used on the Internet, and the current version of this protocol is four. IPv4 is a
protocol that exists in the network layer in the OSI-model, and is the protocol that supports the
interconnection of the multiple networks into an Internet. When routers decide where to send incoming
packets, they use information in the IP-header together with routing algorithms to determine the
optimal route to the destination.

IP Multicast
IP multicast consists of IP multicast addresses that are identified by a particular class D IP address
(224.0.0.0 – 239.255.255.255). The communication between the transmitter and the receiver is done
by unicast. Communication with broadcast means that the transmitter sends messages to every
potential receiver, but with multicast the transmitter sends messages to a particular group, where

Web based EPG 22


Video-on Demand
_________________________________________________________________________________________

every IP multicast group are subscribing to an particular message/application. The routers will only
copy the packets that the transmitter is sending, if there are hosts in that segment that has joined that
particular multicast group. The routers are using IGMP to find out if any clients have joined a multicast
address in their segment.

IGMP (Internet Group Management Protocol)


IGMP allows a host to join and leave host groups, as well as send IP datagrams to host groups. The
IGMP is considered as a part of the IP-layer, layer 3. Since it is an integrated part of IP, all IGMP
messages are encapsulated in IP datagrams. Since the routing protocol takes care of figuring out
which multicast packets (if any) should be sent to which routers, the individual routers need a way to
determine whether there are any members of a particular group on their sub network. By using IGMP
they can advertise which group’s packets they need to receive and decide whether to forward a
particular group's packets onto their subnet.

Host membership query


IGMP let routers keep track of IP group membership on its local LANs by sending IGMP Host
Membership Queries and receiving IGMP Host Membership Reports. When the multicast routers
sends the host membership query message, the group address field in the header is zeroed when
sent and ignored when received [40]. Queries that are addressed to the all-hosts group are sent to
address 224.0.0.1, and carry an IP time-to-live of 1. Multicast routers send queries periodically to keep
their knowledge of membership updated. If the router doesn’t receive any reports after some number
of queries, the routers assume that that group doesn’t have any local members, and will not forward
multicast packets for that group any more.

Host membership report.


When a host receives a Host Membership Query messages it respond by generating a host
membership reports. That report contains each host group they belong to and will be multicast to their
group address with a time-to-live 1. The purpose is to let the routers know which groups the hosts
belong to. To avoid a massive LAN traffic when the query has been sent. Every host will wait a
random amount of time before it reply’s, and if a host gets a report for a group to which it belongs to,
its timer will be stopped, and no report will be sent. The only thing that is important for the router to
know is that if there are one or more on its sub-network that is a member of the group. The number of
members does not matter, and since the multicast routers receive all IP multicast datagrams, it doesn’t
need to be addressed explicitly. A host that wants to join a group, does only need to send a report to
the group address, and the router will know that it now needs to forward (or continue to forward)
multicast packets for that group onto the LAN. The joining host need not wait for a query to join, so
that the time it takes for a host to begin to receive group packets after joining that group will be
minimised. Figure 5-10 shows where in the network, IGMP is used.

Figure 5-10 Example of IP multicast protocols [39]


(A multicast gateway is also called a multicast router)

Once a multicast router has received the membership status of hosts, it must send that information to
other multicast routers. This is achieved by using various types of routing protocols. For example the
Distance Vector Multicast Routing Protocol (DVMRP), the Multicast Open Shortest Path First routing
protocol (MOSPF), or the Protocol Independent Multicast (PIM).

Web based EPG 23


Video-on Demand
_________________________________________________________________________________________

UDP (User Datagram Protocol)


UDP is a transport protocol and belong to the layer 4 in the OSI-model. It provides a connectionless
service, which means that an application program may send information without any prior agreement
from the destination end-system. This protocol extends the host to host delivery service of the
underlying networks into a process to process communication service [37]. This protocol adds no
additionally functions to the best-effort service that is provided by the underlying network. Since there
are many processes running on a user, UDP adds a level of demultiplexing so that several application
processes on a host can share the network. To identify each process, UDP uses a port number. But
since the port field in the header is only 16 bits, the receiving host needs to be identified also. The
<port, host> is the demultiplexing key for the UDP protocol. When a client initiates a message
exchange with a server process, it uses a well-known port at the server. Then they can agree for
another port and leave the well-known port free for other clients.

TCP (Transmission Control Protocol)


TCP also like UDP belong to layer 4 in the OSI-model, but are considered a reliable transport protocol.
It is also full duplex and connection-oriented. A connection is established by a three-way connection,
which involves exchange of three messages between the client and the server. The TCP is able to
recover data that is damaged, lost, duplicated or delivered out of order by the Internet communication
system. This is achieved by assigning a sequence number to each packet that is transmitted, and the
receiver will send an acknowledgement (ACK) for that packet, back to the sender [38]. This is called
the stop-and-wait algorithm, and means that after the server transmitting one frame it will wait for an
acknowledgement from the receiver, before it sends the next frame.

TCP maintains at the sending side a buffer, which contains data that has been sent but not yet
acknowledged. Those packets will be retransmit if the receiver have not sent an acknowledgement
before a certain timestamp. The timestamp is set as a function of the RTT (Round-trip time) between
the two ends of the connection. TCP also maintains a buffer at the receiver side, which is used for
handling data that have arrived out of order. The receiver will use the sequence numbers to correctly
order the segments that may be received out of order and also to eliminate duplicates. To cope with
damage, TCP adds a checksum to each segment transmitted, which is checked at the receiver. The
receiver will discard all damaged packets. Since it would be very inefficient to have the sender inactive
and wait for an acknowledgement for every packet transmitted. TCP uses an algorithm called sliding
window [37]. Which means that the sender transmits new packets during the time it waits for
acknowledgement. How many packets that can be transmitted before an acknowledgement has
arrived, depend on the size of the sender’s window. Only those packets that are present in the sender
window have permission to be transmitted. The window slides over the packets that will be
transmitted, thereby the algorithms name.

TCP uses a mechanism called slowstart that increases the window rapidly when starting from scratch.
For every ACK received by the sender, the window size for the sender who determines how many
packets is can send, is increased by one. There are also other mechanism that adds additional
congestion control to TCP, like fast retransmit and fast recovery. Some protocols that use TCP are
FTP and HTTP. However TCP is not suitable for transmitting video and audio on the Internet. Because
TCP give priority to secure transmissions rather the fast transmissions. If a packet would be lost, the
picture at the receiver would be stalled because it would have to wait for that particular packet to be
retransmitted by TCP. That is why UDP is used for such applications.

RSVP (Resource Reservation Protocol)


RSVP is designed to improve the support for real-time applications. RSVP is viewed as a companion
protocol to IP. The protocol is connectionless and the resources requirements are not specified to the
network, instead the protocol informs the receiver. This is done by having the source regularly sending
a path messages and the receiver replies with a reserve messages that specify the required quality of
service [33]. The network will reserve the resources specified by the sender on the way back from the
receiver to the sender.

HTTP (Hypertext Transport Protocol)

Web based EPG 24


Video-on Demand
_________________________________________________________________________________________

This protocol is the standard mechanism for transferring documents between servers and clients at the
World Wide Web today, and the protocol is placed in layer 7 at the OSI-model. HTTP has been in use
since 1990 and is regarded as a request/response protocol. Which means that client makes a request
and the server respond to that request. The HTTP/1.0 will make multiple parallel TCP connections
when a user is requesting multiple objects. But with HTTP/1.1 only one TCP connection will be
required for a request that implies download of multiple object [33]. Since HTTP is not a suitable for
secure transactions a particularly protocol called Secure-HTTP has been developed. Secure HTTP is
a secure message-oriented communications protocol. It supports secure end-to-end transactions and
has been designed to work in conjunction with HTTP. The S-HTTP does not require any client-side
public key certificates or any public key [35]. This will make secure spontaneous transactions possible,
since there is no need for establishing a public key.

The reason way HTTP is not suitable for real-time transmission is because HTTP is based on TCP.
TCP has higher priority for reliable transmissions instead of those real-time demands that exist on
mediastream transfers.

RTP (Real-time Transport Protocol)


This is an Internet standard protocol for transporting real-time data over IP networks. It can be used
with both unicast and multicast. Every packet has a sequence number that the receiver uses to place
the packets in correct order. The packet also contains a timestamp, which is used differently regarding
the data that the packet contains [31]. When the packets contains audio, the timestamp will increment
by the number of sample periods conveyed in each packet, including this packet. For video, the
timestamp will increase for every new frame. Those packets that are part of the same frame will have
the same timestamp. Note that RTP itself does not provide any mechanism to ensure timely delivery
or provide other quality-of-service guarantees, it relies on lower-layer services to do so. It does not
guarantee delivery or prevent out-of-order delivery, nor does it assume that the underlying network is
reliable and delivers packets in sequence.

RTCP (Real-Time Transport Control Protocol)


This is the companion protocol to RTP and the primary function is to provide feedback on the quality of
the data distribution. Both sender and receivers uses special report to inform all participants about the
current status. The report that is send by receivers is called receiver report (RR), which the sender
may use to modify its transmissions [32]. An observer to determine if delivery problems are local,
regional or global can use the sender report that the receivers will get. It can also be used by a monitor
that only receives RTCP packets for evaluate there network for multicast distribution.

In an audio and videoconference, the media is transmitted as separate RTP sessions. The RTCP
packets are transmitted for each medium and both the medium and the RTCP use different UDP ports
and/or multicast addresses. One motivation for this separation is to allow some participants in the
conference to receive only one medium if they choose. Each instance of the media application in the
conference periodically multicasts a reception report and the name of its user on the RTCP (control)
port. The reception report indicates how well the current speaker is being received and may be used to
control adaptive encoding. A site sends the RTCP BYE packet when it leaves the conference.

RTSP (Real-Time Streaming Protocol)


The possibility to control either a single or several time-synchronised streams of continuous media
such as audio and video, is given with RTSP. The protocol does not deliver the continuous streams
itself, it acts more as a "network remote control" for multimedia servers. RTSP is an application-level
protocol. It provides means for choosing delivery channels (such as UDP, multicast UDP and TCP)
and the delivery mechanisms is based upon RTP [34]. There is a presentation file that contains a
description of the media streams. Which gives the client the possibility to choose an appropriate
combination of the media.

Each media stream in this presentation description is individually controllable by RTSP and identified
by an RTSP URL. This URL points to the media server handling that particular media stream and does
names the stream stored on that server. The media streams do not have to be placed on the same

Web based EPG 25


Video-on Demand
_________________________________________________________________________________________

server. For example, audio and video streams can be split across servers for load sharing. RTSP
controls a stream that may be sent via a separate protocol, independent of the control channel

Figure 5-11 RTSP Client / Server Communication: Standard UDP Mode [34]

In figure 5-11 has RTSP creates a control channel, that is handled by a TCP connection. The control
channel initiates and directs the delivery of the data sent by the deliver mechanism, which in this case,
is RTP.

The RTSP client has set up three communication channels with the RTSP Server. The control channel
is handled by a TCP connection. The control channel initiates and directs the delivery of the data sent
by the deliver mechanism, which in this case, is RTP. The RTP Data channel in the middle is a
simplex UDP channel along which the media is streamed. The last channel is a full-duplex UDP
channel for the RTCP packets, providing synchronisation information to the client and packet loss
information to the server. The RTP port is always an even number. The RTCP port must be the next
consecutive port, so it is always an odd number. The following states are available when a stream
resource on a server shall be defined and used, SETUP, PLAY, RECORD, PAUSE, and TEARDOWN.

SAP (Session Announcement Protocol)


A SAP client that announces a conference session periodically multicasts an announcement packet to
a well-known multicast address and port. At that port, potential receivers can read the description of
the session as well as the application needed to view the session, and the announcement is multicast
with the same scope as the session it announces. This ensures that all the recipients that receive the
announcement, also can be a consumer [33].

SDP (Session Description Protocol)


When uses go the well-known multicast address and port that the SAP informs about. The session
description protocol will describe such as, the session’s name and purpose, the time that session is
active. The SDP will also give an information about the type of media (video, audio, etc) and the
format of the media (H.261 video, MPEG video, etc). Is also includes what transport protocol being
used (RTP/UDP/IP, H.320, etc) [41]. For an IP multicast or a unicast session, the necessary address
and port is also conveyed.

SIP (Session Invitation Protocol)


The SIP is used to “invite”participants to a session. It is an application-layer control protocol that can
establish, modify and terminate multimedia sessions or calls [33]. SIP can invite both persons and
devices, such as a media storage service, where the media storage could be invited to record an
ongoing conference. SIP can be used to invite parties to both unicast and multicast sessions and the
person invited does not have to be a member of that session. The default protocol used by SIP is
UDP, although TCP can also be used.

Web based EPG 26


Video-on Demand
_________________________________________________________________________________________

5.4 Server based vs local based video-on-demand


Server based VOD is when the movies are received from a centralised server, that serves many users
over a large area. When evaluating the server based VOD system against the products TiVo and
RepalyTV, that can be seen as local based VOD, it has been done without any practical tests, since
TiVo and RepalyTV where not accessible. The evaluation has been performed from the user
perspective. That is when the user requests a movie that is stored locally at one of the PTV or stored
at a central placed server.

5.4.1 Advantage for local based system compare to server based system
The client latency will be smaller for almost everything that the user does with the local based system.
This includes things like choosing a movie and the time it take before is has started. Or the time it
takes if the user want to change the current displayed movie into another movie.

When a user want to change to another movie with server based VOD, that will affect the load of the
network. This is a drawback with the centralised approach, since the behaviour of the end-user is
visible in the traffic that runs through the network. If e.g. end users flip their remote controls or want to
deviate from the stream sequence in an interactive movie or game, all network buffers must be
reloaded almost instantaneously with new data to provide for the new scene. A VOD system is only
configured to support a certain number of users, when the maximum users are connected. Additional
clients will be denied access.

These set-top boxes have other services than just lets the user choose between some of the recorded
programs. They offer their users more control over the movie their watching. If the program is
broadcast, they can record it or use the ability to cache live TV.

A user that wants to record a program can choose to record it in different quality modes. The program
can be recorded up to 6 Mbit/s, which is regarded as very good quality. I have no information of the
bit/s that server based systems are using to display their movies.

One of the things that affect the prise on these boxes is the hard disk. But since the technology is
moving rapidly forward, the price on these disks will certainly drop. This will have a positive influence
on the prise on TiVo and RepalyTV, at least from the customer point of view. I assume that a lower
price on the hard disk, not have a large affect on the price customers have to pay for receiving a movie
with the server based system. Since the initially price per movie should already be low enough to
compete with the local video stores.

5.4.2 Disadvantage for local compare to server based


The offer is limited to the programs that are broadcast on the different channels. When the user want
to watch a movie, he can choose form the programs that has been recorded for him and those that are
being broadcast.

The initial cost is higher, since the customer needs to buy the PVR.

5.4.3 Conclusions
From the customer’s point of view are the products TiVo and RepalyTV a better choice than the server
based system. The only thing that is better with the server based system is that it can offer more up to
date movies. With TiVo and RepalyTV acting more as a modified VCR and the server based system is
the store where a user can rent movies. This assumption is based on that programs that can be rented
or can be watched at the cinema always are newer compare to the programs that are broadcast by
satellite, cable and terrestrial companies. TiVo and ReplayTV acts more like a local network with only
one user and gives their customers more control over the transmitted movie and the possibility to
record the movie.

Web based EPG 27


Video-on Demand
_________________________________________________________________________________________

5.5 Improvements for server based video-on-demand


I have examined different solutions that could improve the performance for the server based VOD
system.

5.5.1 Proxy caching


Proxies are a useful way to reduce the user-perceived latency and the total load on the server. Traffic
between servers and clients can be reduced with a proxy, by caching resources that will satisfy future
client requests [67]. Since techniques for caching text and images is not appropriate for continuos
media streams, because caching entire audio or video streams would exhaust the capacity of the
proxy cache. Instead the proxy should store a prefix which consists of the initial frames of each
popular stream. When the proxy receives a client request for a stream, the proxy immediately initiates
transmissions to the client, while simultaneously requesting the remaining frames form the server.

The proxy must reside on the path between the client and the server for the proxy to intercept the
client requests. To ensure that the client request goes through the proxy, the IP address of the
streaming service can be set to the proxy, who contacts the server to initiate transmission of the
remaining frames. To request the appropriate portion of the stream, several protocols can be used. If
the continuous media stream is a web resource, the byte range operation in HTTP can be used. RTSP
supports absolute positioning and the RTP have both sequence number and timestamp for every
packet, which enables the proxy to identify the frames.

Proxy prefix size


The size of the prefix buffer depends on the trade-off between how fast the proxy start sending the
initial frames and the delay from the server to the proxy. From the point where the proxy gets the
clients request the size of the prefix should be at least max{dmax – s, 0} frames. Where the delay from
the server to the proxy ranges from dmax, dmin and s is the additional start-up delay for the client. The
client are not suppose to wait any longer the s time units after the clients request has arrived at the
proxy.
The ordinary start-up delay for the client depends on the distance between the client and the proxy.
This means that if there is a delay x between the proxy and the client, the frames must be sent at least
x times earlier to ensure that they reach the client in time [J. Rexford, Personal communication, 24 Oct
1999]. The time parameter is i and is measured in units of frame slots.

Since the prefix reduce the latency for the client an additional buffer at the proxy could be used to
reduce delay between both the server and to perform workahead smoothing into the client playback
buffer. Which otherwise could result in playout disruption. The model for workahead smoothing is
presented in figure 5-13.

Figure 5-13 Smoothing model [67]

The proxy will store the initial frames in buffer in bp and will use the buffer bs for storing bit that are
used to for workahead smoothing into the client buffer, bc.

The window is used for workahead smoothing. A frame arrives at the proxy w time units before it must
be sent to the client. The proxy could send the frame immediately upon receiving it, which will increase
the clients buffer. Or it can wait some time, but not more then w time units. Otherwise the number of
frames that are waiting in the clients buffer will be decreased. When using the smoothing model the
proxy will store the first dmax –(s-x)+w frames. If w=0, that means that every frame the proxy receives
from the server has to be sent immediately to the client, to avoid starvation in the clients buffer.

Web based EPG 28


Video-on Demand
_________________________________________________________________________________________

Parameter D is the cumulative amount of bits that have been played, including the frame to be played
in the next time unit. The reason there are +1 is to make sure the frame arrives in the time unit before
it is played [J. Rexford, Personal communication, 17 Nov 1999]. They are using a fluid model, where
the frame finishes arriving at the end of the time unit, so they need to have the frame arrive during the
time unit that is one unit *before* playout. The formula for D is shown below, where the video stream
consist of N frames and the frame i (i=1… N) is fi bits long.

Di = ∑ j=1 f j
i

Ai represents the cumulative amount of bits that has arrived at the proxy at time i, including the initial
prefix that is stored in the buffer bp. Si is the transmission schedule for the smoothing model and is
based on all parameters shown in figure 5-13.

Conclusions
Proxies between the server and the client will reduce both server load and the initial response time for
the client. The proxy used together with workahead smoothing will also reduce the demand for
bandwidth that is necessary for a client to have.

5.5.2 Playback restart


When a client will make an interactive operation such as fast-forward or rewind in a VOD system. It will
result in an index jump, which also result in some delay. In order to keep this delay as small as
possible the article [68] suggest two algorithms. Figure 5-14 shows an example of a VOD system.

Figure 5-14 Video-on-Demand system model [68]

Algorithm1
When the client makes a playback request. It first empties its buffer and then waits for the server to
transmit from the correct frame position. When the server has sent an amount of data that can be
stored at the client buffert, it will send a message to the client to resume playback. The client will have
a delay from the time it sends its playback request until the resume playback is received. This latency
depends on the amount that the server will send before it can send the resume playback message to
the client. It will also depend on the rate that this amount can be sent in.

Algorithm2
This is a modification of algorithm 1 and instead of having the client waiting for the amount of to be
transferred before resuming playback. The client should resume playback as soon as possible. This
means that the server has to transmit at this faster rate a little bit longer, before it can switch to the
playback transmission schedule. This give the client lower latency and to transmit at the larger rate will
avoid starvation at the client buffer.

Comparison
Comparing the performance between these two has done with client buffer sizes 64 KB, 256 KB, 1 MB
and 4 MB. Focus has been made on a client buffer of 1 MB. When an interactive operation is made on
the movie starters, it shows that algorithm1 will have the restart latency evenly spread between 0 and
14 seconds. Algorithm 2 on the other hand will result in 90 % of all the operation have a latency
between 0 and 1 second. It shows that a client with a large buffer size that has to wait for the resume

Web based EPG 29


Video-on Demand
_________________________________________________________________________________________

playback buffer to be filled until resuming playback, will result in a high latency after performing an
interactive operation.

5.5.3 Skyscraper multicast


The purpose of using this method is to decrease the maximum waiting time after a client has sent a
request. This model can be used to support on-demand access to large data stored both on servers
and regional servers. A VOD server only has a certain number of channels it use to transmit a movie.
Therefore it is important to use these channels in the best possible way. One solution to keep the
waiting times limited would be to use multicast for the most popular movies. The skyscraper model has
been specially developed to reduce that waiting time, where the accessed data is multicast. In this
model every movie will be divided into multiple segments and each of these segments will be multicast
of different channels.

Figure 5-15 An Example of Skyscraper transmission schedule [69]

As seen in figure 5-15, each object is divided into eight segments, where the sizes of the segments
are {1,2,2,4,4,8,8,8}=45. This means that the total time for the movie is 45 units. Every new
transmission period is marked with an X in channel 0, so in this example a movie is multicast four
times. When a client makes a request that is just before the grey-shaded segment in channel 0. It will
then receive all the grey-shaded segment in channel 0 to channel 7. If a client’s request arrives just
after the grey-shaded segment in channel 0 has started. That client will instead receive the next
segment after the grey-shaded one in channel 0, and concurrently receiving the grey-shaded segment
in channel 1. The clients will from the remaining channels receive the grey-shaded segments and will
always have the size of one segment in their buffer [69].

Clients that receive the last possible segment in the first period in channel 0. Will concurrently receive
the last segment in channel 1. When the segment from channel 1 is played, the client will at the same
time receive the segments from both channel 3 and channel 4. The strategy is to have the clients use
their buffer to receive future segments and played when it is suitable. The buffer requirements on the
client using this system, is that it must be able to buffer the maximum segment size – 1.

Conclusions
Assume that L represents the length of the movie in minutes. By using this model the worst case a
client has to wait before receiving the initial frame for the movie would be L/45. L is the length of the
movie in minutes. This would occur when a client makes its request just after one unit in Channel 0
has started. That compared with just dividing the movie in eight channels would get a worst case of
L/8.

Web based EPG 30


EPG
_________________________________________________________________________________________

6 EPG
EPG means electronic program guide and this will be the new way for people to quickly find the
television programs that want to watch. The EPG can be seen as a further development of teletext.
With the EPG people will be able to search for programs that are in one of the many categories, like
sports, comedy, movies and news. It will also be possible to search for programs that start at a certain
time. Today people find there programs either by teletext, newspaper or paper based TV-guides. But
since every household in the future will receive a large the number of channels, the present way for
finding desired programs will not be sufficient. For example, if a user have one hundred channels. It
would take about nine minutes before the user have switched between those channels and made an
opinion weather it is worth looking at or not. Based on that a user spends five seconds on each
channel. Since neither the paper based TV-guide or other means to find certain programs have the
ability to search for user specific programs. It will be much more effective to use an EPG to find the
programs that are of interest. It will also be possible to create more personally TV-guides with the
EPG. Where user can create a user profile where only programs that are match to that profile will be
updated.

6.1 Transmitting EPG information to a STB


Transmitting information to the user can in the present situation be done by two different ways. The
information is either sent to the user by a modem or it will be broadcast. When users want access to
services that for example the cable company ComHem is offering, all the information will be broadcast.
The STB that receives this broadcast will use a tuner to get to the transport stream containing the
services that the user want access to. It is the same procedure as when the user would change to
another channel. This technique can also be done if the producers send all their content through
satellite or by terrestrial. If the producer want to have a more sophisticated interactive service. Then it
would not be practical to broadcast every information that a specific user wants to have, so just the
access button to those services will be broadcast. These types of services could be stored at a server
and the users would get access through its modem, and the chosen services would be sent back via
the modem to the user.

If the user has an Ethernet connection that he/she can connect the STB to, then it would be possible
to send the accessed application only to the user that have made the request. A more focused
transmission could be made compared with the broadcast technique.

6.2 Channel Information


To find companies that collects and sells information about television channels. Contacts at Telia and
the search on the Internet have been my main approach. I have also contacted the companies that I
found, to help me find other companies like them. Most of the companies that were contacted were
willing to help.

TVData
This is the world’s largest database with television information. The company has about 300
employees and has been doing this for more then 30 years. They have information about more than
1,400,000 programs, including 90,000 movies and more than 200 program categories. They have
information on almost every program that is being broadcast from North and South-America. Their
customers are newspapers, cable companies and many others.

Infomedia
Infomedia is regarded as Europe's leader in television listings. The company started to collect
television information in 1991. They have program information of about 250 channels and that
information is being used in more then 20 European countries. Their customers are television

Web based EPG 31


EPG
_________________________________________________________________________________________

magazines, newspapers, on-line and electronic program guides, as well as producers and distributors
of television programs. Infomedia delivers most of their channel information either by e-mail or FTP.

Avisa Centralredaktion AB
Avisa is one of the largest collectors of television programs in Sweden. They have (in their database)
information for almost hundred different channels. The major parts of their customers are newspapers
and magazines. TT (Tidningarnas Telegrambyrå) now owns this company. TT also had television
listings but now Avisa handles that.

Tjohoo AB
This is Sweden’s largest local portal. Regarding channel information, they collect the information them
self directly from the companies that produce the programs. But that information is only for internal
use, that is their EPG, TV-Guiden.

Rockitmedia HB
The EPG, Tvprogram.nu is own by this company. Their channel information that they collect is used
mainly for their EPG. But the information is not only for internal use [F. Mican, Personally
communication, 14 Aug 1999]. But there is no information about which their customers are.

Customers
Below is a list of some of the customers that these companies have. When that information was not
available, it has instead been marked with N/A.

Infomedia Luxemburg SA Tjohoo AB


Teledanmark N/A
BskyB
France Telecom
Telia Infomedia Rockitmedia HB
Passagen N/A
SvD (Tv-Guide)

Avisa Centralredaktion AB (own by TT)


TVData DagensTV
About 2,700 businesses in 20 countries use their More the 75 Swedish magazines and news
information papers

SVT
Svergies Television (SVT) represent the Swedish channels SVT1 and SVT2, are storing all information
about their two channels on a database. That database will contain information for at least four weeks
ahead. Customers like newspapers and others that want to take part of that information can get if for
free, since all this information is without charge. But they do have to pay for the different pictures that
have a connection to the program, since there is a copyright for them. In Sweden today, companies
only transmit channel information for the current broadcast program and the following program to their
EPG. The reason is that these EPG can not handle more information. That is due to the standard
DVB-SI that is used. For the moment this standard can only handle information for two channels. But
when it has been improved, user will probably have access to channel information for one or two
weeks ahead [J. Palmqvist, Personally communication, 4 Aug 1999].

6.3 Telia Infomedia


Telia Infomedia receives their channel information from Infomedia in Luxembourg. Telia Infomedia buy
information for proximately fifty channels and the information are received in a TSV format. Which
stands for Tab Separated Values and is a database format. Telia Infomedia are accessing their

Web based EPG 32


EPG
_________________________________________________________________________________________

information and EPG by the STB called Macab. That box is based on the eurobox, which is the
European standard, set for set-top boxes. Every customer will need one of these boxes to be able to
receive those channels that is not part of the ordinary offering, that Telia is offering through their cable
net. This also applies the EPG. Their EPG list the channel information by title, start time, channel and
category.

Database file content


Every file that Telia Infomedia is received from Infomedia in Luxembourg contains the following field
names

Channel Category
Date Actors
Time Synopsis
Original title Director
Title Schedule_id
Episode Title Duration
Country DVB
Language Year
Rating

Telia Infomedia are buying new channel information every day [A. Gustavsson, Personally
communication, 16 June 1999]. The information that they purchase is one week ahead, and they also
get updates on the information they bought earlier every day. Regarding changes when some
programs will be broadcast. The companies that is responsible for the broadcast will sent this update
to companies that collects this type of information, like Infomedia in Luxembourg. Where it will be
passed -on to customer for these kinds of companies. Sometimes this information is sent directly to
the customer’s e.g. Telia Infomedia.

6.4 Different platforms for EPG


There are different platforms to choose between when creating an EPG. Some of these platforms are
MediaHighway, OpenTV and a web based platform. When creating an EPG using the web based
platform, languages like JavaScript, html and other tools are used, the MediaHighway and OpenTV
have there own language for developing these kinds of services. Both these are software that are
placed in a STB, where these programs acts as a virtual machine. Which means that they can
supports many embedded real-time operating systems. Since they do not include their own real-time
operating systems, they are referd to as middlewares. Virtual machines for other types such as HTML-
JavaScript and DVB-MHP can be expected according to Michelle Abraham [77].

The operating system refers to the four bottom layers, namely device drivers, kernel, adoption layer
and library layer. OpenTV and MediaHighway that are referred to as middlewares are placed on top of
the OS, se figure 6-1. These middlewares can have their own libraries, interpreter and applications.

Web based EPG 33


EPG
_________________________________________________________________________________________

Figure 6-1 Topology of a STB software stack [77]

• Applications : Applications written for the STB.

• Networked Community Software : This allows devices to recognise and use each other’s services
over the network. Some software that supports this are Jini, Upnp (universal plug and play) and
HAVI (home audio video interoperability).

• Interpreter : Translate the application code into instructions that the processor can understand.

• Libraries : Contains codes that the hardware needs to support features such as graphics,
communication, security and others.

• Adaption Layer : This is the interface between the kernel and the device hardware.

• Kernel : Provides functions like memory management and process management tasks.

• Device Drivers : Drivers to operate the devices that are built in to the system.

6.4.1 OPENTV
The company was formed by a joint development and marketing alliance between Thomson
Multimedia and Sun Microsystems in 1994. Their first product was shipped in 1996 and was named
OpenTV 1.0. The alliance was later reconstructed into an independent company with the name
OpenTV. Approximately 6.1 million digital set-top boxes are today using OpenTV and about 20 STB
manufactures have licensed the OpenTV operating system.

Web based EPG 34


EPG
_________________________________________________________________________________________

Some of OpenTVs customers are

Company Country Distribution form


Telia InfoMedia TeleVision AB Sweden Cable
Television par Satellite (TPS) France Satellite
Senda Sweden Terrestrial
EchoStar/DISH Network US Satellite
France Telecom Cable France Cable
BskyB UK Satellite

It is the STB software OpenTV EN2 that allows the box to receive the MPEG-2 video and audio, as
well as the interactive services that are sent through the broadcast stream. The software consists of a
core part and an extension part. It is the core part that act as a middleware layer to support several
real-time operating systems such as pSOS, VxWorks, Nucleus Plus and others [78]. The extensions
are add-on modules that increase the capabilities, for example smart cards can be used for shopping
or retrieve teletext from the stream. New extensions during this year (2000) are TCP/IP return
channels and web browsing.

The application API consists of the OpenTV Software Developers Kit (SDK). This is an environment
using ANSI C and is available for several platforms such as SUN, Windows and NT. There is also
another tool for developing OpenTV applications. It is called OpenAuthor and this is aimed more to the
non-technical community. This is a visual authoring tool, much like the tools that exist for creating
HTML pages. The OpenAuthor delivers their content precompiled and can then run direct on the
virtual machine.

6.4.2 MEDIAHIGHWAY
CANAL+ was founded in 1984 and are today regarded as the leading pay-television company in
Europe. Their system for creating interactive services is called MediaHighway and has been inserted
in approximately 6 million set-top boxes. The language that MediaHighway is using to write interactive
applications are called Pan Talk. The technology has been chosen by approximate 10 STB
manufactures. Canal+ also have their own developed conditional access system, named
MEDIAGUARD. The MediaHighway system is like OpenTV based on a virtual machine, which means
that it has the ability to run on any hardware platform or operating system chosen by the STB
manufacturers.

Figure 6-2 The MediHighway software architecture in the STB [80]

The figure 6-2 shows where in the chain the virtual machine is placed. The MediaHighway consists of
both the virtual machine and the development kit for creating applications. The architecture for
MediaHighway has two key interfaces. The interface between the virtual machine and the device

Web based EPG 35


EPG
_________________________________________________________________________________________

manager called Device Layer Interface (DLI), and the development of the software below the device
manager, are the STB manufacturers in charge off. It is the DLI that has been licensed to the STB
manufacturers. The other interface is between the Virtual Machine and the Application and this is the
application program interface [80]. The virtual machine is able to support the Java programming
language, so the developer is not bound to their language, Pan Talk.

Some of MediaHighways customers are

Company Country Distribution form


MediaOne US Cable
Zee Network India Cable
Jupiter Japan Cable

6.4.3 Web based


Regarding the tools for creating web based EPG, I refer to chapter 7.1. Where I examined and
motivate my selection of language before I construct my prototype.

6.5 Comparing these EPG platforms with web based EPG


The answers to the questions regarding OpenTV have been performed together with Brad Fuller at
OpenTV and Ewa Jacobsson at ComHem.

Language
Web based When creating an EPG with web based tools, both HTML and JavaScript can be
used. Both these languages are well known and there are a great number of
peoples that can develop applications with these languages.
OpenTV The language that OpenTV are using for creating their interactive application is
based on ANSI C. Since it is used only with in this area, the language is not so well
known.
MediaHighway Canal+ has designed its own language called Pan Talk. Which is also a language
that is used only in this area and not well spread.

Accessing
How is the EPG application accessed and how much is the client latency.
Web based I have access all the web based EPGs that I have mention in my appendix and their
loading range where between 7 to 20 seconds. The computer from where the
access where made from is a Pentium 3, 600 MHz with an ordinary 56 Kbit/s
modem and Telia as the ISP. The channel information that is shown for these
accessed EPGs are between is for 15 to 42 channels, and they only display
programs for one day at the time or what is on right now.

Other things that affect the access time besides my modem connection are the load
on the servers and the generally load on the internet at that time.
OpenTV The EPG and the channel information are transferred with the same steams as
video and audio is sent with. When a user want access to the EPG, it takes between
15-20 seconds before the EPG is loaded. On the other hand are channel information
showed for 73 different channels, three days ahead. The test was made on the EPG
that ComHem are using, which has been developed with OpenTV.
MediaHighway N/A

Web based EPG 36


EPG
_________________________________________________________________________________________

Commercials
If there are commercials at the EPG, is it possible for the users to click on them and then receive more
information about that product
Web based Yes, when a user clicks on a commercial banner, the page will be loaded as any
other page on the Internet would be loaded.
OpenTV Dynamic commercial pages could be pre-stored stored in RAM or Hard disk. They
can also be stored in the FLASH memory as well.
MediaHighway N/A

License
Does this developing tool demand license for every set-top box, where the created EPG is inserted.
Web based No
OpenTV Yes
MediaHighway Yes

Scale
How does the number of user affect the load on the EPG application.
Web based Here the number of users can be a load on the network, but it all depend on the
traffic between the users and the server containing the EPG.
OpenTV Since the EPG is always broadcast, the number of user will never be a bottleneck.
MediaHighway The EPG is always broadcast and the number of user will not be a bottleneck.

Channel information
Web based The channel information is placed in a database. When users want this information,
they will access this database directly through a database connection.
OpenTV The channel information is placed in a database, at least in ComHem’s case, which
are using this API. The user will in this case not get access directly to the database.
Instead will all the channel information be broadcast with the same stream as the
video and the audio is sent in.
MediaHighway N/A

Web pages and links


Is it possible to include web pages and links to web pages inside the EPG.
Web based Yes
OpenTV It is also possible to have links from the EPG to web pages on the Internet. Since
web browsing is one of the extension that will be developed during this year (2000),
in the OpenTV EN2. But it is possible to convert web data into OpenTV modules and
then broadcast it.
MediaHighway N/A

Developing platforms
Which platforms can be used, when developing an EPG.
Web based Macromedia Windows 95/98/NT and Macintosh
Java/JavaScript/HTML 95/98/NT and Solaris
OpenTV Windows 95/98/NT and Solaris
MediaHighway N/A

Web based EPG 37


EPG
_________________________________________________________________________________________

Remote control
Is it possible to control the EPG with a remote control.
Web based Yes
OpenTV Yes
MediaHighway Yes

6.5.1 The market


OpenTV and MediaHighway are regarded as the dominating APIs in Europe as figure 6-3 shows. The
expansion for MediaHighway in Europe will during 2001 reach nearly 5 million and OpenTV will reach
about 6 million subscriber’s [79]. There was no available information about the market for the web
based tools regarding the creating of interactive services.

Figure 6-3 The Europeean market for middlewares [79]

6.5.2 Conclusions
There are some disadvantages with both OpenTV and MediaHighway. The first is the license, which is
a fee that is paid for every box by the manufacturer of the set top that both products have box [P.
Marchal, Personally communication, 19 May 2000]. The other it that people with the right qualification
is much harder to find for the OpenTV and the MediaHighway API. Since their languages is not as well
spread, which the web based languages are. The downloading time is to long and users that access
the web based EPG will certainly have more bandwidth than 56 Kbit/s. When inserting commercials,
the web based EPG is more prepared for the e-commerce since they are on the same platform and
the this market already exist. With OpenTV, the commercial web pages first have to be converted
before they are broadcast out to the users.

With a web based EPG, the launching time will be affected by the load of the server from where the
EPG is located and the generally load between the users and the server. This bandwidth that the user
have will also be an affecting part. None of these factors will have any affect when an EPG is launched
created by OpenTV or MediaHighway. Since applications like that is always broadcasted out to the
users, and is not affected by the number of users.

Web based EPG 38


EPG
_________________________________________________________________________________________

6.5.3 Future
Since DVB are aiming to develop the MHP standard. The MHP will include a collection of net and
video standards such as HTML, SMIL and JavaScript. Since this standard probably will be supported
by many STB manufactures. It is important for OpenTV and MediaHighway to support it.

According to Therese Torris [79] will both OpenTV and MediaHighway have difficulties in 2002 to
increase their functionality in all the set-top boxes running their proprietary APIs, since it will not be
able to extract any more performance from them. Both the TV channels together with the interactive
digital TV (iDTV) operators like, ChanelSatellite’s Canal Plus and Open’s News Corp channels will put
pressure on their parent companies to distance themselves form proprietary technologies. That will
hold back the wider distribution of their interactive services. Regarding the adaptation for OpenTV and
MediaHighway to MHP, Therese Torris say that OpenTV will be able to transform from the system
licence fees to a MHP service provider. MediaHighway on the other hand are expected to sell their
technology to standard solutions providers like for example Microsoft.

Web based EPG 39


Database
_________________________________________________________________________________________

7 Database
Since one task in my degree thesis where to examine some database connections. I first give an
introduction to the database area. A database is a storage medium, where different kind of
informations is kept in a structure way. The information can be easily accessed and read or changed.

7.1 Database Models


There have been several different database models used over the years. Below is a short description
of some of them.

7.1.1 Flat file


This was the first way of storage data. All information was stored in a single table. Which where
difficult to handle when volume increased. Flat files do not provide all the service of DBMS, such as
elimination of redundancy.

7.1.2 The Hierarchical Model


In 1960 IBM developed the first real database. The hierarchical model organises the data in a tree
structure (an upside-down tree) with parent, children and leaves. The records of the highest level of
the hierarchy are called roots and record to which several records of a lower level are linked is called a
parent. The records linked to the parent are its children and the records of the lowest level are called
leaves. A record is linked to another record by a pointer. The relationship between the parent and child
is one to many, it can only be used with 1:1 or 1:N relation between the records. One problem with this
model is when there are many parents with the same child, M:N or M:1. In those cases hierarchical
databases require considerable data redundancy just because child records can have only one parent
[42].

7.1.3 The Network model


This model was designed by the CODASYL (Conference On Data Systems Languages) in 1971. It is
an extension of the hierarchical model where many to many relationships are now allowed. Parents
can now have many children and children can have many parents. By doing this they reduced the data
redundancy but when the system grow as well as the connections between the segments. It will reach
the point where maintenance of the system becomes very difficult. The organisation of this model is
that of an arbitrary graph.

7.1.4 The Relational Model


In the relational data model the database is represented as a group of related tables. It was in 1970
that Edgar Codd introduced the relational data model, and is currently the most popular database
model. The mathematical simplicity and ease of visualisation of the relational data model have
contributed to its success. The relation itself corresponds to our familiar notion of a table. A relation is
a collection of tuples (table rows), each of which contains values for a fixed number of attributes (table
column). Each tuple in a relation must be unique -- that is, there can be no duplicates. To ensure that
no duplicates can appear, the relational model requires that every relation have a key. The key fields
have non-null values and no two tuples may have the same key value.

7.1.5 The Object-Oriented Model


This model is created to provide DBMS capabilities to store objects that have been created using
some object programming language. Every object in this model has been assigning a unique OID
(object identifier). Pointers handle the relation between the different objects. But when the amount of
relations increases, the numbers of pointer get so high that they will negatively affect the performance.

Web based EPG 40


Database
_________________________________________________________________________________________

They also make the relationship between the object very hard to survey. That is way this method is not
suitable for handling large amount of data. This model is more appropriate to handle smaller amount of
data. It is there the pointers are most useful and with that small amount of data, this model is even
faster then the relational model. To solve the problem with objects written in different languages, two
ways can be used. One is that every object that shall be store in the database is saved with a neutral
language and when the object is requested is will be transformed to the correct language for the
requested application. The other technique is to store the object with its correct language and then
transform it if necessary.

7.1.6 The Object-Relational Model


The Object-Relational Model has been build by taken some object-oriented features with the function
that the relational models have. The purposed standard for object-relational is SQL3 but the ANSI
committee is not yet finished with it. Because of this no vendors today can call them self, SQL3
compliant. To create ORDBMS (Object-Relational DBMS), vendors like ORACLE and IBM have used
their own originally RDBMS (Relational DBMS) and change them dramatically to include object-
oriented features [43]. Their models, which also can be called a hybrid, are half-relational and half
object-oriented.

7.2 DBMS
Database management system (DBMS) is software that is designed to control user access to the
database and to efficiently manage the data resource. Every DBMS has two common components,
DDL (Data Definition Language) and DML (Data Manipulation Language). The DDL handles
restrictions and with DML the data can be manipulated. Figure 7-1 show where the DMBS is placed in
the database system.

Figure 7-1 Components of DBMS [42]

7.3 Database connection


Today there exist a number of different database connections on the market. To make it easier for
user to connect to their database. Both Microsoft and SUN Microsystems have developed database
interfaces, that through different drivers can connect to almost all the different existing databases.

7.3.1 JDBC
Java Database Connectivity (JDBC) is a standard defined by Sun Microsystems and it is used by Java
applets and Java applications to access databases. It is the equivalence to Microsoft’s ODBC, and
both of these interfaces for database communication is based on X/Open SQL CLI (call-level
interface). The SQL CLI was developed by SQL access group in 1990 and is an API for database
access. In 1995 it had become a X/Open Common Application Environment specification. This meant
that the X/open CLI specification had become a standard for database access and that it is neutral

Web based EPG 41


Database
_________________________________________________________________________________________

regarding, vendor, platform and database. The JDBC API is used for executing SQL statement and
can only be used with relational databases. The SQL statements are embedded as arguments to
methods in JDBC interfaces.

For clients to access a database they need a driver. There are four different types of JDBC-drivers.
The only driver that Sun has developed is the JDBC-ODBC Bridge, all the other types has different
database vendors made to be adjusted to just there DBMS. Therefor a different driver is required for
each different vendor's database [48]. Today JDBC 2.0 is the latest update of the JDBC API. It
contains both the Core API and the Standard Extension. The standard extensions are packages of
classes written in the Java programming language. Application developers can use these extensions
to extend the functionality of the core part of the Java platform. The reason way there are extensions
is because the core part of the Java platform has been growing steadily since SUN released version
1.0. Now there are over 50 packages in version 1.2 and by using extensions they can add functionality
without increase the size of the core API.

7.3.1.1 Drivers
There are four different types of JDBC Drivers

• JDBC-ODBC Bridge
• Native-API Partly-Java Driver
• Net-Protocol All-Java Driver
• Native-Protocol All-Java Driver

Every part in the two pictures below is on the client side except middleware and the database server.

A B C D

Figure 7-2 Java drivers [44] Figure 7-3 Java drivers [44]

A: JDBC-ODBC Bridge
This driver has been developed by Intersolv and JavaSoft. This driver will translate JDBC calls into
ODBC calls. To ODBC it will appear as a normal application program. The reason why Sun developed
this type of driver was to take advantage of the large number of existing databases that where already
using ODBC. When using this bridge the JDBC calls are converted into C language for the ODBC
APIs. It will then be passed by ODBC to the appropriate ODBC driver that will handle the connection to
the database server. For ODBC to be able to pass the JDBC calls to the appropriate ODBC driver, the
client has to install one driver for every database manufacturer. The bridge is implemented as the
jdbcodbc.class and a native library to access the ODBC driver [J. Andersson, Personal
communication, 24 Aug 1999].

Web based EPG 42


Database
_________________________________________________________________________________________

The bridge, ODBC and some ODBC-drivers for different database DBMS has to be installed at the
client. The DB Client Lib is the vendor’s c or c++ lib, which contains both the vendor specific driver and
the API for communication with that driver. To gain access to the vendor’s lib a DLL file is used, which
contains the communication layer with the vendor’s lib. The JDBC Driver Manager is a class that
chooses the correct driver when a client wants to make a database connection.

B: Native-API partly-Java drivers


When using this driver the JDBC call will be converted into the API for the current database. This
means that there will be no portability because the client will only be able to connect to just that
specific database. On the other hand the user will not have to wait for the JDBC-ODBC Bridge to
convert the JDBC-calls. But the driver for the particular database that a client wishes to connect to still
has to be installed. This connection can be used with many different database drivers but every client
have to make the connection to the driver for the database by themselves, there is no interface like
ODBC that will choose the right driver when access to a database is desired. This driver simply
removes the ODBC portion of the JDBC-ODBC Bridge.

JavaSoft calls these native-API partly-Java drivers because there is a wide range of variation between
vendors in how much of the driver is Java, and how much is C/C++. Some vendors have merely
wrapped an existing C/C++ driver in a thin layer of Java. Other vendors, like WebLogic, instead built
the driver in Java, and then added a very thin layer of C/C++ to make calls to the vendor libraries.
Since the client libraries are usually written in C or C++, the JDBC implementation uses that layer of C
or C++ which the Java driver have to make the call to the vendor libraries. This requires that each
client have a local copy of the .DLL that contains the C/C++ layer for communicating with the vendor
library [46]. Often drivers like these are called "native" drivers, because their layer of non-Java code
requires the use of "native methods" in Java.

C: Direct-to-Database Native-protocol all-Java driver


In this case the driver convert JDBC call directly to the network protocol that the DBMS is using. For
example Oracle DBMS use the network protocol SQLNet, which is run on top of TCP/IP by using
Oracles TCP/IP protocol adapter. But many of these protocols are proprietary the database vendor,
and the driver has to come from them since they are the only ones that know how the procedure for
sending user_id, password etc are.

D: For Database Middleware, Net-protocol all-Java driver:

This type of driver translates JDBC calls into a DBMS-independent network protocol, which is later
translated into a DBMS specific protocol by a middle-tier server. The driver is installed at the client and
uses sockets to call the middleware-application that translates the client requests. At the middleware
both Java driver of type A and B can be installed [45]. This driver give the user good flexibility, since a
client can access multiple and different databases with the single driver that is installed at the client.
But since there are two drivers involved in a database access, performance is not so good. Although
the driver do not require any additional code to be installed at the client.

7.3.1.2 Performance
Because these drivers have been designed to meet different demands, there is a difference in
performance. To separate these drivers, regarding performance. I used the grading that the magazine
Network computing has done [47]. Since it was not possible to made a performance test of these
drivers myself.

JDBC-ODBC Bridge (type 1) This driver was the slowest.


Native-API partly-Java drivers (type 2) These drivers are the quickest of these four.
Direct-to-Database Native-protocol all-Java The driver loads quickly, because they are small,
driver (type 4) but do not execute requests as fast as type 2.
For Database Middleware, Net-protocol all-Java These are efficient but no match for the type 2
driver (type 3) driver.

Web based EPG 43


Database
_________________________________________________________________________________________

7.3.1.3 Conclusions

JDBC-ODBC Bridge
This driver might be the slowest of these drivers but the advantages with the JDBC-ODBC Bridge is
that it can access almost any database. But since the service provider probably not will have many
different kinds of databases, the advantage with this driver will not be used.

Native-API partly-Java drivers


This driver had the best performance but native code (DB client Lib) has to be preinstalled at the
client. This means that if the service provider changes database, the DB client Lib for that database
has to be installed at the user. This is in my opinion the best-suited driver for database connection
between the server and the database, since it is that fastes one, and with the assumption that the
service provider will not change database often.

Direct-to-Database Native-protocol all-Java driver


These drivers are very much like the Native-API partly-Java drivers. The difference is that this driver
does not offer the same performance but on the other hand the client does not require any preinstalled
code. But since this driver demands several JDBC drivers for various vendors’SQL databases, it does
not have the same flexibility that driver D does.

For Database Middleware, Net-protocol all-Java driver


The advantage with this driver is that there is no need for any native code to be preinstalled at the
client, only the driver needs to be installed. Since the driver speaks DBMS-vendor neutral protocol, the
software receiving the request can access many different SQL databases without the need for loading
additional code at the client. This driver may not be the fastest but it is the most flexible one, since the
client only requires minimal code and still has access to many different databases.

7.3.2 ODBC
Open database connectivity (ODBC) is an API for accessing data from relational and non-relational
database management systems (DBMS). This interfaces for database communication is like JDBC
based on X/Open SQL CLI. ODBC is developed by Microsoft and is today widely accepted. Before
ODBC, every user that wanted to access several databases had to have each vendors database
solution installed. This meant that the user had to learn one API’s for every connection. With ODBC
the user only needs to learn one API, the ODBC API, to make a database connection regardless of
the API that the specific database has.

When the user want to access a database, it has to use the correct driver. The procedure to choose
the correct driver is done by the driver manager [65]. Before the connection is possible, the user has to
declare the data source name, user id and password for the database it wishes to connect to. The
driver manager will take the data source name to find the associated driver. When the driver is found,
driver manager will call a function in the driver, which will make the connection to the database.

The ODBC architecture has four components:

• Application: The application is the program that processes the data. It call ODBC functions to
submit SQL statements and retrieve results.

• Driver Manager: Loads and unloads drivers on behalf of an application.

• Driver: Connects and passes a SQL requests to a specific data source, and the result is returned
to the application. The driver is loaded at run time.

• Data source: The data source includes the data the user wants to access and its environment, like
the operation system and DBMS.

Web based EPG 44


Database
_________________________________________________________________________________________

Figure 7-4 The relationship between the ODBC components. [65]


The application, driver manager and the driver are located at the client side.

7.3.2.1 Drivers
There are two types of ODBC drivers

• Single-tier
• Multiple-tier

Single-tier
These kinds of drivers, se figure 7-5, are used when the database and the driver are located on the
same machine. The database engine with this kind of driver is not an SQL database engine, and since
these drivers do not have a DBMS to deliver their calls to. The driver has to perform all the SQL
processing it self. The interface to the data source is through file I/O or ISAM (indexed sequential
access method) calls. Examples of drivers using file I/O are Microsoft Excel drivers and applications
that use the ISAM type are for example Microsoft Access and dBASE.

Figure 7-5 One-tier-architecture [66]

Multiple-tier
The two-tier system is the standard system used today. Here the user will not directly contact the data,
instead the request will be sent to the DBMS, se figure 7-6. The DBMS will execute the request and
send back the result to the user. The user can send the request by two different ways. Either the
application can call the SQL execution function through the ODBC driver. Then the driver will compose
a message with the user determined SQL-string and use a function in the network library, which will
send the message to the server, so the DBMS can receive it. If it is sent by RPC (Remote Procedure
Call), the client would sens the SQL function in encoded form, together with its argument, the SQL
string, to the server. Where it will be reconstructed into the original SQL function call.

Web based EPG 45


Database
_________________________________________________________________________________________

Figure 7-7 Three-tier-architecture [66]


Figure 7-6 Two-tier-architecture [66]

There is not much difference between the three-tier and the two-tier architecture. Except that the SQL
function call is not send directly to the DBMS, se figure 7-7. The gateway server first handles the
function call from the client, before it reaches the DBMS on another machine. At the gateway server
exists both an ODBC driver manager and drivers for one- and two-tier. This means that client can
connect to multiple databases through the gateway server.

7.3.2.2 Conclusions
The most flexible one is the Three-tire driver, here the operator is not bound to one type of DBMS.
Since the client only needs to install one driver and still have the possibility to access several different
DBMSs. But with the same reason as mention in the JDBC case. That speed should have higher
priority that flexibility. There has been no comparison regarding the speed between these drivers. But
since the database and the EPG are probably not placed on the same machine, the Single-tier driver
will not be used. This means that the Two-tier-architecture should be the fastest one, and they’re by
my recommendation.

Web based EPG 46


Construction of the EPG
_________________________________________________________________________________________

8 Construction of the EPG

8.1 Language for EPG


Before constructing the EPG, I had to decide the language and the application type in which the EPG
where going to be developed in. The ones that I have chosen from are listed below.

• Servlet

• Applet

• Script

Servlet
A servlet is a server-side component that is written in Java. When a user are accessing a servlet,
through its web browser. The connected server will forward that request to a servlet. The servlet is
executed on the server and the processing of the servlet are usually returned to the client in the form
of HTML. There is no need for a Java Virtual Machine at the client since all the interpretation of the
Java code is done at the server. Servlets have the ability to run on many different web servers like
O’Reilly Website, BEA WebLogic Application Server and Netscape Enterprise Server. It is also
possible through add-ons that will add support to web servers like Microsoft Internet Information
Server and Apache Web Server. The Servlet API that contains all the classes and interfaces is a part
of Sun’s Java Servlet Development Kit.

Figure 8-1 The Servlet life cycle [75]

A servlet runs inside a Java-enabled Webserver. When the first request for a servlet program is made,
the servlet will be loaded into the JVM in the HTTP server. After the HTTP server loads and initialises
the servlet, the servlet is ready to handle client requests. Each client’s request has its call to the
service method run in its own servlet thread: the method receives the client's request, and sends the
client its response. Servlets are considered as a good substitute for CGI programs because they are
faster after the first request. While a CGI program opens a new address space for serving each
incoming browser request, a servlet operates in the same address space, opening only threads for
servicing requests, se figure 8-1. A connection to a database can with a servlet be made with any of
the JDBC drivers.

Java Applet
Java applets are constructed with Java code. When the user is requesting a Java applet through its
web browser, all the precompiled code for that applet will be downloaded to the clients web browser.
The applet that are included in the HTML code are then executed in the web browser.

Web based EPG 47


Construction of the EPG
_________________________________________________________________________________________

The applet has a fixed area in the web page. When a Java applet is compiled it turns into byte code.
This bytecode will be translates into machine-specific instructions by the Java Virtual Machine (JVM)
that is written for that particular platform. The browser company must have licensed the technology
from Sun and then built it into the browser. It exists a JVM for every platform like Macintosh, UNIX and
Windows that will turn the code into the right machine code. The most common web browsers,
Netscape Navigator and Microsoft Internet Explorer are examples of browser using an embedded
JVM.

Applets that are loaded over the net are generally not allowed to read or write files that exist on the
clients file system, since all loaded applets are considered untrusted. It is also not allowed to make
network connections to other hosts except to the original host, from where the applet was loaded.
This is not the host where the html page came from, but the host that provided the .class files. It is
possible to release some of the strictness of the applet by using signing and verification. But Netscape
Communicator or Internet Explorer does not support it. It is only supported by HotJava and
appletviewer [74]. When connecting to a database through an Applets, the JDBC drivers can be use.

Script
It exists many different script languages on the web today. I have mentioned some of them in the
appendix. Scripts can be seen as an addition to HTML, since all code is imbedded with in the HTML.
When using script there is no compiler involved since the browser interprets the script. There exist
both client-side and server side script. Most of the script has the possibility to connect to a database.

Evaluation

Different Platforms
Advantages for applets and servlets are that Java is a cross-platform language, this means that it can
run on platforms like UNIX, Windows NT and other operating system that are Java compiliant. Most of
the script languages can also run on these platforms.

Applets demand a JVM in the client’s browser. With servlets there is only need for a JVM at the server.
That means that there is no need for support for Java in the client’s browser.

Graphical interface
Since it exist many powerful tool for creating html pages. All script languages have excellent possibility
to make sophisticated interfaces for the electronic program guide. Servlets and applets demand from
the developer to create every row by them self. Which can not be compared with the existing web
pages tools on the market today, like the Macromedia dreamvewer.

Client loading
Since the intention to have as little processing done at the client as possible. Applets have the
disadvantage to have its code executed at the client. The code that Servlets and scripts will send, is
code that is interpreted by the client’s browser.

Database connection
Applets, Servlets and Scripts have the possibility to connect to a database.

Conclusions
The script language is considerd to be best suited for this type of application. With this technology the
EPG will be easily designed with existing tools on the market, and the load on the client is minimal.
Since the code sent from the server, is code that the browser will interpret

Web based EPG 48


The Web Based EPG prototype
__________________________________________________________________________________________

9 The Web Based EPG prototype

9.1 Language
Regarding the interface for the EPG, it where several different language and application types to
choose from. But since I already had some knowledge in Servlets, I choose to develop my EPG as
such an application type.

9.2 Architecture
The architecture for the EPG involves a client, a database and a webserver. I have installed both the
webserver and the database on different hosts, and a third host is used for accessing the EPG. The
reason way I did not install everything on one computer. Was because I wanted the environment to be
as realistic as possible. To setup my environment, the following software was installed.

Client
JDE 2.1.5
JDK Version 1.2.2
JSDK 2.0
20.3.1 of GNU Emacs
Jikes 1.04

Databas Server
NT 4 for server
MS SQL 7

WebServer
JavaWebServer 1.1.3
jdbcKona/MSSQLServer4 driver

9.3 Components
Videoplayer
The video player that is used is the RealPlayer from RealNetworks. They provide Realplayers for both
Netscape and Internet Explorer. With Netscape the RealPlayer is a plugin and for Explorer, it is an
ActiveX component.

The videoclips showed in the RealPlayer was recorded from the television by using the program ASUS
Live. This program saved the recorded video clips in the avi format. But since this realplayer uses
another format, it had to be converted from the .avi format to the .rm format. This was done with the
RealEncoder 5.01. Every videoclip was recorded at 300 Kbit/s and 284 Kbit/s of those 300 was used
for the video and the remaining 16 Kbit/s was used for the audio. At figure 9-1 are the interface of the
EPG that where developed.

Database connection
For database connection, I used the jdbcKona/MSSQLServer4 driver from Weblogic. This driver is a
type 4 driver, which in my report is referred to the driver type C.

Regarding the choice of database, the Microsoft Access could have been used, but since it is limited
to handle only ten users simultaneously. My choice was the Microsoft SQL server, that is scaleable to
handle thousands of users simultaneously, and is probably the database chosen between this two, if a
real system with a web based EPG would be constructed.

Web based EPG 49


The Web Based EPG prototype
__________________________________________________________________________________________

There where also performed a test to examine the time it takes to perform the following SQL
expression, exec="Select channel, date, time, title, category, duration from svensktv". Which is the
database call to receive all the necessary information that was needed to display the information for
the titles that where chosen in my EPG. These titles are Channel, Starttime, Stoptime, Program and
Category. There where 30 calls performed, the worst-case was 70 ms and the best-case was 10 ms,
and the average time for all 30 calls where 43 ms. Every call was made from the computer that the
web server was on, to the computer where the database where. Both computer where on the same
net at Telia Research AB in Nynäshamn (Research-nyn-1).

This test was performed by making three time calls in the code, T1, T2 and T3. The first two call, T1
and T2 where made before the SQL expression had been performed. Then where the T3 call where
made. This gave the time it took before the data from the database where received. This expression
T3-T2-(T2-T1) also removes the time it take to perform the actually time call.

Channel information
The channel information that are used, where received from Telia Infomedia. It contained informations
about the different programs for one day. That information was actually used on the first of November
1999, in their cable net. To insert the channel information, the file first has to be saved as a textile, and
then some adjustments were made in Microsoft Access to it. Then it was ready to be inserted in to
Microsoft SQL server.

9.4 The EPG interface

Figure 9-1 The graphical user interface for the EPG

Interface description
The EPG consists of seven frames, and is presented in figure 9-1. The whole EPG is presented by a
servlet to the client. In figure 9-2 shows the placement of the seven different frames, and is followed by
a more detailed description of these frames.

Web based EPG 50


The Web Based EPG prototype
__________________________________________________________________________________________

Figure 9-2 Frames in the EPG

1. This frame will only contain the commercials.

2. Here is the video player and as mention eirlyer the player I am using is RealPlayer, and this is
representing a small television screen. When users finds one of the programs that are being
transmitted, he/she can get a quick view of the program without leaving the EPG. The RealPlayer
works with both Internet Explorer and Netscape. The RealPlayer has been set up as an ActiveX
component for Internet Explorer and as a plug-in for Netscape. It is a servlet that are handling this
frame.

3. Here it will be possible for the user to have the EPG display all the programs that are on right now,
by pressing the På-tv-just-nu button. The other two are for future functions, where the inställningar
button can display the profile the user have. Regarding channels, type of movies so that just those
types of programs are shown and not all available. The sök button is for searching after a
program, more specefic then channels or movie categories. It can be used for searching for a
certain actor or the name of a program.

4. This frame displays the current time and date.

5. These dropdownlists contains all available channels and categories. They are read from the
database using the JDBC driver when the user loads the EPG. It gives the user the opportunity to
search the database for programs involving their starttime, channels, category and day. This is
handled by a servlet.

6. This is a static frame displaying the headlines for the channel information.

7. Here are all the channel information shown. It is possible for the user to click on the channels logo
that are under the headline Kanal, and some of the programs that where recorded will be
displayed by the RealPlayer. This will symbolise that all current transferred program are available
for the user to get a quick look to see if it where something interesting. This frame is handled by a
servlet

Web based EPG 51


Future Work
__________________________________________________________________________________________

10 Future Work
There are often things that could be futher investigated. Below are some tasks that could be
performed to extend this work futher.

• Future work would be to purchase PVR, Tivo and ReplayTV and then compare and evaluate their
user interface.

• A more practical evaluation of the different database connection.

• Use the web based EPG in as small field trial with real channel information stored at the database.

• Complete the two buttons, sök and inställningar in the EPG prototype.

Web based EPG 52


Conclusion and Discussion
__________________________________________________________________________________________

11 Conclusion and Discussion


Those EPG that where found had very similar interface and functions. Users can base their search on
channel, date, category or time, and some also have the possibility to search with free text among
these channels. Another common function is that the user can choose to display information of only
those channels that he/she is interested in. For example when a user want to se what is transmitted
right now, channels that the user do have access to, will not be viewable. The channel information is
often either for what is on right now or information for one day ahead.

The channel information for these channels can be found in several companies. The major companies
that sells gathered channel information are TVData, Infomedia, and Avisa Centralredaktion AB. Both
Infomedia and Avisa have channel information that are common to the Swedish viewers and from
where channel information could be bought for a future web based EPG. The largest of these three
are TVData, but unfortunately it is not confirmed if they have any of the most common channels
viewable to the Swedish households. Two other companies that exist on the Swedish market are
Tjohoo AB and Rockitmedia HB, but Tjohoo only have the information for internal use, but
Rockitmedia have some channel information that extern companies can use.

The connection between the database that contains the channel information and the server where the
EPG is placed, where also examined. With the assumption that the EPG is installed at one server and
the database are placed in another server. The best driver would be the fastest one and not the most
flexible one. For JDBC, the best driver would be the Native-API partly-Java driver, and for ODBC, the
Two-tier-architecture. Should flexibility have higher priority then speed. Then my recommendation
would for JDBC be the Database Middleware Net-protocol all-Java driver, and for ODBC the Three-
tier-architecture.

When constructing an EPG, there are several platforms to chose form. In the evaluation between
creating the EPG with web based tools or use OpenTV or MediaHighway, there were more
advantages for creating a web based EPG. These is no license per set-top box with web based tools,
the different script languages are well known. It is more suitable for e-commerce, since commercials
with the EPG would be no different that the commercials that exists on for example, the Swedish
newspaper Aftonbladet. Also the assumption that these proprietary APIs will have difficulty to support
future interactive services.

The disadvantage with creating the EPG with web based tools. Is that the number of users will affect
the load on the network. When many users at the same time access the web based EPG, the load on
the network will increase and could be a bottleneck. This is not a problem for OpenTV or
MediaHighway, since their EPG is broadcast to all their users.

The products from TiVo and ReplayTV have very similarly functions, price and storage capacity, and it
will in my opinion be their interfaces that will separate them. Their functions will be well used but the
size of the hard disk is to small and the price is to high to penetrate the mass market. During the
evaluation of these products the price has gone down from $999 to $399 (TiVos HDR312). With that
price they are almost in the same pricerange as the ordinary VCR today, but offer much more
functions. So a replacement of the existing VCRs with the PVR will certainly occur. When comparing
these two products with server based VOD. It was the PVR that had the most advantages for the
client, for example they offer better functions, the user has more control over the movies and the client
latency is smaller. Also when the users makes a request or want to change its present selection of
movie, the load on the network will not be affected.

Web based EPG 53


References
_________________________________________________________________________________________

12 References
[1] Enstedt E. (1988). TV-teknikens grundläggande principer. Lund : Studentlitteratur
ISBN 91-44-27931-0
[2] Hellström J. (1958). Radioteknikerns handbok: TV-teknik. Stockholm: Teknografiska inst.
[3] Radio och tv-verket. (1999). En guide till digital-tv. Stockholm: Elanders Gotab. ISBN
91-630-7841-4
[4] Kabeltv (1999). Basfakta
URL: http://www.kabeltv.se/fakta/basfakta/index.htm (1999-11-16)
[5] Teracom (1999). TV och radio – hur fungerar det
URL: http://www.teracom.se/ (1999-11-16)
[6] Nordling E. (1999) adsl Datateknik, 10, 24-28.
[7] NOR.WEB (1999) Architechture
URL: http://www.nor.webdpl.com (1999-08-10)
[8] Tele2 (1999). El och Internet i samma nät
URL: http://www.tele2.se/tele2nytt/nr2_99/nyheter.html (1999-11-16)
[9] Mellgren E. (1999). Nytt superchip ger billig bredband i vanlig koppartråd.
NyTeknik, 45, 11.
[10] Edström A. (1998) VDSL blir åtta gånger snabbare än ADSL.
URL : http://www.elektroniktidningen.se/arkiv/1998/9812/2.html ( 1999-11-15)
[11] Bredbandsbolaget (1999) Ständig uppkoppling till fast pris
URL : http://www.bredband.com/node85.asp (1999-11-15)
[12] Bredbandsbolaget (1999) Bredbandsbolaget förvärvar TeleCyber
URL : http://www.bredband.com/files/pressreleases/PR_991011.html ( 1999-11-15)
[13] TeleCyber (1999). Teknik
URL : http://www.telecyber.se/teknik.html ( 1999-11-15)
[14] UUNET (1999). The Network
URL : http://www.uk.uu.net/company/network/ (1999-11-15)
[15] InfraNET (1999). Produkter
URL : http://www.infranet.se/produkter/produkter.html (1999-08-02)
[16] Video International Development Corporation. (1999). World Television Standards.
URL: http://www.videointernational.com/Standards.html (1999-11-17)
[17] Claymon D. (1998). ONE TO WATCH, Red Herring, August 1998.
URL : http://www.redherring.com/mag/issue57/watch.html (1999-09-10)
[18] Electronic Publishing Services (1997). Time-Warnet finally closes Orlando FSN
URL : http://www.epsltd.com/eps/database/imi/may97/timew.html (1999-06-11)
[19] USA Today (1999). Tech Rewiews: Devices give TV viewers new options
URL: http://www.usatoday.com/life/cyber/tech/review/cte749.htm (1999-11-25)
[20] TiVo (1999). This is the manual for the TiVo Software. Version 1.2.1
URL: http://www.tivo.com/care/manual.html (1999-11-26)
[21] TiVo (1999). TiVo Tour
URL: http://www.tivo.com/what/intro.html (1999-11-25)
[22] TiVo Manual (1999). Example Connections
URL: http://www.tivo.com/care/appa_2c.html#connection8 (1999-11-25)
[23] TiVo (1999). Product specification
URL: http://www.tivo.com/what/how2.html (1999-11-25)
[24] TiVo (1999). FAQ
URL: http://www.tivo.com/what/faq_sub.html#q01 (1999-11-26)
[25] TiVo (1999). TiVo News
URL: http://www.tivo.com/what/news.html (1999-09-21)
[26] Press kit and brochure from ReplayTV
[27] ReplayTV (1999). Technical FAQ
URL: http://www.replaytv.com/support/techfaq.html (1999-10-15)
[28] ReplayTV (1999). Specification
URL: http://www.replaytv.com/replaytv/specs.html (1999-07-02)

Web based EPG 54


References
_________________________________________________________________________________________

[29] ReplayTV (1999) FAQ


URL: http://www.replaytv.com/replaytv/faq.html (1999-07-13)
[30] ReplayTV (1999). News
URL: http://www.replaytv.com/news/index.html (1999-11-26)
[31] Casner S. Jacobson V. (February 1999). Compressing IP/UDP/RTP Headers for Low-Speed
Serial Links. RFC 2508
URL: http://www.faqs.org/rfcs/rfc2508.html (1999-11-30)
[32] Schulzrinne H. Casner S. Frederick R. Jacobson V. (January 1996). RTP: A Transport
Protocol for Real-Time Applications. RFC 1889
URL: http://www.faqs.org/rfcs/rfc1889.html (1999-11-25)
[33] Miller C.K. (1999) Multicast Networking and Applications. Reading, Mass.: Addison-Wesley
ISDN: 0-201-30979-3
[34] RealNetworks (1998). Real Time Streaming Protocol (RTSP) into firewalls, proxies, and
other intermediary devices. ver2.0.
URL: http://docs.real.com/docs/proxykit/rtspd.pdf (1999-11-18)
[35] Rescorla E. Schiffman A. (August 1999). The Secure HyperText Transfer Protocol.
RFC 2660
URL: http://www.faqs.org/rfcs/rfc2660.html (1999-11-18)
[36] NorDig (2000) NorDig Specifications
URL: http://www.svt.se/nordig/NorDig1_2.pdf (2000-02-02)
[37] Peterson L. L. & Davie B. S (1996). Computer Networks. San Francisco, Calif.: Morgan
Kaufmann Publishers. ISBN: 1-55860-368-9
[38] Information Sciences Institute.(September 1981). TRANSMISSION CONTROL PROTOCOL,
RFC 793
URL: http://www.faqs.org/rfcs/rfc793.html (1999-11-16)
[39] Fluckiger F. (1999) Understanding networked multimedia: applications and technology.
London: Prentice-Hall, ISDN: 0-13-190992-4
[40] Deering S. (August 1989). Host Extensions for IP Multicasting, RFC 1112
URL: http://www.faqs.org/rfcs/rfc1112.html (1999-11-30)
[41] Handley M. & Jacobson V. (April 1998). SDP: Session Description Protocol, RFC 793
URL: http://www.faqs.org/rfcs/rfc2327.html (1999-11-28)
[42] Bengtsson M. & Bensow. A. & Radifinia S. (1998). Kriterier för databasval. Uddevalla:
Högskolan Trollhättan/Uddevalla Examensarbete Systemvetenskap, SV1998:14)
[43] Danielsen A. (1999). The Evolution Of Data Models And Approaches To Persistence In
Database Systems.
URL: http://www.hin.no/~asd/publications/essay.html (1999-11-30)
[44] SUN Microsystem (1999). The JDBC API.
URL: http://java.sun.com/marketing/collateral/jdbc_ds.html. (1999-11-25)
[45] Callahan T. (1999). So you want a stand-alone database for Java.
URL: http://www.sys-con.com/java/feature/3-12/standalonedbforjava/index_b.html (1999-11-30)
[46] Weblogic (1999). Choosing a Java Database Connectivity driver.
URL: http://www.weblogic.com/docs/techoverview/jdbc.html (1999-11-25)
[47] Nance B. (1999). Examining The Network Performance Of JDBC.
URL: http://www.networkcomputing.com/810/810ws2.html (1999-11-30)
[48] Reese, G. (1997). Database Programming with JDBC and Java. Cambridge: O'Reilly
ISBN: 1-56592-270-0
[49] Atkinson Leon. (1999). Core PHP programming; using PHP to build dynamic web sites. NJ:
Prentice Hall PTR. ISBN 0-13-020787-X
[50] Bakken, S.S & Aulbach, A. & Schmid, E. & Winstead, J. & Wilson, L.T.& Lerdorf, R &
Suraski, Z. (1999). PHP Manual.
URL: http://www.php.net/manual/ (1999-11-08)
[51] Fleischman R. (1999). NETSCAPE ONE TOOLS OVERVIEW.
URL: http://developer.netscape.com:80/viewsource/archive/tools2.html (1999-11-16)
[52] Chappell D. (1996). Understanding ActiveX and OLE.
U.S.A: Microsoft Press
[53] Williams A. & Barber K. & Newkirk P. (1998). Active server pages black book. Albany, NY :
Coriolis ISBN 1-57610-247-5
[54] Hettihewa S. (1999). Lär dig Active Server Pages på 3 veckor. Sundbyberg : Pagina ISBN:
91-636-0522-8

Web based EPG 55


References
_________________________________________________________________________________________

[55] Microsoft (1999). DCOM.


URL : http://msdn.microsoft.com/isapi/msdnlib.idc?theURL=/library/psdk/dasdk/mdad2jsd.htm
(1999-11-16). Microsoft ActiveX Data Object , Glossary
[56] Goodwin Peggi. (1998). COM, ActiveX Controls, and Microsoft Windows CE. Microsoft
Corporation
URL: http://msdn.microsoft.com/library/backgrnd/html/msdn_cecomactx.htm (1999-11-16)
[57] Nokia (1999). Nokia Mediamaster 9730 C.
URL: http://www.nokia.se/
[58] Trott F. (1998). Enhanced TV. Linköping: Linköping Universitet. Examensarbete LiTH-IDA-
Ex-98/49
[59] ReplayTV (1999). Watch Replay in action
URL: http://www.replaytv.com/demo/index.html (2000-01-15)
[60] Tjohoo AB (2000). TV-Guiden
URL: http://www.tjohoo.se/tv_guiden/ (2000-01-15)
[61] Tvprogram.nu (2000). TV-Guide
URL: http://www.tvprogram.nu/ (2000-01-15)
[62] DagensTV (2000). Tvguide
URL: http://www.dagenstv.com/ (2000-01-15)
[63] Svenska Dagbladet (2000). TV-GUIDEN
URL: http://www-tv.svd.se/ (2000-01-15)
[64] Spray AB (2000). SprayTV
URL: http://www.spray.se/tv/ (2000-01-15)
[65] Microsoft (2000). ODBC Programmers Reference
URL : http://msdn.microsoft.com/ (2000-01-15)
MSDN Library – Platform SDK – Data Access Services – Microsoft Data Access Components (MDAC) SDK –
Microsoft Open Database Connectivity (ODBC) - ODBC Programmers Reference
[66] [G] Geiger K. (1995). Inside ODBC. U.S.A: Microsoft Press
[67] Sen S. & Rexford J. & Towsley D. (1998). Proxy Prefix Caching for Multimedia Streams.
Massachusetts: University of Massachusetts. Technical Report 98-27
[68] Sen S. & Dey J. K. & Towsley D. & Kurose J. F. & Salehi J. D. (199X). Playback restart in
interactive streaming video applications. Massachusetts: University of Massachusetts
(Department of Computer Science).
[69] Eager D. L. & Ferris M. C. & Vernon M. K. (1998). Optimized Regional Caching for On-
Demand Delivery
[70] DVB (2000). DVB Home page
URL: http:www:dvb.org (2000-01-24)
[71] Communications LAB (1999). DVB Digital Versatile Broadcasting
URL: http://lab1.commslab.gov.au/lab/lectures/factsdvb/macavock1/ppframe.htm
[72] Allaire Corporation (1999). ColdFusion White Paper version 4.5
URL: http://www.allaire.com/Products/ColdFusion/productinformation/ (2000-02-19)
[73] Allaire Corporation (1999). General Information FAQ
URL : http://www.allaire.com/products/coldFusion/generalInformation/FAQs/ (2000-02-19)
[74] Java Development Kit (JDKTM) (2000). Signed Applet Example
URL : http://java.sun.com/security/signExample/ (2000-03-28)
[75] Hunter J. & Crawford W. (1998). JAVA Servlet Programming Sebastopol, CA : O'Reilly
ISBN: 1-56592-391-X
[76] Goodman D. (1998). JavaScript bible Foster City, Calif. : IDG Books Worldwide
ISBN: 0-7645-3188-3
[77] Abraham .M (1999). Consumer Set-top box Operating System.
Report no MM9902MI. Cahners In-Stat Group.
URL: http://www.instat.com/abstracts/mm/1999/mm9902mi_abs.htm (2000-04-06)
[78] OpenTV (2000) Products. URL : http://www.opentv.com/products/systems/#en (2000-04-06)
[79] Torris T (Feb 2000). Europes iDTV Walls Come Down. The Forrester Report
URL : http://www.forrester.com
[80] Canal+ Technologies (2000). MEDIAHIGHWAY
URL : http://www.canalplus-technologies.com/media/mediahighway.html
[81] Aftonbladet (2000). AftonbladetTV
URL: http://www3.aftonbladet.se/tv/justnu.asp (2000-05-16)

Web based EPG 56


References
_________________________________________________________________________________________

Verbal reference list

Schüler Eleonor, Kundtjänst , Teracom,


Geoffroy Kelly, sales request , Replay Networks
Murray Kevin , General Info Request , Replay Networks
Andersson Marcus, Kundtjänst, Teracom AB
Murray Michelle, Nortel Networks Corporation
Lidholm Ola, Nokia, Contact: ola.lidholm@nokia.com
Rexford Jennifer Rexford, AT&T Labs Research
Kroon Per, Telia Infomedia Television AB
Gustavsson Anneli, Telia Infomedia Television AB
Mican Fredrik, Editor-in-chief Tjohoo.AB
Nordebo Peter Editor-in-chief Avisa Centralredaktion AB
Sohlberg Joakim SvD
Palmqvist Johan ,Digital TV, SVT
Jacobsson Ewa, Creative Director, Comhem AB
Fuller Brad, Senior Product Manager – OS Products, OpenTV
Andersson Jonas, Senior Product Specialist – Java, SUN Microsystems AB
Marchal Pierre, Account Manager, OPEN TV

Web based EPG 57


Appendix
_________________________________________________________________________________________

Appendix

Existing web based EPG


Here is a list and pictures of the Swedish web based EPG that where found.

Tjohoo TVPROGRAM.NU
Its own by Tjohoo AB : This is own by Rockitmedia

Figure 10-1 Tjohoo´s EPG [60] Figure 10-2 TVProgram.nu´s EPG [61]

DagensTV TV-GUIDEN
This EPG is own by Avisa Centralredaktion AB Svenska Dagbladet (SvD) owns this EPG.

Figure 10-3 DagensTV´s EPG [62] Figure 10-4 SvD´s EPG [63]

Spray owns this EPG Aftobladet owns this EPG

Figure 10-5 Spray´s EPG [64]

Figure 10-6 Aftonbladet´s EPG [81]

Web based EPG 58


Appendix
_________________________________________________________________________________________

In figure 10-7 shows a survey of the different EPGs that where found.

Amount of Number of Language The develop Create user Search


channel channels sent to client environment profiles parameters
information
Tvprogram.nu 1 day 52 HTML, CGI No Time, category
JavaScript and
Free text.
Tjohoo 1 week 24 HTML, PHP3 No Day, time and
JavaScript category
SprayTV 3 days 25 HTML, JSP No Time and
JavaScript category
DagensTV 2 weeks 82 HTML ASP Yes Channel,
category, time
and day
SvD 8 days 99 HTML, CGI Yes Channel,
JavaScript category, start
and stop time.
Aftonbladet 2 weeks 63 HTML, ASP Yes Channel,
JavaScript category, time
and day

Figure 10-7 EPG overview

Script environments for creating EPG

ASP
ASP (Active Server Page) is a server-side environment in Microsoft Internet Information Server (IIS).
An active server page is a page that contains server-side script and html. ASP can also have a mix of
server-side and client-side script.

The ASP environment comes with six build-in components, se figure 10-7. It is also possible to create
your own ASP components. To create components any language that can create an ActiveX
component can also be used for creating ASP components. The file extension for an active server
page file is asp.

Figure 10-7 The build-in components in ASP [54]

Web based EPG 59


Appendix
_________________________________________________________________________________________

When a client request an asp-file, that file will be passed by the IIS to the script engine for processing,
and the result as well as the HTML is sent to the client. Any server-script language can be used
provided that the server has the appropriate scripting engine. The default language for IIS is VBScript
but other languages like JScript, PHP and JavaScript can also be used, since the appropriate scripting
engine exist [53].

Scripts can be used together with Java applets and ActiveX controls to increase the web pages
functionality. Both Java applets and ActiveX controls can be defined as object-oriented applications or
just objects. Since objects like Applets and ActiveX are set in HTML, using the OBJECT tag. There is
no dependency of the script language used with HTML. The object on the other hand has to be
supported by the browser. Internet Explorer (IE) supports ActiveX controls and both Netscape
Navigator and IE support Java applets. Netscape can support some ActiveX controls by using a
special plug-in [51].

There exist two different types of ActiveX controls. Server based and client based controls. Server
based ActiveX controls are also called ActiveX components and they are independent of the web
browser that the user is running, since the component is executed on the web server. But with client
based ActiveX controls, the clients web browser needs to support it. Since this type of control is
executed on the client.

There is a different regarding the download between ActiveX and Applets. An ActiveX control is
downloaded only once while Applets will be re-loaded every time. The only time ActiveX controls have
to be re-downloaded to a user machine is when a new version comes out. When the browser
encounters a web page with an ActiveX control it first checks the users local system registry to find out
if that component is available on the machine. If it is available, the browser displays the page and
activates the control. If the control is not already installed on the user machine, the browser
automatically find and install the component over the web, based on the location specified by the
developer creating the page. What separates the different applets and ActiveX controls is that applets
have different class name and each ActiveX controls have a unique classid (clsid).

To access a database, objects in the COM object, ADO (Active Data Objects) is used. The main
objects in the ADO that is involved with accessing a database, is the Connection and Recordset object
[54]. At first the server component creates the connection object and uses that object to open a
database. The SQL expression is sent and an object of Recordset is created to handle the reply from
the database. ASP can access information stored in any Database connection can be made to any
ODBC data source.

ActiveX history
It started with OLE 1, (Object Linking and Embedding) a technology for creating compound
documents. For example a user could combine a spreadsheet created with Excel, to a text document
created with Word. While OLE's first release was focused solely on compound documents, the next
release, OLE2, introduced COM [56]. COM grew out of the OLE architects desire to provide a more
general mechanism for allowing one piece of software to provide services to another. While OLE2 was
the first technology to use it, COM is not really tied to compound documents in any significant way.
And COM began to be used in technologies that had nothing whatsoever to do with compound
documents.

Microsoft then decided to reduce the name OLE to every technology that used COM. Microsoft drop
the version number and decided that the term should no longer be viewed as an acronym. In the
spring of 1996, Microsoft chose the name ActiveX to be associated with technologies related to the
Internet and applications that grew out from the Internet. Then ActiveX began to absorb more and
more of the territory of OLE and today the term OLE again refers only to the technology for creating
compounds documents. And new technologies that are based on COM are now tagged with ActiveX
instead of OLE.

COM (Component Object Model) is Microsoft's component software architecture. It is the foundation
upon which OLE and ActiveX are based on. COM defines a standard way for a peace of software to
provide services to another, regardless of the language the software is written in. Because COM

Web based EPG 60


Appendix
_________________________________________________________________________________________

defines a binary interface that objects must support, COM is independent on the programming
language.

Every COM object, se figure 10-8 has interfaces where the object services are accessible. And every
interface provides one or several methods.

Figure 10-8 A COM object [52]

DCOM (Distributed Component Object Model) is an extension of COM [52] that allows applications
and components to communicate with each other over a network, se figure 10-9. The extension is a
wire protocol [55] where Remote Procedure Call (RPC) is used. When a client makes a call to a
component, it will appear to be a local call. But the call is executed at some object across the network.

Figure 10-9 Application accessing COM objects [52]

PHP3
PHP (Personal Home Page) is one of many server-side script technologies where html is embedded
with the script language. The PHP language is built on C and Java, where the much of the functions in
those languages are available, and the possibility to create classes and instances of them (objects)
also exist. One large advantage is the platform independence, PHP can be run on UNIX, Windows 98,
Windows NT and Macintosh, without code alteration [50], and all pages with PHP script will have the
file extension php3. PHP is free and the complete source code can be downloaded form the PHP web
site. The language was developed in 1994 by Rasmus Lerdorf, and the first version used by others
was available in early 1995. Today there are about 150000 web sites that are using PHP.

PHP is designed to integrate with the apache web server but it works well with other web servers too
[49]. When a page with PHP script is requested, the PHP engine first executes the script. The script
will generate some html code that will be sent by the web server to the user that made the requested.
PHP exist as a tag inside HTML file and it begins with <? And ends with ?>. All the text inside these
tags is expected to be PHP code, PHP offers two other ways to mark the code.

< ? php … ?>

<script language = ”php”>


</script>

Web based EPG 61


Appendix
_________________________________________________________________________________________

Supported databases
PHP can be used to access many different databases. Some of the databases that PHP can access to
are MySQL, Sybase, and Microsoft SQL Server. When a user want to access a database, it first
connects to the server with username and password. Then the user select that database it want
access to.

Coldfusion
Coldfusion is a web application server with support of serveral different technologies, which is
presented in figure 6-11. ColdFusion have its own language for creating application that can e.g.
communicate with a database. The language is called CFML (ColdFusion Markup Language) and it is
a server-side script. Its syntax resembles closely to HTML.

Figure 10-10 ColdFusion application processing [72]

Figure 10-10 also shows the scenario when a client makes a request. The different stages are
explained below.

1. The client sends an HTTP request by its web browser. This request is sent via the Internet or an
Intranet.
2. The web server will pass the request to the appropriate ColdFusion page and through the server
API it will then send this to the ColdFusion Server.
3. The server processes the CFML in the page and will interact with the desired application, which
could be a database, SMTP servers or other applications.
4. After the interaction, Coldfusion will dynamically generate an HTML web page, which is returned
to the web server.
5. The web server returns the page that was generated back to the user.

Supported databases
ColdFusion supports integration with databases through ODBC and native database drivers for Oracle
and Sybase [73]. But before a client can use any of the native drivers he/she has to install client
database software for the particular database. For example, to use the Oracle 8.0 database, users
have to install the Oracle 8.0 client.

The platforms that ColdFusion are supported are Windows 95/98, Windows NT and Solaris. Support
for Linux is planned in future releases. Some of the web servers that ColdFusion supports are
Microsoft Internet Information Server, Netscape Enterprise Server and Apache.

Web based EPG 62


Appendix
_________________________________________________________________________________________

JavaScript
Netscape developed this language in 1995 in parallel with their web server. It was originally named
LiveScript and the database connectivity was named Livewire. Later the same year, Netscape and
Sun announced that the language thereafter would be named JavaScript. JavaScript can be used as
both client side and server side script [76]. The different between them are that server side scripting
performs the processing on the server and pushes pure html to the client. When the client through its
browser requests a page with client side script, the server sends the full content of the document,
including HTML and the script statements, over the network to the client. The client will read the page
from top to bottom and then displays the result of the HTML and execute the script statements. This
means that the browser that the client is using must have support for the script.

At the developer stage when creating the necessary HTML pages with the server side script. The files
are compiled into bytecode executable files. When the client’s browser requests the application, the
runtime engine will dynamically generate the HTML page and run any server-side JavaScript
statements found on the page. It then sends the resulting page over the network to the client, where
the result will be displayed.

It is possible to connect to a database with Livewire using server side script. The different kinds of
databases that are possible to connect to are Oracle, Sybase, Informix, DB2, or any ODBC standard
database.

Web based EPG 63


Abbreviations

Abbreviations

ADSL Asymmetric Digital Subscriber Line

API Application Programming Interface

ATM Asynchronous Transfer Mode

DBMS Database management system

DSLAM Digital Subscriber Line Access Multiplexor

DVB Digital Video Broadcast

EPG Electronic Program Guide

JDBC Java Database Connectivity

MHP Multimedia Home Platform

MPEG Moving Picture Expert Group

NorDig Nordic Digital Television

NTSC National Television Systems Committee

ODBC Open Database Connectivity

PAL Phase Alternation Line

PVR Personal Video Recorder

SECAM Sequentiell a’emoire

STB Set-top Box

VDSL Very high date rate Digital Subscriber Line

VOD Video-On-Demand

Web based EPG 64

You might also like