web based epg1015266/fulltext01.pdf · electronic program guide to find the shows they are...

71
Stefan Johansson Web Based EPG 2001:024 MASTER'S THESIS Civilingenjörsprogrammet Datateknik Institutionen för Systemteknik Avdelningen för Programvaruteknik 2001:024 • ISSN: 1402-1617 • ISRN: LTU-EX--01/024--SE

Upload: others

Post on 22-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Stefan Johansson

Web Based EPG

2001:024

MASTER'S THESIS

Civilingenjörsprogrammet Datateknik

Institutionen för SystemteknikAvdelningen för Programvaruteknik

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

Page 2: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

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

I would like to thank both Niclas Klack and Magnus Nilsson who where my supervisors at TeliaResearch. I had Magnus during the first two month of my master thesis and Niclas during the rest ofthe time. From them I got valuable feedback and support during my work. I also would like to thank myexaminer, Roland Parviainen at Luleå University of Technology, for shown interest and support.

Page 3: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Abstract

As the number of available channels is increasing, new ways to help users find programs they want tose has developed. Instead of using a paper based TV-guide or the teletext, users can use anelectronic program guide to find the shows they are interested in.

The Swedish existing web based EPG (Electronic program guide) that where found, are all verysimilarly regarding both interface and functions, and the overall function is the one that shows what ison all the channels, right this second. The channel information for these channels can be found inseveral companies, but the most interesting is TVData, Infomedia and Avisa. To connect the databasecontaining the channel information with the server holding the EPG, a database driver is required. Themost 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. Whencomparing web based EPG with EPGs from OpenTV and MediaHighway. There are more advantagesfor using web based tools when creating an EPG, like no licence and that the developing language iswell 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 canbe seen as the future VCR as they have several interesting functions and store all the movies on aninternal 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 willseparate these two. These products that can be seen as local-on-demand also have more advantagescompared with server based video-on-demand.

Page 4: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

SammanfattningAllt eftersom de antal kanaler som blir tillgängliga för hushållen ökar hela tiden. Kommer behovet avett hjälpmedel för att hitta de önskade programmen att behövas. Istället för att använda sig av enpappers baserad TV-guide eller texttv, så kommer en elektronisk TV-guide, dvs en elektroniskprogram guide att användas. Med en sådan kommer användaren kunna söka bland kanalerna genomatt 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ådeutseende och funktion. Den gemensamma funktionen som de har är att de kan visa vad som sändsjust nu på alla kanaler. Själva kanal informationen till dessa elektroniska program guider finns på fleraställen, men de mest intressanta bolagen är TVData, Infomedia och Avisa. För att kunna koppla endatabas med sådan information till en server där EPG:n finns, krävs det en databaskoppling. Denmest 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 harutvärderat är den webbaserade, OpenTV och MediaHighway. Det är flera fördelar för att utvecklingenskall 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 samtidaanvä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 somframtidens videoappart, dock med fler intressanta funktioner samt att de lagrar alla program på enhårddisk. TiVo och ReplayTV har nästa samma funktioner och samma pris. Så vad som kommer attskilja dessa två är hur användarvänliga deras funktioner kommer att uppfattas. Dessa produkter kanses som local-on-demand och har även flera fördelar jämfört med serverbaserad-on-demand.

Page 5: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Contents__________________________________________________________________________________________

Web based EPG

Table of Contents

1 INTRODUCTION................................................................................................................................... 1

1.1 About Telia ....................................................................................................................................... 11.2 Background....................................................................................................................................... 11.3 Purpose ............................................................................................................................................. 11.4 Objectives ......................................................................................................................................... 21.5 Demarcation...................................................................................................................................... 21.6 Chapter description............................................................................................................................ 3

2 INTRODUCING TELEVISION............................................................................................................. 4

2.1 Analogue Television.......................................................................................................................... 42.2 Digital Television.............................................................................................................................. 42.3 Distribution networks ........................................................................................................................ 5

2.3.1 Terrestrial ................................................................................................................................. 52.3.2 Satellite ..................................................................................................................................... 52.3.3 Cable......................................................................................................................................... 62.3.4 Back channel ............................................................................................................................. 6

2.4 Future alternatives ............................................................................................................................. 62.4.1 ADSL......................................................................................................................................... 62.4.2 Mains ........................................................................................................................................ 72.4.3 VDSL......................................................................................................................................... 82.4.4 Ethernet LAN............................................................................................................................. 82.4.5 High-Quality ATM..................................................................................................................... 8

2.5 Television improvements................................................................................................................... 92.5.1 Internet TV ................................................................................................................................ 92.5.2 Enhanced TV ............................................................................................................................. 9

2.6 Television standards .......................................................................................................................... 92.6.1 Television system ..................................................................................................................... 102.6.2 Frame creation ........................................................................................................................ 11

3 STANDARDS........................................................................................................................................ 12

3.1 NorDig............................................................................................................................................ 123.2 DVB ............................................................................................................................................... 12

4 SET-TOP BOX...................................................................................................................................... 13

4.1 Types of set-top boxes ..................................................................................................................... 134.2 Future set-top box............................................................................................................................ 13

5 VIDEO-ON-DEMAND ......................................................................................................................... 14

5.1 The first VOD network.................................................................................................................... 145.2 TiVo & ReplayTV........................................................................................................................... 14

5.2.1 TiVo ........................................................................................................................................ 155.2.1.1 Connections ..................................................................................................................................155.2.1.2 Back panel.....................................................................................................................................155.2.1.3 Remote control..............................................................................................................................165.2.1.4 Description of TiVos functionality.................................................................................................17

5.2.2 ReplayTV................................................................................................................................. 185.2.2.1 Remote control..............................................................................................................................185.2.2.2 Description of ReplayTVs functionality ........................................................................................19

5.2.3 Comparison chart .................................................................................................................... 205.2.4 Conclusions ............................................................................................................................. 22

5.3 Protocols ......................................................................................................................................... 225.4 Server based vs local based video-on-demand .................................................................................. 27

5.4.1 Advantage for local based system compare to server based system ........................................... 275.4.2 Disadvantage for local compare to server based....................................................................... 275.4.3 Conclusions ............................................................................................................................. 27

5.5 Improvements for server based video-on-demand............................................................................. 285.5.1 Proxy caching.......................................................................................................................... 28

Page 6: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Contents__________________________________________________________________________________________

5.5.2 Playback restart....................................................................................................................... 295.5.3 Skyscraper multicast ................................................................................................................ 30

6 EPG ....................................................................................................................................................... 31

6.1 Transmitting EPG information to a STB .......................................................................................... 316.2 Channel Information........................................................................................................................ 316.3 Telia Infomedia ............................................................................................................................... 326.4 Different platforms for EPG ............................................................................................................ 33

6.4.1 OPENTV.................................................................................................................................. 346.4.2 MEDIAHIGHWAY................................................................................................................... 356.4.3 Web based ............................................................................................................................... 36

6.5 Comparing these EPG platforms with web based EPG ..................................................................... 366.5.1 The market............................................................................................................................... 386.5.2 Conclusions ............................................................................................................................. 386.5.3 Future ..................................................................................................................................... 39

7 DATABASE .......................................................................................................................................... 40

7.1 Database Models ............................................................................................................................. 407.1.1 Flat file.................................................................................................................................... 407.1.2 The Hierarchical Model........................................................................................................... 407.1.3 The Network model .................................................................................................................. 407.1.4 The Relational Model............................................................................................................... 407.1.5 The Object-Oriented Model...................................................................................................... 407.1.6 The Object-Relational Model ................................................................................................... 41

7.2 DBMS............................................................................................................................................. 417.3 Database connection........................................................................................................................ 41

7.3.1 JDBC ...................................................................................................................................... 417.3.1.1 Drivers ...........................................................................................................................................427.3.1.2 Performance..................................................................................................................................437.3.1.3 Conclusions...................................................................................................................................44

7.3.2 ODBC ..................................................................................................................................... 447.3.2.1 Drivers ...........................................................................................................................................457.3.2.2 Conclusions...................................................................................................................................46

8 CONSTRUCTION OF THE EPG ........................................................................................................ 47

8.1 Language for EPG........................................................................................................................... 47

9 THE WEB BASED EPG PROTOTYPE .............................................................................................. 49

9.1 Language ........................................................................................................................................ 499.2 Architecture .................................................................................................................................... 499.3 Components .................................................................................................................................... 499.4 The EPG interface ........................................................................................................................... 50

10 FUTURE WORK .............................................................................................................................. 52

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

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

APPENDIX ................................................................................................................................................... 58

Existing web based EPG ............................................................................................................................. 58Script environments for creating EPG ......................................................................................................... 59

ABBREVIATIONS....................................................................................................................................... 64

Page 7: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Figures__________________________________________________________________________________________

Web based EPG

Figures

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

Page 8: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introduction__________________________________________________________________________________________

Web based EPG 1

1 Introduction

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

The task for Telia Research are according to their own brochure, to develop new product- andbusiness-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 forthe moment three different research and development areas. These areas are communicationservices, information services and net services. My master thesis has been performed at TeliaResearch in Nynäshamn, in an area called Hemmet & Media, which is a part of the communicationservices area.

