Patent Description:
The present technology pertains to controlling backup power consumption by network devices in a network environment, and in particular to controlling backup power consumption by network devices on a per-device basis according to a backup power consumption plan.

In the event of a power outage, networks usually run on backup power/battery power. However, the network does not know that it is running on backup power, and continues to consume power normally. As a result, backup power is used up faster than is necessary. There therefore exist needs for systems and methods for effectively controlling power consumption in a network environment when a network is operating on backup power, e.g. from an uninterruptible power supply (UPS).

In order to conserve battery power, current systems control power delivery from the UPS side. Specifically, a UPS can shut off power to devices coupled to the UPS through different ports of the UPS. More specifically, the UPS can conserve battery power by shutting off a port and therefore refraining from delivering power to all network devices coupled to the port. This port-by-port technique for conserving power is problematic as often times numerous network devices draw power through a single port. In particular network devices that are both critical and not critical to network environment operation can draw power through the same port. In turn, shutting off the port can lead to critical network devices failing to receive backup power. There therefore exist needs for systems and methods for controlling network device backup power consumption from the network device side and on a per-device basis.

<CIT> is directed to a redundant power supply unit that provides backup power to network devices. The redundant power supply unit will supply power to the network devices in the case that their local internal power supplies fail. Furthermore, if there is a power outage from the utility company, the redundant power supply will supply power to the network devices from a internal battery pack. When the internal battery pack is engaged, the redundant power supply uses programmed control logic that controls how the power from internal battery pack will be allocated. Specifically, since the power from the batteries is limited, it can be used to power some network devices for a certain amount of time and other network devices for a longer amount of time. Furthermore, the power from the batteries can be allocated depending on the voltage level of the battery thus, when the battery voltage drops below a certain threshold the power supply may disconnect power to some units and maintain power to others.

<CIT> is directed to a system for generating, delivering and distributing electrical power to network elements over a data communication network infrastructure within a building, campus or enterprise.

<CIT> is directed to a management workstation that has an interface for receiving notifications of data-center facilities infrastructure events. A manager determines emergency power settings for managed computing resources in response to the notifications. The settings are then communicated to the resources.

<CIT> is directed to systems and methods for monitoring an AC power to a computing system, generating a power failure signal when the AC power is determined abnormal, and cause one or more components of the computing system to be switched to a low power mode or shut down to reduce power consumption of the computing system.

Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without departing from the scope of the disclosure. Thus, the following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure can be references to the same embodiment or any embodiment; and, such references mean at least one of the embodiments.

According to the method of claim <NUM> of the present invention the method includes identifying a backup power consumption plan for controlling power consumption by network devices of a network environment from a UPS of the network environment. Further, an interruption of power delivery over a main power delivery channel to the network devices during operation of the network devices is detected. In response, power consumption by the network devices from the UPS is selectively controlled on a per-device basis according to the backup power consumption plan. Specifically, power consumption by the network devices from the UPS is controlled on a per-device basis according to the backup power consumption plan in response to detecting the interruption of power delivery over the main power delivery channel to the network devices. The method further comprises controlling power consumption by the network devices from the UPS by controlling power delivery through ports of one or more switches and/or routers coupled between the network devices and the UPS on a per-port basis.

In various embodiments, the backup power consumption plan is defined by an administrator associated with the network environment. In specific embodiments, the backup power consumption plan defines one or more specific backup power up-times for one or more network devices of the network devices. In certain embodiments, the backup power consumption plan defines one or more critical network devices of the network devices to continue to consume power from the UPS while the UPS still has power. In specific embodiments, the backup power consumption plan defines one or more non-critical network devices of the network devices to power down and refrain from consuming power from the UPS.

In various embodiments, the backup power consumption plan can define one or more dynamic power network devices of the network devices to operate in a low power mode and consume less power from the UPS than when the one or more dynamic power network devices are operating normally in the network environment. In specific embodiments, the one or more dynamic power network devices and characteristics of operation of the low power mode are defined by a network administrator associated with the network environment. In certain embodiments, the one or more dynamic power network devices and characteristics of operation of the low power mode are automatically defined based on operation of the one or more dynamic power network devices within the network environment to provide network service access.

In various embodiments, power analytics for the network devices in operation within the network environment to provide network service access are gathered. Further, the power analytics can be presented to an administrator associated with the network environment for defining, at least in part by the administrator, the backup power consumption plan. In specific embodiments, the power analytics are gathered for the network devices during operation of the network devices within the network environment to provide network service access while receiving power over the main power delivery channel.

In various embodiments, the power consumption of the network devices is controlled according to the backup power consumption plan locally through the UPS. In specific embodiments, the power consumption of the network devices is remotely controlled according to the backup power consumption plan through a remote power management system.

In various embodiments, the main power delivery channel is an AC inline power channel and the interruption of power delivery over the main power delivery channel is detected by the UPS in response to the UPS failing to receive AC inline power through the AC inline power channel or the main power delivery channel failing to provide enough power to power the network devices during operation of the network devices.

In various embodiments, selectively controlling power consumption by the network devices from the UPS further comprises sending corresponding backup power consumption instructions generated according to the backup power consumption plan, and wherein the network devices are configured to implement the corresponding backup power consumption instructions to operate according to the backup power consumption plan.

A system can include one or more processors and at least one computer-readable storage medium storing instructions which, when executed by the one or more processors, cause the one or more processors to identify a backup power consumption plan defined by an administrator for controlling power consumption by network devices of a network environment from a UPS of the network environment. The instructions can also cause the one or more processors to detect an interruption of power delivery over a main power delivery channel to the network devices during operation of the network devices. Further, the instructions can cause the one or more processors to selectively control power consumption by the network devices from the UPS on a per-device basis according to the backup power consumption plan in response to detecting the interruption of power delivery over the main power delivery channel to the network devices.

A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a processor, cause the processor to identify a backup power consumption plan for controlling power consumption by network devices of a network environment from a UPS of the network environment. The backup power consumption plan can define one or more specific backup power up-times for one or more network devices of the network devices. The instructions can also cause the processor to detect an interruption of power delivery over a main power delivery channel to the network devices during operation of the network devices. Further, the instructions can cause the processor to selectively control power consumption by the network devices from the UPS on a per-device basis according to the backup power consumption plan in response to detecting the interruption of power delivery over the main power delivery channel to the network devices.

The disclosed technology addresses the need in the art for mechanisms and techniques for effectively controlling power consumption in a network environment when a network is operating on backup power, e.g. from a UPS. Further, the disclosed technology address the need in the art for mechanisms and techniques for controlling network device backup power consumption from the network device side and on a per-network device basis. The present technology involves system, methods, and computer-readable media for controlling backup power consumption by network devices in a network environment. Further, the present technology involves systems, methods, and computer-readable media for controlling backup power consumption by network devices on a per-device basis according to a backup power consumption plan.

A description of network environments and architectures for network data access and services, as illustrated in <FIG>, <FIG>, <FIG>, <FIG>, and <FIG> is first disclosed herein. A discussion of systems, methods, and computer-readable media for controlling backup power consumption in a network environment, as shown in <FIG> and <FIG>, will then follow. The discussion then concludes with a brief description of example devices, as illustrated in <FIG> and <FIG>. These variations shall be described herein as the various embodiments are set forth. The disclosure now turns to <FIG>.

