Wireless-based network management

Embodiments of network systems, computing systems, devices, components, modules, routines, and processes are described herein. In one embodiment, a network system includes a computing unit and a management controller configured to control a device operation of the computing unit. The device operation includes at least one of an operation to power up, an operation to power down, an operation to reset, an operation to power cycle, or an operation to refresh the computing unit. The network system also includes a wireless element configured to allow wireless communication between the computing unit and the management controller.

BACKGROUND

Datacenters are computing systems or facilities that include network servers, telecommunication equipment, network storage devices, and/or other computing devices. Datacenters typically include multiple computing units (e.g., servers for implementing network-accessible services) that are organized in racks of individual computer cabinets and coupled by a data network. For example, each rack may include a rack-level communication mechanism (e.g., a backplane channel) for routing data to and from other computing units within the rack. One or more upper-level communication mechanisms (e.g., a top-of-rack switch) may couple multiple racks to one another and/or to external devices.

Datacenters can also include a management network independent of the data network for communicating with and controlling device operations of computing units. For example, a management controller can send instructions to and receive feedback from individual computing units via the management network. The instructions can include power up, power down, reset, power cycle, refresh, and/or other suitable device operations. The feedback can include current or historical operating conditions and/or other information of the computing units. System administrators can thus monitor operations with the management network even in the absence of any operating systems or when a host operating system is not functioning.

SUMMARY

The present technology is directed to wireless-based network management. In one aspect, the present technology is directed to a management network system configured to control device operation of computing units using wireless communication. In one embodiment, the management network includes multiple management controllers and wireless elements individually coupled to computing units. In other embodiments, the management network may include one wireless communication element per rack, per computer cabinet, or per other suitable grouping of computing units. One computing unit may be designated as a primary management controller, and another as a secondary management controller. In the event of a failure of either the primary or the secondary management controller, one of the other computing units may be designated as a replacement. As a result, the management network may be flexibly reconfigured on an ad hoc basis. Thus, different network routes may be generated between the primary and/or secondary management controllers and the computing units such that control messages may be reliably delivered.

In another aspect, the present technology is directed to a method of operating and/or managing computing units in a computing system (e.g., a datacenter). In one embodiment, the computing system includes a data network independent from a wireless management network. The method includes routing network data to and from the computing units via the data network, and communicating with and controlling device operations of the computing units via the management network. When the data network is unavailable for certain computing units, in certain embodiments, the method can include routing network data to and from these computing units via the wireless management network. Optionally, the method can also include adjusting operation of these computing units to reduce a communication bandwidth demand from a prior level. In other embodiments, the method can also include utilizing the wireless management network for communication load balancing, peer-to-peer communication, background traffic, and/or other suitable operations.

DETAILED DESCRIPTION

Various embodiments of network systems, devices, components, modules, routines, and processes are described below. In the following description, example software codes, values, and other specific details are included to provide a thorough understanding of various embodiments of the present technology. A person skilled in the relevant art will also understand that the technology may have additional embodiments. The technology may also be practiced without several of the details of the embodiments described below with reference toFIGS. 1-9.

Computing systems such as datacenters can have a management network for communicating with and controlling device operations of computing units. Conventional management networks typically have a fixed topology using a wired network, and thus have little or no flexibility for reconfiguration without rewiring. In addition, datacenters normally include redundant networks for system availability. Thus, datacenters may include at least two sets of redundant management networks wired to each computing unit. Design and installation of such redundant networks can be costly and labor intensive. Even with such redundancy, failure of all management networks can cause difficulty for system administrators to perform device operations on the computing units. Further, wire-based management networks are not economical because of their low usage compared to high costs of construction and maintenance.

Several embodiments of the present technology can address at least some of the foregoing difficulties by utilizing a wireless-based management network in datacenters and/or other suitable computer systems. As used herein, the term “wireless” may, for example, refer to a communication mode under which information is transferred between two or more points that are not physically connected. Examples of wireless communication can include radio frequency (e.g., WI-FI, Bluetooth, ultra-wide band, etc.), microwave, infrared, free space optics (e.g., using laser or light emitting diodes), near field, or other suitable types of communication.

