JavaStation Client Software Guide

Boot Trace

Because the JavaStation tower model boots the JavaOS software from flash RAM, it needs to retrieve only its Java main application from the network. No network traffic is generated while the JavaOS software boots from flash RAM.

Once the JavaOS software is booted, it performs DHCP, ARP, and NIS broadcasts to locate and confirm its boot server (jsboot). Even though the JavaStation tower model boots from flash RAM, it needs to know about its boot server for application configuration information or to possibly download a new version of the JavaOS image into flash RAM.


1   0.00000 OLD-BROADCAST -> BROADCAST    DHCP/BOOTP BOOTREQUEST
2   2.02091       jsboot -> dilbert      DHCP/BOOTP BOOTREPLY
3   0.01412 OLD-BROADCAST -> BROADCAST    DHCP/BOOTP BOOTREQUEST
4   0.18294       jsboot -> dilbert      DHCP/BOOTP BOOTREPLY
5   0.01362 OLD-BROADCAST -> (broadcast)  ARP C Who is 129.153.59.151, dilbert ?
6   1.01707      dilbert -> BROADCAST    ARP R 129.153.59.151, dilbert is 8:0:20:87:be:d6
7   0.00079      dilbert -> BROADCAST    IP  D=255.255.255.255 S=129.153.59.151 LEN=28, ID=3
8   0.00173        chaco -> dilbert      IP  D=129.153.59.151 S=129.153.59.100 LEN=36, ID=54101
9   0.02696      dilbert -> (broadcast)  ARP C Who is 129.153.59.150, jsboot ?
10   0.00034       jsboot -> dilbert      ARP R 129.153.59.150, jsboot is 8:0:20:1f:ad:1d
11   0.00110      dilbert -> jsboot       PORTMAP C GETPORT prog=100004 (NIS) vers=2 proto=UDP
12   0.00446       jsboot -> dilbert      PORTMAP R GETPORT port=768
13   0.01016      dilbert -> jsboot       NIS C MATCH 129.153.59.151 in hosts.byaddr
14   0.00261       jsboot -> dilbert      NIS R MATCH OK
15   0.01906      dilbert -> jsboot       NIS C MATCH jsboot in hosts.byname
16   0.00250       jsboot -> dilbert      NIS R MATCH OK

Next, the JavaStation computer downloads its configuration file via HTTP. The configuration file is used to pass information to the JavaOS software such as locale, network printer information, and which Java main application is to be downloaded, as described in Chapter 4, JavaOS Properties . The configuration file for this JavaStation computer is located in http://jsboot/netra/dilbert.


17   0.00984      dilbert -> jsboot       HTTP C port=49997 
18   0.00036       jsboot -> dilbert      HTTP R port=49997 
19   0.01047      dilbert -> jsboot       HTTP GET /netra/dilbert HTTP/1.0

20   0.00036       jsboot -> dilbert      HTTP R port=49997 
21   0.00849       jsboot -> dilbert      HTTP HTTP/1.0 200 OK

22   0.02123      dilbert -> jsboot       HTTP C port=49997 
23   0.00033       jsboot -> dilbert      HTTP R port=49997 
24   0.00138       jsboot -> dilbert      HTTP R port=49997 
25   0.00133      dilbert -> jsboot       HTTP C port=49997 
26   0.01070      dilbert -> jsboot       HTTP C port=34276 
27   0.00038       jsboot -> dilbert      HTTP R port=34276

The Java main application listed in the configuration file also has a configuration file. In this case, http://jsboot/netra/browser holds the configuration file for the HotJava Browser.


28   0.01025      dilbert -> jsboot       HTTP GET /netra/browser HTTP/1.0
29   0.00037       jsboot -> dilbert      HTTP R port=34276 
30   0.00494       jsboot -> dilbert      HTTP HTTP/1.0 200 OK
31   0.02189      dilbert -> jsboot       HTTP C port=34276 
32   0.00034       jsboot -> dilbert      HTTP R port=34276 
33   0.00128       jsboot -> dilbert      HTTP R port=34276 
34   0.00138      dilbert -> jsboot       HTTP C port=34276 

