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
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 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.

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.

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.
Whenever a Live Player encounters a Hybrid media, the original Universal Resource Locator (URL) will be sent to the Live Server. The Live Server will then scan a translation table to obtain the translated URL. Translated URLs occur whenever there is a change in the physical location of the resource or when the information pointed to by the URL has been changed by a LiveCD service provider.
Once the Live Player receives the original or translated URL, it checks its local cache to determine if it contains the information referenced by by the URL. If the information in the cache is outdated, the Live Player proceeds to retrieve the information using the URL from the appropriate Internet site.

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 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 Command API allows the Live Player to control general aspects of the LiveCD DLL behavior, such as initializing the DLL, connecting and disconnecting to the Live Server.
| Command API | |
|---|---|
| LP_Initialize | Initializes the LiveCD DLL. This function MUST be called by the Live Player before any other functions in the LiveCD DLL can be used. |
| LP_Connect | Attempts to connect the Live Player to a Live Server. This function MUST be called by the Live Player before any networking functions in the LivePlayer is enabled. If the operating system does not have a WinSock stack initiated, this function will cause Trumpet WinSock stack (or any other WinSock stack implementation installed on the user's machine that has auto-startup capability) to startup for SLIP/PPP interfacing with the Live Server through modem dialup. If the operating system has already initialized a WinSock stack, an Internet connection is made to the Live Server. A dialog box will pop up on connection with the Live Server during which the user will have to specify a valid login ID and password. If the connection is successful, the Live Player networking features will be enabled. |
| LP_Disconnect | Attempts to disconnect the Live Player from a LiveServer. This function MUST be called by the LivePlayer before the LivePlayer quits. |
| LP_Terminate | Performs housekeeping chores on the LiveCD DLL. This function is called by the Live Player upon exit. |
| LP_IsInitialize | Checks whether the LiveCD DLL is already initialized. |
| LP_IsConnected | Checks whether the Live Player is connected to the Live Server. |
| LP_MailTo | Enables the Live Player to send an e-mail to another LiveCD user. This function should only be called after an LP_Connect has been successfully called. |
| LP_FaxTo | Enables the Live Player to send a facsimile to another LiveCD user using the facsimile device on the Live Server. This function should only be called after an LP_Connect has been successfully called. |
| LP_LocalFaxTo | Enables the Live Player to send a facsimile to another LiveCD user using the local facsimile device. This function should only be called after an LP_Connect has been successfully called. |
| LP_Chat | Enables the Live Player to chat with other Live Players or with the publisher. This function should only be called after an LP_Connect has been successfully called. |
The Media API is used by the Live Player to create, render and destroy
the various media supported by the LiveCD system.
| Media API | |
|---|---|
| LP_CreateMedia | Creates a Live Player Static, Hybrid or Net media object and its associated window. The parameter passed identifies the URL of this resource to be displayed in the window. |
| LP_DestroyMedia | Deletes a Live Player media object and its associated window. |
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
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.
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.
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.
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.
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)
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"