FIG. 1is a schematic block diagram illustrating a communication framework in a datacenter100in accordance with embodiments of the present technology. As shown inFIG. 1, the datacenter100can include multiple computer cabinets102individually housing multiple computing units104, a data network108coupled to a client device110, and a wireless management network112coupled to a management station114. Optionally, the management station114(e.g., a desktop computer) may also be coupled to the data network108(shown in phantom lines for clarity). In other embodiments, the wireless management network112may also be coupled to the client device100. Even though particular components are shown inFIG. 1, in further embodiments, the datacenter100can also include power supplies, cooling systems, power backup systems, and/or other suitable components. In yet further embodiments, embodiments of the described communication framework can be implemented in suitable network systems other than datacenters.

The computer cabinets102can have any suitable shape and/or size to house the computing units104in racks and/or in other suitable groupings. The computing units104can be configured to implement one or more applications accessible by the client device110(e.g., a desktop computer, a smart phone, etc.) and/or other entities via a wide area network (e.g., the Internet) or through any other coupling mechanisms. Certain embodiments of a computing unit104are described in more detail below with reference toFIG. 2.FIG. 1shows four computing units104in each computer cabinet102for illustration purposes. In other embodiments, individual computer cabinets102can also include any suitable number of computing units, fans, intercoolers, and/or other suitable electrical and/or mechanical components.

In the illustrated embodiment, the data network108and the wireless management network112are independent of each other. As used herein, the phrase “independent” in the context of networks generally refers to a network not being contingent on conditions of another for operation. As a result, the data network108and the wireless management network112may operate irrespective of an operating condition of the other. In other embodiments, the data network108and the wireless management network112may be combined in a suitable fashion. For example, the wireless management network112may rely upon a portion of the data network108for access to the individual computing units104, as described in more detail below with reference toFIG. 5.

In certain embodiments, the data network108can include twisted pair, coaxial, untwisted pair, optic fiber, and/or other suitable hardwire communication media, routers, switches, and/or other suitable network components. In other embodiments, the data network108can also include a wireless communication medium. In further embodiments, the data network108can include a combination of hardwire and wireless communication media. The data network108may operate according to Ethernet, token ring, asynchronous transfer mode, and/or other suitable link layer protocols. In the illustrated embodiment, the computing units104of individual computer cabinets102are coupled to a network link106(e.g., a top-of-rack switch) associated with corresponding computer cabinet102. The network links106are then coupled together to form the data network108. In other embodiments, the data network108may include other suitable topologies, components, and/or arrangements.

In certain embodiments, the wireless management network112can include one or more management controllers and wireless elements126(shown inFIG. 2) in communication with the computing units104. The one or more management controllers can be configured to control a device operation of the computing units104. As used herein, the phrase “device operation” generally refers to an operation that may be performed even in the absence of an operating system. For example, the management controllers may power up, power down, reset, power cycle, refresh, and/or may perform other suitable device operations on a particular computing unit104. The management controllers can also allow device operation by a system administrator (not shown) via the management station114.

In certain embodiments, the management controllers can include a service of an operating system running on at least one of the computing units104. For example, in the illustrated embodiment, two of the computing units104(shown with shadings inFIG. 1) are designated as primary and secondary management controllers. In other embodiments, the management controllers may also include remote controllers coupled to the computing units104via an external network (not shown) and the wireless management network112.

The wireless management network112can utilize terrestrial microwave, communication satellites, cellular systems, WI-FI, wireless LANs, Bluetooth, infrared, near field communication, ultra-wide band, free space optics, and/or other suitable wireless techniques. The wireless management network112can also operate according to a protocol similar to or different from that of the data network108. In the illustrated embodiment, the computing units104in the computer cabinets102are individually coupled (as shown with the phantom lines) to the wireless management network112. In other embodiments, the computing units104may be coupled to the wireless management network112in groups and/or may have other suitable network topologies.

In operation, the computing units104may receive requests from the client device110via the data network108. For example, a user (not shown) may request a web search via the client device110. After receiving the request, one or more of the computing units104may perform the requested web search and generate relevant advertisements based on the search request. The computing units104then route the generated search results and advertisement as network data to the client device110via the data network108and other external networks (e.g., the Internet, not shown). Meanwhile, the management controllers can monitor and/or control device operations of the computing units104wirelessly.

