`Shuff'
`
`11(cid:127) 1111111111111
`
`US005758165A
`[HJ Patent Number:
`[45] Date of Patent:
`
`5,758,165
`*May 26, 1998
`
`[54) LOCAL AREA NETWORK AND NETWORK
`OPERATING SYSTEM FOR FORMATTING A
`CLIENT DISK AND INSTALLING A CLIENT
`OPERATING SYSTEM
`
`[75]
`
`Inventor: Patrick R. Shuff'. Houston. Tex.
`
`[73) Assignee: Sun Microsystems, Inc., Mountain
`View. Calif.
`
`[ * ] Notice:
`
`This patent issued on a continued pros(cid:173)
`ecution application filed under 37 CFR
`1.53( d), and is subject to the twenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`(21) Appl. No.: 499,228
`Jul. 7, 1995
`[22] Filed:
`Int. Cl.6
`...................................................... G06F 9/445
`[51)
`(52) U.S. Cl . ............................................. 39sn12; 395/652
`[58] Field of Search ...................................... 395/652. 712
`
`[56]
`
`References Cited
`
`U.S. PATENf DOCUMENTS
`
`5,142,680
`5,280,627
`5,349,673
`
`8/1992 Ottman et al . .......................... 395nl2
`1/1994 Flaherty et al. ........................ 395/652
`9/1994 Yasuda .................................... 395/652
`
`5,361,358 11/1994 Cox et al ................................ 395/652
`4/1995 llwin et al .............................. 395/652
`5,404,527
`5/1995 Vander Kamp et al .
`5,418,918
`............... 395/652
`5,452,454
`9/1995 Basu ........................................ 395/652
`
`Primary Emminer-Emanuel Todd Voeltz
`Assistant Examiner-John Q. Chavis
`Attorney, Agent, or Firm-Blakely Sokoloff Taylor &
`Zafman
`
`[57]
`
`ABSTRACT
`
`Unattended initialization of client disks according to foreign
`operating systems is supported. The data written on the
`client disk is provided from a server disk across a local area
`network (LAN). rather than from floppy disks. The client
`system is booked over the LAN with a first . network(cid:173)
`oriented operating system. such as the UNIX-based
`Solari s™ operating system developed by Sun
`Microsystems, Inc. Solaris™ is then used to format the
`client disk. This formatting is done according to the file
`access table (FAT) file system. Then Solaris™ copies a disk
`image to the client disk from the server disk via the LAN.
`The disk image copied includes a second. client-oriented
`operating system. such as Windows™ that uses the FAT file
`system. Then the client system is rebooted with Windows™.
`Network services, such as naming services or remote file
`access. can then be provided to Windows™ running on the
`client by Solaris™ running on the server.
`
`6 Claims, 3 Drawing Sheets
`
`- ---
`
`101
`
`BOOT CLIENT
`OVER NETWORK
`
`102
`
`103
`
`104
`
`COPY DOS DISK IMAGE
`TO CLIENT DISK
`
`- -- - --
`
`REBOOT CLIENT
`FROM CLIENT DISK
`
`REQUEST NETWORK
`SERVICES
`
`105
`
`106
`
`-------
`
`SOLARIS
`
`DOS
`
`Netflix, Inc. - Ex. 1028, Page 000001
`
`IPR2021-01319 (Netflix, Inc. v. CA, Inc.)
`
`
`
`U.S. Patent
`
`May 26, 1998
`
`Sheet 1 of 3
`
`5,758,165
`
`BOOT CLIENT
`OVER NElWORK
`
`101
`
`102
`
`103
`
`104
`
`105
`
`106
`
`FORMAT CLIENT DISK
`
`MOUNT CLIENT DISK
`
`COPY DOS DISK IMAGE
`TO CLIENT DISK
`
`REBOOT CLIENT
`FROM CLIENT DISK
`
`REQUEST NETWORK
`SERVICES
`
`END
`
`SOLARIS
`
`DOS
`
`FIG. I
`
`Netflix, Inc. - Ex. 1028, Page 000002
`
`
`
`U.S. Patent
`
`May 26, 1998
`
`Sheet 2 of 3
`
`5,758,165
`
`DOS DISK
`INITIAUZATION
`209
`
`SERVER
`
`WINDOWS-NT
`DISK INITIALIZATION
`210
`
`LOCAL AREA
`NElWORK
`204
`
`NElWORK
`ADAPTER
`202
`
`CLIENT
`
`FIG. 2
`
`Netflix, Inc. - Ex. 1028, Page 000003
`
`
`
`U.S. Patent
`
`May 26, 1998
`
`Sheet 3 of 3
`
`5,758,165
`
`~
`
`z
`0
`i=w
`<C (.) u<
`-LL
`Zee
`:::>w
`:EI-
`:l:~
`0 u
`
`ij
`
`I
`
`w c,w
`<CU
`~~
`1-0
`en
`
`~
`
`>-
`zCC
`§~
`:;
`
`-
`
`~
`
`:~
`
`I
`I
`I
`I
`I
`I
`
`uS~
`cccc
`o~
`< _,
`~~
`§
`:z
`
`~ ~
`
`~cc
`a:w
`01-
`~~
`:z<
`
`I
`I
`I
`I
`I
`L
`
`- -7
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`.
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I L ________
`-7
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`~
`
`CCw
`Oc.,
`Cl)-cc>
`:::> w uO
`
`~
`
`0
`
`cc <
`0
`CD
`Cu
`!iii::
`
`~
`
`>-
`s
`0..
`U)
`j5
`
`ij
`
`a:
`0
`C/)
`Cl) w
`u
`0 a:
`a.
`
`-------------------------
`
`Netflix, Inc. - Ex. 1028, Page 000004
`
`
`
`5,758,165
`
`1
`LOCAL AREA NETWORK AND NETWORK
`OPERATING SYSTEM FOR FORMATTING A
`CLIENT DISK AND INSTALLING A CLIENT
`OPERATING SYSTEM
`
`FIELD OF THE INVENITON
`
`The present invention relates generally to methods and
`apparatus for initializing a disk on a computer system
`attached to a local area network. In particular, it relates to
`using the local area network and a first network-oriented
`operating system to initialize such a disk and install thereon
`a second client-oriented operating system.
`
`BACKGROUND OF THE INVENTION
`
`2
`software and several applications programs. may require one
`to two hours, or more.
`Thus. there is a need to speed up the PC disk initialization
`process, particularly by avoiding changing floppy disks and
`5 interacting with the user.
`PCs can be considered to have client-oriented operating
`systems in that PCs started as stand alone computers. which
`subsequently evolved into computers interconnected via a
`local area network (LAN). In contrast. engineering work-
`10 stations can be considered to have network-oriented oper(cid:173)
`ating systems in that engineering workstations started as
`multicomputer networks.
`Early engineering workstation networks often included
`client computer systems without a local hard disk. Thus they
`15 had to boot over the network. That is. their network-oriented
`operating system and their hardware LAN interface had to
`be capable of running the operating system after portions of
`it are loaded into main memory via the LAN from the disk
`of a server computer system.
`In this engineering workstation environment. it is both
`feasible and desirable to automate the process of installing
`the network-oriented operating system from a server disk
`onto a client disk via a LAN. (See. for example. Automating
`Solaris Installations, pp. 1-22).
`Thus there is a need to use a first. network-oriented
`operating system to initialize client disks that contain and
`are to be used with a second. client-oriented operating
`system.
`
`30
`
`SUMMARY OF THE INVENTION
`
`Many home PCs are purchased with an attached hard disk
`drive that is already formatted. that already has installed
`thereon DOS or Windows™. and that already has installed
`thereon several applications programs. such as a word
`processor. a spreadsheet or a network access program. Most 20
`business PCs. when first turned over to the business end
`user. also come with an attached. formatted hard disk with
`a similar suite of pre-installed software.
`In both of these cases. a trained technician. probably not
`the end user, has initialized the disk. That is, a trained person 25
`takes a hard disk and
`(i) formats the disk;
`(ii) copies onto the disk the boot record and the hidden
`and regular files that the operating system to be run on
`the PC requires on its boot disk (e.g. for MS-DOS™,
`the files named IO.SYS. MSOOS.SYS. and COM-
`M AND.COM are the absolute minimum
`requirements);
`(iii) copies onto the disk any networking software to be
`used;
`(iv) reboots the system; and
`(v) installs onto the disk the applications programs.
`Installing software onto a hard disk is often performed by
`means of an installation script or program. Installation
`scripts may interact with the person executing them to allow
`optional installation of some features: For example, charac-
`ter fonts that are less often used may be installed only if the
`user answers "yes" to the appropriate on-screen prompt.
`Installation scripts may also interact with the user to learn
`the system configuration: for example. the software being
`installed may need to know what type of audio reproduction
`hardware is available on this system.
`Whether or not interactive installation scripts or programs
`are used, the installation process spends the majority of its
`time copying files onto the hard disk. Typically the files a PC
`operating system or program requires are obtained from
`floppy disks, which have relatively slow data transfer rates
`and relatively small data storage capacity. It is not unusual
`for the installation process to require the user to change
`floppy disks-after the files contained on each floppy are
`copied to the hard disk, it must be manually removed and
`another floppy inserted.
`Installing a DOS operating system requires an installation
`process involving three floppies and perhaps ten minutes.
`Installing networking software may require perhaps eight
`floppy disks inserted over a twenty-minute period. A rea(cid:173)
`sonably sized application program may require the same.
`Windows NT™ takes the place of both DOS and the
`networking software. It requires reading approximately
`twenty floppy disks. In total. initializing a PC disk. i.e.
`formatting it and installing an operating system, networking
`
`35
`
`Unattended initialization of client disks according to
`foreign operating systems is supported. The data written on
`the client disk is provided from a server disk across a LAN.
`rather than from floppy disks.
`First. the client system is booted over the LAN with a first.
`network-oriented operating system. The network-oriented
`operating system executes on the client to format the client
`disk. This formatting is done according to a second, client-
`40 oriented operating system.
`WmdowsTM is one preferred choice for the client-oriented
`operating system. due to its popularity and the range of
`applications software written for that environment. The
`UNIX-based Solaris™ operating system developed by Sun
`45 Microsystems. Inc. is one preferred choice for the network(cid:173)
`oriented operating system because of its ability to be booted
`over a LAN. to format disks according to the file access table
`(FJJ) file system commonly used on PCs. and to write FJJ
`files.
`The operating systems that are prevalent today for per-
`sonal computers (PCs) are based on the FJJ file system. The
`FJJ file system was originated by Microsoft Corporation's
`well known Microsoft-Disk Operating System (MS(cid:173)
`OOS™) operating system. Today. there are several addi-
`55 tional operating systems based on the FJJ file system.
`including DOS-compatible operating systems from other
`vendors. Microsoft's Windows™. Windows for Work(cid:173)
`groupsTM and Windows-NTN operating systems.
`Next the network-oriented operating system executes on
`60 both the client and the server to copy a disk image to the
`client disk from the server disk via the local area network
`(LAN). The disk image is written on the server disk accord(cid:173)
`ing to the client-oriented operating system. The disk image
`copied includes all files required to execute the client-
`65 oriented operating system as well as all files required for any
`networking software and for any applications programs that
`are to reside on the client disk.
`
`so
`
`Netflix, Inc. - Ex. 1028, Page 000005
`
`
`
`5,758,165
`
`3
`Next the client system is rebooted with the client-oriented
`operating system off its local client disk. Network services.
`such as naming services or remote file access. can then be
`provided to the client-oriented operating system running on
`the client by the network-oriented operating system. which 5
`continues to run on the server.
`
`4
`
`TABLE 1
`
`Step 102:
`Step 103:
`SteP 104:
`Step 105:
`
`fdi&k /dev/dsk/cOtOdO
`mow,t -Fpcfs /dcv/dks/cOtOdO /pcfs
`dd if=Jnet/server/dodimage of=/pcfs
`init 6
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`HG. 1 shows the steps involved in practicing the present
`invention and which operating system perf onns those steps
`on the client computer system.
`HG. 2 shows one preferred embodiment of a networked
`computer system on which the present invention can be
`practiced.
`HG. 3 shows one preferred embodiment of the network
`(LAN) used to implement the present invention.
`
`DErAILED DESCRIPTION OF THE
`INVENTION
`
`10
`
`15
`
`lo step 102. SolarisTM executes on the client to format the
`client disk. This formatting is done according to the file
`system used by the client-oriented operating system. which
`preferably is the FP3' file system. Unlike many network(cid:173)
`oriented operating systems. Solaris ™ is able to format a disk
`using a foreign format.
`lo step 103. Solaris™ executes on the client to mount the
`client disk. Mounting is a command or process within
`Solaris™ that makes available a specified region of a disk
`drive (in this case /dev/dsk/cOtOd0) under a specified name
`(in this case /pcfs). The copy operation of step H4 would
`20 fail if this mount step were skipped.
`lo step 104. Solaris™ executes on both the client and the
`server to copy a disk image to the client disk from the server
`disk via the LAN. The disk image is written on the server
`disk according to the FAT file system. The disk image copied
`25 includes all files required to execute DOS. as well as all files
`required for any networking software and for any applica(cid:173)
`tions programs that are to reside on the client disk. Unlike
`many network-oriented operating systems. Solaris™ is able
`to write disk files in a foreign format.
`At the completion of step 104. the client disk is initialized
`In step 105, the client system is rebooted with DOS off its
`local client disk. This terminates the execution of Solaris™
`on the client.
`lo step H6. network services, such as naming services or
`remote file services, are provided as requested by DOS
`running on the client by Solaris TM. which continues to run on
`the seiver.
`Naming seivices can be critical in networked computer
`systems. They answer questions such as: "Who are the
`authorized users?" and "What computer systems are on this
`LAN?"
`Remote file services allow software that resides on the
`server's disk to execute on the client as if it were on the
`client's local disk. Remote file services also allow software
`executing on the client to access data files that reside on the
`seiver's disk as if they were on the client's local disk.
`HG. 2 is a network architecture diagram of a computer
`system on which the present invention can be performed. It
`also shows DOS disk initialization 209. in which client disk
`208 attached to client 206 is initialized with DOS. It also
`shows Windows-NT disk initialization 211. in which client
`disk 208 attached to client 207 is initialized with Windows(cid:173)
`NT™.
`Local area network (LAN) 204 interconnects seiver 201,
`client 206 and client 207, via network adapters 202. Pref(cid:173)
`erably LAN 204 is a Ethernet. Network adapters 202 must
`support remote booting of clients 206 and 207 over LAN
`2M---that is. the operating system that comes up during the
`60 boot process must be able to be provided from LAN 204 via
`network adapters 202.
`Server disk 203 contains the disk images which are to be
`copied onto client disks 208. A different disk image is
`required for each different configuration that is to be written
`65 onto client disk 208.
`For example. there could be a first disk image of a basic
`PC system intended to execute a word processing applica-
`
`30
`
`35
`
`HG. 1 is a flow chart of the process of initializing a disk
`attached to a client computer system according to the present
`invention. HG. 1 also indicates which operating system
`executing on the client performs each step in the process: i.e.
`Solaris. a preferred network-oriented operating system, or
`OOS. a preferred client-oriented operating system.
`lo step 101. the client system is booted over the LAN with
`Solaris™. PCs based on the processors developed by Intel
`Corporation typically have a power-on or reset start up
`sequence. This sequence is contained within the basic input
`output system (BIOS) firmware located in a read only
`memory (ROM) within the client system. Typically this
`sequence first looks at the client system's floppy disk drive.
`If a disk is present. then the BIOS boots the client system
`from that floppy disk. Next. if a hard disk is present, then the
`BIOS boots the client system from that disk. The method of
`the present invention requires indicating to the BIOS that no
`hard disk is present in the client computer system.
`Next. the BIOS attempts to boot the client system off any 40
`attached LAN. lo step 101. this attempt to boot over the
`LAN is successful and the client computer system starts
`operating under the control of the version of the SolarisTM
`operating system that runs on Intel-based PCs. Portions of
`this operating system are written into the main memory of 45
`the client system and portions are available to be read in over
`the LAN as needed. This operating system resides on a disk
`attached to a server. which in turn is attached to the LAN.
`The version of Solaris™ controlling the server recognizes
`the client system's boot message broadcast over the LAN 50
`and responds by making the PC version of Solaris™ avail(cid:173)
`able to the client system over the LAN.
`The user interaction required to perform step HH can be
`as little as turning on the power of the client system.
`Additionally. the user must ensure that there is no floppy 55
`disk in the drive and that the hard disk attached to the client
`system will not be recognized as being present at boot time
`by the BIOS. The user interaction required to perform step
`102 can be as little as typing one command at the SolarisTM
`prompt. That command would invoke a script that contains
`the sequence of commands required to perform steps 101 to
`105. At this point. the user interaction required by the
`method of the present invention is complete. The remaining
`processes occur automatically. unless exceptional circum(cid:173)
`stances prevent normal completion of a step of the process.
`A typical example of a disk initialization script according
`to the present invention is given in Table 1:
`
`Netflix, Inc. - Ex. 1028, Page 000006
`
`
`
`5,758,165
`
`5
`tion in a networked DOS environment. Such a disk image
`might contain only DOS, the networking software chosen
`and the word processor chosen. A second disk image could
`be intended for a software developer operating under
`Windows-NT™. Such a disk might contain Windows-NT™, 5
`compilers, linkers. debuggers, revision control programs.
`flowcharting programs, run time libraries. source code
`libraries, benchmark programs, suites of test data. and so on.
`Each such disk image is initially generated as follows: A
`prototype client system is initialized according to prior art 10
`methods. Once the selected operating system(s), application
`(s) and data file(s) are on the client disk. then it is copied
`over LAN 204 onto server disk 203
`It will be obvious to one skilled in the art that schemes
`could be employed to reuse portions of disk image files in 15
`initializing client disks 208 without departing from the sprit
`of scope of the present invention. Likewise, empty portions
`of client disks 208 could be algorithmically generated rather
`than copied. If there are a large number of configurations of
`large client disks, then such optimizations may be signifi- 20
`cant.
`The preferred embodiment of the present invention and
`various alternative embodiments and designs are disclosed
`herein. Nevertheless, various changes in form and detail 25
`may be made while practicing the invention without depart(cid:173)
`ing from its spirit and scope or from the following claims.
`For example, the network-oriented operating system could
`be any that is capable of being booted on the client system
`and that is capable of disk fonnatting and writing operations 30
`according to the client-oriented operating system. Also, the
`file system could be any that is used by the client-oriented
`operating system and according to which the network(cid:173)
`oriented operating system is able to format and write files.
`Also. the client operating system could be any according to 35
`which the network-oriented operating system can format and
`write disks.
`I claim:
`I. A method of initializing a disk coupled to a client from
`a first operating system controlling a server, comprising the 40
`steps of:
`responding to said client coupled to said server via a local
`area network by making a version of said first operating
`system adaptable to a second operating system of said
`client;
`booting said client with said version of said first operating
`system. said booting comprising copying portions of
`said version of said first operating system from said
`server to a main memory within said client;
`executing said version of said first operating system from so
`said main memory so as to format said disk. said
`formatting being in accordance with said second oper(cid:173)
`ating system;
`executing said version of said first operating system to
`mount said disk;
`causing said server to write a disk image to a server disk;
`and executing said version of said first operating sys-
`
`45
`
`55
`
`6
`tern from said main memory so as to copy said disk
`image from said server disk to said disk coupled to said
`client.
`2. A method according to claim 1. subsequently compris(cid:173)
`ing:
`executing said first operating system from said main
`memory so as to reboot said client, said rebooting
`occurring with said second operating system from said
`disk.
`3. A method according to claim 2. subsequently compris(cid:173)
`ing:
`said second operating system executing on said client
`calling upon said first operating system executing on
`said server for network services.
`4. A computer program product comprising:
`a computer readable medium having computer readable
`code embodied therein for initializing a disk coupled to
`a client. said computer program product comprising:
`computer readable program code devices configured to
`respond to said client coupled to a server via a local
`area network by making a version of a first operating
`system adaptable to a second operating system of
`said client;
`computer readable program code devices configured to
`boot said client with said version of said first oper(cid:173)
`ating system. said boot comprising copying portions
`of said version of said first operating system from
`said server to a main memory within said client;
`computer readable program code devices configured to
`execute said version of said first operating system
`from said main memory so as to format said disk.
`said formatting being in accordance with said second
`operating system. said first operating system further
`mounting said disk;
`computer readable program code devices configured to
`cause said server to write a disk image to a server
`disk: and
`computer readable program code devices configured to
`execute said version of said first operating system
`from said main memory so as to copy said disk
`image from said server to said disk coupled to said
`client.
`S. A computer program product according to claim 4.
`further comprising:
`computer readable program code devices configured to
`execute said first operating system from said main
`memory so as to reboot said client. said rebooting
`occurring with said second operating system from said
`disk.
`6. A computer program product according to claim 4.
`further comprising:
`computer readable program code devices configured so
`that said second operating system executing on said
`client calls upon said first operating system executing
`on said server for network services.
`
`* * * * *
`
`Netflix, Inc. - Ex. 1028, Page 000007
`
`