MScthesis

75
TAMPERE UNIVERSITY OF TECHNOLOGY Department of Information Technology PETTERI KERMINEN HYPERMEDIA FOR DIGITAL SIGNAL PROCESSING Master of Science Thesis The subject has been accepted at meeting of the department council on May 13th, 1998 Supervisor: prof. Moncef Gabbouj

Transcript of MScthesis

Page 1: MScthesis

TAMPERE UNIVERSITY OF TECHNOLOGYDepartment of Information Technology

PETTERI KERMINENHYPERMEDIA FOR DIGITAL SIGNAL PROCESSINGMaster of Science Thesis

The subject has been accepted at meeting ofthe department council on May 13th, 1998Supervisor: prof. Moncef Gabbouj

Page 2: MScthesis

I

PREFACE

I have done this research work at Tampere University of Technology, Pori School ofTechnology and Economics as a research assistant. I would like to thank my super-visor professor Moncef Gabbouj and my instructor Dr. Tech. Jari Multisilta (bothfrom Tampere University of Technology, Pori School of Technology and Economics)for all advice and guidance during the project.

I would like to thank all my colleagues at Tampere University of Technology, PoriSchool of Technology and Economics for their help and advice concerning thisproject.

I would like to thank my parents and brothers for their encouragement during stressfulphases of the project. Special thanks to my dear wife Anitta for her favorable andencouraging attitude during the project.

Pori, 28.5.1998

Petteri Kerminen

Leppäkorventie 12 D 1528660 PORIFinlandTel. (02) 646 9456

Page 3: MScthesis

II

TABLE OF CONTENTS

PREFACE........................................................................................................................... ITABLE OF CONTENTS................................................................................................. IIABSTRACT..................................................................................................................... IVTIIVISTELMÄ .................................................................................................................VABBREVIATIONS ......................................................................................................... VI1 Introduction .................................................................................................................... 12 Computer Assisted Learning and Distance Learning ..................................................... 3

2.1 Learning Theories ................................................................................................................32.2 Student modelling .................................................................................................................32.3 Changes to Traditional Teaching.........................................................................................42.4 Future techniques .................................................................................................................5

3. Internet and WWW ....................................................................................................... 63.1 Network Structure................................................................................................................63.2 Internet Architecture ...........................................................................................................73.3 Client/Server Concept ..........................................................................................................93.4 TCP/IP Protocols ..................................................................................................................9

3.4.1 Internet Protocol (IP) ....................................................................................................93.4.2 User Datagram Protocol (UDP) .................................................................................. 103.4.3 Transmission Control Protocol (TCP) ........................................................................ 103.4.4 Other Useful TCP/IP Protocols................................................................................... 10

3.5 Email-, File Transfer - and Hypertext Transfer Protocols................................................ 113.5.1 Simple Mail Transfer Protocol (SMTP) ..................................................................... 113.5.2 Post Office Protocol (POP3)........................................................................................ 113.5.3 File Transfer Protocol (FTP) ...................................................................................... 113.5.4 Hypertext Transfer Protocol (HTTP)......................................................................... 12

3.6 Information on the WWW.................................................................................................. 143.7 Data Formats Supported by WWW-browsers Directly..................................................... 14

3.7.1 HTM/HTML ............................................................................................................... 143.7.2 JPEG ........................................................................................................................... 153.7.3 GIF .............................................................................................................................. 153.7.4 Other Data Formats Supported Directly by Browsers............................................... 15

3.8 Data Formats Supported by WWW-browsers with Plug-ins or Helper Programs.......... 163.8.1 MPEG.......................................................................................................................... 163.8.2 M-files.......................................................................................................................... 17

4 Different Network Solutions ..........................................................................................184.1 Connection Types ............................................................................................................... 184.2 Transmission Medium ........................................................................................................ 184.3 Network Topologies ............................................................................................................ 194.4 Achieved Bit Rates in Different Networks and Connections............................................. 204.5 Required Network Bit Rates for Different Data Types..................................................... 21

5 Server and Client Types ................................................................................................235.1 WWW-servers .................................................................................................................... 23

5.1.1 Apache......................................................................................................................... 235.1.2 Microsoft IIS ............................................................................................................... 245.1.3 Netscape....................................................................................................................... 255.1.4 NCSA HTTPd ............................................................................................................. 25

5.2 WWW-clients ..................................................................................................................... 255.2.1 Netscape Navigator ..................................................................................................... 265.2.2. Microsoft Internet Explorer ...................................................................................... 26

6 HTML............................................................................................................................276.1 HTML History.................................................................................................................... 276.2 Most Important HTML Commands................................................................................... 286.3 Lacks of HTML-standards................................................................................................. 29

Page 4: MScthesis

III

6.4 Future Visions..................................................................................................................... 29

7 Java ................................................................................................................................317.1 Properties of The Java Language....................................................................................... 317.2 Java History........................................................................................................................ 327.3 Java Future Vision.............................................................................................................. 337.4 Java Programming ............................................................................................................. 337.5 Applets and Scripts............................................................................................................. 347.6. Browsers that Support Java .............................................................................................. 347.7 Calling Plug-ins with Java.................................................................................................. 34

8 Softwares Available for Exercise Generating / Visualization ........................................368.1 Java ..................................................................................................................................... 368.2 MATLAB............................................................................................................................ 368.3 Maple V .............................................................................................................................. 378.4 Mathcad .............................................................................................................................. 378.5 HotEqn................................................................................................................................ 37

9 Requirements for Servers and Clients ...........................................................................399.1 Operating systems .............................................................................................................. 399.2 Browser............................................................................................................................... 399.3 Servers’ and Clients’ Hardware ........................................................................................ 409.4 Network .............................................................................................................................. 419.5 Network Security................................................................................................................ 419.6 Exercises and Exams .......................................................................................................... 429.7 Copyrights........................................................................................................................... 429.8 Copy Protection .................................................................................................................. 439.9 Time Consumption on Server and Network Load ............................................................. 43

10 Different Solutions........................................................................................................4510.1 Hypermedia Type ............................................................................................................. 4510.2 Server Solutions ................................................................................................................ 4510.3 Editors............................................................................................................................... 46

10.3.1 HTML Editors........................................................................................................... 4610.3.2 Other Hypermedia Editors and Softwares ............................................................... 47

10.4 WWW-layout .................................................................................................................... 4710.4.1 Equations as GIFs vs. as HotEqn images.................................................................. 4810.4.2 Frames vs. No Frames ............................................................................................... 48

10.5 Image Format Conversion ................................................................................................ 4810.6 Naming Technique of Different Objects .......................................................................... 4810.7 Automatic Link Generator............................................................................................... 4910.8 Java Editors and Compilers ............................................................................................. 49

11 Chosen System .............................................................................................................5211.1 Type of Hypermedia ......................................................................................................... 5211.2 Editor and Other Programs ............................................................................................. 5211.3 Graphical User Interface.................................................................................................. 5311.4 Server(s) ............................................................................................................................ 5611.5 Data Formats .................................................................................................................... 5611.6 Exercise Generation ......................................................................................................... 57

12 WWW-realization of DSP Hypermedia.......................................................................5812.1 NT Workstation Installation and Configuration.............................................................. 5812.2 Peer Web Services: Installation and Running ................................................................. 5812.3 FrontPage.......................................................................................................................... 5912.4 Amount of Information on One WWW Page ................................................................... 6212.5 Possibility to Transfer Hypermedia on Another Server .................................................. 63

13 Conclusions ..................................................................................................................64REFERENCES.................................................................................................................65

Page 5: MScthesis

IV

ABSTRACT

TAMPERE UNIVERSITY OF TECHNOLOGYDepartment of Information Technology,Pori School of Technology and EconomicsKERMINEN, KAI PETTERI: Hypermedia for Digital Signal ProcessingMaster of Science Thesis, 67 pagesExaminer: professor Moncef GabboujFunding: Tampere University of Technology, Pori School of Technology and

EconomicsMay 1998Key words: Hypermedia, Digital Signal Processing, Distant Learning, World Wide

WebUDC: 621.391.8, 681.324

Hypermedia offers a modern way to make the material which supports teaching. Therequirements which are set on different sectors have been clarified in this study inconnection with the production, distribution and use of hypermedia. The purpose ofthe study was to produce the material which supports the teaching of the digital signalprocessing course and with which the students would become acquainted both beforethe actual course and during it. This course was chosen as a target because somestudents have had problems with the course because of its theoretical content.

In the study software and protocols, which are related to use of Internet based hyper-media, have been compared on the basis of literature and WWW. The comparisons ofthe software required for the actual production and distribution of hypermedia havebeen carried out based on literature and tests. The ability of the WWW browsers tovisualize the produced hypermedia has been analyzed with tests. Solutions to thesecurity problems and copyrights subjects have been dealt with and solutions havebeen presented. Attempts were made to find solutions to the automatic productionand checking of the exercises by asking for solution proposals of the companies whichmake software and by looking for information on the Internet.

The study concentrated on looking for solutions to the developing of the hypermediain the PC environment. In the development phase a Microsoft NT 4.0 workstationwith Peer Web Service was used as a WWW server. The HTML code was producedwith Microsoft FrontPage and with the ASCII editors. Equations were typeset withMicrosoft Equation Editor and were converted to GIF format with image processingsoftware. Java programs were made with Java Development Kit. Some commandsfrom the newest HTML version 4.0 have been used and these work only withNetscape Navigator 4.0 (or a newer model).

The production of good quality hypermedia takes plenty of time and requires versatileskills. With one person's work contribution the completion of the work takesconsiderably more time, also relatively, than the same hypermedia produced by ateam. On the basis of the study tools which are used for production of the hypermediacan be found for all the other purposes except for the generation of exercises to theWWW environment. The problem of the Java tools is that the bytecode, produced by tools, is partially inoperative in most browsers.

Page 6: MScthesis

V

TIIVISTELMÄ

TAMPEREEN TEKNILLINEN KORKEAKOULUTietotekniikan osasto,Porin korkeakouluyksikköKERMINEN, KAI PETTERI: Hypermedia for Digital Signal ProcessingDiplomityö, 67 s.Tarkastaja: professori Moncef GabboujToukokuu 1998Rahoittaja: Tampereen teknillinen korkeakoulu, Porin korkeakouluyksikköAvainsanat: hypermedia, digitaalinen signaalinkäsittely, etäoppiminen, World Wide

WebUDK: 621.391.8, 681.324

Hypermedia tarjoaa nykyaikaisen tavan tehdä opetusta tukevaa materiaalia. Tässätutkimuksessa on selvitetty eri osa-alueille asetettavia vaatimuksia hypermediantuottamiseen, jakeluun ja käyttöön liittyen.

Tutkimuksen tarkoituksena oli tuottaa digitaalisen signaalinkäsittelyn -kurssin ope-tusta tukeva materiaali, johon opiskelijat tutustuisivat sekä ennen varsinaista kurssiaettä kurssin aikana. Kyseinen kurssi valittiin kohteeksi, koska joillakin opiskelijoilla onollut ongelmia ko. kurssin kanssa sen teoreettisuuden vuoksi.

Tutkimuksessa on vertailtu Internetiin sijoitettavan hypermedian käyttöön liittyvienohjelmistojen ja protokollien toimintaa kirjallisuuden ja WWW:n perusteella. Hyper-median varsinaiseen tuottamiseen ja jakeluun tarvittavien ohjelmistojen vertailuja onsuoritettu kirjallisuuteen ja käyttökokeisiin perustuen. WWW-selainten sopivuuttatuotetun hypermedian katseluun on selvitetty käyttökokeilla. Tietoturvaongelmienratkaisuja ja tekijänoikeuksien suojaamismahdollisuuksia on käsitelty ja ilmenneisiinongelmiin on esitetty ratkaisuja. Harjoitustehtävien automaattiseen tuottamiseen jatarkastamiseen pyrittiin löytämään ratkaisuja tiedustelemalla ratkaisuehdotuksia oh-jelmistoja valmistavilta yrityksiltä ja etsimällä tietoa Internetistä.

Tutkimus keskittyi etsimään ratkaisuja PC-ympäristössä tapahtuvaan hypermediankehittämiseen. Kehitysvaiheessa palvelimena käytettiin Microsoft NT 4.0 work-stationia Peer Web Servicellä varustettuna. HTML-koodi tuotettiin Microsoft Front-Pagella ja ASCII-editoreilla. Kaavat tehtiin Microsoft Equation Editor -ohjelmalla jamuutettiin GIF-muotoon kuvankäsittelyohjelmistoilla. Java-ohjelmien tekoon käy-tettiin Java Development Kitiä. Hypermediassa on käytetty muutamia uusimmanHTML-standardin 4.0 mukaisia komentoja, jotka toimivat oikein ainoastaan NetscapeNavigator 4.0 selaimen (tai uudemman) kanssa.

Tasokkaan hypermedian tuottaminen vie runsaasti aikaa ja vaatii monipuolisia taitoja.Yhden hengen työpanoksella työn valmistuminen vie suhteellisestikin huomattavastienemmän aikaa kuin työryhmän yhdessä tuottaman hypermedian valmistuminen.Tutkimuksen perusteella hypermedian tuottamiseen käytettäviä työkaluja löytyykaikkiin muihin tarkoituksiin paitsi harjoitusten generointiin WWW-ympäristössä.Java-työkalujen ongelmana on niiden tuottaman koodin osittainen toimimattomuususeimmissa selaimissa.

Page 7: MScthesis

VI

ABBREVIATIONS

ADSL Asymmetric Digital Subscriber LineAPI Application Programming InterfaceASCII American Standard Code for Information InterchangeATM Asynchronous Transfer Mode.b bitB Bytebps bit(s) per secondBps Byte(s) per secondCAL Computer Assisted LearningCD-ROM Compact Disc-Read Only MemoryCERN European Laboratory for Particle PhysicsCGI Common Gateway InterfaceCPU Central Processing UnitDDE Dynamic Data ExchangeDHTML Dynamic HTMLDNS Domain Name Service/ServerDSP Digital / Discrete-time Signal ProcessingE-IDE Extended IDEFAT File Allocation TableFTP File Transfer ProtocolGIF Graphics Interchange FormatGUI Graphical User InterfaceHDSL High bit rate Digital Subscriber LineHTML Hypertext Markup LanguageHTTP / http Hypertext Transfer ProtocolHTTPd / httpd Hypertext Transfer Protocol daemonHTTP-NG Hypertext Transfer Protocol - Next GenerationIDE Intelligent Drive ElectronicsIEEE Institute of Electrical and Electronics EngineersISDN Integrated Services Digital NetworkISP Internet Service ProviderJDK Java Development KitJPEG Joint Photographic Expert GroupLAN Local Area NetworkLZW Lempel-Ziv & Welsh-compressionMIME Multipurpose/Multimedia Internet Mail ExtensionMPEG Motion Picture coding Experts GroupMTU Maximum Transmission UnitNCSA National Center for Supercomputing ApplicationsPC Personal ComputerPOP3 Post Office Protocol version 3RAM Random Access MemoryRFC Request For CommentsSCSI Small Computer System InterfaceSGML Standard Generalized Markup LanguageSMTP Simple Mail Transfer ProtocolTCP/IP Transmission Control Protocol/Internet Protocol

Page 8: MScthesis

VII

UDP User Datagram ProtocolURL Uniform Resource LocatorW3C World Wide Web ConsortiumWAV RIFF wave is a sound format by Microsoft and IBMVRML Virtual Reality Modelling LanguageWWW / www World Wide WebWYSIWYG What You See Is What You Get

Page 9: MScthesis

1

1 Introduction

The old definition for hypermedia was ”hypermedia = multimedia + hyperlinks”. Nowa days multimedia can also contain links and so the border between terms hypermediaand multimedia has been blurred. Hypermedia contains documents and embeddedobjects inside the documents. Some of these embedded objects for example a videosequence can be displayed on a separate window. Each document in the hypermediamaterial has been connected to the other material with hyperlinks.

One of the biggest reason for increasing popularity of networked multimedia has beenthe development work which has been done for the Internet. Faster networks andenhanced animation/multimedia facilities offer a good base for hypermediaprogrammers/producers. Schools and research centers have used the Internet manyyears. ISPs (Internet Service Provider) has started to market telephone line basedInternet connections to home users a couple of years ago. The pricing policy hasbecome more user friendly due to increasing competition. The amount of Internetconnections has risen almost exponentially. Java, a new network compatibleprogramming language, has brought network hypermedia programming to the levelwhere more and more programmers can use it.

The popularity of continuing education has been increased quickly. In the computerscience field this further education is a necessity. The rapid development on this fieldof science requires much teaching resources but also offers many new techniques forteaching other subjects. The computer assisted learning and hypermedia are some ofthese new techniques. Through traditional further education the travelling costs andlecturers’ fees are significant amounts. CAL can decrease these costs because someportion of this education can be done at home (requires Internet connection) or atschool but without present lecturer. Lecturers can be contacted by video negotiationtechniques or by mail.

Distant learning, hypermedia based learning environments and also other hypermediasolutions have been studied extensively during the last years. In Finland, severalmillion Finnish marks have been spent on hypermedia research. Equipment have adominant meaning in many of these research topics.

In this study the aim was to develop hypermedia based learning material for digitalsignal processing course. The aim was that this material does not require any specialequipment neither on the server side nor on the client side. This kind of learningenvironment can be build over the Internet. Some topic specific software might beneeded on the client side. In this book the most important techniques and protocolswill be discussed. Several solutions will be proposed and the most suitable ones willbe presented in details.

Similar works have been done earlier. Jari Multisilta has done an environment for amatrix calculus course at Tampere University of Technology Department ofMathematics. This system has been a part of his doctoral thesis. The system can befound from URL: http://matwww.ee.tut.fi/matriisi/toc73109.html. [Multisilta 96] O.Nykänen and S. Pohjolainen are implementing a basic course for mathematics inWWW using general purpose computer algebra system Maple. [Nykänen 98,pp. 73-80]. This system can be found from URL:http://matriisi.ee.tut.fi/~onykane/papers/demos/maple/.

Page 10: MScthesis

2

It is not possible to implement a pedagogically good learning environment, beforestudying some basic learning theories. Because of this fact some modern learningtheories are presented in chapter 2.

The Internet is the broadest medium by which hypermedia is delivered. WWW basedsystems are used on the Internet. Computers on the Internet communicate with eachother using protocols and protocol applications. These issues are discussed in chapter3.

Computers must be connected to each other before they can communicate. There aredifferent solutions to connecting these computers. Cable types and networktopologies are discussed in chapter 4.

WWW systems are based on client-server architecture. Most server and client typesused are presented and analyzed in chapter 5.

Networked hypermedia on the Internet should be done with a common programminglanguage. HTML is the most common language for implementation of static parts onnetworked multimedia. In chapter 6 HTML and some future visions of HTML arepresented.

A learning environment needs some interactive parts and there should be a languagefor this purpose. Some years ago Java language was introduced and its popularity hasbeen increasing quickly. In chapter 7 the history of Java language, its properties andrequirements for browsers are discussed.

In learning environment exercises and demonstrations should be generated andvisualized with some programs. Some systems have been analyzed and this software isdiscussed in chapter 8.

The specific hypermedia for DSP sets some special requirements on both the serverand client side of the system. Copyright, copy protection and identification areimportant issues in a learning environment. These issues are discussed in chapter 9.