1.2 BackgroundThe 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 anewspaper. Since the people only had to search through information for two channels, it was noproblem to find the show he/she wanted to watch. But when it was possible to transmit channelsthrough satellite and cable, special paper based TV-guides, was created. So the people would have allthe channel information gathered at one place. Since the number of channels that people subscribe tocontinues to increase, a new way to find the desired program has been developed. Instead of usingthe paper-based guide, an EPG (Electronic Program Guide) can be used. With the electronic programguide 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 programguides, some of them are web based guides and exist on the Internet. Others like Telias cablecompany, Comhem have an electronic program guide, which have been constructed using anapplication program interface from OpenTV.

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

1.3 PurposeThe project at Telia Research that this master thesis is performed in are involved in streamingtelevision programs over the Internet protocol. They are interested in offering an electronic programguide 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 markettoday, but are intended for other platforms. An evaluation regarding the areas concerning the webbased electronic guide needs to be done. This involves investigation of where the channel informationcan be found and which database connection to prefer. Also perform a comparison between an

Page 9: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introduction__________________________________________________________________________________________

Web based EPG 2

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

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

1.4 ObjectivesThe following tasks are the objectives with this master thesis.

• Examining existing EPGs and databases with channel information

• Investigate different types of database connections

• Compare web based EPG with EPGs developed for other platforms

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

• Construct an EPG

1.5 DemarcationThere are three ways to transport the EPG and the channel information to the users. One way is tohave the EPG and the channel information transmitted with the same stream as the audio and thevideo. This is how the cable companies are doing it today. Another way is to just send the EPG withthe audio and video stream, and have all the channel information sent to the user, using IP. Whichusers will received by a modem in the set-top box. The final way would to have both the EPG and thechannel 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 isbased on that procedure.

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

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

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

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

Page 10: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introduction__________________________________________________________________________________________

Web based EPG 3

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

1.6 Chapter descriptionSection 2 gives an introduction to the television terminology. Here the existing techniques fortransmitting television programs and some future ways are explained. Chapter 3 describes someorganisations that are working with standards mainly in the area of digital television. A shortdescription of a set-top box is done in section 4 and some text on the future box.

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

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

Page 11: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 4

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

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

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

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

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

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

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

Page 12: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 5

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

To use digital signal instead of analogous implies several advantages. The frequency range that oneanalogous signal use could be used by between four to six digital signals. There are several reasonsfor this; one is that the compression of the digital signal is more efficient compare to analogouscompression [M. Andersson, Personally communication, 17 Jun 1999]. Other advantages are that thedigital signals are more resistant against interference. If a bit have been affected by interference, it canbe 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 wassent. This means that interference will always have negative qualities affect both regarding the pictureand the sound when transmitting with analogous signals. By using digital signals both the picture andthe sound quality will be improved, since some interference can be handled. Digital signals can alsobe transmitted in random order since they will be reassembled at the receiver. This is not possible withanalogous signals, since they have to be received in the same order as they were sent. Otherwise thereceiver can not interpret the signals correctly.

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

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

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

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

Page 13: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 6

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

2.3.3 CableThis technique is different from the other two. Since the signals here are sent in cables, their signalsdo not compete in the frequency area with other traffic like signals for terrestrial and satellitebroadcast. But that regards only the part from the cable network to the households. Since the cablecompanies 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 usuallybuild on fibre and is connected to a central, which is located close to the household’s [4]. Coaxialcables are connecting the households to this central. Every apartment is either connected directly tothat central or to a loop with coaxial cable that passes all the households. Cable networks exist mainlyin block of flats. Today Telia is using digital technique to transmit program in there net and Stjärn-TVwill during 1999 digitise there net as well.

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

Terrestrial Satellite CableOrdinary modem X x xCable modem xEthernet connection X x xFigure 2-2 Back channels for distributed networks

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

2.4.1 ADSLADSL (Asymmetric Digital Subscriber Line) is a technique that uses copper-wire as transportingmedium. This means that the existing telephone wires can be used. Regarding the conflict withordinary telephone-calls, the frequency’s up to 4 kHz is used for calls and the remaining part from 25kHz 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 haveintroduced Flexicom, illustrated in figure 2-3, which is a service based on ADSL. The concept consistsof three different areas, the home, the tele station and the connection point. The offered bandwidth is2 Mbit/s to the user and 150 Kbit/s from the user. That bandwidth is guaranteed to the connectionpoint that is closest to the Internet. The distance from the home to the tele station should not be morethan 3 km, to guarantee the bandwidth performance.

Page 14: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 7

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

Every home needs to be equipped with an ADSL modem and a filter to be able to use ADSL. The filterwill divide the data- and telephone signals, and the modem will translate signals from either Ethernetor ATM into ADSL signals. The signals from the modem can be sent out either on an Ethernet port oran ATM port. The reason for ATM between the modem and the TV, are because they want to be ableto reserve bandwidth. In every tele station there will be an AXE-switch, a filter and a DSLAM (DigitalSubscriber Line Access Multiplexor). The AXE-switch handles telephone calls and the DSLAM willhandle the data signals. It is the filter unit that will send the telephone signal to the AXE-switch and theADSL signal to the DSLAM. A DSLAM is a modempool for xDSL-technique. It will handle multipleusers and pass these over one outgoing link. The net that Telia have chosen between the tele stationand the connection point is based on asynchronous transfer mode (ATM) and has a bandwidth of 155Mbit/s. At the connection point exist besides a router also several servers and databases. The serversare used for example to cache information and the database store subscriber information. Since Teliahave 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 withbandwidth of 4 Mbit/s to the user with satisfied results and since the copper net already exists there isno need to create any additional net in to the households.

2.4.2 MainsThe Swedish companies Sydkraft and Stockholm Energi are together with Tele2 and the companyNor.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 (DigitalPower Line). The technique converts electrical low volt networks into a data network with symmetricdata transmissions [7]. The structure for this concept is presented in figure 2-4.

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

Page 15: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 8

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

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

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

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

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

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

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

Page 16: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 9

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

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

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

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

2.5.2 Enhanced TVIt where companies in the US that introduced the enhanced television expression. The idea was thatinstead 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 theInternet at the same time as the program that is broadcast. But since the Internet information isprepared for being displayed on monitor with video graphics array (VGA) -format. It first has to betransformed into the actually television standard that the television set is handling [58]. The set-top boxcontains besides the Internet functions also a TV-tuner and the hardware that handles the graphicoverlay. The information that is displayed together with the ordinary program can be information aboutthe program that just now is broadcast or some other type of information that would be valuable to theuser. The VBI (Vertical blanking Interval) technique is used when displaying information accessedform the Internet at the screen together with a television program, which is also the same techniquethat is used to transmit teletext.

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

Page 17: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 10

the air. Also households with only monochrome television set must be able to watch program that arebroadcast in colour, and a colour television must be able to show program that are broadcast in blackand white. Colour systems that fulfils these requirements are called compatible television system, theprinciple 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 toneand saturation.

Figure 2-5 The principle of comability [1](Chrominance: colour tone and saturation.)

2.6.1 Television systemThere exist three major television systems that countries around the world use. The system that isused by the most countries is the PAL system. Figure 2-6 show how the different standards have beenadopted in the world.

IFigure 2-6 The extension of television standards [71]

NTSCThe first compatible system was developed 1953 in USA by a working team in the National TelevisionSystems Committee. The system was called NTSC and where in the same year set to be the standardin 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 colourtones when phase fault occurred some where in the chain of transmissions. Every phase divergencewill result in wrong colour tones. It is the phase position of the colour carrier wave that is decisive forwhat colour will be presented at the receiver. To avoid this, two other compatible systems wasdeveloped, named PAL and SECAM.

Page 18: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Introducing Television_________________________________________________________________________________________

Web based EPG 11

PALIt was AEG-TELEFUNKEN in Hannover under guidance by DR. Walter Bruch that by furtherdeveloping 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 theopposite direction. One drawback with this solution is that the amplitude of colour signals wasredouble. The amplitude is by the system later divide into half. Which resulted in a smaller saturationfault at the receiver. PAL is used for example in Western Europe, Australia, and parts of Central andSouth America.

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

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

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

Figure 2-7 Recreation of frame [1]

A country that uses PAL has agreed on having 626 lines per frame as standard. France which usesSECAM have 819 lines per frames but I can not tell if that it is the standard for SECAM. Thosecountries that have NTSC as they’re standard, like USA and Japan, have 525 lines per frame. To drawevery line, the picture tube uses a beam of electrons. The beam is extinct when is changes row or isfinished with a frame. When a frame is finished the beam quickly moves back to the upper left cornerand is ready to display lines of the next frame. The lowest rate of switching frames to create motioncontinuity 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 (30frames/sec). That is because disturbances occur if the frame-frequency not has the same or a multipleof the net frequency. In Sweden, which uses the PAL system, has a net frequency 50 Hz and theframe-frequency is there by set to 25

Page 19: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Standards_________________________________________________________________________________________

Web based EPG 12

3 Standards

3.1 NorDigNorDig (Nordic Digital Television) is a Nordic co-operate that was formed in November 1997, with thepurpose of specifying a common platform for digital television within the Nordic region. Some of thethings that this includes are to create a technical specification of requirements for the set-top boxesthat shall receive the digital signals, with starting-point of the standards set by DVB. A standard forwhich application-programming interface (API) these boxes should used, shall also be set. Some ofthe 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 andTeracom.

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

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

