Professional Documents
Culture Documents
MASTER'S THESIS
Stefan Johansson
Civilingenjörsprogrammet Datateknik
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
12 REFERENCES.................................................................................................................................. 54
APPENDIX ................................................................................................................................................... 58
Existing web based EPG ............................................................................................................................. 58
Script environments for creating EPG ......................................................................................................... 59
ABBREVIATIONS....................................................................................................................................... 64
Figures
__________________________________________________________________________________________
Figures
1 Introduction
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
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.
• 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.
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.
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.
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.
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.
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.
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.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
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.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.
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.
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.
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.
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.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.
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.
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.
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.
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
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.
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).
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.
Below are example of set-top boxes that has an electronic program guide built in. These boxes are
built to receive digitally signals.
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.
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.
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].
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]
The Phone line: Uses TiVos built-in modem to get software updates and new program listings.
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.
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.
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.
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.
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
Functions
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.
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.
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]
Introduction
Feature ReplayTV TiVo
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)
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
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
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.
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.
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
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.
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).
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
playback buffer to be filled until resuming playback, will result in a high latency after performing an
interactive operation.
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.
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.
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.
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
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.
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].
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.
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.
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.
• 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.
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.
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
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.
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
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
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
Remote control
Is it possible to control the EPG with a remote control.
Web based Yes
OpenTV Yes
MediaHighway Yes
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.
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.
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.
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.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.
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
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].
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.
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.
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.
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.
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.
• Application: The application is the program that processes the data. It call ODBC functions to
submit SQL statements and retrieve results.
• 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.
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.
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.
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.
• 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.
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.
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
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.
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.
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.
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.
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
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.
• 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.
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.
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)
Appendix
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]
In figure 10-7 shows a survey of the different EPGs that where found.
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.
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
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.
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.
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.
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 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.
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.
Abbreviations
VOD Video-On-Demand