Mobile Network Computing Reference Specification Consortium
Version 1.1
March, 1999





Mobile Network Computing Reference Specification







Status of This Document

This document, with all of its constituent parts and subdocuments, is the Mobile Network Computing Reference Specification (MNCRS). This document is a working group draft and contains information that is under review and subject to change. This document is being made public by the sponsoring companies of the MNCRS; review by interested parties is encouraged.

This document contains a set of existing and proposed standards for enabling the development of Mobile Network Computers (Mobile NCs) and other mobile JavaTM devices.

Comments and feedback should be sent to mncrs-comments@eng.sun.com.

Table of Contents






Introduction and Overview

The success of network computing, Java technology and recent advances in hardware, software and communications have created exciting new opportunities for developing a wide range of mobile applications, services and devices. Examples include hand held computers, smart phones, low-end or cost reduced laptops, personal information managers (PIMs), personal productivity applications (word processor, spreadsheet, graphics), telephony, e-mail, paging, collaborative applications (video and data conferencing), Internet and intranet access. These applications, services and devices can address the needs of the mobile professional and the mobile worker in industry specific segments, as well as consumer environments. By building on the Network Computing platform the advantages of security, availability, performance and total cost of ownership can be extended to a wide range of new mobile network computing devices.

Scope

This specification (Mobile Network Computing Reference Specification, or MNCRS) is a mobile extension of the Network Computer Technical Standard (see The Open Group: Network Computer) and it incorporates portions of that Technical Standard. In addition to mobile extensions, additions and enhancements to the base Network Computer Technical Standard are included where technology or market advances have occurred (for example Java Application Environment 1.1 and PersonalJavaTM 1.0).

Objectives

While the current Network Computer Technical Standard does not preclude implementation of a Mobile NC device, it does not address many of the unique requirements for such devices. With the growing interest in and requirements for Mobile NC devices, an expanded and modified profile specifically addressing the unique needs of mobile devices is required. Without such agreement, fragmentation (which the Network Computer Technical Standard intends to avoid) could occur. At the same time, the goals of the existing Network Computer Technical Standard remain the same for the MNCRS:

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.

Most of today's NCs have a persistent network connection, reasonable bandwidth (such as LAN) and a high resolution display (VGA/SVGA). A Mobile NC specification must minimally embrace lower bandwidth connections and lower resolution displays in both connected and disconnected modes. This document contains the requirements and proposed specifications for a Mobile NC. Like the current Network Computer Technical Standard, the MNCRS is intended to be microprocessor and operating system neutral to allow a wide range of implementation choices.

Requirements

The key requirements addressed include:

Classes of Devices

Three classes of Mobile NC devices are defined:

  1. The professional assistant class is fully capable of supporting rich Java content with a variety of productivity applications. This device can run in a disconnected mode and support data synchronization with the server for file or application updates. The professional assistant Mobile NC device utilizes database access, mail, printing, directory service, management, access to existing enterprise applications (for example, 3270), security, and web browsing. This device is a fully capable NC with the added flexibility of mobility and disconnected operations.
  2. The information access class is capable of many Mobile NC functions and applications. This Mobile NC device still supports Java applets but may be limited in scope (for example, performance and memory consumption). Web browsing and basic e-mail support are required. The information access device generally has less function than the professional assistant and is more dependent on a network connection, but there is a need for a limited function disconnected mode. This class of Mobile NC can communicate and interoperate with a range of servers and service providers.
  3. The basic class is aimed at keeping the mobile professional in touch with the office. This Mobile NC device is capable of browsing and may include other mobile NC functions and applications. The basic device generally has less function than the information access device and is likely to be more dependent on a network connection, and might not support fully disconnected operation. Messaging, paging and telephony devices are examples of basic Mobile NCs.
By specifying a common subset of functions across all classes of Mobile NC devices, the MNCRS enables a service provider to scale an offering across all devices while maintaining basic communication and interoperability.

The initial focus of the MNCRS was on the professional assistant class of Mobile NC. This initial work is now being extended by a new working group to include the information access and basic classes of devices. These classes are excellent candidates for industry specific solutions or applications. The professional assistant focuses on the business professional whose frequent travels require working from remote locations. The Mobile NC is a "thin client" device that when connected to the network via a LAN offers function equivalent to an office desktop Network Computer. The Mobile NC is used for productivity applications such as calendar, mail, word processing and spreadsheet; plus web browsing and terminal emulation when in connected mode. The device is not intended to be a laptop PC replacement; as such, it does not require the user to manage application and data files on a hard drive. Many mobile workers do not need the full functionality offered by current laptops. A Mobile NC can offer lower total cost of ownership, enhanced security, and the convenience of reduced weight and size over a conventional laptop PC. This is made possible by eliminating the requirement for rotating media. The Mobile NC's inherent technology can have weight and power advantages over traditional laptop PCs.