The JavaStation computer then attempts (unsuccessfully) to mount a font directory and finally sets its clock by talking to its time server.


35   0.02130      dilbert -> jsboot       PORTMAP C GETPORT prog=100004 (NIS) vers=2 proto=UDP
36   0.00367       jsboot -> dilbert      PORTMAP R GETPORT port=768
37   0.35151      dilbert -> jsboot       PORTMAP C GETPORT prog=100005 (MOUNT) vers=1 proto=UDP
38   0.00372       jsboot -> dilbert      PORTMAP R GETPORT port=32795
39   0.00451      dilbert -> jsboot       MOUNT1 C Mount /dirpath/fonts
40   0.00674       jsboot -> dilbert      MOUNT1 R Mount No such file or directory
41   0.04961      dilbert -> jsboot       TIME C port=1025 
42   0.00339       jsboot -> dilbert      TIME R port=1025 

At this point the JavaOS software is completely booted and the user login prompt is displayed on the JavaStation screen. The next step is to authenticate the user.


43  16.92166      dilbert -> jsboot       NIS C MATCH eric in passwd.byname
44   0.00285       jsboot -> dilbert      NIS R MATCH OK

Once the user has been authenticated, the JavaStation computer uses the automounter NIS map to determine the user's home directory. When the automounter responds with the proper directory name, the JavaStation computer performs an NFS mount to the home directory server (chaco in this case). The user's home directory is used by the HotJava Browser to access a number of configuration and property files (/export/opt2/eric/.javaos/properties in this case).


45   0.21276      dilbert -> jsboot       NIS C MATCH eric in auto.home
46   0.00248       jsboot -> dilbert      NIS R MATCH OK
47   0.00350      dilbert -> jsboot       NIS C MATCH chaco in hosts.byname
48   0.00385       jsboot -> dilbert      NIS R MATCH OK
49   0.00531      dilbert -> (broadcast)  ARP C Who is 129.153.59.100, chaco ?
50   0.00107        chaco -> dilbert      ARP R 129.153.59.100, chaco is 8:0:20:22:36:95
51   0.00079      dilbert -> chaco        PORTMAP C GETPORT prog=100005 (MOUNT) vers=1 proto=UDP
52   0.00360        chaco -> dilbert      PORTMAP R GETPORT port=32786
53   0.00423      dilbert -> chaco        MOUNT1 C Mount /export/opt2/eric
54   0.00701        chaco -> dilbert      MOUNT1 R Mount OK FH=AC28
55   0.02975      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .
56   0.00192        chaco -> dilbert      NFS R LOOKUP2 OK FH=AC28
57   0.00213      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .javaos
58   0.00149        chaco -> dilbert      NFS R LOOKUP2 OK FH=2DF5
59   0.00308      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .javaos
60   0.00147        chaco -> dilbert      NFS R LOOKUP2 OK FH=2DF5
61   0.00211      dilbert -> chaco        NFS C LOOKUP2 FH=2DF5 properties
62   0.00154        chaco -> dilbert      NFS R LOOKUP2 OK FH=7D4B
63   0.00529      dilbert -> chaco        NFS C LOOKUP2 FH=2DF5 properties
64   0.00154        chaco -> dilbert      NFS R LOOKUP2 OK FH=7D4B
65   0.00261      dilbert -> chaco        NFS C READ2 FH=7D4B at 0 for 2048
66   0.00244        chaco -> dilbert      NFS R READ2 OK (578 bytes)
67   0.00225      dilbert -> chaco        NFS C READ2 FH=7D4B at 578 for 1470
68   0.00149        chaco -> dilbert      NFS R READ2 OK (0 bytes)
69   0.02084      dilbert -> chaco        NFS C READ2 FH=7D4B at 578 for 2048
70   0.00152        chaco -> dilbert      NFS R READ2 OK (0 bytes)
71   0.00369      dilbert -> jsboot       NIS C MATCH dilbert in hosts.byname
72   0.00132       jsboot -> dilbert      NIS R MATCH OK