Since the purpose with this project is to create a common platform for digital broadcasts, there aredifferent 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 thesesystems are based on MPEG-2. Which is a standard for video and audio compression that aredeveloped by the Moving Picture Experts Group (MPEG).

Page 20: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Set-top box__________________________________________________________________________________________

Web based EPG

4 Set-top boxThe television signals that today are broadcast can be both analogous and digitally. But since mosthouseholds today have a television set that only can interpret analogue signals. There is a need forconverting 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 customersthat 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 cardthat can be received from the Swedish company Senda AB. Figure 4-1 shows a typical design of aSTB.

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

4.1 Types of set-top boxesOn the market today there exists several different types of set-top boxes. The Internet TV box, is onetype of STB that add functionality to the television set. Other types of boxes are those that have moreordinary tasks, like converting and decoding signals for the different types of broadcast.

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

• Nokia Mediamaster 9820 T – receiver for terrestrial broadcast

• Nokia Mediamaster 9730 C – receiver for cable transmissions

• Nokia Mediamaster 9600 S – receiver for satellite broadcast

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

Page 21: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on-Demand__________________________________________________________________________________________

Web based EPG

5 Video-on-DemandVideo-on-demand (VOD) is the service where users can make their own decisions of which movie theywant to watch. They choose the desired movie and just a short time after the movie has started it isdisplayed 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 ispay per view, where the customer contacts the company and orders a movie to be displayed at acertain time. Regarding the way to transmit a movie. Ordinary television programs are broadcast butthe movies in the VOD case are using unicast. This means that the movie is only transmitted to aspecific receiver, as in this case would be the person performing the request.

5.1 The first VOD networkTime-Warner performed in 1994 a full service network (FSN) test in Orlando Florida and it wouldcontinue until the end of 1997. The goal of the test was to provide answers of what demands customerpreferred [17]. The service’s that was delivered to the several thousand people participating in the trailwas among other thing movies-on-demand and news-on-demand. Movies-on-demand where theservice that was the most popular. The indication of the test was that the other things offered did notbring any value for the users, since they where seldom used. This information and that the userswhere upper-income families with children where theoretically the ideal market for these services, castdoubts over the whole concept. It would be difficult financial, with only one services that is reallydemanded.

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. Theconcept of letting the people watch the programs they want instead of the programs the cable systemwant to sell to them, did make a lot of sense. But instead of storing all the digitised programs on alarge central computer, way not store some of the programs at the STB.

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

Shared FunctionsWhen the analogous signal is received it is transferred to the STB (TiVo or ReplayTV). The analogueand digital converter will convert the signal from analogue to digital. Then MPEG2 is used forcompressing the signal. It will then be saved at the hard disk and then decompressed and convertedback to analogues format. Now the signal can be sent to the television for display and at the sametime 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 whenrecording. It is not possible to watch another channel except the ones being recorded. On the otherhand, it is possible to watch a program that already is stored on the hard disk and at the same timerecord another program. To be able to watch a different channel besides the one being recorded, theincoming cable signal needs to be split, and then connect one cable to the STB and the another cableis connected directly to the television [20].

Page 22: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 15

It will start recording the program a user currently is watching. If the user switch to another channel, itwill start to record that program starting from that moment. The other show that the user just zappedfrom will not continued to be recorded. If a user stop the program that he/she is watching, the box willcontinues to record it. And the user can fast forward until he/she have cached up with the livetransmissions. Both product records entire programs, including any commercials. It is not possible tohave the commercial erased while recording the program. To be able to update their channel guidesboth ReplayTV and TiVo has a built-in telephone jack. Where they every night dial to a secure serverand 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 ConnectionsHere is a connection example with both a cable box, satellite receiver and a VCR. Figure 5-1 showsthe maximum of units that can be used together with TiVo.

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

5.2.1.2 Back panelBelow is a description of TiVos back panel, se figure 5-2. The same in– and out-puts also exists onReplayTVs back panel.

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

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

Page 23: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 16

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

Audio L/R: Is used when the user connect a cable/satellite box where video and audio is transferredseparately. 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 withoutsound. Here there is no need for a tuner, since only one program at the time will be transmitted, at aspecific frequency.

S-Video: Another name for it is super-vhs. It's a 4-pin mini DIN connector and the reason to use thisone instead of composite video is that the luminance and chrominance signals are divided at differentpins. Since they are on a different pin (pin 3 is for luminance and pin 4 is for chrominance). There is noneed 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 programsthat are being broadcast. The natural connection is from terrestrial network. But it can be connectedfrom another STB as well, although then only one program will be transmitted to this connection. Asignal transmitted through RF contains both video and audio. This connection is also used when theuser 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 usedthe 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 toconnect expansion modules that will increase the storage capacity of ReplayTV.

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

Figure 5-3 TiVos remote control [20]

Functions

• Live TV/Guide This button takes the user directly to live TV. If the button is pressed again, the TV-guide will be displayed.

• Thumbs Up / Down Indicates approval or disapproval of a program.

Page 24: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 17

• Select Selects the marked item on the screen.• Record Records a program from live TV.• Play Start a recorded program at normal speed.• Pause Pause the program the user is watching.• Back/Forward Fast forward or rewinds at three different choices of speed.• Slow-motion Plays a recorded or live program in slow motion.• Jump Catches up to live TV or move the user to the end of a recorded

program.• Instant replay Replay the last 8 seconds, of live TV or a recorded program.

5.2.1.4 Description of TiVos functionalityBelow follows some of the more characteristic functions that TiVo have.

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

Figure 5-4 TiVos EPG [21]

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

It is possible to watch a program that is being recorded at the same time. The user can start watchinga show that is being recorded. Without having to wait until the recording is finished. When the userwants to record a program, TiVo first checks that it will not overlap with another programs that the userhave asked it to record. It also inspects that there is enough disk space to record the program. Everyprogram is normally saved for two days. If the user have some shows recorded and want to save themlonger, the user can choose between “save until I delete” or “delete after x days”. TiVo will not deleteany 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 thehard disk is according to TiVo between five to seven years.

Page 25: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 18

TiVo will grade their different recording modes like this.Best: approaches the level of DVDGood: close to VHS tape

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

5.2.2 ReplayTV

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

Figure 5-5 ReplayTVs remote control [26]

Functions

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

Page 26: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 19

5.2.2.2 Description of ReplayTVs functionality

Channel guideThe EPG that ReplayTV has, figure 5-6, show programs that are on right now and for some hoursahead. It also shows when a program begins and when it ends, a description for every program alsoexists.

Figure 5-6 ReplayTVs EPG [59]

Replay guideList all shows that a user has created with Replay zones. It also shows the program that has beenrecorded for each Replay zone.

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

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

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

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

Page 27: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 20

5.2.3 Comparison chart

IntroductionFeature ReplayTV TiVo

Personal Television Recorder

Figure 5-7 ReplayTVs STB [26] Figure 5-8 TiVos STB [20]Remote control Can control up to 6 different

devices.Can control on/off and volumefor the TV and volume for stereo.

Model / storage capacity 2001 10 hours2003 14 hours2005 28 hours2020 20 hours

PTV100 14 hours (HDR112)PTV300 30 hours (HDR312)

Hard disk (gigabyte) 2001 10.22003 13.62005 27.22020 20.0

PTV100 13.6PTV300 27.2

Price 2001 $699.002003 $899.002004 $1,499.002020 $699.00 (now $399.99)

PTV100 $499.00(HDR112 $299.00)PTV300 $999.00(HDR312 $399.00)

TV-Program service Included Monthly $9.95/monthAnnual $99.00/yearLifetime $199.00

Availability Since April, 1999Since 15 November 1999(model 2020)

Is only available in US

Since March 31, 1999

Is only available in USGuarantee / Warranty 30 day money back

1 year for parts in the receiver30 day money back1 year for parts in the receiver

Product specificationFeature ReplayTV TiVoVideo In 1 S-Video

2 Composite video RCA1 S-Video1 Composite video RCA

Video Out 1 S-Video2 Composite video RCA

1 S-Video2 Composite video RCA

Audio In 2 Pairs RCA 1 Pair RCAAudio Out 2 Pairs RCA 2 Pairs RCARF In 1 (antenna) 1 (antenna)RF Out 0 1 (channel 3 or 4, switchable)IR control out 1 1Serial control out 1 1Modem speed N/A N/APhone RJ-11 Yes YesIEEE-1394 (FireWire) 2 ports

No (model 2020)No

Processor N/A PowerPCOS N/A LinuxHard disk N/A Quantum QuickviewType of video compression MPEG-2 MPEG-2

Page 28: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 21

Broadcast format NTSC NTSCHDTV No NoPower 120 VAC 60 Hz 120 VAC 60 Hz

FunctionsFeature ReplayTV TiVoFast forward/rewind 2X 4X 16X 20X (model 2020) 3X 20X 60XSkip forward 30 s NoSkip backward 7 s 8 sStop/pause Yes Pause onlySlow-motion No (yes model 2020) Yes, 1/4XOne Frame forward/rewind N/A Yes

EPGFeature ReplayTV TiVoEPG Yes YesFuture program listings 7 days 13 days and every day check for

changesSearch program listings By name, category, time and

channelBy name, category, time andchannel

Service and updateFeature ReplayTV TiVoPhone call For software and programming

information updates.For software and programminginformation updates.

Privacy N/A Anonymous viewing informationis used. It can be prevented byinforming TiVo

