WO2002013478A2 - System for identifying network servers - Google Patents

System for identifying network servers Download PDF

Info

Publication number
WO2002013478A2
WO2002013478A2 PCT/US2001/024212 US0124212W WO0213478A2 WO 2002013478 A2 WO2002013478 A2 WO 2002013478A2 US 0124212 W US0124212 W US 0124212W WO 0213478 A2 WO0213478 A2 WO 0213478A2
Authority
WO
WIPO (PCT)
Prior art keywords
coupler
server
memory
identification number
computer
Prior art date
Application number
PCT/US2001/024212
Other languages
French (fr)
Other versions
WO2002013478A3 (en
Inventor
Joshua T. Levasseur
Raymond E. Suorsa
Original Assignee
Loudcloud, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loudcloud, Inc. filed Critical Loudcloud, Inc.
Priority to AU2001280978A priority Critical patent/AU2001280978A1/en
Publication of WO2002013478A2 publication Critical patent/WO2002013478A2/en
Publication of WO2002013478A3 publication Critical patent/WO2002013478A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]

Definitions

  • the present invention relates generally to identifying equipment in a data center, and more particularly, to identifying individual network servers among a plurality of servers maintained within a large data center.
  • Each server has a physical identity, such as a chassis or CPU serial number, and also a logical internet protocol ("IP") address through which the network accesses and controls the server.
  • IP internet protocol
  • Individual servers may also be broadly designated by a logical "server name,” which can be any logical reference by which the server may be designated, such as the server's logical IP address, its hostname, or a functional identification.
  • server name can be any logical reference by which the server may be designated, such as the server's logical IP address, its hostname, or a functional identification.
  • servers often lack a keyboard or a display with which to query and identify the particular server.
  • serial numbers may be located inside the server housing and therefore be difficult to access or view by a technician; or may be on the motherboard or the network interface card, which may be replaceable during the life of the server.
  • data centers and remote users typically perceive each server through one of its logical server names because the logical server name is a reliable, logical identifier through which the computers connected to the server communicate to the various remote users. Therefore, when operational software, a user, or data center personnel detect a possible error or malfunction associated with a server, the problematic server can often only be identified by its logical server name, which generally has no nexus to the server's physical location or identification in the data center.
  • a technician is sent to find a particular server to perform maintenance, make changes to the cabling of the server, or remove or replace the server, the technician is looking for a particular server corresponding to a specific logical server name.
  • the logical server name which can change or be reassigned during the operational life of the server, is not discernable from the exterior of the server, and does not correspond to the physical location of the server within the data center. Absent a map indicating the server's location, the technician has no way of locating the server at issue. Even when the technician locates what he or she believes to be the server in question, there is no way to know for certain by looking at the server that the server at hand corresponds to the logical server name the technician is supposed to service.
  • Some data centers address this problem by maintaining a manual cross- reference chart or map of physical location and logical names for all servers, hi other words, the chart or map shows both where the server is located in the room (such as by a scheme of labeled shelves and rows) and the logical server name through which the network communicates with the server or by which the data center refers to the server.
  • These charts and maps are generally drawn when new servers are added to the data center, and their respective logical server names are established at their initial connection to and startup within the network.
  • charts and maps can be unreliable for correctly identifying a particular server because the association between the logical name of the server and the manually-maintained chart or map could either be out of date or could have been incorrectly entered during creation of the chart or map.
  • Servers are often added to the data center, moved around the data center, or swapped with other servers without the chart or map being updated, and data center personnel can inadvertently transpose address numbers when logging the initial or changed location of servers. Therefore, actually locating the server at issue for purposes of diagnosing and resolving a server problem or performing scheduled maintenance can be a difficult, time-consuming, and imprecise task. This results, in some instances, of servers becoming "lost" among the thousands of servers in a data center. In other words, the data center personnel have no means whereby they can identify these sought servers in the data center. While the percentage of "lost" servers within a data center may be small, the actual number of such inaccessible servers may be in the dozens, or even hundreds. These lost servers can be monitoring servers, application servers, or data base servers — the loss of any of which can be damaging to the data center and the users that are attempting to access the resources of the data center through its various servers.
  • the preferred embodiments of the present invention overcome the problems associated with existing mechanisms for identifying network servers within a data center.
  • the present invention is directed toward a method and apparatus for identifying servers located in a data center.
  • a small device for connecting to a port of the server and including a programmable memory portion is encoded with a unique identifier ("LD number"), which may be numeric or alphanumeric.
  • LD number unique identifier
  • This device is referred to as a "coupler” because the device is attached, or coupled, to one of the ports of the server, such as a parallel, serial, or universal serial bus (“USB”) input/output (“I/O”) port.
  • a visual indication of the unique identifier such as a bar code, is also provided on the outside casing of the coupler.
  • a driver is loaded into the software of the server that permits the server to query the memory of the coupler.
  • the unique identifier stored in the memory of an installed coupler is used to verify the identity of the server attached to the coupler.
  • the present system queries the server, instructing the server to read the identifier stored in the memory of its coupler and transmit the identifier (first identifier) to be displayed to a technician.
  • the technician then proceeds to the server in question and reads the unique identifier (second identifier) affixed to the coupler attached to the server. If the first and second identifiers match, the technician can be assured that the server at hand is the server requiring attention.
  • the logical server name of the server is also stored in the memory of the coupler attached to a server.
  • a technician Upon determining that a server requires attention (first logical server name), a technician proceeds to the server in question and queries the contents of the memory of the coupler attached to the server for the stored logical server name (second logical server name). If the first and second logical server names match, the technician can verify that he or she has identified the server requiring attention.
  • Figure 1 shows a shelf of network servers within a data center.
  • Figure 2 shows the apparatus of an embodiment of the server identification system of the present invention.
  • Figure 3 is a block diagram of the method of imtializing a coupler with a unique identification number.
  • Figure 4 shows the apparatus for initializing the couplers of the present invention.
  • Figure 5 is a block diagram of the method of installing an initialized coupler on a server in a data center.
  • Figure 6 is a block diagram of the method of identifying a server in a data center by the ID number of the coupler attached to the server.
  • Figure 7 shows the apparatus for identifying a server in a data center by either the LD number of the coupler attached to the server or the logical server name of the server.
  • Figure 8 is a block diagram of an alternative embodiment of identifying a server in a data center by the logical server name of the server.
  • Each shelf rack 100 may include one or more shelves 104 for supporting the servers 102. Alternatively, the servers may be bolted to and supported by the sides of the shelf rack 100. Cabling 106 is provided to and from each server 102 to provide for electrical power, control signaling, and I/O communication. In a large data center, hundreds of shelf racks of this type may be present, to accommodate several thousand servers.
  • Each shelf rack 100 may have a shelf rack label 108 affixed, with the label 108 being imprinted with an identifier for uniquely identifying the shelf rack. The identifier may be in the form of a printed number, a printed alphanumeric identifier, a printed bar code that can be mechanically read by a bar code reader, or any combination of the three.
  • Each server 200 has connected to one of its ports, such as a parallel, serial, or USB port, a coupler 202 containing a programmable memory chip (not shown). Affixed on at least one side of the coupler 202 is a label 204 containing a unique identifier (unique, at least, to the particular data center or particular section within a data center where the server 200 is located). Although shown on the side of the coupler 202 in Figure 2, the label 204 may be placed on any side of the coupler 202 as long as the label 204 is accessible and viewable by a technician.
  • the unique identifier may be numeric or alphanumeric; and, preferably, the unique identifier includes a bar code or similar form of information that facilitates automated reading by a scanner or the like.
  • the identifier can also be configured, in size, content, and placement, for visual verification by an operator or technician.
  • the appropriate cable 206 is connected to the side of the coupler 202 away from the server 200.
  • the appropriate cable 206 provides communications to and from the server 200, if required.
  • Also connected to the server 200 is at least one power cord 208 and one network cable 210.
  • One implementation of the invention utilizes either of two devices from Rainbow Technologies of Irvine, California as the aforementioned couplers, each of which has an erasable, programmable read-only memory (“EEPROM").
  • the SentinelSuperProTM is utilized to attach to those servers having parallel ports.
  • the MicroSentinelUXTM is used on servers with serial ports.
  • the intended and marketed purpose of the Sentinel devices from Rainbow is software piracy protection.
  • the EEPROM memory of the Sentinel devices is encoded with a unique software identifier number, and the devices are delivered to users with a purchased software product. To use the software on the user's computer, the Sentinel device must be first connected to a communications port of the computer.
  • the purchased software upon execution, queries the Sentinel to determine not only that the Sentinel device is installed but also that a number encoded in the Sentinel's memory matches the number coded in the software package (or which has been entered by the computer's user from the software's license agreement document). This query and verification often occurs periodically during execution of the purchased software to ensure the Sentinel device has not been removed and installed on a second computer to enable the second computer to run a pirated copy of the software. If the software does not locate the Sentinel, or if the number in the Sentinel's memory does not match the number stored with the software, the software does not execute.
  • the present use of the Sentinel devices is to provide electronic storage of the unique identifier which appears on the exterior surface of the coupler and, thereby, an identification of the server to which the coupler is connected. Rather than being queried every time a particular program is utilized, as in the Sentinel application, the coupler is queried on demand, whenever there is a need to know the unique identifier associated with the server. It will be appreciated that the present invention is not limited to the use of the Sentinel devices from Rainbow Technologies and could be utilized with any such coupler with a memory component accessible by the server to provide a unique identifier. Furthermore, it is conceivable that a single coupler with several ports, such as a parallel port, a serial port, and a USB port, could be successfully utilized in the present invention.
  • each label has a unique LD number, which can be in the form of a bar code and/or an alphanumeric listing of the LD number.
  • a seven (7) digit ID number can be employed because this size number works well with a scannable bar code.
  • Each label 404 is affixed to a coupler 402 at step 302 such that the label 404 can be read while the coupler 402 is attached to the server.
  • Figure 4 shows a single label 404 on the side of the coupler 402, the label 404 can be affixed to any visible surface of the coupler 402.
  • a pair of bar code labels 404 are printed with a matching unique bar code, and each of the pair of matching labels 404 is attached to a coupler 402.
  • the coupler 402 could come already supplied, imprinted, embossed, or stamped with an LD number, thereby eliminating the need for printing and affixing the coupler 402 with an LD number label 404.
  • the coupler 402 is attached to the parallel port 406 or serial port 408 of an initialization computer 400, depending on which type of coupler 402 is being initialized (including, optionally, any other I/O port, such as an USB port, which is not shown in Figure 4).
  • a wand 410 connected to the computer 400 is used to read the bar code on the coupler 402 at step 306 and upload the ID number encoded by the bar code into the memory of the computer 400.
  • the read LD number is also displayed to the technician on the computer's monitor 414 at step 308 for verification against the number printed on the bar code label 404.
  • the computer 400 writes the ID number into the memory of the coupler 402, thus initializing the memory of the coupler 402 with the unique bar-coded ID number affixed to the outside casing of the coupler 402.
  • the ID number is preferably "burned" into the EEPROM memory such that the memory contents can not be later modified.
  • additional data can be stored as well.
  • the memory may contain the initialization date in
  • the computer 400 can encrypt the LD number prior to initializing the memory of the coupler 402.
  • the encryption could be done, for example, by a mathematical algorithm.
  • the encryption could also be accomplished by having unique and separate ID's for the physical identifier for the coupler (and, thereby, the server to which the coupler is connected) and the logical identifier for the server, with a one-to-one mapping. Such a mapping would need to be accessible by a technician querying the coupler.
  • a data center utilizing the couplers on its servers is better safeguarded against unauthorized access to its server configurations and network information. For example, with an unencrypted unique ID number, a hacker could potentially determine which server contained certain information (such as credit card information) and could then locate that server in the data center using the coupler. Encrypting the LD number protects against such unauthorized activity.
  • Step 500 An initialized coupler of the appropriate port configuration is attached to one of the server's I/O ports at step 500.
  • a driver software package is also installed in the memory or storage of the server at step 502 to provide the ability to access the contents of the memory of the coupler.
  • Steps 500 and 502 could just as effectively be performed in reverse order without detracting from the effectiveness of the present invention.
  • steps 500 and 502 may occur before, while, or after the server is installed in the data center.
  • a "lost" server located in the data center could be retrofitted by installing a new coupler.
  • a technician reads the bar code on the coupler. The technician may conveniently utilize a hand-held reader (not shown) for purposes of reading each coupler's identification label.
  • the logical server name is also stored in the memory of the coupler.
  • the installed driver in the server upon initial start-up of the server and connection to the network at step 506, the installed driver in the server writes the logical name of the server into rewritable memory of the coupler.
  • the present system has provided a tight mapping between a logical identifier and a physical identifier for the server, thereby "binding" the two identifiers together for later use in identifying the server. Additional information regarding the server may be transmitted or downloaded at this time and periodically while the server is active, including the server's type, memory capacity, configuration, interface cards, hard drive capacity, loaded software, and hostname.
  • a technician determines the logical name of a server 710 requiring attention or intervention, possibly by being so informed through a message displayed on a monitor 702 connected to the network system processor 700.
  • the determination that the particular server 710 requires attention or intervention could arise from a communications problem with that particular server 710, periodic maintenance being called for, a user connected through the server 710 calling in to report an access problem, etc.
  • the technician requests the processor 700 to query the server 710 at issue.
  • the processor instructs the server 710 at 602 to access the memory of the coupler 712 and return the ID number stored in the memory of the coupler 712. If the LD number has been encrypted prior to being stored in the memory of the coupler 712, the processor decrypts the LD number.
  • the processor displays to the technician on the display 702 the coupler ID number from the server 710 requiring attention.
  • the technician employs the information from the coupler to locate the server in question, possibly aided by the hostname information available for the server 710 at issue.
  • a hand-held reader (not shown) such as the one utilized in step 504 of Figure 5 may be used at step 606 by the technician to read the label affixed to the coupler 712 attached to the server 710 and display to the technician the read bar code or the like.
  • the technician compares the number displayed on the bar code reader with the ID number from the system display 702. If the numbers match, the technician can be assured that the server 710 at hand is the server represented by the displayed logical server name as requiring attention or intervention.
  • the technician can therefore safely proceed to step 610 and commence work on the server 710, including taking the server 710 down or offline. If the numbers do not match, then the technician is thereby informed that the server 710 at hand is not the sought server, and the search for the proper server 710 continues through steps 606 and 608 until the numbers match.
  • the identity of the server 710 requiring attention is verified by mapping the logical network identity of the server 710 to the physical ID number encoded in the memory of the coupler 712 attached to the server 710.
  • the system utilizes the logical server name stored in the memory of the coupler 712 to match against a displayed logical name of a server 710 requiring attention or intervention.
  • the system does not query the server 710 for the ID number of the attached coupler 712. Instead, upon determining in step 800 that a server 710 requires attention, the technician proceeds to the suspect server 710.
  • the technician queries the memory of the coupler 712 attached to the server 710 for the logical server name that had been stored in memory upon initial start up of the server 710 with the network, as discussed above.
  • the technician can utilize a laptop computer (not shown) to directly connect the laptop computer to the server 710 to query the contents of the memory of the coupler 712 through the driver stored on the server 710.
  • the technician can remove the coupler from the server and directly attach it to the laptop or a console, to read the data stored in the coupler.
  • the technician compares the logical server name read from the memory of the coupler 712 and displayed on the laptop computer against the logical name of the server requiring attention as had been displayed on display 702 in step 800. If the two logical server names match, the technician can be assured that the server 710 at hand is the server represented by the logical server name that was displayed on display 702 as requiring attention or intervention. As discussed above regarding the flow chart of Figure 6, the technician can then proceed to step 806 to service the server 710. If the logical server names do not match, then the technician can repeat steps 802 and 804 with other servers 710 until a match is found or no more servers 710 are available to query.
  • the logical server name of any server 710 can be determined by a technician as described above in step 802. Upon querying the server 710 to access the memory of the attached coupler 712, the logical server name that has been stored in the memory of the coupler 712 is displayed to the technician, thereby informing the technician of the logical server name of the server 710 at hand.

Abstract

The present invention is directed toward providing a system for identifying network servers within a data center containing many such servers. Parallel and serial port couplers with an erasable, programable read-only memory are encoded with a unique ID number, and a label with a bar code corresponding to the ID number is affixed to each coupler. A server to be installed in a data center has an encoded coupler attached to one of its communication ports. Optionally, upon the server booting up for the first time, a driver installed on the server stores the logical server name of the server in the memory of the coupler. Upon encountering a problem with a network server, the system displays the logical server name and the ID number of the problem server. A technician reads the label on the coupler connected to the suspected server and verifies that the ID number on the coupler matches the ID number displayed for the server requiring service.

Description

SYSTEM FOR IDENTIFYING NETWORK SERVERS
BACKGROUND OF THE INVENTION Field of the Invention
The present invention relates generally to identifying equipment in a data center, and more particularly, to identifying individual network servers among a plurality of servers maintained within a large data center.
Description of the Related Art
Early data processing services were provided by technically focused data centers which were physically proximate to the respective non-technical users of the data centers. Gradually, communications networks were established whereby users physically remote from the data center could be connected to the data center through hard-wired telephone lines and coaxial cables to access the resources and services available through the data center. Often these early remote users were connected to the data center through dedicated modems and network controllers located in the data center and reserved for use by specific sets of users. As communications technology evolved and as more and more users were connected to the data center for remote access, the physical size of these network controllers decreased while their versatility for providing flexible, on-demand access to data center resources increased. Today, literally tens of millions of users are connected to a plurality of data centers world- wide through various public and private networks, most notably the Internet. The connection between these remote users and the computers of the various data centers is provided through server computers, with the larger data centers, or "server farms," containing thousands of servers.
Each server has a physical identity, such as a chassis or CPU serial number, and also a logical internet protocol ("IP") address through which the network accesses and controls the server. Individual servers may also be broadly designated by a logical "server name," which can be any logical reference by which the server may be designated, such as the server's logical IP address, its hostname, or a functional identification. However, unlike personal computers, servers often lack a keyboard or a display with which to query and identify the particular server. Furthermore, serial numbers may be located inside the server housing and therefore be difficult to access or view by a technician; or may be on the motherboard or the network interface card, which may be replaceable during the life of the server. In any event, data centers and remote users typically perceive each server through one of its logical server names because the logical server name is a reliable, logical identifier through which the computers connected to the server communicate to the various remote users. Therefore, when operational software, a user, or data center personnel detect a possible error or malfunction associated with a server, the problematic server can often only be identified by its logical server name, which generally has no nexus to the server's physical location or identification in the data center. When a technician is sent to find a particular server to perform maintenance, make changes to the cabling of the server, or remove or replace the server, the technician is looking for a particular server corresponding to a specific logical server name. The logical server name, which can change or be reassigned during the operational life of the server, is not discernable from the exterior of the server, and does not correspond to the physical location of the server within the data center. Absent a map indicating the server's location, the technician has no way of locating the server at issue. Even when the technician locates what he or she believes to be the server in question, there is no way to know for certain by looking at the server that the server at hand corresponds to the logical server name the technician is supposed to service.
Some data centers address this problem by maintaining a manual cross- reference chart or map of physical location and logical names for all servers, hi other words, the chart or map shows both where the server is located in the room (such as by a scheme of labeled shelves and rows) and the logical server name through which the network communicates with the server or by which the data center refers to the server. These charts and maps are generally drawn when new servers are added to the data center, and their respective logical server names are established at their initial connection to and startup within the network. However, charts and maps can be unreliable for correctly identifying a particular server because the association between the logical name of the server and the manually-maintained chart or map could either be out of date or could have been incorrectly entered during creation of the chart or map. Servers are often added to the data center, moved around the data center, or swapped with other servers without the chart or map being updated, and data center personnel can inadvertently transpose address numbers when logging the initial or changed location of servers. Therefore, actually locating the server at issue for purposes of diagnosing and resolving a server problem or performing scheduled maintenance can be a difficult, time-consuming, and imprecise task. This results, in some instances, of servers becoming "lost" among the thousands of servers in a data center. In other words, the data center personnel have no means whereby they can identify these sought servers in the data center. While the percentage of "lost" servers within a data center may be small, the actual number of such inaccessible servers may be in the dozens, or even hundreds. These lost servers can be monitoring servers, application servers, or data base servers — the loss of any of which can be damaging to the data center and the users that are attempting to access the resources of the data center through its various servers.
Furthermore, even when a data center technician locates what he or she believes to be the problem server, no means presently exist by merely looking at the server to verify that the server corresponds to the logical name of the server at issue. Even if the logical server name is affixed to the exterior of the server, the ease by which logical server names may be changed causes an uncertainty as to whether the external markings on the server are both up to date and accurate. Therefore, if the technician begins working on a server without first verifying that it has the targeted logical server name, the data center runs the risk of taking down an active, functioning server and thereby severing the active connection of one or more users and potentially crashing an entire internet web site. Furthermore, in addition to severing the connection to potentially thousands of users, taking down the wrong server could result in the irrecoverable loss of important data that is being transmitted through the server. Accordingly, it would be desirable to provide an identification system that could dynamically furnish data center personnel with the physical identification of a network server within a data center from the server's logical name. It would also be desirable to provide an equipment verification system to ensure that a particular server has the logical server name being sought.
The preferred embodiments of the present invention overcome the problems associated with existing mechanisms for identifying network servers within a data center.
BRIEF SUMMARY OF THE INVENTION
The present invention is directed toward a method and apparatus for identifying servers located in a data center. A small device for connecting to a port of the server and including a programmable memory portion is encoded with a unique identifier ("LD number"), which may be numeric or alphanumeric. This device is referred to as a "coupler" because the device is attached, or coupled, to one of the ports of the server, such as a parallel, serial, or universal serial bus ("USB") input/output ("I/O") port. A visual indication of the unique identifier, such as a bar code, is also provided on the outside casing of the coupler. A driver is loaded into the software of the server that permits the server to query the memory of the coupler. As a further feature of the present invention, the unique identifier stored in the memory of an installed coupler is used to verify the identity of the server attached to the coupler. Upon determining that a particular server requires attention, the present system queries the server, instructing the server to read the identifier stored in the memory of its coupler and transmit the identifier (first identifier) to be displayed to a technician. The technician then proceeds to the server in question and reads the unique identifier (second identifier) affixed to the coupler attached to the server. If the first and second identifiers match, the technician can be assured that the server at hand is the server requiring attention.
In an alternative embodiment of the invention, the logical server name of the server is also stored in the memory of the coupler attached to a server. Upon determining that a server requires attention (first logical server name), a technician proceeds to the server in question and queries the contents of the memory of the coupler attached to the server for the stored logical server name (second logical server name). If the first and second logical server names match, the technician can verify that he or she has identified the server requiring attention.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings, of which:
Figure 1 shows a shelf of network servers within a data center.
Figure 2 shows the apparatus of an embodiment of the server identification system of the present invention. Figure 3 is a block diagram of the method of imtializing a coupler with a unique identification number.
Figure 4 shows the apparatus for initializing the couplers of the present invention.
Figure 5 is a block diagram of the method of installing an initialized coupler on a server in a data center.
Figure 6 is a block diagram of the method of identifying a server in a data center by the ID number of the coupler attached to the server.
Figure 7 shows the apparatus for identifying a server in a data center by either the LD number of the coupler attached to the server or the logical server name of the server.
Figure 8 is a block diagram of an alternative embodiment of identifying a server in a data center by the logical server name of the server. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to Figure 1, there is shown an exemplary shelf rack 100 of network servers 102 located in a data center, such as servers providing user connections to the internet. Each shelf rack 100 may include one or more shelves 104 for supporting the servers 102. Alternatively, the servers may be bolted to and supported by the sides of the shelf rack 100. Cabling 106 is provided to and from each server 102 to provide for electrical power, control signaling, and I/O communication. In a large data center, hundreds of shelf racks of this type may be present, to accommodate several thousand servers. Each shelf rack 100 may have a shelf rack label 108 affixed, with the label 108 being imprinted with an identifier for uniquely identifying the shelf rack. The identifier may be in the form of a printed number, a printed alphanumeric identifier, a printed bar code that can be mechanically read by a bar code reader, or any combination of the three.
Referring now to Figure 2, there is illustrated the apparatus of a preferred embodiment of the invention. Each server 200 has connected to one of its ports, such as a parallel, serial, or USB port, a coupler 202 containing a programmable memory chip (not shown). Affixed on at least one side of the coupler 202 is a label 204 containing a unique identifier (unique, at least, to the particular data center or particular section within a data center where the server 200 is located). Although shown on the side of the coupler 202 in Figure 2, the label 204 may be placed on any side of the coupler 202 as long as the label 204 is accessible and viewable by a technician. The unique identifier may be numeric or alphanumeric; and, preferably, the unique identifier includes a bar code or similar form of information that facilitates automated reading by a scanner or the like. The identifier can also be configured, in size, content, and placement, for visual verification by an operator or technician. Optionally connected to the side of the coupler 202 away from the server 200 is the appropriate cable 206 providing communications to and from the server 200, if required. Also connected to the server 200 is at least one power cord 208 and one network cable 210. One implementation of the invention utilizes either of two devices from Rainbow Technologies of Irvine, California as the aforementioned couplers, each of which has an erasable, programmable read-only memory ("EEPROM"). The SentinelSuperPro™ is utilized to attach to those servers having parallel ports. The MicroSentinelUX™ is used on servers with serial ports. The intended and marketed purpose of the Sentinel devices from Rainbow is software piracy protection. In its intended environment, the EEPROM memory of the Sentinel devices is encoded with a unique software identifier number, and the devices are delivered to users with a purchased software product. To use the software on the user's computer, the Sentinel device must be first connected to a communications port of the computer. The purchased software, upon execution, queries the Sentinel to determine not only that the Sentinel device is installed but also that a number encoded in the Sentinel's memory matches the number coded in the software package (or which has been entered by the computer's user from the software's license agreement document). This query and verification often occurs periodically during execution of the purchased software to ensure the Sentinel device has not been removed and installed on a second computer to enable the second computer to run a pirated copy of the software. If the software does not locate the Sentinel, or if the number in the Sentinel's memory does not match the number stored with the software, the software does not execute.
In contrast to this intended use of the Sentinel devices, the present use of the Sentinel devices is to provide electronic storage of the unique identifier which appears on the exterior surface of the coupler and, thereby, an identification of the server to which the coupler is connected. Rather than being queried every time a particular program is utilized, as in the Sentinel application, the coupler is queried on demand, whenever there is a need to know the unique identifier associated with the server. It will be appreciated that the present invention is not limited to the use of the Sentinel devices from Rainbow Technologies and could be utilized with any such coupler with a memory component accessible by the server to provide a unique identifier. Furthermore, it is conceivable that a single coupler with several ports, such as a parallel port, a serial port, and a USB port, could be successfully utilized in the present invention.
The process of initializing the coupler 202 is shown in the flow chart of Figure 3, and the apparatus for initializing the couplers with a unique LD number is shown in Figure 4. Typically, a large quantity of couplers are initialized at a time, for later attachment to servers as the servers are installed in a data center. Referring now to Figures 3 and 4, at step 300, adhesive bar code labels 404 are printed such that each label has a unique LD number, which can be in the form of a bar code and/or an alphanumeric listing of the LD number. In one embodiment of the invention, a seven (7) digit ID number can be employed because this size number works well with a scannable bar code. However, any number with sufficient digits to be unique can be used as long as the number can be stored in the memory of the coupler. Each label 404 is affixed to a coupler 402 at step 302 such that the label 404 can be read while the coupler 402 is attached to the server. Although Figure 4 shows a single label 404 on the side of the coupler 402, the label 404 can be affixed to any visible surface of the coupler 402. In an alternate embodiment, a pair of bar code labels 404 are printed with a matching unique bar code, and each of the pair of matching labels 404 is attached to a coupler 402. In yet another embodiment, the coupler 402 could come already supplied, imprinted, embossed, or stamped with an LD number, thereby eliminating the need for printing and affixing the coupler 402 with an LD number label 404.
At step 304, the coupler 402 is attached to the parallel port 406 or serial port 408 of an initialization computer 400, depending on which type of coupler 402 is being initialized (including, optionally, any other I/O port, such as an USB port, which is not shown in Figure 4). A wand 410 connected to the computer 400 is used to read the bar code on the coupler 402 at step 306 and upload the ID number encoded by the bar code into the memory of the computer 400. The read LD number is also displayed to the technician on the computer's monitor 414 at step 308 for verification against the number printed on the bar code label 404. At step 310 the computer 400 writes the ID number into the memory of the coupler 402, thus initializing the memory of the coupler 402 with the unique bar-coded ID number affixed to the outside casing of the coupler 402. The ID number is preferably "burned" into the EEPROM memory such that the memory contents can not be later modified. Depending upon the amount of memory in the coupler, additional data can be stored as well. For instance, the memory may contain the initialization date in
YYYYMMDD format and the time in HHMMSS format. A second copy of the unique LD can be stored, along with a longitudinal redundancy check digit of the data. If desired, the computer 400 can encrypt the LD number prior to initializing the memory of the coupler 402. The encryption could be done, for example, by a mathematical algorithm. The encryption could also be accomplished by having unique and separate ID's for the physical identifier for the coupler (and, thereby, the server to which the coupler is connected) and the logical identifier for the server, with a one-to-one mapping. Such a mapping would need to be accessible by a technician querying the coupler. By encrypting the ID number, a data center utilizing the couplers on its servers is better safeguarded against unauthorized access to its server configurations and network information. For example, with an unencrypted unique ID number, a hacker could potentially determine which server contained certain information (such as credit card information) and could then locate that server in the data center using the coupler. Encrypting the LD number protects against such unauthorized activity.
Referring now to Figure 5, there is shown a flow chart of the installation of the initialized couplers on data center servers. An initialized coupler of the appropriate port configuration is attached to one of the server's I/O ports at step 500. A driver software package is also installed in the memory or storage of the server at step 502 to provide the ability to access the contents of the memory of the coupler. Steps 500 and 502 could just as effectively be performed in reverse order without detracting from the effectiveness of the present invention. Furthermore, either of steps 500 and 502 may occur before, while, or after the server is installed in the data center. For example, a "lost" server located in the data center could be retrofitted by installing a new coupler. At step 504, a technician reads the bar code on the coupler. The technician may conveniently utilize a hand-held reader (not shown) for purposes of reading each coupler's identification label.
In an alternative embodiment of the invention, the logical server name is also stored in the memory of the coupler. In this version of the invention, upon initial start-up of the server and connection to the network at step 506, the installed driver in the server writes the logical name of the server into rewritable memory of the coupler. At this point, the present system has provided a tight mapping between a logical identifier and a physical identifier for the server, thereby "binding" the two identifiers together for later use in identifying the server. Additional information regarding the server may be transmitted or downloaded at this time and periodically while the server is active, including the server's type, memory capacity, configuration, interface cards, hard drive capacity, loaded software, and hostname.
The actual process of identifying a server within a data center by use of the present invention is shown in Figure 6, with the apparatus for the process shown in Figure 7. At step 600, a technician determines the logical name of a server 710 requiring attention or intervention, possibly by being so informed through a message displayed on a monitor 702 connected to the network system processor 700. The determination that the particular server 710 requires attention or intervention could arise from a communications problem with that particular server 710, periodic maintenance being called for, a user connected through the server 710 calling in to report an access problem, etc. The technician requests the processor 700 to query the server 710 at issue. The processor instructs the server 710 at 602 to access the memory of the coupler 712 and return the ID number stored in the memory of the coupler 712. If the LD number has been encrypted prior to being stored in the memory of the coupler 712, the processor decrypts the LD number. At step 604 the processor displays to the technician on the display 702 the coupler ID number from the server 710 requiring attention.
At the data center, the technician employs the information from the coupler to locate the server in question, possibly aided by the hostname information available for the server 710 at issue. A hand-held reader (not shown) such as the one utilized in step 504 of Figure 5 may be used at step 606 by the technician to read the label affixed to the coupler 712 attached to the server 710 and display to the technician the read bar code or the like. At step 608, the technician compares the number displayed on the bar code reader with the ID number from the system display 702. If the numbers match, the technician can be assured that the server 710 at hand is the server represented by the displayed logical server name as requiring attention or intervention. The technician can therefore safely proceed to step 610 and commence work on the server 710, including taking the server 710 down or offline. If the numbers do not match, then the technician is thereby informed that the server 710 at hand is not the sought server, and the search for the proper server 710 continues through steps 606 and 608 until the numbers match. Through the above described process, the identity of the server 710 requiring attention is verified by mapping the logical network identity of the server 710 to the physical ID number encoded in the memory of the coupler 712 attached to the server 710. In an alternative embodiment of the invention shown in Figure 8, the system utilizes the logical server name stored in the memory of the coupler 712 to match against a displayed logical name of a server 710 requiring attention or intervention. In this embodiment, the system does not query the server 710 for the ID number of the attached coupler 712. Instead, upon determining in step 800 that a server 710 requires attention, the technician proceeds to the suspect server 710. At step 802, the technician queries the memory of the coupler 712 attached to the server 710 for the logical server name that had been stored in memory upon initial start up of the server 710 with the network, as discussed above. To accomplish this step, the technician can utilize a laptop computer (not shown) to directly connect the laptop computer to the server 710 to query the contents of the memory of the coupler 712 through the driver stored on the server 710. Alternatively, if the server is down or unable to connect to the laptop, the technician can remove the coupler from the server and directly attach it to the laptop or a console, to read the data stored in the coupler.
At step 804, the technician compares the logical server name read from the memory of the coupler 712 and displayed on the laptop computer against the logical name of the server requiring attention as had been displayed on display 702 in step 800. If the two logical server names match, the technician can be assured that the server 710 at hand is the server represented by the logical server name that was displayed on display 702 as requiring attention or intervention. As discussed above regarding the flow chart of Figure 6, the technician can then proceed to step 806 to service the server 710. If the logical server names do not match, then the technician can repeat steps 802 and 804 with other servers 710 until a match is found or no more servers 710 are available to query.
In yet another embodiment of the invention, the logical server name of any server 710 can be determined by a technician as described above in step 802. Upon querying the server 710 to access the memory of the attached coupler 712, the logical server name that has been stored in the memory of the coupler 712 is displayed to the technician, thereby informing the technician of the logical server name of the server 710 at hand. Although preferred embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principle and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims

CLAIMSWhat is Claimed Is:
1. A method for identifying a network server, comprising: affixing a unique identifier to a coupler; initializing the memory of the coupler with a unique identification number associated with the unique identifier; and attaching the initialized coupler to a network server.
2. The method according to claim 1, wherein the coupler includes a readonly memory for storing the unique identification number.
3. The method according to claim 1, wherein the memory of the coupler is initialized with the unique identification number by reading a bar code affixed to the coupler and storing the read number in the memory of the coupler.
4. The method according to claim 1, wherein the server includes a driver program for reading the unique identification number from the coupler attached to the server.
5. The method according to claim 1, further comprising: displaying the logical server name of a server requiring access; querying the memory of the initialized coupler attached to the server for the unique identification number; displaying the queried unique identification number; and reading the unique identifier label to verify the queried unique identification number matches the read unique identifier label.
6. The method according to claim 5, wherein the logical server name of the server is the logical identifier of the server on the network and may comprise the IP address, the hostname, or the functional identification of the server.
7. A method for identifying a network computer, comprising: providing a unique identification number on the surface of a coupler that is connectable to a port of a network computer; initializing the memory of the coupler with the unique identification number; displaying the logical server name of a computer requiring access; reading a first identification number from the memory of the coupler attached to a computer requiring access; displaying the first identification number; and reading the unique identification number affixed to the coupler attached to a data center computer to verify the read unique identification number matches the displayed first identification number.
8. A method for identifying a network computer, comprising: providing a unique identification number on the surface of a coupler that is connectable to a port of a network computer; initializing the memory of the coupler with the unique identification number and with the logical server name of the network computer; displaying the logical server name of a network computer requiring access; and reading the logical server name from the memory of the coupler attached to the network computer to verify the read logical server name matches the displayed logical server name.
9. An apparatus for identifying a network server, comprising: a writing unit which initializes the memories of a plurality of couplers, each attachable to a respective one of a plurality of network servers, with a unique identification number associated with a unique identifier affixed to each coupler; a first display unit which displays the logical server name of a server requiring access; a driver which reads the unique identification number from the memory of a coupler attached to a network server requiring access; and a reading unit which reads the unique identifier affixed to the coupler attached to one of the plurality of network servers to verify the read unique identifier matches the read unique identification number.
10. A coupler for identifying a computer, comprising: a visual identifier affixed to the exterior of a coupler; a memory in the coupler for storing a number associated with the visual identifier; and an interface for attaching the coupler to a computer, whereby the computer can read the stored number in the memory for identification of the computer.
11. The coupler according to claim 10, wherein the stored number in the memory is an encrypted form of the number associated with the visual identifier.
12. An apparatus for identifying a computer on a network, comprising: a coupler with a visual identifier affixed to the exterior of the coupler and a memory for storing a number associated with the visual identifier; a data center computer with the coupler attached, wherein the data center computer has a logical server name, said logical server name also stored in the memory of the coupler; a network administration unit displaying the logical server name of a network computer requiring access; a reading unit reading the memory of the coupler of the data center computer and displaying the stored logical server name; and a query unit verifying the displayed logical server name of the data center computer matches the displayed logical server name of the network computer requiring access.
PCT/US2001/024212 2000-08-04 2001-08-03 System for identifying network servers WO2002013478A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001280978A AU2001280978A1 (en) 2000-08-04 2001-08-03 System for identifying network servers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63279600A 2000-08-04 2000-08-04
US09/632,796 2000-08-04

Publications (2)

Publication Number Publication Date
WO2002013478A2 true WO2002013478A2 (en) 2002-02-14
WO2002013478A3 WO2002013478A3 (en) 2003-03-27

Family

ID=24536977

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/024212 WO2002013478A2 (en) 2000-08-04 2001-08-03 System for identifying network servers

Country Status (2)

Country Link
AU (1) AU2001280978A1 (en)
WO (1) WO2002013478A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020778A1 (en) * 2007-08-02 2009-02-04 Daniel Dipl.-Ing. Burkhalter Component for use in an electric and/or electronic network, network, method for configuring a network and computer program product

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519878A (en) * 1992-03-18 1996-05-21 Echelon Corporation System for installing and configuring (grouping and node address assignment) household devices in an automated environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519878A (en) * 1992-03-18 1996-05-21 Echelon Corporation System for installing and configuring (grouping and node address assignment) household devices in an automated environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020778A1 (en) * 2007-08-02 2009-02-04 Daniel Dipl.-Ing. Burkhalter Component for use in an electric and/or electronic network, network, method for configuring a network and computer program product

Also Published As

Publication number Publication date
WO2002013478A3 (en) 2003-03-27
AU2001280978A1 (en) 2002-02-18

Similar Documents

Publication Publication Date Title
US20020095487A1 (en) System for registering, locating, and identifying network equipment
US7168092B2 (en) Configuring processing units
US7360240B2 (en) Portable network encryption keys
US6477667B1 (en) Method and system for remote device monitoring
US8245053B2 (en) Methods and systems for binding a removable trusted platform module to an information handling system
US6658586B1 (en) Method and system for device status tracking
US7589624B2 (en) Component unit monitoring system and component unit monitoring method
CN106648958A (en) System and method for BIOS recovery management and program products
WO2001025884A1 (en) Method and system for device tracking
US6516346B1 (en) Microcode upgrade in data processing system
WO2001026288A1 (en) Method and system for simple network management protocol status tracking
CN105264511A (en) Systems and methods for host detection of usb asynchronous notification capability
WO2002013478A2 (en) System for identifying network servers
CN110618912A (en) Method and device for monitoring equipment and storage medium
Cisco Maintaining Your AccessPro Card
Cisco Route Switch Processor (RSP2) Installation and Configuration
Cisco Route Switch Processor (RSP2) Installation and Configuration
Cisco Route Switch Processor (RSP2) Installation and Configuration
Cisco Route Switch Processor (RSP2) Installation and Configuration
Cisco Route Switch Processor (RSP2) Install. and Config.
Cisco 7000 Series Route Switch Processor (RSP7000) Installation and Configuration in the Cisco 7000 Series Routers
Cisco 7000 Series Route Switch Processor (RSP7000) Installation and Configuration in the Cisco 7000 Series Routers
Cisco 7000 Series Route Switch Processor (RSP7000) Installation and Configuration in the Cisco 7000 Series Routers
Cisco 7000 Series Route Switch Processor (RSP7000) Installation and Configuration in the Cisco 7000 Series Routers
Cisco 7000 Series Route Switch Processor (RSP7000) Installation and Configuration in the Cisco 7000 Series Routers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP