US20010044839A1 - Method and system for integrating a client computer into a computer network - Google Patents
Method and system for integrating a client computer into a computer network Download PDFInfo
- Publication number
- US20010044839A1 US20010044839A1 US09/153,399 US15339998A US2001044839A1 US 20010044839 A1 US20010044839 A1 US 20010044839A1 US 15339998 A US15339998 A US 15339998A US 2001044839 A1 US2001044839 A1 US 2001044839A1
- Authority
- US
- United States
- Prior art keywords
- computer
- user
- client computer
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- This invention relates to a method and system for integrating a client computer into a computer network, and more particularly, to a method and system for integrating a client computer into a personal computer network having a server.
- a client computer for integration into a computer network has always required a complex series of tasks.
- a client computer had be associated with the accounts of all potential users. If newly added to the network, it had to be given a name and configured to communicate with the server computer.
- Configuring a client computer for communication required someone with advanced computing and networking skills, since it involved installing a network interface card (NIC) with the proper drivers, installing the correct communication protocols (for example, TCP/IP), binding the protocols to the NIC, changing the name, workgroup, and domain of the computer, as well as several other steps.
- NIC network interface card
- TCP/IP network interface card
- the present invention provides a method and system for integrating a client computer into a computer network that is essentially self-running, thereby eliminating the need for specialized networking personnel. Specifically, the invention assigns networking parameters and creates application configuration files on a server for controlling the installation of applications to a client computer. It also configures a client computer for communication with the server with little human intervention.
- SCW Set-Up Computer Wizard
- client set-up program client set-up program
- installation manager installation manager.
- a preferred embodiment of the invention is packaged as part of the “BackOffice® Small Business Server” by Microsoft® Corporation of Redmond Wash.
- SCW runs on the network server, collecting information such as user data, networking parameters, and a list of application programs to be installed on the client computer. It extracts information the user's account (established prior to integrating the client computer), derives the network parameters from the server configuration settings (managed by the server's operating system), and prompts the user to select the application programs to be installed on the client computer. Using the collected information, the SCW generates a set of application configuration files which the installation manager later uses to install applications onto the client computer. If the client computer is new to the network, SCW creates a set-up diskette that the user takes back to the client computer.
- the user launches the client set-up program from the floppy diskette.
- the set-up program running on the client computer, changes the client network settings, and installs the networking protocols, without requiring any additional input from the user. It then reboots the client computer, prompting the user to logon to the server.
- the installation manager running on the server, installs the applications to the client computer from the server using the application configuration files created by the SCW.
- Independent Software Vendors can easily make their application programs compatible with the installation manager, allowing the user to integrate numerous applications with the “BackOffice® Small Business Server.”
- FIG. 1 is a block diagram illustrating an exemplary computer system on which the present invention resides;
- FIG. 2 is a flow chart outlining the process of integrating a client computer
- FIG. 3 is a flow chart describing the execution of the Set-Up Computer Wizard in detail
- FIGS. 3 a, 4 , and 4 a are screen pictures from a preferred embodiment of the invention showing user interfaces from which the Set-Up Computer Wizard can be executed;
- FIG. 5 is a screen picture from a preferred embodiment of the invention showing a user interface from which a user account can be created;
- FIGS. 6, 7, 8 , 9 and 10 are a screen pictures from a preferred embodiment of the invention showing user interfaces presented during execution of the Set-Up Computer Wizard;
- FIG. 11 is a partial listing of the Scw.ini file used in a preferred embodiment of the invention.
- FIG. 12 describes the purpose of the data fields used in Scw.ini
- FIG. 13 a shows an exemplary template file and the resulting network parameter file created after SCW edits the template file
- FIG. 13 b is a flow diagram showing the process of creating a network parameter file
- FIG. 14 a shows an exemplary template file and the resulting application configuration file created after SCW edits the template file
- FIG. 14 b is a flow diagram showing the process of creating an application configuration file
- FIG. 15 a shows an exemplary template file and a logon script created after SCW edits the template file
- FIG. 15 b is a flow diagram showing the process of creating a logon script
- FIG. 16 is a screen picture from a preferred embodiment of the invention showing a user interface presented during execution of the Set-Up Computer Wizard;
- FIG. 17 is a flow chart describing the execution of the client set-up program in detail.
- FIG. 18 is a flow chart describing the execution of the installation program in detail.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 20 , including a processing unit 21 , a system memory 22 , and a system bus 23 that couples various system components including the system memory to the processing unit 21 .
- the system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read only memory (ROM) 24 and random access memory (RAM) 25 .
- ROM read only memory
- RAM random access memory
- a basic input/output system (BIOS) 26 containing the basic routines that help to transfer information between elements within the personal computer 20 , such as during start-up, is stored in ROM 24 .
- the personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
- a hard disk drive 27 for reading from and writing to a hard disk, not shown
- a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29
- an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
- the hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive interface 33 , and an optical disk drive interface 34 , respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20 .
- a number of program modules may be stored on the hard disk, magnetic disk 29 , optical disk 31 , ROM 24 or RAM 25 , including an operating system 35 , one or more applications programs 36 , other program modules 37 , and program data 38 .
- a user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device 42 .
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48 .
- personal computers typically include other peripheral output devices, not shown, such as speakers and printers.
- the personal computer 20 is a server operating in a networked environment using logical connections to one or more remote computers, such as a remote computer 49 .
- the remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node.
- the remote computer 49 is a client computer.
- Remote computer 49 typically includes many or all of the elements described above relative to the personal computer 20 , although only a memory storage device 50 , a monitor 59 , a magnetic disk drive 55 , a mouse 56 , a hard disk drive 57 and a keyboard 58 have been illustrated in FIG. 1.
- the logical connections depicted in FIG. 1 include a local area network (LAN) 51 , which is commonplace in offices, enterprise-wide computer networks, and intranets.
- LAN local area network
- the personal computer 20 is connected to the local network 51 through a network interface or adapter 53 .
- Program modules depicted relative to the personal computer 20 , or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- FIG. 2 a flowchart outlines the general procedure for integrating a client computer according to a preferred embodiment of the invention. More detailed flowcharts describing steps 60 , 64 and 66 are shown in FIG. 3, FIG. 17, and FIG. 18 respectively. The procedure will be described in the context of the exemplary operating environment of FIG. 1.
- step 60 SCW executes on server 20 , creating the application configuration files and generating the client set-up program, if necessary. If client computer 49 is new to the network, then step 64 will be performed, in which the client set-up program executes on client computer 49 to configure it for communication with server 20 . If client computer 49 is already communicating with the network and only needs to have additional application programs installed, then step 64 is skipped. At step 66 , the installation manager executes at server 20 to install application programs onto client computer 49 . After step 66 is performed, integration of client computer 49 into the network is complete.
- SCW can be launched directly from the file system (FIG. 3 a ), but typically executes when the user selects one of three options found on the “Manage Computers” menu (FIG. 4) of the “BackOffice® Small Business Server”: Set Up a Computer, Allow a User to Use an Existing Computer, and Add Software to a Computer.
- SCW can be launched from the “Online Guide,” where these three options are also found (FIG. 4 a ).
- the user also has the option of executing SCW at the end of the Add a New User procedure found on the “Manage Users” menu (FIG. 5).
- SCW executes at start point 72 if it is launched from the file system as shown in FIG. 3 a .
- the user is prompted to select a user account as in FIG. 7.
- the process moves to step 77 , where the flow is identical to that of executing form the Add a New User option at start point 71 .
- the user is presented with the option to set up a computer, add another user to the existing computer, or to add software to an existing computer.
- the GUI for these options is shown in FIG. 6. These options parallel the choices presented on the “Manage Computers” menu of FIG. 4 and the “Online Guide” of FIG. 4 a .
- Start point 73 is entered if the user chooses the Set Up a Computer option at the “Manage Computers” menu of FIG. 4 or the “Online Guide” of FIG. 4 a .
- SCW prompts the user to select which existing user will be accessing the new client computer, as in FIG. 7.
- the steps taken by SCW from this point on are identical to the steps taken when the user selects “Set up a Windows 95 or Windows NT computer to use Small Business Server” at the GUI of FIG. 6 at step 77 .
- step 85 the user is prompted with the GUI in FIG. 8 to choose a name for the new client computer.
- SCW will suggest a name for the user, but the user does not have to accept it.
- step 87 SCW prompts the user to choose the operating system for the new client computer, as shown by the GUI in FIG. 9.
- SCW presents a list of applications from which the user can choose for installation to the client computer as shown in the GUI of FIG. 10.
- SCW uses a conventional technique to parse a file called “Scw.ini” to determine which applications are available for installation to the client computer.
- Scw.ini is a text file containing a section of parameters for each application that is eligible to be installed on the client computer.
- the table of FIG. 12 shows a list of the parameters used in Scw.ini and their functions. Scw.ini is used in step 91 to compile the list of applications from which the user can choose.
- SCW writes client set-up files to floppy disk 29 , using the information that the user has entered, information from the account files (located on hard drive 27 ) of the intended user of the new client computer, and two set-up files located on hard drive 27 .
- Floppy disk 29 will be used in step 64 of FIG. 2 to configure the new client computer for communication with server 20 , although persons skilled in the art would recognize that any other removable computer-readable medium could be used.
- Two files are copied to the disk: Setup.exe, which runs the client set-up program (described below) and a network parameter file called netparam.ini.
- SCW creates the netparam.ini file from a template file of the same name located in the “Floppy” folder on hard drive 27 .
- a template file is simply a skeleton file having a series of program statements that use generic character strings, either in the form of blank spaces or placeholders having the conventional “% . . . %” designation.
- SCW uses a conventional editing method to replace the generic character strings with user-specific data.
- User-specific data includes the server name, company name, domain name, and default printer, which SCW extracts from the server operating system registry. Details on the structure and use of the Windows® NT operating system registry can be found in pages 471-502 of The Complete Reference—Windows® NT 4, by Griffith Wm. Kadinier, published by Osborne McGraw Hill, Berkely, Calif., Copyright ⁇ 1997 and incorporated by reference herein.
- User-specific data also includes the client computer operating system, the user account name, and the new client computer name, obtained from the user input given in the previous steps. Finally, user-specific data such as the user's fax number and password are also obtained from the account files of the selected user.
- FIG. 13 a An example of a netparam.ini file before and after editing is shown in FIG. 13 a.
- the field contains the user's account name, “JohnSmithAccount.”
- SCW receives the template file, obtains the user-specific data to fill these fields from the user account files, the server registry, and user input, and produces netparam.ini.
- SCW also creates the client set-up program with the filename Setup.exe.
- the client set-up program is used to configure the new client computer at step 64 of FIG. 2.
- the program incorporates one of three conventional utility programs, idpdetect.exe, ipdx86.exe, or ipalpha.exe depending on the operating system of the new client computer (“Windows® 95/98,” or “Windows® NT Workstation”) and the architecture of the workstation CPU. These conventional programs are located on hard drive 27 in the “Floppy” folder.
- SCW creates the application configuration files. These files are created from template files, using the method described above for creation of netparam.ini as illustrated in the example of FIG. 14 a.
- SCW receives the template file, obtains the user-specific account information from the user account files and user input, extracts the user-specific server information from the server operating system registry, and produces Clifax.inf.
- application configuration files Once the application configuration files have been created, they are stored on hard drive 27 in a directory for that client computer called a “response directory.”
- the file of this example for use in a fax program by Microsoft®, although Independent Software Vendors (ISVs) and other persons skilled in the art will recognize that a template file can be created for other application programs.
- Clioc.inf contains a master listing of all the applications that are to be installed on the client computer and the location of any installation programs or files needed. This listing is generated from a template file in the manner described above for the creation of “netparam.ini,” and uses input obtained from the user in step 91 . All of the application configuration files, including Clioc.inf, are conventional information files used by application installation technologies like InstallShield®.
- a logon script is created for the user of the client computer.
- This script is created from a template file using the method described above for the creation of netparam.ini and the application configuration files.
- An example of an logon script before and after being edited by SCW is shown in FIG. 15 a .
- the data “%sbsServer” is generic and needs to be replaced with the server name, which is obtained from the server operating system registry.
- SCW receives the template file, obtains the user-specific data from the user account files and user input, extracts user-specific data from the server operating system registry, and produces the logon script.
- the SCW terminates.
- Start point 75 of FIG. 3 is entered when either the Allow a User to Use an Existing Computer or Add Software to a Computer option is chosen from the “Manage Computers” GUI of FIG. 4 or the “Online Guide” of FIG. 4 a.
- the steps taken by SCW from this point on are identical to the steps taken when the user selects either “Add another user to a computer that is already set up to use Small Business Server” or “Add programs to a computer that is already set up to use Small Business Server” at the GUI of FIG. 6 in step 77 .
- Steps 81 and 89 are identical to steps 79 and 87 discussed above.
- the only distinct step on this branch of the flowchart is step 83 , in which the user is prompted, as in FIG. 16, to select an existing client machine to which a user or software is to be added.
- FIG. 17 a flowchart expands the execution of the client set-up program (step 64 , FIG. 2) into greater detail.
- the user inserts floppy disk 29 into magnetic disk drive 55 of client computer 49 and executes the client set-up program by running Setup.exe.
- a conventional method of configuring a client computer for communication with a server is for an Information Technology (IT) specialist to perform steps 82 - 98 (for client computers running “Windows® NT Workstation”) or 100 - 116 (for client computers running “Windows® 95/98”) by manually changing the settings in the “Control Panel” of “Windows® 95/98” and “Windows® NT,” and installing all of the required software.
- IT Information Technology
- these steps are performed automatically by the client set-up program which derives the required networking parameters from the user-specific data of the netparam.ini file using a conventional parsing technique.
- the client set-up program runs ipdx86.exe (on workstations with x86 CPUs) or ipalpha.exe (on workstations with DEC Alpha® or compatible CPUs).
- the client set-up program detects the NIC in step 82 . It then subclasses and calls the network control panel applet (NCPA), and passes the user-specific information contained in netparam.ini, including the networking parameters, to the NCPA.
- NCPA network control panel applet
- the NCPA then directs the NCPA to install a conventional network protocol, TCP/IP, on the client computer at step 84 , set the TCP/IP to access a DHCP server in step 86 , and bind the protocol to the NIC in step 88 .
- the client set-up program then directs the NCPA to change the computer name, domain name, and join the client to the domain in steps 90 , 92 , and 96 .
- the client set-up program also installs Client for Microsoft Windows® in step 94 .
- the client set-up program causes the NCPA to update the client operating system registry where appropriate. Subclassing an applet is a conventional Windows® programming technique.
- the client set-up program runs idpetect.exe.
- the client set-up program detects the NIC in step 100 . It then utilizes Plug and Play technology to detect the current networking configuration, including the NIC, and pass the user-specific information contained in netparam.ini, including the networking parameters, to the network class installer.
- the client set-up program then directs the network class installer to install a conventional network protocol, TCP/IP, on the client computer at step 102 , set the TCP/IP to access a DHCP server in step 104 , and bind the protocol to the NIC in step 106 .
- the client set-up program also installs Client for Microsoft Windows® in step 114 .
- the client set-up program causes the network class installer to update the client operating system registry where appropriate. Details on the structure and use of the Windows® 95/98 operating system registry can be found in pages 241-247 of Peter Norton's Complete Guide to Windows® 95, by Peter Norton and John Paul Mueller, published by SAMS Publishing, Indianapolis, Ind., Copyright ⁇ 1998 and incorporated by reference herein. Control of the network class installer is a conventional use of Plug and Play technology.
- Plug and Play technology can be found on pages 180-181, 251, 258-259, 592-593, 967, and 971-973 of the Microsoft® Windows® 95 Resource Kit, published by Microsoft® Press, Redmond, Wash., Copyright ⁇ 1995 and incorporated herein by reference.
- the client set-up program reboots the client computer, forcing the user to logon to the server in step 98 , thereby completing the configuration of the client.
- the logon script created in step 97 of FIG. 3 executes, and runs the installation manager at the server computer as shown in step 66 of FIG. 2.
- the flowchart shown in FIG. 18 describes the execution of the installation manager of step 66 of FIG. 2.
- the installation manager searches the response directory of that client computer for a file with the name “installed.”
- An “installed” file contains no data, and simply exists to inform the installation manager that applications have already been installed to that client computer. If the installed file exists, then the installation manager terminates. Otherwise, the installation manager proceeds to step 113 .
- step 113 the installation manager uses a conventional parsing technique to extract information from the “Clioc.inf” file.
- the information extracted includes the names and paths of the application configuration files corresponding to the applications that are to be installed.
- the installation manager also extracts the names and paths of the executable installation programs.
- the creation and use of executable install programs as well as the use of application configuration files to customize installation are well-known.
- the installation manager then runs the executable install programs.
- each install program transfers the files of an application program from hard drive 27 and installs them on client computer hard drive 50 using a conventional technique known as “push” installation.
- the installation manager creates an “Installed” file in the client computer's response directory.
- the client machine is then rebooted in step 119 .
- the client will now be fully integrated into the network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This invention relates to a method and system for integrating a client computer into a computer network, and more particularly, to a method and system for integrating a client computer into a personal computer network having a server.
- Configuring a client computer for integration into a computer network has always required a complex series of tasks. First, a client computer had be associated with the accounts of all potential users. If newly added to the network, it had to be given a name and configured to communicate with the server computer. Configuring a client computer for communication required someone with advanced computing and networking skills, since it involved installing a network interface card (NIC) with the proper drivers, installing the correct communication protocols (for example, TCP/IP), binding the protocols to the NIC, changing the name, workgroup, and domain of the computer, as well as several other steps. Finally, application programs had to be installed on the client computer, requiring further configuration.
- While Information Technology (IT) professionals have become quite adept at this process, small businesses generally can not afford to have a full-time systems administrator on staff. Thus, these businesses are often forced to rely on outside expertise, increasing the cost of their systems and putting them at the mercy of consultants' schedules. Alternatively, many businesses have avoided incorporating computer networks.
- The present invention provides a method and system for integrating a client computer into a computer network that is essentially self-running, thereby eliminating the need for specialized networking personnel. Specifically, the invention assigns networking parameters and creates application configuration files on a server for controlling the installation of applications to a client computer. It also configures a client computer for communication with the server with little human intervention.
- Three major components comprise the invention: the Set-Up Computer Wizard (SCW), the client set-up program, and the installation manager. A preferred embodiment of the invention is packaged as part of the “BackOffice® Small Business Server” by Microsoft® Corporation of Redmond Wash.
- SCW runs on the network server, collecting information such as user data, networking parameters, and a list of application programs to be installed on the client computer. It extracts information the user's account (established prior to integrating the client computer), derives the network parameters from the server configuration settings (managed by the server's operating system), and prompts the user to select the application programs to be installed on the client computer. Using the collected information, the SCW generates a set of application configuration files which the installation manager later uses to install applications onto the client computer. If the client computer is new to the network, SCW creates a set-up diskette that the user takes back to the client computer.
- To configure a newly added client computer for communication, the user launches the client set-up program from the floppy diskette. The set-up program, running on the client computer, changes the client network settings, and installs the networking protocols, without requiring any additional input from the user. It then reboots the client computer, prompting the user to logon to the server.
- When the user logs on from the client computer, the installation manager, running on the server, installs the applications to the client computer from the server using the application configuration files created by the SCW. Independent Software Vendors can easily make their application programs compatible with the installation manager, allowing the user to integrate numerous applications with the “BackOffice® Small Business Server.”
- Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments which proceeds with reference to the accompanying figures.
- While the appended claims set forth the features of the present invention with particularity, the invention may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
- FIG. 1 is a block diagram illustrating an exemplary computer system on which the present invention resides;
- FIG. 2 is a flow chart outlining the process of integrating a client computer;
- FIG. 3 is a flow chart describing the execution of the Set-Up Computer Wizard in detail;
- FIGS. 3 a, 4, and 4 a are screen pictures from a preferred embodiment of the invention showing user interfaces from which the Set-Up Computer Wizard can be executed;
- FIG. 5 is a screen picture from a preferred embodiment of the invention showing a user interface from which a user account can be created;
- FIGS. 6, 7, 8, 9 and 10 are a screen pictures from a preferred embodiment of the invention showing user interfaces presented during execution of the Set-Up Computer Wizard;
- FIG. 11 is a partial listing of the Scw.ini file used in a preferred embodiment of the invention;
- FIG. 12 describes the purpose of the data fields used in Scw.ini;
- FIG. 13 a shows an exemplary template file and the resulting network parameter file created after SCW edits the template file;
- FIG. 13 b is a flow diagram showing the process of creating a network parameter file;
- FIG. 14 a shows an exemplary template file and the resulting application configuration file created after SCW edits the template file;
- FIG. 14 b is a flow diagram showing the process of creating an application configuration file;
- FIG. 15 a shows an exemplary template file and a logon script created after SCW edits the template file;
- FIG. 15 b is a flow diagram showing the process of creating a logon script;
- FIG. 16 is a screen picture from a preferred embodiment of the invention showing a user interface presented during execution of the Set-Up Computer Wizard;
- FIG. 17 is a flow chart describing the execution of the client set-up program in detail; and
- FIG. 18 is a flow chart describing the execution of the installation program in detail.
- Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- With respect to the client computer operating system, the Microsoft® Windows® 95 and Windows® 98 operating systems are collectively referred to as “Windows® 95/98,” and those skilled in the art will recognize that the two operating systems interact with the invention in an identical manner.
- With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 20, including a
processing unit 21, asystem memory 22, and asystem bus 23 that couples various system components including the system memory to theprocessing unit 21. Thesystem bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the personal computer 20, such as during start-up, is stored inROM 24. The personal computer 20 further includes ahard disk drive 27 for reading from and writing to a hard disk, not shown, amagnetic disk drive 28 for reading from or writing to a removablemagnetic disk 29, and anoptical disk drive 30 for reading from or writing to a removableoptical disk 31 such as a CD ROM or other optical media. - The
hard disk drive 27,magnetic disk drive 28, andoptical disk drive 30 are connected to thesystem bus 23 by a harddisk drive interface 32, a magneticdisk drive interface 33, and an opticaldisk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20. Although the exemplary environment described herein employs a hard disk, a removablemagnetic disk 29, and a removableoptical disk 31, it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, and the like may also be used in the exemplary operating environment. - A number of program modules may be stored on the hard disk,
magnetic disk 29,optical disk 31,ROM 24 orRAM 25, including anoperating system 35, one ormore applications programs 36,other program modules 37, andprogram data 38. A user may enter commands and information into the personal computer 20 through input devices such as akeyboard 40 and a pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit 21 through aserial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). Amonitor 47 or other type of display device is also connected to thesystem bus 23 via an interface, such as avideo adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices, not shown, such as speakers and printers. - In keeping with the invention, the personal computer 20 is a server operating in a networked environment using logical connections to one or more remote computers, such as a
remote computer 49. Theremote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node. For purposes of illustrating the invention, however, theremote computer 49 is a client computer.Remote computer 49 typically includes many or all of the elements described above relative to the personal computer 20, although only amemory storage device 50, amonitor 59, amagnetic disk drive 55, amouse 56, ahard disk drive 57 and akeyboard 58 have been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 51, which is commonplace in offices, enterprise-wide computer networks, and intranets. - The personal computer 20 is connected to the
local network 51 through a network interface oradapter 53. Program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. - Referring to FIG. 2, a flowchart outlines the general procedure for integrating a client computer according to a preferred embodiment of the invention. More detailed
60, 64 and 66 are shown in FIG. 3, FIG. 17, and FIG. 18 respectively. The procedure will be described in the context of the exemplary operating environment of FIG. 1.flowcharts describing steps - At
step 60, SCW executes on server 20, creating the application configuration files and generating the client set-up program, if necessary. Ifclient computer 49 is new to the network, then step 64 will be performed, in which the client set-up program executes onclient computer 49 to configure it for communication with server 20. Ifclient computer 49 is already communicating with the network and only needs to have additional application programs installed, then step 64 is skipped. Atstep 66, the installation manager executes at server 20 to install application programs ontoclient computer 49. Afterstep 66 is performed, integration ofclient computer 49 into the network is complete. - Referring to FIG. 3, a flowchart expands the execution of SCW (
step 60, FIG. 2) into greater detail. SCW can be launched directly from the file system (FIG. 3a), but typically executes when the user selects one of three options found on the “Manage Computers” menu (FIG. 4) of the “BackOffice® Small Business Server”: Set Up a Computer, Allow a User to Use an Existing Computer, and Add Software to a Computer. SCW can be launched from the “Online Guide,” where these three options are also found (FIG. 4a). The user also has the option of executing SCW at the end of the Add a New User procedure found on the “Manage Users” menu (FIG. 5). - There are four start points in the flowchart of FIG. 3. SCW executes at
start point 72 if it is launched from the file system as shown in FIG. 3a. Atstep 74 the user is prompted to select a user account as in FIG. 7. At this point, the process moves to step 77, where the flow is identical to that of executing form the Add a New User option atstart point 71. Atstep 77 the user is presented with the option to set up a computer, add another user to the existing computer, or to add software to an existing computer. The GUI for these options is shown in FIG. 6. These options parallel the choices presented on the “Manage Computers” menu of FIG. 4 and the “Online Guide” of FIG. 4a. The only difference between starting SCW from the “Manage Computers” or “Online Guide” menus and starting SCW following Add a New User is that in the former methods the user is prompted to choose an account, whereas in the latter method the account is assumed by SCW to be the one the user has just established. Afterstep 77, the Add New User method merges with the three options from the “Manage Computers” menu. -
Start point 73 is entered if the user chooses the Set Up a Computer option at the “Manage Computers” menu of FIG. 4 or the “Online Guide” of FIG. 4a. Atstep 73, SCW prompts the user to select which existing user will be accessing the new client computer, as in FIG. 7. The steps taken by SCW from this point on are identical to the steps taken when the user selects “Set up aWindows 95 or Windows NT computer to use Small Business Server” at the GUI of FIG. 6 atstep 77. - At
step 85, the user is prompted with the GUI in FIG. 8 to choose a name for the new client computer. SCW will suggest a name for the user, but the user does not have to accept it. Atstep 87, SCW prompts the user to choose the operating system for the new client computer, as shown by the GUI in FIG. 9. - At
step 91, SCW presents a list of applications from which the user can choose for installation to the client computer as shown in the GUI of FIG. 10. SCW uses a conventional technique to parse a file called “Scw.ini” to determine which applications are available for installation to the client computer. As shown in the partial listing of FIG. 11, Scw.ini is a text file containing a section of parameters for each application that is eligible to be installed on the client computer. The number of applications in the list is given by “SCW_NumberOfApps=7.” In an exemplary embodiment shown here, the number of applications in the list is seven. This number could vary, however. The table of FIG. 12 shows a list of the parameters used in Scw.ini and their functions. Scw.ini is used instep 91 to compile the list of applications from which the user can choose. - At
step 93, SCW writes client set-up files tofloppy disk 29, using the information that the user has entered, information from the account files (located on hard drive 27) of the intended user of the new client computer, and two set-up files located onhard drive 27.Floppy disk 29 will be used instep 64 of FIG. 2 to configure the new client computer for communication with server 20, although persons skilled in the art would recognize that any other removable computer-readable medium could be used. Two files are copied to the disk: Setup.exe, which runs the client set-up program (described below) and a network parameter file called netparam.ini. SCW creates the netparam.ini file from a template file of the same name located in the “Floppy” folder onhard drive 27. A template file is simply a skeleton file having a series of program statements that use generic character strings, either in the form of blank spaces or placeholders having the conventional “% . . . %” designation. SCW uses a conventional editing method to replace the generic character strings with user-specific data. - User-specific data includes the server name, company name, domain name, and default printer, which SCW extracts from the server operating system registry. Details on the structure and use of the Windows® NT operating system registry can be found in pages 471-502 of The Complete Reference—Windows® NT 4, by Griffith Wm. Kadinier, published by Osborne McGraw Hill, Berkely, Calif., Copyright ©1997 and incorporated by reference herein. User-specific data also includes the client computer operating system, the user account name, and the new client computer name, obtained from the user input given in the previous steps. Finally, user-specific data such as the user's fax number and password are also obtained from the account files of the selected user.
- An example of a netparam.ini file before and after editing is shown in FIG. 13 a. Before SCW edits netparam.ini, for example, there is a blank space in the “User=” field. After the editing process, the field contains the user's account name, “JohnSmithAccount.” As shown in FIG. 13b, SCW receives the template file, obtains the user-specific data to fill these fields from the user account files, the server registry, and user input, and produces netparam.ini.
- During
step 93, SCW also creates the client set-up program with the filename Setup.exe. The client set-up program is used to configure the new client computer atstep 64 of FIG. 2. The program incorporates one of three conventional utility programs, idpdetect.exe, ipdx86.exe, or ipalpha.exe depending on the operating system of the new client computer (“Windows® 95/98,” or “Windows® NT Workstation”) and the architecture of the workstation CPU. These conventional programs are located onhard drive 27 in the “Floppy” folder. - At
step 95, SCW creates the application configuration files. These files are created from template files, using the method described above for creation of netparam.ini as illustrated in the example of FIG. 14a. Before SCW edits Clifax.inf, the account name field contains “AccountName=%SBSDomain%\%SBSUser%.” “%SBSDomain%\%SBSUser%” is generic and needs to be replaced with the actual value for a real user and client computer. After the editing process, the field is “AccountName=JohnSmithAccount” As shown in FIG. 14b, SCW receives the template file, obtains the user-specific account information from the user account files and user input, extracts the user-specific server information from the server operating system registry, and produces Clifax.inf. Once the application configuration files have been created, they are stored onhard drive 27 in a directory for that client computer called a “response directory.” The file of this example for use in a fax program by Microsoft®, although Independent Software Vendors (ISVs) and other persons skilled in the art will recognize that a template file can be created for other application programs. - One of the application configuration files created is called “Clioc.inf.” Clioc.inf contains a master listing of all the applications that are to be installed on the client computer and the location of any installation programs or files needed. This listing is generated from a template file in the manner described above for the creation of “netparam.ini,” and uses input obtained from the user in
step 91. All of the application configuration files, including Clioc.inf, are conventional information files used by application installation technologies like InstallShield®. - At
step 97, a logon script is created for the user of the client computer. This script is created from a template file using the method described above for the creation of netparam.ini and the application configuration files. An example of an logon script before and after being edited by SCW is shown in FIG. 15a. Before SCW edits Template.bat, there is the statement “if ‘%COMPUTERNAME%’==‘%sbsServer%’ goto exit.” The data “%sbsServer” is generic and needs to be replaced with the server name, which is obtained from the server operating system registry. After the editing process, the field is “if ‘%COMPUTERNAME%’==‘LVM01’ goto exit.” As shown in FIG. 15b, SCW receives the template file, obtains the user-specific data from the user account files and user input, extracts user-specific data from the server operating system registry, and produces the logon script. After completion ofstep 97, the SCW terminates. -
Start point 75 of FIG. 3 is entered when either the Allow a User to Use an Existing Computer or Add Software to a Computer option is chosen from the “Manage Computers” GUI of FIG. 4 or the “Online Guide” of FIG. 4a. The steps taken by SCW from this point on are identical to the steps taken when the user selects either “Add another user to a computer that is already set up to use Small Business Server” or “Add programs to a computer that is already set up to use Small Business Server” at the GUI of FIG. 6 instep 77. 81 and 89 are identical toSteps 79 and 87 discussed above. The only distinct step on this branch of the flowchart issteps step 83, in which the user is prompted, as in FIG. 16, to select an existing client machine to which a user or software is to be added. - Referring to FIG. 17, a flowchart expands the execution of the client set-up program (
step 64, FIG. 2) into greater detail. Atstart point 80, the user insertsfloppy disk 29 intomagnetic disk drive 55 ofclient computer 49 and executes the client set-up program by running Setup.exe. - A conventional method of configuring a client computer for communication with a server is for an Information Technology (IT) specialist to perform steps 82-98 (for client computers running “Windows® NT Workstation”) or 100-116 (for client computers running “
Windows® 95/98”) by manually changing the settings in the “Control Panel” of “Windows® 95/98” and “Windows® NT,” and installing all of the required software. These steps are described on pages 249-262 of the Microsoft® Windows® 95 Resource Kit, published by Microsoft® Press, Redmond, Wash., Copyright ©1995 and incorporated herein by reference. - In the present invention, these steps are performed automatically by the client set-up program which derives the required networking parameters from the user-specific data of the netparam.ini file using a conventional parsing technique. On clients running the Windows® NT Workstation operating system, the client set-up program runs ipdx86.exe (on workstations with x86 CPUs) or ipalpha.exe (on workstations with DEC Alpha® or compatible CPUs). The client set-up program detects the NIC in
step 82. It then subclasses and calls the network control panel applet (NCPA), and passes the user-specific information contained in netparam.ini, including the networking parameters, to the NCPA. It then directs the NCPA to install a conventional network protocol, TCP/IP, on the client computer atstep 84, set the TCP/IP to access a DHCP server instep 86, and bind the protocol to the NIC instep 88. The client set-up program then directs the NCPA to change the computer name, domain name, and join the client to the domain in 90, 92, and 96. The client set-up program also installs Client for Microsoft Windows® insteps step 94. At every step in the client set-up procedure, the client set-up program causes the NCPA to update the client operating system registry where appropriate. Subclassing an applet is a conventional Windows® programming technique. - On client computers running the
Windows® 95/98 operating system, the client set-up program runs idpetect.exe. The client set-up program detects the NIC instep 100. It then utilizes Plug and Play technology to detect the current networking configuration, including the NIC, and pass the user-specific information contained in netparam.ini, including the networking parameters, to the network class installer. The client set-up program then directs the network class installer to install a conventional network protocol, TCP/IP, on the client computer atstep 102, set the TCP/IP to access a DHCP server instep 104, and bind the protocol to the NIC instep 106. It then causes the network class installer to change the computer name, workgroup name, and set the client computer to logon to an NT domain in 108, 110, and 112. The client set-up program also installs Client for Microsoft Windows® insteps step 114. At every step in the client set-up procedure, the client set-up program causes the network class installer to update the client operating system registry where appropriate. Details on the structure and use of theWindows® 95/98 operating system registry can be found in pages 241-247 of Peter Norton's Complete Guide toWindows® 95, by Peter Norton and John Paul Mueller, published by SAMS Publishing, Indianapolis, Ind., Copyright ©1998 and incorporated by reference herein. Control of the network class installer is a conventional use of Plug and Play technology. A description of Plug and Play technology can be found on pages 180-181, 251, 258-259, 592-593, 967, and 971-973 of the Microsoft® Windows® 95 Resource Kit, published by Microsoft® Press, Redmond, Wash., Copyright ©1995 and incorporated herein by reference. - After the networking parameters have been set, the client set-up program reboots the client computer, forcing the user to logon to the server in
step 98, thereby completing the configuration of the client. Once the user logs on to the server, the logon script created instep 97 of FIG. 3 executes, and runs the installation manager at the server computer as shown instep 66 of FIG. 2. - The flowchart shown in FIG. 18 describes the execution of the installation manager of
step 66 of FIG. 2. Atstep 111, the installation manager searches the response directory of that client computer for a file with the name “installed.” An “installed” file contains no data, and simply exists to inform the installation manager that applications have already been installed to that client computer. If the installed file exists, then the installation manager terminates. Otherwise, the installation manager proceeds to step 113. - In
step 113, the installation manager uses a conventional parsing technique to extract information from the “Clioc.inf” file. The information extracted includes the names and paths of the application configuration files corresponding to the applications that are to be installed. The installation manager also extracts the names and paths of the executable installation programs. The creation and use of executable install programs as well as the use of application configuration files to customize installation are well-known. - The installation manager then runs the executable install programs. At
step 115, each install program transfers the files of an application program fromhard drive 27 and installs them on client computerhard drive 50 using a conventional technique known as “push” installation. Atstep 117, the installation manager creates an “Installed” file in the client computer's response directory. The client machine is then rebooted instep 119. The client will now be fully integrated into the network. - In view of the many possible embodiments to which the principles of this invention may be applied, it should be recognized that the embodiment described is meant to be illustrative only and should not be taken as limiting the scope of invention. For example, those of skill in the art will recognize that elements of the illustrated embodiment shown as software may be implemented as hardware and vice versa or that the illustrated embodiment can be modified in arrangement and detail without departing from the spirit of the invention. Therefore, the invention as described contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/153,399 US6449642B2 (en) | 1998-09-15 | 1998-09-15 | Method and system for integrating a client computer into a computer network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/153,399 US6449642B2 (en) | 1998-09-15 | 1998-09-15 | Method and system for integrating a client computer into a computer network |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20010044839A1 true US20010044839A1 (en) | 2001-11-22 |
| US6449642B2 US6449642B2 (en) | 2002-09-10 |
Family
ID=22547069
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US09/153,399 Expired - Lifetime US6449642B2 (en) | 1998-09-15 | 1998-09-15 | Method and system for integrating a client computer into a computer network |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US6449642B2 (en) |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020184300A1 (en) * | 2001-06-05 | 2002-12-05 | Schmeling Garth F. | Device management system and method |
| US6505243B1 (en) * | 1999-06-02 | 2003-01-07 | Intel Corporation | Automatic web-based detection and display of product installation help information |
| US20030079217A1 (en) * | 2001-10-19 | 2003-04-24 | Chern-Muh Wang | Method for subserving preloaded programs |
| US6584507B1 (en) * | 1999-03-02 | 2003-06-24 | Cisco Technology, Inc. | Linking external applications to a network management system |
| US20030200320A1 (en) * | 2002-04-17 | 2003-10-23 | Taiwan Semiconductor Manufacturing Co. | Support roaming user in lotus notes environment |
| US20060179132A1 (en) * | 2005-02-08 | 2006-08-10 | Ncr Corporation | Automated replacement of old computer by new computer in network environment |
| US20070005811A1 (en) * | 2005-06-30 | 2007-01-04 | International Business Machines Corporation | Computer-implemented method, system, and interface for managing commands for a terminal session |
| US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
| US20110271274A1 (en) * | 2010-04-30 | 2011-11-03 | International Business Machines Corporation | System, method, and computer program product for collaboratively installing a computer application |
| US20170033981A1 (en) * | 2015-07-30 | 2017-02-02 | Adtran, Inc. | Telecommunications node configuration management |
| US20170033982A1 (en) * | 2015-07-30 | 2017-02-02 | Adtran, Inc. | Telecommunications node configuration management |
Families Citing this family (94)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6757729B1 (en) * | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
| US8914507B2 (en) | 1998-09-01 | 2014-12-16 | International Business Machines Corporation | Advice provided for offering highly targeted advice without compromising individual privacy |
| US6263362B1 (en) | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
| US7197534B2 (en) | 1998-09-01 | 2007-03-27 | Big Fix, Inc. | Method and apparatus for inspecting the properties of a computer |
| US7246150B1 (en) | 1998-09-01 | 2007-07-17 | Bigfix, Inc. | Advice provided for offering highly targeted advice without compromising individual privacy |
| US7607572B2 (en) * | 1999-03-19 | 2009-10-27 | Bigfix, Inc. | Formalizing, diffusing, and enforcing policy advisories and monitoring policy compliance in the management of networks |
| US7277919B1 (en) | 1999-03-19 | 2007-10-02 | Bigfix, Inc. | Relevance clause for computed relevance messaging |
| US6823376B1 (en) * | 1999-04-26 | 2004-11-23 | International Business Machines Corporation | Method and system for capturing and storing system changes for application to multiple users and systems in a heterogeneous server environment |
| US6490616B1 (en) * | 1999-06-14 | 2002-12-03 | Wind River International, Ltd. | Method and apparatus for incremental download from server to client |
| US6681265B1 (en) * | 1999-11-02 | 2004-01-20 | International Business Machines Corporation | Providing command files with access to data stores that are inaccessible to command line operations |
| US6684243B1 (en) * | 1999-11-25 | 2004-01-27 | International Business Machines Corporation | Method for assigning a dual IP address to a workstation attached on an IP data transmission network |
| US7958491B1 (en) * | 1999-11-26 | 2011-06-07 | Micron Technology, Inc. | Command line output redirection |
| US7293087B2 (en) * | 2000-01-21 | 2007-11-06 | Scriptlogic Corporation | Event-based application for performing configuration changes in a networked environment |
| US7469278B2 (en) * | 2000-01-21 | 2008-12-23 | Scriptlogic Corporation | Validation of portable computer type prior to configuration of a local run-time environment |
| US6871221B1 (en) * | 2000-01-21 | 2005-03-22 | Scriptlogic Corporation | Method and apparatus to manage network client logon scripts using a graphical management and administration tool |
| US7353262B2 (en) * | 2000-01-21 | 2008-04-01 | Scriptlogic Corporation | Validation of configuration settings prior to configuration of a local run-time environment |
| US6823508B1 (en) * | 2000-04-27 | 2004-11-23 | Microsoft Corporation | Automatic computer program customization based on a user information store |
| US6621820B1 (en) * | 2000-04-27 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Method and system for updating routes in a route table on a client computer |
| US7665082B2 (en) * | 2000-06-30 | 2010-02-16 | Microsoft Corporation | Methods and systems for adaptation, diagnosis, optimization, and prescription technology for network-based applications |
| US6938079B1 (en) * | 2000-09-19 | 2005-08-30 | 3Com Corporation | System and method for automatically configuring a client device |
| US7054924B1 (en) * | 2000-09-29 | 2006-05-30 | Cisco Technology, Inc. | Method and apparatus for provisioning network devices using instructions in extensible markup language |
| US20020083426A1 (en) * | 2000-12-27 | 2002-06-27 | Rajasekhar Sistla | Installation of network components or services |
| US6934853B2 (en) * | 2001-01-18 | 2005-08-23 | International Business Machines Corporation | Method, system and program for sharing the ability to set configuration parameters in a network environment |
| US20020103826A1 (en) * | 2001-01-29 | 2002-08-01 | Banta Corporation | System and method for creating documents populated with variable data |
| CA2349083A1 (en) * | 2001-05-30 | 2002-11-30 | Ibm Canada Limited-Ibm Canada Limitee | Server configuration tool |
| US8001594B2 (en) * | 2001-07-30 | 2011-08-16 | Ipass, Inc. | Monitoring computer network security enforcement |
| JP2003067271A (en) * | 2001-08-27 | 2003-03-07 | Hitachi Ltd | Integrated management system |
| US7266678B2 (en) * | 2001-11-06 | 2007-09-04 | Dell Products L.P. | Dynamic configuration of computer when booting |
| US9231827B2 (en) * | 2001-11-09 | 2016-01-05 | International Business Machines Corporation | Formalizing, diffusing and enforcing policy advisories and monitoring policy compliance in the management of networks |
| US20030115091A1 (en) * | 2001-11-16 | 2003-06-19 | Gateway, Inc. | Remote out-of-box experience |
| US20030158917A1 (en) * | 2002-02-04 | 2003-08-21 | Andrew Felix G.T.I. | Modifying system configuration based on parameters received from an infrastructure |
| US7120785B1 (en) * | 2002-11-25 | 2006-10-10 | Apple Computer, Inc. | Method and apparatus rendering user accounts portable |
| WO2004058403A2 (en) * | 2002-12-24 | 2004-07-15 | Samrat Vasisht | Method, system and device for automatically configuring a communications network |
| US7398272B2 (en) * | 2003-03-24 | 2008-07-08 | Bigfix, Inc. | Enterprise console |
| US7290258B2 (en) * | 2003-06-25 | 2007-10-30 | Microsoft Corporation | Managing multiple devices on which operating systems can be automatically deployed |
| US8086659B2 (en) * | 2003-06-25 | 2011-12-27 | Microsoft Corporation | Task sequence interface |
| US7814126B2 (en) * | 2003-06-25 | 2010-10-12 | Microsoft Corporation | Using task sequences to manage devices |
| US8020023B2 (en) | 2003-07-28 | 2011-09-13 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator |
| US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
| US8086752B2 (en) | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
| US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
| US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
| US10613817B2 (en) | 2003-07-28 | 2020-04-07 | Sonos, Inc. | Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group |
| US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
| US20050137833A1 (en) * | 2003-12-18 | 2005-06-23 | Rajasekhar Sistla | Automatic sensor integration |
| US7769995B2 (en) * | 2004-01-07 | 2010-08-03 | Microsoft Corporation | System and method for providing secure network access |
| US20050198233A1 (en) * | 2004-01-07 | 2005-09-08 | Microsoft Corporation | Configuring network settings of thin client devices using portable storage media |
| US7657612B2 (en) * | 2004-01-07 | 2010-02-02 | Microsoft Corporation | XML schema for network device configuration |
| US20050149732A1 (en) * | 2004-01-07 | 2005-07-07 | Microsoft Corporation | Use of static Diffie-Hellman key with IPSec for authentication |
| US20050198221A1 (en) * | 2004-01-07 | 2005-09-08 | Microsoft Corporation | Configuring an ad hoc wireless network using a portable media device |
| US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
| US8024055B1 (en) | 2004-05-15 | 2011-09-20 | Sonos, Inc. | Method and system for controlling amplifiers |
| US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
| US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
| US7302537B2 (en) * | 2004-10-13 | 2007-11-27 | At&T Bls Intellectual Property, Inc. | Apparatus, systems and methods for backing-up information |
| US7710587B2 (en) * | 2004-10-18 | 2010-05-04 | Microsoft Corporation | Method and system for configuring an electronic device |
| US7804783B2 (en) * | 2004-12-23 | 2010-09-28 | David Jones | Automatic detection and testing of new networking connections |
| US7826833B2 (en) | 2005-02-17 | 2010-11-02 | Madhavan P G | Channel assay for thin client device wireless provisioning |
| US7616588B2 (en) * | 2005-03-31 | 2009-11-10 | Microsoft Corporation | Simplified creation and termination of an ad hoc wireless network with internet connection sharing |
| US20070050750A1 (en) * | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Extensible data-driven setup application for operating system |
| US8201214B1 (en) | 2005-09-30 | 2012-06-12 | Apple Inc. | Ad-hoc user account creation |
| US20070169114A1 (en) * | 2005-11-09 | 2007-07-19 | Microsoft Corporation | Application suite installer with automatic detection of content and configurable options |
| JP4969301B2 (en) * | 2006-05-09 | 2012-07-04 | 株式会社リコー | Computer equipment |
| US8245035B2 (en) * | 2006-06-30 | 2012-08-14 | Microsoft Corporation | Merging registry keys |
| US7813825B2 (en) | 2006-07-10 | 2010-10-12 | Apple Inc. | Multiband dynamic range control graphical interface |
| US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
| US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
| US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
| US12167216B2 (en) | 2006-09-12 | 2024-12-10 | Sonos, Inc. | Playback device pairing |
| US8161149B2 (en) | 2007-03-07 | 2012-04-17 | International Business Machines Corporation | Pseudo-agent |
| US8495157B2 (en) * | 2007-03-07 | 2013-07-23 | International Business Machines Corporation | Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes |
| US8561058B2 (en) * | 2007-06-20 | 2013-10-15 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
| US8464247B2 (en) * | 2007-06-21 | 2013-06-11 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
| US20090080011A1 (en) * | 2007-09-26 | 2009-03-26 | Konica Minolta Systems Laboratory, Inc. | Network port setup for printer driver for a networked printer |
| US20090089457A1 (en) * | 2007-09-28 | 2009-04-02 | Konica Minolta Systems Laboratory, Inc. | Reconnecting a host computer with a networked printer having a dynamic network address |
| US8417926B2 (en) * | 2009-03-31 | 2013-04-09 | Red Hat, Inc. | Systems and methods for providing configuration management services from a provisioning server |
| US8966110B2 (en) * | 2009-09-14 | 2015-02-24 | International Business Machines Corporation | Dynamic bandwidth throttling |
| US9946554B2 (en) * | 2009-09-24 | 2018-04-17 | International Business Machines Corporation | System, method, and apparatus for configuring a streamed operating system with associated peripheral information |
| US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
| US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
| US8938312B2 (en) | 2011-04-18 | 2015-01-20 | Sonos, Inc. | Smart line-in processing |
| US9042556B2 (en) | 2011-07-19 | 2015-05-26 | Sonos, Inc | Shaping sound responsive to speaker orientation |
| US9344292B2 (en) | 2011-12-30 | 2016-05-17 | Sonos, Inc. | Systems and methods for player setup room names |
| US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
| US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
| US9244516B2 (en) | 2013-09-30 | 2016-01-26 | Sonos, Inc. | Media playback system using standby mode in a mesh network |
| US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
| US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
| US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
| US10303422B1 (en) | 2016-01-05 | 2019-05-28 | Sonos, Inc. | Multiple-device setup |
| US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
| US20220308894A1 (en) * | 2019-10-15 | 2022-09-29 | Hewlett-Packard Development Company, L.P. | Peripheral device setting configuration |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5142680A (en) * | 1989-04-26 | 1992-08-25 | Sun Microsystems, Inc. | Method for loading an operating system through a network |
| EP0463251A1 (en) * | 1990-06-28 | 1992-01-02 | International Business Machines Corporation | Software installation |
| JPH0727504B2 (en) * | 1990-12-10 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | System for defining network configuration, method for generating configuration parameters for network, and system for configuring network |
| US5263164A (en) * | 1991-01-09 | 1993-11-16 | Verifone, Inc. | Method and structure for determining transaction system hardware and software configurations |
| US5805897A (en) * | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
| EP0592079A2 (en) * | 1992-09-20 | 1994-04-13 | Sun Microsystems, Inc. | Automated software installation and operating environment configuration on a computer system |
| WO1994025913A2 (en) * | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
| US6038586A (en) * | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
| US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
| US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
| JPH0887460A (en) * | 1994-09-19 | 1996-04-02 | Seiko Epson Corp | Installation system |
| US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
| US5838907A (en) * | 1996-02-20 | 1998-11-17 | Compaq Computer Corporation | Configuration manager for network devices and an associated method for providing configuration information thereto |
| US5931909A (en) * | 1996-04-19 | 1999-08-03 | Sun Microsystems, Inc. | System for multiple-client software installation and upgrade |
| US6292941B1 (en) * | 1996-04-30 | 2001-09-18 | Sun Microsystems, Inc. | Operating system installation |
| US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
| US5809145A (en) * | 1996-06-28 | 1998-09-15 | Paradata Systems Inc. | System for distributing digital information |
| US6012088A (en) * | 1996-12-10 | 2000-01-04 | International Business Machines Corporation | Automatic configuration for internet access device |
| US5875327A (en) * | 1997-02-18 | 1999-02-23 | International Business Machines Corporation | Hierarchy of preferences and preference groups |
| US6029196A (en) * | 1997-06-18 | 2000-02-22 | Netscape Communications Corporation | Automatic client configuration system |
| US6073172A (en) * | 1997-07-14 | 2000-06-06 | Freegate Corporation | Initializing and reconfiguring a secure network interface |
| US6125389A (en) * | 1997-09-18 | 2000-09-26 | At&T Corporation | Apparatus and method for providing network subscriber services |
| US6301707B1 (en) * | 1997-09-30 | 2001-10-09 | Pitney Bowes Inc. | Installing software based on a profile |
| US5941954A (en) * | 1997-10-01 | 1999-08-24 | Sun Microsystems, Inc. | Network message redirection |
| US6295556B1 (en) * | 1997-11-18 | 2001-09-25 | Microsoft Corporation | Method and system for configuring computers to connect to networks using network connection objects |
| US6006035A (en) * | 1997-12-31 | 1999-12-21 | Network Associates | Method and system for custom computer software installation |
| US6094679A (en) * | 1998-01-16 | 2000-07-25 | Microsoft Corporation | Distribution of software in a computer network environment |
| US6105066A (en) * | 1998-05-05 | 2000-08-15 | International Business Machines Corp. | Client-server system with central application management and using fully qualified class names of object-oriented applications for determining permanent server storage locations for application configuration information |
| US6256635B1 (en) * | 1998-05-08 | 2001-07-03 | Apple Computer, Inc. | Method and apparatus for configuring a computer using scripting |
| US6202206B1 (en) * | 1998-05-14 | 2001-03-13 | International Business Machines Corporation | Simultaneous installation and configuration of programs and components into a network of server and client computers |
| US6098097A (en) * | 1998-05-14 | 2000-08-01 | International Business Machines Corporation | Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer |
| US6286038B1 (en) * | 1998-08-03 | 2001-09-04 | Nortel Networks Limited | Method and apparatus for remotely configuring a network device |
| US6066182A (en) * | 1998-11-05 | 2000-05-23 | Platinum Technology Ip, Inc. | Method and apparatus for operating system personalization during installation |
| US6324578B1 (en) * | 1998-12-14 | 2001-11-27 | International Business Machines Corporation | Methods, systems and computer program products for management of configurable application programs on a network |
-
1998
- 1998-09-15 US US09/153,399 patent/US6449642B2/en not_active Expired - Lifetime
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6584507B1 (en) * | 1999-03-02 | 2003-06-24 | Cisco Technology, Inc. | Linking external applications to a network management system |
| US6957256B1 (en) | 1999-03-02 | 2005-10-18 | Cisco Technology, Inc. | Linking external applications to a network management system |
| US6505243B1 (en) * | 1999-06-02 | 2003-01-07 | Intel Corporation | Automatic web-based detection and display of product installation help information |
| US20020184300A1 (en) * | 2001-06-05 | 2002-12-05 | Schmeling Garth F. | Device management system and method |
| US20030079217A1 (en) * | 2001-10-19 | 2003-04-24 | Chern-Muh Wang | Method for subserving preloaded programs |
| US20030200320A1 (en) * | 2002-04-17 | 2003-10-23 | Taiwan Semiconductor Manufacturing Co. | Support roaming user in lotus notes environment |
| US20060179132A1 (en) * | 2005-02-08 | 2006-08-10 | Ncr Corporation | Automated replacement of old computer by new computer in network environment |
| US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
| US7472355B2 (en) * | 2005-06-30 | 2008-12-30 | International Business Machines Corporation | Computer-implemented method for managing commands for a terminal session |
| US20070005811A1 (en) * | 2005-06-30 | 2007-01-04 | International Business Machines Corporation | Computer-implemented method, system, and interface for managing commands for a terminal session |
| US20110271274A1 (en) * | 2010-04-30 | 2011-11-03 | International Business Machines Corporation | System, method, and computer program product for collaboratively installing a computer application |
| US9218173B2 (en) * | 2010-04-30 | 2015-12-22 | International Business Machines Corporation | System, method, and computer program product for collaboratively installing a computer application |
| US9720673B2 (en) | 2010-04-30 | 2017-08-01 | International Business Machines Corporation | System, method, and computer program product for collaboratively installing a computer application |
| US20170033981A1 (en) * | 2015-07-30 | 2017-02-02 | Adtran, Inc. | Telecommunications node configuration management |
| US20170033982A1 (en) * | 2015-07-30 | 2017-02-02 | Adtran, Inc. | Telecommunications node configuration management |
| US9819545B2 (en) * | 2015-07-30 | 2017-11-14 | Adtran Inc. | Telecommunications node configuration management |
| US9871699B2 (en) * | 2015-07-30 | 2018-01-16 | Adtran Inc. | Telecommunications node configuration management |
Also Published As
| Publication number | Publication date |
|---|---|
| US6449642B2 (en) | 2002-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6449642B2 (en) | Method and system for integrating a client computer into a computer network | |
| US6871221B1 (en) | Method and apparatus to manage network client logon scripts using a graphical management and administration tool | |
| US7805721B2 (en) | System and method for automated migration from Windows to Linux | |
| US7284043B2 (en) | System and method for automated migration from Linux to Windows | |
| US6910208B1 (en) | System and method of providing replaceable and extensible user interface for the installation of a suite of applications | |
| US6466972B1 (en) | Server based configuration of network computers via machine classes | |
| US6108779A (en) | Server and computer network that permit a client to be easily introduced into the computer network | |
| US9647885B1 (en) | System and method for server customization | |
| US7346766B2 (en) | Method and system for automatically transitioning of configuration settings among computer systems | |
| US9164749B2 (en) | Differential software provisioning on virtual machines having different configurations | |
| US7444621B2 (en) | Method and system for providing a common operating system | |
| US20170147390A1 (en) | Creating templates of offline resources | |
| JP2001043086A (en) | System and method for constituting personal system | |
| EP0741357A2 (en) | Distributed computing environment | |
| US8656384B2 (en) | Standardized software application configuration | |
| KR20010092447A (en) | Method and apparatus for operating system personalization during installation | |
| KR20010080372A (en) | Method and apparatus for new device driver installation by an operating system | |
| US8250458B2 (en) | Method, system, and software tool for emulating a portal application | |
| US6473771B1 (en) | Method of integrating application programs to form or modify suite, and a suite integration toolkit to perform same | |
| KR20060070424A (en) | Software control method and system that facilitates cross-application and cross-version collaboration of files | |
| US20030046678A1 (en) | Computer hardware and software installation apparatus and method | |
| US6985849B1 (en) | System and method for portable emulation of operating environment | |
| US20050036166A1 (en) | Printer driver initialization | |
| Tulloch | Windows Server 2008 Server Core Administrator's Pocket Consultant | |
| Aoki | Debian reference |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOURKE-DUNPHY, ERIN MARIE;RAGHAVAN, KARTIK NADIPURAM;JENKINS, GEORGE;AND OTHERS;REEL/FRAME:009642/0930;SIGNING DATES FROM 19981118 TO 19981208 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| CC | Certificate of correction | ||
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| FPAY | Fee payment |
Year of fee payment: 12 |
|
| AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0001 Effective date: 20141014 |