System and method for locating devices within a data center

A method, computer program product, and computing system for defining a device identifier for a data center device within a data center. Location coordinates are defined for the data center device within the data center. The device identifier is associated with the location coordinates to define geospatial information for the data center device within the data center. The geospatial information is processed to locate the data center device within the data center.

TECHNICAL FIELD

This disclosure relates to locating devices and, more particularly, to the locating of devices within a data center.

BACKGROUND

Many data centers locate components (e.g. racks, servers, storage systems, bridges, routers, switches, gateways, hubs, protocol convertors, proxy devices, firewalls, network address translators, multiplexors, modems, or repeaters) along pre-defined and described aisle configurations with considerations toward service access, power distribution, interconnection, and cooling. Manual entry geographic location and/or naming schemes (e.g. maps) may be utilized to indicate device positions. The contents of a device or cabinet of devices may be further documented, again via manual entry.

The service requirement of a device within a particular cabinet may involve management functionality (e.g. either local or remote console) that may identify the required action and may ascertain the device location via consultation of the physical map. Unfortunately, as data centers consolidate functionality/improve efficiency/expand, these physical location mappings are often altered and, therefore, are subject to human error and may become outdated/inaccurate.

SUMMARY OF DISCLOSURE

In one implementation of this disclosure, a computer-implemented method includes defining a device identifier for a data center device within a data center. Location coordinates are defined for the data center device within the data center. The device identifier is associated with the location coordinates to define geospatial information for the data center device within the data center. The geospatial information is processed to locate the data center device within the data center.

One or more of the following features may be included. The data center device may be chosen from the group consisting of: a rack, a server, a component of a storage array, a bridge, a router, a switch, a gateway, a hub, a protocol convertor, a proxy device, a firewall, a network address translator, a multiplexor, a modem, and a repeater. Defining location coordinates may include triangulating a plurality of unique signals to generate the location coordinates.

The plurality of unique signals may be received from a plurality of publically-accessible GPS satellites. The plurality of unique signals may be received from a plurality of proprietary signal transmitters. The location coordinates may include a longitudinal coordinate and a latitudinal coordinate. Defining a device identifier may include one or more of: defining an IP address as the device identifier; defining a MAC address as the device identifier; and defining a unique name as the device identifier. Processing the geospatial information to locate the data center device within the data center may include one or more of: rendering a graphical representation of the data center device within a graphical representation of the data center; rendering a text-based location for the data center device within the data center; and guiding a user to the data center device within the data center.

In another implementation of this disclosure, a computer program product resides on a computer readable medium and has a plurality of instructions stored on it. When executed by a processor, the instructions cause the processor to perform operations including defining a device identifier for a data center device within a data center. Location coordinates are defined for the data center device within the data center. The device identifier is associated with the location coordinates to define geospatial information for the data center device within the data center. The geospatial information is processed to locate the data center device within the data center.

One or more of the following features may be included. The data center device may be chosen from the group consisting of: a rack, a server, a component of a storage array, a bridge, a router, a switch, a gateway, a hub, a protocol convertor, a proxy device, a firewall, a network address translator, a multiplexor, a modem, and a repeater. Defining location coordinates may include triangulating a plurality of unique signals to generate the location coordinates.

The plurality of unique signals may be received from a plurality of publically-accessible GPS satellites. The plurality of unique signals may be received from a plurality of proprietary signal transmitters. The location coordinates may include a longitudinal coordinate and a latitudinal coordinate. Defining a device identifier may include one or more of: defining an IP address as the device identifier; defining a MAC address as the device identifier; and defining a unique name as the device identifier. Processing the geospatial information to locate the data center device within the data center may include one or more of: rendering a graphical representation of the data center device within a graphical representation of the data center; rendering a text-based location for the data center device within the data center; and guiding a user to the data center device within the data center.

In another implementation, a computing system includes at least one processor and at least one memory architecture coupled with the at least one processor. A first software module is executed on the at least one processor and the at least one memory architecture. The first software module is configured to define a device identifier for a data center device within a data center. A second software module is executed on the at least one processor and the at least one memory architecture. The second software module is configured to define location coordinates for the data center device within the data center. A third software module is executed on the at least one processor and the at least one memory architecture. The third software module is configured to associate the device identifier with the location coordinates to define geospatial information for the data center device within the data center. A fourth software module is executed on the at least one processor and the at least one memory architecture. The fourth software module is configured to process the geospatial information to locate the data center device within the data center.