Several embodiments of the datacenter100can be more economical than conventional datacenters by having the management network112as a wireless-based network. As a result, no or reduced wiring is needed in the datacenter100, and thus saving costs in design and installation of the management network112. In addition, configuration of the datacenter100can be less prone to error than conventional datacenters because wiring mistakes virtually always exist.

Several embodiments of the datacenter100can have higher fault tolerance than conventional datacenters. If one of the computing units104loses connection to the data network108, the computing unit104can continue generating network data based on user requests and routing the network data through the wireless management network112to the client device110. The management controllers may also adjust operating characteristics of the disconnected computing unit104to reduce a communication bandwidth demand for routing the network data below a target level. For example, the management controllers may assign the disconnected computing unit104to perform disk cleanup, virus scan, and/or other tasks that do not require large or any communication bandwidths. Once connection to the data network108is restored (e.g., by refreshing), the management controllers may assign other tasks to the computing unit104. In other embodiments, the management controllers may shut down the computing unit104, raise an alarm, and/or perform other suitable operations.

Several embodiments of the datacenter100can also have higher operating flexibility than conventional datacenters. In certain embodiments, the wireless management network112may be utilized for communication load balancing, peer-to-peer communication, background traffic, and/or other suitable operations when the data network108is available. For example, the management controllers and/or other network controllers may determine urgency, quality of service, and/or other characteristics of pending communication traffic. The management controllers may then route the communication traffic via the data network108and/or the wireless management network112based on the determined characteristics. For instance, if the communication traffic is related to a web search with high urgency, the management controllers would route the communication traffic through the data network108, which is typically faster than the wireless management network112.

Several embodiments of the datacenter100can have higher system availability than conventional datacenters. As discussed above, in conventional datacenters, if both sets of management networks fail, system administrators cannot easily perform device operations on the computing units. In certain embodiments, the management network112can establish an ad hoc network for accessing one of the computing units104. The ad hoc network may be based on proactive, reactive, flow-oriented, hierarchical, host-specific, multicast, and/or other suitable routing protocols. For example, if a management controller fails, another computing unit104may be selected to replace the failed management controller. As a result, several embodiments of the datacenter100can potentially have as many backup management controllers as the number of computing units104in the datacenter100, resulting in higher system availability than conventional datacenters.

FIG. 2is a schematic block diagram of a computing unit104suitable for the datacenter100inFIG. 1in accordance with embodiments of the present technology. As shown inFIG. 2, the computing unit104can include a motherboard101carrying a unit controller118, a wireless element126, a wired element128, and a main processing unit119. In other embodiments, the computing unit104can also include computer storage media (e.g., a solid-state drive), indicators (e.g., light emitting diodes), communication components (e.g., a backplane bus), and/or other suitable mechanical and/or electric components. In further embodiments, the computing unit104may not include all of the foregoing components.

The unit controller118is configured to monitor operating conditions and control device operations of components on the motherboard101. As shown inFIG. 2, the unit controller118can include a processor120coupled to a memory122and an input/output component124. The processor120can include a microprocessor, a field-programmable gate array, and/or other suitable logic devices. The memory122can include volatile and/or nonvolatile computer readable media (e.g., ROM; RAM, magnetic disk storage media; optical storage media; flash memory devices, EEPROM, and/or other suitable non-transitory storage media) configured to store data received from, as well as instructions for, the processor120. In one embodiment, both the data and instructions are stored in one computer readable medium. In other embodiments, the data may be stored in one medium (e.g., RAM), and the instructions may be stored in a different medium (e.g., EEPROM). The input/output component124can include a digital and/or analog input/output interface configured to accept input from and/or provide output to other components of the computing units104.

The main processing unit119is configured to accept and perform requested tasks from the client device110(FIG. 1). The main processing unit119can include components generally similar to those of the unit controller118. As a result, descriptions of these components are omitted for clarity. Even though only one main processing unit119in shown inFIG. 2, in other embodiments, the computing unit104can include two, three, or any other number of main processing units119.