RecordingFeature ReplayTV TiVoRecording modes 2 Mbit/s 4 Mbit/s 6 Mbit/s Good, medium, high and bestRecording length with differentmodes (low to high)

2001 10h N/A N/A2003 14h N/A N/A2005 28h N/A N/A2020 20h 11h 9h

PTV 100 14h 8h 6h 4hPTV 300 30h 18h 14h 9h

Cache for live TV Limited only by free availabledisk

30 min

Save or clear cache whenchanging channel

Clear Clear

Record program everytime Yes, Replay channel Yes , season passRecord program everytime bytheme

Yes, Replay channel No

Store programs to a ZIP drive N/A NoStore programs to a VCR Yes YesConflict handler Yes Yes

N/A means that the information was not available. All the information in this table is received from thesources 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 namechanges and the latest price changes are in parenthesis.

Page 29: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 22

5.2.4 ConclusionsAlmost every comment from people that have compared these two products feel that the price is tohigh and that the remote control from TiVo is much user-friendlier. I thought that ReplayTV was betterprepared for upgrading the hard disk. But when the new model 2020 is without FireWire connectionsand the other models have been discontinued, ReplayTV lost their advantage at that area. RegardingTiVos thumbs up/down, if there are several peoples in a household and they are all using TiVosthumbs up/down to grade their programs. TiVo will suggest several different kinds of programs, andthe accuracy of the function will disappear. ReplayTVs thirty seconds skip button will certainly be wellused, 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 ondisks drops the product will be cheaper and have larger storage capacity. When all signals are digitalthere is no need for AD- and DA-converter, which will also affect the price. One thing that is expensiveand can not be removed even if all signals are digitally, is the MPEG coder. I think that these twoproducts are very similar, regarding functions, service and storage capability. It is more their specialfunctions that separate them, ReplayTVs –Replay channel and TiVos thumbs up/down. What willseparate the two products are in my opinion how user-friendly their interfaces for all their functions are.

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

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

Figure 5-9 Internet multimedia conference protocols [33]

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

IP MulticastIP 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 doneby unicast. Communication with broadcast means that the transmitter sends messages to everypotential receiver, but with multicast the transmitter sends messages to a particular group, where

Page 30: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 23

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

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

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

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

Figure 5-10 Example of IP multicast protocols [39](A multicast gateway is also called a multicast router)

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

Page 31: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 24

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

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

TCP maintains at the sending side a buffer, which contains data that has been sent but not yetacknowledged. Those packets will be retransmit if the receiver have not sent an acknowledgementbefore a certain timestamp. The timestamp is set as a function of the RTT (Round-trip time) betweenthe two ends of the connection. TCP also maintains a buffer at the receiver side, which is used forhandling data that have arrived out of order. The receiver will use the sequence numbers to correctlyorder the segments that may be received out of order and also to eliminate duplicates. To cope withdamage, TCP adds a checksum to each segment transmitted, which is checked at the receiver. Thereceiver will discard all damaged packets. Since it would be very inefficient to have the sender inactiveand wait for an acknowledgement for every packet transmitted. TCP uses an algorithm called slidingwindow [37]. Which means that the sender transmits new packets during the time it waits foracknowledgement. How many packets that can be transmitted before an acknowledgement hasarrived, depend on the size of the sender’s window. Only those packets that are present in the senderwindow have permission to be transmitted. The window slides over the packets that will betransmitted, 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 manypackets is can send, is increased by one. There are also other mechanism that adds additionalcongestion control to TCP, like fast retransmit and fast recovery. Some protocols that use TCP areFTP and HTTP. However TCP is not suitable for transmitting video and audio on the Internet. BecauseTCP give priority to secure transmissions rather the fast transmissions. If a packet would be lost, thepicture at the receiver would be stalled because it would have to wait for that particular packet to beretransmitted by TCP. That is why UDP is used for such applications.

RSVP (Resource Reservation Protocol)RSVP is designed to improve the support for real-time applications. RSVP is viewed as a companionprotocol to IP. The protocol is connectionless and the resources requirements are not specified to thenetwork, instead the protocol informs the receiver. This is done by having the source regularly sendinga path messages and the receiver replies with a reserve messages that specify the required quality ofservice [33]. The network will reserve the resources specified by the sender on the way back from thereceiver to the sender.

HTTP (Hypertext Transport Protocol)

Page 32: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 25

This protocol is the standard mechanism for transferring documents between servers and clients at theWorld Wide Web today, and the protocol is placed in layer 7 at the OSI-model. HTTP has been in usesince 1990 and is regarded as a request/response protocol. Which means that client makes a requestand the server respond to that request. The HTTP/1.0 will make multiple parallel TCP connectionswhen a user is requesting multiple objects. But with HTTP/1.1 only one TCP connection will berequired for a request that implies download of multiple object [33]. Since HTTP is not a suitable forsecure transactions a particularly protocol called Secure-HTTP has been developed. Secure HTTP isa secure message-oriented communications protocol. It supports secure end-to-end transactions andhas been designed to work in conjunction with HTTP. The S-HTTP does not require any client-sidepublic 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 onmediastream transfers.

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

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

In an audio and videoconference, the media is transmitted as separate RTP sessions. The RTCPpackets are transmitted for each medium and both the medium and the RTCP use different UDP portsand/or multicast addresses. One motivation for this separation is to allow some participants in theconference to receive only one medium if they choose. Each instance of the media application in theconference 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 tocontrol adaptive encoding. A site sends the RTCP BYE packet when it leaves the conference.

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

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

Page 33: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 26

server. For example, audio and video streams can be split across servers for load sharing. RTSPcontrols 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 controlchannel 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 channelis handled by a TCP connection. The control channel initiates and directs the delivery of the data sentby the deliver mechanism, which in this case, is RTP. The RTP Data channel in the middle is asimplex UDP channel along which the media is streamed. The last channel is a full-duplex UDPchannel for the RTCP packets, providing synchronisation information to the client and packet lossinformation to the server. The RTP port is always an even number. The RTCP port must be the nextconsecutive port, so it is always an odd number. The following states are available when a streamresource on a server shall be defined and used, SETUP, PLAY, RECORD, PAUSE, and TEARDOWN.

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

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

SIP (Session Invitation Protocol)The SIP is used to “invite” participants to a session. It is an application-layer control protocol that canestablish, modify and terminate multimedia sessions or calls [33]. SIP can invite both persons anddevices, such as a media storage service, where the media storage could be invited to record anongoing conference. SIP can be used to invite parties to both unicast and multicast sessions and theperson invited does not have to be a member of that session. The default protocol used by SIP isUDP, although TCP can also be used.

Page 34: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 27

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

5.4.1 Advantage for local based system compare to server based systemThe 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 ittakes 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 thenetwork. This is a drawback with the centralised approach, since the behaviour of the end-user isvisible in the traffic that runs through the network. If e.g. end users flip their remote controls or want todeviate from the stream sequence in an interactive movie or game, all network buffers must bereloaded almost instantaneously with new data to provide for the new scene. A VOD system is onlyconfigured to support a certain number of users, when the maximum users are connected. Additionalclients will be denied access.

These set-top boxes have other services than just lets the user choose between some of the recordedprograms. They offer their users more control over the movie their watching. If the program isbroadcast, 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 programcan be recorded up to 6 Mbit/s, which is regarded as very good quality. I have no information of thebit/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 ismoving rapidly forward, the price on these disks will certainly drop. This will have a positive influenceon the prise on TiVo and RepalyTV, at least from the customer point of view. I assume that a lowerprice on the hard disk, not have a large affect on the price customers have to pay for receiving a moviewith the server based system. Since the initially price per movie should already be low enough tocompete with the local video stores.

5.4.2 Disadvantage for local compare to server basedThe offer is limited to the programs that are broadcast on the different channels. When the user wantto watch a movie, he can choose form the programs that has been recorded for him and those that arebeing broadcast.

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

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

Page 35: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 28

5.5 Improvements for server based video-on-demandI have examined different solutions that could improve the performance for the server based VODsystem.

5.5.1 Proxy cachingProxies are a useful way to reduce the user-perceived latency and the total load on the server. Trafficbetween servers and clients can be reduced with a proxy, by caching resources that will satisfy futureclient requests [67]. Since techniques for caching text and images is not appropriate for continuosmedia streams, because caching entire audio or video streams would exhaust the capacity of theproxy cache. Instead the proxy should store a prefix which consists of the initial frames of eachpopular stream. When the proxy receives a client request for a stream, the proxy immediately initiatestransmissions to the client, while simultaneously requesting the remaining frames form the server.

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

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

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

Figure 5-13 Smoothing model [67]

The proxy will store the initial frames in buffer in bp and will use the buffer bs for storing bit that areused 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 mustbe sent to the client. The proxy could send the frame immediately upon receiving it, which will increasethe clients buffer. Or it can wait some time, but not more then w time units. Otherwise the number offrames that are waiting in the clients buffer will be decreased. When using the smoothing model theproxy will store the first dmax –(s-x)+w frames. If w=0, that means that every frame the proxy receivesfrom the server has to be sent immediately to the client, to avoid starvation in the clients buffer.

Page 36: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 29

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

∑ == i

j ji fD1

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

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

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

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

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

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

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

Page 37: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Video-on Demand_________________________________________________________________________________________

Web based EPG 30

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

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

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