One or more of the following features may be included. The data center device may be chosen from the group consisting of: a rack, a server, a component of a storage array, a bridge, a router, a switch, a gateway, a hub, a protocol convertor, a proxy device, a firewall, a network address translator, a multiplexor, a modem, and a repeater. Defining location coordinates may include triangulating a plurality of unique signals to generate the location coordinates.

The plurality of unique signals may be received from a plurality of publically-accessible GPS satellites. The plurality of unique signals may be received from a plurality of proprietary signal transmitters. The location coordinates may include a longitudinal coordinate and a latitudinal coordinate. Defining a device identifier may include one or more of: defining an IP address as the device identifier; defining a MAC address as the device identifier; and defining a unique name as the device identifier. Processing the geospatial information to locate the data center device within the data center may include one or more of: rendering a graphical representation of the data center device within a graphical representation of the data center; rendering a text-based location for the data center device within the data center; and guiding a user to the data center device within the data center.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

System Overview

Referring toFIGS. 1 & 2, there is shown device location process10. Device location process10may include one or more of computer process12, mobile process14, and device process16. Accordingly and for the following discussion, the device location process will be described generally as device location process10, with the understanding that device location process10may include one or more of computer process12, mobile process14, and device process16.

Desktop process12may be executed (in whole or in part) by computer18(e.g., a single server computer, a plurality of server computers, a general purpose computer, a laptop computer, or a notebook computer). Mobile process14may be executed (in whole or in part) by client electronic device20(e.g., a personal digital assistant, a data-enabled cellular telephone (not shown), a laptop computer (not shown), a notebook computer (not shown), or a dedicated client electronic device (not shown). Device process16may be executed (in whole or in part) by embedded device22. Embedded device22may be incorporated into or coupled with data center device24, examples of which may include but are not limited to a rack, a server, a component of a storage array, a bridge, a router, a switch, a gateway, a hub, a protocol convertor, a proxy device, a firewall, a network address translator, a multiplexor, a modem, and a repeater), which may be located within a data center (e.g., data center26).

As will be discussed below in greater detail, device location process10may define100a device identifier (e.g., an IP address; a MAC address; or a unique name) for a data center device (e.g., data center device24) within data center26. Location coordinates (e.g., longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates) may be defined102for the data center device (e.g., data center device24) within data center26. The device identifier (e.g., an IP address; a MAC address; or a unique name) may be associated104with the location coordinates (e.g., longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates) to define geospatial information for the data center device (e.g., data center device24) within the data center26. The geospatial information may be processed106to locate the data center device (e.g., data center device24) within the data center26.

Computer18may be coupled to network28(e.g., the Internet, an intranet, a local area network, a wide area network, and/or an extranet). Computer18may be e.g., a web server running a network operating system, examples of which may include but are not limited to Microsoft Windows Vista Server™, or Redhat Linux™. Computer18may also execute a web server application, examples of which may include but are not limited to Microsoft IIS™, or Apache Webserver™, that allows for remote access to computer18via network28.

The instruction sets and subroutines of computer process12, which may be stored on a storage device30coupled to computer18, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into computer18. Storage device30may include but is not limited to a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).

The instruction sets and subroutines of mobile process14, which may be stored on a storage device32coupled to client electronic device20, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic device20. Storage device32may include but is not limited to a hard disk drive, a random access memory (RAM), a read-only memory (ROM), or a flash memory device.

The instruction sets and subroutines of device process16, which may be stored on storage device34coupled to the data center device (e.g., data center device24), may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into e data center device (e.g., data center device24). Storage device34may include but is not limited to a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), a read-only memory (ROM), or a flash memory device.

As discussed above, examples of client electronic device20may include but are not limited to a personal digital assistant, a data-enabled cellular telephone, a laptop computer, a notebook computer, or a dedicated client electronic device. Accordingly, client electronic device20may be wirelessly coupled to network28via e.g., wireless communication channel36established between client electronic device20and wireless access point (WAP)38, which may be directly coupled to network28.

While computer18is shown hardwired to network28, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. For example, computer18may be wirelessly coupled to network28via e.g., a wireless communication channel established between computer18and wireless access point38, which may be directly coupled to network28.

