Network Computer Technical Standard
Copyright © 1998 The Open Group


Frontmatter


Technical Standard
Network Computer
Document Number: C720
February 1998

©February 1998, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owners.



Any comments relating to the material contained in this document may be submitted to The Open Group at:

The Open Group
Apex Plaza
Forbury Road
Reading
Berkshire, RG1 1AX
United Kingdom

or by electronic mail to:

OGSpecs@opengroup.org


Preface

The Open Group

The Open Group is the leading vendor-neutral, international consortium for buyers and suppliers of technology. Its mission is to cause the development of a viable global information infrastructure that is ubiquitous, trusted, reliable, and as easy-to-use as the telephone. The essential functionality embedded in this infrastructure is what we term the IT DialTone. The Open Group creates an environment where all elements involved in technology development can cooperate to deliver less costly and more flexible IT solutions.

Formed in 1996 by the merger of the X/Open Company Ltd. (founded in 1984) and the Open Software Foundation (founded in 1988), The Open Group is supported by most of the world's largest user organizations, information systems vendors, and software suppliers. By combining the strengths of open systems specifications and a proven branding scheme with collaborative technology development and advanced research, The Open Group is well positioned to meet its new mission, as well as to assist user organizations, vendors, and suppliers in the development and implementation of products supporting the adoption and proliferation of systems which conform to standard specifications.

With more than 200 member companies, The Open Group helps the IT industry to advance technologically while managing the change caused by innovation. It does this by:

The Open Group operates in all phases of the open systems technology lifecycle including innovation, market adoption, product development, and proliferation. Presently, it focuses on seven strategic areas: open systems application platform development, architecture, distributed systems management, interoperability, distributed computing environment, security, and the information superhighway. The Open Group is also responsible for the management of the UNIX trademark on behalf of the industry.

The Development of Product Standards

This process includes the identification of requirements for open systems and, now, the IT DialTone, development of Technical Standards (formerly CAE and Preliminary Specifications) through an industry consensus review and adoption procedure (in parallel with formal standards work), and the development of tests and conformance criteria.

This leads to the preparation of a Product Standard which is the name used for the documentation that records the conformance requirements (and other information) to which a vendor may register a product.

The "X" Device is used by vendors to demonstrate that their products conform to the relevant Product Standard. By use of the Open Brand they guarantee, through the X/Open Trade Mark Licence Agreement (TMLA), to maintain their products in conformance with the Product Standard so that the product works, will continue to work, and that any problems will be fixed by the vendor.

Open Group Publications

The Open Group publishes a wide range of technical documentation, the main part of which is focused on development of Technical Standards and product documentation, but which also includes Guides, Snapshots, Technical Studies, Branding and Testing documentation, industry surveys, and business titles.

There are several types of specification:

In addition, The Open Group publishes:

Versions and Issues of Specifications

As with all live documents, CAE Specifications require revision to align with new developments and associated international standards. To distinguish between revised specifications which are fully backwards compatible and those which are not:

Corrigenda

Readers should note that Corrigenda may apply to any publication. Corrigenda information is published on the World-Wide Web.

Ordering Information

Full catalogue and ordering information on all Open Group publications is available on the World-Wide Web.

This Document

This document is the Technical Standard for the class of devices known as Network Computers. It defines the minimum set of requirements which must be met by a product in order for that product to conform to an Open Network Computer: Foundation Product Standard.

The first release of the Network Computer specification was published as the Network Computer Profile, Document Number X975, June 1997. Now, this Network Computer Technical Standard - which was also known during its development as NC1.1 - supersedes the Network Computer specification contained in document X975. Similarly, the referenced Open Network Computer: Foundation Product Standard supersedes the conformance requirements contained in document X975.

Structure

Trademarks

Motif®, OSF/1®, and UNIX® are registered trademarks and the IT DialToneTM, The Open GroupTM, and the "X Device"TM, are trademarks of The Open Group.

Referenced Documents