As seen in figure 5-15, each object is divided into eight segments, where the sizes of the segmentsare {1,2,2,4,4,8,8,8}=45. This means that the total time for the movie is 45 units. Every newtransmission period is marked with an X in channel 0, so in this example a movie is multicast fourtimes. When a client makes a request that is just before the grey-shaded segment in channel 0. It willthen receive all the grey-shaded segment in channel 0 to channel 7. If a client’s request arrives justafter the grey-shaded segment in channel 0 has started. That client will instead receive the nextsegment after the grey-shaded one in channel 0, and concurrently receiving the grey-shaded segmentin channel 1. The clients will from the remaining channels receive the grey-shaded segments and willalways 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 receivethe last segment in channel 1. When the segment from channel 1 is played, the client will at the sametime receive the segments from both channel 3 and channel 4. The strategy is to have the clients usetheir buffer to receive future segments and played when it is suitable. The buffer requirements on theclient using this system, is that it must be able to buffer the maximum segment size – 1.

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

Page 38: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 31

6 EPGEPG means electronic program guide and this will be the new way for people to quickly find thetelevision 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, likesports, comedy, movies and news. It will also be possible to search for programs that start at a certaintime. Today people find there programs either by teletext, newspaper or paper based TV-guides. Butsince every household in the future will receive a large the number of channels, the present way forfinding desired programs will not be sufficient. For example, if a user have one hundred channels. Itwould take about nine minutes before the user have switched between those channels and made anopinion weather it is worth looking at or not. Based on that a user spends five seconds on eachchannel. Since neither the paper based TV-guide or other means to find certain programs have theability to search for user specific programs. It will be much more effective to use an EPG to find theprograms that are of interest. It will also be possible to create more personally TV-guides with theEPG. Where user can create a user profile where only programs that are match to that profile will beupdated.

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

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

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

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

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

Page 39: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 32

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

Avisa Centralredaktion ABAvisa 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 newspapersand magazines. TT (Tidningarnas Telegrambyrå) now owns this company. TT also had televisionlistings but now Avisa handles that.

Tjohoo ABThis is Sweden’s largest local portal. Regarding channel information, they collect the information themself directly from the companies that produce the programs. But that information is only for internaluse, that is their EPG, TV-Guiden.

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

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

Infomedia Luxemburg SA Tjohoo ABTeledanmark N/ABskyBFrance TelecomTelia Infomedia Rockitmedia HBPassagen N/ASvD (Tv-Guide)

Avisa Centralredaktion AB (own by TT)TVData DagensTVAbout 2,700 businesses in 20 countries use theirinformation

More the 75 Swedish magazines and newspapers

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

6.3 Telia InfomediaTelia Infomedia receives their channel information from Infomedia in Luxembourg. Telia Infomedia buyinformation for proximately fifty channels and the information are received in a TSV format. Whichstands for Tab Separated Values and is a database format. Telia Infomedia are accessing their

Page 40: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 33

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

Database file contentEvery file that Telia Infomedia is received from Infomedia in Luxembourg contains the following fieldnames

Channel CategoryDate ActorsTime SynopsisOriginal title DirectorTitle Schedule_idEpisode Title DurationCountry DVBLanguage YearRating

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

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

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

Page 41: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 34

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

• Applications : Applications written for the STB.