While data center26(and, therefore, the data center devices (e.g., data center device24) included within the data center26) are shown hardwired to network28, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. For example, data center26(and, therefore, the data center devices (e.g., data center device24) included within the data center26) may be wirelessly coupled to network28via e.g., a wireless communication channel established between data center26and wireless access point38, which may be directly coupled to network28.

The wireless access point38may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/or Bluetooth device that is capable of establishing a wireless communication channel between e.g., computer18, client electronic device20, and data center26; and wireless access point38.

The Device Location Process:

As discussed above, device location process10may define100a device identifier (e.g., an IP address; a MAC address; or a unique name) for a data center device (e.g., data center device24) within data center26. Location coordinates (e.g., longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates) may be defined102for the data center device (e.g., data center device24) within data center26. The device identifier (e.g., an IP address; a MAC address; or a unique name) may be associated104with the location coordinates (e.g., longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates) to define geospatial information for the data center device (e.g., data center device24) within the data center26. The geospatial information may be processed106to locate the data center device (e.g., data center device24) within the data center26.

Referring also toFIG. 3and for illustrative purposes, assume that data center26includes a plurality of racks (in this example seventy-two), each of which may be populated with various devices, such as servers, a component of a storage array, bridges, routers, switches, gateways, hubs, protocol convertors, proxy devices, firewalls, network address translators, multiplexors, modems, and repeaters. Each of these devices may be interconnected (i.e., coupled) via network28or a subnetwork (not shown).

Some or all of the data center devices included within data center26(e.g., the racks, servers, a component of a storage array, bridges, routers, switches, gateways, hubs, protocol convertors, proxy devices, firewalls, network address translators, multiplexors, modems, and repeaters) may include embedded devices (e.g., embedded device22) for locating the particular data center device within data center26. Examples of embedded device22may include but are not limited to GPS devices that receive a plurality of unique signals (e.g., signals40,42,44) from a plurality of publically-accessible GPS satellites or a plurality of proprietary signal transmitters (represented generically as signal devices46,48,50). Examples of such proprietary signal transmitters (e.g., personal GPS transmitters, femtocells, and WiFi devices) may include but are not limited to proprietary signal transmitters located within/proximate data center26. For certain applications (e.g., three-dimensional positioning applications), additional signal devices (e.g., signal device50) may be required to generate additional unique signals.

The plurality of unique signals (e.g., signals40,42,44) received by e.g., embedded device22may each uniquely e.g., identify the device transmitting the signal (e.g., signal devices46,48,50respectively) and the precise time that the signal was transmitted. The embedded device (e.g., embedded device22) included within each data center device (e.g., data center device24) may triangulate108e.g., signals40,42,44to define102the location coordinates concerning the data center device (e.g., data center device24) associated with the embedded device (e.g., embedded device22). Specifically, by precisely measuring the time-of-flight delay experienced by each of the plurality of unique signals, location coordinates of embedded device22(and therefore data center device24) may be defined102. As discussed above, the location coordinates defined102by device location process10may include longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates (e.g., 53.12639 N, 61.51079W, 4 feet)

When defining100a device identifier for some or all of the data center devices included within data center26, device location process10may allow an IP address to be defined110as the device identifier for data center device24, a MAC address to be defined112as the device identifier for data center device24, or a unique name to be defined114as the device identifier for data center device24. This list is for illustrative purposes only, as other methodologies/nomenclatures may be utilized when defining100a device identifier.

When configuring data center26, device location process10may allow user54to access embedded device22and define100a device identifier for e.g., data center device24. For example, user54may define114the device identifier for data center device24as “Hub D” (i.e., a unique name), may define110the device identifier for data center device24as “192.168.1.1” (i.e., an IP address), and/or may define112the device identifier for data center device24as “1H.EF.A7.3B.4C.D1” (i.e., a MAC address).

As discussed above, the above-described device identifier (e.g., an IP address, a MAC address, and/or a unique name) may be associated104with the location coordinates (e.g., longitudinal coordinates, latitudinal coordinates, and/or altitudinal coordinates) to define geospatial (gs) information56for the data center device (e.g., data center device24) within the data center26. For example, geospatial information56for data center device24may include “Hub D” (i.e., a unique name), “192.168.1.1” (i.e., an IP address), “1H.EF.A7.3B.4C.D1” (i.e., a MAC address), and 53.12639 N, 61.51079W (i.e., longitudinal and latitudinal coordinates).