In chapter 10 some solutions, which are available for implementing hypermediamaterial and for operation with it are discussed.

The system chosen for the implementation and maintenance of the hypermediaenvironment is presented in chapter 11.

In chapter 12, the building process of this hypermedia environment is described.

Conclusions and suggestions for further work are presented in chapter 13.

Page 11: MScthesis

3

2 Computer Assisted Learning and Distance Learning

On chapters 2, 3 and 4 some technologies that are needed for implementation of DSPhypermedia course are discussed.

The Internet provides a good platform for computer assisted distance learning. Aneducation material which is on the Internet can be accessed world-wide. Distancelearning is needed because now a days the development in the computer community isso rapid that workers should participate in courses every month or read some books iorder to update their knowledge. It is difficult to find time which is suitable foreveryone who attend the course. The suitable place is also difficult to find quite often.The distance learning is one solution for these problems. Traditionally distancelearning has meant that people read books at home and worked out home exercisesand ”take home exams”. WWW provides more interactivity to the learning processes.

2.1 Learning Theories

Erno Lehtinen has mentioned seven different learning theories in his book.Constructive learning claims that learning is not a passive process but active storingof knowledge and skills. Cumulative and structural learning mean that oldknowledge and the organization techniques of those knowledge are important forfurther learning. Self guidance and strategic learning claim that an efficient learningis a skill which will be developed after experience and exercises. Goal orientedlearning means that although it is possible to learn ”accidentally” learning is morepowerful if it has clear aim. Abstract learning is a term which means that there aretwo modes for knowledge. The first mode is the knowledges which is produced byscientific research and the second mode is the knowledge which is studied in practicalsituations. According abstract learning theory knowledge which have been learnt inthe second mode can be applied directly only to situations where it has been learnt.Co-operatively learning means that learning is a social process where students learnbest through creative discussions, team work and other social interactions.Individually different learning theory based on works in which it was clarified thatearlier knowledges and comprehension habits have major affects on the learningprocess. [Lehtinen 97, pp. 13 - 21]

For hypermedia programmer these theories tell that the material which suits best foreveryone is difficult to design (if not impossible). It will be difficult also to tell userwhich parts of hypermedia he/she has already read. In WWW based hypermedia thiscan be done with the colors for visited/unvisited links. This operates correctly only ifuser has own computer, because these link colors are bound to the IP address. Thematerial should has connections to other courses (which are lectured before) and tosubject which are handled ”earlier” in the hypermedia material. According to thetheories which are mentioned above this will help the learning process.

2.2 Student modelling

One important work which should be done before implementing computer assistedlearning environment is student modelling. The educational degree of students is oneof the main factor which affects the degree of material which should be on the CALenvironment. Three other main subjects are what the users should learn on the course,

Page 12: MScthesis

4

how this studying is intended to do and why this course is suitable for CALenvironment. [Stauffer/1]

It is easier for a programmer if all students have the same knowledge before starting ahypermedia course. Otherwise programmers should divide the material so that userswith different backgrounds can find information which is suitable for them. On WWWbased hypermedia this can be done so that the basic material is targeted for ”normal”users, some extra exercises or information for more advanced users will be offeredthrough links and some extra help for beginners will be offered through links.

The aim of the CAL material should be clear for programmer whole the time duringthe development of a course. The material should be prepared so that navigationthrough it is easy. All important subjects should be placed so that users can find thosesubjects easily. The material can be split to topics so that students can understandwhich things belong to the same topic.

If a CAL environment is intended to support the traditionally lectured course (eitherbefore the course or during the course) the material can be shorter than for CALwhich is prepared for covering the entire course. If students can get some consultingsupport from teachers by email or through some other medium the material can be asshort as in the case of traditionally lectured course.

Before implementing a course, the suitability for CAL system must be inspected.Some topics like virtual environments are very suitable for CAL environments.Almost every subject can be taught through CAL, but those which need computersimulations or calculations fit even better the CAL system than traditional lectures.

2.3 Changes to Traditional Teaching

Computers have opened many opportunities to innovative learning. The developmentof computer networks, especially the Internet, have enabled the computer assistedlearning much more effectively than before. Now the material can be situated onseveral servers which can be geographically anywhere where the Internet is. This is apossibility to teachers because now one teacher can prepare only a part of material tothe larger entity. Also students can get material to their projects from several sources.”In traditional studying only a few reference books are used” [Lehtinen 97, pp. 34 -35]. The problem of project work in traditional studying is the lack of references. Inthe CAL systems the problem is how to limit the searches of references so that goodreferences can be found.