• Networked Community Software : This allows devices to recognise and use each other’s servicesover the network. Some software that supports this are Jini, Upnp (universal plug and play) andHAVI (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 OPENTVThe company was formed by a joint development and marketing alliance between ThomsonMultimedia and Sun Microsystems in 1994. Their first product was shipped in 1996 and was namedOpenTV 1.0. The alliance was later reconstructed into an independent company with the nameOpenTV. Approximately 6.1 million digital set-top boxes are today using OpenTV and about 20 STBmanufactures have licensed the OpenTV operating system.

Page 42: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 35

Some of OpenTVs customers are

Company Country Distribution formTelia InfoMedia TeleVision AB Sweden CableTelevision par Satellite (TPS) France SatelliteSenda Sweden TerrestrialEchoStar/DISH Network US SatelliteFrance Telecom Cable France CableBskyB UK Satellite

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

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

6.4.2 MEDIAHIGHWAYCANAL+ was founded in 1984 and are today regarded as the leading pay-television company inEurope. Their system for creating interactive services is called MediaHighway and has been insertedin approximately 6 million set-top boxes. The language that MediaHighway is using to write interactiveapplications are called Pan Talk. The technology has been chosen by approximate 10 STBmanufactures. Canal+ also have their own developed conditional access system, namedMEDIAGUARD. The MediaHighway system is like OpenTV based on a virtual machine, which meansthat it has the ability to run on any hardware platform or operating system chosen by the STBmanufacturers.

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

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

Page 43: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 36

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

Some of MediaHighways customers are

Company Country Distribution formMediaOne US CableZee Network India CableJupiter Japan Cable

6.4.3 Web basedRegarding the tools for creating web based EPG, I refer to chapter 7.1. Where I examined andmotivate my selection of language before I construct my prototype.

6.5 Comparing these EPG platforms with web based EPGThe answers to the questions regarding OpenTV have been performed together with Brad Fuller atOpenTV and Ewa Jacobsson at ComHem.

LanguageWeb 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 ofpeoples that can develop applications with these languages.

OpenTV The language that OpenTV are using for creating their interactive application isbased on ANSI C. Since it is used only with in this area, the language is not so wellknown.

MediaHighway Canal+ has designed its own language called Pan Talk. Which is also a languagethat is used only in this area and not well spread.

AccessingHow 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 theaccess where made from is a Pentium 3, 600 MHz with an ordinary 56 Kbit/smodem and Telia as the ISP. The channel information that is shown for theseaccessed EPGs are between is for 15 to 42 channels, and they only displayprograms 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 loadon 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 asvideo and audio is sent with. When a user want access to the EPG, it takes between15-20 seconds before the EPG is loaded. On the other hand are channel informationshowed for 73 different channels, three days ahead. The test was made on the EPGthat ComHem are using, which has been developed with OpenTV.

MediaHighway N/A

Page 44: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 37

CommercialsIf there are commercials at the EPG, is it possible for the users to click on them and then receive moreinformation about that productWeb 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

LicenseDoes this developing tool demand license for every set-top box, where the created EPG is inserted.Web based NoOpenTV YesMediaHighway Yes

ScaleHow 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 informationWeb 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 thevideo and the audio is sent in.

MediaHighway N/A

Web pages and linksIs it possible to include web pages and links to web pages inside the EPG.Web based YesOpenTV It is also possible to have links from the EPG to web pages on the Internet. Since

web browsing is one of the extension that will be developed during this year (2000),in the OpenTV EN2. But it is possible to convert web data into OpenTV modules andthen broadcast it.

MediaHighway N/A

Developing platformsWhich platforms can be used, when developing an EPG.Web based Macromedia Windows 95/98/NT and Macintosh

Java/JavaScript/HTML 95/98/NT and SolarisOpenTV Windows 95/98/NT and SolarisMediaHighway N/A

Page 45: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 38

Remote controlIs it possible to control the EPG with a remote control.Web based YesOpenTV YesMediaHighway Yes

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

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

6.5.2 ConclusionsThere are some disadvantages with both OpenTV and MediaHighway. The first is the license, which isa 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 qualificationis much harder to find for the OpenTV and the MediaHighway API. Since their languages is not as wellspread, which the web based languages are. The downloading time is to long and users that accessthe 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 andthe this market already exist. With OpenTV, the commercial web pages first have to be convertedbefore 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 theEPG is located and the generally load between the users and the server. This bandwidth that the userhave will also be an affecting part. None of these factors will have any affect when an EPG is launchedcreated by OpenTV or MediaHighway. Since applications like that is always broadcasted out to theusers, and is not affected by the number of users.

Page 46: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

EPG_________________________________________________________________________________________

Web based EPG 39

6.5.3 FutureSince DVB are aiming to develop the MHP standard. The MHP will include a collection of net andvideo standards such as HTML, SMIL and JavaScript. Since this standard probably will be supportedby 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 toincrease their functionality in all the set-top boxes running their proprietary APIs, since it will not beable to extract any more performance from them. Both the TV channels together with the interactivedigital TV (iDTV) operators like, ChanelSatellite’s Canal Plus and Open’s News Corp channels will putpressure on their parent companies to distance themselves form proprietary technologies. That willhold back the wider distribution of their interactive services. Regarding the adaptation for OpenTV andMediaHighway to MHP, Therese Torris say that OpenTV will be able to transform from the systemlicence fees to a MHP service provider. MediaHighway on the other hand are expected to sell theirtechnology to standard solutions providers like for example Microsoft.

Page 47: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 40

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

7.1 Database ModelsThere have been several different database models used over the years. Below is a short descriptionof some of them.

7.1.1 Flat fileThis was the first way of storage data. All information was stored in a single table. Which wheredifficult to handle when volume increased. Flat files do not provide all the service of DBMS, such aselimination of redundancy.

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

7.1.3 The Network modelThis model was designed by the CODASYL (Conference On Data Systems Languages) in 1971. It isan extension of the hierarchical model where many to many relationships are now allowed. Parentscan now have many children and children can have many parents. By doing this they reduced the dataredundancy but when the system grow as well as the connections between the segments. It will reachthe point where maintenance of the system becomes very difficult. The organisation of this model isthat of an arbitrary graph.

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

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

Page 48: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 41

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

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

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

Figure 7-1 Components of DBMS [42]

7.3 Database connectionToday there exist a number of different database connections on the market. To make it easier foruser to connect to their database. Both Microsoft and SUN Microsystems have developed databaseinterfaces, that through different drivers can connect to almost all the different existing databases.

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

Page 49: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 42

regarding, vendor, platform and database. The JDBC API is used for executing SQL statement andcan only be used with relational databases. The SQL statements are embedded as arguments tomethods 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 differentdatabase vendors made to be adjusted to just there DBMS. Therefor a different driver is required foreach different vendor's database [48]. Today JDBC 2.0 is the latest update of the JDBC API. Itcontains both the Core API and the Standard Extension. The standard extensions are packages ofclasses written in the Java programming language. Application developers can use these extensionsto extend the functionality of the core part of the Java platform. The reason way there are extensionsis because the core part of the Java platform has been growing steadily since SUN released version1.0. Now there are over 50 packages in version 1.2 and by using extensions they can add functionalitywithout increase the size of the core API.

7.3.1.1 DriversThere 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

Figure 7-2 Java drivers [44]

C D

Figure 7-3 Java drivers [44]

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

Page 50: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 43

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

B: Native-API partly-Java driversWhen using this driver the JDBC call will be converted into the API for the current database. Thismeans that there will be no portability because the client will only be able to connect to just thatspecific database. On the other hand the user will not have to wait for the JDBC-ODBC Bridge toconvert the JDBC-calls. But the driver for the particular database that a client wishes to connect to stillhas to be installed. This connection can be used with many different database drivers but every clienthave to make the connection to the driver for the database by themselves, there is no interface likeODBC that will choose the right driver when access to a database is desired. This driver simplyremoves the ODBC portion of the JDBC-ODBC Bridge.

JavaSoft calls these native-API partly-Java drivers because there is a wide range of variation betweenvendors in how much of the driver is Java, and how much is C/C++. Some vendors have merelywrapped an existing C/C++ driver in a thin layer of Java. Other vendors, like WebLogic, instead builtthe 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 Cor C++ which the Java driver have to make the call to the vendor libraries. This requires that eachclient have a local copy of the .DLL that contains the C/C++ layer for communicating with the vendorlibrary [46]. Often drivers like these are called "native" drivers, because their layer of non-Java coderequires the use of "native methods" in Java.

C: Direct-to-Database Native-protocol all-Java driverIn this case the driver convert JDBC call directly to the network protocol that the DBMS is using. Forexample Oracle DBMS use the network protocol SQLNet, which is run on top of TCP/IP by usingOracles TCP/IP protocol adapter. But many of these protocols are proprietary the database vendor,and the driver has to come from them since they are the only ones that know how the procedure forsending user_id, password etc are.

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

This type of driver translates JDBC calls into a DBMS-independent network protocol, which is latertranslated into a DBMS specific protocol by a middle-tier server. The driver is installed at the client anduses sockets to call the middleware-application that translates the client requests. At the middlewareboth Java driver of type A and B can be installed [45]. This driver give the user good flexibility, since aclient 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. Althoughthe driver do not require any additional code to be installed at the client.

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

JDBC-ODBC Bridge (type 1) This driver was the slowest.Native-API partly-Java drivers (type 2) These drivers are the quickest of these four.Direct-to-Database Native-protocol all-Javadriver (type 4)

The driver loads quickly, because they are small,but do not execute requests as fast as type 2.

For Database Middleware, Net-protocol all-Javadriver (type 3)

These are efficient but no match for the type 2driver.

Page 51: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 44

7.3.1.3 Conclusions

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

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

Direct-to-Database Native-protocol all-Java driverThese drivers are very much like the Native-API partly-Java drivers. The difference is that this driverdoes not offer the same performance but on the other hand the client does not require any preinstalledcode. But since this driver demands several JDBC drivers for various vendors’ SQL databases, it doesnot have the same flexibility that driver D does.

For Database Middleware, Net-protocol all-Java driverThe advantage with this driver is that there is no need for any native code to be preinstalled at theclient, only the driver needs to be installed. Since the driver speaks DBMS-vendor neutral protocol, thesoftware receiving the request can access many different SQL databases without the need for loadingadditional code at the client. This driver may not be the fastest but it is the most flexible one, since theclient only requires minimal code and still has access to many different databases.

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

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

The ODBC architecture has four components:

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

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

• Driver: Connects and passes a SQL requests to a specific data source, and the result is returnedto 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, likethe operation system and DBMS.

Page 52: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 45

Figure 7-4 The relationship between the ODBC components. [65]The application, driver manager and the driver are located at the client side.

7.3.2.1 DriversThere are two types of ODBC drivers

• Single-tier• Multiple-tier

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

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

Multiple-tierThe 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 andsend back the result to the user. The user can send the request by two different ways. Either theapplication can call the SQL execution function through the ODBC driver. Then the driver will composea message with the user determined SQL-string and use a function in the network library, which willsend the message to the server, so the DBMS can receive it. If it is sent by RPC (Remote ProcedureCall), the client would sens the SQL function in encoded form, together with its argument, the SQLstring, to the server. Where it will be reconstructed into the original SQL function call.

Page 53: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Database_________________________________________________________________________________________

Web based EPG 46

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

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

7.3.2.2 ConclusionsThe 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 differentDBMSs. But with the same reason as mention in the JDBC case. That speed should have higherpriority that flexibility. There has been no comparison regarding the speed between these drivers. Butsince the database and the EPG are probably not placed on the same machine, the Single-tier driverwill not be used. This means that the Two-tier-architecture should be the fastest one, and they’re bymy recommendation.

Page 54: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Construction of the EPG_________________________________________________________________________________________

Web based EPG 47

8 Construction of the EPG

8.1 Language for EPGBefore constructing the EPG, I had to decide the language and the application type in which the EPGwhere going to be developed in. The ones that I have chosen from are listed below.

• Servlet

• Applet

• Script

ServletA 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 isexecuted on the server and the processing of the servlet are usually returned to the client in the formof HTML. There is no need for a Java Virtual Machine at the client since all the interpretation of theJava code is done at the server. Servlets have the ability to run on many different web servers likeO’Reilly Website, BEA WebLogic Application Server and Netscape Enterprise Server. It is alsopossible through add-ons that will add support to web servers like Microsoft Internet InformationServer and Apache Web Server. The Servlet API that contains all the classes and interfaces is a partof Sun’s Java Servlet Development Kit.

Figure 8-1 The Servlet life cycle [75]

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

Java AppletJava applets are constructed with Java code. When the user is requesting a Java applet through itsweb 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.

Page 55: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Construction of the EPG_________________________________________________________________________________________

Web based EPG 48

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 technologyfrom Sun and then built it into the browser. It exists a JVM for every platform like Macintosh, UNIX andWindows 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 embeddedJVM.

Applets that are loaded over the net are generally not allowed to read or write files that exist on theclients file system, since all loaded applets are considered untrusted. It is also not allowed to makenetwork 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 ispossible to release some of the strictness of the applet by using signing and verification. But NetscapeCommunicator or Internet Explorer does not support it. It is only supported by HotJava andappletviewer [74]. When connecting to a database through an Applets, the JDBC drivers can be use.

ScriptIt exists many different script languages on the web today. I have mentioned some of them in theappendix. 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 existboth client-side and server side script. Most of the script has the possibility to connect to a database.

Evaluation

Different PlatformsAdvantages for applets and servlets are that Java is a cross-platform language, this means that it canrun on platforms like UNIX, Windows NT and other operating system that are Java compiliant. Most ofthe 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 interfaceSince it exist many powerful tool for creating html pages. All script languages have excellent possibilityto make sophisticated interfaces for the electronic program guide. Servlets and applets demand fromthe developer to create every row by them self. Which can not be compared with the existing webpages tools on the market today, like the Macromedia dreamvewer.

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

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

ConclusionsThe script language is considerd to be best suited for this type of application. With this technology theEPG 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

Page 56: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

The Web Based EPG prototype__________________________________________________________________________________________

Web based EPG 49

9 The Web Based EPG prototype

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

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

ClientJDE 2.1.5JDK Version 1.2.2JSDK 2.020.3.1 of GNU EmacsJikes 1.04

Databas ServerNT 4 for serverMS SQL 7

WebServerJavaWebServer 1.1.3jdbcKona/MSSQLServer4 driver

9.3 Components

VideoplayerThe video player that is used is the RealPlayer from RealNetworks. They provide Realplayers for bothNetscape and Internet Explorer. With Netscape the RealPlayer is a plugin and for Explorer, it is anActiveX component.

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

Database connectionFor database connection, I used the jdbcKona/MSSQLServer4 driver from Weblogic. This driver is atype 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 limitedto handle only ten users simultaneously. My choice was the Microsoft SQL server, that is scaleable tohandle thousands of users simultaneously, and is probably the database chosen between this two, if areal system with a web based EPG would be constructed.

Page 57: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

The Web Based EPG prototype__________________________________________________________________________________________

Web based EPG 50

There where also performed a test to examine the time it takes to perform the following SQLexpression, exec="Select channel, date, time, title, category, duration from svensktv". Which is thedatabase call to receive all the necessary information that was needed to display the information forthe titles that where chosen in my EPG. These titles are Channel, Starttime, Stoptime, Program andCategory. 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 theweb server was on, to the computer where the database where. Both computer where on the samenet 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, T1and T2 where made before the SQL expression had been performed. Then where the T3 call wheremade. This gave the time it took before the data from the database where received. This expressionT3-T2-(T2-T1) also removes the time it take to perform the actually time call.

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

9.4 The EPG interface

Figure 9-1 The graphical user interface for the EPG

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

Page 58: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

The Web Based EPG prototype__________________________________________________________________________________________

Web based EPG 51

Figure 9-2 Frames in the EPG

1. This frame will only contain the commercials.

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

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ällningarbutton can display the profile the user have. Regarding channels, type of movies so that just thosetypes of programs are shown and not all available. The sök button is for searching after aprogram, more specefic then channels or movie categories. It can be used for searching for acertain actor or the name of a program.

4. This frame displays the current time and date.

5. These dropdownlists contains all available channels and categories. They are read from thedatabase using the JDBC driver when the user loads the EPG. It gives the user the opportunity tosearch the database for programs involving their starttime, channels, category and day. This ishandled 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 logothat are under the headline Kanal, and some of the programs that where recorded will bedisplayed by the RealPlayer. This will symbolise that all current transferred program are availablefor the user to get a quick look to see if it where something interesting. This frame is handled by aservlet

Page 59: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Future Work__________________________________________________________________________________________

Web based EPG 52

10 Future Work

There are often things that could be futher investigated. Below are some tasks that could beperformed to extend this work futher.

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

• A more practical evaluation of the different database connection.

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

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

Page 60: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Conclusion and Discussion__________________________________________________________________________________________

Web based EPG 53

11 Conclusion and Discussion

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

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

The connection between the database that contains the channel information and the server where theEPG is placed, where also examined. With the assumption that the EPG is installed at one server andthe database are placed in another server. The best driver would be the fastest one and not the mostflexible one. For JDBC, the best driver would be the Native-API partly-Java driver, and for ODBC, theTwo-tier-architecture. Should flexibility have higher priority then speed. Then my recommendationwould 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 betweencreating the EPG with web based tools or use OpenTV or MediaHighway, there were moreadvantages 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 commercialswith the EPG would be no different that the commercials that exists on for example, the Swedishnewspaper Aftonbladet. Also the assumption that these proprietary APIs will have difficulty to supportfuture interactive services.

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

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

Page 61: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

References_________________________________________________________________________________________

Web based EPG 54

12 References

[1] Enstedt E. (1988). TV-teknikens grundläggande principer. Lund : StudentlitteraturISBN 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)

