EP3544228B1 - Selective modification of power states based on conditions - Google Patents
Selective modification of power states based on conditions Download PDFInfo
- Publication number
- EP3544228B1 EP3544228B1 EP19163267.8A EP19163267A EP3544228B1 EP 3544228 B1 EP3544228 B1 EP 3544228B1 EP 19163267 A EP19163267 A EP 19163267A EP 3544228 B1 EP3544228 B1 EP 3544228B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- packet processing
- power state
- processing component
- modify
- power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012986 modification Methods 0.000 title claims description 32
- 230000004048 modification Effects 0.000 title claims description 32
- 238000012545 processing Methods 0.000 claims description 417
- 238000000034 method Methods 0.000 claims description 69
- 238000010801 machine learning Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 29
- 239000004744 fabric Substances 0.000 description 20
- 230000015654 memory Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/40—Constructional details, e.g. power supply, mechanical construction or backplane
- H04L49/405—Physical details, e.g. power supply, mechanical construction or backplane of ATM switches
Definitions
- a network device may include a group of packet processing components for performing packet switching functions, packet routing functions, route lookup functions, and/or the like.
- the group of packet processing components may be powered on and off using one or more power supply switches.
- Existing prior art includes US 2016/378160 , which relates to a hardware processor with a power transaction unit to perform transactional power management; US 2018/074570 , which relates to techniques for power aware switching using analytics in communications networks; and US 2014/365787 , which relates to techniques for dynamically applying power policies to a computing environment.
- none of these documents teach, at least, an approach of, when determining whether to modify the power state of a packet processing component, to: monitor capacity levels for one or more additional packet processing components, of one or more groups of packet processing components, that are powered on and receiving traffic, wherein the packet processing component, of the one or more groups of packet processing components, is in the no power state or the low power state and is not receiving traffic, determine that a capacity level for a particular packet processing component, of the one or more additional packet processing components, satisfies a threshold capacity level, and determine to modify the power state of the packet processing component based on determining that the capacity level for the particular packet processing component satisfies the threshold capacity level; and wherein the one or more processors, when modifying the power state of the packet processing component, are to: modify the power state to the full power state to enable the packet processing component to receive traffic and to reduce the capacity level of the particular packet processing component.
- a network device described herein may include one or more line cards that support one or more groups of packet processing components and one or more processors.
- the one or more processors may execute a scanning technique to identify a configuration of resources that are to support the one or more groups of packet processing components.
- the configuration may include a power supply configuration that is used to provide power to the one or more groups of packet processing components, and a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components.
- the one or more processors may determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied.
- the one or more processors may modify the power state of the packet processing component based on determining that the power modification condition is satisfied.
- the power state may be capable of being modified to a full power state, a low power state, or a no power state.
- the power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources that is to support the one or more groups of packet processing components.
- a computer-readable medium described herein may store one or more instructions that, when executed by one or more processors, causethe one or more processors to execute a scanning technique to identify a configuration of resources that are to support one or more line cards that are attachable to a device associated with the one or more processors.
- the configuration may include a power supply configuration that is used to provide power to one or more groups of packet processing components that are supported by the one or more line cards and/or a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components.
- the one or more instructions may cause the one or more processors to determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied.
- the one or more instructions may cause the one or more processors to modify the power state of the packet processing component based on determining that the power modification condition is satisfied.
- the power state may be capable of being modified from a first power state to: a second power state or to a third power state.
- the power state of the packet processing component may be able to be modified to the second power state or to the third power state based on the configuration of resources that support the one or more line cards.
- a method described herein may include identifying, by a network device, a configuration of resources that are to support one or more line cards that are attachable to the network device.
- the configuration may include a power supply configuration that is used to provide power to one or more groups of packet processing components that are supported by the one or more line cards, and a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components.
- the method may include determining, by the network device, whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether one or more power modification conditions are satisfied.
- the method may include modifying, by the network device, the power state of the packet processing component based on determining that the power modification condition is satisfied.
- the power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources supporting the one or more groups of packet processing components.
- a network device may support a set of line cards that include packet processing components for performing packet switching functions, packet routing functions, route lookup functions, and/or the like. Additionally, organizations that sell network devices often focus on developing new features and functionality for line cards. This allows existing customers to simply replace older line cards with newer line cards, without having the replace the entire network device.
- each line card would be manufactured and configured to support one packet processing component. This would allow the packet processing component to use a dedicated power supply, thereby allowing the packet processing component to be turned on and off without issue.
- line cards were manufactured to support multiple packet processing components. As described below, line cards have been manufactured that include a variety of different resource configurations, and are supported by network devices with a variety of different power supply configurations.
- a network device may be configured with a first line card that has separate resources reserved for each packet processing component.
- each packet processing component may be supported using separate integrated circuits, may utilize separate memories, may have separate connections to a switching fabric of the network device, and/or the like.
- the same network device may be configured with a second line card that has shared resources between multiple packet processing components.
- two or more packet processing components may be supported using the same integrated circuit, may utilize the same memories, may share a connection to the switching fabric of the network device, and/or the like.
- the network device may support line cards using power supply configurations that share power supplies between packet processing components, that have dedicated power supplies for each packet processing component, and/or that have a combination whereby some packet processing components have a dedicated power supply and other packet processing components share power supplies.
- a particular power supply configuration of the network device and/or a particular resource distribution configuration of a line card may prevent particular packet processing components from being powered on or powered off individually. For example, if the network device supports a line card that has shared resources between multiple packet processing components, and the multiple packet processing components share a power supply, the network device may be prevented from powering on and/or powering off a particular packet processing component (without powering on and/or powering off all of the packet processing components).
- the network device may not be able to leave all packet processing components in a powered on state.
- a client may purchase a line card with four or more packet processing components, and may engage in a pay-as-you-go payment plan to reduce costs.
- the client may be able to activate one or more of the packet processing components, and may be charged for only the packet processing components that have been activated.
- circuit board temperatures may rise to a degree where one or more packet processing components need to be turned off to avoid overheating, a hardware component of a packet processing component may malfunction, a switching fabric of the network device may have insufficient per-slot bandwidth to effectively route traffic coming to and/or from the packet processing components, and/or the like.
- Some implementations described herein provide a method for powering on and/or powering off particular packet processing components of a network device, regardless of a power supply configuration of the network device or a resource distribution configuration of line cards within the network device.
- the network device includes a group of packet processing components and one or more power components (e.g., a power supply, a power supply switch, etc.).
- the network device may execute a scanning technique to identify an internal configuration of resources.
- the network device may execute the scanning technique to identify a power supply configuration within the network device and a resource distribution configuration for one or more line cards that are plugged into the network device.
- the network device may power on one or more packet processing components of a group of packet processing components that are supported by one or more line cards.
- the one or more packet processing components may begin processing traffic associated with one or more clients.
- the network device may determine whether to modify a power state of a particular packet processing component, of the group of packet processing components, based on whether a power modification condition is satisfied.
- the network device may be configured with a set of power modification conditions, and may determine to modify a power state of a particular packet processing component if the set of power modification conditions is satisfied.
- a power state may be a full power state, a low power state, or a no power state. In some implementations, there may be fewer or additional power states.
- the power modification condition may be satisfied if the network device receives instructions (e.g., from a server device) to modify the power state, if a capacity level of a packet processing component satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with the packet processing component is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like.
- instructions e.g., from a server device
- an error e.g., a hardware error, a software error, etc.
- the network device may modify the power state based on determining that the power modification condition is satisfied. In this case, the network device may modify the power state from a current state to the full power state, the low power state, or the no power state. Furthermore, if the current state is the full power state, the network device may selectively modify the power state to the low power state or to the no power state, based on the identified configuration of resources (e.g., the power supply configuration, the resource distribution configuration, etc.).
- the identified configuration of resources e.g., the power supply configuration, the resource distribution configuration, etc.
- the network device is able to modify the power state of the packet processing component regardless of the power supply configuration of the network device or the resource distribution configuration of the line cards within the network device. Furthermore, by selectively powering on particular packet processing components, and by keeping certain packet processing components in the low power state, the network device conserves power resources relative to a standard network device that has to power on all packet processing components and/or that is unable to utilize the low power state.
- the network device conserves processing resources that might otherwise be used to retransmit traffic lost while powering off all packet processing components, conserves processing resources that might otherwise be used to execute error correction techniques after traffic is lost, and/or the like.
- the network device reduces overall power consumption of the network device, reduces expenses of clients of the network device (e.g., if the client is on a pay-as-you-go plan, as described further herein, etc.), and/or the like.
- Figs. 1A-1C are diagrams of an overview of an example implementation 100 described herein. As shown in Figs. 1A-1C , example implementation 100 shows a process for powering on one or more packet processing components, receiving traffic through the one or more packet processing components, and selectively modifying a power state of the one or more packet processing components based on a configuration of resources included in the network device.
- the network device may identify a power supply configuration that is used to provide power to one or more groups of packet processing components within the network device.
- the power supply configuration may indicate a number of power components (e.g., a power supply, a power supply switch, etc.) that are used to support the one or more groups of packet processing components, whether a power component is dedicated to a particular packet processing component or shared between multiple packet processing components, and/or the like.
- the network device may execute a scanning technique to identify the power supply configuration.
- the network device may execute a scanning technique that is able to identify a number of power components that are used to support the one or more groups of packet processing components, and may execute the scanning technique to identify whether the one or more groups of packet processing components have dedicated power components, shared power components, a combination of dedicated power components and shared power components, and/or the like.
- the network device may identify a resource distribution configuration for one or more line cards within the network device. For example, the network device may execute a scanning technique to identify the resource distribution configuration for one or more line cards.
- the resource distribution configuration may, for a line card, indicate a number of packet processing components included in the line card, whether resources available to the line card (e.g., resources from integrated circuits, memories, interfaces, etc.) are dedicated to a particular packet processing component, shared between two or more packet processing components, are both dedicated to a particular packet processing component and shared between two or more packet processing components (e.g., such as in cases with three or more packet processing components), and/or the like.
- one or more scanning techniques described above may be performed by scanning actual hardware equipment plugged into a chassis of the network device, as described further herein. In other cases, one or more scanning techniques described above may be performed by scanning a data structure that stores data identifying the power supply configuration and/or the resource distribution configuration, as described further herein.
- the network device is able to identify the power supply configuration of the network device and the resource distribution configuration for one or more line cards supported by the network device.
- the network device may power on one or more packet processing components. For example, for a client to begin utilizing packet processing components of a line card, the network device may need to power the packet processing components on (e.g., by modifying a power state of the packet processing components from a no power state to a full power state).
- the network device may power on a particular packet processing component, of the group of packet processing components, using a single power supply and power supply switch. For example, if the particular packet processing component has dedicated power components, the network device may be able to power on the particular packet processing component without affecting other packet processing components included in the same line cards and/or different line cards that are supported by the network device.
- the network device may power on multiple packet processing components using the single power supply and power supply switch. For example, if multiple packet processing components share power components, the network device may power on the multiple packet processing components together. However, if not all of the multiple packet processing components are needed to process traffic, the network device may then be able to modify the power state for some of the multiple packet processing components from the full power state to a low power state.
- the network device supports a line card that includes four packet processing components (shown as PPC A, PPC B, PPC C, and PPC D) that share line card resources, and that draw power from a single power supply.
- the network device may have to power on all four packet processing components (shown by the second power state).
- the network device may modify the power state of the other two packet processing components from the full power state to a low power state (shown as PPC C and PPC D being switched to a low power state).
- the network device may receive and process traffic.
- the network device may use the one or more packet processing components to receive and process traffic.
- the network device is able to power on one or more packet processing components to a full power state, without having to leave all packet processing components powered on in the full power state, even if the group of packet processing components share resources.
- the network device may determine whether to modify a power state of a packet processing component. For example, the network device may determine whether to modify a power state of a packet processing component based on whether a power modification condition is satisfied.
- the power modification condition may be satisfied if the network device receives instructions (e.g., from another device) to modify the power state, if a capacity level of a packet processing component satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with the packet processing component is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like.
- instructions e.g., from another device
- an error e.g., a hardware error, a software error, etc.
- the network device monitors the active packet processing components (e.g., PPC A and PPC B), while the active packet processing components are receiving and processing traffic.
- the network device may detect an error in one of the packet processing components (e.g., PPC B), thereby causing a power modification condition to be satisfied and causing the network device to determine to modify the power state of the packet processing component with the error (e.g., PPC B). Additional examples relating to other power modification conditions are provided further herein.
- the network device may modify a power state of the packet processing component. For example, the network device may modify a power state of the packet processing component based on determining that the power modification condition is satisfied.
- the network device may selectively modify the power state of the packet processing component. For example, the network device may selectively modify the power state of the packet processing component based on the identified configuration of resources (e.g., the power supply configuration, the resource distribution configuration, etc.), as illustrated by the following two examples.
- the identified configuration of resources e.g., the power supply configuration, the resource distribution configuration, etc.
- the network device may selectively modify the power state of second packet processing component (shown as PPC B) from the full power state to the low power state.
- PPC B second packet processing component
- the network device may select the low power state over the no power state because each packet processing component shares power resources from the same power components, and turning off the packet processing component may cut power to other packet processing components that share the same power resources.
- the network device may modify the power state of a third packet processing component (e.g., PPC C), such as by modifying the power state of the third packet processing component from the low power state to the full power state, to allow the other packet processing component to support traffic flow that was previously being supported by the packet processing component that incurred the error (e.g., PPC B).
- a third packet processing component e.g., PPC C
- the network device may selectively modify the power state of the second packet processing component (shown as PPC B), such as by modifying the power state from the full power state to the no power state.
- the network device may select the no power state over the low power state because the packet processing components do not share resources. This means that the second packet processing component may be powered off without any repercussions to other packet processing components supported by the network device.
- the network device is able to intelligently and efficiently modify the power state of the packet processing component, regardless of the power supply configuration of the network device or the resource distribution configuration of the line cards within the network device. Furthermore, by selectively powering on particular packet processing components, and by keeping certain packet processing components in the low power state, the network device conserves power resources relative to a standard network device that has to power on all packet processing components and/or that is unable to utilize the low power state.
- Figs. 1A-1C are provided merely as an example. Other examples are possible and may differ from what was described with regard to Figs. 1A-1C . For example, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in Figs. 1A-1C . Furthermore, two or more devices shown in Figs. 1A-1C may be implemented within a single device, or a single device shown in Figs. 1A-1C may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of example implementation 100 may perform one or more functions described as being performed by another set of devices of example implementation 100.
- a set of devices e.g., one or more devices of example implementation 100 may perform one or more functions described as being performed by another set of devices of example implementation 100.
- environment 200 may include one or more peer devices 210, one or more network devices 220-1 through 220-N (N > 1) (hereinafter referred to collectively as “network devices 220", and individually as “network device 220"), and/or a network 230.
- Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- Peer device 210 includes one or more devices capable of receiving and/or providing network traffic.
- peer device 210 may include a traffic transfer device, such as a router, a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a server executing a virtual machine, etc.), a load balancer, or a similar type of device.
- peer device 210 may include an endpoint device that is a source or a destination for network traffic.
- peer device 210 may include a computer, a server device, a mobile device, or a similar type of device.
- Peer device 210 may receive network traffic from and/or may provide network traffic to other peer devices 210 via network 230 (e.g., by routing packets using network device(s) 220 as an intermediary).
- Network device 220 includes one or more devices capable of receiving, processing, storing, and/or providing traffic and/or configuration information relating to one or more components of network device 220.
- network device 220 may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router, a provider core router, etc.), a virtual router, or the like.
- LSR label switching router
- LER label edge router
- provider router e.g., a provider edge router, a provider core router, etc.
- network device 220 may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server, a data center server, etc.), a load balancer, or a similar device.
- network device 220 may be a physical device implemented within a housing, such as a chassis.
- network device 220 may be a virtual device implemented by one or more computer devices of a cloud computing environment or a data center.
- network device 220 may receive traffic from peer device 210 and/or from another network device 220.
- Network 230 includes one or more wired and/or wireless networks.
- network 230 may include a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, such as a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks.
- 5G fifth generation
- 4G fourth generation
- LTE long-term evolution
- 3G third generation
- CDMA code division multiple access
- PLMN public land mobile network
- LAN local area network
- WAN wide area
- the number and arrangement of devices and networks shown in Fig. 2 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in Fig. 2 . Furthermore, two or more devices shown in Fig. 2 may be implemented within a single device, or a single device shown in Fig. 2 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.
- Fig. 3 is a diagram of example components of a device 300.
- Device 300 may correspond to peer device 210 and/or network device 220.
- peer device 210 and/or network device 220 may include one or more devices 300 and/or one or more components of device 300.
- device 300 may include a switching fabric 310, a set of switching fabric components 312, a set of line cards 320 that support a set of packet processing components 322, a set of external links 330, a set of inter-board links 340, a set of intra-board (onboard) links 342, a controller 350, and/or one or more power components 365.
- traffic between switching fabric 310 and controller 350 may be provided and/or received through a single internal link.
- traffic between switching fabric 310 and controller 350 may be provided and/or received through a set of inter-board links 340, where each inter-board link 340 may be designated for a subset of external links 330 and/or a subset of line cards 320.
- line card 320 may use a set of inter-board links 340 to communicate with one or more corresponding planes of a switching fabric 310.
- Switching fabric 310 interconnects external links 330 via line cards 320.
- switching fabric 310 may be implemented using one or more switching fabric components 312 (e.g., one or more crossbars, one or more busses, one or more shared memories, and/or one or more planes).
- switching fabric components 312 may be connected using intra-board (onboard) links 342.
- switching fabric 310 may enable external links 330 to communicate. For example, switching fabric 310 may connect with one or more line cards 320 via a set of inter-board links 340, and the one or more line cards 320 may connect with the external links 330, as described further herein.
- Line cards 320 include one or more packet processing components 322.
- line cards 320 may include a modular electronic circuit designed to fit on a printed circuit board (PCB), and may include one or more packet processing components 322.
- Packet processing component 322 may include one or more processors to process packets, and may process incoming traffic, such as by performing data link layer encapsulation or decapsulation.
- packet processing component 322 may receive a packet from switching fabric 310, may process the packet, and may output the processed packet to an appropriate external link 330 connected to packet processing component 322.
- packet processing component 322 may receive a packet from external link 330, may process the packet, and may output the processed packet to switching fabric 310 for transfer to controller 350 and/or to another external link 330 (e.g., via the same packet processing component 322 or a different packet processing component 322).
- line card 320 may support packet processing component 322 using shared resources.
- line card 320 may support packet processing component 322 using shared resources such as an integrated circuit, one or more memories, one or more interfaces, and/or the like, wherein the shared resources are accessible to packet processing component 322 and one or more additional packet processing components 322.
- line card 320 may support packet processing component 322 using dedicated resources (i.e., non-shared resources dedicated to packet processing component 322).
- External link 330 is a point of attachment for physical links (e.g., a port) or virtual links (e.g., a virtual local area network (VLAN)), and may be a point of ingress and/or egress for incoming and/or outgoing traffic, such as packets.
- a single line card 320 may be connected to multiple external links 330.
- a single line card 320 may be connected to a single external link 330.
- External link 330 may permit communication between a first network device 220 and a second network device 220 that is a neighbor of the first network device 220.
- External link 330 may store packets (e.g., in a buffer) and/or may schedule packets for transmission on output physical links.
- External link 330 may support data link layer encapsulation or decapsulation and/or a variety of higher-level protocols.
- Inter-board link 340 is a path that allows line card 320 and/or controller 350 to communicate with switching fabric 310.
- Inter-board link 340 may include, for example, a wired or wireless path, such as a fiber-optic path, an electrical path, a virtual path, and/or the like.
- Intra-board (onboard) link 342 is a path that allows interconnection between packet processing components 322 and/or switching fabric components 312 (e.g., a physical connection, a virtual connection, etc.).
- Controller 350 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another type of processor.
- the processor is implemented in hardware, firmware, or a combination of hardware and software.
- controller 350 may include one or more processors that may be programmed to perform a function.
- controller 350 may include a group of virtual devices that each includes one or more processors.
- controller 350 may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information and/or instructions for use by controller 350.
- RAM random access memory
- ROM read only memory
- static storage device e.g., a flash memory, a magnetic memory, an optical memory, etc.
- controller 350 may communicate with other devices, networks, and/or systems connected to device 300 to exchange information regarding network topology. Controller 350 may create routing tables based on the network topology information, create forwarding tables based on the routing tables, and forward the forwarding tables to packet processing component 322, such as for use in performing route lookups for incoming and/or outgoing packets.
- Controller 350 may perform one or more processes described herein. Controller 350 may perform these processes in response to executing software instructions stored or conveyed by a computer-readable medium.
- a computer-readable medium may include or comprise a transient medium or a non-transitory medium such as a memory device.
- a memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
- a transient (sometimes referred to as transitory) medium may include a carrier wave or signal carrying instructions, and may occur within and/or between computer systems.
- Software instructions may be read into a memory and/or a storage component associated with controller 350 from another computer-readable medium or from another device via a communication interface. When executed, software instructions stored in a memory and/or storage component associated with controller 350 may cause controller 350 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
- Power component 365 may include one or more components associated with providing power to network device 220 (e.g., to one or more internal components of network device 220).
- power component 365 may include a power supply, a power supply switch, interconnects that connect the power supply to the power supply switch, interconnects that connect the power supply and/or the power supply switch to other components described herein, and/or a similar type of component.
- a single power component 365 may supply power to a single packet processing component 322, to multiple packet processing components 322 in a particular line card 320, to multiple packet processing components 322 that are associated with multiple line cards 320, and/or the like.
- device 300 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 3 . Additionally, or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.
- a set of components e.g., one or more components
- Fig. 4 is a flow chart of an example process 400 for modifying a power state of a packet processing component, of a group of packet processing components, based on whether a power modification condition is satisfied.
- one or more process blocks of Fig. 4 may be performed by network device 220.
- one or more process blocks of Fig. 4 may be performed by another device or a group of devices separate from or including network device 220, such as peer device 210 or another network device 220.
- process 400 may include identifying a configuration of resources within a network device that includes one or more groups of packet processing components (block 410).
- network device 220 e.g., controller 350
- the power supply configuration may indicate a number of power components (e.g., a power supply, a power supply switch, etc.) that are used to support the group of packet processing components 322, whether particular power components are dedicated to particular packet processing components 322 or shared between multiple packet processing components 322, and/or the like.
- a power supply e.g., a power supply, a power supply switch, etc.
- the resource distribution configuration for a line card 320 may indicate a number of packet processing components 322 included in a line card 320, whether resources available to the line card 320 are shared between two or more packet processing components 322 or split such that each packet processing component 322 has individual resources, and/or the like.
- the resources that may be shared or split between each packet processing component 322 may include resources from an integrated circuit, a memory, an interface, and/or the like.
- network device 220 may identify a configuration of resources by executing a scanning technique that is able to scan one or more components of network device 220. For example, network device 220 may execute a scanning technique that is able to scan one or more power components 365 to determine the power supply configuration for network device 220, and that is able to scan one or more components of each line card 320 to determine the resource distribution configuration for each line card 320.
- network device 220 may identify a configuration of resources by executing a scanning technique that is able to scan one or more data structures. For example, network device 220 may execute a scanning technique that is able to scan one or more data structures that store data identifying the power supply configuration and/or the resource distribution configuration for the one or more line cards 320.
- network device 220 may identify a configuration of resources wherein a group of packet processing components 322 in a line card 320 share resources and rely on a single power supply and power supply switch. As another example, network device 220 may identify a configuration of resources wherein a group of packet processing components 322 in a line card 320 share resources and rely on multiple power supplies and power supply switches.
- network device 220 may identify a configuration of resources wherein a group of packet processing components 322 in a line card 320 do not share resources and rely on a single power supply and power supply switch. As another example, network device 220 may identify a configuration of resources wherein a group of packet processing components 322 in a line cards do not share resources and rely on multiple power supplies and power supply switches.
- network device 220 is able to identify a configuration of resources that may be subsequently used for selectively modifying a power state of a packet processing component 322, as described further herein.
- process 400 may include powering on one or more packet processing components, of a group of packet processing components, to allow the one or more packet processing components to receive and process traffic (block 420).
- network device 220 e.g., controller 350
- network device 220 may power on a particular packet processing component 322.
- network device 220 may power on the particular packet processing component 322 by enabling power to the particular packet processing component 322 to allow the particular packet processing component 322 to execute a boot-up procedure.
- network device 220 may provide an instruction to a power supply switch to cause the power supply switch to open a flow of current from a power supply to the particular packet processing component 322, thereby enabling the particular packet processing component 322 to execute the boot-up procedure.
- the boot-up procedure may include powering on any elements within the particular packet processing component 322 that are used to carry out the packet routing and/or packet processing functions.
- network device 220 may power on the particular packet processing component 322 based on receiving instructions from another device. For example, if a client purchases a new line card 320, the client may plug the new line card 320 into a chassis of network device 220. To enable the particular packet processing component 322 of line card 320 to receive and process traffic, the client may need to interact with an interface of a client device to request that the particular packet processing component 322 be activated. In this case, the client device may provide the request to a server device operated by an organization that manages network device 220, which may cause the server device to activate the particular packet processing component 322 (e.g., by interacting with network device 220 using an application programming interface (API)).
- API application programming interface
- network device 220 may power on the particular packet processing component 322 without powering on any other packet processing components 322. For example, if the particular packet processing component 322 does not share power resources, then network device 220 may power on the particular packet processing component 322 without powering on any other packet processing components 322.
- network device 220 may power on multiple packet processing components 322. For example, if the particular packet processing component 322 shares power resources with at least one other packet processing component 322, then network device 220 may need to power on multiple packet processing components 322 (e.g., because enabling power to flow to the particular packet processing component 322 may also enable power to flow to other packet processing components 322 that share the same power resources).
- network device 220 is able to power on one or more packet processing components 322.
- process 400 may include determining whether to modify a power state of a packet processing component, of the group of packet processing components (block 430).
- network device 220 e.g., controller 350
- a power state may refer to an amount of power that is presently available to a packet processing component 322.
- a packet processing component 322 may be in a full power state, a low power state, or a no power state.
- the power modification condition may be satisfied if network device 220 receives instructions (e.g., from another device) to modify the power state, if a capacity level of a packet processing component 322 satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with the packet processing component 322 is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like.
- instructions e.g., from another device
- an error e.g., a hardware error, a software error, etc.
- network device 220 may determine whether to modify a power state of a particular packet processing component 322 based on instructions received from another device. For example, network device 220 may be configured with a power modification condition indicating that network device 220 is to modify a power state if network device 220 receives instructions, from another device, indicating to modify a power state. As an example, if network device 220 is already being used to process traffic, network device 220 may modify a power state of the packet processing component 322 based on a request to change a number of active packet processing components 322.
- network device 220 is processing traffic using two packet processing components 322 of four available packet processing components 322 included in a line card 320. Further assume that a client using network device 220 grows the client's business such that an additional packet processing component 322 needs to be activated to process additional incoming traffic. In this case, network device 220 may modify the power state of one of the two remaining packet processing components 322 from a no power state or from a low power state to a full power state.
- network device 220 may determine whether to modify a power state of a particular packet processing component 322 based on a capacity level. For example, network device 220 may monitor capacity levels for one or more additional packet processing components 322 that are powered on and receiving and processing traffic. In this case, network device 220 may determine that a capacity level of one of the additional packet processing components 322 satisfies a threshold capacity level, which may cause network device 220 to determine to modify the power state of the particular packet processing component 322 from a no power state or from a low power state to a full power state (e.g., to help reduce an amount of traffic that the other packet processing components 322 have to receive and process).
- a capacity level of one of the additional packet processing components 322 satisfies a threshold capacity level, which may cause network device 220 to determine to modify the power state of the particular packet processing component 322 from a no power state or from a low power state to a full power state (e.g., to help reduce an amount of traffic that the other packet processing components 322
- network device 220 may determine whether to modify a power state of a particular packet processing component 322 based on detecting an error. For example, network device 220 may monitor one or more hardware components of network device 220 and/or one or more elements (i.e., software features) of network device 220, while the particular packet processing component 322 is receiving and/or processing traffic. In this case, network device 220 may detect an error, based on the monitoring, and may determine to modify a power state of the particular packet processing component 322 based on detecting the error.
- elements i.e., software features
- network device 220 may determine to modify a power state from a full power state to a no power state or to a low power state. As another example, if an error is detected on a different packet processing component 322, then network device 220 may determine to modify a power state of the particular packet processing component 322 from a no power state or from a low power state to a full power state (e.g., to receive and/or process traffic of the packet processing component 322 that incurred the error).
- network device 220 may determine whether to modify a power state of a particular packet processing component 322 based on an output of a machine learning model. For example, network device 220 may train a machine learning model on historical data to identify time periods at which errors are likely to occur (e.g., hardware component errors, software element errors, etc.). The historical data may identify trends of when certain types of errors are likely to occur, when hardware components are likely to age, and/or the like.
- errors e.g., hardware component errors, software element errors, etc.
- the historical data may identify trends of when certain types of errors are likely to occur, when hardware components are likely to age, and/or the like.
- network device 220 may provide, as input to the machine learning model, the identified configuration of resources and additional network device information (e.g., indicating an age of the hardware equipment, a type of hardware equipment, a type of element used, etc.) to cause the machine learning model to output a projected time period at which an error is likely to occur.
- network device 220 may determine to modify a power state prior to the projected time period at which the error is likely to occur.
- network device 220 may train a machine learning model on historical client data to identify time periods at which increases in traffic are likely to occur.
- the historical client data may be used to identify forecasts of growth in sales by the client, forecasted increases in traffic, forecasted decreases in traffic, and/or the like.
- network device 220 may provide, as input to the machine learning model, client data to cause the machine learning model to output a projected time period at which increases or decreases in traffic are likely to occur.
- network device 220 may determine to modify a power state prior to the projected time period at which the increases or decreases in traffic are likely to occur.
- network device 220 is able to determine whether to modify a power state of a packet processing component 322 based on whether a power modification condition is satisfied.
- process 400 may include modifying a power state of the packet processing component, of the group of packet processing components, based on determining that the power modification condition is satisfied (block 440).
- network device 220 e.g., controller 350
- network device 220 may selectively modify a power state of the packet processing component 322, such as by selecting whether to modify a power state from a full power state to an off state or to a low power state, as described further herein.
- network device 220 may modify a power state of the particular packet processing component 322. For example, network device 220 may modify a power state from a full power state to a no power state by instructing the packet processing component 322 to perform a shutdown procedure, and by cutting power to the packet processing component 322. Additionally, network device 220 may modify a power state from a no power state to a full power state, in a manner described above (see, e.g., block 420). Additionally, network device 220 may modify a power state from a full power state to a low power state by performing a reset procedure that enables the packet processing component 322 to restart and boot up in a low power state.
- network device 220 may selectively modify the power state of the particular packet processing component 322. For example, network device 220 may selectively modify the full power state from a no power state or to a low power state based on the identified configuration of resources of network device 220 (e.g., as identified in block 410).
- network device 220 includes a line card 320 that does not share resources between packet processing components 322, and that network device 220 is configured such that each packet processing component 322 is able to utilize separate power supplies and power supply switches.
- network device 220 may modify the power state to a no power state, without needing to utilize the low power state. This is because each packet processing component 322 has separate resources and separate power supplies, thereby allowing a particular packet processing component 322 to be turned completely off without the power off influencing the remaining packet processing components 322.
- network device 220 includes a line card 320 that does not share resources between packet processing components 322, and that network device 220 is configured such that each packet processing component 322 shares the same power supply and power supply switch.
- network device 220 may modify the power state from a full power state to a low power state (and not to a no power state). This is because each packet processing component 322 shares power resources, and turning off a particular packet processing component 322 may result in the remaining packet processing components 322 losing power.
- network device 220 includes a line card 320 that shares resources between packet processing components 322, and that network device 220 is configured such that each packet processing component 322 shares the same power supply and power supply switch.
- network device 220 may modify the power state to a low power state (and not to a no power state). This is because each packet processing component 322 shares internal resources and power resource, and turning off a particular packet processing component 322 may result in the remaining packet processing components 322 losing power.
- network device 220 includes a line card 320 that shares resources with packet processing components 322, and that network device 220 is configured such that each packet processing component 322 is able to utilize separate power supplies and power supply switches.
- network device 220 may modify the power state to a low power state. This is because each packet processing component 322 shares internal resources, and turning off a particular packet processing component 322 may result in the remaining packet processing components 322 losing power.
- network device 220 includes a line card 320 that shares resources with some of the packet processing components 322, while other packet processing components 322 have separate resources, that the packet processing components 322 that share resources also share power resources, and that the other packet processing components 322 each have individual power resources.
- network device 220 may modify the power state to either a no power state or to a low power state, depending on whether a particular packet processing component 322 has neither shared resources nor shared power resources.
- network device 220 may modify the power state from a full power state to a no power state based on one of the above-mentioned triggers. If the particular packet processing component 322 has shared resources and/or shared power resources, network device 220 may modify the power state from a full power state to a low power state based on one of the above-mentioned triggers.
- network device 220 is able to modify a power state of one or more packet processing components 322.
- process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 4 . Additionally, or alternatively, two or more of the blocks of process 400 may be performed in parallel.
- network device 220 is able to modify the power state of packet processing component 322 regardless of the power supply configuration of network device 220 or the resource distribution configuration of line cards 320 within network device 220. Furthermore, by selectively powering on particular packet processing components 322, and by keeping certain packet processing components 322 in the low power state, network device 220 conserves power resources relative to a conventional network device that has to power on all packet processing components 322 and/or that is unable to utilize the low power state.
- network device 220 conserves processing resources that might otherwise be used to retransmit traffic lost while powering off all packet processing components 322, conserves processing resources that might otherwise be used to execute error correction techniques after traffic is lost, and/or the like.
- network device 220 reduces overall power consumption of network device 220, reduces expenses of clients of network device 220 (e.g., if the client is on a pay-as-you-go plan, etc.), and/or the like.
- network device may identify a configuration of resources that are to support attachable line cards.
- the configuration may include a power supply configuration that is used to provide power to packet processing components that are supported by the line cards, and a resource distribution configuration indicating whether resources in the line cards are shared between the packet processing components.
- the network device may determine whether to modify a power state of a packet processing component based on whether one or more power modification conditions are satisfied.
- the network device may modify the power state of the packet processing component based on determining that the power modification condition is satisfied.
- the power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources.
- traffic or content may include a set of packets.
- a packet may refer to a communication structure for communicating information, such as a protocol data unit (PDU), a network packet, a datagram, a segment, a message, a block, a cell, a frame, a subframe, a slot, a symbol, a portion of any of the above, and/or another type of formatted or unformatted unit of data capable of being transmitted via a network.
- PDU protocol data unit
- the term component is intended to be broadly construed as hardware, firmware, and/or a combination of hardware and software.
- group is to be refer to one or more of something.
- a group of components may refer to one or more components
- a group of one or more elements may refer to one or more elements, and/or the like.
- a group of packet processing components may refer to one or more packet processing components.
- satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, etc.
Description
- A network device may include a group of packet processing components for performing packet switching functions, packet routing functions, route lookup functions, and/or the like. The group of packet processing components may be powered on and off using one or more power supply switches. Existing prior art includes
US 2016/378160 , which relates to a hardware processor with a power transaction unit to perform transactional power management;US 2018/074570 , which relates to techniques for power aware switching using analytics in communications networks; andUS 2014/365787 , which relates to techniques for dynamically applying power policies to a computing environment. With respect to claim 1, none of these documents teach, at least, an approach of, when determining whether to modify the power state of a packet processing component, to: monitor capacity levels for one or more additional packet processing components, of one or more groups of packet processing components, that are powered on and receiving traffic, wherein the packet processing component, of the one or more groups of packet processing components, is in the no power state or the low power state and is not receiving traffic, determine that a capacity level for a particular packet processing component, of the one or more additional packet processing components, satisfies a threshold capacity level, and determine to modify the power state of the packet processing component based on determining that the capacity level for the particular packet processing component satisfies the threshold capacity level; and wherein the one or more processors, when modifying the power state of the packet processing component, are to: modify the power state to the full power state to enable the packet processing component to receive traffic and to reduce the capacity level of the particular packet processing component.. - Particular aspects are set out in the independent claims. Various optional embodiments are set out in the dependent claims. The invention is defined by the appended claims.
- According to some possible implementations, a network device described herein may include one or more line cards that support one or more groups of packet processing components and one or more processors. The one or more processors may execute a scanning technique to identify a configuration of resources that are to support the one or more groups of packet processing components. The configuration may include a power supply configuration that is used to provide power to the one or more groups of packet processing components, and a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components. The one or more processors may determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied. The one or more processors may modify the power state of the packet processing component based on determining that the power modification condition is satisfied. The power state may be capable of being modified to a full power state, a low power state, or a no power state. The power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources that is to support the one or more groups of packet processing components.
- According to some possible implementations, a computer-readable medium described herein may store one or more instructions that, when executed by one or more processors, causethe one or more processors to execute a scanning technique to identify a configuration of resources that are to support one or more line cards that are attachable to a device associated with the one or more processors. The configuration may include a power supply configuration that is used to provide power to one or more groups of packet processing components that are supported by the one or more line cards and/or a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components. The one or more instructions may cause the one or more processors to determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied. The one or more instructions may cause the one or more processors to modify the power state of the packet processing component based on determining that the power modification condition is satisfied. The power state may be capable of being modified from a first power state to: a second power state or to a third power state. The power state of the packet processing component may be able to be modified to the second power state or to the third power state based on the configuration of resources that support the one or more line cards.
- According to some possible implementations, a method described herein may include identifying, by a network device, a configuration of resources that are to support one or more line cards that are attachable to the network device. The configuration may include a power supply configuration that is used to provide power to one or more groups of packet processing components that are supported by the one or more line cards, and a resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components. The method may include determining, by the network device, whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether one or more power modification conditions are satisfied. The method may include modifying, by the network device, the power state of the packet processing component based on determining that the power modification condition is satisfied. The power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources supporting the one or more groups of packet processing components.
-
-
Fig 1A-1C are diagrams of an overview of an example implementation described herein; -
Fig. 2 is a diagram of an example environment in which systems and/or methods, described herein, may be implemented; -
Fig. 3 is a diagram of example components of one or more devices ofFig. 2 ; and -
Fig. 4 is a flow chart of an example process for modifying a power state of a packet processing component, of a group of packet processing components, based on whether a power modification condition is satisfied. - The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
- A network device may support a set of line cards that include packet processing components for performing packet switching functions, packet routing functions, route lookup functions, and/or the like. Additionally, organizations that sell network devices often focus on developing new features and functionality for line cards. This allows existing customers to simply replace older line cards with newer line cards, without having the replace the entire network device.
- Historically, each line card would be manufactured and configured to support one packet processing component. This would allow the packet processing component to use a dedicated power supply, thereby allowing the packet processing component to be turned on and off without issue.
- However, as demand for data services increased, line cards were manufactured to support multiple packet processing components. As described below, line cards have been manufactured that include a variety of different resource configurations, and are supported by network devices with a variety of different power supply configurations.
- For example, a network device may be configured with a first line card that has separate resources reserved for each packet processing component. In this case, each packet processing component may be supported using separate integrated circuits, may utilize separate memories, may have separate connections to a switching fabric of the network device, and/or the like.
- Additionally, or alternatively, the same network device may be configured with a second line card that has shared resources between multiple packet processing components. In this case, two or more packet processing components may be supported using the same integrated circuit, may utilize the same memories, may share a connection to the switching fabric of the network device, and/or the like. Furthermore, the network device may support line cards using power supply configurations that share power supplies between packet processing components, that have dedicated power supplies for each packet processing component, and/or that have a combination whereby some packet processing components have a dedicated power supply and other packet processing components share power supplies.
- However, a particular power supply configuration of the network device and/or a particular resource distribution configuration of a line card may prevent particular packet processing components from being powered on or powered off individually. For example, if the network device supports a line card that has shared resources between multiple packet processing components, and the multiple packet processing components share a power supply, the network device may be prevented from powering on and/or powering off a particular packet processing component (without powering on and/or powering off all of the packet processing components).
- Additionally, the network device may not be able to leave all packet processing components in a powered on state. For example, a client may purchase a line card with four or more packet processing components, and may engage in a pay-as-you-go payment plan to reduce costs. In this case, the client may be able to activate one or more of the packet processing components, and may be charged for only the packet processing components that have been activated. Furthermore, circuit board temperatures may rise to a degree where one or more packet processing components need to be turned off to avoid overheating, a hardware component of a packet processing component may malfunction, a switching fabric of the network device may have insufficient per-slot bandwidth to effectively route traffic coming to and/or from the packet processing components, and/or the like.
- Some implementations described herein provide a method for powering on and/or powering off particular packet processing components of a network device, regardless of a power supply configuration of the network device or a resource distribution configuration of line cards within the network device. For example, assume the network device includes a group of packet processing components and one or more power components (e.g., a power supply, a power supply switch, etc.). In this case, the network device may execute a scanning technique to identify an internal configuration of resources. For example, the network device may execute the scanning technique to identify a power supply configuration within the network device and a resource distribution configuration for one or more line cards that are plugged into the network device.
- Additionally, the network device may power on one or more packet processing components of a group of packet processing components that are supported by one or more line cards. In this case, the one or more packet processing components may begin processing traffic associated with one or more clients.
- Additionally, the network device my determine whether to modify a power state of a particular packet processing component, of the group of packet processing components, based on whether a power modification condition is satisfied. For example, the network device may be configured with a set of power modification conditions, and may determine to modify a power state of a particular packet processing component if the set of power modification conditions is satisfied.
- A power state may be a full power state, a low power state, or a no power state. In some implementations, there may be fewer or additional power states. The power modification condition may be satisfied if the network device receives instructions (e.g., from a server device) to modify the power state, if a capacity level of a packet processing component satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with the packet processing component is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like.
- Additionally, the network device may modify the power state based on determining that the power modification condition is satisfied. In this case, the network device may modify the power state from a current state to the full power state, the low power state, or the no power state. Furthermore, if the current state is the full power state, the network device may selectively modify the power state to the low power state or to the no power state, based on the identified configuration of resources (e.g., the power supply configuration, the resource distribution configuration, etc.).
- In this way, the network device is able to modify the power state of the packet processing component regardless of the power supply configuration of the network device or the resource distribution configuration of the line cards within the network device. Furthermore, by selectively powering on particular packet processing components, and by keeping certain packet processing components in the low power state, the network device conserves power resources relative to a standard network device that has to power on all packet processing components and/or that is unable to utilize the low power state.
- Additionally, by allowing the network device to power off particular packet processing components, without having to power off other packet processing components (e.g., that share resources with the particular packet processing component), the network device conserves processing resources that might otherwise be used to retransmit traffic lost while powering off all packet processing components, conserves processing resources that might otherwise be used to execute error correction techniques after traffic is lost, and/or the like. Moreover, by allowing the network device to keep particular packet processing components in the no power state or in the low power state, the network device reduces overall power consumption of the network device, reduces expenses of clients of the network device (e.g., if the client is on a pay-as-you-go plan, as described further herein, etc.), and/or the like.
-
Figs. 1A-1C are diagrams of an overview of anexample implementation 100 described herein. As shown inFigs. 1A-1C ,example implementation 100 shows a process for powering on one or more packet processing components, receiving traffic through the one or more packet processing components, and selectively modifying a power state of the one or more packet processing components based on a configuration of resources included in the network device. - As shown in
Fig. 1A , and byreference number 105, the network device may identify a power supply configuration that is used to provide power to one or more groups of packet processing components within the network device. The power supply configuration may indicate a number of power components (e.g., a power supply, a power supply switch, etc.) that are used to support the one or more groups of packet processing components, whether a power component is dedicated to a particular packet processing component or shared between multiple packet processing components, and/or the like. - In some cases, the network device may execute a scanning technique to identify the power supply configuration. For example, the network device may execute a scanning technique that is able to identify a number of power components that are used to support the one or more groups of packet processing components, and may execute the scanning technique to identify whether the one or more groups of packet processing components have dedicated power components, shared power components, a combination of dedicated power components and shared power components, and/or the like.
- As shown by
reference number 110, the network device may identify a resource distribution configuration for one or more line cards within the network device. For example, the network device may execute a scanning technique to identify the resource distribution configuration for one or more line cards. The resource distribution configuration may, for a line card, indicate a number of packet processing components included in the line card, whether resources available to the line card (e.g., resources from integrated circuits, memories, interfaces, etc.) are dedicated to a particular packet processing component, shared between two or more packet processing components, are both dedicated to a particular packet processing component and shared between two or more packet processing components (e.g., such as in cases with three or more packet processing components), and/or the like. - In some cases, one or more scanning techniques described above may be performed by scanning actual hardware equipment plugged into a chassis of the network device, as described further herein. In other cases, one or more scanning techniques described above may be performed by scanning a data structure that stores data identifying the power supply configuration and/or the resource distribution configuration, as described further herein.
- In this way, the network device is able to identify the power supply configuration of the network device and the resource distribution configuration for one or more line cards supported by the network device.
- As shown in Fig. IB, and by
reference number 115, the network device may power on one or more packet processing components. For example, for a client to begin utilizing packet processing components of a line card, the network device may need to power the packet processing components on (e.g., by modifying a power state of the packet processing components from a no power state to a full power state). - In some implementations, the network device may power on a particular packet processing component, of the group of packet processing components, using a single power supply and power supply switch. For example, if the particular packet processing component has dedicated power components, the network device may be able to power on the particular packet processing component without affecting other packet processing components included in the same line cards and/or different line cards that are supported by the network device.
- In some implementations, the network device may power on multiple packet processing components using the single power supply and power supply switch. For example, if multiple packet processing components share power components, the network device may power on the multiple packet processing components together. However, if not all of the multiple packet processing components are needed to process traffic, the network device may then be able to modify the power state for some of the multiple packet processing components from the full power state to a low power state.
- As shown as an example, assume the network device supports a line card that includes four packet processing components (shown as PPC A, PPC B, PPC C, and PPC D) that share line card resources, and that draw power from a single power supply. In this example, because the four packet processing components share line card resources and/or draw power from a single power supply, the network device may have to power on all four packet processing components (shown by the second power state). However, if only two of the packet processing components are needed to support traffic of the client, the network device may modify the power state of the other two packet processing components from the full power state to a low power state (shown as PPC C and PPC D being switched to a low power state).
- As shown by
reference number 120, the network device may receive and process traffic. For example, the network device may use the one or more packet processing components to receive and process traffic. - In this way, the network device is able to power on one or more packet processing components to a full power state, without having to leave all packet processing components powered on in the full power state, even if the group of packet processing components share resources.
- As shown in
Fig. 1C , and byreference number 125, the network device may determine whether to modify a power state of a packet processing component. For example, the network device may determine whether to modify a power state of a packet processing component based on whether a power modification condition is satisfied. The power modification condition may be satisfied if the network device receives instructions (e.g., from another device) to modify the power state, if a capacity level of a packet processing component satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with the packet processing component is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like. - Continuing with the previous example, assume that the network device monitors the active packet processing components (e.g., PPC A and PPC B), while the active packet processing components are receiving and processing traffic. In this example, the network device may detect an error in one of the packet processing components (e.g., PPC B), thereby causing a power modification condition to be satisfied and causing the network device to determine to modify the power state of the packet processing component with the error (e.g., PPC B). Additional examples relating to other power modification conditions are provided further herein.
- As shown by
reference number 130, the network device may modify a power state of the packet processing component. For example, the network device may modify a power state of the packet processing component based on determining that the power modification condition is satisfied. - In some implementations, the network device may selectively modify the power state of the packet processing component. For example, the network device may selectively modify the power state of the packet processing component based on the identified configuration of resources (e.g., the power supply configuration, the resource distribution configuration, etc.), as illustrated by the following two examples.
- Continuing with the previous example, because the packet processing components share power resources from the same power components and share line card resources, the network device may selectively modify the power state of second packet processing component (shown as PPC B) from the full power state to the low power state. In this example, the network device may select the low power state over the no power state because each packet processing component shares power resources from the same power components, and turning off the packet processing component may cut power to other packet processing components that share the same power resources. As further shown, in some cases, the network device may modify the power state of a third packet processing component (e.g., PPC C), such as by modifying the power state of the third packet processing component from the low power state to the full power state, to allow the other packet processing component to support traffic flow that was previously being supported by the packet processing component that incurred the error (e.g., PPC B).
- As provided as an additional example, assume the packet processing components do not share power resources from the same power components and do not share line card resources. In this example, the network device may selectively modify the power state of the second packet processing component (shown as PPC B), such as by modifying the power state from the full power state to the no power state. Here, the network device may select the no power state over the low power state because the packet processing components do not share resources. This means that the second packet processing component may be powered off without any repercussions to other packet processing components supported by the network device.
- In this way, the network device is able to intelligently and efficiently modify the power state of the packet processing component, regardless of the power supply configuration of the network device or the resource distribution configuration of the line cards within the network device. Furthermore, by selectively powering on particular packet processing components, and by keeping certain packet processing components in the low power state, the network device conserves power resources relative to a standard network device that has to power on all packet processing components and/or that is unable to utilize the low power state.
- As indicated above,
Figs. 1A-1C are provided merely as an example. Other examples are possible and may differ from what was described with regard toFigs. 1A-1C . For example, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown inFigs. 1A-1C . Furthermore, two or more devices shown inFigs. 1A-1C may be implemented within a single device, or a single device shown inFigs. 1A-1C may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) ofexample implementation 100 may perform one or more functions described as being performed by another set of devices ofexample implementation 100. - As shown in
Fig. 2 ,environment 200 may include one ormore peer devices 210, one or more network devices 220-1 through 220-N (N > 1) (hereinafter referred to collectively as "network devices 220", and individually as "network device 220"), and/or anetwork 230. Devices ofenvironment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections. -
Peer device 210 includes one or more devices capable of receiving and/or providing network traffic. For example,peer device 210 may include a traffic transfer device, such as a router, a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a server executing a virtual machine, etc.), a load balancer, or a similar type of device. Additionally, or alternatively,peer device 210 may include an endpoint device that is a source or a destination for network traffic. For example,peer device 210 may include a computer, a server device, a mobile device, or a similar type of device.Peer device 210 may receive network traffic from and/or may provide network traffic toother peer devices 210 via network 230 (e.g., by routing packets using network device(s) 220 as an intermediary). -
Network device 220 includes one or more devices capable of receiving, processing, storing, and/or providing traffic and/or configuration information relating to one or more components ofnetwork device 220. For example,network device 220 may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router, a provider core router, etc.), a virtual router, or the like. Additionally, or alternatively,network device 220 may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server, a data center server, etc.), a load balancer, or a similar device. In some implementations,network device 220 may be a physical device implemented within a housing, such as a chassis. In some implementations,network device 220 may be a virtual device implemented by one or more computer devices of a cloud computing environment or a data center. In some implementations,network device 220 may receive traffic frompeer device 210 and/or from anothernetwork device 220. -
Network 230 includes one or more wired and/or wireless networks. For example,network 230 may include a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, such as a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks. - The number and arrangement of devices and networks shown in
Fig. 2 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown inFig. 2 . Furthermore, two or more devices shown inFig. 2 may be implemented within a single device, or a single device shown inFig. 2 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as being performed by another set of devices ofenvironment 200. -
Fig. 3 is a diagram of example components of adevice 300.Device 300 may correspond to peerdevice 210 and/ornetwork device 220. In some implementations,peer device 210 and/ornetwork device 220 may include one ormore devices 300 and/or one or more components ofdevice 300. - As shown in
Fig. 3 ,device 300 may include a switchingfabric 310, a set of switchingfabric components 312, a set ofline cards 320 that support a set ofpacket processing components 322, a set ofexternal links 330, a set ofinter-board links 340, a set of intra-board (onboard)links 342, acontroller 350, and/or one ormore power components 365. In some implementations, traffic between switchingfabric 310 andcontroller 350 may be provided and/or received through a single internal link. In some implementations, traffic between switchingfabric 310 andcontroller 350 may be provided and/or received through a set ofinter-board links 340, where eachinter-board link 340 may be designated for a subset ofexternal links 330 and/or a subset ofline cards 320. In some implementations,line card 320 may use a set ofinter-board links 340 to communicate with one or more corresponding planes of a switchingfabric 310. -
Switching fabric 310 interconnectsexternal links 330 vialine cards 320. In some implementations, switchingfabric 310 may be implemented using one or more switching fabric components 312 (e.g., one or more crossbars, one or more busses, one or more shared memories, and/or one or more planes). In some implementations, switchingfabric components 312 may be connected using intra-board (onboard) links 342. In some implementations, switchingfabric 310 may enableexternal links 330 to communicate. For example, switchingfabric 310 may connect with one ormore line cards 320 via a set ofinter-board links 340, and the one ormore line cards 320 may connect with theexternal links 330, as described further herein. -
Line cards 320 include one or morepacket processing components 322. For example,line cards 320 may include a modular electronic circuit designed to fit on a printed circuit board (PCB), and may include one or morepacket processing components 322.Packet processing component 322 may include one or more processors to process packets, and may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations,packet processing component 322 may receive a packet from switchingfabric 310, may process the packet, and may output the processed packet to an appropriateexternal link 330 connected topacket processing component 322. Additionally, or alternatively,packet processing component 322 may receive a packet fromexternal link 330, may process the packet, and may output the processed packet to switchingfabric 310 for transfer tocontroller 350 and/or to another external link 330 (e.g., via the samepacket processing component 322 or a different packet processing component 322). - In some implementations,
line card 320 may supportpacket processing component 322 using shared resources. For example,line card 320 may supportpacket processing component 322 using shared resources such as an integrated circuit, one or more memories, one or more interfaces, and/or the like, wherein the shared resources are accessible topacket processing component 322 and one or more additionalpacket processing components 322. In some implementations,line card 320 may supportpacket processing component 322 using dedicated resources (i.e., non-shared resources dedicated to packet processing component 322). -
External link 330 is a point of attachment for physical links (e.g., a port) or virtual links (e.g., a virtual local area network (VLAN)), and may be a point of ingress and/or egress for incoming and/or outgoing traffic, such as packets. In some implementations, asingle line card 320 may be connected to multipleexternal links 330. In some implementations, asingle line card 320 may be connected to a singleexternal link 330.External link 330 may permit communication between afirst network device 220 and asecond network device 220 that is a neighbor of thefirst network device 220.External link 330 may store packets (e.g., in a buffer) and/or may schedule packets for transmission on output physical links.External link 330 may support data link layer encapsulation or decapsulation and/or a variety of higher-level protocols. -
Inter-board link 340 is a path that allowsline card 320 and/orcontroller 350 to communicate with switchingfabric 310.Inter-board link 340 may include, for example, a wired or wireless path, such as a fiber-optic path, an electrical path, a virtual path, and/or the like. In some implementations, there may be multipleinter-board links 340 between a singlepacket processing component 322 and switchingfabric 310. In some implementations, there may be a singleinter-board link 340 betweencontroller 350 and switchingfabric 310. Intra-board (onboard) link 342 is a path that allows interconnection betweenpacket processing components 322 and/or switching fabric components 312 (e.g., a physical connection, a virtual connection, etc.). -
Controller 350 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another type of processor. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations,controller 350 may include one or more processors that may be programmed to perform a function. In some implementations,controller 350 may include a group of virtual devices that each includes one or more processors. - In some implementations,
controller 350 may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information and/or instructions for use bycontroller 350. - In some implementations,
controller 350 may communicate with other devices, networks, and/or systems connected todevice 300 to exchange information regarding network topology.Controller 350 may create routing tables based on the network topology information, create forwarding tables based on the routing tables, and forward the forwarding tables topacket processing component 322, such as for use in performing route lookups for incoming and/or outgoing packets. -
Controller 350 may perform one or more processes described herein.Controller 350 may perform these processes in response to executing software instructions stored or conveyed by a computer-readable medium. A computer-readable medium may include or comprise a transient medium or a non-transitory medium such as a memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices. A transient (sometimes referred to as transitory) medium may include a carrier wave or signal carrying instructions, and may occur within and/or between computer systems. - Software instructions may be read into a memory and/or a storage component associated with
controller 350 from another computer-readable medium or from another device via a communication interface. When executed, software instructions stored in a memory and/or storage component associated withcontroller 350 may causecontroller 350 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. -
Power component 365 may include one or more components associated with providing power to network device 220 (e.g., to one or more internal components of network device 220). For example,power component 365 may include a power supply, a power supply switch, interconnects that connect the power supply to the power supply switch, interconnects that connect the power supply and/or the power supply switch to other components described herein, and/or a similar type of component. In some implementations, asingle power component 365 may supply power to a singlepacket processing component 322, to multiplepacket processing components 322 in aparticular line card 320, to multiplepacket processing components 322 that are associated withmultiple line cards 320, and/or the like. - The number and arrangement of components shown in
Fig. 3 are provided as an example. In practice,device 300 may include additional components, fewer components, different components, or differently arranged components than those shown inFig. 3 . Additionally, or alternatively, a set of components (e.g., one or more components) ofdevice 300 may perform one or more functions described as being performed by another set of components ofdevice 300. -
Fig. 4 is a flow chart of anexample process 400 for modifying a power state of a packet processing component, of a group of packet processing components, based on whether a power modification condition is satisfied. In some implementations, one or more process blocks ofFig. 4 may be performed bynetwork device 220. In some implementations, one or more process blocks ofFig. 4 may be performed by another device or a group of devices separate from or includingnetwork device 220, such aspeer device 210 or anothernetwork device 220. - As shown in
Fig. 4 ,process 400 may include identifying a configuration of resources within a network device that includes one or more groups of packet processing components (block 410). For example, network device 220 (e.g., controller 350) may identify a configuration of resources withinnetwork device 220 by executing a scanning technique to identify a power supply configuration withinnetwork device 220, a resource distribution configuration for one ormore line cards 320 ofnetwork device 220, and/or the like. - The power supply configuration may indicate a number of power components (e.g., a power supply, a power supply switch, etc.) that are used to support the group of
packet processing components 322, whether particular power components are dedicated to particularpacket processing components 322 or shared between multiplepacket processing components 322, and/or the like. - The resource distribution configuration for a
line card 320 may indicate a number ofpacket processing components 322 included in aline card 320, whether resources available to theline card 320 are shared between two or morepacket processing components 322 or split such that eachpacket processing component 322 has individual resources, and/or the like. The resources that may be shared or split between eachpacket processing component 322 may include resources from an integrated circuit, a memory, an interface, and/or the like. - In some implementations,
network device 220 may identify a configuration of resources by executing a scanning technique that is able to scan one or more components ofnetwork device 220. For example,network device 220 may execute a scanning technique that is able to scan one ormore power components 365 to determine the power supply configuration fornetwork device 220, and that is able to scan one or more components of eachline card 320 to determine the resource distribution configuration for eachline card 320. - In some implementations,
network device 220 may identify a configuration of resources by executing a scanning technique that is able to scan one or more data structures. For example,network device 220 may execute a scanning technique that is able to scan one or more data structures that store data identifying the power supply configuration and/or the resource distribution configuration for the one ormore line cards 320. - As an example,
network device 220 may identify a configuration of resources wherein a group ofpacket processing components 322 in aline card 320 share resources and rely on a single power supply and power supply switch. As another example,network device 220 may identify a configuration of resources wherein a group ofpacket processing components 322 in aline card 320 share resources and rely on multiple power supplies and power supply switches. - As another example,
network device 220 may identify a configuration of resources wherein a group ofpacket processing components 322 in aline card 320 do not share resources and rely on a single power supply and power supply switch. As another example,network device 220 may identify a configuration of resources wherein a group ofpacket processing components 322 in a line cards do not share resources and rely on multiple power supplies and power supply switches. - In this way,
network device 220 is able to identify a configuration of resources that may be subsequently used for selectively modifying a power state of apacket processing component 322, as described further herein. - As further shown in
Fig. 4 ,process 400 may include powering on one or more packet processing components, of a group of packet processing components, to allow the one or more packet processing components to receive and process traffic (block 420). For example, network device 220 (e.g., controller 350) may power on a particularpacket processing component 322 based on instructions received from another device, as described below. - In some implementations,
network device 220 may power on a particularpacket processing component 322. For example,network device 220 may power on the particularpacket processing component 322 by enabling power to the particularpacket processing component 322 to allow the particularpacket processing component 322 to execute a boot-up procedure. In this case,network device 220 may provide an instruction to a power supply switch to cause the power supply switch to open a flow of current from a power supply to the particularpacket processing component 322, thereby enabling the particularpacket processing component 322 to execute the boot-up procedure. The boot-up procedure may include powering on any elements within the particularpacket processing component 322 that are used to carry out the packet routing and/or packet processing functions. - In some implementations,
network device 220 may power on the particularpacket processing component 322 based on receiving instructions from another device. For example, if a client purchases anew line card 320, the client may plug thenew line card 320 into a chassis ofnetwork device 220. To enable the particularpacket processing component 322 ofline card 320 to receive and process traffic, the client may need to interact with an interface of a client device to request that the particularpacket processing component 322 be activated. In this case, the client device may provide the request to a server device operated by an organization that managesnetwork device 220, which may cause the server device to activate the particular packet processing component 322 (e.g., by interacting withnetwork device 220 using an application programming interface (API)). - In some cases,
network device 220 may power on the particularpacket processing component 322 without powering on any otherpacket processing components 322. For example, if the particularpacket processing component 322 does not share power resources, thennetwork device 220 may power on the particularpacket processing component 322 without powering on any otherpacket processing components 322. - In other cases,
network device 220 may power on multiplepacket processing components 322. For example, if the particularpacket processing component 322 shares power resources with at least one otherpacket processing component 322, thennetwork device 220 may need to power on multiple packet processing components 322 (e.g., because enabling power to flow to the particularpacket processing component 322 may also enable power to flow to otherpacket processing components 322 that share the same power resources). - In this way,
network device 220 is able to power on one or morepacket processing components 322. - As further shown in
Fig. 4 ,process 400 may include determining whether to modify a power state of a packet processing component, of the group of packet processing components (block 430). For example, network device 220 (e.g., controller 350) may determine whether to modify a power state ofpacket processing component 322, of the group of packet processing components 3220, based on determining whether a power modification condition is satisfied. - A power state may refer to an amount of power that is presently available to a
packet processing component 322. Apacket processing component 322 may be in a full power state, a low power state, or a no power state. The power modification condition may be satisfied ifnetwork device 220 receives instructions (e.g., from another device) to modify the power state, if a capacity level of apacket processing component 322 satisfies a threshold capacity level, if an error (e.g., a hardware error, a software error, etc.) associated with thepacket processing component 322 is detected, if an output from a machine learning model predicts a negative consequence that may require modifying the power state, and/or the like. - In some implementations,
network device 220 may determine whether to modify a power state of a particularpacket processing component 322 based on instructions received from another device. For example,network device 220 may be configured with a power modification condition indicating thatnetwork device 220 is to modify a power state ifnetwork device 220 receives instructions, from another device, indicating to modify a power state. As an example, ifnetwork device 220 is already being used to process traffic,network device 220 may modify a power state of thepacket processing component 322 based on a request to change a number of activepacket processing components 322. - As a particular example, assume
network device 220 is processing traffic using twopacket processing components 322 of four availablepacket processing components 322 included in aline card 320. Further assume that a client usingnetwork device 220 grows the client's business such that an additionalpacket processing component 322 needs to be activated to process additional incoming traffic. In this case,network device 220 may modify the power state of one of the two remainingpacket processing components 322 from a no power state or from a low power state to a full power state. - Additionally, or alternatively,
network device 220 may determine whether to modify a power state of a particularpacket processing component 322 based on a capacity level. For example,network device 220 may monitor capacity levels for one or more additionalpacket processing components 322 that are powered on and receiving and processing traffic. In this case,network device 220 may determine that a capacity level of one of the additionalpacket processing components 322 satisfies a threshold capacity level, which may causenetwork device 220 to determine to modify the power state of the particularpacket processing component 322 from a no power state or from a low power state to a full power state (e.g., to help reduce an amount of traffic that the otherpacket processing components 322 have to receive and process). - Additionally, or alternatively,
network device 220 may determine whether to modify a power state of a particularpacket processing component 322 based on detecting an error. For example,network device 220 may monitor one or more hardware components ofnetwork device 220 and/or one or more elements (i.e., software features) ofnetwork device 220, while the particularpacket processing component 322 is receiving and/or processing traffic. In this case,network device 220 may detect an error, based on the monitoring, and may determine to modify a power state of the particularpacket processing component 322 based on detecting the error. - As an example, if an error is detected on the particular
packet processing component 322, thennetwork device 220 may determine to modify a power state from a full power state to a no power state or to a low power state. As another example, if an error is detected on a differentpacket processing component 322, thennetwork device 220 may determine to modify a power state of the particularpacket processing component 322 from a no power state or from a low power state to a full power state (e.g., to receive and/or process traffic of thepacket processing component 322 that incurred the error). - Additionally, or alternatively,
network device 220 may determine whether to modify a power state of a particularpacket processing component 322 based on an output of a machine learning model. For example,network device 220 may train a machine learning model on historical data to identify time periods at which errors are likely to occur (e.g., hardware component errors, software element errors, etc.). The historical data may identify trends of when certain types of errors are likely to occur, when hardware components are likely to age, and/or the like. In this case,network device 220 may provide, as input to the machine learning model, the identified configuration of resources and additional network device information (e.g., indicating an age of the hardware equipment, a type of hardware equipment, a type of element used, etc.) to cause the machine learning model to output a projected time period at which an error is likely to occur. In this case,network device 220 may determine to modify a power state prior to the projected time period at which the error is likely to occur. - As another example,
network device 220 may train a machine learning model on historical client data to identify time periods at which increases in traffic are likely to occur. The historical client data may be used to identify forecasts of growth in sales by the client, forecasted increases in traffic, forecasted decreases in traffic, and/or the like. In this example,network device 220 may provide, as input to the machine learning model, client data to cause the machine learning model to output a projected time period at which increases or decreases in traffic are likely to occur. In this case,network device 220 may determine to modify a power state prior to the projected time period at which the increases or decreases in traffic are likely to occur. - In this way,
network device 220 is able to determine whether to modify a power state of apacket processing component 322 based on whether a power modification condition is satisfied. - As further shown in
Fig. 4 ,process 400 may include modifying a power state of the packet processing component, of the group of packet processing components, based on determining that the power modification condition is satisfied (block 440). For example, network device 220 (e.g., controller 350) may modify a power state of thepacket processing component 322 based on determining that the power modification condition is satisfied. Additionally, in some cases,network device 220 may selectively modify a power state of thepacket processing component 322, such as by selecting whether to modify a power state from a full power state to an off state or to a low power state, as described further herein. - In some implementations,
network device 220 may modify a power state of the particularpacket processing component 322. For example,network device 220 may modify a power state from a full power state to a no power state by instructing thepacket processing component 322 to perform a shutdown procedure, and by cutting power to thepacket processing component 322. Additionally,network device 220 may modify a power state from a no power state to a full power state, in a manner described above (see, e.g., block 420). Additionally,network device 220 may modify a power state from a full power state to a low power state by performing a reset procedure that enables thepacket processing component 322 to restart and boot up in a low power state. - In some implementations,
network device 220 may selectively modify the power state of the particularpacket processing component 322. For example,network device 220 may selectively modify the full power state from a no power state or to a low power state based on the identified configuration of resources of network device 220 (e.g., as identified in block 410). - As an example, assume that
network device 220 includes aline card 320 that does not share resources betweenpacket processing components 322, and thatnetwork device 220 is configured such that eachpacket processing component 322 is able to utilize separate power supplies and power supply switches. In this case, ifnetwork device 220 determines that the power state of apacket processing component 322 needs to be modified,network device 220 may modify the power state to a no power state, without needing to utilize the low power state. This is because eachpacket processing component 322 has separate resources and separate power supplies, thereby allowing a particularpacket processing component 322 to be turned completely off without the power off influencing the remainingpacket processing components 322. - As another example, assume
network device 220 includes aline card 320 that does not share resources betweenpacket processing components 322, and thatnetwork device 220 is configured such that eachpacket processing component 322 shares the same power supply and power supply switch. In this case, ifnetwork device 220 detects that the power state of apacket processing component 322 needs to be modified,network device 220 may modify the power state from a full power state to a low power state (and not to a no power state). This is because eachpacket processing component 322 shares power resources, and turning off a particularpacket processing component 322 may result in the remainingpacket processing components 322 losing power. - As another example, assume
network device 220 includes aline card 320 that shares resources betweenpacket processing components 322, and thatnetwork device 220 is configured such that eachpacket processing component 322 shares the same power supply and power supply switch. In this case, ifnetwork device 220 detects that the power state of apacket processing component 322 needs to be modified,network device 220 may modify the power state to a low power state (and not to a no power state). This is because eachpacket processing component 322 shares internal resources and power resource, and turning off a particularpacket processing component 322 may result in the remainingpacket processing components 322 losing power. - As another example, assume
network device 220 includes aline card 320 that shares resources withpacket processing components 322, and thatnetwork device 220 is configured such that eachpacket processing component 322 is able to utilize separate power supplies and power supply switches. In this case, ifnetwork device 220 detects that the power state of apacket processing component 322 needs to be modified,network device 220 may modify the power state to a low power state. This is because eachpacket processing component 322 shares internal resources, and turning off a particularpacket processing component 322 may result in the remainingpacket processing components 322 losing power. - As another example, assume
network device 220 includes aline card 320 that shares resources with some of thepacket processing components 322, while otherpacket processing components 322 have separate resources, that thepacket processing components 322 that share resources also share power resources, and that the otherpacket processing components 322 each have individual power resources. In this case, ifnetwork device 220 detects that the power state of apacket processing component 322 needs to be modified,network device 220 may modify the power state to either a no power state or to a low power state, depending on whether a particularpacket processing component 322 has neither shared resources nor shared power resources. - If the particular
packet processing component 322 has neither shared resources nor shared power resources,network device 220 may modify the power state from a full power state to a no power state based on one of the above-mentioned triggers. If the particularpacket processing component 322 has shared resources and/or shared power resources,network device 220 may modify the power state from a full power state to a low power state based on one of the above-mentioned triggers. - In this way,
network device 220 is able to modify a power state of one or morepacket processing components 322. - Although
Fig. 4 shows example blocks ofprocess 400, in some implementations,process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted inFig. 4 . Additionally, or alternatively, two or more of the blocks ofprocess 400 may be performed in parallel. - In this way,
network device 220 is able to modify the power state ofpacket processing component 322 regardless of the power supply configuration ofnetwork device 220 or the resource distribution configuration ofline cards 320 withinnetwork device 220. Furthermore, by selectively powering on particularpacket processing components 322, and by keeping certainpacket processing components 322 in the low power state,network device 220 conserves power resources relative to a conventional network device that has to power on allpacket processing components 322 and/or that is unable to utilize the low power state. - Additionally, by allowing
network device 220 to power off particularpacket processing components 322, without having to power off other packet processing components 322 (e.g., that share resources with the particular packet processing component 322),network device 220 conserves processing resources that might otherwise be used to retransmit traffic lost while powering off allpacket processing components 322, conserves processing resources that might otherwise be used to execute error correction techniques after traffic is lost, and/or the like. Moreover, by allowingnetwork device 220 to keep particularpacket processing components 322 in the no power state or in the low power state,network device 220 reduces overall power consumption ofnetwork device 220, reduces expenses of clients of network device 220 (e.g., if the client is on a pay-as-you-go plan, etc.), and/or the like. - Therefore, from one perspective, there has been described that network device may identify a configuration of resources that are to support attachable line cards. The configuration may include a power supply configuration that is used to provide power to packet processing components that are supported by the line cards, and a resource distribution configuration indicating whether resources in the line cards are shared between the packet processing components. The network device may determine whether to modify a power state of a packet processing component based on whether one or more power modification conditions are satisfied. The network device may modify the power state of the packet processing component based on determining that the power modification condition is satisfied. The power state of the packet processing component may be able to be modified to a particular power state based on the configuration of resources.
- The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations within the scope of the appended claims are possible in light of the above disclosure or may be acquired from practice of the implementations.
- As used herein, the term traffic or content may include a set of packets. A packet may refer to a communication structure for communicating information, such as a protocol data unit (PDU), a network packet, a datagram, a segment, a message, a block, a cell, a frame, a subframe, a slot, a symbol, a portion of any of the above, and/or another type of formatted or unformatted unit of data capable of being transmitted via a network.
- As used herein, the term component is intended to be broadly construed as hardware, firmware, and/or a combination of hardware and software.
- As used herein, the term group is to be refer to one or more of something. For example, a group of components may refer to one or more components, a group of one or more elements may refer to one or more elements, and/or the like. As an example, a group of packet processing components may refer to one or more packet processing components.
- Some implementations are described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, etc.
- It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code-it being understood that software and hardware may be designed to implement the systems and/or methods based on the description herein.
- Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations.
- No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items, and may be used interchangeably with "one or more." Furthermore, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and may be used interchangeably with "one or more." Where only one item is intended, the term "one" or similar language is used. Also, as used herein, the terms "has," "have," "having," or the like are intended to be open-ended terms. Further, the phrase "based on" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.
Claims (13)
- A network device, comprising:one or more line cards,
wherein the one or more line cards support one or more groups of packet processing components; andone or more processors to:execute a scanning technique to identify a configuration of resources that are to support the one or more groups of packet processing components,
wherein the configuration includes:a power supply configuration that is used to provide power to the one or more groups of packet processing components, anda resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components;determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied; andmodify the power state of the packet processing component based on determining that the power modification condition is satisfied,wherein the power state is capable of being modified to:a full power state,a low power state, ora no power state, andwherein the power state of the packet processing component is able to be modified to a particular power state based on the configuration of resources that isto support the one or more groups of packet processing components;wherein the one or more processors are configured, when determining whether to modify the power state of the packet processing component, to:monitor capacity levels for one or more additional packet processing components, of the one or more groups of packet processing components, that are powered on and receiving traffic,
wherein the packet processing component, of the one or more groups of packet processing components, is in the no power state or the low power state and is not receiving traffic,determine that a capacity level for a particular packet processing component, of the one or more additional packet processing components, satisfies a threshold capacity level, anddetermine to modify the power state of the packet processing component based on determining that the capacity level for the particular packet processing component satisfies the threshold capacity level; andwherein the one or more processors, when modifying the power state of the packet processing component, are to:
modify the power state to the full power state to enable the packet processing component to receive traffic and to reduce the capacity level of the particular packet processing component. - The network device of claim 1, wherein the one or more processors are configured, when modifying the power state of the packet processing component, to:
modify the power state of the packet processing component without modifying power states of other packet processing components of the one or more groups of packet processing components,
wherein the power state is modified from the full power state to:the low power state, orthe no power state. - The network device of claim 1 or 2, wherein the one or more processors are configured, when determining whether to modify the power state of the packet processing component, to:receive an instruction to power on the packet processing component,determine to modify the power state of the packet processing component based on receiving the instruction; andwherein the one or more processors, when modifying the power state of the packet processing component, are to:modify the power state of the packet processing component from the no power state to the full power state, andmodify power states for any other packet processing components, of the one or more groups of packet processing components, that share power resources or line card resources with the packet processing component,
wherein modifying the power state for any other packet processing components includes modifying the power state from the no power state to the full power state, and subsequently modifying the power state from the full power state to the low power state. - The network device of any preceding claim, wherein the one or more processors are configured, when determining whether to modify the power state of the packet processing component, to:monitor one or more hardware components of the packet processing component while the packet processing component is powered on and receiving traffic,detect an error on a hardware component, of the one or more hardware components, based on monitoring the one or more hardware components, anddetermine to modify the power state of the packet processing component based on detecting the error on the hardware component; andwherein the one or more processors, when modifying the power state of the packet processing component, are to:
modify the power state to the no power state or to the low power state based on the power supply configuration and the resource distribution configuration for a line card used to support the one or more groups of packet processing components,
wherein the line card is one of the one or more line cards. - The network device of any preceding claim, wherein the one or more processors are further configured to:train, before identifying the configuration of resources that are to support the one or more groups of packet processing components, a machine learning model to identify time periods at which errors on hardware components are likely to occur,
wherein the machine learning model has been trained on historical data that identifies trends of when certain types of hardware equipment are to age to a point of causing errors; andprovide hardware information for the network device as input to the machine learning model to cause the machine learning model to output information identifying a projected time period at which an error on a hardware component of the packet processing component is likely to occur;wherein the one or more processors, when determining whether to modify the power state of the packet processing component, are to:
determine to modify the power state of the packet processing component prior to the projected time period; andwherein the one or more processors, when modifying the power state of the packet processing component, are to:
modify the power state of the packet processing component to the no power state or to the low power state prior to the projected time period. - The network device of any preceding claim, wherein the one or more processors are configured, when modifying the power state of the packet processing component, to:modify the power state from the full power state to the low power state based on identifying that the packet processing component:shares line card resources with at least one other packet processing component in the one or more groups of packet processing components, orshares power resources with at least one other packet processing component in the one or more groups of packet processing components, ormodify the power state from the full power state to the no power state based on identifying that the packet processing component does not share line card resources with the at least one other packet processing component and based on identifying that the packet processing component does not share power resources with the at least one other packet processing component.
- A computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:execute a scanning technique to identify a configuration of resources that are to support one or more line cards that are attachable to a device associated with the one or more processors,
wherein the configuration includes at least one of:a power supply configuration that is used to provide power to one or more groups of packet processing components that are supported by the one or more line cards, ora resource distribution configuration indicating whether resources in the one or more line cards are shared between packet processing components included in the one or more groups of packet processing components;determine whether to modify a power state of a packet processing component, of the one or more groups of packet processing components, based on whether a power modification condition is satisfied; andmodify the power state of the packet processing component based on determining that the power modification condition is satisfied,wherein the power state is capable of being modified from a first power state to:a second power state, ora third power state, andwherein the power state of the packet processing component is able to be modified to the second power state or to the third power state based on theconfiguration of resources that support the one or more line cards;wherein the one or more instructions, that cause the one or more processor to determine whether to modify the power state, cause the one or more processors to:monitor capacity levels for one or more additional packet processing components, of the one or more groups of packet processing components, that are powered on and receiving traffic,wherein the packet processing component is in the first power state or the second power state and is not receiving traffic, andwherein the first power state is a no power state and the second power state is a low power state,determine that a capacity level for a particular packet processing component, of the one or more additional packet processing components, satisfies a threshold capacity level, anddetermine to modify the power state of the packet processing component based on determining that the capacity level for the particular packet processing component satisfies the threshold capacity level; andwherein the one or more instructions, that cause the one or more processors to modify the power state of the packet processing component, cause the one or more processors to:modify the power state to the third power state to enable the packet processing component to receive traffic and to reduce the capacity level of the particular packet processing component,wherein the third power state is a full power state. - The computer-readable medium of claim 7, wherein the one or more instructions, that cause the one or more processors to modify the power state, cause the one or more processors to:
modify the power state of the packet processing component from the first power state to the second power state or to the third power state,wherein the first power state is a full power state, the second power state is a low power state, and the third power state is a no power state, andwherein the power state is able to be modified without modifying power states of other packet processing components of the one or more groups of packet processing components. - The computer-readable medium of claim 7 or 8, wherein the one or more instructions, that cause the one or more processors to execute the scanning technique to identify the configuration of resources, cause the one or more processors to:
execute the scanning technique to identify the configuration of resources,wherein the scanning technique identifies a number of power supplies that are used to support the one or more groups of packet processing components, andwherein the scanning technique identifies, for a line card of the one or more line cards, whether packet processing components that are supported by the line card share line card resources or have dedicated line card resources. - The computer-readable medium of any of claims 7 to 9, wherein the one or more instructions, that cause the one or more processor to determine whether to modify the power state of the packet processing component, cause the one or more processors to:monitor one or more elements of the packet processing component while the packet processing component is powered on and receiving traffic,detect an error associated with an element, of the one or more elements, based on monitoring the one or more elements, anddetermine to modify the power state of the packet processing component based on detecting the error associated with the element; andwherein the one or more instructions, that cause the one or more processors to modify the power state of the packet processing component, cause the one or more processors to:
modify the power state from the first power state to the second power state or to the third power state based on the power supply configuration and the resource distribution configuration for a line card used to support the packet processing component. - The computer-readable medium of any of claims 7 to 10, wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:train, before identifying the configuration that is to support the one or more groups of packet processing components, a machine learning model to identify time periods at which increases in traffic are likely to occur,
wherein the machine learning model has been trained on historical client data identifying events or trends that are likely to cause increases in traffic;provide client data as input to the machine learning model to cause the machine learning model to output information identifying a projected time period at which an increase in traffic is likely to occur;wherein the one or more instructions, that cause the one or more processors to determine whether to modify the power state of the packet processing component, cause the one or more processors to:
determine to modify the power state of the packet processing component prior to the projected time period; andwherein the one or more instructions, that cause the one or more processors to modify the power state of the packet processing component, cause the one or more processors to:
modify the power state of the packet processing component from the first power state to the second power state or to the third power state prior to the project time period,
wherein the first power state is a full power state, the second power state is a low power state, and the third power state is a no power state. - The computer-readable medium of any of claims 7 to 11, wherein the one or more instructions, that cause the one or more processors to modify the power state of the packet processing component, cause the one or more processors to:
modify the power state from the first power state to the second power state based on identifying that the packet processing component:shares a line card resource with at least one other packet processing component of the one or more groups of packet processing components, and/orshares a power resource with at least one other packet processing component of the one or more groups of packet processing components,wherein the first power state is a full power state and the second power state is a low power state, ormodify the power state from the first power state to the third power state based on identifying that the packet processing component does not share a line card resource with the at least one other packet processing component and based on identifying that the packet processing component does not share a power resource with the at least one other packet processing component,
wherein the third power state is a no power state. - A method for performance by a network device, as performed in accordance with the instructions defined in any of claims 7 to 12.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/934,684 US10642341B2 (en) | 2018-03-23 | 2018-03-23 | Selective modification of power states based on conditions |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3544228A1 EP3544228A1 (en) | 2019-09-25 |
EP3544228B1 true EP3544228B1 (en) | 2022-08-24 |
Family
ID=65818234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19163267.8A Active EP3544228B1 (en) | 2018-03-23 | 2019-03-15 | Selective modification of power states based on conditions |
Country Status (3)
Country | Link |
---|---|
US (1) | US10642341B2 (en) |
EP (1) | EP3544228B1 (en) |
CN (1) | CN110300070B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642341B2 (en) * | 2018-03-23 | 2020-05-05 | Juniper Networks, Inc. | Selective modification of power states based on conditions |
US20190303777A1 (en) | 2018-03-30 | 2019-10-03 | Provino Technologies, Inc. | Protocol level control for system on a chip (soc) agent reset and power management |
KR20200135780A (en) | 2018-03-30 | 2020-12-03 | 프로비노 테크놀로지스, 아이엔씨. | Mediating parts of a transaction through a virtual channel associated with the interconnect |
US11563671B2 (en) * | 2020-06-24 | 2023-01-24 | Juniper Networks, Inc. | Routing engine switchover based on health determined by support vector machine |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100289630B1 (en) * | 1992-07-13 | 2001-05-02 | 리패치 | Wireless LAN output control method and device |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6816936B1 (en) | 2001-01-02 | 2004-11-09 | Juniper Networks, Inc. | Hot-swappable router interface card with stable power on/off procedure |
US20040128382A1 (en) * | 2002-12-31 | 2004-07-01 | Marion Shimoda | Method and apparatus for adjusting resource availability based on power availability |
FR2855691B1 (en) * | 2003-06-02 | 2005-11-11 | Canon Kk | SECURING THE DISTRIBUTION OF DIGITAL DOCUMENTS IN A PAIRING NETWORK |
KR20050120565A (en) * | 2004-06-17 | 2005-12-22 | 인텔 코오퍼레이션 | Power state coordination between devices sharing power-managed resources |
CN1327608C (en) | 2005-04-30 | 2007-07-18 | 华北电力大学(北京) | Discontinuous power supply full-automatic controlling method and apparatus for motor of beam-pumping unit |
US8611540B2 (en) * | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
US8601288B2 (en) * | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
US8345675B1 (en) | 2010-12-28 | 2013-01-01 | Juniper Networks, Inc. | Orderly offlining in a distributed, multi-stage switch fabric architecture |
EP2490403A1 (en) * | 2011-02-17 | 2012-08-22 | Alcatel Lucent | Network communication node comprising a plurality of processors for processing layers of communication and associated node |
US8868941B2 (en) * | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
US9323318B2 (en) | 2013-06-11 | 2016-04-26 | Microsoft Technology Licensing, Llc | Scenario power management |
WO2016101099A1 (en) * | 2014-12-22 | 2016-06-30 | Intel Corporation | Techniques for power management associated with processing received packets at a network device |
US9733689B2 (en) * | 2015-06-27 | 2017-08-15 | Intel Corporation | Hardware apparatuses and methods to perform transactional power management |
US10541935B2 (en) * | 2015-11-25 | 2020-01-21 | Avago Technologies International Sales Pte. Limited | Network processors |
US10133341B2 (en) * | 2016-06-06 | 2018-11-20 | Arm Limited | Delegating component power control |
US10209763B2 (en) | 2016-09-09 | 2019-02-19 | Cisco Technology, Inc. | Power aware switching using analytics |
US10642341B2 (en) * | 2018-03-23 | 2020-05-05 | Juniper Networks, Inc. | Selective modification of power states based on conditions |
-
2018
- 2018-03-23 US US15/934,684 patent/US10642341B2/en active Active
-
2019
- 2019-03-11 CN CN201910182061.7A patent/CN110300070B/en active Active
- 2019-03-15 EP EP19163267.8A patent/EP3544228B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3544228A1 (en) | 2019-09-25 |
CN110300070B (en) | 2022-12-30 |
CN110300070A (en) | 2019-10-01 |
US10642341B2 (en) | 2020-05-05 |
US20190294233A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3544228B1 (en) | Selective modification of power states based on conditions | |
CN106936717B (en) | Media access control address and internet protocol address binding agent advertisement for network devices of a network | |
US10862805B1 (en) | Intelligent offloading of services for a network device | |
EP3422648B1 (en) | Dynamic implementation of a security rule | |
US11032196B2 (en) | Per path and per link traffic accounting | |
US9722911B2 (en) | Signaling existence of a network node that is in a reduced-power mode | |
US11088939B1 (en) | Reducing open shortest path first protocol link flap | |
EP3585001B1 (en) | A method, a network device, and a computer program product for resetting a packet processing component to an operational state | |
US20230027376A1 (en) | Regulating enqueueing and dequeuing border gateway protocol (bgp) update messages | |
US20210036948A1 (en) | Enabling selection of a bypass path from available paths in an open shortest path first (ospf) domain and an intermediate system to intermediate system (isis) domain | |
EP3253014A1 (en) | Supplemental connection fabric for chassis-based network device | |
US10382316B2 (en) | Installing active flows in a forwarding table | |
US11886304B2 (en) | Making transmission control protocol (TCP) sessions robust in a socket replication environment | |
US20240134751A1 (en) | Making transmission control protocol (tcp) sessions robust in a socket replication environment | |
EP3644562B1 (en) | Reducing traffic loss during network device failure in an open shortest path first (ospf) protocol-based local area network | |
US11750509B1 (en) | Preventing unicast traffic loops during access link failures | |
EP4053694A1 (en) | Hardware-assisted fast data path switchover for a network device with redundant forwarding components | |
US11770331B1 (en) | Encoding forwarding policy data in multiprotocol label switching (MPLS) labels | |
EP4340302A1 (en) | Load balancing of assisted replication network devices | |
US11902144B1 (en) | Preserving consistency of redundant border gateway protocol link state topology information | |
US11968232B2 (en) | Forwarding network traffic associated with a security classification via a routing path associated with the security classification | |
US20230269172A1 (en) | Determining a best destination over a best path using multifactor path selection | |
US20230188570A1 (en) | Using zones based on entry points and exit points of a network device to apply a security policy to network traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200325 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTG | Intention to grant announced |
Effective date: 20210507 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTC | Intention to grant announced (deleted) | ||
INTG | Intention to grant announced |
Effective date: 20211007 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
INTC | Intention to grant announced (deleted) | ||
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 49/40 20220101ALI20220211BHEP Ipc: H04L 41/16 20220101ALI20220211BHEP Ipc: H04L 41/12 20220101ALI20220211BHEP Ipc: G06F 1/3287 20190101ALI20220211BHEP Ipc: G06F 1/3234 20190101ALI20220211BHEP Ipc: H04L 12/10 20060101AFI20220211BHEP |
|
INTG | Intention to grant announced |
Effective date: 20220314 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1514454 Country of ref document: AT Kind code of ref document: T Effective date: 20220915 Ref country code: DE Ref legal event code: R096 Ref document number: 602019018536 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20220824 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20221226 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20221124 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1514454 Country of ref document: AT Kind code of ref document: T Effective date: 20220824 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20221224 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20221125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20230222 Year of fee payment: 5 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602019018536 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230520 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20230525 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220824 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20230331 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230315 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230331 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230315 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230331 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230331 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240220 Year of fee payment: 6 Ref country code: GB Payment date: 20240220 Year of fee payment: 6 |