The greatest advantage of CAL systems is the independence from the place and thetime [Lehtinen 97, p. 46]. The problem for new techniques is that users do not knowhow to utilize the advantages. The email systems have been used before the usage ofthe Internet (email systems inside a school or inside a company. Email is used forasking help from lecturers or exercise assistants. Email is a part of CAL systems. Theroles of teachers and students have been changed if the roles are compared to theroles in traditional learning environments. The change has been described: ”From the’Sage on the Stage’ to the ’Guide on the Side’ ”[Lehtinen 97, p.55]. In table 2-1someproperties of traditional learning process and CAL systems are compared.

Page 13: MScthesis

5

Traditional learningenvironment

Computer assisted learningenvironment

The response of learning belongs toteacher

The response of learning belongsto students

Students are passive during thelearning process

Students are active during thelearning process

Teacher presents subjects and facts Teacher helps students during thelearning process and organizesinformation

Students have only books and someout-of-date information

Students have a huge amount up-to-date information in thecomputer and in the network

The learning process is restricted tothe classroom

The learning process is extendedalso outside the classroom

Students are receiver of theinformation

Students are creative problemsolvers and users of theinformation

Table 2-1: Comparison between traditional and computer assisted learning[Lehtinen 97, p. 56]

CAL system should be designed so that these changes will be noticed. Interactionsbetween teachers and students are important. Contact lessons are one possibility totake care of these things and email will also act a great part in this communication.Discussion groups or news groups can be used for communication between students(in addition to email).

2.4 Future techniques

WWW based systems are now the most used solution for CAL. Network speeds willraise and so video and audio signals can be transferred faster than before. Fixedconnections to the Internet have already appropriate speed for animations and forvideo sequences. The home user has difficulties with these signals especially if theyhave modem connection to the Internet. ISDN connection is suitable for compressedvideo sequences (MPEG coded). The cable TV network bi-directional utilization isunder research. Aim is to build wideband (more than 2 Mbps) data transferringnetwork. Problem is that there is no so large free bandwidths where this ”backwardchannel” can be situated. HDSL and ADSL modems will be also the solution forbroadband connections to home users. New techniques like VRML (Virtual RealityModelling Language) and Java offer many opportunities for CAL systems.

Page 14: MScthesis

6

3. Internet and WWW

The Internet is a worldwide network where different kinds of information can betransferred between computers. The Internet network is maintained by severalorganizations. WWW (web) is a globally interconnected network containinghypermedia information. It consists of: the Internet (network), the document pointingsystem (URL), the protocol for transmission of hypermedia documents (HTTP) and aset of servers that respond to requests from browsers (or clients) for thosehypermedia documents. The WWW is a hypertext-based, distributed informationsystem created by researchers at CERN (European Laboratory for Particle Physics) inSwitzerland and France (project started 1989).

3.1 Network Structure

In the Internet computers are connected to each other or to other network equipmentwith cables. The computers are identified by addresses. A network consists of cablesand devices. A device can be a workstation, a client, a server, a printer, a router, abridge, a repeater etc. All these devices have own special tasks in the network. Theworkstation, the client (PC/MAC) and the printer are such devices that everyone whoworks with computer has used. Almost everyone has used servers (not necessaryknow that he has used it) for example for reading emails. The repeater repeats bitsfrom its input to its output. Repeaters are needed to gain signals. The bridge is anaddress based filter. It let repeats only those messages which has the destinationaddress on the other side of the bridge. Router is designed for selecting ”best”transferring path from a source to the destination. In figure 3-1 these devices havebeen situated in this example network.

There are some address systems for different purposes. Computers’ network cards areidentified by Ethernet addresses. Computers are identified by IP addresses (or DNScan identify them by names). Electronic mailboxes are identified by email addresses.Resources in the Internet are identified by URL addresses.

Ethernet address has been installed to network card when the card has been manu-factured. This address is a 48 bit number and so it does not limit the number of thecomputers in the network (allows almost 300 000 000 millions addresses). Ethernetaddresses are used with Ethernet network (coaxial cable computer network). IP

Router

Repeater

Repeater

Brid

ge

Repeater

Brid

ge

ServerLaser printer Server

Brid

ge

Laser printer

Figure 3-1: An example of network realization

Page 15: MScthesis

7

address is a 32 bits number. It allows 4 000 million different addresses and thisaddress space is almost full, because the explosive growth of the Internet andinefficient use of this available address base. It is difficult to operate with 32 bitsnumber. So this number has been divided to 4 parts (each 8 bits) and these parts canbe written as normal numbers in the decimal system i.e. 11000001 1010011101011001 10000010 can be written as 193.167.89.130. This notation is called asdotted-decimal notation. Even if this is much easier than the previous notation theseaddresses are difficult to remember. So a letter based system has been developed. Inthis host name system the same address is written as bud.pori.tut.fi. IP addresses havebeen introduced, because Ethernet addresses work only in the Ethernet network. Aprinciple of the TCP/IP is that it can operate with different network solutions. Thereare 3 different network IP address classes: A, B and C. It is possible to create about120 A class network and each of them can have 17 million computers. In the B classthese numbers are 16 000 network and 60 000 computers in each of them. In the Cclass these numbers are over 2 million network and 250 computers in each of them.There are plans that IP’s next version, IP Next Generation (IPng), will have 128 bitsaddress field and so the address domain will be 2128. This IPng will be fully compatiblewith old IP address base. [Gunnarsson 96, pp. 11-15]

The email address consists of user name part and server part. [email protected] means that the user kermi has a mailbox on the server pori.tut.fi.User name part can be also petteri.kerminen. It is not allowed to put space betweenwords and so dot is used for separating first name and last name. User name can bealso collective i.e. with one username the whole department get mail for [email protected] is email alias for the whole staff of Pori University Unit.

URL address means Uniform Resource Locator and it is a specification of a link. Itspecifies the protocol (http:// for a web page,) site name, path and file name to theresource. Think of it as a networked extension of the standard filename concept: youcan not only point to a file in a directory, but the file and the directory can exist onany machine on the network. The file can be served via any of several differentmethods, and might not even be something as simple as a file. URLs can also point toqueries, documents stored deep within databases, the results of a finger or archiecommand, or whatever programmers can do. The specific data is situated in certainlocations. Location is a synonym for an address of a WWW page. If the full URL (forexample: http://www.pori.tut.fi/henkk.html ) is used then server returns the specificobject directly. Other pages can be browsed by writing the addresses of these pages tothe browser’s URL field. [Stars/1]

3.2 Internet Architecture

This chapter is based on the references [Stallings 95, pp. 18, 445 - 449;Gunnarsson 96, pp. 1 - 9]. A network consists of two or more computers which havebeen connected together and which can transfer data between each other. It isimpossible to send data from one computer to another computer without someprotocols. Otherwise it is possible that there are two (or more) computers sendingdata at the same time. There are some layers in the Internet, which have their specialtasks to do. Internet architecture is usually divided to four layer. From the bottom totop these layers are data link layer, network layer, transport layer and applicationlayer.

Page 16: MScthesis

8

Each layer communicates with the peer layer in the another machine. The layers havebeen specified because it is possible to build a flexible system. A layer communicatesonly with the layer which is either directly above it or directly below it. Dashed linesin the figure 3-2 present that peer layers communicates with each other. Solid linespresents the path of the data stream between computers and layers.

Data link layer tries to make the physical connection reliable and provides (activate,maintain and deactivate) the link. The principal service which has been realized on thislayer is error detection and control. So higher layers can assume that the bit streamwill be error-free. However, usually the computers are not connected directly to eachother, but there are several data links between two computers which communicatewith each other. For that reason it is impossible to relieve the upper layers from theerror control tasks.

The most important task for network layer is to transfer data between end systems incommunication network. Network layer relieves higher layers of knowing anythingabout data transmission or about switching technologies. This layer takes care of allthese dialogues which are needed to specify the destination address or request certainnetwork facilities. Nodes which are changing information together can be either theend systems (contain the processes and implements for example seven-layer OSIarchitecture) or the nodes or switching systems of the network (managecommunication across the network). The transport service of the network layer isunreliable, because it does not take care if a packet is lost during the transfer.

Transport layer ensures that data units will be delivered error-free in a sequence. Thenetwork layer works correctly only if there is only a few packets and the size of thepackets is very small. It is possible that an email consist of hundreds of packets.Transport layer maintains a channel and packets are transported through this channel.If there are losses or duplications this layer will correct those errors (sending packetagain or put duplicated packet in the trash). This layer provides a reliable transportservice.

It is easier to understand what the application layer means. This layer consists ofapplication modules. A computer user communicates with these modules (programs)

Application Layer

Transport Layer

Network Layer

Data Link Layer

Application Layer

Transport Layer

Network Layer

Data Link Layer

Computer A Computer B

Figure 3-2: TCP/IP layer scheme

Page 17: MScthesis

9

directly. For example email program (Eudora, Pine, etc.) is a part of this layer likeWWW-browsers and all those programs that transfer data between two computers.

3.3 Client/Server Concept

Usually when two computers are communicating together one of those gives orderswhat the other computer has to do. The command can be for example ”send the filereadme.txt”. The computer which executes the service/command is called server. Thecomputer which requests the service is called client. The concept is referred as client-server model.

The computer that someone uses for sending or receiving emails, transfer files orsearch information from WWW is in all of these situations the client. Servers areusually very efficient computers which can serve many clients at the same time.Security is important factor on the server computer. Servers are usually based onUNIX-operating system or Windows-NT -operating system. There are differentprograms for clients and for servers. When a client is using WWW-browser forexample Netscape Navigator (WWW client program), there is HTTPd (HTTPdaemon program/process) running on the server computer. Server programs are usedby system’s super user (not by normal users) who is responsible the maintenance ofthese servers. [Gunnarsson 96, pp. 4-5]

3.4 TCP/IP Protocols

If two computers want to communicate together, there must be a language whichboth computers can understand. The language is called a protocol. In the InternetTCP/IP protocol suite is used. The name TCP/IP is a little bit misleading, becausethere are many other protocols in addition to TCP- and IP-protocols in this protocolsuite. TCP- and IP-protocol are most important protocols in this suite. TCP/IPprotocols are divided to four layers (layers are different than in the Internetarchitecture) network access layer, internet layer, host-host layer and process/application layer [Stallings 94, pp. 454 - 457]. All of these layers have severalprotocols. In this chapter important protocols are discussed. TCP/IP is a openstandard. This means that everyone can use these protocols without paying anylicense fees. TCP/IP has not been bounded to any computer architecture. It is used inPCs, in UNIX-systems, in IBM’s super computers and in many other computerplatforms.

3.4.1 Internet Protocol (IP)

All communication on the Internet based on this protocol i.e. all data which is sent inthe Internet goes through this protocol. This protocol works on the network layer andprovides data transmission services for transport layer. Transmission is based onpackets transmission. This protocol can not guarantee that every packet will bedelivered correctly (unreliable protocol). It is not unusual that a packet goes through10 - 20 routers between source and destination nodes. [Stallings 94, pp. 513 - 515]

The size of data entity which can be transported over the network as one packet islimited. This size can be different in each sub-network. The biggest entity that can besent as one packet in particular point of network is called maximum transmission unit(MTU). MTU is usually 1500 bytes. If a packet is bigger than this MTU the packethas to been fragmented. When the receiver computer receives these fragments IP

Page 18: MScthesis

10

collects these fragments together, to the same order than they are in the sendercomputer. One problem of fragmentation is, if one piece of fragmented packet hasbeen lost the whole packet has to been sent again. Second problem is that there can befragmentation in more than one point during the transmission. There are some systemsthat can calculate the MTU of the transmission path. So the fragmentation can bedone in the sender computer. [Gunnarsson 96, pp. 45 - 48]

3.4.2 User Datagram Protocol (UDP)

This protocol is a higher protocol than IP, but it is still unreliable. UDP is the simplestprotocol on the transport layer. It can not make fragmentation and so IP has to do it.The difference between IP and UDP is that when a packet in the IP will be sent to acertain computer in the UDP a packet will be sent to a certain program in a certaincomputer. The sender (and receiver) program can be indentified through portnumbers. There are some reserved port numbers: FTP server will be called alwaysthrough port number 21 and telnet server will be called always through port number23. It is important that server processes use their specified port numbers, so clientscan take contact the right port number. Client processes can have any port number(except reserved one). It is possible to implement checksum in UDP. Receiver rejectsdatagrams which have incorrect checksums but receiver does not send any message tothe sender computer if a datagram is rejected so there is not very much advantagefrom this checksum on this layer. [Gunnarsson 96, pp. 52 - 54]

3.4.3 Transmission Control Protocol (TCP)

TCP takes care of the most part of data transmission on the Internet. This protocol ismore advanched than the UDP. UDP handles datagrams and TCP handles bytestreams. TCP is connection based protocol. It does not send even one byte of databefore the connection between sender and receiver is reliable. TCP guarantees thatdata is transported to the receiver correctly and in the correct order. If the message(not packet because there is a bit stream) which has been sent over a network was toolarge, then it is split to segments. TCP is a duplex protocol i.e. data transmission canhappen on both ways during the connection. TCP header contains many fields. Heresome important fields are mentioned. There are source port number, destination portnumber, sequence number, window length fields etc. Sequence number tells wherethis segment will be situated in the data stream. Window length is used becauseusually it is not reasonable that sender waits for confirmation from the receiver beforeit sends next segment. Window length tells how many segments a sender can sendeven if it does not get confirmation from receiver. [Gunnarsson 96, pp. 54-56, 61-62]

3.4.4 Other Useful TCP/IP Protocols

There are also many protocols for network routing: ARP (Address ResolutionProtocol), RARP (Reverse Address Resolution Protocol), GGP (Gateway to GatewayProtocol), EGP (Exterior Gateway Protocol), RIP (Routing Information Protocol)and HELLO (HELLO protocol). ICMP (Internet Control Message Protocol) is usedfor sending error and conflict situation information messages. BOOTP (BOOTstrapProtocol) and DHCP (Dynamic Host Configuration Protocol) are used forconfiguration. IGMP (Internet Group Management Protocol) is used for sendinggroup messages. MIME (Multipurpose Internet Mail Extensions) and NFS (NetworkFile Systems) are service orientated protocols. [Grundström 97, pp. 48-53, 380-385]

Page 19: MScthesis

11

3.5 Email-, File Transfer - and Hypertext Transfer Protocols

This chapter is based on the references [Stallings 95, pp. 460-462; Gunnarsson 96, pp.73-85, 105-111, 147-161, 185-193]. In some books these protocols are referred asapplications. Strictly these are only protocols and applications use these protocols.These protocols have such features that it is easy to implement software over them.

3.5.1 Simple Mail Transfer Protocol (SMTP)

This protocol is used only for sending emails. POP3 is used for receiving email.Applications use this protocol in the application layer. SMTP works with almost everynetwork connection (not only with TCP/IP connections) and so the transportation ofcommands and data varies in different network implementations. The connection mustbe reliable and so in the Internet TCP is the only alternative because UDP is not areliable protocol. There are 8 compulsory commands in every SMTP realization and 6voluntary commands. These voluntary commands have not been implemented in allSMTP realizations. SMTP has some restrictions for emails size. Receiver’s addresscan not be larger than 64+64 characters (64 at both side of @ mark) and a single linecan not be longer than 1000 characters. SMTP was planned for mainframe computerswhich have permanent Internet connection and computer is never switched off. Usersshould connect to mainframe with terminals without local disks. SMTP does not workproperly with PCs, because many times the Internet connection is not permanent andso emails should be saved in a server until the user load his mails to PC.

3.5.2 Post Office Protocol (POP3)

POP3 has been made for avoiding the problems which have appeared with PCsoperating in the Internet. SMTP is used still for sending emails. POP3 is used only forthe last jump from post office server (POP3 server) maildrop to user’s email program.POP3 has been planned to be as simple as possible. All more complicated tasks shouldbe implemented at SMTP-level or in users’ email programs. POP3 has only a fewcommands. POP3 session has three stages: authorization (username and passwordchecking), transaction (sending email) and update (email server updates emaildatabase).

3.5.3 File Transfer Protocol (FTP)

File transfer has been popular action from the beginning of the Internet. First filetransfer mechanisms has been done at the 1971. As the name of this protocol tells,FTP transfers files between client and server under the user’s command. FTP has beenused so long that it has supports for systems that are not longer used. Nowadays therehave been developed two other protocols for file transferring: SFTP (Simple FileTransfer Protocol) and TFTP (Trivial File Transfer Protocol). These two protocolswork like the FTP, but they are ”lighter” protocols. SFTP operates over one TCPconnection. It seems to be good, but only a few sites use it. TFTP operates over UDPand so it is slower than SFTP and FTP. It is popular among diskless terminal users.

FTP uses almost same commands as SMTP and POP3. When client has been loggedin server it has permission to download files from server and upload files to server.Major difference between FTP and SMTP/POP3 is that when these email protocolsuse one TCP connection during the whole session FTP uses two connections. Firstconnection is control channel for user commands and response messages. It is open

Page 20: MScthesis

12

during the whole session. Second connection, data channel, will be opened only whenit will be needed i.e. during file transferring.

FTP server uses port number 21 i.e. when clients are contacting a server they sendmessage to servers port number 21. At the beginning of file transfer server creates thesecond TCP connection (this is a special case, because normally server does notcreate connections) to specified port at the client computer. FTP can transfer fileseither in ASCII format or in binary format.

FTP session has 4 stages. In the first stage the connection is established. In this stagethe following data are transferred between client and server:

− name of the desired server (for example ftp.funet.fi)− user name (even anonymous FTP servers requires username (anonymous)− password (even anonymous FTP servers requires password (either guest

or your email address for example [email protected]).

In the second stage the transfer mode is selected. ASCII mode is the default. Binarymode can be selected with command bin. The third stage is the file transfer itself. Thenormal UNIX commands like pwd and cd can be used. Downloading is possible withcommands get and mget. Uploading is possible with commands put and mput. Thefourth stage in the session is closing. To close the session user can use command quit.Server can also close the connection, if the client has been ”idle” for certain time. Thisproperty is not included to every system, but it is used for popular servers.

3.5.4 Hypertext Transfer Protocol (HTTP)

Hypertext transfer protocol is the basic application-level protocol of the WWW. Itdefines how the information will be transferred between WWW servers and WWWclients. HTTP is a light protocol and suitable for collaborative hypermedia systems.The difference between HTML and HTTP is that HTML is a language whichexpresses information in hypertext format and HTTP transfers information (not onlyHTML files). The HTTP server program is HTTPd which is an abbreviation fromHypertext Transfer Protocol Daemon. [Stars/1]

For example the page http://www.pori.tut.fi/~kermi/index.htm contains about 20 GIFimages, one JPEG image and HTML hypertext. All these can be loaded to thebrowser by writing the address of the page in the browser’s URL-field. Figure 3-3presents the situation where two images and one sound file have been embedded tothe HTML document. The embedded objects will be downloaded automatically.

Server Client

Hypertext(html)

Image(jpeg)

Image(gif)

Sound(wav)

HTTP

Figure 3-3: Different information transferred with HTTP

Page 21: MScthesis

13

HTTP connection is quite similar to SMTP connection. WWW client opens the TCPconnection to a certain port of the server (port 80 for HTTP). Then the client sends arequest to a server. In this request a client asks HTML page or image or sound fromthe server and the server responds by sending these files. There are some differencesbetween HTTP and SMTP. SMTP transfers 7 bits data stream and HTTP transfers 8bits data stream. This reduces the need of encoding data. In SMTP all data exceptEnglish text have to be encoded before sending and be decoded after receiving.Another difference is that HTTP is a stateless protocol. This means that server doesnot save any information of clients and does not require the user to log in the server.Nowadays, several mechanisms for user identification are used. HTTP connection hasusually a short duration. For example if a client requests a hypertext document whichcontains 3 images, the server creates 4 connections for transferring this object. Theserver closes a connection after the file/image has been transferred completely. Afterthat next connection will be opened. Some browsers support multiconnection modei.e. several files can be transferred at the same time.

At the beginning the HTTP is a simple protocol but during these years manyproperties have been added to this protocol. The aim was that HTTP has thefollowing properties: simplicity, extensibility, scalability and efficiency. Simplicitymeans that system is easy to understand, implement and maintain. Extensibility meansthat it is possible to add or replace some extensions and features to HTTP. Scalabilityproblem means that increasing number of Internet users have less bandwidth per userthan before. The limit is usually caused by server’s network card or by server’snetwork connection. Efficiency problem has been come up because HTTP has notbeen designed to these environments where it is now most used i.e. home users withdial-up connections with modems. There are some solutions how pipelining andpersistent connections can solve some of the problems which have occurred withthese dial-up connections. These requirements have not been fully met in HTTP/1.1,which is the newest version of this protocol (published in January 1997 with RFCnumber 2068). All problems have not been solved because HTTP/1.1 is designed tobe backward compatible with HTTP/1.0 version. The aim is that HTTP-NG (HTTP-Next Generation) will solve all drawbacks of HTTP. HTTP-NG will be based onwholly new distributed, object oriented model. [W3/1]

Because servers are often overloaded HTTP allows caching. This means that thereare cache or proxy servers. Before loading files from original server client checks ifthe requested file is already on the cache/proxy server. There is one problem which iscaused by this caching. How client can be sure, that data is up to date i.e. data is notchanged on the server. There is so called cache-control header in the HTTP’s headerfield. In this header server and client exchange information of caching. Client candenies caching wholly or allow it if there is certain amount of seconds remaining tonext updating (informed by server). There are also some other general or serverheaders or messages, but those are not so important for normal user or programmer,if he is not going to implement own HTTP server program. [W3/1]

There are seven messages which can be sent only from a client to a server: get, head,put, post, trace, delete and options. The most popular of these is get. It is used whenclient request sever to send a certain page to client. Head is almost the same as get,but then only header of certain page will be sent to client and client can so check if thepage on the cache server is still valid. Client can save information on the server withput message. Post sends also information to server but not to disk directly but to a

Page 22: MScthesis

14

certain process of the server (to database, email program etc.). Trace is used forfinding network errors. Delete is used for removing objects from the server. Withoptions message it is possible to check which methods are supported on certainservers. Servers response directly only for these clients’ requests. It is possible toinsert so called cookie inside a HTML document and so server can get someinformation from the client computer.

3.6 Information on the WWW

WWW uses the same address system as the Internet (IP addresses) because WWW isa part of the Internet. For many people the Internet means WWW, but the Internet ismuch more than the WWW. The WWW resources (hypermedia documents) are calledpages. A page is located in a server and clients can request the page according to thename (for example a page henkk.html from server www.pori.tut.fi ashttp://www.pori.tut.fi/henkk.html). These pages can contain text, images, sounds andmovies.

There are hyperlinks between documents in the WWW. The hyperlink is a relationshipbetween two anchors, called the head and the tail. The link goes from the tail to thehead. The head and tail are also known as destination and source, respectively[Stars/1]. A hyperlink is a segment of text (word or phrase), or an inline image (animage displayed as part of the document) that refers to another document (text,sound, image, movie) on the World Wide Web. Hyperlinks in a document areindicated in some way, e.g. in a graphical interface, by color & underlining for text; orby a colored border an image; an audio clip might be presented by a speaker icon; in atext-based interface, by a number immediately afterwards. When a hyperlink isselected (by mouse click in a GUI, or entering the given number at a prompt in textinterface), the referenced document is fetched from the Internet, and is displayedappropriately (i.e. if its audio, and your workstation is appropriately configured,sound is played through a speaker).

3.7 Data Formats Supported by WWW-browsers Directly

WWW clients, or as they are usually called browsers, support some file formatsexplicitly. These file types are common text files, image and sound formats. Other filetypes require plug-ins or helper programs. For the most used file types these plug-insoftwares are build in the browser and for the other file types users have to installthose plug-ins themselves.

3.7.1 HTM/HTML

The Hypertext Markup Language files have usually appendix .html or .htm in the endof the filename (or now also .asp standing for Microsoft’s Active Server Page, .dhtmlstanding for Dynamic HTML and .shtml standing for Secure HTML). Browsersrecognize files according to the appendix and to the MIME type. HTML is a markuplanguage used to create hypertext documents that are platform independent. HTMLdocuments are SGML documents with generic semantics that are appropriate forpresenting information from a wide range of domains. HTML markup can presenthypertext news, mail, documentation, and hypermedia, menus of options, databasequery results, simple structured documents in-lined graphic, and hypertext views ofexisting bodies of information. These files are connected together with hyperlinks.

Page 23: MScthesis

15

The hyperlink can point to the document which is located in the same directory as thedocument which has the hyperlink or in a different server. It is also possible to createhyperlinks inside a single document. [Aronson 94, pp. 1-3]

3.7.2 JPEG

JPEG (Joint Photographic Experts Group) is a popular cross-platform format forimage files. The JPEG standard is a standard for most realistic images (photos forexample, but not line drawings or logos). It uses a powerful, though not lossless,compression method (the resulting image may not be as rich as the original). JPEG isbest suited for true color original images. File names typically end with .jpeg or .jpg.This image format is one of these two image formats which are supported in browsersdirectly. Due to JPEG compression many larger size images in the WWW uses thisformat. The compression rate is adjustable i.e. images can be stored with differentrates of compression. [Indiana/1]

3.7.3 GIF

GIF is a proprietary specification of Compuserve Information Services. GIF has beenintroduced by Compuserve, and stands for Graphics Interchange Format. It wasintended to be a platform-independent format with which users could transfer filesover modem lines at low speeds. File names typically end with .gif. It is a compressedformat with 2 to 256 colors (1 - 8 -bits). Typically the compression is 3:1 to 5:1.There are two standards: 87a and 89a (transparency). 89a allows 1 bit transparency.Transparency allows one color to be specified as "see-through" (a pixel is eithertransparent or opaque). It allows a palette of a maximum of 256 colors, sopresentation of 24 bit color images in GIF involves loss. It supports interlaced images:every 8th rows in an image are displayed first starting from row 0, then every 8th rowstarting from row 4, then every 4th starting from row 2 and finally every 2nd startingfrom row 1 are displayed. Interlacing was invented to allow users to visualize imagesduring the downloading over slow modems. Most graphics programs can readinterlaced GIFs but might not be able to create or write them. Most browsersrecognize transparent GIFs. GIFs can be used as spacers and for various other effects.At the end of December 1994 Unisys announced that they would be sueing for patentfees for all developers of GIF software, because of GIF's use of proprietary LZWcompression (Lempel-Ziv & Welsh-compression). GIF has been used very extensivelyand is available in all browsers which can handle graphics. [Indiana/1]

3.7.4 Other Data Formats Supported Directly by Browsers

In addition to these file types which have been mentioned before, browsers supportdirectly some file formats. Netscape Communicator supports directly (without helperprograms or plug-ins) pure text files (*.txt) and XBM (X-bitmap) image format.Because of the nature of the multimedia also movie and sound files should besupported in browsers. The disadvantage is that some file types are supported only insome browsers. Netscape Communicator supports a wide variety of MIME types withbuilt-in plug-ins and helper programs. Audio file MIME-types which are supportedwith built-ins are: audio/UNIX-aiff (.AIF, .AIFF and .AIFC), audio/UNIX-wave(.WAV), and audio/basic (.AU and .SND). Video MIME-types which are supportedwith built-ins are: video/UNIX-msvideo (.AVI) and video/quicktime (.QT and.MOV). Virtual reality MIME-type which is supported wit built-ins is: UNIX-

Page 24: MScthesis

16

world/UNIX-vrml (.WRL). These built-in plug-ins are: LiveVideo, LiveAudio,Live3D and QuickTime. LiveAudio supports also midi file format (.MIDI and .MID)but this format does not have own MIME format. Microsoft’s Internet Explorer doesnot tell which file formats are supported directly and which ones through plug-ins.[Netscape/1]

3.8 Data Formats Supported by WWW-browserswith Plug-ins or Helper Programs

Plug-in is a helper application that runs within the browser. Helper applications arethose programs which are called upon by the browser to display those content typesthat it can not handle internally. When the server informs the browser of the MIMEcontent type of the following object, the browser consults its internal tables to see ifthe MIME type is known (for example ”video/mpeg”). In case of known MIME typethe object is displayed inside the browser window or the helper application is invokedfor correct handling of the object. Netscape plug-ins work in the same way, but aremuch more tightly integrated into the browser software itself. Instead of invoking theMicrosoft audio-visual player to handle .avi movie files the browser could call a plug-in internally to play the movie directly within the browser window. The plug-insthemselves are software modules that can be directly controlled by Mozilla (asynonym for Netscape browser), but will not run as stand-alone applications. [Stars/1]

176 plug-ins (January 1998) for Netscape Navigator can be found from the followingURL: http://home.netscape.com/comprod/products/navigator/version_2.0/plugins/index.html. Inaddition it allows to specify which ever software as a helper application. A good placefor starting the search of a certain plug-in is also Altavista’s search engine at theaddress: http://altavista.telia.com/ or http://www.altavista.digital.com

3.8.1 MPEG

The Moving Picture Experts Group (MPEG) is a working group under ISO/IEC incharge of the development of international standards for compression, decompression,processing and coded representation of moving pictures, audio and their combination.So far (November 1997) MPEG has produced following two standards:

MPEG-1: A standard for storage and retrieval of moving pictures andassociated audio on storage media

MPEG-2: A standard for digital television

Two more standards are currently under development:

MPEG-4: A standard for multimedia applicationsMPEG-7: A content representation standard for information search

MPEG usually holds three meetings per year. These comprise plenary meetings andsubgroup meetings on requirements, systems, video, audio, test, implementation etc.MPEG meetings have been attended by some 300 experts from about 20 countries.Compression ratio 200:1 can be achieved with full-motion video signals. Typicalcompression ratio is 50:1. MPEG coding uses three different types of frames: intraimages (coded like JPEG images), predicted images (forward prediction used) and bi-directional predicted/interpolated images. Motion estimation is used for predictionand motion vectors are stored in those predicted and bi-directional predicted images.These motion vectors tells the amount of motion which is between previous intra

Page 25: MScthesis

17

image and current (predicted) image. Current image is calculated from previous intraimage and the motion vectors. [Furht 95 pp. 143-146, 164, Basith/1]

3.8.2 M-files

M-files are script files for MATLAB program. MATLAB is a mathematical softwaremade by the MathWorks Inc. MATLAB is a command line orientated software. Ifthere are larger amount of commands that should be executed one after another, it issimpler to do that with a script file. The name m-file is used because the ending of thescript file must be .m. Otherwise MATLAB does not recognize that a file is aMATLAB script file. Script file is a simple ASCII file which contains MATLABcommands and user generated data. [Hanselman 95 pp. 5, 76-77]

Direct communication between a WWW browser and MATLAB is impossible. Forthat reason MATLAB plug-in has been made in the Ruhr-University Bochum. Thisplug-in does all communication between MATLAB and WWW-browser. Allcomputations are executed in MATLAB-engine. The engine routines are implementedusing the DDE message system for Windows. Inside the HTML code it is possible tospecify the MIME type of the plug-in and then the browser loads right plug-insoftware. This software uses MATLAB and the Simulink (another software from theMathWorks, accessory part to MATLAB) on local computers for calculations andsimulations. Due to the nature of MATLAB it is possible to make enormous damageto the files on the local computer. MATLAB’s m- and mex-files allow disk operationsand so all data in a local computer can be deleted. Programmer’s and maintainer’sduty are to keep such operations away from these files. [Müller/1]

Page 26: MScthesis

18

4 Different Network Solutions

There are many different types of networks. The structure of network and the type ofcables depends from the platforms of used computers and the purpose of the use.Geographical locations affects also for network selection.

4.1 Connection Types

A network can be classified according its architecture into two classes:

− switched networks− broadcast networks

Switched networks can be classified according network’s switching technology intotwo classes:

− circuit switched networks− packet/frame/cell switched networks.

Third classification method is connection type. There are:

− connected networks− connectionless networks

In a circuit switched network, a communication path is established between twostation (receiver/transmitter, client/server) through the nodes of the network. On eachlink a logical channel is dedicated to the connection. The data is then transmittedalong this path as fast as possible without routing delay. A telephone network isconnected and circuit switched network. In a packet switched network each datapacket is routed individually through the network. There is a delay, caused by routing,for each data packet. Roughly speaking all current computer networks areconnectionless, packet switched networks. [Grundström 97, pp. 12-15]

4.2 Transmission Medium

The successful data transmission depends on two factors: the quality of the signal andthe properties of the transmission medium. A transmission medium, cable, has someimportant properties. These properties are: impedance, attenuation, crosstalk, transferspeed and shielding. Impedance is a total resistance of a cable. The impedance mustbe balanced, because otherwise some amount of the signal remains in the cable afterthe end of cable and it will be reflected back. This causes transmission errors. Themeasuring unit of impedance is ohm (Ω)Ω). Attenuation tells how much the signal willbe weaken in the cable. The measuring unit of attenuation is dB/m. Crosstalking is anunwanted coupling between signal paths. This problem appears almost only in thetwisted pairs. The measuring unit of crosstalking is dB. Transfer speed is the valuewhich tells the amount of data which can be transferred in a second. Nowadays 10Mbps (Mega bits per second) is the minimum value that is recommended for LANnetworks (and 100 Mbps is preferred). The need of shielding depends of the placingof a cables. Mechanical shielding is easier to implement than electro magneticshielding. The electro magnetic shielding is more important for signals. This shieldingcan be done with folio or copper braid. [Jaakonhuhta 96, pp. 322-323, Stallings 95,pp. 58,63]

Page 27: MScthesis

19

During the whole history of computer networks copper has been the most used cablematerial. The development in the optical fiber field has raised the fibers fornoteworthy alternatives. However the optical fibers are more expensive and thedevelopment which is done in the copper cable area has kept these copper basedcables on the leading position. There are two types of copper cables: twisted pairs andcoaxial cables. The twisted pair is a cable where are 2 or 4 twisted wire pairs with orwithout folio shielding (unshielded TP or shielded TP). The twisted pairs are coveredwith PVC sheath. The impedance of twisted pair is 100 or 150 ΩΩ. In a coaxial cablesis a wire inside then polyethylene filler and outside the filler a braided outer conductorand finally PVC-sheath. The impedance of the coaxial data cable is 50 ΩΩ. The opticalfiber is typically 62,5/125 µµm diameter one conductor cable. The core of these fibersconsists of one or more fibers (usually 1 for data fibers). This core is made fromplastic or glass. Outside the core is the cladding. This is also made from plastic orglass, but cladding has different optical properties than the core. Finally there is thejacket which is composed of plastic or some other protective material. [Stallings 95,pp. 69-75]

4.3 Network Topologies

In this chapter some common network topologies are presented. It is difficult todetermine the topology of some networks because many times the same protocolfamily works as well in the star network and in the tree network. The simplestcomputer network is a connection between two computers. This network is calledpoint-to-point network (figure 4-1 a). In this type of network both computers can usefor example the printer which is connected to one of these computers. Point-to-multiple point network (figure 4-1 b) is an extension of point-to-point network. Inthis type of network a computer can have connections to several computers. Thepoint where all connections meet each other is called a root. The most used networktopology is tree network (figure 4-1 c). In this type of network all devices share thesame transmission medium. This kind of network is almost the bus network, but thereis possible to use hierarchical grouping. The ring network (figure 4-1 d) has the bestrecovery mechanisms in case of errors because terminals/computers are connected tothe network from two directions. The most important device in the star network(figure 4-1 e) is a hub. Difference between point-to-multiple point and star networksis that in the star network hub can connect which ever two devices together so that alldata is distributed only to these two devices. In case of point-to-multiple pointnetwork the data is distributed to all devices by root node. In a fully meshed network(figure 4-1 f) all devices have direct connection to every other devices. In a partlymeshed network (figure 4-1 g) there is a limited number of direct connections fromeach device. The rest of the network devices can be contacted via other devices.

Page 28: MScthesis

20

The protocols take care of data communication services and so programmers do nothave to know very much about network topologies. [Grundström 97, pp. 15-17]

4.4 Achieved Bit Rates in Different Networks and Connections

The bit rates in the networks have increased so rapidly, that even some goodcomputer communications books are out of date in these cases. The newest bit ratescan be found from the Internet from the address http://www.computer.org/internet/by selecting ”search” and using keyword ATM. 10Base2 (IEEE 802.3) has beenintroduced in the middle of 1980s. It is still one of the most used LAN networkspecification. It is called thin-Ethernet. The bit rate is 10 Mbps and length of the cablesegment is 185 meters. After the specification several other 10 Mbps specificationshave been introduced (for thick-Ethernet, for fiber cables and for twisted pairs). [IC-Online/1]

Faster connections have been under development all these years. In the beginning thegrowth of the speed is quite slow. Only the more expensive network concept, FDDI(Fiber Distributed Data interface I) was able to offer 100Mbps connections in the late1980s. Now it is possible to achieve 155 Mbps bit rate with ATM (AsynchronousTransfer Mode) with coaxial cables, with twisted pairs and with optical fibers. Withoptical fiber 625 Mbps bit rate has been achieved. Gigabit class implementation for allthese cable types is under development. The fact that these bit rates are the maximumvalues for the whole site or segment (not for one user) should be recognized. Thesebit rates have been achieved with short distance connections (<=100m). [Jaakonhuhta96, pp. 315-326, 356, Gigabit/1, IC-Online/1]

Many Internet users have telephone line based connections to their ISP’s (InternetService Provider) server. They have either a normal modem (modulator/demodulator)or ISDN-card (Integrated Services Digital Network). Modem connections have bitrates from 1200 bps to 56 kbps. The most used modems have bit rates from 28.8 kbpsto 56 kbps. ISDN connections have 2 B channels. The B channel has 64 kbps bit rate.

a )

b )

c )

d )