Page 62: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

References_________________________________________________________________________________________

Web based EPG 55

[29] ReplayTV (1999) FAQURL: http://www.replaytv.com/replaytv/faq.html (1999-07-13)

[30] ReplayTV (1999). NewsURL: http://www.replaytv.com/news/index.html (1999-11-26)

[31] Casner S. Jacobson V. (February 1999). Compressing IP/UDP/RTP Headers for Low-SpeedSerial Links. RFC 2508URL: http://www.faqs.org/rfcs/rfc2508.html (1999-11-30)

[32] Schulzrinne H. Casner S. Frederick R. Jacobson V. (January 1996). RTP: A TransportProtocol for Real-Time Applications. RFC 1889URL: http://www.faqs.org/rfcs/rfc1889.html (1999-11-25)

[33] Miller C.K. (1999) Multicast Networking and Applications. Reading, Mass.: Addison-WesleyISDN: 0-201-30979-3

[34] RealNetworks (1998). Real Time Streaming Protocol (RTSP) into firewalls, proxies, andother intermediary devices. ver2.0.URL: http://docs.real.com/docs/proxykit/rtspd.pdf (1999-11-18)

[35] Rescorla E. Schiffman A. (August 1999). The Secure HyperText Transfer Protocol.RFC 2660URL: http://www.faqs.org/rfcs/rfc2660.html (1999-11-18)

[36] NorDig (2000) NorDig SpecificationsURL: http://www.svt.se/nordig/NorDig1_2.pdf (2000-02-02)

[37] Peterson L. L. & Davie B. S (1996). Computer Networks. San Francisco, Calif.: MorganKaufmann Publishers. ISBN: 1-55860-368-9

[38] Information Sciences Institute.(September 1981). TRANSMISSION CONTROL PROTOCOL,RFC 793URL: http://www.faqs.org/rfcs/rfc793.html (1999-11-16)

[39] Fluckiger F. (1999) Understanding networked multimedia: applications and technology.London: Prentice-Hall, ISDN: 0-13-190992-4

[40] Deering S. (August 1989). Host Extensions for IP Multicasting, RFC 1112URL: http://www.faqs.org/rfcs/rfc1112.html (1999-11-30)

[41] Handley M. & Jacobson V. (April 1998). SDP: Session Description Protocol, RFC 793URL: http://www.faqs.org/rfcs/rfc2327.html (1999-11-28)

[42] Bengtsson M. & Bensow. A. & Radifinia S. (1998). Kriterier för databasval. Uddevalla:Högskolan Trollhättan/Uddevalla Examensarbete Systemvetenskap, SV1998:14)

[43] Danielsen A. (1999). The Evolution Of Data Models And Approaches To Persistence InDatabase Systems.URL: http://www.hin.no/~asd/publications/essay.html (1999-11-30)

[44] SUN Microsystem (1999). The JDBC API.URL: http://java.sun.com/marketing/collateral/jdbc_ds.html. (1999-11-25)

[45] Callahan T. (1999). So you want a stand-alone database for Java.URL: http://www.sys-con.com/java/feature/3-12/standalonedbforjava/index_b.html (1999-11-30)

[46] Weblogic (1999). Choosing a Java Database Connectivity driver.URL: http://www.weblogic.com/docs/techoverview/jdbc.html (1999-11-25)

[47] Nance B. (1999). Examining The Network Performance Of JDBC.URL: http://www.networkcomputing.com/810/810ws2.html (1999-11-30)

[48] Reese, G. (1997). Database Programming with JDBC and Java. Cambridge: O'ReillyISBN: 1-56592-270-0

[49] Atkinson Leon. (1999). Core PHP programming; using PHP to build dynamic web sites. NJ:Prentice Hall PTR. ISBN 0-13-020787-X

[50] Bakken, S.S & Aulbach, A. & Schmid, E. & Winstead, J. & Wilson, L.T.& Lerdorf, R &Suraski, Z. (1999). PHP Manual.URL: http://www.php.net/manual/ (1999-11-08)

[51] Fleischman R. (1999). NETSCAPE ONE TOOLS OVERVIEW.URL: http://developer.netscape.com:80/viewsource/archive/tools2.html (1999-11-16)

[52] Chappell D. (1996). Understanding ActiveX and OLE. U.S.A: Microsoft Press

[53] Williams A. & Barber K. & Newkirk P. (1998). Active server pages black book. Albany, NY :Coriolis ISBN 1-57610-247-5

[54] Hettihewa S. (1999). Lär dig Active Server Pages på 3 veckor. Sundbyberg : Pagina ISBN:91-636-0522-8

Page 63: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

References_________________________________________________________________________________________

Web based EPG 56

[55] Microsoft (1999). DCOM.URL : http://msdn.microsoft.com/isapi/msdnlib.idc?theURL=/library/psdk/dasdk/mdad2jsd.htm(1999-11-16). Microsoft ActiveX Data Object , Glossary

[56] Goodwin Peggi. (1998). COM, ActiveX Controls, and Microsoft Windows CE. MicrosoftCorporationURL: http://msdn.microsoft.com/library/backgrnd/html/msdn_cecomactx.htm (1999-11-16)

[57] Nokia (1999). Nokia Mediamaster 9730 C.URL: http://www.nokia.se/

[58] Trott F. (1998). Enhanced TV. Linköping: Linköping Universitet. Examensarbete LiTH-IDA-Ex-98/49

[59] ReplayTV (1999). Watch Replay in actionURL: http://www.replaytv.com/demo/index.html (2000-01-15)

[60] Tjohoo AB (2000). TV-GuidenURL: http://www.tjohoo.se/tv_guiden/ (2000-01-15)

[61] Tvprogram.nu (2000). TV-GuideURL: http://www.tvprogram.nu/ (2000-01-15)

[62] DagensTV (2000). TvguideURL: http://www.dagenstv.com/ (2000-01-15)

[63] Svenska Dagbladet (2000). TV-GUIDENURL: http://www-tv.svd.se/ (2000-01-15)

[64] Spray AB (2000). SprayTVURL: http://www.spray.se/tv/ (2000-01-15)

[65] Microsoft (2000). ODBC Programmers ReferenceURL : http://msdn.microsoft.com/ (2000-01-15)MSDN Library – Platform SDK – Data Access Services – Microsoft Data Access Components (MDAC) SDK –Microsoft Open Database Connectivity (ODBC) - ODBC Programmers Reference

[66] [G] Geiger K. (1995). Inside ODBC. U.S.A: Microsoft Press[67] Sen S. & Rexford J. & Towsley D. (1998). Proxy Prefix Caching for Multimedia Streams.

Massachusetts: University of Massachusetts. Technical Report 98-27[68] Sen S. & Dey J. K. & Towsley D. & Kurose J. F. & Salehi J. D. (199X). Playback restart in