<FIG> illustrates a diagram of an example cloud computing architecture <NUM>. The architecture can include a cloud <NUM>. The cloud <NUM> can include one or more private clouds, public clouds, and/or hybrid clouds. Moreover, the cloud <NUM> can include cloud elements <NUM>-<NUM>. The cloud elements <NUM>-<NUM> can include, for example, servers <NUM>, virtual machines (VMs) <NUM>, one or more software platforms <NUM>, applications or services <NUM>, software containers <NUM>, and infrastructure nodes <NUM>. The infrastructure nodes <NUM> can include various types of nodes, such as compute nodes, storage nodes, network nodes, management systems, etc..

The cloud <NUM> can provide various cloud computing services via the cloud elements <NUM>-<NUM>, such as software as a service (SaaS) (e.g., collaboration services, email services, enterprise resource planning services, content services, communication services, etc.), infrastructure as a service (IaaS) (e.g., security services, networking services, systems management services, etc.), platform as a service (PaaS) (e.g., web services, streaming services, application development services, etc.), and other types of services such as desktop as a service (DaaS), information technology management as a service (ITaaS), managed software as a service (MSaaS), mobile backend as a service (MBaaS), etc..

The client endpoints <NUM> can connect with the cloud <NUM> to obtain one or more specific services from the cloud <NUM>. The client endpoints <NUM> can communicate with elements <NUM>-<NUM> via one or more public networks (e.g., Internet), private networks, and/or hybrid networks (e.g., virtual private network). The client endpoints <NUM> can include any device with networking capabilities, such as a laptop computer, a tablet computer, a server, a desktop computer, a smartphone, a network device (e.g., an access point, a router, a switch, etc.), a smart television, a smart car, a sensor, a GPS device, a game system, a smart wearable object (e.g., smartwatch, etc.), a consumer object (e.g., Internet refrigerator, smart lighting system, etc.), a city or transportation system (e.g., traffic control, toll collection system, etc.), an internet of things (IoT) device, a camera, a network printer, a transportation system (e.g., airplane, train, motorcycle, boat, etc.), or any smart or connected object (e.g., smart home, smart building, smart retail, smart glasses, etc.), and so forth.

<FIG> illustrates a diagram of an example fog computing architecture <NUM>. The fog computing architecture can be used to form part of a TCP connection or otherwise be accessed through the TCP connection. Specifically, the fog computing architecture can include an initiator or a receiver of a TCP connection and be utilized by the initiator or the receiver to transmit and/or receive data through the TCP connection. The fog computing architecture <NUM> can include the cloud layer <NUM>, which includes the cloud <NUM> and any other cloud system or environment, and the fog layer <NUM>, which includes fog nodes <NUM>. The client endpoints <NUM> can communicate with the cloud layer <NUM> and/or the fog layer <NUM>. The architecture <NUM> can include one or more communication links <NUM> between the cloud layer <NUM>, the fog layer <NUM>, and the client endpoints <NUM>. Communications can flow up to the cloud layer <NUM> and/or down to the client endpoints <NUM>.

The fog layer <NUM> or "the fog" provides the computation, storage and networking capabilities of traditional cloud networks, but closer to the endpoints. The fog can thus extend the cloud <NUM> to be closer to the client endpoints <NUM>. The fog nodes <NUM> can be the physical implementation of fog networks. Moreover, the fog nodes <NUM> can provide local or regional services and/or connectivity to the client endpoints <NUM>. As a result, traffic and/or data can be offloaded from the cloud <NUM> to the fog layer <NUM> (e.g., via fog nodes <NUM>). The fog layer <NUM> can thus provide faster services and/or connectivity to the client endpoints <NUM>, with lower latency, as well as other advantages such as security benefits from keeping the data inside the local or regional network(s).

The fog nodes <NUM> can include any networked computing devices, such as servers, switches, routers, controllers, cameras, access points, gateways, etc. Moreover, the fog nodes <NUM> can be deployed anywhere with a network connection, such as a factory floor, a power pole, alongside a railway track, in a vehicle, on an oil rig, in an airport, on an aircraft, in a shopping center, in a hospital, in a park, in a parking garage, in a library, etc..

In some configurations, one or more fog nodes <NUM> can be deployed within fog instances <NUM>, <NUM>. The fog instances <NUM>, <NUM> can be local or regional clouds or networks. For example, the fog instances <NUM>, <NUM> can be a regional cloud or data center, a local area network, a network of fog nodes <NUM>, etc. In some configurations, one or more fog nodes <NUM> can be deployed within a network, or as standalone or individual nodes, for example. Moreover, one or more of the fog nodes <NUM> can be interconnected with each other via links <NUM> in various topologies, including star, ring, mesh or hierarchical arrangements, for example.

In some cases, one or more fog nodes <NUM> can be mobile fog nodes. The mobile fog nodes can move to different geographic locations, logical locations or networks, and/or fog instances while maintaining connectivity with the cloud layer <NUM> and/or the endpoints <NUM>. For example, a particular fog node can be placed in a vehicle, such as an aircraft or train, which can travel from one geographic location and/or logical location to a different geographic location and/or logical location. In this example, the particular fog node may connect to a particular physical and/or logical connection point with the cloud <NUM> while located at the starting location and switch to a different physical and/or logical connection point with the cloud <NUM> while located at the destination location. The particular fog node can thus move within particular clouds and/or fog instances and, therefore, serve endpoints from different locations at different times.

<FIG> illustrates a diagram of an example Network Environment <NUM>, such as a data center. In some cases, the Network Environment <NUM> can include a data center, which can support and/or host the cloud <NUM>. The Network Environment <NUM> can include a Fabric <NUM> which can represent the physical layer or infrastructure (e.g., underlay) of the Network Environment <NUM>. Fabric <NUM> can include Spines <NUM> (e.g., spine routers or switches) and Leafs <NUM> (e.g., leaf routers or switches) which can be interconnected for routing or switching traffic in the Fabric <NUM>. Spines <NUM> can interconnect Leafs <NUM> in the Fabric <NUM>, and Leafs <NUM> can connect the Fabric <NUM> to an overlay or logical portion of the Network Environment <NUM>, which can include application services, servers, virtual machines, containers, endpoints, etc. Thus, network connectivity in the Fabric <NUM> can flow from Spines <NUM> to Leafs <NUM>, and vice versa. The interconnections between Leafs <NUM> and Spines <NUM> can be redundant (e.g., multiple interconnections) to avoid a failure in routing. In some embodiments, Leafs <NUM> and Spines <NUM> can be fully connected, such that any given Leaf is connected to each of the Spines <NUM>, and any given Spine is connected to each of the Leafs <NUM>. Leafs <NUM> can be, for example, switches, aggregation switches, gateways, ingress and/or egress switches, provider edge devices, and/or any other type of routing or switching device.