e )

f )

g )

root

Figure 4-1: a) Point-to-point network, b) Point-to-multiple pointnetwork, c) Tree network (for example Ethernet), d) Ringnetwork (for example Token ring), e) Star network, f) Fullymeshed network, g) Partly meshed network

Page 29: MScthesis

21

A connection can use either one or both two B channels to one Internet connection.So total bit rate is 128 kbps. ISDN has also packing mechanism, which has almost10:1 packing ratio for text files and the average of packing ratio for a collection ofdifferent kinds of data is 4:1. This packing technique raises bit rate to a reasonablelevel.

4.5 Required Network Bit Rates for Different Data Types

Several program based solutions have been developed for transferring real time dataon the Internet. These solutions require plug-in softwares for browsers. Real-timedata means that the data is not sent as a file but as a bit stream. Video and sound bitstreams are quite heavy load for the Internet although this kind of data is almostalways compressed before sending.

The real-time data is more critical for network speed and for troubles in connectionthan static images and sound files. The real-time data clients can not accept bit errors,because re-transmission is not possible. Some sophisticated plug-ins can correct thelack of bits with windowing algorithms. The amount of devices (workstations,servers, printers etc.) affects the load of the LAN network and so the actual speed peruser of the network can be significantly slower than the nominal network speed.[Jaakonhuhta 96, pp. 291-293, 356-357]

The required bit rates for some most used data types are listed in the followingtable 4-1.

APPLICATION / USE REQUIREDBIT RATE

Terminal use 10 kbps – 1 MbpsData searches from servers 1 – 100 MbpsSpeech (non compressed) 32 kbps – 1,4 MbpsSpeech (compressed) 4 kbps – 150 kbpsPAL (625×468 pixels) Video (non compressed) 175,5 MbpsPAL Video (MPEG compressed) 2 – 80 MbpsHDTV video (MPEG compressed) 15 – 40 MbpsHiFi sound 1 – 2MbpsFile transferring 1 – 10 MbpsWWW browsing (text + images) 100 kbps - 2 MbpsVideo negotiation 64 kbps – 10 MbpsFrame connection 100 – 500 Mbps

Table 4-1 Required bit rates for different data types [Jaakonhuhta 96, p. 357]

These bit rates guarantee a fluent usage of network. Of course it is possible to use anetwork with slower bit rate, but then real-time data streaming is not possible. On thenext page is an example calculation of downloading MPEG coded video over differentnetwork connections.

Page 30: MScthesis

22

File sizeVideo size 313×234 pixels ⇒ 73242 pixelsSize of one image (24 bit RGB)73242 pixels × 24 bit/pixel ⇒1757808 bit/image1757808 / (1024×1024) ⇒1,676 MB/imageVideo (25 frames/second)= 25 images × 1,676 Mbits/image ⇒ 41,91 MbpsMPEG compression ratio 50:1 ⇒ 0,838 Mbps [Furht 95, p. 164]Storage capacity for 1 minute video ⇒ 50,29 Mb50,29 Mb / (1024×1024) ⇒ 6,29 MB

DownloadingThrough 33,6 kbps modemconnection (50,29 Mb/33,6 kbps) ⇒ 1533 seconds (25 min 33 sec.)Through ISDN connection(2 B channels = 128 kbps) ⇒ 402 seconds (6 min 42 sec.)Through 1 Mbps LAN connection ⇒ 50,29 secondsThrough 10 Mbps LAN connection ⇒ 5,03 seconds

It can be seen from the previous example that for this video screen size (half PAL) fora real-time connection 1 Mbps connection is sufficient. A software that candecompress MPEG data from data stream is required.

Page 31: MScthesis

23

5 Server and Client Types

Some potential tools for networked hypermedia implementation are presented onchapters 5, 6, 7 and 8.

Some years ago there is three major types of information and data services on theInternet: HTTP hypertext documents, FTP file archives and gopher ”pure text”information. Because HTTP can present all actions that gopher can do there are onlya few gopher servers left on the Internet. Because of simplicity of the FTP, there are alot of FTP server and client softwares available. FTP is not used for implementationof this DSP hypermedia material. FTP and gopher servers are not discussed here.

5.1 WWW-servers

A WWW server is a computer and software that maintain information andapplications accessed by distributed users. A program is running on the Internet siteand makes the web pages from the site available to browsers (clients) throughout theInternet. Because of the rapidly increasing popularity of the WWW pages there aremuch more alternatives for WWW servers than a few years ago. According to the listthere are 67 WWW servers (58, if only one server is counted from one developer) atthe beginning of 1998 on the market [Netcraft/1]. If server versions for differentcomputer platforms will be calculated as different servers the number will be at least100. The four most used HTTPds are: Apache, Microsoft’s IIS, Netscape and NCSA(see figure 5-1). [Stars/1,2]

5.1.1 Apache

The Apache Project is a collaborative software development effort aimed at creating arobust, commercial-grade and freely-available sourcecode implementation of anHTTP (WWW) server. The project is jointly managed by a group of volunteerslocated around the world. These volunteers are known as the Apache Group. Inaddition, hundreds of users have contributed ideas, code, and documentation to theproject. [Apache/1]

Apache exists to provide a robust reference implementation of the HTTP protocol. Itmust remain a platform upon which individuals and institutions can build reliablesystems, both for experimental purposes and for mission-critical purposes. Apache isused very widely – by large and small companies, research institutions, schools,

Apache45,72%

Others18,94%

Microsoft21,80%

Netscape9,98%

NCSA3,56%

Figure 5-1: WWW servers' market share in February 1998(Data from Netcraft/1)

Page 32: MScthesis

24

individuals, in the intranet environment, everywhere – even though this may mean thatcompanies who could afford commercial software, might use this free of chargeserver software. Apache server is very powerful and easily maintained serversoftware. FAQs (frequently asked questions) cover almost every problem situationsbecause of the Apache server is so widely used. Apache WWW server does not haveany special system requirements. It works on the server where the operation system(supported by Apache) works. There are now two versions of Apache WWW serversoftware. The older and more robust version is for UNIX systems (for exampleLinux) and the Windows NT version is in the beta stage. [Apache/1]

5.1.2 Microsoft IIS

Microsoft Internet Information Server (IIS) has been designed to meet the needs for awide range of users, from workgroups and departments on a corporate intranet toInternet Service Providers hosting WWW sites that receive millions of hits per day.IIS 4.0 revolutionizes the WWW capabilities of the Microsoft Windows NT Serverversion 4.0 operating system by providing easy way to share information, buildbusiness applications and set up host and manage sites. IIS provides the highestperformance of any WWW server on Windows NT Server and gives better price-performance to comparable UNIX-based systems. In addition, the application servicesof Windows NT Server provide a reliable and scaleable platform for WWW basedapplications. IIS brings the security of Windows NT Server to your WWW site,without additional configuration. Windows NT Server with Internet InformationServer provides an integrated set of tools for running and managing all of yournetwork, WWW and application services. [Microsoft/1]

Developers can use languages they already know to develop components andapplications. IIS contains integrated Java Virtual Machine to provide a reliable andhigh-performance environment for running Java components. Powerful managementtools in IIS 4.0 will help administrators to set up WWW sites, manage content, andanalyze usage patterns to improve a site. IIS has built-in wizards to stepadministrators through many common administrative tasks, such as creating a newWWW site or virtual directory. The network, applications and WWW-pages can bemanaged from a single window. Administrator can set properties independently foreach WWW site, virtual directory, or file on the server. [Microsoft/1]

Recommended systems requirements for the WWW server’s computer are:

− Microsoft Windows NT Server 4.0 with Windows NT 4.0 ServicePack 3

− Microsoft Internet Explorer 4.01 (for test browsing)− Intel-based systems: 90 MHz Pentium processor, 32 - 64 MB RAM,

200 MB hard disk space recommended− DEC Alpha-based systems: 200 MHz processor, 64 MB RAM, 200

MB hard disk space recommended

IIS trial version can be downloaded fromhttp://backoffice.microsoft.com/downtrial/optionpack.asp. A CD-ROM version canbe gotten from local Microsoft reseller. The light version, Microsoft Peer WebServices is free of charge for everyone (February 1998). This free software comeswith the Windows NT 4.0 Workstation installing CD-ROM. [Microsoft/1]

Page 33: MScthesis

25

5.1.3 Netscape

Netscape SuiteSpot is an integrated suite of server software that forms the foundationof the Networked Enterprise. It consists of servers for web, messaging, and crosswareapplications. Netscape SuiteSpot is a complete and easy-to-use solution for webpublishing, content management, and messaging and collaboration. It also provides arobust platform for WWW based database applications. Enterprise Server is theHTTP server part of this SuiteSpot server family. It is a high-performance, security-enhanced web server for creating, managing, and intelligently distributing informationand running intranet and Internet applications. Enterprise Server also includesNetscape Media Server - server software that delivers streaming audio and allowsusers to make WWW pages into multimedia documents. Enterprise Server goesbeyond traditional WWW servers with advanced services for content management andnetwork based applications that dramatically improve a company's ability tocommunicate and share information. Integrated link management lets EnterpriseServer automatically maintain and update links, helping users avoid broken links ontheir WWW site as documents are moved, renamed, and updated. It is also easy tofind and correct the few documents that do have broken links. Enterprise Serversupport HTML, Java, Java Scripts, Java Beans and database operations. [Netscape/2]

Enterprise Server is available for UNIX (Digital, HP, IBM, Silicon Graphics and Sun)and Windows NT (Digital and Intel) servers. System requirements are at least 32 MBRAM memory (64 MB recommended) and 200 MB free disk space. Enterprise Servercosts 1295 US dollars and there is no trial version available (at the beginning of1998). [Netscape/2]

5.1.4 NCSA HTTPd

The fourth most used WWW server has been made by the National Center forSupercomputing Applications (NCSA) at the University of Illinois at Urbana -Champaign. NCSA HTTPd is the oldest WWW server program. The development ofthis server software has not been very lively during the last years, because its marketshare has decreased due to the increasing use of the three major server software.NCSA HTTPd is a small and secure server. It supports the HTTP/1.0 as it isimplemented on the WWW. The static and dynamic indexing is supported by thisserver. Several authentication mechanisms have been implemented on the NCSAHTTPd. It allows also to use password lists. [NCSA/1]

NCSA HTTPd is free of charges for non-commercial use. Athttp://hoohoo.ncsa.uiuc.edu/docs/setup/PreCompiled.htm are the precompiled codefor 12 different UNIX platforms. For other UNIX platforms the user have to compilethe server from the sourcecode. [NCSA/1]

5.2 WWW-clients

There is no exact information available concerning market shares of the WWW clients(browsers) but several statistics have been made from the widely used servers’logfiles. Netscape Navigator and Microsoft’s Internet Explorer are the two leadingbrowser families. The third most used browser Lynx is not discussed here because it isa text based browser. The first browser, Mosaic (published 1993), is not used verymuch any more. HotJava is the only totally Java compatible browser but it is not verymuch used.

Page 34: MScthesis

26

5.2.1 Netscape Navigator

Netscape Navigator (sum of all different versions of this software) is the most usedWWW browser (60-70%). The newest version Netscape Navigator 4 of this browseris included in the Netscape Communicator 4.0 packet. In addition to current HTMLstandard 4.0 this browser supports absolute positioning, layering, JavaScript stylesheets, dynamic HTML and HTML fonts. Netscape Navigator 4.0 allows multiplelevels of authorization with signed applets and plug-ins. It supports Java 1.1 andJavaScripts (1.2) on many platforms with performance enhancements. The JavaScriptsupport is much more stable than in the Microsoft Internet Explorer. The security ofthe transmitted data is granted with SSL 3.0 (Secure Sockets Layer version 3.0).Downloaded applications can be checked for authenticity. [Netscape/3,MicroPC10/97 pp. 41,42]

Netscape Navigator includes customizable GUI (graphical user interface). The GUIbased on usability testing. This browser includes context-sensitive help. The mostused file formats are supported either directly by the browser or plug-ins (some plug-ins comes in the software packet and some can be downloaded from the web). It ispossible to use multilevel bookmarks with Netscape Navigator. There are NetscapeNavigator versions for Windows, Windows95, Windows NT, OS/2, Macintosh andX11 available. Like the most other browsing softwares Netscape Navigator(Communicator packet) is free for trial period and totally free for non-commercialpurposes. Downloadable files can be found from the following URL:http://www.netscape.com/download/index.html. [Netscape/3]

5.2.2. Microsoft Internet Explorer

Microsoft tells that they have designed the newest Internet Explorer version 4.0 sothat even PCs with 8 MB RAM can run it but tests have shown that this is not verysmooth. This browser supports Security Zones, ActiveX components, VBScripts,Java 1.1, dynamic HTML and HTML version 4.0. Internet Explorer 4.0 contains alsothe Virtual Machine for Java (supports JavaScript 1.1 version). The tests have shownthat Internet Explorer locks up very often when JavaScripts are executed. Search baris a good property in this browser. It allows to keep search results in view whilechecking these web pages. Internet Explorer’s user interface is customizable like inmost of major browsers. [Microsoft/2, MicroPC10/97 pp. 41,42]

Microsoft also tries to push in the browser market of different computer platforms.There are now (at the beginning of the 1998) browser versions for Windows 3.1,Windows95, Windows NT 3.51, Windows NT 4.0 and Macintosh. According to theirpress release the UNIX version will be ready during the first quarter of 1998. Freesoftware for non-commercial purposes can be downloaded fromhttp://www.microsoft.com/ie/ie40/download/. This browser software (version 2 or 3depending the operating system) is also included in the installing CD-ROM ofWindows NT 4.0 and Windows95. The install programs of these operation systemsinstall the Microsoft Internet Explorer as default browser of the system. The UnitedStates of America’s judicial system has made the court decision that Microsoft shouldallow users to decide if they do not want to install this browser to their computers.[Microsoft/2]

Page 35: MScthesis

27

6 HTML

Hypertext Markup Language (HTML) is a markup language which will be used forcreating hypertext documents that are platform independent. HTML documents areSGML (Standard Generalized Markup Language) documents with generic semanticsthat are appropriate for representing information from a wide range of domains.HTML markup can present hypertext news, mail, documentation, and hypermedia,menus of options, database query results, simple structured documents in-linedgraphic, and hypertext views of existing bodies of information.

6.1 HTML History

HTML is a language which is designed to information delivery independently from thehardware i.e. the document is readable on the 12” monochrome display as well as on21” color display. The idea of HTML is that the structure of document is moreimportant than the absolute layout. This is the reason why there are no absolutepositioning commands in the pure HTML. The visual design of the HTML file(referred as WWW page) can be made with HTML commands (referred as tags).These tags are defined in the HTML standard proposal. Standard proposals (W3C’srecommendations) are referred as HTML versions. Each new version includes a setof new tags. Some of these tags have been used before definition in the standardproposal. For example frames were not defined in the HTML version 3.2 but quitemany pages use these frames (frames are defined in the HTML version 4.0). The aimis that every HTML version is backward compatible with older versions. [Staflin 96,p. 27]

HTML version 2.0 has been published as a proposal standard in the spring 1994 andthe final standard has been published in September 1995. The first version of HTMLwas 2.0 (not 1.0), because the authors wanted to make a difference between theprevious de facto standards and this official proposal standard. Version 2 supportsISO-8859-1 character coding and almost every current tags. Document’s mainfeatures are the same as in previous and in following versions. Forms are a newfeature in this HTML version. Forms allow make customized feedback queries etc.[Staflin 96, pp. 27 -28]

The W3C published HTML 3.2 reference specification as their recommendation inJanuary 1997. There is a set of new things added to this new version of HTML. Theseadditions are for example: tables, applets, text flow around images. This referencespecification was developed with IBM, Microsoft, Netscape CommunicationsCorporation, Novell, SoftQuard, Spyglas and Sun Microsystems. This list coversnearly all major WWW software houses and so the best compatibility is guaranteed.The version 3.2 allows the usage of sub- and superscripts. [W3/2]