Once the user has been authenticated, the JavaStation computer employs the AppLoader in the JavaOS software to download the Java main application, as described in Chapter 5, Dynamically Loading Applications . In this case, the JavaOS software will obtain the necessary classes for the HotJava Browser by downloading http://netra/hjb/hotjava.zip using HTTP (as directed by http://jsboot/netra/browser).


73   0.25295      dilbert -> jsboot       HTTP C port=57205 
74   0.00037       jsboot -> dilbert      HTTP R port=57205 
75   0.01046      dilbert -> jsboot       HTTP GET /netra/hjb/hotjava.zip HTTP/1.0
76   0.00036       jsboot -> dilbert      HTTP R port=57205 
77   0.08306       jsboot -> dilbert      HTTP HTTP/1.0 200 OK
78   0.05637      dilbert -> jsboot       HTTP C port=57205 
79   0.00042       jsboot -> dilbert      HTTP (body)
80   0.00033       jsboot -> dilbert      HTTP (body)
81   0.00455      dilbert -> jsboot       HTTP C port=57205 
82   0.00042       jsboot -> dilbert      HTTP (body)
83   0.00033       jsboot -> dilbert      HTTP (body)
84   0.00033       jsboot -> dilbert      HTTP (body)

[ Lots of HTTP traffic deleted ]

Once the JavaStation computer has loaded the Java main application, it once again accesses the user's home directory to obtain the user's HotJava Browser preference information, including security, hotlists, cookies, and default lists of URLs.


2103   0.95132      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .hotjava
2104   0.00177        chaco -> dilbert      NFS R LOOKUP2 OK FH=0A5D
2105   0.00210      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D properties
2106   0.00203        chaco -> dilbert      NFS R LOOKUP2 OK FH=13C1
2107   0.00264      dilbert -> chaco        NFS C READ2 FH=13C1 at 0 for 2048
2108   0.02274        chaco -> dilbert      NFS R READ2 OK (889 bytes)
2109   0.00237      dilbert -> chaco        NFS C READ2 FH=13C1 at 889 for 1159
2110   0.00165        chaco -> dilbert      NFS R READ2 OK (0 bytes)
2111   0.03816      dilbert -> chaco        NFS C READ2 FH=13C1 at 889 for 2048
2112   0.00152        chaco -> dilbert      NFS R READ2 OK (0 bytes)
2113   0.00332      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .
2114   0.00153        chaco -> dilbert      NFS R LOOKUP2 OK FH=AC28
2115   0.00211      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .hotjava
2116   0.00152        chaco -> dilbert      NFS R LOOKUP2 OK FH=0A5D
2117   2.18165      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .
2118   0.00144        chaco -> dilbert      NFS R LOOKUP2 OK FH=AC28
2119   0.00505      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .hotjava
2120   0.00150        chaco -> dilbert      NFS R LOOKUP2 OK FH=0A5D
2121   0.00215      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D security1.1
2122   0.00217        chaco -> dilbert      NFS R LOOKUP2 No such file or directory
2123   0.01459      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .
2124   0.00151        chaco -> dilbert      NFS R LOOKUP2 OK FH=AC28
2125   0.00333      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .hotjava
2126   0.00154        chaco -> dilbert      NFS R LOOKUP2 OK FH=0A5D
2127   0.00213      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D security1.1
2128   0.00217        chaco -> dilbert      NFS R LOOKUP2 No such file or directory
2129   3.27535      dilbert -> chaco        NFS C LOOKUP2 FH=AC28 .hotjava
2130   0.00149        chaco -> dilbert      NFS R LOOKUP2 OK FH=0A5D
2131   0.00216      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D hotlist.html
2132   0.00154        chaco -> dilbert      NFS R LOOKUP2 OK FH=E884
2133   0.70818      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D hotlist.html
2134   0.00150        chaco -> dilbert      NFS R LOOKUP2 OK FH=E884
2135   0.20309      dilbert -> chaco        NFS C LOOKUP2 FH=0A5D urlpool
2136   0.00155        chaco -> dilbert      NFS R LOOKUP2 OK FH=B632
2137   0.01399      dilbert -> chaco        NFS C READ2 FH=B632 at 0 for 2048