Method and apparatus for configuring an endpoint device to a computer network

A method and apparatus for dynamically and automatically configuring an endpoint device to a computer network of a network system. When the endpoint device, such as a computer or router, initially connects to a computer network, it is dynamically assigned or allocated a first unique network (IP) address, as by a DHCP (Dynamic Host Configuration Protocol) server. The allocation of the first network address is monitored and, in response to the monitored allocation, a connection between a configuration manager and the endpoint device is established. The class of the endpoint device is then remotely identified and appropriate configuration information stored in a configuration database is retrieved and utilized to automatically configure the endpoint device within the network system.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to computer networks. More specifically, the present invention is directed to a method and apparatus for dynamically and automatically configuring an endpoint device to a computer network.

2. Description of the Related Art

In a computer network system, a computer network generally interconnects a large number of computers with other types of endpoint devices such as routers and switches and the like. Within the computer network system, one or more server computers processes requests from and coordinates transfers of information to and among client computers. For example, a DHCP (Dynamic Host Configuration Protocol) server continuously tracks client computers which log onto and off the computer network so as to dynamically track changes in the computer network configuration of computers and other endpoint devices. To implement such tracking, the DHCP server assigns a unique IP (Internet Protocol) address for a fixed period of time or lease period to each endpoint device connected to the computer network. When the lease period expires, the IP address is reassigned to another client computer.

Although the DHCP server dynamically tracks the computer network configuration, each client computer or endpoint device must be manually configured onto the computer network. Such manual configuration of endpoint devices is a tedious, time-consuming task that typically requires the services of a certified network administrator. With large numbers of endpoint devices, the cumulative time and expense to manually configure these devices onto each computer network becomes substantial.

SUMMARY OF THE INVENTION

The present invention is directed to a method and apparatus for dynamically and automatically configuring an endpoint device to a computer network. Initially, the endpoint device (such as a computer or router) connects to a computer network in the computer network system and is dynamically assigned or allocated a first unique network address. The first unique network address may be for example a unique IP address assigned from a DHCP (Dynamic Host Configuration Protocol) server. The allocation of the first network address is monitored and, in response to the monitored allocation, a connection between a configuration manager and the endpoint device is established. The class of the endpoint device is then identified and configuration information from a configuration database is retrieved and used to automatically configure the endpoint device to the computer network.

Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

FIG. 1depicts a computer network system100comprising a server computer102, a computer network104, and a multiplicity of various client endpoint devices, as for example a client computer106and a router108. The server computer102receives requests for information from client endpoint devices and coordinates communication of information to and between endpoint devices that are coupled to the network104. In the present invention, the server computer102automatically and dynamically configures endpoint devices to be added to the computer network104. In other words, the network server102dynamically tracks the status of each endpoint device that is connected to and disconnected from the network104and automatically configures such endpoint devices that are connected to or disconnected from the network.

Server computer102preferably comprises a central processing unit (CPU)110, a network interface112, a configuration database114and a memory116. The CPU110executes instructions in software programs that are stored in the memory116so as to coordinate operation of the server computer. The network interface112allows the server computer102to communicate with endpoint devices connected to the network104. One example of the network interface112is a network interface card or network adapter card, although other forms of network interface such as a modem are contemplated and known and may be employed. The network interface112typically has a unique MAC (Media Access Control) address.

The configuration database114stores configuration information required to permit the server computer102to configure endpoint devices that are coupled or connected to the network104. One illustrative type of configuration database114is a LDAP (Lightweight Direct Access Protocol) database. The configuration information stored in the configuration database114is used to configure endpoint devices within the network system100and varies as among different classes or types of endpoint devices. As is well known to those skilled in the art, many forms of configuration information exist, including by way of example default logins for endpoint devices within the network104, VoIP (Voice over IP) configuration, routing tables, and TFTP (Trivial File Transfer Protocol) server information for firmware download.