The HTML version 4.0 has been published in December 18th 1997 as a W3C’srecommendation. In addition to features and file formats of previous versions, HTML4.0 supports scripting languages, style sheets, better printing facilities. HTML 4.0 isan SGML application according to International Standard ISO 8879 – StandardGeneralized Markup Language. More sophisticated text/text flow designs for examplefont name and suggestion for hyphenation are now supported. [W3/3]

Page 36: MScthesis

28

6.2 Most Important HTML Commands

According to HTML command appendix in the book [Köykkä 97 pp. 335-371] thereare 73 HTML tags. In this chapter the most important tags, which are used also forthe implementation of this hypermedia based DSP course, are presented inalphabetical order. The comprehensive list of tags can be found from most of theHTML books. Tags are used either ones like <BR> (break) or in pairs like <B> sometext</B> (bold). If a command is such that it requires two tags (a pair) the first isbeginning tag and the last one end tag. The material (text, image etc.) which isbetween these two tags will be presented as the definition of the tags says.

A Address will be used for building hyperlinks. Book-mark is defined with name parameter <A NAME=”bookmark-name”>. Hyperlink is defined with hrefparameter <A HREF=”http://www.tut.fi” >visible textfor user, for example TUT</A>

APPLET This tag is used for locating Java programs on theWWW page. Parameters from browser to the Javaprogram can be transferred with param options.

BODY <BODY> tag begins the visible part of document and</BODY> ends the visible part of the document. Fontand background colors can be defined with this tag aswell as background image.

EMBED With this tag it is possible to insert files to WWWpages even if those files have not normal insertcommands/tags: sounds, video clips, multimedia data.Browsers use plug-in softwares for these files. Severalparameters can be defined for embedded datarepresentation.

FONT Some browsers support this tag correctly and some donot. This tag helps very much person who like topresent mathematical expressions on the WWW pages.Font tag allows to use Symbol font etc. Also font colorand size can be defined with this tag.

H1 – H6 The size of the header can be defined with these tags<H1>text</H1> defines the biggest header size and<H6> the smallest one.

HEAD In the header part of the WWW document somespecial command can be used. These commands are:title, isindex, base, meta, link, style and script. Somesearch engines collect the data to their database fromthe HEAD part of the HTML document.

HTML In the beginning of the WWW page should be tag<HTML> and at the end of the document should betag </HTML>.

IMG Images (GIF and JPEG) can be inserted on the WWWpage with <IMG SRC=”name_of_picture.type”

Page 37: MScthesis

29

alt=”picture”> definition. Several placement optionscan be used for picture.

SCRIPT Commands for script language can be given betweenbeginning and end tags. Browser executes thesecommands if it supports this specific script language.

SUB Subscript will be viewed as subscript text. This tag issuitable for mathematical notation, but unfortunatelyMicrosoft Internet Explorer does not support this tag.

SUP Superscript will be viewed as superscript text. This tagis suitable for mathematical notation, but unfortunatelyMicrosoft Internet Explorer does not support this tageither.

TABLE Table can be designed on the WWW page with<TABLE>, <TD>, <TH> and <TR> tags.

TD Defines the cell of the table.

TH Table header cell defines the header cell of the table.

TR This tag defines the row of the table.

[Köykkä 97, pp. 335 - 371]

These tags are the most used tags in hypermedia implementation of the DSP course.

6.3 Lacks of HTML-standards

The idea of HTML is that there are not absolutely positioning and other propertieswhich can made the WWW page invisible on some browsers. Users want suchproperties as frames. These are not visible with older browsers and especially not withLynx (textual browser). Because of the slowness of the standardization organizationsthe official standards have been published so slowly, that browser manufacturers havemade their own implementations of some tags. Some official tags are not supported,but many browsers contain some properties that are not yet defined in the standards.

Each manufacturer tries to implement such properties on their browser that it willincrease the popularity of their browser. Unfortunately this leads to the situationwhere multiple pages should made for users with different browsers. The goodHTML programming rule is: use only those tags that are defined in the W3C’srecommendation. If you keep this rule in your mind you can assume that your pageswork correctly with most browsers which are currently available. The bestcompatibility can be achieved if programmer keeps to HTML 2.0 commands. Quiteoften it is not possible to do the page such that the programmer intended it to be, ifonly those old tags are used. Sometimes a page can not been programmed as it wasplanned because there are no suitable HTML tags.

6.4 Future Visions

According the W3C the HTML’s developing work continues intensively. They try tomake recommendation standards so that there are information how to implementthese properties for browsers that support the latest HTML properties (like CascadingStyle Sheet language (CSS)) and how to implement properties to browsers that do

Page 38: MScthesis

30

not support the latest properties of the HTML. W3C puts great efforts to increasingthe visual properties of HTML. The development is directed specially to followingtopics:

− Style sheets: Style sheets describe how documents will be presentedon screens, on printer, or perhaps how they are pronounced.

− DSSSL: The Document Style Semantics and Specification Language

− Dynamic HTML: It is a term used to describe HTML pages withdynamic content. Dynamic HTHL consists of style sheets, HTML andJavaScripts. These are joint together with Document Object Model(DOM).

− Images: They may be presented in many different formats. The data istransferred in whatever seems to be the "best" format which the clientand server have in common. Format negotiation is the mechanismwhich allows the WWW to accommodate different data formats.

− Internationalization: The World Wide Web still has a bias towardEnglish and the Western-European writing system. But modernbusiness and research communication has been increasinglyconducted in other writing systems and languages. The WWW mustbe enhanced to meet the needs of the global community.

− Fonts: W3C tries to find a set of freely distributed, scalable fonts forscientific and international text.

− A W3C’s Recommendation for Mathematical Markup LanguageMathML will be ready during the year 1998. When browsers start tosupport the mathematical syntax notations, mathematically orientatedpublishing will be more pleasant in the Internet.

W3C tries to keep all HTML developers on the same direction. Now some differentpaths can be seen. For example, Microsoft Corporation and NetscapeCommunications Corporation produce browsers which use different HTMLcommands for the same task.

Page 39: MScthesis

31

7 Java

This chapter is based on the references [Kiuttu 97, pp. 13-24, 29-33, 117-137;Ek 96, pp. 5-9]. Java is a programming language developed by Sun Microsystems. Ithas been designed for program execution on the client side, i.e. in a browser. Java is asimple, robust, object-oriented, platform-independent multi-threaded, general-purposeprogramming environment. It suites best for creating applets and applications for theInternet, intranets and any other complex, distributed networks.

7.1 Properties of The Java Language

Java is a portable language. The compiled Java code can be executed on most ofcomputer platforms (all which support Java). That is possible, because Java programis so called byte-code program. Programs will be compiled from that byte code duringthe executing. This increases the execution time, but the platform independence isworth this delay. On the server side no software is required. Java files are handled asany other files. On the client side the browser must support Java (browser mustcontains Java virtual machine or some other Java interpreter) and has to contain ordownload all required classes.

Java is also a simple language. Although it looks almost like C++, it is much easier touse. There is no header files, pointers, pre-processor, structures, operator overloadingor multiple inheritance. Also explicit memory management is dropped away. The Javacompiler makes all necessary garbage collections i.e. the memory blocks that are notneeded any more will be deallocated. Java is a object orientated language. Data andoperation on the data will be stored in classes. Together the data and the operationsdescribe the state and the behavior of an object or instance of the class. Only accessesto the data are the methods i.e. operations which are defined in the class. Classes arearranged in the hierarchy. A class can inherit properties from its parent.

Network programming will be easier with Java than with C or C++ because Java hasextensive library of routines for TCP/IP protocols like HTTP and FTP. Javaapplications can open and access objects across the Internet via URLs. It is as easy toaccess to file over the Internet with URL address as access to the local file. BeforeJava the interactivity on the WWW pages has been made with cgi-bin scripts. Cgisincrease the server’s load quite much because all operations have been made on theserver machines CPU. Now it is possible to do the calculation, which will be required,on the client computer with Java programs.

Java is a robust programming language. Java tries to make checking for later dynamic(runtime) and eliminates situations that are error prone. This is done with differentways. One of these techniques is strongly typing i.e. every variable is typed. Javarequires declarations in the beginning of each object and does not support C-styleimplicit declarations. Dynamic typing is not supported. This forces programmers todecide the types of variables before compiling and so the probability of run-timeerrors is minimized. The compiler makes a number of type checking during compiling.Java has also a pointer model that eliminates the possibility of overwriting memoryand corrupting data. Instead of pointers Java has true arrays like Pascal language.Because there is no absolute memory allocation operations and pointers users can

Page 40: MScthesis

32

execute Java programs without worrying. It is not possible that Java program makesunauthorized access to the memory.

Java is intended for use in distributed environments like the Internet. Because thereare a lot of users in networks the designers have paid great attention to the securityproperties. Java enables the construction of virus free and tamper free systems. Thisneeds authentication. Authentication based on public-key encryption. Because thereare no pointers it is impossible for applications to forge access to data structures orprivate data area where the access can be made only with methods. This closes thedoor on most activities of viruses.

Java supports multithreading. Multithreading means that several things will be donesimultaneously. In fact these things will not be done at same time, but Java has amechanism which shares time slices to different tasks. Different time portions can begiven to the separate jobs (priority).

In case of updating some classes Java has superior properties comparing to otherprogramming languages. The only possibility to uses properties of certain classinstance is to use methods. When one class is updated internally programmers onlyhave to pay attention to implementation of this object’s interface. Because the C/C++languages are not totally object orientated updating is more difficult. Programmershave to check the correctness of operating for all libraries where the specific(updated) command is used.

7.2 Java History

The development project of the Java programming language has been led by JamesGosling’s from Sun Microsystems. This project has started in the early 1990’s. Theoriginal purpose was to produce a language that enables platform independentprogramming. This kind of language was needed for consumer electronics and remotecontrol markets (for example programs in a toaster). The language proves alsosuitable for programming set-top-boxes (a stripped-down browser which works withnormal TV). The project group realized that the same properties were needed for realnetwork programs. After that the project has been redirected for developing thisnetwork suitable platform independent language. This latest redirection has been madein 1994. The Internet has not affected the decision to start the development job of theJava language. The first WWW browser (Mosaic) has been published in the firstquarter of 1993. The Java development has started years before that. Fortunately theoriginal specification (platform independent, secure, language for executing programsfrom untrustworthy hosts) is also very suitable for the Internet programs.

First official version (1.0) of Java language was published in 1995. It is supportedquite well now (Unix (Solaris), Macintosh, PC (Windows95/NT)). More computerplatforms and operating systems will support Java soon. Java version 1.1 waspublished in 1997. There is not yet good support for this version. Java is still underdevelopment, because it has been proved for good programming languages and moreproperties have been wanted to this language. Also security bugs were corrected assoon as those were found.

Page 41: MScthesis

33

Java is also used to its original purpose: in embedded programs for consumerelectronics. But mostly Java was used for making WWW pages more attractive andfor creating more interactivity to WWW pages.

7.3 Java Future Vision

The executing speed in version 1.1 is about 5 times greater than in version 1.0. Thespeed has been raised because the most used classes have been rewritten. The mostimportant parts of Java virtual machine has been now written in machine code(assembler). The benchmark tests have shown that in the embedded applications (notapplets) which were written in Java achieved even 80-85% speed comparing tomachine’s assembly language. The Sun Microsystems develops processors whosemachine assembly language will be Java. These processors will be extremely fast forexecuting Java programs. These processors will be used in the cellular phones, inother electronic equipment and in the network computers. Many electronicsmanufacturer, including Nokia Oy, have announced that they will put Java programsin their equipment.

Java developers will put big efforts to make the language even more stable andsecure. The Javasoft group in Sun Microsystems will also make the version of Javafor the most used environments that are not yet supported. On the other hand theapplication development environment providers like Microsoft Corporation andBorland International develop the programming interfaces. There are someWYSIWYG editors, but they do not support all Java capabilities yet. The better editorenvironments are coming to markets during this year (1998). The Java programsspeed can be improved with JAR. Jar is a packed archive file which contains all thefiles that an applet needs. This property is now under developing.

7.4 Java Programming

Java language’s syntax is almost the same as in C/C++ language. Java program isbuild from and only from classes and methods inside these classes. The programmingwill be done by using Java’s API. This interface is available for Solaris,Windows95/NT and Macintosh from the following address:http://www.javasoft.com/products/index.html.

Java programs are fully based on the objects. Java is often compared to the C++language. The difference between C++ language and Java is that C++ is a subset of Clanguage and so the C++ special properties like objects can be defined only inside theC++ program. Because this fact also normal variables and C commands can be used inC++ programs. Java is a pure object orientated language and so all commands(methods) must be inside some object. Java programming is also quite similar to thenormal Windows programming. Event handling is the way for handling mouse clicksand other user interactions. Many events have been named similarly as in theWindows programming environments. The individual properties of the syntax orspecific commands are not discussed here. There are several different solutions formaking Java programs. The most used is JDK (Java Development Kit). It can bedownload from the Javasoft (address mentioned above).

Page 42: MScthesis

34

7.5 Applets and Scripts

There are three kind of Java programs: Java applications, Java applets andJavaScripts. The Java applications are not used over the Internet but locally.Applications can be distributed over the Internet or some other media, but they will beexecuted as stand-alone programs independently from networks. In this chapter onlyapplets and scripts are discussed.

Applet is a high-level program that can be included in an WWW page, much like animage. This can be done with <APPLET> tag. The program code is then executed bythe browser. Many older browsers cannot interpret Java applets and disregard them. Itis reasonable to design the applets such that they are flexible i.e. the applet can besituated in which ever locations and still it can be executed. The properties of theapplet can be changed and the operation of the applet directed with parameters.Applets help the WWW publisher to put more visual components to the WWW page.Java is also the most reasonable way to increase the interactivity to the WWW page.The security of applets were guaranteed with following tasks: applet can not writedata on the clients hard disk without permission, it can not write directly to thememory and it can not introduce viruses to a computer system. Applet can notdirectly launch a program on the client, but it is possible to launch a plug-in/helpersoftware that is listed on the browsers helper application list.

JavaScript is a proprietary scripting language released by Netscape, JavaScriptincreases the esthetics and friendliness of websites by adding author specified userevents to static pages. JavaScript is easier to use than Java applets because it is a mixof Java and HTML. For example a programmer can make graphical components withHTML commands and connect the action to it with JavaScript. Some securityproblems have been mentioned in case of the JavaScript for examples JavaScript cansend your email-address to the server without your permission. This bug like otherbugs has been fixed.

7.6. Browsers that Support Java

The most used browsers support Java 1.0. The version 1.1 is not yet supported widelyand this causes problem, because the new applets are written with Java 1.1. SunMicrosystems’ browser HotJava is the only browser that supports Java 1.1 correctly.The next best alternative is Netscape navigator 4.0. In this browser Java Scripts andJava 1.0 can be executed correctly. Microsoft Internet Explorer 4.0 does not operateerror-free with Java 1.0 and JavaScripts, but it supports (according to Microsoft) Java1.0. Other Java 1.0 compatible browsers are Spyglass’s Mosaic and Oracle’sPowerBrowser.

7.7 Calling Plug-ins with Java

Some plug-ins are platform independent and those plug-in programs and those prog-rams can be easily used from WWW pages and from applets. The personnel of Ruhr-University Bochum’s Control Engineering Laboratory have made a plug-in whichallows communication between Java applet and MATLAB. The problem of this plug-in is that it is platform depended. It requires MATLAB for Windows and its DDE(Dynamic Data Exchange) Toolbox. It is impossible (so far) to tell to the browser the

Page 43: MScthesis

35

name of plug-in which is used. The type of plug-in can be told to the browser asfollows:

<EMBED SRC="test.m" WIDTH=400 HEIGHT=350 NAME="name"><EMBED SRC="test.m" HIDDEN=true NAME="name"><EMBED TYPE="applicatin/x-matlab" HIDDEN=true NAME="name">

This data must be on the WWW page which contains the applet. After that and someinitializations the communication between MATLAB’s DDE and Java applets ispossible. The sound files and other files that are not program specific (unlike theMATLAB’s m-files) are easier to use with applets.

Page 44: MScthesis

36

8 Softwares Available for ExerciseGenerating / Visualization

Educational hypermedia contains demos and exercises. Demos can be static i.e. ateach time these demos remain the same. Exercises are more pleasant and more usefulif they are generated with some mechanism. Visualization of dynamically generateddata is a big problem for WWW based hypermedia because mathematical notation(Greek alphabets, some special marks and equations with fraction line) are notsupported yet in the HTML standard. In this chapter some solutions are presented.

8.1 Java

Java applets can take care of exercise generation and visualization. The number ofdifferent solutions is limited because programmer must code the right answers to theapplet. According to the version (selected pseudo randomly) the applet shows thecorrect answer. If the answer contains mathematical expressions there are twopossibilities to show it:

− Answer can be viewed with some additional applet (like HotEqn) onthe browser

