`Sanders
`
`USOO573483 1A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,734,831
`Mar. 31, 1998
`
`[54] SYSTEM FOR CONFIGURING AND
`REMOTELY ADMINISTERING A UNIX
`COMPUTER OVER A NETWORK
`
`[75] Inventor: James B. Sanders. Menlo Park. Calif.
`
`[73] Assignee: Sun Microsystems, Inc.. Mountain
`View. Calif.
`
`[21] Appl. No.: 639,129
`[22] Filed:
`Apr. 26, 1996
`
`[51] Int. Cl.6 .................... ..
`
`.. G06F 17/00
`
`[52] US. Cl. . . . . . . . . . . r . . . .
`
`. . . . . . . . . .. 395/20053
`
`............... .. 395/20053. 200.5.
`[58] Field of Search
`395/20051. 200.52. 712. 762. 651. 652,
`653; 364/131. 133; 340/825.15
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,426,421
`
`6/1995 Gray ................................. .. IMO/825.15
`
`Primary Examiner-Ellis B. Ramirez
`Attomey, Agent, or Firm-Blakely Sokolo? Taylor &
`Zafman
`
`[57]
`
`ABSTRACT
`
`A forms based browser interface system for con?guring and
`administering a network server from a remote location.
`Using forms. such as hyper-text markup language forms. the
`system provides a graphical user interface that allows a
`novice user. unaware of the platform. architecture or even
`operating system of the network server. to transact admin
`istrative tasks on the network server. An interfacing
`computer. at which the novice user performs administrative
`tasks upon the network server. is connected to the network
`server via network connections. The interfacing computer is
`equipped with a browser program that can display and
`interact with the forms created by the network server. The
`forms allow the user to select among various administrative
`tasks to be performed on the server. The forms also allow the
`user to input parameters for administration of the server such
`as new account names when adding new accounts for the
`server. Once the form input is submitted over the network
`connections to the network server. scripts within the server
`pass this information as parameters to appropriate software
`that complete the execution of the task and may signal to the
`user at the interfacing computer. through messages on the
`forms. success or failure thereof.
`
`16 Claims, 8 Drawing Sheets
`
`PACKAGE EXECUTES
`TASK ON SERVER
`1800
`
`USER LAUNCHES WEB-BROWSER AND
`ACCESSES THE SERVER USING ITS’
`UNIFORM RESOURCE LOCATOR 1000
`i
`USER ENTERS LOGIN AND PASSWORD
`TO GAIN ADMIN LEVEL ACCESS TO
`1100
`SERVER
`
`BROWSER DISPLAYS
`ADM NI TRAT E TASKS
`I aim: Bis:
`
`“50
`
`CANCEL l~—-———
`
`BROWSER
`DISPLAYS
`"SUCCESS"
`MESSAGE1 950
`BROWSER
`DISPLAYS
`— TASK ERROR
`MESSAGE
`1970
`
`USER SELECTS A PREFERRED
`ADMINSTRATIVE TASK FROM MENU
`i
`BROWSER DISPLAYS HOME
`PAGE FORM RELEVENT T9300
`)
`P EFERRED TASK
`i
`RESTART
`USER INPUTS INFORMATION REQUESTED
`BY FORM AND SUBMITS FORM TO SERVER
`1 400
`
`1
`
`BROWSER
`DISPLAYS
`ERROR
`MESSAGE
`1550
`
`SERVER PROCESSES
`SUBMITTED INFORMATION
`1500
`
`No
`
`IS
`INFORMATION
`VALID’?
`1 s00
`YES
`SERVES PASSES
`INFORMATION TO PACKAGE
`RELEVENT TO TASK 1700
`
`A
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 1
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 1 of 8
`
`5,734,831
`
`A
`
`
`
`NETWORK (LAN) 30
`
`DISKETTE
`O
`1 10
`FF“
`CONFIGURATION 120
`DATA
`
`NETWORK
`N
`CONNECTIO
`
`1-9
`
`SERVER
`
`130
`
`50
`/
`MONITOR
`GUI
`(BROWSER)
`H §_Q
`
`‘-——--—————-D
`
`V
`
`REMOTE
`INTERFACING
`COMPUTER
`i9
`
`KEYBOARD
`
`FIG. I
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 2
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 2 of 8
`
`5,734,831
`
`FIG. 2A
`
`POWER
`
`‘1"
`
`EXECUTE
`PROGRAM
`IN
`/Ietc/rc2.d
`2J2
`
`/letc/rc2.d program does this:
`sTART
`2.19
`/letc/rc2.d program
`
`YES
`
`2_2_Q
`15 A
`FLOPPY WITH
`CONFIGURATION
`DATA PRESENT?
`
`NO
`
`COPY DATA FROM
`FLOPPY INTO
`APPROPRIATE
`DIRECTORIES
`
`240
`_"
`
`I
`
`BOOT
`SYSTEM
`AS_IS
`
`232
`
`RuN CONFIG PROGRAM
`OF SUNWHOSTA
`2i)
`
`RUN THE REST OF
`PACKAGES’ CONFIG
`PROGRAMS IN ORDER
`DETERMINED BY
`REGISTRATION FILES
`NAME
`60
`
`265
`/
`BOOT
`' _’ SYSTEM ——’ DONE
`
`‘
`
`270
`J
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 3
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 3 Of 8
`
`5,734,831
`
`PACKAGE EXECUTES
`TASK 0N SERVER
`1800
`
`K
`
`H.
`L12
`
`USER LAUNCHES WEB—BROWSER AND
`ACCESSES THE SERVER USING ITS’
`UNIFORM RESOURCE LOCATOR 1000
`i
`USER ENTERS LOGIN AND PASSWORD
`TO GAIN ADMIN LEvEL AccESS To
`SERVER
`L153
`1
`AESRHSSTERFXTE’VIEPFQESS
`HOME PAGE
`1
`
`USER SELEcTS A PREFERRED
`ADMINSTRATIvE TASK FROM MENU ITEMS _]
`a
`1950
`g
`1
`BROWSER DISPLAYS HOM E
`——"> PAGE/FORM RELEVENT TO H BROWSER
`PREFERRED TASK
`1_5QQ )
`TAglsPELaggR
`K
`1
`RESTART
`MESSAGE
`USER INPUTS INFORMATION REQUESTED
`1970
`BY FORM AND SUBMITS FORM TO SERvER
`——
`1400
`
`BROWSER
`DISPLAYS
`
`+
`
`BROWSER
`DISPLAYS
`ERROR
`MESSAGE
`1550
`
`SERvER PROCESSES
`SUBMITTED INFORMATION
`1500
`'
`
`SERVES PASSES
`INFORMATION TO PACKAGE
`RELEVENT T0 TASK 1700
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 4
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 4 of 8
`
`5,734,831
`
`FIG. 4
`
`(root directory) 300
`
`/
`@305
`opt
`/
`@310
`
`SUNWnok
`
`bin
`312
`
`httpd
`314
`
`lib
`316
`
`netro
`318
`
`packages
`
`@326 @ E31
`
`~
`
`532
`
`SUNWdnsA SUNwftpA
`
`SUNwhostA
`
`sUNwnetA SUNWuserA
`
`330
`
`340
`
`350
`
`.360
`
`370
`
`380
`
`égi-bin
`
`lib
`
`oudio
`
`images
`
`hfmlr V bin
`/
`configw
`(345)
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 5
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 5 of 8
`
`5,734,831
`
`FIG. 5
`
`/etc 400
`
`405
`
`opt
`
`410
`
`SUNWnok
`
`2 4
`
`4
`
`0
`
`3 H
`S $
`
`kc
`
`S e
`
`.5 9
`y r t
`
`m 6
`
`O 2 P 4
`c 4
`
`G K
`
`Pm
`
`m4 n4.
`(
`
`e
`
`m 9
`o 2 n 4
`
`422
`
`O m
`9 @
`
`2 4
`
`SUNWdnsA SUNWftpA
`
`SUNWhostA
`
`SUNWnetA SUNWuserA
`
`460
`
`470
`
`Ylogs
`
`dns1 .lo
`g
`
`conf
`
`conf
`
`conf
`
`462
`)xx.cf reboot (472)
`(480) rebootnow (474)
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 6
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 6 of 8
`
`5,734,831
`
`
`
`mBE 336mm C C C C C
`
`w .QE
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 7
`
`
`
`US. Patent
`
`Mar. 31, 1998
`
`Sheet 7 of 8
`
`5,734,831
`
`Netscape: Lance Ethernet Administration
`E)
`Fite Edit View 60 Bookmarks Options Directory
`
`Help
`
`@ Sun Mm @
`
`Lance Ethernet Administration
`
`Enter the con?guration information for the 1st interface. When
`entering either the P address or the P actrnask, type four
`decimot members separated by periods. Example: 123.112.1215.
`To choose figure time this interface, ctear the P address field.
`
`IP address: 129.146.342.289
`1P Namath-525E
`Choose Configure to store the rel connection entered. The
`machine must be rebooted tor those values to take affect.
`Choose Reset to reset the status on this form to their previous
`votues.
`(Con?gu? Reset
`
`Network Interface Administration! Mars Administration
`
`[<1 F
`E’IE Document: Demo
`
`A DJ
`L_____---—-——-—J [:1 1:
`
`FIG. 7
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 8
`
`
`
`US. Patent
`
`Mar. 31, 1993
`
`Sheet 8 of 8
`
`5,734,831
`
`Netscape: Add User Account
`fEl
`F‘lle Edit View Go Bookmarks Options Directory
`
`“”
`
`Help
`
`Sun M‘Zfigg GD
`
`Add User Account
`
`[I
`User Login:
`User Name: W
`Password:
`[I
`counter passwordzili
`
`J
`1
`J
`J
`
`logis shell:
`
`Bourne Shell 1::
`
`Leave the password fields blonk only if the user doesn't
`want 0 password. Choose Add to add the user or choose
`Reset to reset all the fields.
`
`Fddl Reset
`
`User Administration l System Administrotionl Main Administration
`
`[<1 r'
`Ell] Document: Demo
`
`A DI
`l:__—-_-—-——J [:l J
`
`FIG. 8
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 9
`
`
`
`1
`SYSTEM FOR CONFIGURING AND
`REMOTELY ADMINISTERING A UNIX
`COMPUTER OVER A NETWORK
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to the ?eld of con?guring
`and administering computer systems. More particularly. the
`present invention relates to automating the con?guring of
`computers and administering computers using a graphical
`user interface from a remote location.
`2. Description of Related Art
`Certain computer systems such as those running in the
`UNIX operating environment are sufficiently complex that
`they have traditionally required specially trained technicians
`to con?gure and administer them.
`Con?guring and administering a UNIX computer system
`has always been a specialized job requiring the know-how of
`a trained technician with a thorough knowledge of UNIX.
`The level of training and know-how required to successfully
`perform these tasks increases when the UNIX machine is
`connected to a network. and further increases when the
`UNIX computer is to be used as a server providing access to
`data and code for other machines connected over the net
`work
`Further. in order to install and con?gure a UNIX-based
`computer. the computer must be connected to a monitor and
`an input device. usually a keyboard with which a UNIX
`trained technician must manually type commands. Thus. the
`operating system. system utilities and some software appli
`cations that run on the UNIX system cannot be made
`available for use without the help of a UNIX trained
`technician working at the site of the server. A UNIX com
`puter with devices such as disk or tape drives requires. for
`instance. complicated con?guration known as “mounting”
`such that the operating system and software can recognize
`and use the drives. Similarly. networking interfaces such as
`a TCP/IP stack or packet drivers must be con?gured upon
`the installation of the operating system and/or the commu
`nications software that uses them such that File Transfer
`Protocol (FTP) or Telnet may operate correctly. When the
`UNIX computer also operates as a server. then the server
`software must be correctly installed and con?gured to run
`administrative tasks such as ?le permissions and setting up
`user accounts. This has typically required a system admin
`istrator with experience in such features as shell scripts and
`daemons (for ?le systems and E-mail). Even when admin
`istrative tasks are made available to a system administrator.
`however. they must be performed using a terminal at the
`physical location of the server.
`Thus. there is need for a method and apparatus that
`circumvents the need for trained technicians in order to
`con?gure and remotely administer computers such that
`persons not trained in the operating system or platform of the
`computer can perform these tasks graphically and remotely.
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`SUMMARY
`The present invention is a method and system for auto
`mating the initial con?guration of a computer system and
`providing for remote ongoing administration of the com
`puter system. particularly when the system is UNIX-based
`network server.
`The server is con?gured using information on a remov
`able media such as a diskette for use over a network The
`server then self con?gures “packages" containing adminis
`
`65
`
`5,734,831
`
`2
`trative software and system utilities for the server. according
`to an order established by the server ?le system Once the
`con?guration is complete. a user may thereafter administer
`the network server from a remote location on an interfacing
`computer. Using forms. such as hyper-text markup language
`forms. the interfacing computer displays a graphical user
`interface. which is ideally a world-wide web browser. allow
`ing a novice user. untrained and unaware of the platform.
`architecture or even operating system of the network server.
`to perform administrative tasks on the network server. The
`interfacing computer is connected to the network server via
`network connections and is equipped with a browser pro
`gram that can display and interact with forms created by the
`network server. These forms allow the user to select among
`various administrative tasks to be performed on the server.
`Once a task is selected. such as when adding new accounts
`for access to the server. additional forms allow the user to
`input information concerning the task such as an account
`name. Once the input entered in the forms is submitted over
`the network connections to the network server. scripts within
`the server pass this information to appropriate software that
`complete the execution of the task and may signal to the user
`at the interfacing computer. through messages on the forms.
`success or failure thereof.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagam showing the main components of the
`interfacing system of the present invention.
`FIG. 2 is a ?owchart showing the steps involved in
`con?guration of the server and its software.
`FIG. 3 is a ?owchart showing the steps in administering
`the server from a remote location on an interfacing com
`puter.
`FIG. 4 is a chart showing the directory tree structure of
`static package information.
`FIG. 5 is a chart showing the directory tree structure of
`dynamic package information.
`FIG. 6 is an illustration of various package registration
`?les contained in the registry.
`FIG. 7 is a screen capture of a sample graphical user
`interface administrative screen for network con?guring
`according to the present invention.
`FIG. 8 is a screen capture of a sample graphical user
`interface administrative screen for adding users of the screen
`according to the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`FIG. 1 shows a system level diagram of the interfacing
`system. A UNIX-based computer requires specially trained
`and knowledgeable technicians such as System
`Administrators. to carry out such tasks as con?guring
`devices and software of the computer. Further. when the
`computer is used as a server 10 for access over a network 30
`via a network connection 130. the tasks of con?guring the
`software of the server 10. according to the prior practice.
`require even more skill.
`Assuming the base operating system of the server 10 has
`been installed. a diskette 110 containing con?guration data
`120, particularly network con?guration data. such as an
`Internet Protocol (IP) address. Domain Name Server (DNS)
`information and/or packet drivers related to network con
`nection 130 may be used for con?guring the server 10 to
`comrmrnicate with other computers. over the network 30.
`The “packages” (software) in the server will read and
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 10
`
`
`
`5.734.831
`
`15
`
`25
`
`3
`process the con?guration data 120 from the diskette 130 and
`automatically con?gure the computer as. for example. a
`World-Wide Web (WWW) server that uses Hyper Text
`Transport Protocol (HTTP).
`Thereafter. any user of remote interfacing computer 40.
`regardless of what operating system the remote interfacing
`computer 40 runs or what platform the remote interfacing
`computer 40 is based upon. will be able to perform the
`ongoing administration of the server 10. The administration
`can be handled by a Graphical User Interface (GUI) 60 such
`as forms accessed through WWW “browsers” such as
`Netscape NavigatorTM (a product of Netscape Communica
`tions Corp). The server 10 will be H'ITP capable and
`translate commands or requests issued over the network 30
`by the remote interfacing computer 40 employing its GUI
`60. When GUI 60 establishes a “link” (successful network
`connection) with server 10. the GUI 60 becomes a browser
`interface for sending commands and receiving information
`from the server 10. An operator can. by the use of a monitor
`50 which displays the GUI 60 and a keyboard or input
`device 70. run administrative tasks by inputting information
`through menus or simple selections on the GUI. The input
`from the GUI is “submitted" (transmitted) to the server
`which then translates the input into a form utilized by
`commands native to the server 10. “Scrip " (self-executing
`programs) on the server 10 invoke whatever commands and
`packages are necessary to perform the task entered by the
`user and return success or error messages.
`For example. to add a new user account for access to the
`server 10. the GUI 60 may have an icon entitled “Add User
`Account.” whereupon a simple click would bring up a dialog
`box asking. for instance. a user name and password. FIG. 8
`shows such an arrangement. Upon entering the user name
`and password. the server 10 would receive the information
`over the network connection I30 and pass it along as
`parameters to a series of UNIX or “C" commands and
`packages invoked through self-executing scripts. Upon suc
`cessful completion of the shell scripts and commands nec
`essary to create user directories. set the password. create
`login ?les. and any other tasks necessary to complete the
`adding of a new user account. the server 10 can send back
`to computer 40 a “User Added Successfully” designation.
`which then ?ashes on the monitor 50 or perhaps. through the
`use of audio interfaces. simulates speech that extols “User
`Added Successfully.” This example is described in greater
`detail later with respect to FIG. 8. In a similar manner. any
`45
`and all type and number of administrative and/or UNIX
`tasks can be implemented using graphical menus and dialogs
`through the GUI 60 that are simple in that they require no
`knowledge of. nor use of the platform or operating system
`server 10 operates on.
`The GUI 60 can merely be a browser-capable page that
`allows the user to graphically interact with the server 10.
`Server 10 mu st contain or generate the necessary forms such
`as HyperText Markup Language (HTML) pages. which a
`browser such as Netscape NavigatorTM (a product of
`Netscape Communications Corp.) can then access. Thus. by
`"linking" to the server 10. any remote interfacing computer
`40 that has an HTML browser can display forms that provide
`administrative command level access to the server 10.
`without any UNIX system resident in remote interfacing
`computer 40. The only requirement is that the computer 40
`be implemented with TCP/IP or other networking capability
`to access the server 10 through network 30. Implementing
`computers with such capability is well known in the art and
`will not be described in detail.
`Using a remote interfacing computer 40. the server 10 is
`allowed to be a “headless" server. that is. a server without a
`
`55
`
`4
`terminal display or any physical input devices such as
`keyboards or mice. since it can be fully administered and
`recon?gured from a remote location. Though the embodi
`ment discussed herein relates to the example of server 10
`being a UNIX-based server. the method and system for the
`interfacing system of the present invention may be
`employed on any servers of any platform. such as a DOS
`(Disk Operating System) or Macintosh.
`FIG. 2 shows a simpli?ed ?owchart of the initial booting
`and con?guration process. When the power of server 10 is
`turned on. an initialization script is run out of the directory
`/etc/rc2.d (210) where “I” designates the root directory of the
`server ?le system. The system is queried as to whether a
`?oppy with con?guration data is present (220). If not. the
`system will boot as-is (2.30). If a con?guration ?oppy is
`found. the script will copy the con?guration information
`from the ?oppy and place it into the appropriate adminis
`trative “package” directories (240) into ?les with an exten
`sion “.cf’ (For example. in the case of the Domain Name
`Server package. SUNWdnsA. the con?guration ?le would
`be letc/opt/SUNWnak/packages/SUNWdnsA/conf/dns.cf.
`The entire ?le system is described in detail later.)
`After all the data is read and copied from the diskette into
`each package’s corresponding “.cf” ?le. theletclrcld or
`other script then invokes the con?guration program of
`SUNWhostA which is a package that sets the name of the
`server and other critical information (250). Then. the script
`invokes the rest of the packages’ con?guration programs in
`a sequence determined by the leading digits of the registra
`tion ?le name resident in a registry for each package (260).
`Each step in the con?guration sequence involves sequen
`tially invoking each package’s con?guration program. Each
`package’s con?guration program then reads the package‘s
`“.cf” ?le containing con?guration information read from the
`diskette. Thus. the package SUNWdnsA will have a program
`letclopt/SUNWnak/packageslSUNWdnsA/binlcon?g per
`forming the con?guration according to the corresponding
`“.ct" ?le. Critical packages. such as SUNWnetA. which
`con?gure the networking interface. should be ?rst con?g
`ured so that administrative tasks may be performed over the
`network from a remote location. After the con?guration of
`all packages is performed and the server has booted (265).
`the system is considered fully con?gured (270) and users
`can connect the server using port 80 (standard HTTP anony
`mous user port) over the network 30 to merely use the
`server. or connect to port 81 (administrative port) to begin
`administration of the server.
`FIG. 3 shows an overview of the steps involved in
`carrying out the remote administration of the server from the
`interfacing computer.
`Starting with step 1000. it is assumed that the server.
`“xyz”. has been previously con?gured via diskette (as
`shown in FIG. 1) so it can at least be accessed from the
`network according to the steps described with respect to
`FIG. 2. In step 1000. the user launches a WWW browser on
`the remote interfacing computer and invokes “http:/l
`www.xyz.abc:8l" to access the HTML-based administrative
`user interface (at a main screen or home page) to the server
`‘Sryz” The designation “www.xyz.abc” is the Uniform
`Resource Locator (URL) that any user with a WWW
`browser and necessary networking feed can connect with to
`get access to the server. In step 1100. the user enters an
`appropriate login and password to access server xyz’s
`HTML-based administrative forms and pages. Once in the
`top level form for system con?guration and administration.
`according to step 1200. the user selects the administrative
`task that they prefer to pursue. such as FI'P con?guration or
`
`35
`
`50
`
`65
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 11
`
`
`
`5,734,831
`
`6
`HTML browser they desire at the remote interfacing com
`puter 40. Thus. running under port 81. rather than the
`standard HTTP access port 80. the daemon can prevent
`access ?'om any hosts other than those in the local domain
`(designated by matching certain IPmasks). The daemon also
`provides security such that users must authenticate them
`selves using a password to gain super-user or administrative
`type access to the server 10. HTML forms provided for
`packages of the server are then used by authenticated users
`over port 81 to handle all the administrative upkeep of the
`server 10. For example. FIG. 7 is a screen capture of a
`Netscape NavigatorTM displayed HTML form that sets Inter
`net Protocol (IP) con?guration for ethernet operation that is
`remotely administered according to the present invention.
`FIG. 8. likewise. is a screen capture of a Netscape
`NavigatorTM displayed HTML form that adds new user
`accounts. An alternative embodiment may provide a VTlOO
`emulation or PC terminal program so that administrators can
`also enter commands and administer the server 10. if they so
`choose. using Telnet or direct modem dial-up. Thus. a
`'ITY-based web client is necessary to translate enough
`HTML tags to. at a
`display text and get input from
`forms in the case of only a cursor-addressable terminal.
`Further. the “remoteness” in terms of distance is not
`critical to the invention as the interfacing computer 40 may
`be in the same room as or provided along with server 10.
`A. Overall Framework of the Server
`A “framework” for the ?le system of the server is
`described in this section as it relates to package con?gura
`tion and use. These “packages” are the primary software
`invoked to handle auto-con?guration of the server 10 and.
`subsequently. are invoked during the remote administration
`of the server 10 over network 30. Administrative packages
`can be con?gured through the HTTP interface quickly and
`easily. thereby eliminating the need to con?gure the package
`where the server 10 is physically located. The framework is
`referred to as “SUNWnak" (Network Appliance Kit) in
`SolarisTM (a Sun Microsystems operating system) terminol
`ogy and has. in the ?les system area. static information as
`shown in Table I below.
`
`10
`
`20
`
`25
`
`35
`
`5
`new user addition. According to the task selected. in step
`1300. the user will be presented with one or more task
`relevant HTML forms that let the user specify con?guration
`or administration information. According to step 1400. the
`user then ?lls in the required form and “submits” it to the
`server over the network by activating. for instance. a “sub
`mit” icon/button provided on the form.
`In accordance with step 1500. information submitted
`through these HTML forms is transmitted over the network
`to the server where scripts process the submitted information
`and either accept or reject it (step 1600). If information is
`rejected. error messages are displayed back to the user (step
`1550). and the input. submit. and validation process repeats
`until the transaction can be completed. According to step
`1700. once the script gets valid input data ?'om the user. the
`submitted data is passed on to the executables of the
`appropriate administrative package or UNIX commands
`corresponding to the task selected (step 1800). According to
`step 1900. upon completion of the task requested by the user.
`a message indicating successful task completion is trans
`mitted to the user on the interfacing computer (1950).
`Similarly. if any errors occurred during task execution. an
`error message is transmitted to the user. and the user may
`restart or cancel the task (step 1970). Similarly. the steps
`mentioned above may be utilized for altering con?guration
`of the server by changing the “.cf’ ?les using input subrnittal
`in forms.
`The process of form input. submittal. script processing.
`and program invocation can be repeated/modi?ed for any
`number of tasks to accomplish ongoing con?guration and
`administration of the UNIX system without the user having
`to type a single UNIX command or know anything about
`UNIX. Further. as is standard for HTML forms. the user will
`readily be able to escape back to any previous form or cancel
`the task entirely. if the user so chooses.
`Several network “packages”. such as FI'P. are provided by
`the server 10 for use in enabling and controlling client or
`user access. The present invention will be described as
`working with SOLARISTM (a product of Sun Microsystems.
`Inc.) as the underlying operating system. but one skilled in
`the art will appreciate that any operating system. properly
`out?tted. can underlie the network server and provide simi
`lar packages for network/ server administration. Though pre
`installed with certain packages. the server 10 can be
`equipped to dynamically add new packages as they are
`requested by or required for clients and users.
`Among the basic services provided by the packages are
`Hyper Text Transfer Protocol (HTTP). Dynamic Host Con
`?guration Protocol (DHCP). Internet Mail Protocol (IMAP)
`and Post O?ice Protocol (POP). Additionally. the server 10
`will have a Domain Name Server (DNS) package providing
`name-server information such as the IP addresses of a cache
`server. a primary server and a secondary server. A “send
`mail” service is also provided to give Simple Mail Transport
`Protocol (SMTP) functionality to the users of the server 10.
`In terms of administrative support. server 10 is con?gured to
`provide asynchronous Point-to-Point Protocol (PPP) setup.
`File Transfer Protocol (FTP) setup. added security (for
`granting super-user or ordinary user access to the server over
`the network) and access to newsgroups or Gopher informa
`tion services. and the ability to add user accounts for mail
`and web access. In terms of con?giration support the
`following functionality is exemplary: IP addressing.
`netmask. default route schemes. root passwords. date. time
`and timezone setting.
`The server 10 has a daemon to produce HTML documents
`that can be routed via HTTP so that the user may employ any
`
`TABLE I
`
`Static Information residgg' at log
`
`SUNWnak/cgi-bin/
`
`SUNWnaklhtmll
`SUNWnak/iconsf
`SUNWnak/images/
`SUNWnak/audio/
`SUNWnakIbin/audio
`
`SUNWnaklbin/con?g
`
`SUNWnak/bin/startup
`
`55
`
`vendor
`
`vendor-prom
`
`Contains HTML forms work. such
`as main,.cgi
`Various HTML pages
`Various xbm icons
`Variols GlF/IPEG images
`Package-related audio ?les
`Program to play audio ?les at a
`speci?ed volume
`Program to call con?guration
`programs of other packages
`Run at boot-time to check
`con?guration and update from
`disk if necessary
`Symbolic link to vendor-speci?c
`“Personality Package"
`Prototype of a vendor package
`that ships with the computer
`
`60
`
`65
`
`FIG. 4 shows the directory structure in which the static
`information speci?ed in Table I for SUNWnak resides.
`Following down the tree in FIG. 4. from a root directory “I”
`(300) to “opt" (305) and ?nally to “SUNWnak." a number
`of subdirectories reside. First. the “bin" subdirectory (312)
`contains the binary (executable) ?les that are the base level
`commands of the framework such as the “con?g" program
`for calling con?guration programs of the various packages.
`
`IPR2017-01839
`Ubisoft, et al. EX1004 Page 12
`
`
`
`5,734,831
`
`7
`The “httpd" subdirectory (314) contains more advanced
`executables for maintenance and setup of the server as a Web
`server. The “lib" subdirectory (316) contains libraries and
`utilities for running the various package con?guration
`scripts. Finally. the NetraTM (a trademark of Sun
`Microsystems) subdirectory contains vendor-speci?c
`images and forms which can customize the administrative
`pages of the Web server. The “packages” subdirectory (320)
`contains a number of subdirectories. one for each package.
`For example. FIG. 4 shows ?ve such package subdirec
`tories. The SUNWdnsA. SUNWftpa. SUNWhostA. SUN
`WnetA and SUNWuserA packages each have directories.
`322. 324. 326. 330 and 332. respectively. For an explanation
`describing what tasks each of these packages perform. see
`the discussion under Section B. entitled “Administrative
`Packages”.
`Table H below shows that the SUNWnak framework also
`provides for dynamic information in a separate ?le system
`area. namely “letc/optJsunwnak.” Here. vendors and value
`added resellers may add their own customized packages or
`package add-ons according to their needs.
`
`20
`
`TABLE 11
`
`we Information resig g at etc/gpt/SUNWnak
`
`25
`
`vendor
`
`vendor-pinto
`registry!
`
`conf/
`conf/SUNWnakcf
`logs
`
`Symbolic link to vendor-speci?c
`data area
`Prototype vendor data area
`Directory containing package
`registration information
`Con?guration directory
`Con?guration ?le
`Various log-?les
`
`35
`
`8
`B. Administrative Packages
`As shown in FIGS. 4 and 5. each administrative package
`is installed into a subdirectory of IoptISUNWnak/packages
`(3270) and letc/opt/SUNWnak/packages (420). A particular
`package’s ?les are installed in two places: 1) under the
`lopt/SUNWnak/packages tree Where the static data resides
`and 2) under/var/opt/SUNWnak/packages where all the logs
`and configuration ?les reside. A particular feature of this
`invention is package registration. which will be described in
`detail later. The name of each package must be registered in
`a “registry” ?le under a registry directory as “Ivar/opt!
`SUNWnak/registry/nnX.PKGname” (described later).
`Every package must have two ?les. The ?rst is bin/con?g
`(330). which is an executable program used for setting and
`testing con?gurations of the package. and the second is the
`HTML index or “home” page of the package.
`Among the ?ve packages illustrated by their directories in
`FIGS. 3 and 4 are SUNWdnsA. SUNWftpA. SUNWhostA.
`SUNWnetA and SUNWuserA. So as not to obscure the
`focus of the present invention. only a brief description of
`their function will be described. The SUNWdnsA package
`sets up the Domain Name Server information for the server
`10. with the IP addresses and masks speci?ed by the user or
`automatically by the con?guration diskette. The SUNWftpA
`package sets up the server 10 as having FTP send and
`receive functionality. The SUNWuserA package manipu
`lates user information such as passwords and login shells
`and its source code is detailed in Appendices A and B. The
`SUNWnetA con?gures the server 10 for network interface
`and capability. FIG. 7 shows a typical administrative form
`which con?gures ethernet IP addresses. Thus. all of these
`packages when called through an HTML form at the remote
`computer provide complete administrative functionality
`with an ease-of-use provided by the graphical user interface.
`C. Package Registration
`All packages are registered with the framework through a
`registry. The directory letc/optlSUNWnak/registry (430).
`shown in FIG. 5. contains registration information for all of
`the administrat