The present invention concerns computer networks and more particularly concerns automatic updating of computer client configurations in response to changes in the server computer configurations.
Local area computer networks, often referred to as LANs provide a popular means of interconnecting multiple computers so that they can communicate with each other. A simple network could be used to interconnect the personal computers in a small business. It would include a small number of computers (sometimes referred to as nodes) coupled together by means of network hardware to allow the computers to share files and peripherals such as printers, modems, scanners and the like. A network of this size can be simply run as a so called peer to peer network where all computers on the network are equal at least in terms of their relationship to each other on the network.
More sophisticated local area network configurations can increase the number of computers that are connected to a network and also can require different networking software. Certain of the computer nodes on such a network have special status on the network. These so called server computers (or servers) run software for managing network communications. Often a server computer or server node will have special peripherals such as faster modems or direct Internet connections. They may also have larger, faster access memories and larger, faster hard drives than the so called client nodes on the network. One example of server software that runs a local area network's server computers is Microsoft Windows NT Server.
Server components running on a server computer offer a number of services that can change depending on how the network administrator configures the network. Server computers are typically configured in a way to meet the network administrators perceived notion of what the client nodes on the network require. In the prior art, when a server configuration changed, the client nodes had to be changed and this was accomplished by a user accessing a configuration screen on the client and making software configuration changes for each of the client nodes on the network. Not all changes to a server software configuration need client side reconfiguration. In a small business network where relatively inexperienced administrators manage the network, it is difficult for the user to tell what updates to the server software require client nodes to be reconfigured and which of those server updates need no client reconfiguration.
More sophisticated networks have multiple servers coupled to different sets of client nodes. In a typical small business network of less than 50 computers coupled to the network there is only one server that services the needs of all client nodes. The present invention concerns efficient updating of network components including a means of updating the client software in response to a change of the status of a server computer.
Practice of the present invention provides a user of a computer network clearly understandable information on changes to a server node in the network. In one embodiment of the invention the user must initiate changes to the client computers corresponding to the changes to the server and in other configurations the changes are automatically implemented by software running in the client computers.
An exemplary embodiment of the invention updates a client computer coupled by means of a network to a server computer. The updating process begins with a change in the status of a server computer. This change can be necessitated by addition of hardware such as an additional hard drive or the addition of an additional service such as shared Internet access. A status message is transmitted by means of the network between the server computer and the client computer regarding the changed status of the server computer. This message can be either an alert message from the server to all connected client nodes or can be achieved by a polling of the server by the client computers for updated status of the server. A message is displayed at the client computer to apprise a user that a status of the server computer has changed. Additionally, a communications between the client computer and the server computer takes place over the network to inform the client computer regarding details of the change of status in the server computer.
In one exemplary embodiment of the invention a message is displayed on the client computer that a change has taken place in the server status and this message prompts the user to run a setup wizard that will upgrade the client computer status to correspond with the upgraded status of the server computer. An exemplary wizard performs a comparison of the client and server status and provides a checkbox control for updating the client. In an alternate embodiment the client is automatically updated to a configuration required by the updated server status and the user is merely apprised that an updated client status has been achieved.
These and other objects advantages and features of the invention will become better understood from the following detailed description of an exemplary embodiment of the invention which is described in conjunction with the accompanying drawings.
Turning now to the drawings,
The network 10 includes a plurality of computing nodes each of which includes a computing device. One of the computing devices is a server computer and a number of other computing devices are client computers. Components of an exemplary computing device 100 are shown in
Additionally the computing device 100 may also have additional features/functionality. For example, the computing device 100 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in
In order to communicate over the network the computing device contains a communications connection 112 that allows the device 100 to communicate with other devices on the network 10 or as seen in
The computing device 100 may also have input devices(s) 114 such as a keyboard, mouse, pen, voice input device, touch input device, etc. Output devices 116 such as a display, speakers, printers, etc may also be included. All these devices are well known in the art and need not be discussed at length herein. It is noted that the server 12 in
The server software provides a variety of features or functions that may or may not be required by a network administrator responsible for maintaining the network 10. As an example, when the network is first installed, Internet access may not be made available to the client computers by means of the network 10. As the user's needs and sophistication grow the server software can be reconfigured to provide additional network functionality.
The present invention provides a means of updating a client computer 14 in the event the server 12 is reconfigured. The process is initiated in response to a user, typically the network administrator changing a status or reconfiguring the server computer 12. When a reconfiguration takes place a status message is sent by means of the network between the server computer and the client computer regarding the change of status of the server computer 12. A message is displayed at the client computer on a display coupled to the client to apprise a user that a status of the server computer has changed. Further communications between the client computer 14 and the server computer 12 takes place over the network 10 to inform the client computer 14 regarding details of the change of status in the server computer 12. In the exemplary embodiment of the invention the client and server are running a Windows® operating system developed by Microsoft Corporation.
The exemplary embodiment of the invention is implemented using three software components shown in
Alerting Layer:
A back end framework component 156 on the server provides a mechanism to alert the user to abnormal conditions in the system. These conditions are reflected in an administration web page (
A user pointing a browser at the server sees this generic message and can respond by launching a client side wizard 154 to configure that client appropriately. This wizard 154 is run on each client in the network in order to get the clients on the network in sync with the server settings.
NT Service
The NT Service 152 is responsible for telling the client what are the exact changes that have occurred to the server. Note that the message sent to the client discussed above is generic and only tells the user that something has changed on the server. The NT service also responds to client requests to tell the client exactly what has changed on the server 12.
This NT Service is a DCOM server with security settings allowing everyone to access it from any client computer 14 having a DCOM client interface software component. This allows any client on the network to talk to this NT service 152 and find out the state of the server. Note that since this service provides a read only interface to the server, it is not a breach of security to allow anyone on the network to talk to this DCOM server component.
Client Side Wizard:
The client side wizard 154 is a software component running on the client and provides an easy to use user interface on the client to efficiently allow the user to understand what settings need to be updated on the client computer 14. This wizard 154 gets the current server settings from the DCOM server (NT service mentioned above), compares the server settings thus obtained with the current client settings and then presents the user with a change list which indicates which of the services on the client need to be reconfigured. The user has the option to override the changes suggested by the client at this point. Once the user has decided on the options, this wizard 154 takes care of actually updating the client to work with the server.
Software Installation
Each of the client and server computers shown in
Networking software for the client computers 14 is installed in accordance with an installation process performed by installation software read from a storage medium such as a floppy disk or CDROM. A network interface card is installed and set up in accordance with a software installer component shipped with the interface card by the interface card supplier. A network setup wizard performs steps of detecting a working network card, then setting up needed networking components (such as TCP/IP or other protocols) and possibly rebooting the computer. The networking wizard installs and registers client side components, may upgrade the computer browser softare, and may install DCOM components. During the installation process a user interface 180 that is depicted in
For non-administrator users, a computer setup wizard prompts the user on how to set up shared disk files with the server over the network. Other prompts from the setup wizard help users install a printer, achieve a shared Internet connection and enable security if the server is currently configured to offer such services.
Server Reconfiguration
The same comupter setup wizard that guides the user during the installation process helps the user respond to reconfiguration messages sent by the server 12 due to server reconfiguration performed as server services are updated or changed by a network administrator. Subsequent to a server reconfiguration, the next time a client computer points to the server in a browser address window, an information message will be displayed in a message list on a user interface status tab 200. The alerting layer 150 will raise an alert to inform the user that configuration changes to the server necessitate a change to the configuration of the client computers. In an alternative embodiment of the invention the alert is broadcast to all client computers 14 coupled to the network 10 and a popup message will be displayed to cause the client user to be aware that the client has been reconfigured.
Three additional user interface pages 240, 242, 244 are displayed to the user by the computer setup wizard and are depicted in
Internet Access Example
Consider an example of a small business network 10 having a server 12 on which internet sharing has just been enabled by a user having administrator privileges. When internet sharing is enabled on the server, Winsock proxy client side bits must be installed on each client computer 14. Since the Windows operating system on the server involves enabling both the Winsock proxy and the web proxy on the server, this step also requires a configuring of the server 12 to be the web proxy for the browser on the client computer 14.
The steps of reconfiguring to achieve shared Internet access are outlined below. First an administrator user must enable internet sharing on the server 12. To do this the user runs an Internet Configuration Wizard on a browser running on a remote client computer 14. This causes the Internet sharing service on the server 12 to enable itself. The Internet Sharing service on the server in turn enables the web proxy and the Winsock proxy on the server. An Internet sharing service on the server 12 then uses the alerting layer 150 to raise an alert telling the clients on the network 10 that they need to reconfigure themselves. The backend framework 156 takes this information and shows it as an alert message on the server management page of any client computers having administrator status. Normal users on other clients see this as an alert message on the status page of their browser, allowing the user to run the client side computer setup wizard 185. This wizard contacts the DCOM server 152 on the server 12 to find out which services are enabled/disabled on the server 12. The server returns this list to the client 14. The wizard then checks the state of the client. From this comparison it is determined that Internet Sharing is enabled on the server but not on the client. This is brought to the Users attention by adding a check mark to the check box 232 depicted in the user interface page 224 shown in
The examples discussed have all depended on a user launching a computer setup wizard but it is certainly possible that software modifications could be made using the DCOM components in the server and clients to automatically reconfigure the clients. Such an option could prompt the user when the update occurs that such an update has occurred or could prompt the user to confirm that such an update is desired. As an alternative, the client computer 14 could be configured to poll the server computer 14 for any updates in status each time the client is rebooted or each time a user signs onto the client.
While the disclosed exemplary embodiment of the invention has been described with a degree of particularity, it is the intent that the invention include all alterations and modifications from the disclosed design falling within the spirit or scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5758077 | Danahy et al. | May 1998 | A |
5919247 | Van Hoff et al. | Jul 1999 | A |
6021437 | Chen et al. | Feb 2000 | A |
6032198 | Fujii et al. | Feb 2000 | A |
6094679 | Teng et al. | Jul 2000 | A |
6105066 | Hayes, Jr. | Aug 2000 | A |
6119165 | Li et al. | Sep 2000 | A |
6167567 | Chiles et al. | Dec 2000 | A |
6205474 | Hurley | Mar 2001 | B1 |
6209032 | Dutcher et al. | Mar 2001 | B1 |
6282709 | Reha et al. | Aug 2001 | B1 |
6286038 | Reichmeyer et al. | Sep 2001 | B1 |
6289378 | Meyer et al. | Sep 2001 | B1 |
6314565 | Kenner et al. | Nov 2001 | B1 |
6324693 | Brodersen et al. | Nov 2001 | B1 |
6338149 | Ciccone et al. | Jan 2002 | B1 |
6397245 | Johnson et al. | May 2002 | B1 |
6430576 | Gates et al. | Aug 2002 | B1 |
6449622 | LaRue et al. | Sep 2002 | B1 |
6466972 | Paul et al. | Oct 2002 | B1 |
6480901 | Weber et al. | Nov 2002 | B1 |
6480955 | DeKoning et al. | Nov 2002 | B1 |
6487590 | Foley et al. | Nov 2002 | B1 |
6493871 | McGuire et al. | Dec 2002 | B1 |
6505248 | Casper et al. | Jan 2003 | B1 |
6529784 | Cantos et al. | Mar 2003 | B1 |
6578142 | Anderson et al. | Jun 2003 | B1 |
6594690 | Cantwell | Jul 2003 | B1 |
6614804 | McFadden et al. | Sep 2003 | B1 |
6631407 | Mukaiyama et al. | Oct 2003 | B1 |
6658465 | Touboul | Dec 2003 | B1 |
6664978 | Kekic et al. | Dec 2003 | B1 |
6697969 | Merriam | Feb 2004 | B1 |
6725262 | Choquier et al. | Apr 2004 | B1 |
6735691 | Capps et al. | May 2004 | B1 |
6742025 | Jennery et al. | May 2004 | B1 |
6745241 | French et al. | Jun 2004 | B1 |
6785706 | Horman | Aug 2004 | B1 |
6789111 | Brockway et al. | Sep 2004 | B1 |
6868092 | Bell et al. | Mar 2005 | B1 |
6892230 | Gu et al. | May 2005 | B1 |
6922722 | Mann et al. | Jul 2005 | B1 |
6925497 | Vetrivelkumaran et al. | Aug 2005 | B1 |
6934735 | Emens et al. | Aug 2005 | B1 |
6941351 | Vetrivelkumaran et al. | Sep 2005 | B1 |
6941355 | Donaghey et al. | Sep 2005 | B1 |
6961762 | Yeap et al. | Nov 2005 | B1 |
6966060 | Young et al. | Nov 2005 | B1 |
6976062 | Denby et al. | Dec 2005 | B1 |
20020069272 | Kim et al. | Jun 2002 | A1 |
20020129128 | Gold et al. | Sep 2002 | A1 |
20020133573 | Matsuda et al. | Sep 2002 | A1 |
20030018755 | Masterson et al. | Jan 2003 | A1 |
20030041136 | Cheline et al. | Feb 2003 | A1 |
20050097225 | Glatt et al. | May 2005 | A1 |