− Answer can be viewed as a GIF image inside the applet (GIF shouldbe made beforehand for all exercises

Applets can be also used for launching external programs which do not support co-working with WWW browsers. The problem with these incompatible softwares is thatapplets will be platform dependent.

8.2 MATLAB

MATLAB is a commercial product from The MathWorks Inc. There are now twowidely used versions of MATLAB. Version 4.2x is used since the end of 1992. Thelatest version 5.2 was released at 1998. There are over 400 000 MATLAB users inover 100 countries. Matlab consists of kernel, where the most used functions havebeen realized internally, and script files called m-files. Script files have been divided totoolboxes. User can buy only those toolboxes what he needs. Script files are simpleASCII files which contain MATLAB commands and the user generated data. The m-file can be executed from command line if the file is in directory, which belong toMATLAB’s path. M-file can also be executed by copying commands to clipboard andthen pasting these commands to command line and pressing ENTER after that. Usercan customize m-files or create new ones. If there are larger amount of commandsthat should be executed one after another, it is simpler to do that with a script file. M-file is a simple ASCII file which contains MATLAB commands and user generateddata. M-file can accept different amounts of input arguments. For lower amount ofinput argument m-file uses some defaults for those variables that are not fed fromcommand line. [Hanselman 95 pp. 5, 76-77]

The MATLAB version which will be compatible with WWW browsers(communication enabled with them) will be published during the year 1998. Nowthere is no possibility to make communication between MATLAB and WWWbrowser so that this communication is platform independent. In Microsoft Windows95 and NT 3.51 the communication can be made with Java applet which uses

Page 45: MScthesis

37

Microsoft Windows DDE. However, different applets are needed for MATLAB 4.xand for MATLAB 5.x versions. The platform independence can be achieved if thedata is in ASCII format (m-files) and users execute these files locally. Calculation canbe also made on MATLAB which is situated on the UNIX server. However, thisconsumes a lot of CPU time and memory resources at the server side. In this case theserver’s capacity is already limited and no extra load is recommended to put on theserver.

MATLAB contains many useful functions for DSP (for example FFT and filter designalgorithms). MATLAB 5.x contains much more sophisticated properties forprogramming, scripting and simulations than version 4.x. Version 5.x is backwardcompatible. Consequently it is recommend to make m-files so that these will use onlythose commands which are common to both these MATLAB’s versions. Thesedemonstrations and exercises can be executed faster with local MATLAB thanthrough applet communication with MATLAB.

8.3 Maple V

Maple V is a product from the Waterloo Maple Inc. It is a powerful mathematicalproblem-solving and visualization system used world-wide in education, research, andindustry. Its principal strength is its symbolic problem solving algorithms. Maple doesnot yet provide possibility to communicate with WWW browser, but the Maple canconvert its data to hypertext form i.e. the Maple images and expressions can bebrowsed through WWW browser. Over 300 Universities have a license which grantstheir personnel and students the use of Maple. There are over half million Maple usersworld wide. MathWorks has bought some technology from Waterloo Maple Inc. totheir MATLAB program. Maple will not be a solution for this hypermedia. It does notcontain these functions which will be needed for filter design. Maple will be goodproduct for hypermedia which handles mathematical subjects (trigonometric etc.).

8.4 Mathcad

Mathcad is a mathematical product from the MathSoft Inc. Mathcad and MicrosoftInternet Explorer have been integrated to Mathbrowser. It allows WWW browsingand the use of Mathcad. Mathcad 7.0 handles both real and complex numbers. Itcontains many built-in functions for data manipulation. FFT, Laplace transform and z-transform are realized in Mathcad. It can handle vectors and matrices. Symboliccalculations are also supported. Version 7.0 uses seamlessly Microsoft InternetExplorer and this browser is included in Mathcad 7.0. Mathcad’s WWW pages tellsthat Mathcad and Mathbrowser are ”a computing environment and as a vehicle forpublishing mathematics on the Web” [MathSoft/1]. Although this is true, it is notuseful for this solution. These mathematics publications must be static presentationsi.e. dynamically generated mathematical material is impossible to use. Mathcad usesnatural mathematical language for expressions. Mathbrowser is distributed freely since1995, but the Mathcad is a licensed software. The publications can be seen throughMathbrowser, but Mathcad is needed for calculations.

8.5 HotEqn

HotEqn is a Java applet which can be used as equation viewer on the WWW page.Applet has been made at the Ruhr-University Bochum and it is freeware. This applet

Page 46: MScthesis

38

uses LaTeX syntax and visualizes the corresponding equation on a screen. HotEqncan communicate with MATLAB engine (4.2 Windows 95/NT 3.51). The problemwith this applet (and other applets also) is that an applet is non-printable. If equationsare visualized with this applet, user can see them on the screen but not on the paper ifhe likes to print a WWW page. This applet allows dynamic data generation, but thedata must be in LaTeX format. LaTeX syntax is also quite strange for most PC users.This applet is not recommended to for users with no LaTeX experience. [Müller/1]

Page 47: MScthesis

39

9 Requirements for Servers and Clients

This specific DSP hypermedia course implementation sets some requirements both onserver and client side. These things and some legal matters are discussed on thischapter. Security things become more important if exams will be done throughnetwork.

This hypermedia itself does not set many requirements for servers and clients. Mostrequirements are purposed by data types or by plug-ins. Digital products, includinghypermedia products, can be easily copied. For this reason several copy protectionmechanisms have been used. Authentication (i.e. ensuring that a user is who theyclaim to be) is also difficult in networked hypermedia.

9.1 Operating systems

Servers operating system should be reliable, secure and fast. Users assume that theserver is available around the clock and so it is desirable that a server does not lock upoften. If a server can be operated remotely operating it is an advantage, but this is notrequired. Security means that hackers can not access the server and change itscontents. Servers speed depends (in addition to servers network connection) fromCPU speed and operating system’s ability to allocate time slices to clients.Recommended servers’ operating systems are Microsoft Windows NT 4.0Workstation/Server, Linux and Sun Microsystems Solaris (and other UNIX operatingsystems).

Hypermedia is more critical to the choice of client’s operating system than to thechoice of server’s operating system. There are no safety nor speed requirements forclient’s operating system. Although, it is a plus if the client’s operating system is fast.The most critical requirement from the client side is that the operating system must be32 bit. This requirement arises from Java. Browsers which support JavaScripts andJava applets operate only with 32 bit operating systems. Java uses long filenames andso it can not be used with MS-DOS because there the size of a filename is restrictedto 8+3 characters. Users’ should have be able to add plug-ins and helper softwares tohis/her computer (i.e. writing to the hard disk must not be restricted by the operatingsystem). Suitable operating systems for clients are, in addition to those which havebeen mentioned for good server softwares, Microsoft Windows 95 and Macintoshoperating systems.

9.2 Browser

The most critical requirement from WWW browsers is that browsers should be Javacompatible (JavaScripts and Java applets). Other requirements are that the browsershould be able to handle sound files (wav:s and au:s) and animations (MPEG). Theserequirements mean that the browser should support plug-ins and helper applications.The last requirement is that the browser should support subscripts, superscripts andseveral fonts (for example Symbol and Times New Roman) because some equationsare presented inside the page sourcecode. The pages are visible also in those browserswhich does not support sub/superscripts or several fonts, but the appearance is not soclear.

Page 48: MScthesis

40

The only one fully Java 1.1 compatible WWW browser software is at this moment(February 1998) HotJava. It is mainly used by Java developers who need a testplatform for their codes. HotJava supports sub/superscripts but does not support fonttypes like Symbol. This browser is a little slower than others because it has beenwritten with Java language and the byte code will be interpreted during executing.Netscape Navigator 3.x and 4.x are suitable for this hypermedia. Both of thesebrowsers support Java (4.x better). There are also plug-ins for Netscape Navigator forall major file types. Fonts are supported correctly in version 4.x and alsosub/superscripts are supported. Netscape is the most used browser software and alsothe test WWW browser for this hypermedia. Microsoft Internet Explorer 3.x and 4.xsupport Java (not always correctly). Super/subscripts are not supported. Also fontfaces like Symbol are not supported. All important plug-ins can also be obtained forMicrosoft Internet Explorer.

9.3 Servers’ and Clients’ Hardware

There are some hardware parts which are important for both servers and clients. Afast network connection (network card) is important. On the server side the 10 Mbpscard and connection is satisfactory but 100 Mbps or more is recommended. Servers’trunk network connections are usually the bottlenecks of WWW based hypermediasystems. On the client side 10 Mbps network connection is sufficient, although thereare many other users sharing the same network capacity but usually the heaviest data(video streams) will not be downloaded at the same time by many computers/browsers. For telephone network connections, ISDN is recommended but also fastmodems (33,6 kbps or 56 kbps) can be used. Memory is also important for bothservers and clients. On the server machine suitable amount of RAM memory is 64 MBfor Microsoft Windows NT 4.0x based servers and 128 - 200 MB for UNIX basedservers. On the client side 32 MB is suitable for Microsoft Windows 95 users, 64 MBfor Microsoft Windows NT 4.0x users and 100 -200MB for UNIX users. CPU is alsoimportant part of hardware for both of these sides. On the server side 150 MHz Intelbased processor architecture can serve from 10 to 30 ”simultaneous” requests withoutnoticeable delay. On the UNIX server the recommended processor speed is 200 MHzfor Sun SPARC based computers.

On the server side hard disks are more critical than on the client side. Servers’ harddisks must be quick, reliable and must have a large capacity. If server’s disk isdamaged, the server can not serve any requests which are pointed to that disk. Harddisk speed is usually so high that it will not be a bottleneck of the system. However,SCSI disks are recommended instead of IDE or E-IDE disks for PC environments(Only SCSI disks are used in UNIX environments). Disk capacity must be so high thatall data can be installed on the hard disk and still there is free disk space. A suitablecapacity is from 1 GB to 4 GB depending on the data types. For video animatedintensive hypermedia, the large size one is recommended. This hypermedia does notrequire disk space very much (less than 10 MB). On the client side, hard disk is usedonly for caching hypermedia data and for client programs’ installations.

Soundcard and display are two hardware components which have no importantmeaning at the server side, but are very important on the client side. Some hypermediause wonderful 3D sounds and so require powerful soundcard. Audio data in thishypermedia is mostly 8 bit speech with 8 kHz sampling rate. This data can be handled

Page 49: MScthesis

41

by all sound cards. Also, this hypermedia does not contain a large number of sounddata. Display sizes from 15” to 17” are recommended for this hypermedia. Colordisplay is required. Display driver should be good enough that it can present at least256 colors with 1024x768 pixels. The hypermedia is visible also with smaller displays,but some pages may have to be scrolled both horizontally and vertically. Also asmaller amount of colors can be used at the expense of visual quality.

9.4 Network

The hypermedia itself does not require anything from the network. Editor programMicrosoft FrontPage 97 requires that the network software must support 32 bitsystems. The number of users will affect the required network connections. A 10Mbps Ethernet connection is sufficient for hypermedia use in one classroom (from 15to 30 users). If there is other traffic in the network cluster, 10 Mbps is not goodenough. 100 Mbps or faster ATM connections are recommended for hypermedia ifusage will be estimated over 30 users simultaneously. The network structure is notrestricted (star, bus, tree and ring allowed). The only strict requirement is that HTTPprotocol will be supported.

9.5 Network Security

The Internet is quite unsecured transmission medium. It is possible to ”listen” tonetwork traffic with special analyzer. The traffic can be saved on the hard disk andanalyzed off-line. User passwords etc. can be solved from the traffic data. The trafficis so fast that there is not actually reason to fear that someone can use yourinformation. There are two serious security risk in the Internet: hacking and viruses.Hacking means that someone tries to get access to other data without permission.Hackers either try to benefit from these data or try to destroy it. The best protectionagainst hackers are passwords (changed regularly) and secure protocols. Viruses areprograms which do something unwanted to a computer. They either destroy the dataon the hard disk or just use certain amount of CPU time. The Internet is a goodsubstratum for viruses because a lot of files are downloaded from the Internet to thecomputers hard disk. Through this traffic some viruses can slip into the computer.There are some virus protection tools that can be obtained from the Internet asshareware or freeware programs.

Some special mechanisms like passwords which will be changed after every sessionhas been taken on use. Many WWW server programs (for example Apache andMicrosoft IIS) allow to restrict users access to certain files or directors withpasswords [Apache/1, Microsoft/1]. HTML gives also possibility to use SSL (SecureSocket Layer). Those mechanisms take care only from authentication.

There are also encrypting/decrypting softwares which code the plain text (for exampleemails) with a certain coding key. The message can be opened only if the receiver’sprogram knows that key. PGP (Pretty Good Privacy) is one of the best techniques forcrypting messages. Philip Zimmermann, the developer of PGP, was underinvestigation for alleged violation of export regulations, with a grand jury hearingevidence for about 28 months, ending 11 January 1996 because PGP is so good thatFBI’s machines could not opened a crypted message in one day. The limit for toogood algorithm has been that the code should be broken during 24 hours with FBI’s

Page 50: MScthesis

42

computers. The crypting mechanism had been weaken and so Zimmermann has notbeen judged. For this hypermedia unwanted reading of data is not a problem (forcommercial hypermedia it is). The user authentication is more important in manycases. [PGP/1]

9.6 Exercises and Exams

There are no security specifications for exercises. Only the data have to be sent inboth direction so that no one can destroy it. There is no need to do anything for thispurpose. The protocols use check sums and other mechanisms for ensuring that thedata is transferred correctly. So there is no reason why hypermedia programmer cannot assume that the Internet will distribute the information correctly.

If hypermedia programmer will put exams on the WWW pages there are somedifficulties. Pages can be quite easily protected with passwords, but there are noguarantee for several other circumtances. The exam can be made by a friend of thestudent. A student can give his/her password and username to someone who will dothe test. Some solutions are possible. Computers can be equipped with cameras andpictures are taken several times during the test. This is quite difficult to implement andalso it will cost quite much. Another solution is that system sends email messages tocourse supervisors and they go to check who is doing the test. This restricts the timewhen the exams can be made. The easiest way is to trust that students are honest.

9.7 Copyrights

This chapter is based on the reference [Korpela/1]. The most known copyrightagreement is Berne convention. It is now over one hundred years old (made originally1886). Copyright is a mechanism which guarantees the author’s rights to hispublications, records, films etc. The copyright is an international system. So thematerial will be protected independently of its original country. The copyright text orsign © is widely used and required in some countries (for example in United States ofAmerica). In Finland and in other EU (European Union) countries the ©-mark is notrequired, but it is reasonable to use it any way. The rights to the publication comes tothe author without any applications. The publication must only be a originalpublication/record etc. Copying of other publications is forbidden, but quotations areaccepted. The quotation can be quite long in technical books and there is not absolutelength which can be quoted. Physical and mathematical expressions and some generalideas and facts can not protected be with copyright. Also the idea of figures whichdescribes these facts are not protected. Illegal use of any publication can be punished.

The WWW is quite difficult for copyright issues and there are no trials ready forinternational WWW copyright crimes. According to the international agreements andnational laws, copyright crimes can be judged in any country where the owner of acertain copyright feels that his rights have been violated. In case of the Internet thetrial can be kept almost anywhere. However, there are not agreement with Finlandand United States of America which will guarantee that a judgement is probated in theother country. Within EU countries this kind of agreement is effective.

The copyright belongs always to a person, not for a company or for a school. Theemployer usually gets the permission to use and sell publications which are done bytheir employees. In the USA this is a fact because there the ”work for hire” principle

Page 51: MScthesis

43

is used. In the EU countries the agreement have to do with written, spoken orspeechless agreement. According to the copyright law, the hypermedia product whichis done in this project belongs to Petteri Kerminen. However, it can be used foreducational purposes without any fees. No changes are allowed to be done to thishypermedia product mentioned before.

This hypermedia material is based on Finnish version of Petri Jarske’s lecture notesfor DSP course in Tampere University of Technology. He has given the permission touse his material in the Internet and translate his material in English. He allows alsothat changes be made to his material. This permission has been given in Petri Jarske’semail to Petteri Kerminen at January 12th 1998. Some ideas and expressions are alsoborrowed from DSP books and from other WWW pages. This material belong to thegroup of ”general idea and mathematical facts”, which is not protected with copyrightlaws. All material (text, images etc. excluding some example movies, images, appletsand tables) on this hypermedia has been made by Petteri Kerminen.

9.8 Copy Protection

It impossible to protect WWW pages against illegal copying for the following reasons.Browsers have always ”show source” command. In that source window the sourcecan be painted with mouse and then copied and pasted to the editor and saved to owncomputer’s hard disk. Many browsers allow saving the source code directly from thebrowser window. The whole hypermedia is fortunately much more difficult to copy.Every pages’ sourcecode have to been saved separately. Also all images, sounds andother embedded components should be saved separately. Java files can be saved tosuch a directory, which has no accessibility through WWW browser. The directorymust define with Java’s CLASSPATH attribute and so it can also be browsed with abrowser. WWW publishers should notice in any case that his/her material can be”stolen” easily. If information and programs are valuable publisher should restrict theaccessibility of the directory where the information resides. This can be done withpasswords.

Hackers are a serious risk. They can push in to the server without permission if thereare some holes on the servers security. In case of hypermedia they can destroy thematerial on the server or change the content of this material. Server’s security can beimproved with a firewall. It allows the network connections only through predefinedports. Usually ports 21 and 80 (FTP and HTTP) are enabled. Although the security ofWWW server is usually good the backup of the hypermedia material should be keptup-to-date. The backup material should be in a safe place.

9.9 Time Consumption on Server and Network Load

Servers have either 10 Mbps, 100 Mbps or 155 Mbps (or even faster) connection tothe Internet. On many server this connection is 10 Mbps. However, this speed can notbe achieved. If the network load is over 50 % of the nominal load in the Ethernetnetwork the amount of retransmissions rises very much. If the load is over 60 % thenetwork will be locked up. Because of these facts the actual network speed is 5 - 6Mbps. Hard disks that are currently used have transfer rates from 60 Mbps to 800Mbps. So servers hard disk speed is not the restrictive factor but the network speed.If a WWW page is 2 kB (= 16 kb) and there are two images, each 6 kBs (= 48 kb) theactual amount of data which will be transferred is 112 kb. If there is not other traffic

Page 52: MScthesis

44

on the network this page can be read during one second, 44 times. i.e. 44 connectionscan be served with no more than 1 second delay.

The requests which will be sent from the client to the server will be served accordingto a scheduling algorithm. On the server’s specification the time slices are defined, sothat the predefined number of users can be served honestly. Usually, the serverconfiguration file contains the parameter which tells the maximum amount ofsimultaneous connections. There are two alternatives to serve clients if there are lessclients requesting than this maximum number. Clients can get time slices which aretime divided to total number of requests or time divided to maximum number ofrequests. The requests make also traffic towards the server and takes processor timebecause these requests have to been handled at the servers processor. The amount ofpossible connections is usually restricted from 10 to 1000 simultaneous connections.So all clients can get rather good bit rate for transferring (5 Mbps/1000 = 5 kbps).The network load on trunk connections causes many times the bottleneck so thatactual bit rate will be only 1 kbps or even less (less than 0.1 kbps in some tests).

Hypermedia requires many times some additional programs for visualization orcalculation. Formerly all that calculation has been done on the server. This can takethe biggest part of the server’s CPU time. There are two possibility if the server isused for these calculations:

− There is only one process running on the server and it takes care ofthe calculations for every clients

− There is an own process for every client

The first one is more server friendly but there are some problems with the guiding ofthe results (some ID numbers for clients have to been taken use). The secondalternative is easier to program, but takes quite a lot of CPU time and use moreservers memory. For Internet hypermedia the Java will be a good solution. Thecalculations can be made on the clients memory. There are no problems for guidingresults to the right client and no servers CPU time will be wasted.

Page 53: MScthesis

45

10 Different Solutions

There are some choices that should be made before implementing a hypermedia basedcourse. There are some different server solutions also available. These solutions arepresented on this chapter.

10.1 Hypermedia Type

Hypermedia is a combination of hypertext and multimedia that allows users to movein a nonlinear fashion through text, images, sounds and other information. Theincreasing popularity of the Internet has caused the phenomenon that people thinkthat there are no other noteworthy hypermedia platforms than WWW pages.

The degree of interactivity can vary in hypermedia solutions. Some presentations hasonly a few links from page to other pages. Usually these presentations have table ofcontents and user can use that for going through the whole material. This type ofpresentations are usually used for hypermedia based courses. The most interactivehypermedia presentations give very many alternatives for user. Choices can be madeby pointing images or by choosing textual links or by command line selections. Thistype of hypermedia software is usually games or interactive movies.

Hypermedia can be distributed by movable medium like CD-ROMs and diskettes orby network. Nowadays, there comes a CD-ROM with many books, especially in thefield of computer science. The CD-ROM contains some examples and codes inhypermedia form. CD-ROM has been chosen because it has much more capacity thandiskettes and it is also faster. Of course the Internet has more space than CD-ROM,but it requires Internet access if someone will check these examples. If a book will besold much, there can be quite a heavy load on the publisher’s server. Because thesefacts the CD-ROM has been chosen quite often for the media of these hypermediawhich comes with books.

Large hypermedia systems can be distributed between some servers. There are twoalternatives to do this distribution. The hyperlinks can point absolutely to certainserver and then a certain part of the hypermedia always browsed from this server.Another way to distribute a hypermedia is to set up a main server and put all data onevery servers disks. Then the main server shares the queries to the servers accordingto a free service capacity of servers.

10.2 Server Solutions

If hypermedia is distributed on the movable medium no servers are required becausebrowsers can work as ”stand alone” with local hard disk. There are three platformalternatives for WWW based hypermedia: UNIX based servers and PC based servers.Due to the security issues UNIX is the most used. Almost all PC based servers havebeen made for Windows NT computers for the same reason. For educational (andother non-profitable) purposes there are several server softwares available free ofcharge. So the programmers and maintainers can choose the platform which they willuse. After this choice the software can be selected. The server’s platform does notaffect the platform independence of the hypermedia because the HTML is a platformindependent language for hypermedia purposes.

Page 54: MScthesis

46

It is good for the programmer that he can maintain the server himself without supportpersonnel’s help. So it is reasonable to put the hypermedia (WWW) the programmer’scomputer for developing time. After that the CPU load and disk read time caused bythe hypermedia use should be estimated. The final server solution can be made afterthese estimations. Traditionally the servers have been UNIX based, but the capacity ofthe NT based servers has approached UNIX servers’ level. The UNIX servers aremore reliable in long duration use, because these servers have been made so thatservers can be (or should be) switched on all the time.

10.3 Editors

The editing work of a hypermedia material is called authoring. Although there areseveral solutions for hypermedia publishing the HTML based WWW pages have somesuperior properties comparing to other alternatives. HTML is platform independentand based on the limited number of commands. HTML does not support fine lay-outslike some other hypermedia tools.

10.3.1 HTML Editors

The HTML provides a good platform for hypermedia. The WWW browsers do notrequire Internet connection but can be used also for browsing material from a localdisk. Hypermedia material can be transferred to the disk of local computer forexample in a ZIP archive. After opening the packet the material is ready for use.HTML supports this well, because the links can be made as relative links instead ofabsolute links. In case of Internet use the capacity of the server and the networkbandwidth can be restrictive factors. The original limitations for HTML, GIF, JPEG,AU and WAV file formats have been expanded with plug-ins and other softwaresolutions. Now there is not actual any noteworthy file format that can not be used onthe WWW page. The WWW browser with plug-ins for some general mathematicalsoftware files is suitable for many signal processing purposes.

The HTML files are bare ASCII code files containing commands how the data shouldbe viewed in the browser. The file format allows to use an editor which can producepure ASCII files. The ASCII text editors can be found free of charge from theInternet. Almost always there comes an ASCII editor with an operation system (likeNotepad with Microsoft Windows and Text Edit with Solaris). In addition to thesetext editors a number of different HTML editors can be found from the Internet. Forexample about 40 HTML editors can be found from http://www.tucows.com/ andover 200 HTML editors can be found from http://www.shareware.com/. Some ofthese editors are freewares, some of these are sharewares (you can use it a certaintime and if you like it you have to pay registration fee) and some of these are demoversions of commercial products. The goodness of these editors is a subjectivemeasure. The best versions are WYSIWYG editors. Most of these free editors aresuch that there are speedbuttons for the most used commands and other commandscan be found from the menus. The tags are presented on the screen as they are in theHTML file. The commercial editors are more stable and reliable than these freeeditors. Usually there are more editing properties in these commercial editors.

Netscape Communicator includes a WYSIWYG editor, called Page Composer. It isfree of charge for non-commercial purposes (like the Netscape Navigator). It is

Page 55: MScthesis

47

capable and has many good properties. For some specific layout matters (especiallywith image layouts) the ASCII editor should be used in addition to this PageComposer. It has not any WWW maintenance tools. Microsoft FrontPage is aprogram where a WYSIWYG editor and WWW maintenance tool has beenintegrated. Java components can be simply added on the WWW page with this editor.The maintenance tool updates links in case of changing file names or file locations.The integrity of the links can also be checked. If a programmer has time to try manydifferent editors the freeware or shareware can be a good choice. Otherwise acommercial product is better alternative, because the information from the commercialeditor is easier to achieve. The purchase decision can be made according to datasheets of products. It is possible to produce hypermedia for different purposes with aHTML editor. Real hypermedia softwares are often restricted to a certain area ofhypermedia (presentations, studying, etc.).

Microsoft has developed a set of assistant programs. These programs allow to save anormal text file with inline images or presentation file in the HTML format. Theassistant program converts images in a GIF format and adds links to these images.The lack of this type programs is that user can not affect the names of the images orspecify links between pages.

10.3.2 Other Hypermedia Editors and Softwares

Mathematical softwares are useful for DSP hypermedia. Mathcad and HTML areintegrated in the Mathbrowser. It is freely distributed by Mathsoft’s WWW page:http://www.mathsoft.com/browser/. The Mathcad files can be embedded to theWWW page with MIME type definition. MathBrowser browser’s current version usesMicrosoft’s Internet Explorer for WWW browsing. Mathsoft staff told that thisprogram is a way to publish your works in the Internet. The hypermedia is actuallyHTML at this alternatives too. There is only an easier way to embed Mathcad objectsinside the WWW page than with a normal browser and editor. This is a goodalternative for those who know the syntax of Mathcad. It is also suitable for symboliccalculations.

There are some multimedia developing software like Toolbook and HyperCard.Toolbook is done for Microsoft Windows environment and HyperCard for Macintoshcomputers. Both of these (like many other) softwares based on script language forgenerating hypermedia presentation. Toolbook has also graphical user interface. Theproblem with these programs is that a special language has to been studied before theprogramming work. This is not very attractive for those who will implement onehypermedia presentation. The restrictive factor for these softwares is also the platformdependence. The softwares which are not based on the HTML are usually platformdependent. So several programs should be used or at least several versions of the finalproduct should be made for satisfying the needs of the markets.

10.4 WWW-layout

Computers have screens with different sizes. Hypermedia should be realized so that itsvisual appearance is good enough on most displays.

Page 56: MScthesis

48

10.4.1 Equations as GIFs vs. as HotEqn images

Equations are problem for mathematical hypermedia. Ruhr-University Bochum’sVirtual Control Laboratory staff has developed a Java based HotEqn equation viewerprogram/applet [Müller/1]. This equation uses LaTeX notation in code and then theequation will be viewed as it will be printed in LaTeX document. A disadvantage ofthis applet is that the equations will not be printed with other information if a WWWpage is printed and applet based images can not been seen in older browsers which donot support Java. If equations are presented as images (GIF or JPEG) they areprintable. GIFs can not be used if a user feed the data, because all possible equationscan not be stored on the disk.

10.4.2 Frames vs. No Frames

Table of contents and some other information can be displayed on the screen all thetime, because almost all current browsers support frames. However these framesdecrease the effective screen area that can be used for current topic. Many times theseframes make peoples confused. If a frame WWW page will be bookmarked thebookmark points to the ”main WWW page”. This definition main is set for the tableof contents page not for a topic page. The printing function of some browsers doesnot work with frame pages. The browsing event can be made almost as easy as it willbe with two frames (one with table of content and one with current topic) if everypage has link to the table of content page.

10.5 Image Format Conversion

Some special utility programs are needed for creating mathematical equations. It isnot possible to create equations with a HTML editor if the equation consists ofnumerator and denominator (with MathML it will be possible). Single row equationscan be made with HTML editor. In other cases equations should be made with aspecial equation editor like Microsoft Equation editor or Adobe FrameMaker. Theequations should be converted to the HTML compatible format (GIF or JPEG). GIFis preferred for equations). This can be done with an image editing program. Thereare several image processing programs which can do this conversion betweenclipboard image and GIF.

