# Patent

## Title
Automatic configuration of controller computers in a network

## Abstract

A system for automatic configuration of computers on a network is disclosed. In a first aspect a storage area network is disclosed. The network comprises at least one controller; and a plurality of clients coupled to the at least one controller. The network includes a storage device coupled to the at least one controller and the plurality of clients. The controller upon attachment to the network registers itself and notifies the plurality of clients. The plurality of clients then interrogates the controller. Each of the plurality of clients updates its configuration based upon the interrogation.
In a second aspect, a method for configuration of computers in a network is disclosed. The method comprises registering at least one controller upon attachment to the network and notifying a plurality of clients by the at least one controller The method includes interrogating the at least one controller by each of the plurality of clients. The plurality of clients are updated based upon the interrogation.

## Background
FIELD OF THE INVENTION
The present invention relates to computer networks and more particularly to a system and method for configuring computers in such a network.
BACKGROUND OF THE INVENTION
A typical storage area network (SAN) is usually composed of computers acting as controllers (a.k.a. metadata controllers) and computers acting as clients (ex: video editing workstations). All computers are connected between each other using an internet protocol (IP) network and connected to a storage pool (ex: RAID systems) using Fiber Channel interfaces.
Within the SAN or from outside such as from a computer connected to the Internet, a computer can run a SAN administration software in order to setup and monitor meta-data controllers, by remotely connecting to each controller using server manager technology, a client/server administrative solution.
SAN administrators usually need to configure every single computer that is part of a SAN. Typical configuration tasks include specifying what other computers on the SAN are the metadata controllers or the “arbitrators” of file exchanges.
Such configuration tasks usually occur any time a new computer is physically disconnected to the SAN or during the initial setup of the SAN, in this case many computers may need to be configured.
Accordingly, what is needed is a system that allows for automatic configuration of a plurality of devices on a computer network. The system should be efficient, easy to use and easily adaptable to existing networks. The present invention addresses such a need.
SUMMARY OF THE INVENTION
A system for automatic configuration of computers on a network is disclosed. In a first aspect a storage area network is disclosed. The network comprises at least one controller; and a plurality of clients coupled to the at least one controller. The network includes a storage device coupled to the at least one controller and the plurality of clients. The controller upon attachment to the network registers itself and notifies the plurality of clients. The plurality of clients then interrogates the controller. Each of the plurality of clients updates its configuration based upon the interrogation.
In a second aspect, a method for configuration of computers in a network is disclosed. The method comprises registering at least one controller upon attachment to the network and notifying a plurality of clients by the at least one controller The method includes interrogating the at least one controller by each of the plurality of clients. The plurality of clients are updated based upon the interrogation.
In a third aspect, a client computer is disclosed. The client computer includes a file system; and an operating system for communicating with the file system. The operating system includes the discovery mechanism. The client is notified of a registration of at least one controller by the discovery mechanism and interrogates the at least one controller and updates its configuration via the file system and the discovery mechanism.
An advantage of a system and method in accordance with the present invention is that when client computers auto configure themselves, it saves administrators a great deal of time and effort since administrators no longer need to visit or remotely connect to each computer and perform repetitive tasks.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a conventional storage area network (SAN) system.
FIG. 2 illustrates a simple block diagram of a client and controller.
FIGS. 3A and 3B illustrate a system configuration in accordance with the present invention.
FIG. 4 is a flow chart of a configuration system in accordance with the present invention.