Operational Modes

The Mobile NC can operate in three different modes:

  1. Fully connected via a high speed (Mbps) attachment such as a LAN. Code and data can be accessed from the network. In this mode the device can function like a desktop NC. This mode is usually preferred to update or refresh large program changes such as a new operating system kernel or application version from the network server.
  2. Connected via a lower speed (Kbps) connection. Data can be accessed via the network but usually code is selectively downloaded (such as applets). The device depends on persistent storage for its primary applications but applets can be cached or downloaded from the network on demand.
  3. Disconnected with local access only. During this period, data can be queued on the client as well as on the server until a suitable connection is established. The device is dependent on persistent storage for its applications and applets that may have been cached prior to disconnection.

The key characteristics that distinguish a Mobile NC include disconnected operations when a network connection is not available (or desirable) and the ability to easily transition between different types of connections (or reconnections) and disconnected mode.

Mobile Device Considerations

Mobile devices typically have more constraints on bandwidth, screen resolution, power and size than do desktop NCs. In addition, the Mobile NC must deal with server data access and consistency in both connected (via wired or wireless connection) and disconnected environments. The disconnected mode is required to allow useful work to be done in cases where a server connection is not possible or desirable. The need for disconnected operation and for data replication and consistency with the server requires persistent storage in the Mobile NC. This storage should be transparent to the end user. The level of disconnected support varies based on the device class and the applications. Conflict resolution strategies, user intervention or restrictions may be required in some scenarios.

Mobile Application Considerations

Java based applications can also be mobile aware, meaning that the application can understand how (or if) the Mobile NC is connected and react accordingly. Applications can even prepare for disconnection (or reconnection) in many cases. Some of these mobile application considerations are addressed in detail in Adaptivity.

Mobile Networking Considerations

An important Mobile NC networking requirement is called Virtual Private Network (VPN). It allows a mobile user to reach his or her home corporate intranet securely via the Internet by connecting to a local Internet Service Provider. This is accomplished via a combination of "tunneling", firewall and encryption protocols which are being developed and standardized within the IETF. VPNs can reduce communications costs in areas such as long distance charges, toll-free numbers, modem pools and outsourcing of dial-up connections. These mobile networking considerations are addressed in detail in Mobile Communications.

Server Proxy Mechanism

Mobile NC vendors can offer a server proxy (a substitute for the client that runs on the server) that enables service providers to support a wide range of devices with no impact. The benefits of this framework include enhanced support for disconnected operations, the ability to transform media streams depending on device capabilities, optimized communications and enhanced security. The intent is to define the interface for this mechanism in a future update to this document.

Specification Guidelines and Standards

The MNCRS is intended to contain enough details for Java developers to write applications that run compatibly across all NC devices, and to allow service providers to support the wide variety of future mobile devices, yet still allow enough flexibility to Mobile NC device vendors to differentiate their products. The MNCRS specifies a framework for developing applications, content and services, and for connecting to servers from both a hardware and software perspective.

The MNCRS specifies open technologies that are widely deployed and adopted. The following Hardware Guidelines, Device Capabilities and Software Guidelines sections enumerate these standards. In areas where no clear standards exist, the MNCRS specifies requirements and guidelines so as to influence the development of appropriate standards in the future. These are contained in Proposed Mobile NC Standards.

The MNCRS mandates some functions while others are optional. The vendor may decide to exclude certain functions (designated here as optional) but for cases where a function is implemented, the specified function or standard in the MNCRS should be implemented first over an alternative.

Hardware Guidelines

This section specifies the minimal set of hardware standards for Mobile NCs.

Device Attachment Options

Display

Device Capabilities

An automatic recognition mechanism specific to each device informs the software of the device characteristics. Guidelines that address device capabilities are addressed in detail in Adaptivity.

Selection or Pointing Capability

Power

Power management considerations are addressed in detail in Power Management.

Text input capability

Audio Play (Record optional)

An audio output device is necessary to hear alerts and incoming calls, especially for users with special needs. Recording is optional.

Network Attachments

The Mobile NC supports a wide variety of network attachments: LANs, WANs, wired or wireless. The type of network connection (high speed, low speed, disconnected) dictates the mode of operation and performance characteristics of the device. A network connection is required via Cardbus or integrated (or external) communications.