Leafs <NUM> can be responsible for routing and/or bridging tenant or customer packets and applying network policies or rules. Network policies and rules can be driven by one or more Controllers <NUM>, and/or implemented or enforced by one or more devices, such as Leafs <NUM>. Leafs <NUM> can connect other elements to the Fabric <NUM>. For example, Leafs <NUM> can connect Servers <NUM>, Hypervisors <NUM>, Virtual Machines (VMs) <NUM>, Applications <NUM>, Network Device <NUM>, etc., with Fabric <NUM>. Such elements can reside in one or more logical or virtual layers or networks, such as an overlay network. In some cases, Leafs <NUM> can encapsulate and decapsulate packets to and from such elements (e.g., Servers <NUM>) in order to enable communications throughout Network Environment <NUM> and Fabric <NUM>. Leafs <NUM> can also provide any other devices, services, tenants, or workloads with access to Fabric <NUM>. In some cases, Servers <NUM> connected to Leafs <NUM> can similarly encapsulate and decapsulate packets to and from Leafs <NUM>. For example, Servers <NUM> can include one or more virtual switches or routers or tunnel endpoints for tunneling packets between an overlay or logical layer hosted by, or connected to, Servers <NUM> and an underlay layer represented by Fabric <NUM> and accessed via Leafs <NUM>.

Applications <NUM> can include software applications, services, containers, appliances, functions, service chains, etc. For example, Applications <NUM> can include a firewall, a database, a CDN server, an IDS/IPS, a deep packet inspection service, a message router, a virtual switch, etc. An application from Applications <NUM> can be distributed, chained, or hosted by multiple endpoints (e.g., Servers <NUM>, VMs <NUM>, etc.), or may run or execute entirely from a single endpoint.

VMs <NUM> can be virtual machines hosted by Hypervisors <NUM> or virtual machine managers running on Servers <NUM>. VMs <NUM> can include workloads running on a guest operating system on a respective server. Hypervisors <NUM> can provide a layer of software, firmware, and/or hardware that creates, manages, and/or runs the VMs <NUM>. Hypervisors <NUM> can allow VMs <NUM> to share hardware resources on Servers <NUM>, and the hardware resources on Servers <NUM> to appear as multiple, separate hardware platforms. Moreover, Hypervisors <NUM> on Servers <NUM> can host one or more VMs <NUM>.

In some cases, VMs <NUM> and/or Hypervisors <NUM> can be migrated to other Servers <NUM>. Servers <NUM> can similarly be migrated to other locations in Network Environment <NUM>. For example, a server connected to a specific leaf can be changed to connect to a different or additional leaf. Such configuration or deployment changes can involve modifications to settings, configurations and policies that are applied to the resources being migrated as well as other network components.

In some cases, one or more Servers <NUM>, Hypervisors <NUM>, and/or VMs <NUM> can represent or reside in a tenant or customer space. Tenant space can include workloads, services, applications, devices, networks, and/or resources that are associated with one or more clients or subscribers. Accordingly, traffic in Network Environment <NUM> can be routed based on specific tenant policies, spaces, agreements, configurations, etc. Moreover, addressing can vary between one or more tenants. In some configurations, tenant spaces can be divided into logical segments and/or networks and separated from logical segments and/or networks associated with other tenants. Addressing, policy, security and configuration information between tenants can be managed by Controllers <NUM>, Servers <NUM>, Leafs <NUM>, etc..

Configurations in Network Environment <NUM> can be implemented at a logical level, a hardware level (e.g., physical), and/or both. For example, configurations can be implemented at a logical and/or hardware level based on endpoint or resource attributes, such as endpoint types and/or application groups or profiles, through a software-defined network (SDN) framework (e.g., Application-Centric Infrastructure (ACI) or VMWARE NSX). To illustrate, one or more administrators can define configurations at a logical level (e.g., application or software level) through Controllers <NUM>, which can implement or propagate such configurations through Network Environment <NUM>. In some examples, Controllers <NUM> can be Application Policy Infrastructure Controllers (APICs) in an ACI framework. In other examples, Controllers <NUM> can be one or more management components for associated with other SDN solutions, such as NSX Managers.

Such configurations can define rules, policies, priorities, protocols, attributes, objects, etc., for routing and/or classifying traffic in Network Environment <NUM>. For example, such configurations can define attributes and objects for classifying and processing traffic based on Endpoint Groups (EPGs), Security Groups (SGs), VM types, bridge domains (BDs), virtual routing and forwarding instances (VRFs), tenants, priorities, firewall rules, etc. Other example network objects and configurations are further described below. Traffic policies and rules can be enforced based on tags, attributes, or other characteristics of the traffic, such as protocols associated with the traffic, EPGs associated with the traffic, SGs associated with the traffic, network address information associated with the traffic, etc. Such policies and rules can be enforced by one or more elements in Network Environment <NUM>, such as Leafs <NUM>, Servers <NUM>, Hypervisors <NUM>, Controllers <NUM>, etc. As previously explained, Network Environment <NUM> can be configured according to one or more particular software-defined network (SDN) solutions, such as CISCO ACI or VMWARE NSX. These example SDN solutions are briefly described below.

ACI can provide an application-centric or policy-based solution through scalable distributed enforcement. ACI supports integration of physical and virtual environments under a declarative configuration model for networks, servers, services, security, requirements, etc. For example, the ACI framework implements EPGs, which can include a collection of endpoints or applications that share common configuration requirements, such as security, QoS, services, etc. Endpoints can be virtual/logical or physical devices, such as VMs, containers, hosts, or physical servers that are connected to Network Environment <NUM>. Endpoints can have one or more attributes such as a VM name, guest OS name, a security tag, application profile, etc. Application configurations can be applied between EPGs, instead of endpoints directly, in the form of contracts. Leafs <NUM> can classify incoming traffic into different EPGs. The classification can be based on, for example, a network segment identifier such as a VLAN ID, VXLAN Network Identifier (VNID), NVGRE Virtual Subnet Identifier (VSID), MAC address, IP address, etc..

In some cases, classification in the ACI infrastructure can be implemented by Application Virtual Switches (AVS), which can run on a host, such as a server or switch. For example, an AVS can classify traffic based on specified attributes, and tag packets of different attribute EPGs with different identifiers, such as network segment identifiers (e.g., VLAN ID). Finally, Leafs <NUM> can tie packets with their attribute EPGs based on their identifiers and enforce policies, which can be implemented and/or managed by one or more Controllers <NUM>. Leaf <NUM> can classify to which EPG the traffic from a host belongs and enforce policies accordingly.

Another example SDN solution is based on VMWARE NSX. With VMWARE NSX, hosts can run a distributed firewall (DFW) which can classify and process traffic. Consider a case where three types of VMs, namely, application, database and web VMs, are put into a single layer-<NUM> network segment. Traffic protection can be provided within the network segment based on the VM type. For example, HTTP traffic can be allowed among web VMs, and disallowed between a web VM and an application or database VM. To classify traffic and implement policies, VMWARE NSX can implement security groups, which can be used to group the specific VMs (e.g., web VMs, application VMs, database VMs). DFW rules can be configured to implement policies for the specific security groups. To illustrate, in the context of the previous example, DFW rules can be configured to block HTTP traffic between web, application, and database security groups.