Some material can be ready, but it is only in paper version. This material can beconverted to a digital form with a scanner. Scanners can seldom produce HTMLcompatible images. Also these images should be converted to GIFs or JPEGs.Programmers can consult his computers maintainer which programs are available inhis organization. The Paintshop Pro is a shareware program which is suitable for thesetasks on PC/Windows environments. It can be found for example from the followingURL: http://www.shareware.com.

10.6 Naming Technique of Different Objects

There are two alternative way to give names to files on the hypermedia:

− Numbered file names− Logical file names

If the hypermedia is done with numbered filenames i.e. the ”first” topic will bepage0001.htm and second page0002.htm etc. the hypermedia’s structure can be easier

Page 57: MScthesis

49

used for other hypermedia courses. For maintainer this naming technique is difficultbecause it is not easy to remember the contents of each page according to its number.Maintainers prefer page names convolution.htm etc. more than names likepage0001.htm. For end users there is no meaning which is the name of a page where atopic is discussed because users browse hypermedia with hyperlinks.

UNIX and Windows NT filesystems allow to use long file names i.e. longer than inDOS’s FAT (Disk Operating System File Allocation Table) 8+3 character. Thismakes possible to use very descriptive names for each topic. However, thedisadvantage of these long names is that programmers should write these names whenthey are making hyperlinks. Very long file names like:Ztransform_region_of_convergence.htm are not recommend because the filename cannot been easily shown on browser’s URL field. If pages are distributed on diskettesthey are usually compressed with ZIP program. DOS version (the most used in PCworld) recognizes long names, but shrinks them to 8+3 format. The long filenamewhich is presented above will be after uncompressing Ztrans~1.htm. This is notdesirable because then hyperlinks do not work any more. Programmers should alsonotice that HTML is a case sensitive language if the server support this operation i.e.Convolution.htm and convol.htm are separate files. Programmers can not trust in thisproperty is set on. Some server softwares do not make any difference between uppercase letters and lower case letters.

10.7 Automatic Link Generator

The automatic table of contents WWW page can be generated with MicrosoftFrontPage editor. This page unluckily contains all pages in a specific directory (alsopossible subchapters). It is also impossible to affect the order of these topics Theorder can change manually, but user can not change the automatic process i.e. everytime after the generation of table of contents maintainer should modify this page. Inthis hypermedia this is not a desired feature.

There are also some programming accessories programs which can keep database ofdefined ”hotwords”. After editing a hypermedia entity the linking tool will be used.The linking engine uses external database. These softwares are usually focused totraditional hypermedia not for WWW based hypermedia but there are also some toolsfor WWW environment. For a brief hypermedia these links can be made by hands,because studies for a new tool takes time and linking by hands can be made faster.

10.8 Java Editors and Compilers

There are several Java programming environments. The most used is JavaDevelopment Kit. It can be download from the Javasoft (Javasoft’s URL mentionedearlier). JDK does not contain graphical programming interface, but it contains:

− Java compiler, for byte code from source code− Appletviewer, for viewing applets on WWW pages without browser− Java interpreter, for running Java applications

The main reason for the popularity of JDK is that it is free of charge for non-commercial purposes. JDK is also fully compatible with current Java specificationsbecause it is made by Sun Microsystems which also is the main developer of the Java

Page 58: MScthesis

50

language. The code can be written with normal ASCII text editor (figure 10-1). Thecode must be saved on the disk memory and the name of the file must end with .java.After this the file can be compiled (figure 10-2) with command javac filename.java. Ifthe code is not correct the errors are listed on the screen. In case of correct programcode the output (byte code) is saved on the disk memory with same file name butending with .class. The byte code can be executed with Appletviewer (figure 10-3) orwith Java supporting WWW browser (figure 10-4). There are some graphicalprogramming interfaces available from the well-known programming interfaceproviders:

− Microsoft: Visual J++− Borland: Latte, J-Builder− Powersoft: Optima ++− Symantec: Café− Sun: Java Workshop− RoqueWave: Jfactory− FutureTense: Texture− Step Ahead Software: Javelin

Each of them has some good properties, but it is not easy to say which of them is thebest. It depends on the user’s former programming experience and from the formertools. The prices of these application development environments start from 1000Finnish marks. The problem with these editors is editor specific classes, which are notidentified by standard browsers. For example Java Workshop uses sunsite.* classesthat can be executed only in HotJava browser. Similarly J-Builder uses borland.*classes and there is no browser which supports these classes.

Figure 10-1: Windows Notepad used for editing Java source code

Page 59: MScthesis

51

Figure 10-2: compiling Java source code to Java byte code with javac

Figure 10-3: Applet executed through the Appletviewer

Figure 10-4: Applet executed through a Java compatibleWWW browser (Netscape Navigator 4.0)

Page 60: MScthesis

52

11 Chosen System

In this chapter the chosen system is presented. This is not probably the best solutionfor every platform’s but for this purpose it is very suitable.

11.1 Type of Hypermedia

It is quite easy to choose WWW/HTML for the type of hypermedia based DSPcourse. WWW based hypermedia allows some freedom to end users. They can selectthe computer’s platform and the browser’s vendor. Unfortunately, all browsers do notsupport all tags which are used in this hypermedia. If a special hypermediaprogramming environment for example Toolbook (for Microsoft Windows platform)is used for coding the hypermedia it is possible to use the product only in thecomputer platform supported by the programming environment. Some special toolslike support for mathematical syntax lacks from HTML, but these lacks can beavoided with some tricks. The aim has been that the hypermedia can be viewedcorrectly through all browsers. For this reason the HTML 3.2 is preferred (publishedin January 1997) comparing to HTML 4.0 (published in December 1997 (draft)).

HTML does not restrict the distribution medium. During the development the pageshave been kept on the local hard disk. When the material has been tested completelythe hypermedia will be moved to WWW server. It is also possible to create a CD-ROM for those users who do not have access to the Internet. The WWW basedsolution has been chosen also because it gives more security than CD-ROM ordiskette versions. The material on the WWW server can be updated and correctedeasier than the material on several movable medium (one for each user). Because thematerial from WWW server can be copied, access to this server has to be restricted.The usage of the material can be checked from server’s log-files.

11.2 Editor and Other Programs

Several editors have been tested. The decision that the chosen editor must beWYSIWYG editor has been done immediately, because the pure ASCII code is not apleasant programming environment. Next criterion was that editor should haveintegrated or separate maintaining tool. After some tests the Microsoft FrontPage 97has been chosen for the HTML editor for this hypermedia production (A new versionFrontPage 98 has been released during this project, but the original editor has beenused during the whole project even if the new version of this editor has many newpowerful features). This editor operates only in 32 bit Microsoft Windowsenvironment (Windows 95 or Windows NT 3.51 or 4.0). Microsoft FrontPage will bediscussed more in detail further.

Some special commands (for example figure positioning) have to been done with pureASCII editor (Microsoft Windows Notepad) because the FrontPage does not supportthese properties. UNIX based editors are not recommend for editing at all if editingwill be mainly done in PC environment. That is because UNIX based editors do notuse CR (Carriage Return) character at the end of the text rows. These editors usedonly LF (Line Feed) character. In the PC environment both characters should be used.

HTML syntax is good because it is possible to change the editing software. This ispossible because the code files are pure ASCII code. Some editor specific properties

Page 61: MScthesis

53

may disappear, but mainly the files can be edited with all editors. Even if some editordoes not support some properties these can be added with another editor to theHTML file. The test WWW browser has been Netscape Navigator 4.0.

There is no superior Java editor at this moment. Fortunately, Java files can be editedwith several editors. In this work Java Development Kit (JDK) and Java Workshopare used. Java Workshop uses some special classes (sunsite.*) and these classes workonly with HotJava browser.

11.3 Graphical User Interface

If it was easy to select the editor type the GUI type is more difficult to select. Themain problem is if there will be frames or not. On some hypermedia there are twoframes. The table of contents is in the smaller frame and the actual topic will be shownon the bigger frame. In the case of DSP the topics in the table of contents will be solong that this will take too wide space on the screen. There are also so many topicsthat the navigating frame should be scrolled up and down if user will see all topics.Frame based hypermedia is also more difficult to maintain because links should beupdated both in the material (hyperlinks in the text) and in the table of contents frame.

The navigating problem has been solved with navigating icons and separate table ofcontents page. In this hypermedia, there are eight different types of pages:

− Course home page contains information of the hypermedia based DSPcourse and next/current DSP course which will be lecturedtraditionally. There are also links to table of contents page, ”How tonavigate page”, to lecturer’s homepage and to exercise assistant’shomepage.

− How to navigate page contains information what those navigationicons mean.

− Table of contents page contains links to the main topics, to ”Terms andacronyms” page, to ”How to navigate” page and to the courses homepage.

− Text pages contain the main ideas of DSP and links todemos/exercises, to previous/following topics, to home page and totable of contents page.

− Subchapter table of contents page is such a page which contains onlylinks to subchapters, to previous/following topics, to home page and totable of contents page (and some of these pages also names ofreference books).

− Subchapters are parts of bigger entity and each of these pages containsonly one main idea and link back to the subchapter table of contentspage.

− Demo/exercise page contain a demo of some DSP topics or one ormore exercises and link back to the topic.

− Terms and acronyms page has definitions for some important DSPterms.

Page 62: MScthesis

54

Figure 11-1: Table of contents page

Figure 11-2: Subchapter table of contents page

Page 63: MScthesis

55

Figure 11-3: A normal text page

Figure 11-4: An example of demo/exercise pages

Page 64: MScthesis

56

The figures which are presented on two previous page are samples from the DSPhypermedia material. The ”lecture note’s” table of contents page is in figure 11-1. Asubchapter table of contents page is presented in figure 11-2. A normal course topicpage is presented in the figure 11-3. In the figure 11-4 a demo page is presented.

11.4 Server(s)

The hypermedia developing computer environment was Microsoft Windows NT 4.0Workstation (on Intel based PC). The installing CD-ROM of this operating systemcontains Microsoft Peer Web Services 3.0 HTTP server software. Because the chosenHTML editor is also a Microsoft product all of these softwares operates correctlytogether. Because this server type which has been used during the development phaseis not widely used (less than 1 % market share) and this server is intended only forlight usage the material is tested with another server. Apache server is the most usedHTTP server software with over 45 % market share. This is the reason why Apachehas been chosen to ”secondary” server type. The advantage from testing the materialon two different servers is that no server specific tricks can be used.

11.5 Data Formats

Plug-in softwares have become more popular. Those softwares allow to use nearlywhatever file type. In this hypermedia material the aim has been to produce thematerial so that a minimum number of these plug-ins will be needed. HTML code willbe as pure HTML 3.2 as possible. No dynamic HTML code will be used. Mostequations will be presented as GIF images. Some single line equations which do notcontain special mathematical symbols (like integral sign) will be presented insidesourcecode. Later (after the MathML publishing) equations can be part of WWWpages sourcecode. HTML codes are produced with Microsoft FrontPage softwarepacket. HTML filenames end with .htm, because so it is possible to edit those files inolder PCs where operating system restricts filenames to 8+3 characters. Specialattention should be focus on tables. It is easier to scan tables where are severalmathematical notations than doing them by hand. However scanned tables is a imagewhich is rather heavy to transfer over a network. HTML allows to make tables as apart of ASCII sourcecode. This is a recommended solution and also used in mosttables in this hypermedia.

Images in this hypermedia are mainly GIFs. JPEG has smaller file size due tocompression but there are some reason why GIF is better in this solution. Equationsare text information and this type of data can not be presented clearly with JPEGimages. JPEG is intended to full-color photos. These equations are black and whiteimages and GIF allows to store an image in 1-bit format. This saves disk space (evenmore than JPEG compression). In other images than equations the file type has beenselected according to the visual output and file size.

Sound files are either in Sun audio format (*.au) or in Riff wave format (*.wav). Bothof these audio formats are supported by browsers directly (included in the HTMLrecommendation) but only the Sun Microsystems’ audio format can be used insideJava code. Sound files are in 8 bit mono format because the file sizes are smaller thanwith 16 bit or stereo format. Several animations have been made in MPEG format.Java byte code files are in Java specific format (*.class). If a plug-in is needed, it is agood habit to tell to users from where this plug-in can be obtained. Some data filesneeded for demonstrations are in ASCII format.