The wireless element126is coupled to both the input/output component124of the unit controller118and to the main processing unit119. The wireless element126is configured transmit sensor data, management instructions, network data, and/or other information to the wireless management network112. In certain embodiments, the wireless element126may be analog or digital on a radio, cell phone, satellite, WIFI, Bluetooth, near field, ultra-wide band, and/or other suitable frequency band. The wireless element126can include a wireless network interface controller, a radio transmitter, and/or other suitable wireless components coupled to an antenna127. In other embodiments, the wireless element126can include a light source (e.g., laser, light emitting diodes, etc.) and photoelectric sensors configured to sense an impending light. In further embodiments, the wireless element126can also include other suitable types of wireless components.

In the illustrated embodiment, the wireless element126is separate from the unit controller118. In other embodiments, the wireless element126may be incorporated into the unit controller118on a common printed circuit board or on a single die. In further embodiments, the wireless element126may be incorporated into the main processing unit119, the wired element128, and/or other components of the computing unit104.

The wired element128is also coupled to both the input/output component124of the unit controller118and to the main processing unit119. The wired element128is configured to couple the computing unit104to the data network108via a hardwire communication medium (e.g., fiber optic cables). In certain embodiments, the wired element128can include a network interface card, network adapter, and/or other computer hardware configured to allow physically access to a networking medium. Though not shown inFIG. 2, the wired element128can also include a bridge, switch, router, firewall, and/or other suitable types of networking component.

As shown inFIG. 2, the motherboard101can also include at least one of a power supply111, a sensor113(e.g., a temperature or humidity sensor), and a cooling fan115(collectively referred to as “peripheral devices”) coupled to the input/output component124of the unit controller118. The peripheral devices can provide input to as well as receive instructions from the unit controller118via the input/output component124. For example, the power supply111can provide power status, running time, wattage, and/or other suitable information to the unit controller118. In response, the unit controller118can provide instructions to the power supply111to power up, power down, reset, power cycle, refresh, and/or other suitable power operations. In another example, the cooling fan115can provide fan status to the unit controller118and accept instructions to start, stop, speed up, slow down, and/or other suitable fan operations. In further embodiments, the motherboard101may include additional and/or different peripheral devices.

In example operation, the main processing unit119receives requested tasks from the client device110via the wired element128. The main processing unit119then performs the requested tasks and routes generated network data to the client device110with the wired element128via the data network108. Meanwhile, in one embodiment, the unit controller118can monitor the conditions of components of the computing unit104and transmitting the conditions to the management controller with the wireless element126via the management network112. In other embodiments, the unit controller118can also transmit the conditions to the management controller with the wired element128via the data network108. In such embodiments, the wireless management network112may be used as a backup for the data network108. In further embodiments, the unit controller118can transmit the conditions to the management controller with both the wired element128and the wireless element126via a combination of the data network108and the management network112.

When the unit controller118detects a failure of the wired element128, the unit controller118can allow the main processing unit119to continue operating. The unit controller118may then route network data with the wireless element126via the wireless management network112. The unit controller118can also report the failure to the management controllers for further processing. In response, the unit controller118can receive operating instructions from the management controllers and/or a system administrator of the datacenter100via the wireless management network112. The processor120of the unit controller118can then process the received instructions, generate commands for device operation, and transmit the generated commands to a suitable component for execution. For example, the processor120may instruct the cooling fan to turn on or to instruct the power supply111to cycle power. Several embodiments of software components of the processor120are described in more detail below with reference toFIG. 3. Even though the computing unit104is shown inFIG. 2as having the wired element128coupled to the data network108, in further embodiments, the computing unit104may also include a wireless component coupled to the data network108.

FIG. 3is a block diagram showing computing system software components130suitable for the unit controller118inFIG. 2in accordance with embodiments of the present technology. Each component may be a computer program, procedure, or process written as source code in a conventional programming language, such as the C++ programming language, or other computer code, and may be presented for execution by the processor120of the unit controller118. The various implementations of the source code and object byte codes may be stored in the memory122. The software components130of the unit controller118may include an input module132, a database module134, a process module136, an output module138, and an optional display module140interconnected with one another.

In operation, the input module132can accept input data150(e.g., sensor readings from the sensor113inFIG. 2), and communicates the accepted input data to other components for further processing. The database module134organizes records, including an operating policy142and an operating condition144, and facilitates storing and retrieving of these records to and from the memory122. The operating policy142may include instructions for device operation based on presence of certain conditions. The operating condition144may include temperature, humidity, power, and/or other suitable operating parameters of the computing unit104. Any type of database organization may be utilized, including a flat file system, hierarchical database, relational database, or distributed database, such as provided by a database vendor such as the Microsoft Corporation, Redmond, Wash.