The memory116stores software and data structures required to operate the server computer102. Memory116preferably stores software programs that contain instructions to implement a DHCP (Dynamic Host Configuration Protocol) server118, a DHCP watchdog120, a connection manager122and a configuration manager124. Memory116also stores a XNU (Extensible Network Configuration Utility) software program126which coordinates the other software programs to implement the present invention.

The DHCP server118assigns an IP address for a fixed period or lease time to each endpoint device connected to the network104. This IP address uniquely identifies the endpoint device in the network104. In a preferred embodiment, the DHCP server118provides the unique IP address to an endpoint device in a passive manner, namely, i.e., in response to a request signal from that endpoint device. However, the DHCP server118may also provide the IP address in an active manner; for example, the DHCP server118may provide a polling signal and then transmit the IP address to the endpoint device in response to a reply from that endpoint device to the polling signal.

The DHCP watchdog120monitors activities of the DHCP server118. For example, the DHCP watchdog120verifies each assignment of a unique IP address from the DHCP server118to an endpoint device. Verification of the assigned IP address is transmitted from the DHCP watchdog to a connection manager122to thereby link the operation of the DHCP server118and the configuration manager124.

The connection manager122determines whether a connection or session between the endpoint device and the server computer102can be established. To perform this determination, the connection manager122tests specific, pre-selected protocols to determine whether the server computer102is capable of communicating and transferring information with the endpoint device. The different protocols may for example include SNMP (Simple Network Management Protocol), telnet and SSH (Secure Shell) and the like, but the connection manager122is also extensible so as to accommodate and utilize new protocols. Each identified protocol specifies the manner in which the server computer102is to perform device management or manage the endpoint device within the network system100.

The configuration manager124performs various functions to automatically configure endpoint devices to the network104. One function of the manager124is to identify the class or type of endpoint device that is connected to the server computer102. Classes of endpoint devices may for example include a VoIP phone, computer workstation, switch and router and the like. For each type of identified endpoint device, the configuration manager124also coordinates the transfer of appropriate configuration information to and from the configuration database114. The configuration manager124then uses this configuration information to automatically configure the endpoint device to the computer network104.

In order to enhance management of endpoint devices in the network system100, configuration manager124reassigns to the endpoint device an IP address that is within of a block or range of IP addresses associated with the type of identified endpoint device. This new or reassigned IP address replaces the IP address and corresponding lease term that had been previously assigned to the endpoint device by DHCP server118. However, the MAC address associated with the network interface of the endpoint device is typically retained for use with the newly-assigned IP address to identify the endpoint device during network management. In addition, the configuration manager124may assign a new lease time that is either similar to the old lease term of the initially-assigned IP address or which is otherwise dependent upon the class or type of identified device.

The configuration manager124may also configure other networks so as to establish a predetermined configuration of a network of networks. In this case, the configuration manager124may configure a router or gateway (which is coupled to another network) to the network104. For example, if the number of endpoint devices connected to the computer network104already exceeds a predetermined threshold, the configuration manager124may restrict any additional endpoint devices to be connected to the network as a router operatively coupled to another or different computer network. The configuration manager124may additionally or alternatively reconfigure any routers currently connected to the computer network104and thus provide the network104with the capability of connecting additional endpoint devices to the network104, e.g., via subnetting. In this case, any endpoint devices connected to those other networks (and indirectly connected to the network104) through currently connected routers will be disconnected or decoupled from the network104(by either disconnecting the endpoint devices connected to the other networks or replacing the other networks connected to the endpoint devices to be disconnected from the network104) so as to enable other additional endpoint devices to be connected to the network104.

