This chapter introduces the JavaOS operating system, describes JavaStation hardware, and explains the requirements you should understand before configuring your network to administer JavaStation computers.
The JavaStation network computer is a new type of computing device that provides application processing power but does not store software or data. The JavaStation computer relies on servers throughout the network for its boot information and software. The JavaStation environment is composed of several JavaStation clients and the server(s) that administer them. This figure shows a simple network configuration in which all the services required by JavaStation computers reside on a single server.
Legend:
Internet or intranet
Sun server with home directories, boot, NIS, DNS, web, and DHCP services
JavaStation computers
The JavaStation computer's uniquely open software platform enables it to replace existing stateless devices, such as dumb terminals, and to bring high-performance computing to environments where it was not used before.
This chapter gives an overview of setting up a JavaStation network, addressing the following key topics:
JavaOS Operating System - The compact, efficient operating system that drives JavaStation computers.
JavaStation Hardware - Sun's two JavaStation hardware models, which offer scalability of memory, processing power, and device access.
Network Services - The network services required to administer JavaStation computers.
The JavaOS operating system is specifically designed to run network computers such as the JavaStation computer. The compact architecture of the JavaOS software provides the following advantages:
Minimum JavaStation memory requirements - JavaOS software has a small runtime footprint that conserves memory space and reduces memory costs.
Short download times - The compact size of the JavaOS software reduces the time needed to download software to the JavaStation computers.
Ease of training - The JavaOS feature set reduces user training on core OS functionality, enabling trainers to spend more time on application functionality.
Customization - The JavaOS software supports customization of the JavaStation user's desktop environment through static linking or dynamic loading (see the following descriptions).
The JavaOS operating system supports linking of application files to the JavaOS binary via a special build you can execute at the command line. The JavaOS image resulting from the new build can be downloaded to JavaStation computers in exactly the same way as the old image, with exactly the same core functionality. However, in addition, the user application will be launched automatically when the JavaOS software boots.
Static linking is useful when the JavaStation computer is a public kiosk or other fixed-function device running a single, dedicated application. For instructions on using the static link procedure, see "Using SLK".
Dynamic loading is similar to static linking, in that it enables the user application to be launched immediately when the JavaOS software boots. However, in this case the application is not physically linked to the JavaOS image; rather, the JavaOS software finds and downloads the application from a network server via HyperText Transfer Protocol (HTTP) immediately after it boots. Because HTTP is used to download the application, the application can reside anywhere on the network that is visible to the JavaStation web server.
The dynamic loading scenario is not limited to a single application. If you like, JavaOS can open a dialog window with a list of applications for the user to choose from. When the user selects an application, JavaOS locates and launches it.
Dynamic loading works in any situation where the JavaStation computer has web access. For instructions on using the dynamic loading procedure, see "Setting Up Dynamic Delivery of an Application ".
JavaStation systems are available in two distinct models as shown in the figure below. The first-generation "brick" model (left) is recognized by its rectangular shape. The newer "tower" (right) sits vertically on the desktop and features a striking, swept profile.
The first-generation brick model JavaStation computer includes the following features:
microSPARC-II - The brick model JavaStation computer is equipped with a 100 MHz microSPARC-II processor.
Scalable memory - The brick model includes 8-64 Mbytes DRAM (64-bit memory bus) and a PC-compatible memory system comprising four SIMM slots (2 logical banks, 2 SIMMs per bank). Memory size can be increased by installing 4-Mbyte or 16-Mbyte SIMMs in the slots.
Device connectors - Connectors for a PS2 mouse, a PS2 keyboard, and a 14-inch or 17-inch monitor are included.
Serial port - A serial port enables local printing to a PostScript(TM) or PCL5 printer.
Power switch - The brick model includes a continuous contact, long life industrial grade rocker switch for power cycling. The power switch is located at the rear of the unit.
The second-generation tower model JavaStation computer includes the following enhancements to the original model:
microSPARC-IIep processor - The microSPARC-IIep uses less power and generates less heat than the microSPARC-II, eliminating the need for an internal fan.
Flash RAM and PPP support - Tower JavaStation computers come optionally equipped with onboard nonvolatile flash random-access memory (RAM). This flash memory can be used to store the JavaStation computer's operating system (JavaOS), enabling faster booting and wide-area network (WAN) applications for the JavaStation. In a typical scenario, a JavaStation computer would boot JavaOS from its flash RAM and then access the network over a low-bandwidth dialup Point-to-Point Protocol (PPP) connection.
Autosensing 10/100Base-T networking - Tower JavaStation computers also integrate full autosensing 10/100Base-T Ethernet.
Standby switch - A soft touch press-on-press-off standby switch cycles JavaStation power and provides audio and tactile feedback.
As shown in the table below, the first-generation "brick" JavaStation computer must download JavaOS from a boot server over Ethernet. These computers are appropriate for local-area network (LAN) deployment where 10Base-T Ethernet networking is available.
The second generation "tower" JavaStation computers are ideal for remote or Wide Area Network (WAN) environments in addition to local 10Base-T and 100Base-T LAN environments. The integrated flash RAM enables these JavaStation computers to be installed remotely and deployed across a WAN or corporate extranet.
Table 1-1 JavaStation Comparison for LAN and WAN Environments
Category |
Brick Model JavaStation |
Tower Model JavaStation |
---|---|---|
Target Environment |
LAN |
|
Booting |
Network boot |
|
Networking |
10Base-T |
|
This section gives an overview of the network services required to administer JavaStation computers. Although all of these services can be configured at the Solaris command line, the Netra j web-based administration interface provides a simpler way to configure them. For information on the Netra j software, visit http://www.sun.com/netra-j or peruse the Netra j 3.0 Administrator's Guide.
The JavaStation computer requires the following network services for boot information and software.
Table 1-2 JavaStation Network Services
Service |
What It Does |
---|---|
DHCP (Dynamic Host Configuration Protocol) |
Delivers configuration information to the JavaStation computer, including the JavaStation computer's IP address and the addresses of the other servers it requires. |
TFTP (Trivial File Transfer Protocol) |
Delivers the boot file to the JavaStation computer. May deliver JavaOS to the JavaStation computer. |
NFS(TM) |
Provides access to the user's home directory on a server. May deliver JavaOS to the JavaStation computer. |
DNS (Domain Name System) |
Provides address resolution for systems throughout the Internet. |
NIS (Name Information Service) |
Provides lookup for user names, home directory location, and print servers. |
RAP (Remote Authentication Protocol) |
Provides lookup for user names and home directory location. |
HTTP (HyperText Transfer Protocol) |
May deliver the user application to the JavaStation computer. Delivers web pages and Java applets to the JavaStation computer. |
The figure at the beginning of this chapter shows a simple network configuration, whereby all the services required by the JavaStation clients reside on a single server. In contrast, a JavaStation network with distributed services might look something like the figure below.
Legend:
Internet or intranet
HTTP (web) server
NFS server
DNS/NIS server
DHCP/TFTP server
JavaStation computers
The following sections give an overview of each service required to administer JavaStation computers. For detailed descriptions of these services, see "JavaStation Boot Sequence".
DHCP is used to pass IP addresses and configuration information to diverse host systems on a TCP/IP network. When a JavaStation computer is powered on, it receives initial boot information from a DHCP server that is configured to deliver specific parameters to JavaStation computers. The same DHCP server may also be configured to deliver different information to other systems on the subnet.
One server on the JavaStation subnet must be configured with DHCP services or configured to relay these services. If all JavaStation clients reside on the same subnet, and if there are no other DHCP servers on the subnet, no other configuration is needed.
TFTP is used along with NFS during the network boot sequence to download a "booter" and (optionally) JavaOS over the network to the JavaStation computer. There is no need to guard against conflict with other TFTP servers on the network.
Strictly speaking, NFS is only required by the JavaStation computer to access and save user data and preferences information. Once a user's home directory has been determined via the NIS automounter map (auto.home), it is mounted using NFS. The default user applications provided with the JavaOS software (HotJava Browser, HotJava Views) only use NFS to read and update preferences information. However, many commercial applets may need to use NFS to access and save data files in the user's home directory.
NFS is also the default mechanism used to provide the JavaOS network boot download for the JavaStation computer. It is important to note that the network boot download can alternately be achieved with TFTP through DHCP directives, which may be useful for JavaStation clients used as fixed-function devices (such as kiosks or point-of-sale devices). However, NFS is much faster than TFTP for this purpose.
The JavaStation computer uses DNS to provide address resolution for host names. Using DNS ensures that JavaStation applications and applets can access URLs either on the corporate intranet or across the Internet.
DNS lookups from the JavaStation computer are rather infrequent, so the load on the DNS server will be relatively small. The JavaStation boot server can be configured as a DNS slave server if a central DNS server for the domain is busy or remotely located.
The JavaStation computer uses NIS for user authentication, file mapping, and printer access as follows:
passwd.byname - The JavaStation computer uses the passwd.byname map to validate the user's user name and password.
auto.home - The auto.home NIS map is used to provide NFS access to a user's home directory.
printers.conf.byname - Access to network printers is supplied via the printers.conf.byname NIS map if one has been created.
NIS lookups are infrequent, and the performance impact is not likely to be significant. When binding to NIS, a broadcast is sent to the local network. This implies that there must be a NIS server connected to that network. If necessary, the JavaStation boot server can be set up as a NIS slave server or master server. You can also specify the NIS server's IP address in the DHCP parameters delivered to JavaStation computers.
The JavaStation computer can use RAP instead of NIS for user authentication if it has been configured to do so and if a RAP server exists on the JavaStation network. In return for the user name and password, RAP provides the following:
User's UNIX ID
Group ID
Name of the user's home directory
With this information, JavaOS can mount the user's home directory via NFS.
HTTP can be used to deliver the main user application to the JavaStation clients. HTTP is also used by the JavaStation clients to browse the corporate intranet and sites on the Internet.
Most corporate intranets implement a secure HTTP proxy system comprising several HTTP servers. The way the proxies are set up can have a significant impact on JavaStation browser performance. If a single proxy server is used for a large number of users, it can become a bottleneck and a single point of failure. If it is located at another site or across a busy backbone network, it will greatly increase the response time for network requests from the JavaStation computer. One solution to this problem is to make the JavaStation boot server into a proxy cache for its clients.
Most of the remaining chapters in this guide explain concepts and procedures related to booting the JavaStation computer. Chapter 2, JavaStation Boot Process: Theory of Operations gives a basic overview of the entire boot process, while the other chapters provide supporting information or specific details on one or two procedures. Use the list below as a reference to all the booting information in this guide.
Chapter 2, JavaStation Boot Process: Theory of Operations explains the fundamentals of the boot process and describes how JavaOS properties, static linking, and dynamic loading can be used.
Chapter 3, Boot Progress Indicators describes the boot progress icon that appears on the JavaStation user's screen.
Chapter 4, JavaOS Properties describes JavaOS properties, which can be used to configure the behavior of the JavaOS operating system on the JavaStation computer.
Chapter 5, Dynamically Loading Applications explains how to set up the user application to be delivered to the JavaStation computer after JavaOS boots.
Chapter 6, Statically Linking an Application to the JavaOS Image explains how to link the user application to the JavaOS image so that it is delivered to the JavaStation computers with JavaOS.
Appendix B, Troubleshooting the Boot Process explains concepts and procedures for troubleshooting the boot process.