The process module136analyzes the input data150from the input module132and/or other data sources, and the output module138generates output signals152based on the analyzed input data150. The processor120may include the optional display module140for displaying, printing, and/or downloading the input data150, the output signals152, and/or other information via the input/output component124(FIG. 2). Embodiments of the process module136are described in more detail below with reference toFIG. 4.

FIG. 4is a block diagram showing embodiments of the process module136inFIG. 3. As shown inFIG. 4, the process module136may further include a sensing module160, an analysis module162, a control module164, and a calculation module166interconnected with one other. Each module may be a computer program, procedure, or routine written as source code in a conventional programming language, or one or more modules may be hardware modules.

The sensing module160is configured to receive the input data150and converting the input data150into suitable engineering units. For example, the sensing module160may receive an input from the sensor113(FIG. 2) and convert the received input to a temperature in Celsius. In another example, the sensing module160may receive an input from the cooling fan115and convert the received input to a digital value of ON or OFF. In further examples, the sensing module160may perform other suitable conversions.

The calculation module166may include routines configured to perform various types of calculations to facilitate operation of other modules. For example, the calculation module166can include routines for averaging a temperature received from the sensing module160. In other examples, the calculation module166can include linear regression, polynomial regression, interpolation, extrapolation, and/or other suitable subroutines. In further examples, the calculation module166can also include counters, timers, and/or other suitable routines.

The analysis module162can be configured to analyze the calculated parameters from the calculation module166and determine if the computing unit104(FIG. 2) is operating under normal conditions. For example, the analysis module162may compare the average temperature (or current temperature) from the calculation module166to a predetermined threshold. If the average temperature exceeds the threshold, the analysis module162can indicate a high-temperature alarm. In other examples, the analysis module162can perform other suitable analysis.

The control module164may be configured to control the operation of the computing unit104based on analysis results from the analysis module162. For example, in one embodiment, if the analysis module162indicates a high-temperature alarm, the control module164can generate an output signal152to turn on the cooling fan115and provide the instruction to the output module138. In other embodiments, the control module164may also generate output signal152based on operator input154and/or other suitable information.

Even though the unit controller118is described above to perform the monitoring and/or control functions for the computing unit104inFIGS. 2-4, in other embodiments, at least some of the monitoring and/or control functions may be performed by an operating system and/or application of the main processing unit119. In further embodiments, the computing unit104may not include the wireless element126and the antenna127. Instead, several computing units104may share one wireless element126, as described in more detail below with reference toFIG. 5.

FIG. 5is a schematic block diagram illustrating another communication framework in a datacenter100in accordance with embodiments of the present technology. The datacenter100inFIG. 5can be generally similar in structure and function as that inFIG. 1except that each computer cabinet102include one wireless element126coupled to all computing units104. As shown inFIG. 5, the computing units104are aggregated with a wired link129, which is in turn coupled to a corresponding wireless element126. As a result, the computing units104in each of the computer cabinets102share a single wireless element126. Even though not shown inFIG. 5, in other embodiments, two, three, or any other suitable number of computing units104in a rack, cabinet, or room may be coupled to a corresponding wireless element126. In further embodiments, the datacenter100may have other suitable configurations of wireless elements126.

FIG. 6is a Venn diagram illustrating an arrangement of management controllers in a datacenter100in accordance with embodiments of the present technology. As shown inFIG. 6, a first computing unit104ain a first computer cabinet102ais designated as a primary management controller. A second computing unit104bin a second computer cabinet102bis designated as a secondary management controller. The first computing unit104ahas a first wireless range160, and the second computing unit104bhas a second wireless range162.

As shown inFIG. 6, the first wireless range160does not reach the computer cabinet102n. In one embodiment, the first computing unit104acan use the secondary management controller as a relay or hop to reach the computing units104a-104din the nth computer cabinet102n. In other embodiments, the first computing unit104acan use any other computing units104a-104din the second computer cabinet102bas a hop to reach the computing units104a-104din the nth computer cabinet102n. In further embodiments, the first computing unit104amay also use one or more repeaters (e.g., wireless routers or switches) as a hop to reach the computing units104a-104din the nth computer cabinet102n.