The XNU (Extensible Network Configuration Utility)126is a software program that contains instructions through which the server computer102coordinates the DHCP server118, DHCP watchdog120, connection manager122and configuration manager124for automatically and dynamically configuring endpoint devices in the network104in accordance with the present invention. XNU126is extensible so as to accommodate the configuring of new types of endpoint devices to the network. XNU126is implemented so as to be independent of the platform of server computer102and is preferably written in a dynamic language such as XML (Extensible Markup Language). Although XNU126is depicted as an independent software program that is stored in the memory204, it may also be implemented as a software tool within configuration manager124. And in addition to enabling the server computer102to automatically and dynamically configure endpoint devices to the network104, XNU126also supports automated and dynamic configuration by the server computer102of a network of networks; in this case, the endpoint devices are typically routers and/or gateways that connect to other networks.

The flowchart ofFIG. 2depicts a method for dynamically and automatically configuring an endpoint device to the network104in accordance with the present invention. The steps of this method describe the operations of the server computer102when the XNU (extendable network configuration utility) is executed. Although described with respect to one endpoint device, the method is likewise applicable to configure other endpoint devices that are connected to network104.

Initially, the configuration manager initializes or sets up the DHCP server118. An endpoint device then connects to the network104and broadcasts or otherwise transmits over the network a signal containing a request for a unique IP address. The DHCP server118receives the request from the endpoint device (step202) and, in response, provides a unique IP address to that endpoint device (step204). Alternatively, the DHCP server118transmits a polling signal and provides the assigned IP address to any endpoint device that responds with a reply signal. This unique IP address is provided to the endpoint device by DHCP server118for a predetermined period of time or lease period.

The DHCP watchdog120tracks or verifies the request from the endpoint device (step206) and transmits a signal reporting the verification. On receipt of the verification signal from DHCP watchdog120, connection manager122attempts to establish a connection between configuration manager124and the endpoint device (step208). Connection manager122attempts the connection with the endpoint device using a predetermined order of session protocols. For example, connection manager122preferably first attempts an SNMP connection, then a telnet connection, and then an SSH connection, although it is also contemplated that the connection manager122may attempt other protocol types and/or testing orders.

If the connection manager122is unable to connect with the endpoint device using any of the attempted protocols, it documents the error condition or non-connection with XNU126(step210). The connection manager then assigns to the endpoint device a new IP address selected from an IP block of addresses reserved for unknown endpoint devices (step212). The DHCP server118is notified of this condition and change of IP addresses and removes the IP address previously assigned to the endpoint device from its listing of active addresses to permit its future use.

If, on the other hand, connection manager122successfully connects with the endpoint device using one of the test protocols, configuration manager124identifies the type of the endpoint device that is connected to the network104(step214). The configuration manager then retrieves configuration information stored in configuration database114for the identified type of endpoint device (step216) and uses the retrieved configuration information to automatically configure the endpoint device to network104(step218). The configuration manager then assigns to the endpoint device a new unique IP address from a predetermined block or range of IP addresses for the identified type of endpoint device (step220) and the IP address previously assigned by the DHCP server is removed from the listing of active addresses and reserved for future use. Optionally, the lease period associated with the previous IP address may be transferred or modified in accordance to the identified class of device.

The assignment of the new IP address from among blocks of IP addresses of similar devices allows the server computer102to readily identify and manage different types of endpoint devices within the network system100. Various network management functions are advantageously affected by this IP address assignment scheme, including management of subnets, security and other services, and troubleshooting of network system100.

With further reference toFIG. 1, the computer network104operates a transmission medium between various endpoint devices connected thereto. The computer network104may itself comprise a plurality of other interconnected computer networks. A preferred form of the computer network is the Internet or another implementation or form of IP-based network, although the present invention is likewise applicable to additional types of networks as well.

The client computer106and router108are exemplary endpoint or client devices connected to server computer102. The present invention is also applicable to other types of endpoint devices connected to the computer network104, such for example as switches printers and the like. Although the invention is specifically described herein with respect to the configuring of an endpoint device to a computer network104, where the endpoint device is for example a router108coupled to another computer network the invention may likewise be applied to the automated configuration of interconnected computer networks.