Returning now to <FIG>, Network Environment <NUM> can deploy different hosts via Leafs <NUM>, Servers <NUM>, Hypervisors <NUM>, VMs <NUM>, Applications <NUM>, and Controllers <NUM>, such as VMWARE ESXi hosts, WINDOWS HYPER-V hosts, bare metal physical hosts, etc. Network Environment <NUM> may interoperate with a variety of Hypervisors <NUM>, Servers <NUM> (e.g., physical and/or virtual servers), SDN orchestration platforms, etc. Network Environment <NUM> may implement a declarative model to allow its integration with application design and holistic network policy.

Controllers <NUM> can provide centralized access to fabric information, application configuration, resource configuration, application-level configuration modeling for a software-defined network (SDN) infrastructure, integration with management systems or servers, etc. Controllers <NUM> can form a control plane that interfaces with an application plane via northbound APIs and a data plane via southbound APIs.

As previously noted, Controllers <NUM> can define and manage application-level model(s) for configurations in Network Environment <NUM>. In some cases, application or device configurations can also be managed and/or defined by other components in the network. For example, a hypervisor or virtual appliance, such as a VM or container, can run a server or management tool to manage software and services in Network Environment <NUM>, including configurations and settings for virtual appliances.

As illustrated above, Network Environment <NUM> can include one or more different types of SDN solutions, hosts, etc. For the sake of clarity and explanation purposes, various examples in the disclosure will be described with reference to an ACI framework, and Controllers <NUM> may be interchangeably referenced as controllers, APICs, or APIC controllers. However, it should be noted that the technologies and concepts herein are not limited to ACI solutions and may be implemented in other architectures and scenarios, including other SDN solutions as well as other types of networks which may not deploy an SDN solution.

Further, as referenced herein, the term "hosts" can refer to Servers <NUM> (e.g., physical or logical), Hypervisors <NUM>, VMs <NUM>, containers (e.g., Applications <NUM>), etc., and can run or include any type of server or application solution. Non-limiting examples of "hosts" can include virtual switches or routers, such as distributed virtual switches (DVS), application virtual switches (AVS), vector packet processing (VPP) switches; VCENTER and NSX MANAGERS; bare metal physical hosts; HYPER-V hosts; VMs; DOCKER Containers; etc..

<FIG> illustrates another example of Network Environment <NUM>. In this example, Network Environment <NUM> includes Endpoints <NUM> connected to Leafs <NUM> in Fabric <NUM>. Endpoints <NUM> can be physical and/or logical or virtual entities, such as servers, clients, VMs, hypervisors, software containers, applications, resources, network devices, workloads, etc. For example, an Endpoint <NUM> can be an object that represents a physical device (e.g., server, client, switch, etc.), an application (e.g., web application, database application, etc.), a logical or virtual resource (e.g., a virtual switch, a virtual service appliance, a virtualized network function (VNF), a VM, a service chain, etc.), a container running a software resource (e.g., an application, an appliance, a VNF, a service chain, etc.), storage, a workload or workload engine, etc. Endpoints <NUM> can have an address (e.g., an identity), a location (e.g., host, network segment, virtual routing and forwarding (VRF) instance, domain, etc.), one or more attributes (e.g., name, type, version, patch level, OS name, OS type, etc.), a tag (e.g., security tag), a profile, etc..

Endpoints <NUM> can be associated with respective Logical Groups <NUM>. Logical Groups <NUM> can be logical entities containing endpoints (physical and/or logical or virtual) grouped together according to one or more attributes, such as endpoint type (e.g., VM type, workload type, application type, etc.), one or more requirements (e.g., policy requirements, security requirements, QoS requirements, customer requirements, resource requirements, etc.), a resource name (e.g., VM name, application name, etc.), a profile, platform or operating system (OS) characteristics (e.g., OS type or name including guest and/or host OS, etc.), an associated network or tenant, one or more policies, a tag, etc. For example, a logical group can be an object representing a collection of endpoints grouped together. To illustrate, Logical Group <NUM> can contain client endpoints, Logical Group <NUM> can contain web server endpoints, Logical Group <NUM> can contain application server endpoints, Logical Group N can contain database server endpoints, etc. In some examples, Logical Groups <NUM> are EPGs in an ACI environment and/or other logical groups (e.g., SGs) in another SDN environment.

Traffic to and/or from Endpoints <NUM> can be classified, processed, managed, etc., based Logical Groups <NUM>. For example, Logical Groups <NUM> can be used to classify traffic to or from Endpoints <NUM>, apply policies to traffic to or from Endpoints <NUM>, define relationships between Endpoints <NUM>, define roles of Endpoints <NUM> (e.g., whether an endpoint consumes or provides a service, etc.), apply rules to traffic to or from Endpoints <NUM>, apply filters or access control lists (ACLs) to traffic to or from Endpoints <NUM>, define communication paths for traffic to or from Endpoints <NUM>, enforce requirements associated with Endpoints <NUM>, implement security and other configurations associated with Endpoints <NUM>, etc..

In an ACI environment, Logical Groups <NUM> can be EPGs used to define contracts in the ACI. Contracts can include rules specifying what and how communications between EPGs take place. For example, a contract can define what provides a service, what consumes a service, and what policy objects are related to that consumption relationship. A contract can include a policy that defines the communication path and all related elements of a communication or relationship between endpoints or EPGs. For example, a Web EPG can provide a service that a Client EPG consumes, and that consumption can be subject to a filter (ACL) and a service graph that includes one or more services, such as firewall inspection services and server load balancing.

<FIG> illustrates an example wireless communication network <NUM> in which some aspects of the technology can be implemented. Specifically, the wireless communication network <NUM> can form, at least in part, a TCP connection and include an initiator and/or receiver in a TCP connection. Correspondingly, the wireless communication network <NUM> can be used to transmit data through the TCP connection.

<FIG> illustrates an Access Point (AP), configured for wireless communication with multiple receivers or client devices (e.g., STA1, STA2, and STA3). It is understood that additional (or fewer) STAs and/or APs could be implemented in network <NUM>, without departing from the scope of the technology.

The AP may have access or interface to a Distribution System (DS) or another type of wired/wireless network that may carry traffic in and out of a BSS (not illustrated). Thus traffic to STAs can originate from outside the BSS, and arrive through the AP for delivery to the STAs. Conversely, traffic originating from STAs to destinations outside the BSS can be sent to the AP to be delivered to the respective destinations. Traffic between STAs within the BSS can be sent through the AP where the source STA may send traffic to the AP and the AP may deliver the traffic to the destination STA. The traffic between STAs within a BSS may be peer-to-peer traffic.

Using the IEEE <NUM> infrastructure mode of operation, the AP can transmit on a fixed channel, for example that is <NUM> wide, and designated as the operating channel of the BSS. This channel may also be used by the STAs to establish a connection with the AP. The channel access in an IEEE <NUM> system may be Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). In this mode of operation, the STAs, including the AP, can sense the primary channel. If the channel is detected to be busy, the STA may back off. If the channel is detected to be free, the STA may acquire the channel and transmit data.

