Building an Internet SDK Library for Hybrid Multimedia Titles


Kien Fatt Chan, Member of Technical Staff, Information Technology Institute, 11 Science Park Road, Singapore Science Park 2, Singapore 117685, Singapore.

Please address all correspondence to: Kok-Hoon Teo, Associate Member of Technical Staff, Information Technology Institute, Email: kokhoon@iti.gov.sg Phone: (65) 770-5768 Fax: (65) 779-5966


Keywords: World Wide Web, LiveCD, Live Player, Live Server, Static Media, Hybrid Media, Net Media, Uniform Resource Locator

Introduction

This article describes the development of an Internet Software Development Kit to allow publishers to create hybrid multimedia products that seamlessly integrate information on a CD-ROM with information from the Internet.

Background

The Information Technology Institute [HREF 2] (ITI) is a Research and Development organization funded by the Singapore Government. In 1995, the LiveCDTM © 1995-96 [HREF 3] project was started to develop a Software Development Kit (SDK) to help publishers develop hybrid multimedia CD-ROM titles which seamlessly integrate information on the CD-ROM and information from the Internet. Users of these hybrid CD-ROMs will not only be able to browse the multimedia content on the CD-ROMs but also download updated information from a Web Server maintained by the publisher. The download process is done transparently without any need for user intervention.

Why The LiveCDTM Project?

Hybrid titles, which combine huge amounts of data on a CD-ROM with up-to-date content on the Internet, are gaining popularity as the Internet market grows at a breakneck speed every year. This momentum continues to accelerate as data communications becomes faster, making online information retrieval easier. But even integrated services digital network (ISDN) connections are slow compared to the access speed of a CD-ROM by an order of magnitude. The typical data transfer rate of an ISDN leased line is about 128 kilobits (both B channels) per second as compared to about 1200 kilobits per second for a 8x speed CD-ROM drive.

Economy is another reason for keeping archives of reusable data on the CD-ROM. Retrieving huge amounts of data which do not change frequently from a CD-ROM is more cost effective than paying for phone and online charges each time information is retrieved online. And downloading data and storing it for use can put a strain even on today's increasingly roomy hard disks. For data that will be reused, CD-ROM makes more sense.

Realizing these factors, publishers today are trying to create titles which integrate reusable information on a CD-ROM with changeable information from the Internet. But by and large, most hybrid titles are still poorly integrated products.

To help publishers produce integrated hybrid titles, we release the LiveCD SDK which allows publishers to seamlessly integrate information from the Internet with the rich multimedia content on CD-ROMs. These hybrid titles can be created using any multimedia authoring tool such as Asymmetric's Toolbook, MacroMedia's Director or AuthorWare which have plug-in DLL capability to access the LiveCD dynamic link library (DLL) functions. Programming languages such as Microsoft's Visual C/C++ or Visual Basic can also be used to create these hybrid titles.

Users of these hybrid CD-ROM title will be able to browse the multimedia content from the CD-ROM and at the same time, receive up-to-date information from the Internet. Information on the CD-ROM which needs to be updated will be transparently replaced with the newly downloaded version. All of the downloaded files are stored in a cache directory of the user's local hard disk.

Publishers can periodically provide new information to be downloaded by users of these hybrid CD-ROM titles. At the same time, users of the same CD-ROM are able to chat or email with each other or with the publisher on-line.

The key features and benefits of using the LiveCD system are:

The LiveCDTM System

The LiveCD system uses a client-server based architecture built on top of a number of Internet Services Protocol. The protocols supported are HyperText Transfer Protocol [HREF 4] (HTTP), File Transfer Protocol [HREF 5] (FTP), Net News Transfer Protocol [HREF 6] (NNTP), and Simple Mail Transfer Protocol [HREF 7] (SMTP).

The LiveCD system consists of a Live Server running on a Windows NT host machine; and an application called the Live Player, which makes use of the LiveCD SDK, running on the Windows 3.1/95 client machine.

To connect the Live Player to the Live Server, a Transmission Control Protocol and Internet Protocol (TCP/IP) socket connection is established, after which all information will be transferred using this socket.

LiveCD system using TCP/IP sockets