DETAILED DESCRIPTION OF THE INVENTION
The present invention relates to computer networks and more particularly to a system and method for configuring computers in such a network. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
A system and method in accordance with the present invention takes advantage of the discovery mechanism inherent within each of the clients and controllers of a network to allow for the configuration of the clients within a network whenever a new controller appears on the network. In so doing, automatic configuration of devices on a SAN network is accomplished in a minimal amount of time. To describe the features of the present invention in more detail, refer now to the following discussion in conjunction with the accompanying figures.
FIG. 1 illustrates a storage area network (SAN) system 100. The SAN system 100 includes a plurality of clients 102a-102c coupled together via a network such as fiber channel to a storage device 106. At least one controller (in this case two controllers 104a and 104b) are coupled to each of the clients 102a-102c and the storage device 106 as is seen.
FIG. 2 illustrates a simple block diagram of a client 102 and controller 104. A file system 202a and 202b as well as an operating system (OS) 204a and 204b are within both the client 102 and controller 104 respectively. Within each of the OS 204a and 204b is a discovery mechanism 206a and 206b such as Rendezvous, a product offered by Apple Computer, Inc., which allows for the automatic discovery of computer devices and services on an IP network.
Automatic configuration of computers in accordance with the present invention on a SAN relies on a discovery mechanism such as Rendezvous by Apple Computer. Rendezvous enables automatic discovery of computers, devices, and services on IP networks. Rendezvous uses industry standard IP protocols to allow devices to automatically find each other without the need to enter IP addresses or configure servers. Rendezvous requires that devices implement three essential things. These devices must be able to:
1. Allocate IP addresses without a Dynamic Host Configuration Protocol (DHCP) server
2. Translate between names and IP addresses without a Domain Name System (DNS) server
3. Locate or advertise services without using a directory server.
In addition, other technologies such as the ability for a local program to remotely access information from another computer with full or limited privileges can be utilized by a system and method in accordance with the present invention to allow for automatic configuration of computers in a network.
A system and method in accordance with the present invention can be implemented utilizing a computer readable medium such as a compact disk, floppy disk, DVD disk, or a Flash storage medium.
FIGS. 3A and 3B illustrate a system configuration in accordance with the present invention. FIG. 4 is a flow chart of a configuration system in accordance with the present invention.
Referring to FIG. 3A, when an administrator 101 sets up one or more controllers 104a and 104b (either from the genesis case by giving a computer the role of a controller Or by adding a new computer and giving it the role of a controller), the one or more controllers 104a and 104b registers their “signature” utilizing the discovery mechanism.
Referring now to FIG. 4 in conjunction with FIGS. 3A and 3B, controllers 104a and 104b are registered in a network upon attachment via the discovery mechanism (FIG. 3A), via step 302. The one or more controllers 104a and 104b then notify the plurality of clients 106a and 106b that they are registered (FIG. 3B), via step 304. This notification occurs, for example, by the controller broadcasting its IP address to the clients.
As is seen in FIG. 3B, the IP address at controller 104a (192.168.0.6) is broadcast to clients 106a and 106b. Thereafter each of the one or more clients 104a and 104b interrogates the one or more controllers 104a and 104b, via step 306. This interrogation, for example, includes accessing information about the controller and the capabilities. Finally, each of the one or more clients 106a and 106b updates their configuration based upon the interrogation, via step 308.
As is well known, in a SAN network it is possible to have controllers which can be interrogated by a client, but that controller is not part of the network. In a system and method in accordance with the present invention, any client on a network starts a synchronization sequence by interrogating all controllers on the network, filtering out those controllers which are not part of the same network and querying the configuration of the first controller coupled to the network. The client then updates its configuration and is ready to access resources on the network. This happens automatically and transparently without any human intervention.
One will recognize that an IP network (typically a sub-net) may be used to host several independent networks which is why the synchronization sequence is not trivial, since a client needs to find a controller that manages the same storage device sets the clients sees. Since it is not possible for a controller to register its “view” of the storage device sets with the discovery mechanism (this data could be too big) then it requires the subsequent interrogation process aforementioned.
A significant advantage of a system and method in accordance with the present invention is that when client computers auto configure themselves once attached to a SAN network, it saves administrators a great deal of time and effort since administrators no longer need to visit or remotely connect to each computer and perform repetitive tasks.
The present invention has been described in accordance with the embodiments shown, and one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

## Claims

1. An Internet Protocol network comprising:
a plurality of controller computers; and
a plurality of clients coupled to the plurality of controller computers; wherein the plurality of controller computers in response to attachment to the network are operable to automatically self-register themselves using a discovery mechanism within each of the plurality of clients; and to notify the plurality of clients, and each of the plurality of clients to interrogate the plurality of controller computers and each of the plurality of clients to update its configuration based upon the interrogation; and wherein any of the plurality of clients to start a synchronization sequence to interrogate the plurality of controller computers, filtering out those controller computers which are not part of the network and querying the configuration of a first controller it finds that is coupled to the network, wherein each of the controller computers and each of the plurality of clients perform the following: providing for allocating IP addresses without a Dynamic Host Configuration Protocol (DHCP) server; providing for translating between names and IP addresses without a Domain Name System (DNS) server; and, locating or advertising services without a directory server.

2. The network of claim 1 wherein the network includes a storage area device coupled to plurality of controller computers and the plurality of clients.

3. The network of claim 2 wherein the plurality of controller computers notifies the plurality of clients by broadcasting its internet protocol address to the plurality of clients.

4. The network of claim 3 wherein the interrogation includes accessing information about the plurality of controller computers and its capabilities.

5. The network of claim 1 wherein each of the plurality of clients are notified via a discovery mechanism of the controller computers.

6. The network of claim 1 wherein a file system and discovery mechanism within each of the plurality of clients provides the interrogation of the plurality of controller computers.

7. A method for configuration of controller computers in an Internet Protocol (IP) network, the method comprising:
automatically self-registering a plurality of controller computers upon attachment to the network, using a discovery mechanism within each of a plurality of clients;
notifying a plurality of clients coupled with the plurality of controller computers by the plurality of controller computers; and
interrogating the plurality of controller computers by each of the plurality of clients coupled with the plurality of controller computers; wherein each of the plurality of clients are thereafter updated based upon the interrogation; and wherein any of the plurality of clients starts a synchronization sequence to interrogate the plurality of controller computers, filtering out those controller computers which are not part of the network and querying the configuration of a first controller computer it finds that is coupled to the network, wherein each of the controller computers and each of the plurality of clients perform the following: providing for allocating IP addresses without a Dynamic Host Configuration Protocol (DHCP) server; providing for translating between names and IP addresses without a Dynamic Host System (DNS) sewer; and, locating or advertising services without a directory server.