High Speed Connections

When connected via a high speed connection (Mbps) such as a LAN, the Mobile NC can function as an NC defined in the Network Computer Technical Specification.

Software Guidelines

The software characteristics are summarized below. Additions to the original Network Computer Technical Specification support mobility and incorporate recent advances in technology.

Communications protocols

TCP/IP based standards (mandatory):

The following are optional IP standards:

Mobile IP and Dynamic IP (enhancements to the dynamic assignment of IP addresses) are optional emerging IETF mobility standards.

Security

Security considerations are addressed in detail in Security.

Smart card technology (optional)

If the device uses smart cards, it must support these standards:

Inclusion of a smart card can imply a multi-user device. Most Mobile NCs are serially reusable, which means that they can support multiple users, but only one user at a time. In this case the smart card could still be used for authentication or for other applications such as electronic commerce. Smart Card Support is detailed in Smart Card.

Mail and News

Directory support

JNDI (Java Naming and Directory Interface) is an API that can be used to access the underlying directory support including:

Directory support and service discovery considerations are addressed in detail in Service Discovery.

WWW Standards

Systems and Application Environment

Database Access

Graphics Formats

Management

Startup and (re)configuration

The booting and configuration process details are in Boot Sequence.

Local Startup

Mobile NCs should be able to boot or restart as a stand alone device (disconnected from the network).

Remote Startup

Mobile NCs can be booted from a server via a high speed connection or interface such as a LAN.

Capabilities Exchange (optional)

Capabilities exchange for mobile devices is needed to understand things like screen size, color versus monochrome, resolution, amount of storage or bandwidth available and many other optional features that applications may want to exploit. In addition, a means for the mobile device to find a specific service or type of device such as a color printer is required. These areas are addressed in detail in Adaptivity and Service Discovery.

Lower Speed Connections

When operating in this mode (Kbps), the data on the server can still be accessed and programs such as applets can be downloaded from the network in most environments. Some very low speed environments such as wide area wireless networks may constrain access to large amounts of data or programs across the network. These environments may still be well suited to specific applications and may offer opportunities for network optimizations. Wireless network optimizations are discussed in Mobile Communications.

Collaborative Applications such as teleconferencing (optional)

When connected, there are opportunities for collaborative applications such as video or data conferencing, video phone or software phones to keep the user in touch. A wide variety of teleconferencing applications are emerging based on standards set by the ITU-T. Many of these may be applicable to Mobile NCs when connected via high speed LAN or lower speed modem connections. Although these applications are optional, use of the appropriate ITU-T standards is required when implementing these applications. For example, T.120 addresses data conferencing, H.323 addresses video communication over LANs and H.324 addresses video conferencing over an analog telephone line.

Disconnected Operations

Persistent Storage Considerations

Persistent storage is needed for disconnected operations and to allow booting without reloading the base code (operating system kernel and optionally a set of key applications) from the network. The hardware technology is not specified. Persistent storage is required, but a minimum amount can not be stated.

Storage for resident or persistent programs

Program storage includes storage for the base code. Considerations for application storage include the size of the programs and whether or not these programs are needed during disconnected operations, as well as the amount of storage available in the device. Programs loaded and cached from the network may also be saved for use while disconnected. Software can be refreshed from the network when a suitable connection exists.

Storage for data

Data storage includes files and objects used by programs during disconnected operation. File or object replicas or caching may be necessary or desirable for some applications such as off-line web browsing. The minimum storage size is dependent on the device, operating environment (hardware and operating system), the class of Mobile NC, and ultimately on the type and size of applications and data used.

Persistent Storage Synchronization

Persistent storage allows data on the Mobile NC to be modified independent of the server connection, that is, when disconnected. Therefore some form of data consistency and synchronization between the Mobile NC and the server is required. An example is replicating mail from the server to the Mobile NC before a trip, working on the mail in an airplane while disconnected, and sending and resynchronizing with the server when a suitable connection is available. Other examples include off-line web browsing, file synchronization and calendar updates. Data synchronization is addressed in detail in Data Synchronization.

Proposed Mobile NC Standards