The LiveCD system is centered around a Live Server which accepts connections from a number of Live Players. These Live Player applications may be linked to the Live Server either via a direct Internet link (i.e. the client has its own Internet Protocol (IP) address, or via a modem dial-up to a terminal server to which the Live Server is connected.

Users who do not have an account with an ISP will have to dial up to the Live Server via the terminal server maintained by the LiveCD service provider or publisher.

LiveCD system architecture

Types of LiveCD Media

The Internet resources handled by the LiveCD system are of the following types:

These different types of resources can either be Static Media, Hybrid Media or Net Media.

Except for Static media, Hybrid and Net media needs to be cached on the user's local hard disk. A paging mechanism, implemented in the LiveCD DLL, manages the information in the local cache. Information in the local cache which have not been accessed recently will be discarded when the cache gets filled.

Hybrid media can be modified by LiveCD service providers using a LiveCD utility called the Resource Updater. Once the media has been modified, all currently connected Live Players will be updated with the new URL from the Live Server.

To differentiate between the different types of media supported by the LiveCD system, the STATIC, HYBRID and NET tags are used.

Except for native media objects that do not change and are used frequently in the Live Player applications, we strongly encouraged the use of Hybrid media in LiveCD systems.

The LiveCDTM DLL

The LiveCDTM DLL is a (16/32-bit) Windows library used by the Live Player applications. It implements all the functionality required by the Live Player applications to communicate with the Live Server.

The Live Player application communicates with the LiveCD DLL through a predefined Application Programming Interface (API). This API is divided into 2 categories:

The Live Server

The Live Server is a multi-threaded daemon process running on a host NT machine. It interprets the LiveCD Services Protocol (LSP) commands sent by the Live Players, performs the required services, and sends the appropriate responses back to the Live Players.

The functionalities of the Live Server include

Proxy Server

The Live PLayer is capable of accessing the Web either directly, via the HTTP or indirectly, forwarding its HTTP requests to a specified Proxy Server. The Proxy Server enables transparent access to the Internet within a FireWall environment. It also yields the possibility of using a collective cache, resulting in faster response time for the end users.

Resource Updater

The Resource Updater is a utility used by the LiveCD service provider or publisher to update the LiveCD Dynamic media on the Live Server. Once the media has been updated, the Resource Updater, which is built using the LiveCD SDK, will inform the Live Server that the media has been updated. The Live Server then proceeds to broadcast to all connected Live Players of the updated media.

Development of the LiveCD DLL

The LiveCD DLL is based on a ported version of the CERN WWW Reference Library, which provides some of the underlying networking and protocol layers; and the LiveCD Services Protocol (LSP) Library, which provides the communication layer between the Live Players and the Live Server.

Much of the LiveCD DLL is built using the C++ Language although some code is written in the C Language for performance reasons. Much of the development effort was expended in the porting of the CERN WWW Reference Library (Unix version) to Microsoft Windows. Another major development effort was writing one common source code for both a 16-bit and 32-bit LiveCD DLL.

Test applications were then written to test and debug the robustness of the library code. Once the library code was relatively stable, several sample applications using different authoring tools such as Macromedia's Director, Asymmetric ToolBook, and even a proprietary authoring tool called Aroma, were developed for testing and debugging.

With Internet standards evolving and Internet protocols changing, the LiveCD DLL is continually updated to accommodate these changes.

Conclusion

This paper has presented an SDK which enables publishers to design "living" hybrid titles on CD-ROM that are usable and enjoyable to use. Increasingly, users will consist of people who want to look at "living" information as opposed to printed material. This "living" information can grow, shrink, react to change, and even perish.

In future releases of the LiveCD system, we will be looking at implementing support for various media types like HTML 3.2, JavaTM Applet, Netscape Plug-in, VRML, VoiceChat, VBX, OLE, SHTTP and SSL. The LiveCD DLL will also be ported to other platforms like the Macintosh and Windows NT workstation.

A new Live Server toolkit will be released to help publishers customize Live Servers that use our LiveCD Services Protocol (LSP) to communicate with a variety of Live Players. The toolkit will be available on Windows NT, Windows 95, Windows 3.11 and UNIX flavored operating systems.

And a new Resource Updater toolkit will be released for application developers who want to automate the updating process of networked media. Using this toolkit, the application developer will be able to write an application that reads information from a database, format it into a media type that is recognized by the Live Player, and communicate with the Live Server to announce the changed media to connected Live Players.


References

Eng Whatt Toh, Information Technology Institute. "LiveCD System Requirements Document", 1995.

HyperText Transfer Protocol Internet Draft. HTTP is developed by the W3C and the HTTP working group of the IETF. Refer to http://www.w3.org/hypertext/WWW/Protocols/

Request for Comments (RFC) 1060 specification for Post Office Protocol (POP3).

Request for Comments (RFC) 959 for File Transfer Protocol (FTP)

Request for Comments (RFC) 977 for Net News Transfer Protocol (NNTP)

Request for Comments (RFC) 821 for Simple Mail Transfer Protocol (SMTP)


Hypertext References

HREF 1
kienfatt@iti.gov.sg
HREF 2
http://www.iti.gov.sg
HREF 3
http://livecd.iti.gov.sg/
HREF 4
http://www.w3.org/hypertext/WWW/Protocols/
HREF 5
http://www.w3.org/pub/WWW/Protocols/rfc959/Overview.html
HREF 6
http://www.cis.ohio-state.edu/htbin/rfc/rfc977.html
HREF 7
http://www.cis.ohio-state.edu/htbin/rfc/rfc821.html
HREF 8
http://www.w3.org/hypertext/WWW/MarkUp/


Copyright

LiveCDTM © 1995-96 [HREF 3], is a research project completed in the Information Technology Institute (ITI) of Singapore. ITI assigns to Southern Cross University and other educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. ITI also grants a non-exclusive licence to Southern Cross University to publish this document in full on the World Wide Web and on CD-ROM and in printed form with the conference papers, and for the document to be published on mirrors on the World Wide Web. Any other usage is prohibited without the express permission of the author.


Pointers to Abstract and Conference Presentation
Abstract Interactive Version Papers & posters in this theme All Papers & posters AusWeb96 Home Page

AusWeb96 The Second Australian WorldWideWeb Conference "ausweb96@scu.edu.au"