8. The method of claim 7 wherein the network includes a storage area device coupled to the plurality of controller computers and the plurality of clients.

9. The method of claim 8 wherein the plurality of controller computers notifies the plurality of clients by broadcasting its internet protocol address to each of the plurality of clients.

10. The method of claim 9 wherein the interrogation includes accessing information about the plurality of controller computers and its capabilities.

11. The method of claim 7 wherein each of the plurality of clients are notified via a discovery mechanism of the plurality of controller computers.

12. The method of claim 7 wherein a file system and discovery mechanism within each of the plurality of clients provides the interrogation of the plurality of controller computers.

13. A client computer system comprising:
a plurality of controller computers in an Internet Protocol (IP) network;
a plurality of clients;
a file system; and
an operating system for communicating with the file system; the operating system including the discovery mechanism, wherein the client computer is coupled with the plurality of controller computers, to notify the client computer of an automatic self-registration of the plurality of controller computers by the discovery mechanism within each of the plurality of clients; to interrogate the plurality of controller computers and to update its configuration via the file system and the discovery mechanism; and wherein a synchronization sequence is initiated by the client computer to interrogate the plurality of controller computers, filtering out those controller computers which are not part of the network and querying the configuration of a first controller computers it finds that is coupled to the network, wherein each of the controller computers and each of the plurality of clients perform the following: providing for allocating IP addresses without a Dynamic Host Configuration Protocol (DHCP) server; providing for translating between names and IP addresses without a Domain Name System (DNS) server; and, locating or advertising services without a directory server.

14. The client computer system of claim 13 wherein the interrogation includes accessing information about the plurality of controller computers and its capabilities.

15. The client computer system of claim 13 wherein a synchronization sequence is initiated by the client computer by interrogating the plurality of controller computers, filtering out those controller computers which are not part of the same network and querying the configuration of a first controller computers that is coupled to the same network.

16. A computer readable medium containing program instructions for the configuration of controller computers in an Internet Protocol (IP) network, the program instructions comprising:
automatically self-registering a plurality of controller computers upon attachment to the network, using a discovery mechanism within each of a plurality of clients;
notifying a plurality of clients coupled with the plurality of controller computers by the plurality of controller computers; and
interrogating the plurality of controller computers by each of the plurality of clients coupled with the plurality of controller computers; wherein each of the plurality of clients are thereafter updated based upon the interrogation; and wherein any client starts a synchronization sequence to interrogate the plurality of controller computers, filtering out those controller computers which are not part of the network and querying the configuration of a first controller computer it finds that is coupled to the network, wherein each of the controller computers and each of the plurality of clients perform the following: providing for allocating IP addresses without a Dynamic Host Configuration Protocol (DHCP) sewer; providing for translating between names and IP addresses without a Domain Name System (DNS) server; and, locating or advertising services without a directory server.

17. The computer readable medium of claim 16 wherein the network includes a storage area device coupled to the plurality of controller computers and the plurality of clients.

18. The computer readable medium of claim 17 wherein the plurality of controller computers notifies the plurality of clients by broadcasting its internet protocol address to each of the plurality of clients.

19. The computer readable medium of claim 18 wherein the interrogation includes accessing information about the plurality of controller computers and its capabilities.

20. The computer readable medium of claim 16 wherein the plurality of clients are notified via a discovery mechanism of the plurality of controller computers.

21. The computer readable medium of claim 16 wherein a file system and discovery mechanism within each of the clients provides the interrogation of the plurality of controller computers.

22. A method for self-registering a plurality of controllers computers in an Internet Protocol (IP) network, the method comprising:
attaching a plurality of controller computers to the network in which the plurality of controller computers is coupled with a plurality of clients, wherein the plurality of controller computers automatically self-registers themselves using a discovery mechanism within each of the plurality of clients on the network upon attachment to the network;
notifying the coupled plurality of clients,
interrogating the plurality of controller computers by each of the plurality of clients coupled with the plurality of controller computers; and,
updating each of the plurality of clients interrogating the plurality of controller computers in relation to the interrogation; wherein any of the plurality of clients starts a synchronization sequence to interrogate the plurality of controller computers, filtering out those controller computers which are not part of the network and querying the configuration of a first controller computer it finds that is coupled to the network; wherein each of the controller computers and each of the plurality of clients perform the following: providing for allocating IP addresses without a Dynamic Host Configuration Protocol (DHCP) server; providing for translating between names and IP addresses without a Domain Name System (DNS) server; and, locating or advertising services without a directory server.

23. The method of claim 22 wherein a file system and discovery mechanism within each of the plurality of clients provides the interrogation of the plurality of controller computers.