It is understood that network <NUM> can implement various wireless standards using different channel sizes (bandwidths), without departing from the technology. By way of example, IEEE <NUM>. 11n, High Throughput (HT) STAs may be used, e.g., implementing a <NUM> communication channel. This can be achieved, for example, by combining a primary <NUM> channel, with an adjacent <NUM> channel to form a <NUM> wide contiguous channel. In IEEE <NUM>. 11a/c, very high throughput (VHT) STAs can also be supported, e.g., <NUM>, <NUM>, <NUM>, and/or <NUM> wide channels. The <NUM>, and <NUM>, channels can be formed, e.g., by combining contiguous <NUM> channels. A <NUM> channel may be formed, for example, by combining eight contiguous <NUM> channels, or by combining two non-contiguous <NUM> channels (e.g., referred to as an <NUM>+<NUM> configuration).

In the event of a power outage, networks usually run on backup power. However, the network does not know that it is running on backup power, and continues to consume power normally. As a result, backup power is used up faster than is necessary.

In order to conserve battery power, current systems control power delivery from the UPS side. Specifically, a UPS can shut off power to devices coupled to the UPS through different ports of the UPS. More specifically, the UPS can conserve battery power by shutting off a port and therefore refraining from delivering power to all network devices coupled to the port. This port-by-port technique for conserving power is problematic as often times numerous network devices draw power through a single port. In particular network devices that are both critical and not critical to network environment operation can draw power through the same port. In turn, shutting off the port can lead to critical network devices failing to receive backup power.

The present includes systems, methods, and computer-readable mediums for controlling backup power consumption by network devices in a network environment. A backup power consumption plan for controlling power consumption by network devices of a network environment from an uninterruptible power supply (UPS) can be identified. The backup power consumption plan can be defined by an administrator of the network environment. Further, the backup power consumption plan can define one or more specific backup power up-times for one or more network devices of the network devices. An interruption of power delivery over a main power delivery channel to the network devices can be detected during operation of the network devices. Power consumption by the network device from the UPS can be controlled on a per-device basis according to the backup power consumption plan in response to detecting the interruption of power delivery over the main power delivery channel to the network devices.

<FIG> illustrates an example network environment <NUM> for controlling backup power consumption by network devices within the network environment <NUM>. Specifically backup power consumption in the network environment <NUM> can be controlled to more conservatively use backup power when compared to standard network environments. In particular and as will be discussed in greater detail later, backup power consumption in the network environment <NUM> can be controlled on a per-device basis in order to more conservatively use backup power when compared to standard network environments.

The network environment <NUM> can be implemented with an applicable network environment for providing network services to clients. Specifically, the network environment <NUM> can be implemented with or as part of the environments shown in <FIG>. For example, the network environment <NUM> can be implemented as part of an applicable wireless environment, such as the wireless communication network <NUM> shown in <FIG>, for providing wireless access to network services.

The example network environment <NUM> shown in <FIG> includes a first network device <NUM>-<NUM>, a second network device <NUM>-<NUM>, and a third network device <NUM>-<NUM> (network devices <NUM>). The network devices <NUM> can function according to applicable devices for providing network service access through the network environment <NUM>. For example, the network devices <NUM> can include switches for providing network service access through the network environment <NUM>. Further, the network devices <NUM> can function according to applicable devices for providing wireless access to network services through the network environment <NUM>. In particular, the network devices <NUM> can be access points that function according to an applicable wireless protocol, e.g. the IEEE <NUM> family of protocols, to provide clients wireless access to network services.

The example network environment <NUM> also includes a UPS <NUM> and a power management system <NUM>. The UPS <NUM> functions to deliver backup power to the network devices <NUM>. Specifically, the network devices <NUM> can be configured to receive power over a main power delivery channel during normal operation in the network environment <NUM>. For example, the network devices <NUM> can receive power from Power over Ethernet serving as a main power delivery channel during normal operation in the network environment <NUM>. As follows, the UPS <NUM> can deliver power to the network devices <NUM> in response to an interruption of power delivery over the main power delivery channel to the network devices <NUM>. For example, the main power delivery channel is an AC inline power channel configured to deliver power to the network devices <NUM>. Further in the example, if the AC inline power channel fails, then the UPS <NUM> can deliver power to the network devices <NUM> to facilitate continued operation of the network devices <NUM>. In another example, if the main power delivery channel fails to delivery enough power to adequately power the network devices <NUM> in operation, e.g. a brownout, then the UPS <NUM> can deliver power to the network devices <NUM>.

The network environment <NUM> can include other network devices, e.g. routers and switches, coupled between the network devices <NUM> and the UPS <NUM>. For example, the network environment <NUM> can be formed by access points, implemented as the network devices <NUM>, and routers and switches coupled between the UPS <NUM> and the network devices <NUM>. In turn, the routers and switches coupled between the UPS <NUM> and the network devices <NUM> can deliver power, e.g. POE, to the network devices <NUM>, from a main power channel and the UPS <NUM>.

The UPS <NUM> can be an applicable power source for delivering power to the network devices <NUM> in operating in the network environment <NUM> when a main power delivery channel for the network devices <NUM> fails, e.g. through either a blackout or a brownout. Specifically, the UPS <NUM> can provide nearly instantaneous power to the network devices <NUM> in response to a failure of power delivery to the network devices <NUM> over a main power delivery channel of the network devices <NUM>. For example the UPS <NUM> can include one or more batteries that are configured to provide power to the network devices <NUM> nearly instantaneously when a main power delivery channel of the network devices <NUM> fails.

The UPS <NUM> can be coupled to a main power delivery channel for the network devices <NUM>. Specifically, the main power delivery channel of the network devices <NUM> can provide power to the UPS <NUM> during operation of the network devices <NUM>. For example, batteries of the UPS <NUM> can be charged by an AC inline power channel that serves as a man power delivery channel for the network devices <NUM>. Subsequently, when the main power delivery channel fails, the UPS <NUM> can supplement the main power delivery channel and provide power to the network devices <NUM>. As will be discussed in greater detail later, the UPS <NUM> can detect that the main power delivery channel has failed in providing power to the network devices <NUM>, e.g. through an AC inline power channel. Subsequently, the UPS <NUM> can deliver power to the network devices <NUM> in response to the main power delivery channel failing to transmit power to the network devices <NUM>. Specifically, the UPS <NUM> can provide stored power received from the AC inline power channel to the network devices <NUM> in response to the AC inline power channel failing.

Network devices are typically connected to the UPS <NUM> in groups through specific ports that are grouped into banks. Specifically, network devices connected to the UPS <NUM> through a single bank can form a group of network devices. A single relay can control power delivery to each bank of network devices. As follows, the UPS <NUM> can deliver power to groups of network devices on a per-bank basis. For example, as shown in the example environment <NUM>, the network devices <NUM> are all connected to a single bank of the UPS <NUM> through corresponding ports. In turn, the UPS <NUM> delivers backup power on a per-bank basis, thereby providing power to all of the network devices <NUM> as they are connected to the same port.