Additionally, environmental information may be added to geospatial information56. For example, data center device24may include an internal temperature sensor (not shown). Accordingly, an internal temperature signal may be added to geospatial information56. Other examples of such environmental information may include but are not limited to: external temperature information, power consumption information, failure notifications, and maintenance notifications.

Geospatial information56may be provided from e.g., embedded device22to computer process12via e.g., a wired communication medium (e.g., via network28) or a wireless communication medium (e.g., via WAP38). Once received by computer process12, geospatial information56may be processed106to locate the data center device (e.g., data center device24) within the data center26.

The manner in which geospatial information56is processed106may vary depending on the manner in which device location process10is configured. For example, processing106geospatial information56may include rendering116a graphical representation200of data center device24within a graphical representation202of data center26; rendering118text-based location information204for data center device24within data center26; and/or guiding120a user (e.g., user56) to data center device24within the data center26.

Graphical representation202of data center26may be manually created (e.g., by user56) and automatically populated/updated by device location process10. For example, Aisle1, Aisle2, Aisle3and Aisle4may be permanent (or essentially permanent) within data center26. Further, data center26(and the corresponding representations included within graphical representation202) may be mapped in accordance with the location coordinates defined102by device location process10with respect to the embedded devices included within the various data center devices. Accordingly, when geospatial information56for data center device24(which includes “Hub D”, “192.168.1.1”, “1H.EF.A7.3B.4C.D1”, and 53.12639 N, 61.51079W) is processed by device location process10, the location within data center26defined by 53.12639 N, 61.51079W is known and locatable within graphical representation202of data center26.

Assume for illustrative purposes that the only information displayed on graphical representation202is the location of the various racks (in this particular example, seventy-two racks) included within data center26. Accordingly, as the geospatial information from each of these seventy-two racks is received and processed by device location process10, graphical representation202of data center26may be rendered116with graphical presentations of each of the seventy-two racks.

As discussed above, environmental information may be added to the geospatial information (e.g., geospatial information56) associated with a data center device (e.g., data center device24). Assume that the environmental information includes an indicator of a failure condition (e.g., a general failure of Hub D). Accordingly, user54may need to replace/repair Hub D (i.e., data center device24). Assuming that user54is not familiar with data center26, user54may query device location process10to identify the location of data center device24(i.e., the “failed” Hub D). Therefore, user54may define the device to be located within query field206and execute the query. Device location process10may process106the geospatial information associated with data center device24(i.e., the “failed” Hub D) to locate data center device24within data center26. In this particular example, as data center device24is a located within Rack1B, the location coordinates of data center device24may be the same as the location coordinates of Rack1B (assuming the use of two-dimensional coordinates). Accordingly, device location process10may render116graphical representation200(e.g., an asterisk) of data center device24(i.e., the “failed” Hub D) positioned proximate a graphical representation208of Rack1B.

When rendering118text-based location information204for data center device24within data center26, device location process10may textually define the location of the device being sought (e.g., data center device24) within data center26. For example, device location process10may render118text-based location information204stating that “Hub D is located in Rack1B on the left hand side of Aisle1”.

Concerning the environmental information added to the geospatial information (e.g., geospatial information56) associated with a data center device (e.g., data center device24), some or all of this environmental information may be graphically represented within graphical representation202of data center26. For example, graphical representation202of data center26may define one or more geographic areas that are above a certain temperature threshold or power consumption threshold (e.g., as generically represented by geographic area210).

Referring also toFIG. 4and as discussed above, device location process10may guide120user54to data center device24within data center26. Specifically, mobile process14may be configured to include some, most or all of the functionality of computer process12. Accordingly, user54may be able to utilize mobile process14to visually and textually locate devices within data center26(as described above with respect to computer process12). Further, mobile process14may be configured to guide120user54to data center device24within the data center26. Specifically, client electronic device20may include an embedded device (not shown) that allows the location of client electronic device20to be defined (in a fashion similar to that of the various data center devices included within data center26). Accordingly, in a fashion similar to the manner in which a handheld GPS devices guides a user to a waypoint, client electronic device20may be configured to guide120user54to the device to be located (e.g., data center device24). Depending on the manner in which mobile process14is configured, onscreen prompts160may be rendered on the display screen of client electronic device20that e.g., show graphical representations of data center26, provide distances until an action (e.g., a turn) is required, and/or provide as the-crow-flies distances to the device to be located (e.g., data center device24). Additionally/alternatively, audible prompts may be provided to user54by client electronic device20.