interactive streaming video applications. Massachusetts: University of Massachusetts(Department of Computer Science).

[69] Eager D. L. & Ferris M. C. & Vernon M. K. (1998). Optimized Regional Caching for On-Demand Delivery

[70] DVB (2000). DVB Home pageURL: http:www:dvb.org (2000-01-24)

[71] Communications LAB (1999). DVB Digital Versatile BroadcastingURL: http://lab1.commslab.gov.au/lab/lectures/factsdvb/macavock1/ppframe.htm

[72] Allaire Corporation (1999). ColdFusion White Paper version 4.5URL: http://www.allaire.com/Products/ColdFusion/productinformation/ (2000-02-19)

[73] Allaire Corporation (1999). General Information FAQURL : http://www.allaire.com/products/coldFusion/generalInformation/FAQs/ (2000-02-19)

[74] Java Development Kit (JDKTM) (2000). Signed Applet ExampleURL : http://java.sun.com/security/signExample/ (2000-03-28)

[75] Hunter J. & Crawford W. (1998). JAVA Servlet Programming Sebastopol, CA : O'ReillyISBN: 1-56592-391-X

[76] Goodman D. (1998). JavaScript bible Foster City, Calif. : IDG Books WorldwideISBN: 0-7645-3188-3

[77] Abraham .M (1999). Consumer Set-top box Operating System.Report no MM9902MI. Cahners In-Stat Group.URL: http://www.instat.com/abstracts/mm/1999/mm9902mi_abs.htm (2000-04-06)

[78] OpenTV (2000) Products. URL : http://www.opentv.com/products/systems/#en (2000-04-06)[79] Torris T (Feb 2000). Europes iDTV Walls Come Down. The Forrester Report

URL : http://www.forrester.com[80] Canal+ Technologies (2000). MEDIAHIGHWAY

URL : http://www.canalplus-technologies.com/media/mediahighway.html[81] Aftonbladet (2000). AftonbladetTV

URL: http://www3.aftonbladet.se/tv/justnu.asp (2000-05-16)

Page 64: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

References_________________________________________________________________________________________

Web based EPG 57

Verbal reference list

Schüler Eleonor, Kundtjänst , Teracom,

Geoffroy Kelly, sales request , Replay Networks

Murray Kevin , General Info Request , Replay Networks

Andersson Marcus, Kundtjänst, Teracom AB

Murray Michelle, Nortel Networks Corporation

Lidholm Ola, Nokia, Contact: [email protected]

Rexford Jennifer Rexford, AT&T Labs Research

Kroon Per, Telia Infomedia Television AB

Gustavsson Anneli, Telia Infomedia Television AB

Mican Fredrik, Editor-in-chief Tjohoo.AB

Nordebo Peter Editor-in-chief Avisa Centralredaktion AB

Sohlberg Joakim SvD

Palmqvist Johan ,Digital TV, SVT

Jacobsson Ewa, Creative Director, Comhem AB

Fuller Brad, Senior Product Manager – OS Products, OpenTV

Andersson Jonas, Senior Product Specialist – Java, SUN Microsystems AB

Marchal Pierre, Account Manager, OPEN TV

Page 65: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 58

Appendix

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

TjohooIts own by Tjohoo AB :

Figure 10-1 Tjohoo´s EPG [60]

TVPROGRAM.NUThis is own by Rockitmedia

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

DagensTVThis EPG is own by Avisa Centralredaktion AB

Figure 10-3 DagensTV´s EPG [62]

TV-GUIDENSvenska Dagbladet (SvD) owns this EPG.

Figure 10-4 SvD´s EPG [63]

Spray owns this EPG

Figure 10-5 Spray´s EPG [64]

Aftobladet owns this EPG

Figure 10-6 Aftonbladet´s EPG [81]

Page 66: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 59

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

Amount ofchannelinformation

Number ofchannels

Languagesent to client

The developenvironment

Create userprofiles

Searchparameters

Tvprogram.nu 1 day 52 HTML,JavaScript

CGI No Time, categoryandFree text.

Tjohoo 1 week 24 HTML,JavaScript

PHP3 No Day, time andcategory

SprayTV 3 days 25 HTML,JavaScript

JSP No Time andcategory

DagensTV 2 weeks 82 HTML ASP Yes Channel,category, timeand day

SvD 8 days 99 HTML,JavaScript

CGI Yes Channel,category, startand stop time.

Aftonbladet 2 weeks 63 HTML,JavaScript

ASP Yes Channel,category, timeand day

Figure 10-7 EPG overview

Script environments for creating EPG

ASPASP (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 ofserver-side and client-side script.

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

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

Page 67: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 60

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 usedprovided that the server has the appropriate scripting engine. The default language for IIS is VBScriptbut other languages like JScript, PHP and JavaScript can also be used, since the appropriate scriptingengine exist [53].

Scripts can be used together with Java applets and ActiveX controls to increase the web pagesfunctionality. Both Java applets and ActiveX controls can be defined as object-oriented applications orjust objects. Since objects like Applets and ActiveX are set in HTML, using the OBJECT tag. There isno dependency of the script language used with HTML. The object on the other hand has to besupported by the browser. Internet Explorer (IE) supports ActiveX controls and both NetscapeNavigator and IE support Java applets. Netscape can support some ActiveX controls by using aspecial plug-in [51].

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

There is a different regarding the download between ActiveX and Applets. An ActiveX control isdownloaded only once while Applets will be re-loaded every time. The only time ActiveX controls haveto be re-downloaded to a user machine is when a new version comes out. When the browserencounters a web page with an ActiveX control it first checks the users local system registry to find outif that component is available on the machine. If it is available, the browser displays the page andactivates the control. If the control is not already installed on the user machine, the browserautomatically find and install the component over the web, based on the location specified by thedeveloper creating the page. What separates the different applets and ActiveX controls is that appletshave 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 mainobjects 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 adatabase. The SQL expression is sent and an object of Recordset is created to handle the reply fromthe database. ASP can access information stored in any Database connection can be made to anyODBC data source.

ActiveX historyIt started with OLE 1, (Object Linking and Embedding) a technology for creating compounddocuments. For example a user could combine a spreadsheet created with Excel, to a text documentcreated with Word. While OLE's first release was focused solely on compound documents, the nextrelease, OLE2, introduced COM [56]. COM grew out of the OLE architects desire to provide a moregeneral mechanism for allowing one piece of software to provide services to another. While OLE2 wasthe 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 compounddocuments.

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

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

Page 68: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 61

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

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

Figure 10-8 A COM object [52]

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

Figure 10-9 Application accessing COM objects [52]

PHP3PHP (Personal Home Page) is one of many server-side script technologies where html is embeddedwith the script language. The PHP language is built on C and Java, where the much of the functions inthose 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 thefile extension php3. PHP is free and the complete source code can be downloaded form the PHP website. The language was developed in 1994 by Rasmus Lerdorf, and the first version used by otherswas 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 scriptwill 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 thesetags is expected to be PHP code, PHP offers two other ways to mark the code.

< ? php … ?>

<script language = ”php”></script>

Page 69: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 62

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

ColdfusionColdfusion is a web application server with support of serveral different technologies, which ispresented 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 isa server-side script. Its syntax resembles closely to HTML.

Figure 10-10 ColdFusion application processing [72]

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

1. The client sends an HTTP request by its web browser. This request is sent via the Internet or anIntranet.

2. The web server will pass the request to the appropriate ColdFusion page and through the serverAPI 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, whichcould be a database, SMTP servers or other applications.

4. After the interaction, Coldfusion will dynamically generate an HTML web page, which is returnedto the web server.

5. The web server returns the page that was generated back to the user.

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

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

Page 70: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Appendix_________________________________________________________________________________________

Web based EPG 63

JavaScriptNetscape developed this language in 1995 in parallel with their web server. It was originally namedLiveScript and the database connectivity was named Livewire. Later the same year, Netscape andSun announced that the language thereafter would be named JavaScript. JavaScript can be used asboth client side and server side script [76]. The different between them are that server side scriptingperforms the processing on the server and pushes pure html to the client. When the client through itsbrowser 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 pagefrom top to bottom and then displays the result of the HTML and execute the script statements. Thismeans 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 filesare compiled into bytecode executable files. When the client’s browser requests the application, theruntime engine will dynamically generate the HTML page and run any server-side JavaScriptstatements found on the page. It then sends the resulting page over the network to the client, wherethe result will be displayed.

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

Page 71: Web Based EPG1015266/FULLTEXT01.pdf · electronic program guide to find the shows they are interested in. The Swedish existing web based EPG (Electronic program guide) that where

Abbreviations

Web based EPG 64

Abbreviations

ADSL Asymmetric Digital Subscriber Line

API Application Programming Interface

ATM Asynchronous Transfer Mode

DBMS Database management system

DSLAM Digital Subscriber Line Access Multiplexor

DVB Digital Video Broadcast

EPG Electronic Program Guide

JDBC Java Database Connectivity

MHP Multimedia Home Platform

MPEG Moving Picture Expert Group

NorDig Nordic Digital Television

NTSC National Television Systems Committee

ODBC Open Database Connectivity

PAL Phase Alternation Line

PVR Personal Video Recorder

SECAM Sequentiell a’ emoire

STB Set-top Box

VDSL Very high date rate Digital Subscriber Line

VOD Video-On-Demand