Delivering power on a per-bank basis presents challenges in selectively controlling how backup power is delivered and conserving backup power in the event of main power delivery channel failure, e.g. through a blackout or brownout. In particular, the UPS <NUM> can be configured to shut off specific banks and refrain from delivering power to groups of network devices within the specific banks. However, this is problematic as a network device in a shut off bank might be a critical device, e.g. a device that should receive backup power in the event of a main power channel failure. Specifically, the UPS <NUM> might shut off a bank and thereby fail to deliver backup power that is necessary for continued operation of the network environment <NUM>. This creates the need for the ability to control power consumption from the UPS <NUM> on a per-device basis. Specifically, this creates the need for the ability to control power consumption from the perspective of the network devices <NUM>, e.g. on the device side, as opposed to controlling power delivery from the UPS <NUM> from the perspective of the UPS <NUM>, e.g. on the UPS side.

In typical network environments, switches and routers are directly connected to a UPS while other network equipment and devices coupled to the switches and routers are powered through Power over Ethernet provided through ports at the switches and routers. In turn, the network devices, e.g. access points, receive backup power from the UPS from the switches and routers and not directly from the UPS itself. The switches can be controlled to regulate backup power delivery to the network devices. Specifically, each network device can be coupled to a switch and/or router through a single corresponding port. As follows, each port at the switches and routers can be controlled on a per-port basis to individually control power consumption on a per-device basis of the corresponding network devices coupled to the switches and routers. For example, a port on a switch can be shut off to stop backup power consumption by a device coupled to the port, effectively controlling backup power consumption at the switch on a per-port/per-device basis.

The power management system <NUM> functions to control backup power consumption of the network devices <NUM>. Specifically, the power management system <NUM> functions to control an amount of backup power consumed by the network devices <NUM> from the UPS <NUM> in the network environment <NUM>. In controlling an amount of backup power consumed by the network devices <NUM>, the power management system <NUM> can control operation of the network devices <NUM>. For example and as will be discussed in greater detail later, the power management system <NUM> can configure the network devices <NUM> to operate in a low power mode, e.g. a mode that consumes less power than a normal operation mode of the network devices <NUM>. By controlling operation of the network devices <NUM> to control an amount of consumed backup power, the power management system <NUM> can effectively control backup power consumption from the device side. This is opposed to typical power control which, as discussed previously, occurs from the UPS side through bank activation and deactivation at the UPS <NUM>. Further, this is opposed to typical power control which directly controls power delivery from the UPS <NUM> and subsequently power consumption by the network devices <NUM>, instead of controlling actual power consumption by the network devices <NUM> and subsequently power delivery from the UPS <NUM>.

Further, in controlling backup power consumption by the network devices <NUM> from the UPS <NUM>, the power management system <NUM> can control power delivery through network devices coupled between the UPS <NUM> and the network devices <NUM>. For example, the power management system <NUM> can control switches and routers coupled between the UPS <NUM> and the network devices <NUM> to control backup power consumption by the network devices <NUM> according to a backup power consumption plan. Specifically, the power management system <NUM> can control corresponding ports used to couple the network devices <NUM> to a switch or router to control backup power delivery and corresponding power consumption by the network devices <NUM> according to backup power consumption plan. For example, if a backup power consumption plan specifies to turn off the first network device <NUM>-<NUM>, e.g. the first network device <NUM>-<NUM> is a non-critical network device, then the power management system <NUM> can control a switch coupled to the network device <NUM>-<NUM> to stop providing POE to the network device <NUM>-<NUM>. Specifically, the power management system <NUM> can shut off a port coupling the switch to the network device <NUM>-<NUM> in order to shut off backup power delivery to the network device <NUM>-<NUM>.

By controlling operation of the network devices <NUM> to control an amount of backup power consumed by the network devices <NUM>, the power management system <NUM> can control backup power consumption on a per-device basis. For example, the power management system <NUM> can turn off the first network device <NUM>-<NUM>. Further in the example, the power management system <NUM> can leave the third network device <NUM>-<NUM> operating in a normal operation mode. By controlling power consumption on a per-device basis, the power management system <NUM> can solve the previously described problems associated with controlling power delivery on a per-bank basis from the UPS <NUM>. Specifically, the power management system <NUM> can leave critical devices on, thereby helping to ensure that the critical devices remain operational for as long as possible when the network environment <NUM> is operating off of backup power.

The power management system <NUM> can be implemented locally within the network environment <NUM>. For example, the power management system <NUM> can be implemented, at least in part, locally at the network devices <NUM>. As follows, the power management system <NUM> can locally control operation of the network devices <NUM> from the network devices <NUM> to control backup power consumption. Further, the power management system <NUM> can be implemented, at least in part, locally at the UPS <NUM>. As follows, the power management system <NUM> can locally control operation of the network devices <NUM> from the UPS <NUM> to control backup power consumption. Additionally, the power management system <NUM> can be implemented remote from the network environment <NUM>. For example, the power management system <NUM> can be implemented in a cloud environment. As follows, the power management system <NUM> can remotely control operation of the network devices <NUM> from the cloud environment.

Further, the power management system <NUM> can control backup power consumption by the network devices <NUM> in response to a failure of a main power delivery channel in delivering power to the network devices <NUM>. Specifically, the power management system <NUM> can control operation of the network devices <NUM> in consuming backup power, in response to the main power delivery channel failing to deliver power to the network devices <NUM>. In various embodiments, the power management system <NUM> can actually detect that a main power delivery channel is failing to provide power to the network devices <NUM>. Further, the UPS <NUM>, e.g. the power management system <NUM> implemented at the UPS <NUM>, can detect that a main power delivery channel is failing to deliver power to the network devices <NUM>. Specifically, the UPS <NUM> can receive AC inline power from a main power delivery channel of the network devices <NUM> and detect when the main power delivery channel is no longer providing power to the UPS <NUM>. The UPS <NUM> can then provide backup power to the network environment <NUM>. In turn, the power management system <NUM> can control operation of the network devices <NUM> in consuming backup power in response to the UPS <NUM> detecting the failure of the main power delivery channel. For example, the UPS <NUM> can communicate to the power management system <NUM>, e.g. a cloud-based power management system, that the main power delivery channel has failed. As follows, the power management system <NUM> can control, e.g. remotely, the operation of the network devices <NUM> in consuming backup power provided by the UPS <NUM>.

The power management system <NUM> can control power consumption of the network devices <NUM> according to a backup power consumption plan. In particular, the power management system <NUM> can control power consumption of the network devices <NUM> according to a backup power consumption plan in response to an interruption of power delivery over a main power delivery channel to the network devices <NUM>. A backup power consumption plan can indicate how to operate specific network devices in the network environment <NUM> when the network environment is operating using backup power, e.g. power provided by the UPS <NUM>. Specifically, the power management system <NUM> can selectively control operation of the network devices <NUM> according to the backup power consumption plan, to control backup power consumption by the network devices <NUM>. A backup power consumption plan, as will be described in greater detail later, can be defined by a user, e.g. an administrator, associated with the network environment <NUM>. Accordingly, a network administrator can use a backup power consumption plan to effectively control power consumption within the network environment <NUM>.