The following documents are referenced in this standard:

  • Internet Standard 11, Format of Electronic Mail Messages
  • Internet Standard 14, Mail Routing and the Domain System
  • IETF RFC 974, Mail Routing and the Domain System
  • ISO 8859-1:1987, Information Processing - 8-bit Single-byte Coded Graphic Character Sets - Part 1: Latin Alphabet No. 1
  • HTML 3.2 Reference Specification
  • Graphics Interchange Format Specification (GIF), Version 89a
  • ISO/IEC 10918-1:1994 - Information technology - Digital compression and coding of continuous-tone still images: Requirements and guidelines.
  • ISO/IEC 10918-4:1992 - Information technology - Digital compression and coding of continuous-tone still images: Registration of JPEG profiles, SPIFF profiles, SPIFF tags, SPIFF colour spaces, APPN markers, SPIFF compression types and Registration Authorities (REGAUT)
  • Audio
  • Java Virtual Machine Specification
  • Java Platform 1.1 Core API
  • Internet Standard 9, File Transfer Protocol
  • Internet Standard 8, Telnet Protocol
  • Internet Standard 3, Requirements for Internet Hosts
  • Internet Standard 7, Transmission Control
  • Internet Standard 6, User Datagram Protocol
  • Internet Standard 5, Internet Protocol, Version 4 (IPv4)

  •  

    Introduction

    Scope

    This document provides the technical specification for the class of devices known as Network Computers (Network Computer). It identifies the minimum set of requirements which must be met by a product in order for that product to conform to the referenced Open Network Computer - Foundation Product Standard.

    Positioning

    A rich heritage of open systems standards in a dynamic and heterogeneous computing environment led to the evolution of the Internet and network computing as it now exists.

    As the focus on the Internet, Intranets, and this network computing environment continues to increase, a number of emerging technologies and potential standards will emerge, both open and proprietary, competing for acceptance. Along with this will come a growing variety of network-attached devices, which will implement various combinations of these standards.

    As consumers, developers, manufacturers, corporations, education, government, service providers, and others, approach this complex and sometimes confusing landscape, it will be beneficial if a common set of standards exists which facilitates:

    This Technical Standard is aimed at promoting this objective. It provides an entry-level definition for an Network Computer, to define common sets of popular and widely used features and functions across a broad range of scaleable network computing devices, including personal computers. It is flexible, architecturally neutral, and is intended to facilitate the growth of network computers while helping to protect investments made by customers and by content, system, service, and application providers. It encourages interoperability with servers, and facilitates development of a broad application base to run on compliant devices. It also provides guidelines to content and service providers for designing and building applications, and other Internet content which will interoperate with Network Computer devices which are standards-compliant.

    This Technical Standard does not define a complete implementation for a Network Computer, nor does it preclude provision of additional features and functions outside the scope of this Technical Standard.

    Network Computers are expected to be highly scaleable and to span a product range from the palmtop to the desktop. They attach to the network and interoperate with other network nodes and network content in an IP-based network. They are end-user devices.

    Network Computers conforming to this Technical Standard support a common Java-based execution environment, enabling network-resident applications, as well as stand-alone applications, to execute on them. They are typically dependent on the network, but may offer stand-alone functionality.

    This Technical Standard defines an open standard which can be fully implemented from the information included and referenced by this document. There is no dependency on any other information or proprietary technology.

    Network Computer and PC

    Network Computers (Network Computer) are not intended to replace Personal Computers (PC). Today's Personal Computers are fully capable of satisfying the requirements of this Technical Standard. However, unlike Personal Computers, Network Computers are designed from the outset with the network, Internet, and Intranets in mind. Additionally, Network Computers which comply with this Technical Standard are intended to have the following attributes:

    Overriding Standards

    All formal standards included within this Technical Standard are specified by a direct reference to the formal standard document itself.

    These are identified in the list of Referenced Documents.

    Compliance Considerations

    The Open Network Computer Brand

    A Network Computer product that meets the functional requirements as defined in the relevant Open Network Computer Product Standard can be submitted with an application to The Open Group for award of the corresponding Open Network Computer Brand.

    Any Network Computer product which satisfies the mandatory parts of this Technical Standard may expect to satisfy the conformance requirements for the Open Network Computer Brand. If any optional facilities defined in this Technical Standard are included in a Network ComputerC product, then those facilities must be implemented as defined in this Technical Standard.

    Conformant products may also provide additional standards-based or proprietary services, so long as the mandatory conformance requirements continue to be met, or an environment in which these requirements are met can be configured by a user.

    In all cases, the definitive conformance requirements are specified in the applicable Open Network Computer Product Standard.

    Information on how to apply for award of an Open Network Computer Brand can be obtained from The Open Group's Network Computing Public Web page.

    Open Network Computer Product Standards

    The conformance requirements for a Network Computer product are defined in an Open Network Computer Product Standard.

    It is clear that the market will demand a variety of Network Computer products to satisfy the differing requirements in a number of market areas.

    It is desirable that all these Network Computers support a foundation level of functionality and standards, and that classes of devices, which may provide unique features and functions specific to their particular market, do so consistently, and where possible are based upon the same common foundation of open systems standards.

    Accordingly, future versions of this Network Computer Technical Standard will define additional functionality.

    As the set of etwork Computer functional components increases, new Open Network Computer Product Standards will be generated, to define conformance requirements for higher-functionality Network Computer products. In addition, one Product Standard may call up other Product Standards, so enabling various combinations of functionality to be defined. Thus, a range of Open Network Computer Product Standards will emerge, to meet market demand for the Open Network Computer Brand for various configurations of Network Computer products, for general use, and for specific vertical markets. These Product Standards will coexist.

    Terminology

    The following terms have special meaning in this document:

    can

    This describes a permissible optional feature or behavior available to the user or application; all systems support such features or behavior as mandatory requirements.

    implementation-dependent

    The value or behavior is not consistent across all implementations. The provider of an implementation normally documents the requirements for correct program construction and correct data in the use of that value or behavior. When the value or behavior in the implementation is designed to be variable or customisable on each instantiation of the system, the provider of the implementation normally documents the nature and permissible ranges of this variation. Applications that are intended to be portable must not rely on implementation-dependent values or behavior.

    may

    With respect to implementations, the feature or behavior is optional. Applications should not rely on the existence of the feature. To avoid ambiguity, the reverse sense of may is expressed as need not, instead of may not.

    must

    This describes a requirement on the application or user.

    shall

    This means that the behavior described is a requirement on the implementation and applications can rely on its existence. See also "will".

    should

    With respect to implementations, the feature is recommended, but it is not mandatory. Applications should not rely on the existence of the feature.

    With respect to users or applications, the word means recommended programming practice that is necessary for maximum portability.

    undefined

    A value or behavior is undefined if this document imposes no portability requirements on applications for erroneous program constructs or erroneous data. Implementations may specify the result of using that value or causing that behavior, but such specifications are not guaranteed to be consistent across all implementations. An application using such behavior is not fully portable to all systems.

    unspecified

    A value or behavior is unspecified if this document imposes no portability requirements on applications for correct program construct or correct data. Implementations may specify the result of using that value or causing that behavior, but such specifications are not guaranteed to be consistent across all implementations. An application requiring a specific behavior, rather than tolerating any behavior when using that functionality, is not fully portable to all systems.

    will

    This means that the behavior described is a requirement on the implementation and applications can rely on its existence.


    Conceptual Architecture

    The following conceptual architecture description illustrates the basic capabilities of a Network Computer and how they relate to one another.

    Note that this is an abstract architecture, and is in no way meant to describe the inner workings of any particular Network Computer, nor is it meant to dictate implementation. Instead, it is meant to help the reader understand how the various elements of a Network Computer might work together.

    Figure: Network Computer Abstract Architecture

    In this Figure, the required elements of the architecture are denoted by solid lines, and the optional elements by dotted lines.

    Provide a User Interface

    Conforming products are required to provide a set of capabilities that together make up the interface between the system's user and the system services.

    Process URLs

    When a user enters or selects a Uniform Resource Locator (URL), this needs to be evaluated by the system. Depending upon the URL's scheme, different tasks will be performed:

    Execute Java Applets

    When a Java bytecode file is referenced through the HTML <APPLET> tag, that bytecode file will be retrieved via the HyperText Transfer Protocol and executed.

    Process and Present Resources

    Resources that are requested via the URL http: or https: schemes have content types. These content types will cause them to be processed in different ways prior to rendering them to the product's output devices.


    Basic Specification

    The Network Computer is platform-independent. It consists of a particular combination of hardware and software.

    This chapter specifies the mandatory features for a conformant Network Computer product. Optional Facilities defines optional facilities which may be included.

    Unlike most existing specifications from The Open Group, this specification does not rely solely upon other specifications from The Open Group along with standards issued from formal standards bodies. Instead, it also references specifications that are widely recognized in the industry as being de facto standards. The majority of these specifications have been developed by the Internet Engineering Task Force (IETF).

    Providing a User Interface

    The Network Computer shall include hardware that provides the following User Interface characteristics:

    Processing Uniform Resource Locators

    Uniform Resource Locators (URLs), as defined in IETF RFC 1738, Uniform Resource Locators (URL), are used to identify objects within the network to which the Network Computer is attached. While the aforementioned RFC is the definitive authority on URL construction and processing, it is useful to list some basic rules here:

    URLs may be entered in an implementation-dependent manner using the text input capability, or may be selected using a hypertext link in a displayed HTML resource that contains the tag <A HREF=>...</A>. When the user enters or selects a URL, they are said to be "using" that URL. When a URL is used, the Network Computer shall provide the appropriate service.

    The remainder of this section describes the various schemes available, and how a conformant Network Computer will process each scheme. Where the processing of a scheme is optional, this is clearly indicated.

    Transmit Resource Requests

    When a URL of the scheme http: is used, a request for the resource shall be transmitted using the protocol defined in IETF RFC 1945, Hypertext Transfer Protocol - HTTP/1.0, or using the protocol defined in IETF RFC 2068, Hypertext Transfer Protocol - HTTP/1.1. If a URL of the scheme https: is used, the HTTP/1.0 or HTTP/1.1 request shall be encapsulated within the Secure Sockets Layer Protocol (SSL), Version 2.0, February 9th, 1995. All of these protocols shall be transmitted using the Transmission Control Protocol.

    Resources returned in response to a transmitted request shall be made available for processing directly to Java Applets (see Processing and Presentation of Resources), or to the user if the user made the request. The implementation shall be able to process responses that are encoded using either HTTP/1.0 or HTTP/1.1 protocols.

    Send Mail

    The Network Computer sends mail when a URL of the scheme mailto: is used. These URLs have the form mailto : <rfc822-addr-spec>, where <rfc822-addr-spec> is as defined in Internet Standard 11, Format of Electronic Mail Messages:

    When such a URL is used, the Network Computer shall do the following:

    The message shall be transmitted to the recipient(s) using the protocol defined in Internet Standard 10, Simple Mail Transfer Protocol:

    The structure of the transmitted message shall conform to the standards defined in Internet Standard 11, Format of Electronic Mail Messages:

    The transmitted messages may also use the extensions defined in IETF RFC 1521, MIME (Multipurpose Internet Mail Extensions) - Part 1: Mechanisms for Specifying and Describing the Format of Internet Message Bodies.

    It is implementation-dependent whether the messages are transmitted through an SMTP relay host, or whether messages are sent from the product directly to each recipient.

    The Network Computer shall determine the Internet Protocol address of the hostname of each message recipient using the Domain Name Service as described in Processing Uniform Resource Locators. However, the Internet Protocol address shall be determined by using the method specified in Internet Standard 14, Mail Routing and the Domain System:

    Note that a conformant Network Computer is only required to act as an SMTP client, sending messages to SMTP servers. It need not be able to receive incoming messages.

    Select and Retrieve Files

    A URL of the ftp: scheme has the format:

    ftp : // username : password @ hostname : port / url-path

    When a URL of this scheme is used, and the product supports the File Transfer option, the Network Computer shall attempt to open a connection with the host named by the hostname portion of the URL.

    Establish and Conduct Virtual Terminal Sessions

    A URL of the telnet: scheme takes the form:

    telnet : // username : password @ hostname : port

    If a URL of this scheme is used, and the product supports the Terminal Emulation option, a virtual terminal connection to the host named in the hostname portion of the URL shall be opened. If a username and password are specified, then the Network Computer shall attempt to negotiate a login.

    Processing and Presentation of Resources

    When resources requested using the URL schemes http: and https: are received, they must be transmitted to the Network Computer using HTTP (encapsulated within SSL if https: is used).

    When such resources are sent, the header portion of the resources can contain several pieces of information.

    One such piece is a declaration of the resource's character set encoding. This optional header may specify the character set of the following data. The ISO 8859-1:1987 character sets shall be supported. If no such header is received, the Network Computer shall proceed as if the document is encoded using ISO 8859-1:1987.

    Another header element is the Content-type: . The Network Computer evaluates this header to determine the resource's type, process the resource, and present it appropriately. The Network Computer must process and present at least the following content types:

    Executing Java Applets

    The Network Computer shall provide a set of services that permit the execution of pre-compiled applications that use the Java Virtual Machine. This environment consists of two parts: the Java Virtual Machine and the Java Class Libraries.

    The Java Class Libraries shall support referencing URLs with content types of audio/basic, audio/x-wav, image/gif, and image/jpeg.

    The product requirements necessary for support of the execution of Java Applets are given in the following documents:

    Applications developed in the Java Programming Language, using only those classes defined in Javasoft's JDK 1.1 class libraries named "java.", and compiled using a Java byte code compiler equivalent to the one in Javasoft's JDK 1.1, shall execute without change on a conforming product.


    Optional Facilities

    A Network Computer can optionally provide the following facilities:

    If such facilities are provided they shall conform to the specification defined in this Technical Standard.

    File Transfer

    A Network Computer product that supports the File Transfer option shall provide access to directories and files using the protocol defined in Internet Standard 9, File Transfer Protocol:

    This protocol is carried over Transmission Control Protocol connections. It is implementation-dependent whether and under what conditions this connection is left open.

    When the URL does not specify a username, then an implementation-dependent username shall be used.

    When the URL does not specify a password and a password is required for access to the referenced resource, the user shall be prompted for one.

    When the URL does not specify a port, port 21 shall be used.

    When the url-path component of the URL refers to a directory, the names of the files in that directory shall be presented on the display.

    When the url-path component of the URL refers to a file, the contents of that file shall be retrieved:

    The file transfer facilities shall support the transfer of both raw (IMAGE) and translated (ASCII) format files.

    Terminal Emulation

    A Network Computer product that supports the Terminal Emulation option shall provide access to remote systems by terminal emulation using the Telnet protocol.

    All interaction with the user shall conform to the required rendition behavior specified in Internet Standard 8, Telnet Protocol:

    All communication with the remote system shall use the protocol specified in Internet Standard 8, Telnet Protocol:

    The Telnet protocol shall be carried over the Transmission Control Protocol.


    Underlying Network Services

    The Network Computer is a true Internet host. As such, it must adhere to the basic standards that permit the interoperability of all hosts on the Internet.

    The basic architecture and behavior of such hosts are described in Internet Standard 3, Requirements for Internet Hosts:

    The Network Computer shall adhere to the specific elements of this architecture as described in this Technical Standard.

    Transmission Control Protocol

    Most of the services for the Network Computer require reliable, end-to-end connections for their execution. Consequently, they are defined to be implemented on top of the Transmission Control Protocol (TCP).

    TCP defines a method for connection-oriented, end-to-end communications to take place over Internet Protocol-based (IP) networks. It is defined by Internet Standard 7, Transmission Control:

    User Datagram Protocol

    The Domain Name Service required in the Network Computer sends queries via the User Datagram Protocol (UDP) as defined in Internet Standard 6, User Datagram Protocol:

    over Internet Protocol-based networks. UDP is a connectionless protocol designed for lightweight communication. UDP messages can also be sent and received by Java Applets.

    Internet Protocol

    TCP sessions are conducted over Internet Protocol-based networks. Hosts on such networks, including products which conform to an Open Network Computer Product Standard, shall adhere to Internet Standard 5, Internet Protocol, Version 4 (IPv4):

    Note that this Network Computer specification not specify the physical connection mechanism between the Network Computer and a network. Nor does it specify the mechanism whereby an IP connection is first made via that physical connection.


    Rendition Requirements

    Rendition requirements are defined in the Network Computer Rendition Requirements specification.


    Glossary

    See also the Terminology section for common english words which have special meaning in this document.

    Open Network Computer Brand

    A Network Computer which is awarded the Open Network Computer Brand is registered as conformant to the applicable Network Computer Product Standard. The Open Network Computer Brand represents a guarantee that the product to which it applies conforms to the applicable Product Standard, will continue to do so, and carries a vendor guarantee that it will be brought into conformance if in the future it is found not to be conformant. This guarantee is underwritten by a trademark law agreement between the vendor and The Open Group.

    HTML

    Hypertext Mark-up Language

    HTTP

    Hypertext Transfer Protocol

    IETF

    Internet Engineering Task Force

    interoperability

    The ability of software and hardware on multiple machines and from multiple vendors to communicate effectively.

    ISO

    International Standards Organization

    Network Computer

    Network Computer

    Network Computer Product Standard

    The document that defines the conformance requirements that a Network Computer product must satisfy in order to be awarded an Open Network Computer Brand.

    PC

    Personal Computer

    URL

    Uniform Resource Locator