The following sections contain detailed information, including specifications, frameworks, guidelines and Java APIs for various facets of Mobile NCs. These proposed standards have been developed by the MNCRS working groups (the Boot Sequence and Security specifications are common with the Open Group's Network Computer Management Group) and address the primary requirements for mobility. These proposed standards are at various stages of maturity and are being made public so as to encourage review and comment by interested parties.

Data Synchronization

Mobile applications require access to persistent information regardless of whether or not the mobile device is connected to a network. When a disconnected device reconnects, any application information that was modified while the device was disconnected needs to be propagated to the network server and any updates on the server need to be sent to the device.

Data Synchronization fills this need by providing a reliable persistent storage mechanism that can automatically replicate Java Objects between devices and servers using available communication mechanisms.

The MNCRS includes a data synchronization architecture, proposed data synchronization APIs and a programmers guide for data synchronization; these are detailed in the following sections.

Data Synchronization Architecture

Data Synchronization Architecture contains details about a set of cooperating components that provide an end-to-end mechanism to replicate, transport, and update application Java objects between clients and servers or between peers.

Data Synchronization APIs

Data synchronization APIs are specified in javadoc format in Data Synchronization APIs

Data Synchronization Programmers Guide

The MNCRS Data Synchronization Programmers Guide (PDF Format; Adobe AcrobatTM Reader required) offers guidelines for programmers implementing MNCRS data synchronization.

Mobile Communications

A Mobile NC network architecture should support flexible, secure, adaptive, content-rich, mobile network computing. Flexibility implies the ability to move between different points of attachment to an internetwork, for example, the Internet, with minimal disruption. These moves may be accompanied by a change in the communication medium, for example, 10BaseT ethernet, radio-based LAN or PPP over modem. It is also important that Mobile NCs support secure access to remote resources. Access to corporate servers from the general Internet should use strong cryptographic mechanisms for authentication and confidentiality. Mobile devices should expect frequent changes in their operating environment and be able to deal with those changes in a graceful manner; for example, certain applications may benefit from adapting their behavior whenever the network characteristics change. In the longer term, support for real-time, integrated services (voice, video and data) is a desirable goal.

The MNCRS includes a network model, network protocol table, and proposed standards for Java Firewall Tunneling; these are detailed in the following sections.

Network Model and Network Protocol Table

Network Model and Protocol specifies the MNCRS networking model for Mobile NCs.

Java Firewall Tunneling

A Java based firewall tunneling solution and firewall tunnel APIs are contained in Java Firewall Tunneling.

Wireless Networking over Long Thin Networks

The MNCRS supports the recommendations in the "Long Thin Networks" document from the IETF. A snapshot of that document can be found in the Long Thin Networks Draft.

Boot Sequence

The MNCRS Boot Sequence is the same as the Open Group's Network Computer Management Group (NCMG) Boot Sequence. A single specification addresses both NCs and Mobile NCs. The MNCRS specifies the required behavior and optional behaviors for the booting process of network computers. This helps to ensure interoperability in a multivendor environment. The MNCRS also recommends standardization of optional design issues. Vendors may add other functions over and above the required functions to suit market requirements. The MNCRS booting specification takes into account the requirements for Mobile NCs and their need to have booting options over slow links or when disconnected. The boot sequence is detailed in the following section.

MNCRS/NCMG Booting Specification

The MNCRS and NCMG boot sequence for NCs and Mobile NCs is contained in MNCRS Boot Sequence Specification (PDF Format; Adobe Acrobat Reader required).

Adaptivity

Adaptivity for the MNCRS is the process of gathering data about the Mobile NC system configuration and operational state, and specifying a standard way to access that data. By accessing information gathered by system-level code (through APIs and events), entities such as applications, proxies and servers can respond to attributes of and changes in the system and its network context. This enables such entities to be mobile aware, adapting their behavior so as to optimize one or more characteristics of the system, thus enhancing the Mobile NC user experience. Usage examples of Adaptivity functions for Mobile NCs include:

The MNCRS includes both a base architecture for adaptivity and a preliminary specification for a set of Java adaptivity APIs; these are detailed in the following sections.

Adaptivity Framework and Specification

The MNCRS Adaptivity Specification presents a framework for Mobile NC adaptivity.

Adaptivity APIs

The initial set of Java APIs for Adaptivity, in javadoc format, is found in Adaptivity APIs.

Power Management

Power management is an essential feature that can be implemented by any devices that wish to control the power consumption of their power manageable hardware. Desktop computers, network computers and embedded devices are but a few examples. It is usually the case that mobile devices require more extensive power management functionality, but this does not stop the other classes of devices from taking advantage of the similar functions; therefore the MNCRS power management specification is not only designed to support Mobile NCs but also other classes of devices. However, at this stage, the API definitions are emphasized to support the MNCRS. The API design effort will progress and prepare to be an extension of JDK in the future.

The MNCRS includes both a base architecture for power management and a preliminary specification for a set of Java power management APIs that allow Java applications to gain knowledge of a system's power status and influence the power management policy of a system; these are detailed in the following sections.

Power Management Framework and Specification

The MNCRS Power Management Specification presents a framework for Mobile NC power management.

Power Management APIs

The initial set of Java APIs for Power Management, in javadoc format, is found in Power Management APIs.

Service Discovery

Service discovery is a proposed system component for MNCRS allowing Mobile NCs to dynamically locate network resources and to make their services available via code for service objects that embody the semantics of the service. The system component can be used by NCs that are permanently attached to the network as well as by Mobile NCs. The advantage of using service discovery for systems that are permanently attached is that if new service providers are added to the network, for example a new printer is added, then each NC does not have to be reconfigured in order to use the new service provider. For a Mobile NC, service discovery automates service access configuration and improves the service offering by guaranteeing that the information about the services is up to date.

The MNCRS includes both a service discovery specification that specifies the use of existing standards for service discovery and a preliminary set of Java service discovery APIs; these are detailed in the following sections.

Service Discovery Specification

The MNCRS Service Discovery Specification presents a framework for Mobile NC service discovery.

Service Discovery APIs

The initial set of Java APIs for service discovery, which is common with that of the NCMG, is described in MNCRS/NCMG Service Location API Specification (PDF Format; Adobe AcrobatTM Reader required); javadoc format of the Service Discovery APIs is in Service Discovery APIs.

Security

The MNCRS Security specification is the same as the Open Group's Network Computer Management Group (NCMG) Security specification. A single specification addresses both NCs and Mobile NCs. Security is defined as protecting systems against threats. The MNCRS security specification describes the threats that are considered within the scope of network computing, and the system configurations (or environments) in which this specification addresses those threats. Clients and servers conforming to this specification will be able to interoperate with a known level of security.

Security concerns span the entire usage life-cycle of NCs. Thus, it is imperative that security issues be included in other NC specifications and proposed standards. However, it is also imperative to provide a single place where all the security issues are identified and evaluated as a whole. To accomplish this, the MNCRS includes a separate security specification which contains all the NC related threats, appropriate countermeasures and recommended security profiles. The MNCRS also includes a specification that explicitly addresses security for logon and authentication. Security is detailed in the following sections.

MNCRS/NCMG Security Specification

The MNCRS Security Specification (PDF Format; Adobe Acrobat Reader required) contains methods and security profiles for protecting Mobile NCs from threats.

MNCRS/NCMG Logon and Authentication Security Specification

The MNCRS Security Logon/Authentication Specification (PDF Format; Adobe Acrobat Reader required) specifically addresses security concerns pertaining to Mobile NC logon and authentication.

Smart Card

The MNCRS includes a preliminary specification for the use of smart cards with Mobile NCs. The MNCRS describes the use of existing smart card standards to enable interoperability for Mobile NC applications that use smart cards. The MNCRS Smart Card specification is detailed in the following section.

MNCRS Smart Card Specification

MNCRS Smart Card Specification contains guidelines for the use of smart cards with Mobile NCs.

Phone Book API

The MNCRS includes a preliminary proposal for a Java contact management, or "phone book" API. This draft API, in Javadoc format, is detailed in the following section.

MNCRS Phone Book API

The initial set of Java Phone Book APIs, in javadoc format, is found in MNCRS Phone Book API.









Notices

Intellectual Property

There are no expressed or implied patent, copyright or any other intellectual property rights or licenses granted hereunder and no warranty or assurance is provided regarding non-infringement of any intellectual property rights of any party.

Trademarks

JavaTM, "Write Once, Run Anywhere"TM, JDBCTM, JavaSoftTM and PersonalJavaTM are trademarks or registered trademarks of Sun Microsystems, Inc. All other names or products are trademarks or registered trademarks of their respective companies.

MNCRS Sponsors

Current sponsoring companies of the MNCRS are:

  • Alcatel
  • Apple Computer Co.
  • Bellcore
  • Ericsson Mobile
  • Fujitsu
  • Hitachi
  • Hugh Symons Group plc
  • IBM Corp.
  • Lotus Development Corp.
  • Matsushita
  • Mitsubishi Electric Corp.
  • Netscape Communications Corp.
  • Nokia
  • Nortel (Northern Telecom)
  • Oracle's Network Computer Inc. (NCI)
  • Sharp
  • Sun Microsystems
  • Toshiba