The backup power consumption plan can define specific backup power up-times for the network devices <NUM>. A backup power up-time specifies an amount of time to keep a network device running in a specific operation mode using backup power before the network device is powered down, e.g. because the backup power has run out or the network device is selectively powered down. Specifically, a backup power up-time can specify an amount of time to keep a network device running in a normal operation mode before powering down the network device. The backup power up-times can be specific to each of the network devices <NUM>. For example, a backup power up-time for the first network device <NUM>-<NUM> can be less than a backup power up-time for the second network device <NUM>-<NUM>. In controlling operation of the network devices <NUM> according to backup power up-times, as indicated by the backup power consumption plan, the power management system <NUM> can allow the network devices <NUM> to continue operating using backup power for the specific backup power up-times for the network devices <NUM>. Once the backup power up-times for the network devices <NUM> has passed, then the power management system <NUM> can power down the network devices <NUM>.

Backup power up-times for the network devices <NUM> can be defined by a user/administrator associated with the network environment <NUM>. For example, a user can be presented with a list of devices and functions of the devices in the network environment <NUM> and manually define power up-times for the devices using the list of devices. A user-defined power up-time for a network device can be a desired up-time for the network device. Alternatively, a user-defined power up-time for a network device can include a range of desired up-times for the network device. The power management system <NUM>, using the techniques described herein, can ensure that the desired power up-time will be met or nearly met, even when additional network devices are added to the network environment <NUM>. This can alleviate the need for administrators to upgrade the UPS <NUM> or purchase additional UPSs for the network environment <NUM> as devices are added to the network environment <NUM>.

Further, the backup power consumption plan can define critical devices of the network devices <NUM>. A critical network device, as used herein, is a device that should be allowed to consume backup power from the UPS <NUM> for as long as possible, e.g. as long as the UPS <NUM> can provide backup power. Specifically, a critical network device can include a network device that is necessary or essential to operation of the network environment <NUM> and should therefore continue to operate/consume backup power when the network environment <NUM> is operating off of backup power. A user can specify critical network devices in the network environment <NUM>. For example, an administrator can be presented with a list of network devices in the network environment <NUM> and functions of the network devices in the network environment <NUM>. Further in the example, the administrator can define the critical network devices in the network environment <NUM> using the list of network devices. In controlling operation of the defined critical devices, the power management system <NUM> can control the critical devices to continue operating when the network environment <NUM> is operating off of backup power. Specifically, the power management system <NUM> can allow the critical devices to continue to operate normally, and potentially for as long as possible, when the network environment <NUM> begins to run on backup power.

Additionally, the backup power consumption plan can define non-critical network devices of the network devices <NUM>. A non-critical device, as used herein, is a device that should be powered off to refrain from consuming backup power from the UPS <NUM> when the UPS is providing backup power. Specifically, a non-critical network device can include a network device that is not necessary or essential to operation of the network environment <NUM> and should therefore refrain from operating/consuming backup power when the network environment <NUM> is operating off of backup power. A user can specify non-critical network devices in the network environment <NUM>. For example, an administrator can be presented with a list of network devices in the network environment <NUM> and functions of the network devices in the network environment <NUM>. Further in the example, the administrator can define the non-critical network devices in the network environment <NUM> using the list of network devices. In controlling operation of the defined non-critical devices, the power management system <NUM> can power down the non-critical devices when the network environment <NUM> is operating off of backup power.

The backup power consumption plan can define dynamic power network devices of the network devices <NUM>. A dynamic power network device, as used herein, is a network device that can be configured to operate in a different mode, e.g. a low power mode, from a normal operation mode of the network device. Specifically, a dynamic power network device can be configured to operate in a low power mode instead of a normal power mode when the network environment <NUM> is operating off of backup power. A low power mode can include a mode of operation of a network device that consumes less power than a normal operation mode of the network device. Further, a low power mode of a network device can be defined by characteristics of operation of a network device functioning in the low power mode. For example, a low power mode can be achieved by turning off certain features of a network device, i.e. characteristics of operation of the low power mode. In controlling operation of the defined dynamic power network devices, the power management system <NUM> can reconfigure the devices to switch from operating in a normal mode to a low power mode. Specifically, the power management system <NUM> can reconfigure the devices to operate in a low power mode when the network environment <NUM> is operating off of backup power.

Dynamic power network devices of the network devices <NUM> can be defined by a user/administrator of the network environment <NUM>. For example, an administrator can be presented with a list of network devices in the network environment <NUM> and functions of the network devices in the network environment <NUM>. Further in the example, the administrator can define the dynamic power network devices in the network environment <NUM> using the list of network devices. Further, characteristics of operation of the dynamic power network device, e.g. characteristics of operation of a low power mode of the dynamic power network device, can be defined by a user/administrator of the network environment <NUM>. For example, an administrator can identify specific functions of the dynamic power network device to disable when the dynamic power network device is configured to operate in the low power mode.

The power management system <NUM> can automatically define dynamic power network devices in the network environment <NUM>, critical and non-critical devices in the network environment <NUM>, and power up-times for network devices in the network environment <NUM>. Further, the power management system <NUM> can automatically define characteristics of operation of a low power mode for a dynamic power network device. The power management system <NUM> can define dynamic power network devices, critical and non-critical network devices, power up-times for network devices and characteristics of operation of a low power mode automatically based on operation of the network devices <NUM> to provide network service access. For example, if the first network device <NUM>-<NUM> is operating to provide network service access to a large number of clients, then the power management system <NUM> can tag the device as a critical network device. In another example, if the second network device <NUM>-<NUM> is not using a specific port to provide network service access, then the power management system <NUM> can specify powering down the port for operation of the second network device <NUM>-<NUM> in a low power mode.

The power management system <NUM> can gather and/or generate power analytics of devices in the network environment <NUM>. Power analytics can include applicable power characteristics of devices operating in the network environment <NUM>. Specifically, power analytics can include an amount of power consumed by each network device and an amount of power consumed by each component and function of the network device. Power analytics can be gathered from either or both the UPS <NUM> and switches and routers coupled between the UPS <NUM> and the network device devices <NUM>. Further power analytics can be specific to the location where the power analytics are generated. Specifically, power analytics can specify power consumed by/power delivered to the switches and routers coupled between the UPS <NUM> and the network devices <NUM> when the power analytics are gathered from the UPS <NUM>. Further, power analytics can specify power consumed by/delivered to the network devices <NUM> through corresponding ports on the switches and routers when the power analytics are gathered from the switches and routers between the network devices <NUM> and the UPS <NUM>. Power analytics can be generated in real time. Subsequently, the power analytics can be presented to a user/administrator in real time. Power analytics can be generated/gathered based on operation of the network environment <NUM> from power delivered through the main power delivery channel. For example power analytics can be generated based on normal operation of the network devices <NUM> in the network environment <NUM> using power delivery through the main power delivery channel to the network devices <NUM>, e.g. through routers and switches.

The power management system <NUM> can present the power analytics to a user through an interface, e.g. a dashboard. The user can then utilize the power analytics to define/modify a backup power consumption plan for the network environment <NUM>. For example, the power management system <NUM> can present a list of current power up-times for network devices, e.g. as part of power analytics, to a user and an amount of power each network device is using in operation. The user can then modify the power up-times for the network devices using the list of current power up-times and the amount of power each network device consumes in operation. Further in the example, the user can identify devices as critical or non-critical devices based on the current power up-times for the network devices.