In the event of a failure in one of the management controllers, any one of the computing units104may substitute for the failed management controller. For example, as shown inFIG. 6, if the first computing unit104ain the first computer cabinet102afails, the first computing unit104aand the second computer cabinet102bmay be designated as the primary or secondary management controllers. In certain embodiments, the substitute computing unit104may be selected based on a coverage area of the computing unit. For example, the substitute computing unit104may be selected to have a coverage area above a target threshold (e.g., an area, a number of computing units104, and/or other suitable coverage parameters). In other embodiments, the substitute computing units104may be selected based on other suitable criteria.

FIG. 7is a flow diagram illustrating a process200for routing communication traffic when a data network is unavailable in accordance with embodiments of the present technology. Even though the process200is described below with reference to the datacenter100inFIG. 1, several embodiments of the process200may also be used in other datacenters and/or suitable computer systems.

As shown inFIG. 7, one stage of the process200can include monitoring a computing unit in the datacenter at stage202. In one embodiment, monitoring the computing unit can include monitoring current conditions of as well as available communication networks for the computing unit. The process200then includes a decision stage204to determine if a data network is available. If a data network is available, the process200proceeds to routing network data through the data network at stage206.

If a data network is not available, the process200includes continuing operation and reducing a bandwidth demand for the computing unit at stage208. In one embodiment, reducing the bandwidth demand can include assigning certain none- or low-bandwidth demanding tasks to the computing unit. In other embodiments, reducing the bandwidth demand can also include reducing a CPU power of the computing unit. The process200then includes routing data through a wireless management network independent of the data network at stage210.

The process200then includes a decision stage214to determine if the process continues. In one embodiment, the process200continues if the computing unit is still operating. In other embodiments, the process200can continue based on other suitable criteria. If the process continues, the process reverts to monitoring the computing unit at stage202; otherwise, the process ends.

FIG. 8is a flow diagram illustrating a process300for routing communication traffic using both a data network and a management network in accordance with embodiments of the present technology. As shown inFIG. 8, the process300includes determining a traffic characteristic at stage302. In one embodiment, determining the traffic characteristic can include determining at least one of a priority, latency, and/or other characteristics of the traffic. In other embodiments, determining the traffic characteristic can be based on other suitable criteria.

The process300then includes a decision stage304to determine if the traffic characteristic indicates a high profile traffic based on predetermined criteria. For example, in one embodiment, the determined traffic is high profile when it has high priority, low latency, and/or other suitable characteristics. If the determined traffic is high profile, the process300includes using a data network to route the traffic at stage306. If the determined traffic profile is not high profile, the process300includes using a wireless management network to route the traffic at stage308. Then the process300includes a decision stage310to determine if the process should continue. If the process continues, the process reverts to determining the traffic characteristic at stage302; otherwise, the process ends.

FIG. 9is a flow diagram illustrating a process400for maintaining management redundancy in a datacenter in accordance with embodiments of the present technology. As shown inFIG. 9, the process400includes monitoring a condition (e.g., availability) of a management controller at stage402. The process400then includes a decision stage404to determine if the management controller is still healthy (e.g., online and operating). If the management controller is healthy, the process400includes managing computing units with the current management controller at stage406. If the management controller is not healthy (e.g., offline and not responding to communication), the process400includes constructing an ad hoc network at stage408. When constructing the constructed ad hoc network, a computing unit can be selected to replace the failed management controller randomly or based on predetermined criteria. For example, a computing unit may be selected to cover a number of computing units above a predetermined threshold. The process400then includes managing computing units with the computing unit selected as the replacement management controller at stage406. Process400can then include a decision stage410to determine if the process should continue. If the process continues, the process400reverts to monitoring the management controller at stage402; otherwise, the process ends.

Specific embodiments of the technology have been described above for purposes of illustration. However, various modifications may be made without deviating from the foregoing disclosure. In addition, many of the elements of one embodiment may be combined with other embodiments in addition to or in lieu of the elements of the other embodiments. Accordingly, the technology is not limited except as by the appended claims.