Page 65: MScthesis

57

11.6 Exercise Generation

At this moment, there is no suitable dynamic exercise generator for DSP purposes.Some general mathematics exercise generator are on the market, but those are notsuitable for this purpose. Some exercises are static for this reason. The remainder partof exercises are pseudo random exercises. These are generated with Java code fromsome pre-set alternatives. Java can be used also so that exercises are generated totallythrough random process. In this case the checking of correctness is difficult to do.The visualization is also easier to implement if the equations are selected from pre-defined set of exercises.

Page 66: MScthesis

58

12 WWW-realization of DSP Hypermedia

In this chapter, several stages of hypermedia development are described. Althoughthese stages are platform dependent, a short description has been written from themost important stages. Some of these phases are quite similar with other MicrosoftWindows compatible softwares which are not discussed here.

12.1 NT Workstation Installation and Configuration

Microsoft Windows NT Workstation operation system software is delivered on CD-ROM. The installing CD-ROM contains files for Intel based PC, Alpha, MIPS andPowerPC environments. At the beginning of the installation process three backupdiskettes of most important system files will be made. After that the installing programwill check that there are at least 110 MB free space on the hard disk. It isrecommended that the hard disk has at least one partition which is not formatted yetfor FAT (file allocation table) file system (MS-DOS) or is formatted but empty.Installing program will suggest to format this partition to NTFS (NT file system) forNT usage only. This is recommended because so NT’s security feature can be utilized.The installing program allows user to make some options for example whereoperating system will be installed and what part of this operating system the user wishto install.

After copying all necessary files from CD-ROM to hard disk, system settings will bemade. The machine name and IP address are defined during this phase. User must askthe IP address, subnet mask and default gateway from network maintainer or fromhis/her ISP. Display and some other devices can be fine tuned in this phase. Thecomputer will be booted several times during this process but it is a normal action.After the installation has been done, user names can be specified through the UserManager software. The passwords should be keep secret because these allows to usethe computer. Security/access properties can be defined both at the directory level andfile level i.e. a ”public” directory can contain files which can be accessed only by theowner of these files.

12.2 Peer Web Services: Installation and Running

After the Microsoft Windows NT Workstation complete installation PWS (MicrosoftPeer Web Services) can be installed. Installation files can be found from the sameinstallation CD-ROM where NT installation files are. WWW server does not need anynetwork setting if NT is configured to network because PWS uses these NT settings.Installation is well guided and it lets user to make some selections for example theinstallation directory and services which user like to install (FTP, WWW and gopher).The basic configuration is easy to do but there are several registry keys (parameters)which maintainer can set for example amount simultaneous connections andbandwidth which is allowed to use for PWS.

The security issues can not be forgotten. This server software (as other softwares)allows the system manager to configure the access rights for users. This server allowsalso to configure different rights for different user groups which are defined withNT’s user administrator program. It is recommended that the maintainer disables

Page 67: MScthesis

59

unused services (usually gopher and sometimes FTP). This minimizes hackerspossibilities to break into the computer.

The PWS can be configured through Microsoft Internet Service Manager. The GUI ofthat program is presented in figure 12-1. This software allows to configure user policy(enable/disable anonymous logon). Log-file’s place and updating will be configuredalso through this program. The most versatile property of this program is virtualserver directory management. On this part of manager software directories can bedefined as alias directories on the server. For example WWW server can containdirectories from two hard disk and from one CD-ROM drive. These directories can beaccessed by their alias names.

The PWS will be started immediately when the computer is booted. The services isavailable even if no one is logged in the computer. The request to the server uses CPUtime and hard disk capacity. So it is preferred to move the material on another serverwhen the material will be ready. PC with Microsoft Windows NT Server operatingsystem is as suitable as UNIX based servers. Transferring to the real server ispreferred because no one wants his workstation to lock up sometimes for HTTPclients requests.

12.3 FrontPage

The Microsoft FrontPage is a program which has been made according to theMicrosoft Windows de facto standard. Its GUI is quite similar to other Windowsprograms. Installation can be easily done from the CD-ROM. Only those points whichare worth noticing are explained here. The ”Microsoft FrontPage unleashed” -bookwritten by William Robert Stanek, et al. can be found from the WWW addresshttp://www.mcp.com/ (browsing by choices) or directly fromhttp://www.mcp.com/824256000/1-57521/1-57521-140-8/index.htm. Also otherhelpful books can be found from that WWW site.

About 15 MB will be needed for full installation of Microsoft FrontPage program. Ifcomputer’s operating system supports CD-ROM autorun property the installationprogram will start immediately when the CD-ROM is inserted to CD-drive. Otherwisesetup.exe must be executed manually. The server administrator’s account have tobeen set up before setup completes, but FrontPage prompts about this automatically.After the Explorer starts first time, FrontPage tries to determine the IP address andhost name of the system automatically. It prompts about this also. FrontPage uses atool that checks for a TCP/IP connection to a network.

Figure 12-1: Microsoft Internet Service Manager's user interface

Page 68: MScthesis

60

FrontPage consists of two main programs: FrontPage Explorer and FrontPage Editor.Explorer is a maintainer software which takes care of updating links, checkingintegrity and other maintaining tasks. Editor is a WYSIWYG type WWW editor.Editor program generates the HTML code from users data. User creates linksmanually in this program. Once a link is created, the explorer will maintain it, if it isnot a global link. Both Explorer and Editor operate with webs (synonym for oneworkspace which can contain several directories). Maintainer program updateschanges inside a web correctly. When FrontPage Explorer was started, user gets adialog box which is shown in figure 12-2.

The first selection (radio button),”default”, is a web, which has been used in theprevious session. The second radio button allows to open an already existing web.Three remaining radio buttons are for creating new webs. The latest one is used in thishypermedia because there are no suitable wizard for this purpose. If the box on thelower left hand corner is not checked or the dialog box has been closed with cancelbutton these actions can be made directly from Explorer programs file menu. Explorerhas two states: folder view and hyperlink view. In the folder view (figure 12-3)objects can be moved to another directory or renamed. In these cases Explorerupdates link information to all places where it will be needed. Through Explorer’s filemenu a web can be published to the server which is not situated physically on thesame computer where editing has been done. Through the Explorer, spell checkingand access right setting can be done.

The hyperlink view (figure 12-4) has been planned because this visual view of a webhelps maintainer to perceive which things are connected to each other. Broken linkscan be easily seen from this view. It is also possible to spread out more than one node,but in the following figure only one node has been spread out because the lack ofscreen resolution to presents more nodes at the same time. There are four differenttypes of links which can be seen in the hyperlink view: normal hyper links, links toimages, inside a page links and repeated hyperlinks. These (not normal hyperlinks) canbe set as visible or invisible. For example if only integrity of pages will be checked theimage links can be set to invisible mode.

Figure 12-2: Dialog box appears when FrontPage Explorer was started

Page 69: MScthesis

61

FrontPage Editor program can be opened through the Explorer program or directlyfrom the operating systems start menu. It can be launched also from spell checkingpart of Explorer program. The user interface of Editor program is presented in figure12-5.

Figure 12-3: FrontPage Explorer folder view

Figure 12-4: FrontPage Explorer's hyperlink view

Page 70: MScthesis

62

The Editor program contains almost all properties which are in common ”pure” texteditors like text formatting (font name/size, bold, italic, underline), spell checking etc.In addition to these properties, this editor contains many HTML specific commands inmenus or directly in toolbar’s speed buttons. HTML specific properties are forexample insert hyperlink, preview in browser, insert radio button, insert Java code andinsert WebBot component. WebBot component is a dynamic object on a page that isevaluated and executed when the author saves the page or, in some cases, when theuser browses to the page. Most WebBot components generate HTML. Some codeparts works only with Microsoft Internet Explorer and Microsoft Internet InformationServer. Because of this browser/server dependence, these components are not used ifthese are not needed necessary.

There are some common parts for Explorer and Editor programs. ”To Do List” is oneof these actions. In this list, programmer can put those items which have to be donebefore publishing a web. Priority can be set for each task. This list is web specific i.e.it is common for all files in the same web (workspace). Both of these softwares usealso the same spell checking program and vocabulary.

12.4 Amount of Information on One WWW Page

There are some ways to share information on a web site. Some sites publish allmaterial on one page. This is good for those who will print the topic. Downloadingtime for such pages will be long especially if the document contains several images.Another extreme case which must be avoided is over fragmentation. Over fragmented

Figure 12-5: FrontPage Editor's user interface

Page 71: MScthesis

63

documents are difficult to use if there is no table of contents. It will be also difficult toprint. A compromise is selected for this hypermedia.

In this hypermedia, the table of contents contains 36 main topics. Most of these topicsare discussed on one WWW page. If the information on one WWW page has beenlonger than 1½ or 2 printed pages, the information has been split to subchapters.Some topics contain information for example tables and these pages can be longerthan this limit, but still these have been kept as one topic.

12.5 Possibility to Transfer Hypermedia on Another Server

As discussed before, this hypermedia will be as server independent as possible. Allinternal hyperlinks (i.e. not links going outside of the current server) are relative links.This means that the URL is not specified absolutely. For examplehttp://bud.pori.tut.fi/dsp/index.htm can point to the documenthttp://bud.pori.tut.fi/dsp/tabofcon.htm either with <A HREF=”http://bud.pori.tut.fi/dsp/tabofcon.htm”> </A> tag or with relative with <A HREF=”tabofcon.htm”> </A> tag. The later one is recommended because then there is noneed to change links when the material will be moved to another server.

File names are in 8+3 character format where this is possible. Java files requireslonger file names and those file names will be corrupted during transferring through a16 bits medium (for example DOS based FTP program or FAT floppy disk).Transferring can be done even with these 16 bits medium if files have been backed tozip or tar packet which supports long filenames. The most suitable transferringtechnique is a 32 bits FTP program (UNIX based or Microsoft Windows 95/NTbased).

Page 72: MScthesis

64

13 Conclusions

Many subjects, especially in further education, need material to support teaching. Theusage of the support material is more pleasant if it is in digital format on somecomputer. Material should be developed so that it suits all people in the course. Inaddition to the proper scope of the course, extra links are provided for furtherillustrations, especially for those participants with a weak background.

The World Wide Web (WWW) offers suitable delivery media for networkedhypermedia. HTML language is used for producing material to WWW. Because ofthese facts, HTML has been chosen for implementation language of this hypermedia.HTML offers many powerful features for programmers. For example HTML isplatform independent i.e. WWW pages can be seen on any computer platform where aWWW browser can be used. HTML allows also to use other programs for increasingthe properties of standard browsers.

When the material will be put on some WWW server it is available for every one whohas access to Internet. There are hundreds of millions users on the Internet and so thematerial should be protected. Protection will be needed for two purposes: to decreasethe server’s load and to prevent illegal copying of the material. Directory levelpassword protection has been indicated for best protection method.

The most difficult part of implementation of a hypermedia based course material is tofind tools for producing demonstrations and exercises. Some exercise generator hasbeen found, but those are not suitable for digital signal processing purposes. Javalanguage is suitable for many purposes but there are some problems with thislanguage. Java is a platform independent language (like HTML), but this requires thata programmer use a ”standard” programming tool. Java Development Kit (JDK) is theonly totally browser compatible Java programming tool. Other tools use some editorspecific classes. The disadvantage of JDK is that it is text based editor when othertools are graphical.

Material should be divided so that one page does not contain too much information.Suitable amount is one topic or maximum 1 - 2 printed pages on one WWW page.Table of content should have links to main topics. Some navigation icons help usageof the material. The problem with hypermedia production is the lack of time. It maytake up to a week to program a good demo/exercise applet. The material shouldcontain several applets. Text writing and equation writing takes also time. Team workis thus recommended.

The hypermedia based material for DSP course can be found from URLhttp://bud.pori.tut.fi/dsp/index.htm. This material has been made during this project.

The state of the art in the Internet changes so fast that some parts of this book havebeen revised a couple times during this project. Some new tools have been introducedduring the final stage of this project, but these are not tested. The new markuplanguage MathML and some other specialized markup languages will help thepublishing of mathematical equations on the Internet. After some years the Javaprogramming will become easier and browsers will support better Java applets andJava scripts.

Page 73: MScthesis

65

REFERENCES

Literature references:

Aronson 94 Aronson, L. HTML manual of style, Emeryville, California: Ziff-Davis Press, 1994, 132 pages

Ek 96 Ek, J., Java-ohjelmointi tutuksi, Vantaa: Pagina Oy, 1996, 190pages

Furht 95 Furht, B., Smoliar, S. W., Zhang, HJ. Video and Image Processingin Multimedia Systems, Boston, Massachusetts, Kluwer AcademicPublishers, 1995, 377 pages

Grundström 97 Grundström, M., Mickos, R. ATM-tekniikka & monipalveluverkot, Jyväskylä: Suomen ATK-kustannus Oy, 1997, 396 pages

Gunnarsson 96 Gunnarsson, G. Internetin tekniikka, Vantaa: Pagina Oy, 1996,251 pages

Hanselman 95 Hanselman, D., Littlefield, B. The Student Edition of MATLABVersion 4 User’s Guide, Englewood Cliffs, New Jersey: Prentice-Hall, Inc., 1995, 833 pages

Jaakonhuhta 96 Jaakonhuhta, H., Lahtinen, T. Tietoliikenne ja verkot, Jyväskylä:Suomen ATK-kustannus Oy, 1996, 485 pages

Kiuttu 97 Kiuttu, P., Java-ohjelmointi PRO-kurssi, Jyväskylä: Suomen ATK-kustannus Oy, 1997, 407 pages

Köykkä 97 Köykkä, S., HTML-ohjelmointi, Jyväskylä: Suomen ATK-kus-tannus Oy, 1997, 393 pages

Lehtinen 97 Lehtinen, E. (editor), Tella, S., Hakkarainen, K., Järvelä, S.,Multisilta, J., Marttunen, M., Huhta, M., Ojala, M., Siekkinen, M.,edit., Verkkopedagogiikka, Helsinki: Oy Edita Ab, 1997, 163pages

MicroPC10/97 Kemppainen, T., Talvitie, H., WWW-kanavat tuovat uutisettyöpöydälle, MicroPC, vol. 10, 1997, pages 39 - 42.

Multisilta 96 Multisilta, J., Hypermedia Learning Environment for Mathematics,Tampere: TTKK, monistamo, 1996, 97 pages

Nykänen 98 Nykänen, O., Pohjolainen, S. Using General Purpose ComputerAlgebra System Maple in WWW-based Open LearningEnvironments, Multisilta, J. Niemi, J-P., edit. Proceedings of theLeTTeT ’98 and MaTILDA ’98 Joint Conference, Pori: Porinkorkeakouluyksikkö, TTKK, TKKK, 1998, pp. 73-80.

Staflin 96 Staflin, R., HTML-ohjelmointi, Vantaa: Pagina Oy, 1996, 241pages

Stallings 94 Stallings, W. Data and Computer Communications, New York:Macmillan Publishing Company, 1994, 875 pages

Page 74: MScthesis

66

WWW references:

Apache/1 Apache Project, Apache HTTP Server Project,http://www.apache.org/, (quoted) 30.12.1997

Basith/1 Basith, S. A., Done, S. R., Departments of Computing & Electri-cal Engineering Imperial College, 180 Queen's Gate, London,SW7 2BZ, MPEG reporthttp://www-dse.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/sab/report.html,(published) 14.6.1996, (quoted) 10.12.1997

Gigabit/1 [email protected], Gigabit EthernetConsortium, Ethernet Comparison Summary,http://www.gigabit-ethernet.org/technology/overview/compsum.html ,(quoted) 22.12.1997

IC-Online/1 [email protected], IEEE Internet ComputingOnline, Gigabit Ethernet,http://www.computer.org/internet/v1n5/ether.htm, (quoted)22.12.1997

Indiana/1 [email protected], Indiana University, University Com-puting Services, Center for Innovative Computer Applications,Image formats,http://www.cica.indiana.edu/graphics/image.formats.html, ,(published) 21.11.1994, (quoted) 10.12.1997

Korpela/1 Korpela, J., [email protected], Tekijänoikeusfakki,http://www.hut.fi/korpela/tekoik.html, (quoted) 20.1.1998

MathSoft/1 MathSoft, Mathcad 7.0, http://www.mathsoft.com/mathcad/,(quoted) 30.1.1998

Microsoft/1 Microsoft Corporation, Internet Information Server,http://www.microsoft.com/iis/default.asp, (quoted) 2.1.1998

Microsoft/2 Microsoft Corporation, Internet Explorer Home,http://www.microsoft.com/ie/, (quoted) 9.1.1998

Müller/1 Müller, S. [email protected], Ruhr-UniversityBochum, Virtual Control Laboratory,http://www.esr.ruhr-uni-bochum.de/VCLab/, (published)12.11.1996, (quoted) 11.12.1997

NCSA/1 National Center for Supercomputing Applications,[email protected], The NCSA HTTPd Home Page,http://hoohoo.ncsa.uiuc.edu/, (quoted) 9.1.1998

Netcraft/1 Netcraft Ltd., Rocketfield House, Granville Road, Bath BA1 9BQ,Netcraft - Site Index, http://www.netcraft.com/siteindex.html,(quoted) 26.1.1998

Netscape/1 Netscape Communications Corporation, Knowledge base,http://help.netscape.com/index.html, (quoted) 11.12.1997

Page 75: MScthesis

67

Netscape/2 Netscape Communications Corporation, Netscape Server Central -SuiteSpot, http://www.netscape.com/comprod/server_central/,(quoted) 5.1.1998

Netscape/3 Netscape Communications Corporation, Netscape Communicatorand Navigator Library,http://www.netscape.com/library/communicator.html, (quoted)9.1.1998

PGP/1 Johnson, M. P., [email protected], Where to Get PGP,http://www.sni.net/~mpj/getpgp.htm, (quoted) 19.2.1998

Stars/1 Richmond, A. and L. 7002 Kingfisher Lane, Lanham MD 20706USA, Computer acronymshttp://WWW.Stars.com/Reference/Index/, (quoted) 27.10.1997

Stars/2 Richmond, A. and L. 7002 Kingfisher Lane, Lanham MD 20706USA, VL-WWW: Servers,http://WWW.Stars.com/Vlib/Software/Servers.html, (quoted)30.12.1997

Stauffer/1 Stauffer, K., [email protected], Athabasca University,Student Modelling and Web-based Learning Systems,http://ccism.pc.athabascau.ca/html/students/stupage/Project/initsm.htm, (published) 22.3.1996, (quoted) 7.1.1998

W3/1 Nielsen, H. F. World Wide Web Consortium, MIT/LCS NE43-348, 545 Technology Square, Cambridge MA 02139, USA, HTTPprotocol declaration, http://www.w3.org/Protocols/Activity.html,(published) 9.8.1997, (quoted) 8.12.1997

W3/2 Raggett, D., [email protected], World Wide Web Consortium, HTML3.2 Reference Specification,http://www.w3.org/TR/REC-html32.html, (published) 14.1.1997,(quoted) 12.1.1998

W3/3 Raggett, D., Le Hors, A., Jacobs, I., dsr,lehors,[email protected],World Wide Web Consortium, HTML 4.0 Specification,http://www.w3.org/TR/REC-html40/, (quoted) 18.12.1997