When the power management system <NUM> is implemented remote from the network devices <NUM>, the power management system <NUM> can provide instructions to the network devices <NUM> for consuming backup power. Specifically, the power management system <NUM> can send backup power consumption instructions to the network devices <NUM> for controlling backup power consumption. Subsequently, when the network environment <NUM> begins consuming backup power from the UPS <NUM>, the network devices <NUM> can use the backup power consumption instructions to operate according to the backup power consumption instructions, e.g. according to a backup power consumption plan. The power management system <NUM> can generate the backup power consumption instructions according to a backup power consumption plan. For example, if a backup power consumption plan indicates that a device should operate as a critical device, then the power management system <NUM> can generate instructions that direct the network device to continue consuming power in a normal operation mode during backup power operation.

<FIG> illustrates a flowchart for an example method of controlling backup power consumption by network devices in a network environment. The method shown in <FIG> is provided by way of example, as there are a variety of ways to carry out the method. Additionally, while the example method is illustrated with a particular order of steps, those of ordinary skill in the art will appreciate that <FIG> and the modules shown therein can be executed in any order and can include fewer or more modules than illustrated.

Each module shown in <FIG> represents one or more steps, processes, methods or routines in the method. For the sake of clarity and explanation purposes, the modules in <FIG> are described with reference to the environment <NUM> shown in <FIG>.

At step <NUM>, the power management system <NUM> identifies a backup power consumption plan for controlling power consumption by the network devices <NUM> in the network environment <NUM>. The power management system <NUM> can identify the backup power consumption plan based on input received from an administrator of the network environment <NUM>. Specifically, the power management system <NUM> can present power analytics to the administrator who can provide input based on the power analytics. As follows, the power management system <NUM> can identify the backup power consumption plan using the administrator input generated based on the power analytics. Further, the power management system <NUM> can identify the backup power consumption plan automatically, e.g. without input from an administrator. Specifically, the power management system <NUM> can identify the backup power consumption plan automatically based on operation of the network devices in the network environment.

At step <NUM>, an interruption of power delivery over a main power delivery channel to the network devices <NUM> is detected. The interruption of power delivery can be detected by the UPS <NUM>. Further, the interruption of power delivery can be detected by the power management system <NUM>. For example, the UPS <NUM> can send a message to the power management system <NUM> indicating that the UPS <NUM> is no longer receiving inline power over the main power delivery channel. As follows, the power management system <NUM> can detect the interruption of power delivery over the main power delivery channel in response to the message received from the UPS <NUM>.

At step <NUM>, the power management system <NUM> selectively controls power consumption by the network devices <NUM> from the UPS <NUM> on a per-device basis according to the backup power consumption plan. Specifically, the power management system <NUM> can selectively control power consumption of the network devices <NUM> on a per-device basis in response to detecting the interruption of power delivery over the main power delivery channel to the network devices <NUM>. In selectively controlling power consumption by the network devices <NUM>, the power management system <NUM> can control operation of the network devices <NUM> in the network environment <NUM>. For example, the power management system <NUM> can cause the network devices <NUM> to turn off, begin operating in a low power mode, or continue operating in a normal operation mode.

The disclosure now turns to <FIG> and <FIG>, which illustrate example network devices and computing devices, such as switches, routers, load balancers, client devices, and so forth.

<FIG> illustrates a computing system architecture <NUM> wherein the components of the system are in electrical communication with each other using a connection <NUM>, such as a bus. Exemplary system <NUM> includes a processing unit (CPU or processor) <NUM> and a system connection <NUM> that couples various system components including the system memory <NUM>, such as read only memory (ROM) <NUM> and random access memory (RAM) <NUM>, to the processor <NUM>. The system <NUM> can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor <NUM>. The system <NUM> can copy data from the memory <NUM> and/or the storage device <NUM> to the cache <NUM> for quick access by the processor <NUM>. In this way, the cache can provide a performance boost that avoids processor <NUM> delays while waiting for data. These and other modules can control or be configured to control the processor <NUM> to perform various actions. Other system memory <NUM> may be available for use as well. The memory <NUM> can include multiple different types of memory with different performance characteristics. The processor <NUM> can include any general purpose processor and a hardware or software service, such as service <NUM><NUM>, service <NUM><NUM>, and service <NUM><NUM> stored in storage device <NUM>, configured to control the processor <NUM> as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor <NUM> may be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

To enable user interaction with the computing device <NUM>, an input device <NUM> can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device <NUM> can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the computing device <NUM>. The communications interface <NUM> can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

The storage device <NUM> can include services <NUM>, <NUM>, <NUM> for controlling the processor <NUM>. Other hardware or software modules are contemplated. The storage device <NUM> can be connected to the system connection <NUM>. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor <NUM>, connection <NUM>, output device <NUM>, and so forth, to carry out the function.

<FIG> illustrates an example network device <NUM> suitable for performing switching, routing, load balancing, and other networking operations. Network device <NUM> includes a central processing unit (CPU) <NUM>, interfaces <NUM>, and a bus <NUM> (e.g., a PCI bus). When acting under the control of appropriate software or firmware, the CPU <NUM> is responsible for executing packet management, error detection, and/or routing functions. The CPU <NUM> preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications software. CPU <NUM> may include one or more processors <NUM>, such as a processor from the INTEL X86 family of microprocessors. In some cases, processor <NUM> can be specially designed hardware for controlling the operations of network device <NUM>. In some cases, a memory <NUM> (e.g., non-volatile RAM, ROM, etc.) also forms part of CPU <NUM>. However, there are many different ways in which memory could be coupled to the system.

The interfaces <NUM> are typically provided as modular interface cards (sometimes referred to as "line cards"). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with the network device <NUM>. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast token ring interfaces, wireless interfaces, Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, WIFI interfaces, <NUM>/<NUM>/<NUM> cellular interfaces, CAN BUS, LoRA, and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control, signal processing, crypto processing, and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master CPU <NUM> to efficiently perform routing computations, network diagnostics, security functions, etc..

Although the system shown in <FIG> is one specific network device of the present technology, it is by no means the only network device architecture on which the present technology can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc., is often used. Further, other types of interfaces and media could also be used with the network device <NUM>.

The network device <NUM> can also include an application-specific integrated circuit (ASIC), which can be configured to perform routing and/or switching operations. The ASIC can communicate with other components in the network device <NUM> via the bus <NUM>, to exchange data and signals and coordinate various types of operations by the network device <NUM>, such as routing, switching, and/or data storage operations, for example.

In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like and there is provided computer-readable storage devices, mediums, and memories carrying instructions for execution by one or more processors so as to cause the pone or more processors to bring about performance of any of the methods described herein.

Claim 1:
A method comprising:
identifying a backup power consumption plan for controlling power consumption by network devices of a network environment (<NUM>) from an uninterruptible power supply, UPS, (<NUM>) of the network environment (<NUM>);
detecting an interruption of power delivery over a main power delivery channel to the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) during operation of the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>); and
selectively controlling power consumption by the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) from the UPS (<NUM>) on a per-device basis according to the backup power consumption plan in response to detecting the interruption of power delivery over the main power delivery channel to the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>),
the method further comprising controlling power consumption by the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) from the UPS (<NUM>) by controlling power delivery through ports of one or more switches and/or routers coupled between the network devices (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) and the UPS (<NUM>) on a per-port basis.