WO2025072194A1 - Techniques and systems for recommending energy saving techniques in network equipment - Google Patents
Techniques and systems for recommending energy saving techniques in network equipment Download PDFInfo
- Publication number
- WO2025072194A1 WO2025072194A1 PCT/US2024/048202 US2024048202W WO2025072194A1 WO 2025072194 A1 WO2025072194 A1 WO 2025072194A1 US 2024048202 W US2024048202 W US 2024048202W WO 2025072194 A1 WO2025072194 A1 WO 2025072194A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- connection configuration
- connection
- network equipment
- network
- packet forwarding
- 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.)
- Pending
Links
Classifications
-
- 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/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0833—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
-
- 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/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0883—Semiautomatic configuration, e.g. proposals from 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Definitions
- a network may be associated with various network equipment and/or devices, such as network switches, network routers, and/or similar network devices.
- a network switch (sometimes referred to as a switching hub, a bridging hub, an Ethernet switch, a media access control (MAC) bridge, and/or a similar term) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device.
- a network switch is a multiport network bridge that uses MAC addresses to forward data at the data link layer (e.g., layer 2) of the open systems interconnection (OSI) model.
- OSI open systems interconnection
- Some switches can also forward data at the network layer (e.g., layer 3) by additionally incorporating routing functionality.
- Such switches are commonly known as layer-3 switches or multilayer switches.
- a network router enables devices to connect and share data over the Internet or an intranet.
- a router is a gateway that passes data between one or more local area networks (LANs).
- Routers use the Internet Protocol (IP) to send IP packets containing data and IP addresses of sending and destination devices located on separate local area networks. Routers reside between these LANs where the sending and receiving devices are connected.
- IP Internet Protocol
- Devices may be connected over multiple router “hops” or may reside on separate LANs directly connected to the same router.
- a method includes determining, by a connection optimization device, a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determining, by the connection optimization device, that the first connection configuration is a suboptimal connection configuration of the network equipment; determining, by the connection optimization device and based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and causing, by the connection optimization device, a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
- a connection optimization device includes one or more memories; and one or more processors to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment; determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
- a non-transitory computer-readable medium storing a set of instructions includes one or more instructions that, when executed by one or more processors of a connection optimization device, cause the connection optimization device to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment; determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
- Figs. 1A-1E are diagrams of an example implementation associated with techniques and systems for recommending energy saving techniques in network equipment.
- 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 a device associated with techniques and systems for recommending energy saving techniques in network equipment.
- FIG. 4 is a diagram of an example environment in which systems and/or methods described herein may be implemented.
- FIG. 5 is a diagram of example components of a device associated with techniques and systems for recommending energy saving techniques in network equipment.
- Fig. 6 is a flowchart of an example process associated with techniques and systems for recommending energy saving techniques in network equipment.
- Network equipment such as a network switch or a network router, may include multiple external facing ports configured to connect the network equipment to other network devices, such as devices associated with a switch fabric, among other examples.
- the external facing ports may be coupled to various components within the network equipment, such as a gearbox, a retimer, an optics cage, or a packet forwarding application-specific integrated circuit (ASIC) and/or chip (sometimes referred to herein as a packet forwarding engine (PFE)), among other examples.
- ASIC application-specific integrated circuit
- PFE packet forwarding engine
- a network administrator or other user of the network equipment may connect other network devices to the external facing ports without knowledge of an internal connectivity of the network equipment.
- Some implementations described herein enable intelligent feedback to a network administrator or other user of network equipment, such as by providing a recommendation to the network administrator or other user to connect network devices to the network equipment in an optimized configuration (e.g., such that a minimum quantity of internal components, such as PFEs or similar components, may be used to handle network traffic, and/or such that a minimum energy consumption is achieved).
- the optimized configuration may result in certain components of the network equipment (e.g., PFEs) being unused and/or powered off, thereby conserving power resources that would otherwise be required to power an unnecessary quantity of internal components.
- a connection optimization device may determine an optimized configuration for network device connections (e.g., a configuration that results in a minimum power consumption) of the network equipment, such as by using a reinforced-learning-based machine learning model.
- the connection optimization device may periodically monitor a connectivity of links associated with the network equipment (e.g., optic and internal fabric links) and/or may identify one or more fragmented links associated with the network equipment (e.g., one or more links that are connected in a way other than in an optimized configuration).
- the connection optimization device may cause feedback and/or recommendations to be provided to a network administrator or other user of the network equipment (e.g., via a user interface device associated with the network equipment), such as a recommendation to move certain network device connections in order to optimize connectivity and/or reduce power consumption. Additionally, or alternatively, the connection optimization device may cause one or more internal components of the network equipment to enter a powered-off state, such as when a network administrator or other user of the network equipment reconfigures network device connections in line with the feedback and/or recommendation provided by the connection optimization device. In this way, power consumption at the network equipment may be reduced as compared to examples in which a network administrator or other user of the network equipment connects network devices to the network equipment without knowledge of the internal connectivity and/or without feedback from the connection optimization device.
- Figs. 1A-1E are diagrams of an example implementation 100 associated with techniques and systems for recommending energy saving techniques network equipment.
- example implementation 100 includes network equipment 102, such as one or more switch interface boards (SIBs) 104 (shown as a first SIB 104-1, indexed as “SIB 0,” and a second SIB 104-2, indexed as “SIB 1”), one or more flexible physical interface card (PIC) concentrators (FPC) 106, one or more routing engines (REs) 108, one or more fan trays 110, and/or one or more power supplies 112.
- SIBs switch interface boards
- FPC flexible physical interface card
- REs routing engines
- each SIB 104 may be associated with a corresponding fabric switching component 114 (shown as a first fabric switching component 114-1 and labeled “Fabric 1” in connection with the first SIB 104-1 and a second fabric switching component 114-2 and labeled “Fabric 2” in connection with the second SIB 104-2), among other components.
- a corresponding fabric switching component 114 shown as a first fabric switching component 114-1 and labeled “Fabric 1” in connection with the first SIB 104-1 and a second fabric switching component 114-2 and labeled “Fabric 2” in connection with the second SIB 104-2
- each FPC 106 may be associated with one or more PFEs 116 (shown as a first PFE 116-1, indexed as “PFE 1,” and a second PFE 116-2, indexed as “PFE 2”); a central processing unit (CPU) 118; and/or one or more gear boxes (GBs), retimers, and/or optics cages (OCs) (shown as a first GB/retimer/OC 120-1 and a second GB/retimer/OC 120-2), with each GB/retimer/OC 120 being associated with a plurality of external facing ports (sometimes referred to herein as “slots”) for connecting to various network devices (such as four ports each, with a first port (labeled “Pl”) through a fourth port (labeled “P4”) being associated with the first GB/retimer/OC 120-1, and with a fifth port (labeled “P5”) through an eighth port (labeled “P8”) being associated with the second GB/retimer
- each RE 108 may be associated with a CPU 122; one or more memory components, such as a double data rate (DDR) component 124 and/or a solid state drive (SSD) component 126 (e.g., a flash SSD); a network timing component 128, a clock component 130; one or more programmable logic devices 132, such as a field-programmable gate array (FPGA) and/or a complex programmable logic device (CPLD); and/or a power input component 134 (e.g., an alternating current/direct current (AC/DC) component), among other components.
- DDR double data rate
- SSD solid state drive
- a network timing component 128, a clock component 130 e.g., a network timing component 128, a clock component 130
- programmable logic devices 132 such as a field-programmable gate array (FPGA) and/or a complex programmable logic device (CPLD); and/or a power input component 134 (e.g., an alternating current/direct current (
- a user when working with the network equipment 102, a user (sometimes referred to herein as a “network administrator” for ease of description, but which may be a different user in other implementations) may interact with the external facing ports and/or slots, such as the eight ports labeled “Pl” through “P8” in Fig. 1A, but which may include more or fewer ports in other implementations.
- the network administrator may connect one or more network devices 136 (e.g., one or more PICs, among other examples) to these ports without knowledge of the internal connectivity of the network equipment 102.
- network devices 136 e.g., one or more PICs, among other examples
- the network administrator may connect a first network device 136-1 (labeled “ND1”) to port 1 (e.g., Pl), a second network device 136-2 (labeled “ND2”) to port 2 (e.g., P2), and a third network device 136-3 (labeled “ND3”) to port 8 (e.g., P8).
- ND1 first network device 136-1
- ND2 second network device 136-2
- ND3 third network device 136-3
- the network administrator may connect the first network device 136-1 (e.g., ND1) to port 1 (e.g., Pl), the second network device 136-2 (e.g., ND2) to port 2 (e.g., P2), and the third network device 136-3 (e.g., ND3) to port 3 (e.g., P3).
- the first network device 136-1 e.g., ND1
- the second network device 136-2 e.g., ND2
- port 2 e.g., P2
- the third network device 136-3 e.g., ND3
- port 3 e.g., P3
- software running at the FPC 106 may turn off any unused components, such as the second PFE 116-2 and/or the second GB/retimer/OC 120-2 in the implementation shown in Fig. IB (shown using broken lines in connection with the second PFE 116-2 and the second GB/retimer/OC 120-2), resulting in a reduction of power consumption otherwise required to operate the second PFE 116-2 and/or the second GB/retimer/OC 120-2.
- the network administrator may have no knowledge of the relationship between the external facing ports and the PFEs 116 (e.g., because the internal connectivity of the FPC 106 and/or other components of the network equipment 102 may not be public knowledge), the network administrator may have no way to select which ports should be used to maximize energy savings at the network equipment 102. Put another way, the network administrator may have no way to know that the connection configuration shown in Fig. IB will result in reduced power consumption as compared to the connection configuration shown in Fig. 1 A.
- connection configurations and/or best practices may be documented (e.g., in an owner’s manual associated with the network equipment 102, among other examples)
- understanding and/or implementing the best practices by the network administrator may be burdensome, because it may require the network administrator to sift through numerous documents and/or understand the nuanced interactions of the individual devices of the network equipment 102.
- Understanding and/or implementing the best practices may become even more complicated and/or impractical in large datacenters or similar implementations, which may contain numerous (e.g., thousands) of networking devices from multiple vendors, among other examples.
- Some implementations described herein enable a reinforcement learning based method to arrive at an optimized connectivity of various devices to network equipment (e.g., network equipment 102), such as for a purpose of rendering certain components (e g., PFEs 116, forwarding chips, fabric ASICs, gearboxes, retimers, optical cages, and/or similar equipment) unused and thus enabling such components to be powered off and/or to otherwise enter a low- power state, thereby conserving power resources otherwise associated with operating network equipment to which network devices are arbitrarily connected (e.g., to which network devices are connected without regard to power consumption impacts).
- a connection optimization device such as the connection optimization device 148 described in more detail below in connection with Fig.
- connection optimization device may recommend to a user (e.g., the network administrator) to connect optics such that PFEs and/or fabric ASICs do not have partially filled ports.
- connection optimization device may suggest a connection configuration (sometimes referred to herein as a connectivity matrix) such that a PFE, a fabric ASIC, and/or a similar component either has all associated ports connected or else all associated ports open (e.g., not connected) so that the component may be powered down to conserve energy resources.
- a connection configuration sometimes referred to herein as a connectivity matrix
- the connection optimization device may suggest a connection configuration (sometimes referred to herein as a connectivity matrix) such that a PFE, a fabric ASIC, and/or a similar component either has all associated ports connected or else all associated ports open (e.g., not connected) so that the component may be powered down to conserve energy resources.
- the connection optimization device may detect these slot fragmentations in the network equipment and/or may iteratively generate the optimized connectivity links to recommend to the network administrator. Additionally, or alternatively, the connection optimization device may rely on a reinforcement learning technique to learn the optimized connectivity map from the network administrator. The machine learning technique may enable the connection optimization device to be applied to different types of network devices and topologies. When an optimized connectivity map or matrix with some preconfigured level of accuracy is achieved, the connection optimization device may be able to detect the slot fragmentations in any of the devices in the topology and quickly detect probable unused PFE and/or fabric ASICs in the topology as potential candidates for powering down.
- the connection optimization device enables the network administrator to achieve cost and/or power savings at the topology level.
- the connection optimization device may perform the detection of optimized connectivity matrix in a controlled way. For example, when cost savings to be achieved are high, the connection optimization device may look for slot fragmentations more aggressively and/or recommend a less optimized connectivity matrix at a cost of compromise in network performance. On the other hand, when cost savings to be achieved are nominal, the connection optimization device may take more time to find a best optimized connectivity matrix (e.g., an optimal connectivity matrix) with a minimal compromise in network performance.
- a best optimized connectivity matrix e.g., an optimal connectivity matrix
- connection optimization device may generate different variants of connection configurations for links by rearranging the links between PFEs and/or similar components. For each variant of connection configurations, the connection optimization device may estimate a power savings that could be achieved and/or may tag that connection configuration with an estimated amount of power savings. Additionally, or alternatively, in some implementations, the connection optimization device may estimate the extent of loss of redundancy and/or bandwidth associated with the connection configuration.
- the example implementation 100 may include various network equipment 138, such as one or more PFEs 140 (shown as a first PFE 140-1, indexed as “PFE 0,” through a third PFE 140-3, indexed as “PFE 2,” which may correspond to the PFEs 116 described above in connection with Figs. 1A and IB) and one or more fabric ASICs 142 (shown as a first fabric ASIC 142-1, indexed as “fabric ASIC 0,” and a second fabric ASIC 142-2, indexed as “fabric ASIC 1”).
- PFEs 140 shown as a first PFE 140-1, indexed as “PFE 0,” through a third PFE 140-3, indexed as “PFE 2,” which may correspond to the PFEs 116 described above in connection with Figs. 1A and IB
- fabric ASICs 142 shown as a first fabric ASIC 142-1, indexed as “fabric ASIC 0,” and a second fabric ASIC 142-2, indexed as “fabric ASIC 1”.
- each PFE 140 may be associated with two external links, each link corresponding to an external facing port and/or slot.
- the first PFE 140-1 may be associated with a first link having a link identifier (ID) shown as “IFD- 0/0/0,” and a second link having a link ID shown as “IFD-0/0/1.”
- the second PFE 140-2 may be associated with a first link having a link ID shown as “IFD-0/1/0,” and a second link having a link ID shown as “IFD-0/1/1 ”
- the third PFE 140-3 may be associated with a first link having a link ID shown as “IFD- 1/0/0,” and a second link having a link ID shown as “IFD-1/0/1.”
- Each PFE 140 may be internally connected to both fabric ASICs 142, shown as “F1-P0” for the connection between the first PFE 140-1 and the first fabric ASIC 142-
- a network administrator having no knowledge of the internal connectivity of the network equipment 138 may arbitrarily connect network devices to the various external facing ports without regard to whether or not such connections may result in fragmented connectivity. For example, if four network devices (e.g., PICs, optics, and/or similar devices) are to be connected to the network equipment 138, the network administrator may connect a first network device to a port corresponding to IFD-0/0/0 (e.g., a link associated with the first PFE 140-1), a second network device to a port corresponding to IFD-0/0/1 (e.g., another link associated with the first PFE 140-1), a third network device to a port corresponding to IFD- 0/1/1 (e.g., a link associated with the second PFE 140-2), and a fourth network device to a port corresponding to IFD- 1/0/0 (e.g., a link associated with the third PFE 140-3).
- all three network device e.g., a link
- a connection optimization device may generate a recommend connectivity matrix that optimizes power savings at the network equipment 138 and/or that avoids fragmented connectivity at the network equipment 138. For example, as indicated by reference number 144, the connection optimization device may determine that the fourth network device connected to IFD-1/0/0 should be moved to IFD-0/1/0. In such implementations, following movement of the fourth network device from IFD-1/0/0 to IFD-0/1/0, both the first PFE 140-1 and the second PFE 140-2 may have all external facing ports full, as indicated using solid lines in Fig. 1C.
- the third PFE 140-3 may have all external facing ports empty, as indicated using broken lines in Fig. 1C. Accordingly, the third PFE 140-3 may be powered off to thereby reduce power consumption associated with the network equipment 138, as indicated using bold X’s in Fig. 1C.
- the connection optimization device may determine the power savings associated with the generated connectivity matrix and/or may recommend the generated connectivity matrix to the network administrator (e.g., may cause an indication of the optimized configuration to be displayed at a user device, among other examples).
- network equipment 146 may include a connection optimization device 148, one or more routers 150 (shown as a first router 150-1 through a third router 150-3), and/or an administrator device 152 (e.g., a user interface device), among other examples.
- the connection optimization device 148 may include various components, such as a configuration manager 154, a reinforced configured learning engine 156, a configuration analyzer 158, a configuration database (DB) 160, and/or a configuration and power telemetry collector 162, among other examples.
- the various components of the connection optimization device 148 may be used to generate various connection configurations and/or corresponding power usage estimations.
- connection optimization device 148 may generate a recommended connection configuration, which may be validated and/or recommended to the network administrator (e g., which may be caused to be displayed at the administrator device 152) for feedback. Any feedback information provided by the administrator device 152 may be passed to the reinforced configuration learning engine 156 to improve the configuration and/or reject the configuration.
- the connection optimization device 148 may perform a similar process periodically, thereby iterating the connectivity and/or network links and analyzing the administrator feedback information to provide optimized connectivity of the network equipment 146.
- Fig. IE shows one example of a high-level process 163 performed by a connection optimization device (e.g., connection optimization device 148) in order to generate the recommended connection configuration for network equipment (e.g., network equipment 146).
- the process 163 may begin at step 164, which may be initiated periodically, based on network administrator instructions, based on a powering up of network equipment, and/or based on a similar triggering condition.
- the connection optimization device may identify an under-utilized PFE or similar component (e.g., a PFE or similar component for which less than all external facing ports are being utilized).
- step 166 based on identifying an under-utilized
- connection optimization device may look for a free slot (e.g., an open external facing port) in another PFE or similar component. If the connection optimization device is unable to locate a free slot in another PFE (shown as “no” in connection with step 167), the connection optimization device may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
- a free slot e.g., an open external facing port
- connection optimization device may update a recommended connection configuration (e.g., a recommended connection matrix), as shown in step 168, such as by adjusting the connection configuration such that one or more connections associated with the under-utilized PFE identified in step 165 are moved to the PFE identified in steps 166 and 167.
- the updated connection configuration may be a configuration in which one or more components of the network equipment are rendered unused and/or put into a power-down state.
- the updated connection configuration may be a configuration that supports powering down the unused PFE.
- the network equipment and/or a network associated with the network equipment may be associated with certain service requirements, such as a minimum bandwidth, a resiliency threshold, and/or similar requirements.
- the connection optimization device may validate the new connectivity (e.g., the newly identified connection configuration) for resiliency and/or bandwidth conditions. For example, the connection optimization device may determine whether the minimum bandwidth, resiliency threshold, and/or similar requirements may be achieved when the unused PFE is powered down.
- step 170 if the certain constraints (e.g., the minimum bandwidth and/or resiliency threshold, among other examples) are not met (shown as “no” in connection with step 170), the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
- certain constraints e.g., the minimum bandwidth and/or resiliency threshold, among other examples
- the connection optimization device may generate and/or recommend the connection configuration to an administrator device (e.g., administrator device 1 2), such as by causing a message to be displayed at a user interface of the administrator device.
- the administrator device may verify the recommended connection configuration. For example, in response to physically changing connections of certain network devices to meet the recommended connection configuration, the network administrator may use the administrator device to verify, to the connection optimization device, that the connections have been implemented as per the recommended connection configuration.
- the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
- the connection optimization device may push the connection configuration to the network equipment.
- pushing the connection configuration to the network equipment may include powering down unused network components, such as unused PFEs, among other examples, thereby reducing power consumption associated with the network equipment, among other benefits.
- the connection optimization device may determine if there are any PFEs remaining in the network equipment to be checked for potential connection optimization. If there are remaining PFEs, the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment. However, if there are no further PFEs to check, process 163 may end at step 180.
- Figs. 1A-1E are provided as an example. Other examples may differ from what is described with regard to Figs. 1A-1E.
- the number and arrangement of devices shown in Figs. 1A-1E are provided as an example. In practice, there may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in Figs. 1A-1E.
- two or more devices shown in Figs. 1A-1E may be implemented within a single device, or a single device shown in Figs. 1A-1E may be implemented as multiple, distributed devices.
- a set of devices (e.g., one or more devices) shown in Figs. 1A-1E may perform one or more functions described as being performed by another set of devices shown in Figs. 1A-1E.
- FIG. 2 is a diagram of an example environment 200 in which systems and/or methods described herein may be implemented.
- environment 200 may include a computing system 201, which may include one or more elements of and/or may execute within a cloud computing system 202.
- the cloud computing system 202 may include one or more elements 203-212, as described in more detail below.
- environment 200 may include a network 220, a client device 230, a server device 240, and/or a similar device.
- Devices and/or elements of environment 200 may interconnect via wired connections and/or wireless connections.
- the cloud computing system 202 may include computing hardware 203, a resource management component 204, a host operating system (OS) 205, and/or one or more virtual computing systems 206.
- the cloud computing system 202 may execute on, for example, an Amazon Web Services platform, a Microsoft Azure platform, or a Snowflake platform.
- the resource management component 204 may perform virtualization (e.g., abstraction) of computing hardware 203 to create the one or more virtual computing systems 206.
- virtualization e.g., abstraction
- the resource management component 204 enables a single computing device (e.g., a computer or a server) to operate like multiple computing devices, such as by creating multiple isolated virtual computing systems 206 from computing hardware 203 of the single computing device. In this way, computing hardware 203 can operate more efficiently, with lower power consumption, higher reliability, higher availability, higher utilization, greater flexibility, and lower cost than using separate computing devices.
- the computing hardware 203 may include hardware and corresponding resources from one or more computing devices.
- computing hardware 203 may include hardware from a single computing device (e.g., a single server) or from multiple computing devices (e.g., multiple servers), such as multiple computing devices in one or more data centers.
- computing hardware 203 may include one or more processors 207, one or more memories 208, and/or one or more networking components 209. Examples of a processor, a memory, and a networking component (e.g., a communication component) are described elsewhere herein.
- the resource management component 204 may include a virtualization application
- the resource management component 204 may include a hypervisor (e.g., a bare-metal or Type 1 hypervisor, a hosted or Type 2 hypervisor, or another type of hypervisor) or a virtual machine monitor, such as when the virtual computing systems 206 are virtual machines 210. Additionally, or alternatively, the resource management component 204 may include a container manager, such as when the virtual computing systems 206 are containers 211. In some implementations, the resource management component 204 executes within and/or in coordination with a host operating system 205.
- a hypervisor e.g., a bare-metal or Type 1 hypervisor, a hosted or Type 2 hypervisor, or another type of hypervisor
- a virtual machine monitor such as when the virtual computing systems 206 are virtual machines 210.
- the resource management component 204 may include a container manager, such as when the virtual computing systems 206 are containers 211.
- the resource management component 204 executes within and/or in coordination with a host operating system 205.
- a virtual computing system 206 may include a virtual environment that enables cloudbased execution of operations and/or processes described herein using computing hardware 203. As shown, a virtual computing system 206 may include a virtual machine 210, a container 211, or a hybrid environment 212 that includes a virtual machine and a container, among other examples. A virtual computing system 206 may execute one or more applications using a file system that includes binary files, software libraries, and/or other resources required to execute applications on a guest operating system (e.g., within the virtual computing system 206) or the host operating system 205.
- the computing system 201 may include one or more elements 203-212 of the cloud computing system 202, may execute within the cloud computing system 202, and/or may be hosted within the cloud computing system 202, in some implementations, the computing system 201 may not be cloud-based (e.g., may be implemented outside of a cloud computing system) or may be partially cloud-based.
- the computing system 201 may include one or more devices that are not part of the cloud computing system 202, such as device 300 of
- Fig. 3 which may include a standalone server or another type of computing device.
- the computing system 201 may perform one or more operations and/or processes described in more detail elsewhere herein.
- the network 220 may include one or more wired and/or wireless networks.
- the network 220 may include a cellular network, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a private network, the Internet, and/or a combination of these or other types of networks.
- PLMN public land mobile network
- LAN local area network
- WAN wide area network
- private network the Internet
- the network 220 enables communication among the devices of the environment 200.
- the client device 230 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information described herein.
- the client device 230 may include a communication device and/or a computing device.
- the client device 230 may include a wireless communication device, a user equipment (UE), a mobile phone (e.g., a smart phone or a cell phone, among other examples), a laptop computer, a tablet computer, a handheld computer, a desktop computer, a gaming device, a wearable communication device (e g., a smart wristwatch or a pair of smart eyeglasses, among other examples), an Internet of Things (loT) device, or a similar type of device.
- the client device 230 may communicate with one or more other devices of environment 200, as described elsewhere herein.
- the server device 240 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information described herein.
- the server device 240 may include a communication device and/or a computing device.
- the server device 240 may include a server, an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), a server in a cloud computing system, a device that includes computing hardware used in a cloud computing environment, or a similar type of device.
- the server device 240 may communicate with one or more other devices of environment 200, as described elsewhere herein.
- 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 the environment 200 may perform one or more functions described as being performed by another set of devices of the environment 200.
- a set of devices e.g., one or more devices
- Fig. 3 is a diagram of example components of a device 300 associated with techniques and systems for recommending energy saving techniques in a network device.
- the device 300 may correspond to the computing system 201, the client device 230, the server device 240, and/or any device described above in connection with Figs. 1A-1E.
- the computing system 201, the client device 230, the server device 240, and/or any device described above in connection with Figs. 1 A-1E may include one or more devices 300 and/or one or more components of the device 300.
- the device 300 may include a bus 310, a processor 320, a memory 330, an input component 340, an output component 350, and/or a communication component 360.
- the bus 310 may include one or more components that enable wired and/or wireless communication among the components of the device 300.
- the bus 310 may couple together two or more components of Fig. 3, such as via operative coupling, communicative coupling, electronic coupling, and/or electric coupling.
- the bus 310 may include an electrical connection (e.g., a wire, a trace, and/or a lead) and/or a wireless bus.
- the processor 320 may include a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an applicationspecific integrated circuit, and/or another type of processing component.
- the processor 320 may be implemented in hardware, firmware, or a combination of hardware and software.
- the processor 320 may include one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
- the memory 330 may include volatile and/or nonvolatile memory.
- the memory 330 may include random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory).
- the memory 330 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection).
- the memory 330 may be a non-transitory computer-readable medium.
- the memory 330 may store information, one or more instructions, and/or software (e.g., one or more software applications) related to the operation of the device 300.
- the memory 330 may include one or more memories that are coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 320), such as via the bus 310. Communicative coupling between a processor 320 and a memory 330 may enable the processor 320 to read and/or process information stored in the memory 330 and/or to store information in the memory 330.
- the input component 340 may enable the device 300 to receive input, such as user input and/or sensed input.
- the input component 340 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, a global navigation satellite system sensor, an accelerometer, a gyroscope, and/or an actuator.
- the output component 350 may enable the device 300 to provide output, such as via a display, a speaker, and/or a light-emitting diode.
- the communication component 360 may enable the device 300 to communicate with other devices via a wired connection and/or a wireless connection.
- the communication component 360 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
- the device 300 may perform one or more operations or processes described herein.
- a non-transitory computer-readable medium e.g., memory 330
- the processor 320 may execute the set of instructions to perform one or more operations or processes described herein.
- execution of the set of instructions, by one or more processors 320 causes the one or more processors 320 and/or the device 300 to perform one or more operations or processes described herein.
- hardwired circuitry may be used instead of or in combination with the instructions to perform one or more operations or processes described herein.
- the processor 320 may be configured to perform one or more operations or processes described herein.
- implementations described herein are not limited to any specific combination of hardware circuitry and software.
- the number and arrangement of components shown in Fig. 3 are provided as an example.
- the 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 the device 300 may perform one or more functions described as being performed by another set of components of the device
- FIG. 4 is a diagram of an example environment 400 in which systems and/or methods described herein may be implemented.
- environment 400 may include one or more peer devices 410, a group of nodes 420 (shown as node 420-1 through node 420-N), and a network 430.
- Devices of environment 400 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- Peer device 410 includes one or more devices capable of receiving and/or providing network traffic.
- peer device 410 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 security device, an intrusion detection device, a load balancer, or a similar type of device.
- peer device 410 may include an endpoint device that is a source or a destination for network traffic.
- peer device 410 may include a computer or a similar type of device.
- Peer device 410 may receive network traffic from and/or may provide network traffic (e.g., payload packets) to other peer devices 410 via network 430 (e.g., by routing payload packets using node(s) 420 as an intermediary).
- peer device 410 may include an edge device that is located at an edge of one or more networks.
- peer device 410 receive network traffic from and/or may provide network traffic (e.g., payload packets) to devices external to network 430.
- Node 420 includes one or more devices capable of receiving, processing, storing, routing, and/or providing traffic (e.g., a payload packet, a file, etc.) in a manner described herein.
- node 420 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 another type of router.
- LSR label switching router
- LER label edge router
- an ingress router egress router
- a provider router e.g., a provider edge router, a provider core router, etc.
- virtual router e.g., a virtual router, or another type of router.
- node 420 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, and/or a similar device.
- a server e.g., a proxy server, a cloud server, a data center server, etc.
- load balancer e.g., a load balancer, and/or a similar device.
- node 420 may be a physical device implemented within a housing, such as a chassis. In some implementations, node 420 may be a virtual device implemented by one or more computer devices of a cloud computing environment or a data center.
- node 420 may be configured with one or more segment translation tables. In some implementations, node 420 may receive a payload packet from peer device 410. In some implementations, node 420 may encapsulate the payload packet using a compressed routing header (CRH) and may route the IP payload packet to another node 420, using one or more techniques described elsewhere herein. In some implementations, node 420 may be an edge node in network 430. In some implementations, node 420 may be an intermediary node in network 430 (i.e., a node between two or more edge nodes).
- CRC compressed routing header
- Network 430 includes one or more wired and/or wireless networks.
- network 430 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, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network
- 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 network
- metropolitan area network e.g., 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.
- PSTN Public Switched Telephone Network
- the number and arrangement of devices and networks shown in Fig. 4 are provided as one or more examples. 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. 4. Furthermore, two or more devices shown in Fig. 4 may be implemented within a single device, or a single device shown in Fig. 4 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 400 may perform one or more functions described as being performed by another set of devices of environment 400.
- Fig. 5 is a diagram of example components of a device 500 associated with techniques and systems for recommending energy saving techniques in a network device.
- Device 500 may correspond to one or more of the devices described above in connection with Figs. 1A-4.
- one or more of the devices described above in connection with Figs. 1A- 4 may include one or more devices 500 and/or one or more components of device 500. As shown in Fig.
- device 500 may include one or more input components 510-1 through 510-B (B > 1) (hereinafter referred to collectively as input components 510, and individually as input component 510), a switching component 520, one or more output components 530-1 through 530-C (C > 1) (hereinafter referred to collectively as output components 530, and individually as output component 530), and a controller 540.
- Input component 510 may be one or more points of attachment for physical links and may be one or more points of entry for incoming traffic, such as packets. Input component 510 may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, input component 510 may transmit and/or receive packets. In some implementations, input component 510 may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and/or input queues. In some implementations, device 500 may include one or more input components 510.
- packet processing components e.g., in the form of integrated circuits
- IFCs interface cards
- packet forwarding components line card controller components
- input ports e.g., processors, memories, and/or input queues.
- device 500 may include one or more input components 510.
- Switching component 520 may interconnect input components 510 with output components 530.
- switching component 520 may be implemented via one or more crossbars, via busses, and/or with shared memories.
- the shared memories may act as temporary buffers to store packets from input components 510 before the packets are eventually scheduled for delivery to output components 530.
- switching component 520 may enable input components 510, output components 530, and/or controller 540 to communicate with one another.
- Output component 530 may store packets and may schedule packets for transmission on output physical links. Output component 530 may support data link layer encapsulation or decapsulation, and/or a variety of higher-level protocols. In some implementations, output component 530 may transmit packets and/or receive packets. In some implementations, output component 530 may include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and/or output queues. In some implementations, device 500 may include one or more output components 530. In some implementations, input component 510 and output component 530 may be implemented by the same set of components (e g., and input/output component may be a combination of input component 510 and output component 530).
- Controller 540 includes a processor in the form of, for example, a CPU, a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), an FPGA, an ASIC, and/or another type of processor.
- the processor is implemented in hardware, firmware, or a combination of hardware and software.
- controller 540 may include one or more processors that can be programmed to perform a function.
- controller 540 may include a RAM, a 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 540.
- a RAM random access memory
- ROM read-only memory
- static storage device e.g., a flash memory, a magnetic memory, an optical memory, etc.
- controller 540 may communicate with other devices, networks, and/or systems connected to device 500 to exchange information regarding network topology. Controller 540 may create routing tables based on the network topology information, may create forwarding tables based on the routing tables, and may forward the forwarding tables to input components 510 and/or output components 530. Input components 510 and/or output components 530 may use the forwarding tables to perform route lookups for incoming and/or outgoing packets.
- Controller 540 may perform one or more processes described herein. Controller 540 may perform these processes in response to executing software instructions stored by a non- transitory computer-readable medium.
- a computer-readable medium is defined herein as a non- transitory memory device.
- a memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
- Software instructions may be read into a memory and/or storage component associated with controller 540 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 540 may cause controller 540 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.
- device 500 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 5.
- a set of components (e.g., one or more components) of device 500 may perform one or more functions described as being performed by another set of components of device 500.
- Fig. 6 is a flowchart of an example process 600 associated with techniques and systems for recommending energy saving techniques in a network device.
- one or more process blocks of Fig. 6 are performed by a connection optimization device (e.g., connection optimization device 148).
- one or more process blocks of Fig. 6 are performed by another device or a group of devices separate from or including the connection optimization device, such as one or more of the devices described above in connection with Figs. 2-5.
- one or more process blocks of Fig. 6 may be performed by one or more components of device 300, such as processor 320, memory 330, input component 340, output component 350, and/or communication component 360.
- process 600 may include determining a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports (block 610).
- the connection optimization device may determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports, as described above.
- process 600 may include determining that the first connection configuration is a suboptimal connection configuration of the network equipment (block 620).
- the connection optimization device may determine that the first connection configuration is a suboptimal connection configuration of the network equipment, as described above.
- process 600 may include determining, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment (block 630).
- the connection optimization device may determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment, as described above.
- process 600 may include causing feedback to be transmitted to a user interface device, wherein the feedback indicates a recommendation to change the first connection configuration to the second connection configuration (block 640).
- the connection optimization device may cause feedback to be transmitted to a user interface device, wherein the feedback indicates a recommendation to change the first connection configuration to the second connection configuration, as described above.
- Process 600 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
- the network equipment includes multiple packet forwarding components, and each packet forwarding component, of the multiple packet forwarding components, is internally connected to at least one external facing port, of the multiple external facing ports.
- a second quantity of packet forwarding components, of the multiple packet forwarding components is in a second powered-on state, and the first quantity is greater than the second quantity.
- determining the second connection configuration includes determining the second connection configuration using a machine learning model.
- the machine learning model is associated with a reinforcement-learningbased machine learning model.
- process 600 includes determining, by the connection optimization device, a first power consumption level associated with the second connection configuration, determining, by the connection optimization device, a third connection configuration associated with the network equipment, wherein the third connection configuration is associated with a second power consumption level that is less than the first power consumption level, and causing, by the connection optimization device, additional feedback to be transmitted to the user interface device, wherein the additional feedback indicates another recommendation to change the second connection configuration to the third connection configuration.
- process 600 includes receiving, by the connection optimization device and from an administrator device, configuration information associated with determining connection configurations, wherein determining the second connection configuration is based on the configuration information.
- process 600 includes additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 6. Additionally, or alternatively, two or more of the blocks of process 600 may be performed in parallel.
- 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 service data unit (SDU), a network packet, a datagram, a segment, a message, a block, a frame (e g., an Ethernet frame), 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
- SDU service data unit
- network packet e.g., a packet datagram, a segment, a message, a block, a frame (e g., an Ethernet frame), 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.
- satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, or the like.
- the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/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.
- “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiple of the same item.
- processors or “one or more processors” (or another device or component, such as “a controller” or “one or more controllers”) is described or claimed (within a single claim or across multiple claims) as performing multiple operations or being configured to perform multiple operations, this language is intended to broadly cover a variety of processor architectures and environments.
- first processor and “second processor” or other language that differentiates processors in the claims
- this language is intended to cover a single processor performing or being configured to perform all of the operations, a group of processors collectively performing or being configured to perform all of the operations, a first processor performing or being configured to perform a first operation and a second processor performing or being configured to perform a second operation, or any combination of processors performing or being configured to perform the operations.
- 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. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of’).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In some implementations, a connection optimization device may determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports. The connection optimization device may determine that the first connection configuration is a suboptimal connection configuration of the network equipment. The connection optimization device may determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment. The connection optimization device may cause feedback to be transmitted to a user interface device, wherein the feedback indicates a recommendation to change the first connection configuration to the second connection configuration.
Description
TECHNIQUES AND SYSTEMS FOR RECOMMENDING ENERGY SAVING TECHNIQUES IN NETWORK EQUIPMENT
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This Patent Application claims priority to India Patent Application No. 202341064555, filed on September 26, 2023, and entitled “TECHNIQUES AND SYSTEMS FOR RECOMMENDING ENERGY SAVING TECHNIQUES IN A NETWORK DEVICE.” The disclosure of the prior Application is considered part of and is incorporated by reference into this Patent Application.
BACKGROUND
[0002] A network may be associated with various network equipment and/or devices, such as network switches, network routers, and/or similar network devices. A network switch (sometimes referred to as a switching hub, a bridging hub, an Ethernet switch, a media access control (MAC) bridge, and/or a similar term) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. In some examples, a network switch is a multiport network bridge that uses MAC addresses to forward data at the data link layer (e.g., layer 2) of the open systems interconnection (OSI) model. Some switches can also forward data at the network layer (e.g., layer 3) by additionally incorporating routing functionality. Such switches are commonly known as layer-3 switches or multilayer switches. A network router enables devices to connect and share data over the Internet or an intranet. A router is a gateway that passes data between one or more local area networks (LANs). Routers use the Internet Protocol (IP) to send IP packets containing data and IP addresses of sending and destination devices located on separate local area networks.
Routers reside between these LANs where the sending and receiving devices are connected.
Devices may be connected over multiple router “hops” or may reside on separate LANs directly connected to the same router.
SUMMARY
[0003] In some implementations, a method includes determining, by a connection optimization device, a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determining, by the connection optimization device, that the first connection configuration is a suboptimal connection configuration of the network equipment; determining, by the connection optimization device and based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and causing, by the connection optimization device, a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
[0004] In some implementations, a connection optimization device includes one or more memories; and one or more processors to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment; determine,
based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
[0005] In some implementations, a non-transitory computer-readable medium storing a set of instructions includes one or more instructions that, when executed by one or more processors of a connection optimization device, cause the connection optimization device to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment; determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figs. 1A-1E are diagrams of an example implementation associated with techniques and systems for recommending energy saving techniques in network equipment.
[0007] Fig. 2 is a diagram of an example environment in which systems and/or methods described herein may be implemented.
[0008] Fig. 3 is a diagram of example components of a device associated with techniques and systems for recommending energy saving techniques in network equipment.
[0009] Fig. 4 is a diagram of an example environment in which systems and/or methods described herein may be implemented.
[0010] Fig. 5 is a diagram of example components of a device associated with techniques and systems for recommending energy saving techniques in network equipment.
[0011] Fig. 6 is a flowchart of an example process associated with techniques and systems for recommending energy saving techniques in network equipment.
DETAILED DESCRIPTION
[0012] 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.
[0013] Network equipment, such as a network switch or a network router, may include multiple external facing ports configured to connect the network equipment to other network devices, such as devices associated with a switch fabric, among other examples. The external facing ports may be coupled to various components within the network equipment, such as a gearbox, a retimer, an optics cage, or a packet forwarding application-specific integrated circuit (ASIC) and/or chip (sometimes referred to herein as a packet forwarding engine (PFE)), among other examples. In some examples, a network administrator or other user of the network equipment may connect other network devices to the external facing ports without knowledge of an internal connectivity of the network equipment. This may result in the network administrator
or other user connecting network devices in a suboptimal configuration (e.g., a configuration that results in a higher energy consumption than is necessary), such as by connecting network devices in a way that requires the network equipment to utilize multiple internal PFEs when a single PFE may otherwise be sufficient to handle network traffic. Accordingly, when certain other network devices are connected to the external facing ports in a suboptimal configuration, the network equipment may be associated with high energy consumption even during periods of low network traffic.
[0014] Some implementations described herein enable intelligent feedback to a network administrator or other user of network equipment, such as by providing a recommendation to the network administrator or other user to connect network devices to the network equipment in an optimized configuration (e.g., such that a minimum quantity of internal components, such as PFEs or similar components, may be used to handle network traffic, and/or such that a minimum energy consumption is achieved). In such implementations, the optimized configuration may result in certain components of the network equipment (e.g., PFEs) being unused and/or powered off, thereby conserving power resources that would otherwise be required to power an unnecessary quantity of internal components. In some implementations, a connection optimization device (e.g., an on-box or off-box device associated with the network equipment) may determine an optimized configuration for network device connections (e.g., a configuration that results in a minimum power consumption) of the network equipment, such as by using a reinforced-learning-based machine learning model. In some implementations, the connection optimization device may periodically monitor a connectivity of links associated with the network equipment (e.g., optic and internal fabric links) and/or may identify one or more fragmented links associated with the network equipment (e.g., one or more links that are connected in a way
other than in an optimized configuration). The connection optimization device may cause feedback and/or recommendations to be provided to a network administrator or other user of the network equipment (e.g., via a user interface device associated with the network equipment), such as a recommendation to move certain network device connections in order to optimize connectivity and/or reduce power consumption. Additionally, or alternatively, the connection optimization device may cause one or more internal components of the network equipment to enter a powered-off state, such as when a network administrator or other user of the network equipment reconfigures network device connections in line with the feedback and/or recommendation provided by the connection optimization device. In this way, power consumption at the network equipment may be reduced as compared to examples in which a network administrator or other user of the network equipment connects network devices to the network equipment without knowledge of the internal connectivity and/or without feedback from the connection optimization device.
[0015] Figs. 1A-1E are diagrams of an example implementation 100 associated with techniques and systems for recommending energy saving techniques network equipment. As shown in Fig. 1A, example implementation 100 includes network equipment 102, such as one or more switch interface boards (SIBs) 104 (shown as a first SIB 104-1, indexed as “SIB 0,” and a second SIB 104-2, indexed as “SIB 1”), one or more flexible physical interface card (PIC) concentrators (FPC) 106, one or more routing engines (REs) 108, one or more fan trays 110, and/or one or more power supplies 112. In some implementations, each SIB 104 may be associated with a corresponding fabric switching component 114 (shown as a first fabric switching component 114-1 and labeled “Fabric 1” in connection with the first SIB 104-1 and a second fabric switching component 114-2 and labeled “Fabric 2” in connection with the second
SIB 104-2), among other components. Additionally, or alternatively, each FPC 106 may be associated with one or more PFEs 116 (shown as a first PFE 116-1, indexed as “PFE 1,” and a second PFE 116-2, indexed as “PFE 2”); a central processing unit (CPU) 118; and/or one or more gear boxes (GBs), retimers, and/or optics cages (OCs) (shown as a first GB/retimer/OC 120-1 and a second GB/retimer/OC 120-2), with each GB/retimer/OC 120 being associated with a plurality of external facing ports (sometimes referred to herein as “slots”) for connecting to various network devices (such as four ports each, with a first port (labeled “Pl”) through a fourth port (labeled “P4”) being associated with the first GB/retimer/OC 120-1, and with a fifth port (labeled “P5”) through an eighth port (labeled “P8”) being associated with the second GB/retimer/OC 120-2); among other components. Additionally, or alternatively, each RE 108 may be associated with a CPU 122; one or more memory components, such as a double data rate (DDR) component 124 and/or a solid state drive (SSD) component 126 (e.g., a flash SSD); a network timing component 128, a clock component 130; one or more programmable logic devices 132, such as a field-programmable gate array (FPGA) and/or a complex programmable logic device (CPLD); and/or a power input component 134 (e.g., an alternating current/direct current (AC/DC) component), among other components. These devices are described in more detail below in connection with Figs. 2-5.
[0016] In some examples, when working with the network equipment 102, a user (sometimes referred to herein as a “network administrator” for ease of description, but which may be a different user in other implementations) may interact with the external facing ports and/or slots, such as the eight ports labeled “Pl” through “P8” in Fig. 1A, but which may include more or fewer ports in other implementations. In such examples, the network administrator may connect one or more network devices 136 (e.g., one or more PICs, among other examples) to these ports
without knowledge of the internal connectivity of the network equipment 102. For example, in the implementation shown in Fig. 1A, the network administrator may connect a first network device 136-1 (labeled “ND1”) to port 1 (e.g., Pl), a second network device 136-2 (labeled “ND2”) to port 2 (e.g., P2), and a third network device 136-3 (labeled “ND3”) to port 8 (e.g., P8). In such examples, keeping ports 1, 2, and 8 online may require the use of two forwarding chips (e.g., the first PFE 116-1 and the second PFE 116-2) even though the network device traffic could otherwise be handled by one forwarding chip (e.g., if the network devices 136 were connected to ports associated with the same forwarding chip), resulting in high power consumption at the network equipment 102.
[0017] More particularly, as shown in Fig. IB, in this implementation the network administrator may connect the first network device 136-1 (e.g., ND1) to port 1 (e.g., Pl), the second network device 136-2 (e.g., ND2) to port 2 (e.g., P2), and the third network device 136-3 (e.g., ND3) to port 3 (e.g., P3). In such implementations, only one forwarding chip (e g., the first PFE 116-1) needs to be maintained online, because all ports that are in use are associated with the same PFE 116 and/or the same GB/retimer/OC 120. Accordingly, software running at the FPC 106 (e.g., software that is executed by the CPU 118, among other examples) may turn off any unused components, such as the second PFE 116-2 and/or the second GB/retimer/OC 120-2 in the implementation shown in Fig. IB (shown using broken lines in connection with the second PFE 116-2 and the second GB/retimer/OC 120-2), resulting in a reduction of power consumption otherwise required to operate the second PFE 116-2 and/or the second GB/retimer/OC 120-2. However, because the network administrator may have no knowledge of the relationship between the external facing ports and the PFEs 116 (e.g., because the internal connectivity of the FPC 106 and/or other components of the network equipment 102 may not be public knowledge),
the network administrator may have no way to select which ports should be used to maximize energy savings at the network equipment 102. Put another way, the network administrator may have no way to know that the connection configuration shown in Fig. IB will result in reduced power consumption as compared to the connection configuration shown in Fig. 1 A.
[0018] Moreover, although in some cases certain connection configurations and/or best practices may be documented (e.g., in an owner’s manual associated with the network equipment 102, among other examples), understanding and/or implementing the best practices by the network administrator may be burdensome, because it may require the network administrator to sift through numerous documents and/or understand the nuanced interactions of the individual devices of the network equipment 102. Understanding and/or implementing the best practices may become even more complicated and/or impractical in large datacenters or similar implementations, which may contain numerous (e.g., thousands) of networking devices from multiple vendors, among other examples.
[0019] Some implementations described herein enable a reinforcement learning based method to arrive at an optimized connectivity of various devices to network equipment (e.g., network equipment 102), such as for a purpose of rendering certain components (e g., PFEs 116, forwarding chips, fabric ASICs, gearboxes, retimers, optical cages, and/or similar equipment) unused and thus enabling such components to be powered off and/or to otherwise enter a low- power state, thereby conserving power resources otherwise associated with operating network equipment to which network devices are arbitrarily connected (e.g., to which network devices are connected without regard to power consumption impacts). In some implementations, a connection optimization device (such as the connection optimization device 148 described in more detail below in connection with Fig. ID) and/or a similar device may periodically scan the
connectivity of network devices (sometimes referred to herein as optics) and internal fabric links of the networking equipment to look for fragmented connectivity of the links. “Fragmented connectivity” refers to a way of connecting the optics (e.g., randomly) other than in an optimized configuration (e.g., a configuration in which power consumption is reduced and/or minimized). The connection optimization device may recommend to a user (e.g., the network administrator) to connect optics such that PFEs and/or fabric ASICs do not have partially filled ports. In some implementations, the connection optimization device may suggest a connection configuration (sometimes referred to herein as a connectivity matrix) such that a PFE, a fabric ASIC, and/or a similar component either has all associated ports connected or else all associated ports open (e.g., not connected) so that the component may be powered down to conserve energy resources. [0020] As described above, when links in network equipment are not created as per an optimized configuration, slot fragmentation may occur in which a PFE and/or a fabric ASIC may have partially connected ports (e.g., partially connected slots), resulting in keeping the PFE and/or fabric ASIC in a powered-on state. In some implementations, the connection optimization device may detect these slot fragmentations in the network equipment and/or may iteratively generate the optimized connectivity links to recommend to the network administrator. Additionally, or alternatively, the connection optimization device may rely on a reinforcement learning technique to learn the optimized connectivity map from the network administrator. The machine learning technique may enable the connection optimization device to be applied to different types of network devices and topologies. When an optimized connectivity map or matrix with some preconfigured level of accuracy is achieved, the connection optimization device may be able to detect the slot fragmentations in any of the devices in the topology and
quickly detect probable unused PFE and/or fabric ASICs in the topology as potential candidates for powering down.
[0021] In some implementations, the connection optimization device enables the network administrator to achieve cost and/or power savings at the topology level. In such implementations, the connection optimization device may perform the detection of optimized connectivity matrix in a controlled way. For example, when cost savings to be achieved are high, the connection optimization device may look for slot fragmentations more aggressively and/or recommend a less optimized connectivity matrix at a cost of compromise in network performance. On the other hand, when cost savings to be achieved are nominal, the connection optimization device may take more time to find a best optimized connectivity matrix (e.g., an optimal connectivity matrix) with a minimal compromise in network performance.
[0022] In each iteration, the connection optimization device may generate different variants of connection configurations for links by rearranging the links between PFEs and/or similar components. For each variant of connection configurations, the connection optimization device may estimate a power savings that could be achieved and/or may tag that connection configuration with an estimated amount of power savings. Additionally, or alternatively, in some implementations, the connection optimization device may estimate the extent of loss of redundancy and/or bandwidth associated with the connection configuration.
[0023] This may be more readily understood with reference to Figs. 1C and ID. First, as shown in Fig. 1C, the example implementation 100 may include various network equipment 138, such as one or more PFEs 140 (shown as a first PFE 140-1, indexed as “PFE 0,” through a third PFE 140-3, indexed as “PFE 2,” which may correspond to the PFEs 116 described above in connection with Figs. 1A and IB) and one or more fabric ASICs 142 (shown as a first fabric
ASIC 142-1, indexed as “fabric ASIC 0,” and a second fabric ASIC 142-2, indexed as “fabric ASIC 1”).
[0024] In the implementation shown in Fig. 1C, each PFE 140 may be associated with two external links, each link corresponding to an external facing port and/or slot. For example, the first PFE 140-1 may be associated with a first link having a link identifier (ID) shown as “IFD- 0/0/0,” and a second link having a link ID shown as “IFD-0/0/1.” Similarly, the second PFE 140-2 may be associated with a first link having a link ID shown as “IFD-0/1/0,” and a second link having a link ID shown as “IFD-0/1/1 ” Moreover, the third PFE 140-3 may be associated with a first link having a link ID shown as “IFD- 1/0/0,” and a second link having a link ID shown as “IFD-1/0/1.” Each PFE 140 may be internally connected to both fabric ASICs 142, shown as “F1-P0” for the connection between the first PFE 140-1 and the first fabric ASIC 142- 1, “F2-P0” for the connection between the first PFE 140-1 and the second fabric ASIC 142-2, “Fl -Pl” for the connection between the second PFE 140-2 and the first fabric ASIC 142-1, “F2- Pl” for the connection between the second PFE 140-2 and the second fabric ASIC 142-2, “Fl- P2” for the connection between the third PFE 140-3 and the first fabric ASIC 142-1, and “F2- P2” for the connection between the third PFE 140-3 and the second fabric ASIC 142-2.
[0025] In some implementations, a network administrator having no knowledge of the internal connectivity of the network equipment 138 may arbitrarily connect network devices to the various external facing ports without regard to whether or not such connections may result in fragmented connectivity. For example, if four network devices (e.g., PICs, optics, and/or similar devices) are to be connected to the network equipment 138, the network administrator may connect a first network device to a port corresponding to IFD-0/0/0 (e.g., a link associated with the first PFE 140-1), a second network device to a port corresponding to IFD-0/0/1 (e.g., another
link associated with the first PFE 140-1), a third network device to a port corresponding to IFD- 0/1/1 (e.g., a link associated with the second PFE 140-2), and a fourth network device to a port corresponding to IFD- 1/0/0 (e.g., a link associated with the third PFE 140-3). In such implementations, all three PFEs 140 of the network equipment would need to be powered on, because each PFE 140 would have at least one external facing port in use.
[0026] In such implementations, a connection optimization device may generate a recommend connectivity matrix that optimizes power savings at the network equipment 138 and/or that avoids fragmented connectivity at the network equipment 138. For example, as indicated by reference number 144, the connection optimization device may determine that the fourth network device connected to IFD-1/0/0 should be moved to IFD-0/1/0. In such implementations, following movement of the fourth network device from IFD-1/0/0 to IFD-0/1/0, both the first PFE 140-1 and the second PFE 140-2 may have all external facing ports full, as indicated using solid lines in Fig. 1C. Moreover, following movement of the fourth network device from IFD- 1/0/0 to IFD-0/1/0, the third PFE 140-3 may have all external facing ports empty, as indicated using broken lines in Fig. 1C. Accordingly, the third PFE 140-3 may be powered off to thereby reduce power consumption associated with the network equipment 138, as indicated using bold X’s in Fig. 1C. In some implementations, the connection optimization device may determine the power savings associated with the generated connectivity matrix and/or may recommend the generated connectivity matrix to the network administrator (e.g., may cause an indication of the optimized configuration to be displayed at a user device, among other examples).
[0027] As shown in Fig. ID, in some implementations network equipment 146 may include a connection optimization device 148, one or more routers 150 (shown as a first router 150-1 through a third router 150-3), and/or an administrator device 152 (e.g., a user interface device),
among other examples. The connection optimization device 148 may include various components, such as a configuration manager 154, a reinforced configured learning engine 156, a configuration analyzer 158, a configuration database (DB) 160, and/or a configuration and power telemetry collector 162, among other examples. In some implementations, the various components of the connection optimization device 148 may be used to generate various connection configurations and/or corresponding power usage estimations. For example, based on information collected from various network devices (e.g., routers 150, among other examples) by the configuration and power telemetry collector 162, the connection optimization device 148 may generate a recommended connection configuration, which may be validated and/or recommended to the network administrator (e g., which may be caused to be displayed at the administrator device 152) for feedback. Any feedback information provided by the administrator device 152 may be passed to the reinforced configuration learning engine 156 to improve the configuration and/or reject the configuration. In some implementations, the connection optimization device 148 may perform a similar process periodically, thereby iterating the connectivity and/or network links and analyzing the administrator feedback information to provide optimized connectivity of the network equipment 146.
[0028] Fig. IE shows one example of a high-level process 163 performed by a connection optimization device (e.g., connection optimization device 148) in order to generate the recommended connection configuration for network equipment (e.g., network equipment 146). The process 163 may begin at step 164, which may be initiated periodically, based on network administrator instructions, based on a powering up of network equipment, and/or based on a similar triggering condition. At step 165, the connection optimization device may identify an under-utilized PFE or similar component (e.g., a PFE or similar component for which less than
all external facing ports are being utilized). At step 166, based on identifying an under-utilized
PFE, the connection optimization device may look for a free slot (e.g., an open external facing port) in another PFE or similar component. If the connection optimization device is unable to locate a free slot in another PFE (shown as “no” in connection with step 167), the connection optimization device may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
[0029] However, if the connection optimization device locates a free slot in another PFE (shown as “yes” in connection with step 167), the connection optimization device may update a recommended connection configuration (e.g., a recommended connection matrix), as shown in step 168, such as by adjusting the connection configuration such that one or more connections associated with the under-utilized PFE identified in step 165 are moved to the PFE identified in steps 166 and 167. In some implementations, the updated connection configuration may be a configuration in which one or more components of the network equipment are rendered unused and/or put into a power-down state. For example, in examples in which the updated connection configuration is associated with freeing up an entire PFE (e.g., making it so that no external facing ports of the PFE are connected to network devices), such as by moving connections associated with one PFE to another PFE, the updated connection configuration may be a configuration that supports powering down the unused PFE.
[0030] In some implementations, the network equipment and/or a network associated with the network equipment may be associated with certain service requirements, such as a minimum bandwidth, a resiliency threshold, and/or similar requirements. In such implementations, at step 169 the connection optimization device may validate the new connectivity (e.g., the newly identified connection configuration) for resiliency and/or bandwidth conditions. For example,
the connection optimization device may determine whether the minimum bandwidth, resiliency threshold, and/or similar requirements may be achieved when the unused PFE is powered down.
At step 170, if the certain constraints (e.g., the minimum bandwidth and/or resiliency threshold, among other examples) are not met (shown as “no” in connection with step 170), the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
[0031] However, if the certain constraints (e.g., the minimum bandwidth and/or resiliency threshold, among other examples) are met (shown as “yes” in connection with step 170), at step 171 the connection optimization device may generate and/or recommend the connection configuration to an administrator device (e.g., administrator device 1 2), such as by causing a message to be displayed at a user interface of the administrator device. At step 172, the administrator device may verify the recommended connection configuration. For example, in response to physically changing connections of certain network devices to meet the recommended connection configuration, the network administrator may use the administrator device to verify, to the connection optimization device, that the connections have been implemented as per the recommended connection configuration. As shown at step 174, if the administrator device does not accept the recommended connection configuration (shown as “no” in connection with step 174), the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment.
[0032] However, if the administrator device does accept the recommended connection and/or if the network devices are reconnected in a manner recommended by the connection optimization device (shown as “yes” in connection with step 174), at step 176 the connection optimization device may push the connection configuration to the network equipment. In instances in which
the connection configuration results in an unused PFE or similar network component, pushing the connection configuration to the network equipment may include powering down unused network components, such as unused PFEs, among other examples, thereby reducing power consumption associated with the network equipment, among other benefits. At step 178, the connection optimization device may determine if there are any PFEs remaining in the network equipment to be checked for potential connection optimization. If there are remaining PFEs, the process 163 may return to step 165 to potentially identify other under-utilized PFEs or similar components in the network equipment. However, if there are no further PFEs to check, process 163 may end at step 180.
[0033] As indicated above, Figs. 1A-1E are provided as an example. Other examples may differ from what is described with regard to Figs. 1A-1E. The number and arrangement of devices shown in Figs. 1A-1E are provided as an example. In practice, there may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in Figs. 1A-1E. Furthermore, two or more devices shown in Figs. 1A-1E may be implemented within a single device, or a single device shown in Figs. 1A-1E may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) shown in Figs. 1A-1E may perform one or more functions described as being performed by another set of devices shown in Figs. 1A-1E.
[0034] Fig. 2 is a diagram of an example environment 200 in which systems and/or methods described herein may be implemented. As shown in Fig. 2, environment 200 may include a computing system 201, which may include one or more elements of and/or may execute within a cloud computing system 202. The cloud computing system 202 may include one or more elements 203-212, as described in more detail below. As further shown in Fig. 2, environment
200 may include a network 220, a client device 230, a server device 240, and/or a similar device.
Devices and/or elements of environment 200 may interconnect via wired connections and/or wireless connections.
[0035] The cloud computing system 202 may include computing hardware 203, a resource management component 204, a host operating system (OS) 205, and/or one or more virtual computing systems 206. The cloud computing system 202 may execute on, for example, an Amazon Web Services platform, a Microsoft Azure platform, or a Snowflake platform. The resource management component 204 may perform virtualization (e.g., abstraction) of computing hardware 203 to create the one or more virtual computing systems 206. Using virtualization, the resource management component 204 enables a single computing device (e.g., a computer or a server) to operate like multiple computing devices, such as by creating multiple isolated virtual computing systems 206 from computing hardware 203 of the single computing device. In this way, computing hardware 203 can operate more efficiently, with lower power consumption, higher reliability, higher availability, higher utilization, greater flexibility, and lower cost than using separate computing devices.
[0036] The computing hardware 203 may include hardware and corresponding resources from one or more computing devices. For example, computing hardware 203 may include hardware from a single computing device (e.g., a single server) or from multiple computing devices (e.g., multiple servers), such as multiple computing devices in one or more data centers. As shown, computing hardware 203 may include one or more processors 207, one or more memories 208, and/or one or more networking components 209. Examples of a processor, a memory, and a networking component (e.g., a communication component) are described elsewhere herein.
[0037] The resource management component 204 may include a virtualization application
(e.g., executing on hardware, such as computing hardware 203) capable of virtualizing computing hardware 203 to start, stop, and/or manage one or more virtual computing systems 206. For example, the resource management component 204 may include a hypervisor (e.g., a bare-metal or Type 1 hypervisor, a hosted or Type 2 hypervisor, or another type of hypervisor) or a virtual machine monitor, such as when the virtual computing systems 206 are virtual machines 210. Additionally, or alternatively, the resource management component 204 may include a container manager, such as when the virtual computing systems 206 are containers 211. In some implementations, the resource management component 204 executes within and/or in coordination with a host operating system 205.
[0038] A virtual computing system 206 may include a virtual environment that enables cloudbased execution of operations and/or processes described herein using computing hardware 203. As shown, a virtual computing system 206 may include a virtual machine 210, a container 211, or a hybrid environment 212 that includes a virtual machine and a container, among other examples. A virtual computing system 206 may execute one or more applications using a file system that includes binary files, software libraries, and/or other resources required to execute applications on a guest operating system (e.g., within the virtual computing system 206) or the host operating system 205.
[0039] Although the computing system 201 may include one or more elements 203-212 of the cloud computing system 202, may execute within the cloud computing system 202, and/or may be hosted within the cloud computing system 202, in some implementations, the computing system 201 may not be cloud-based (e.g., may be implemented outside of a cloud computing system) or may be partially cloud-based. For example, the computing system 201 may include
one or more devices that are not part of the cloud computing system 202, such as device 300 of
Fig. 3, which may include a standalone server or another type of computing device. The computing system 201 may perform one or more operations and/or processes described in more detail elsewhere herein.
[0040] The network 220 may include one or more wired and/or wireless networks. For example, the network 220 may include a cellular network, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a private network, the Internet, and/or a combination of these or other types of networks. The network 220 enables communication among the devices of the environment 200.
[0041] The client device 230 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information described herein. The client device 230 may include a communication device and/or a computing device. For example, the client device 230 may include a wireless communication device, a user equipment (UE), a mobile phone (e.g., a smart phone or a cell phone, among other examples), a laptop computer, a tablet computer, a handheld computer, a desktop computer, a gaming device, a wearable communication device (e g., a smart wristwatch or a pair of smart eyeglasses, among other examples), an Internet of Things (loT) device, or a similar type of device. The client device 230 may communicate with one or more other devices of environment 200, as described elsewhere herein.
[0042] The server device 240 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information described herein. The server device 240 may include a communication device and/or a computing device. For example, the server device 240 may include a server, an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), a
server in a cloud computing system, a device that includes computing hardware used in a cloud computing environment, or a similar type of device. The server device 240 may communicate with one or more other devices of environment 200, as described elsewhere herein.
[0043] 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 the environment 200 may perform one or more functions described as being performed by another set of devices of the environment 200.
[0044] Fig. 3 is a diagram of example components of a device 300 associated with techniques and systems for recommending energy saving techniques in a network device. The device 300 may correspond to the computing system 201, the client device 230, the server device 240, and/or any device described above in connection with Figs. 1A-1E. In some implementations, the computing system 201, the client device 230, the server device 240, and/or any device described above in connection with Figs. 1 A-1E may include one or more devices 300 and/or one or more components of the device 300. As shown in Fig. 3, the device 300 may include a bus 310, a processor 320, a memory 330, an input component 340, an output component 350, and/or a communication component 360.
[0045] The bus 310 may include one or more components that enable wired and/or wireless communication among the components of the device 300. The bus 310 may couple together two or more components of Fig. 3, such as via operative coupling, communicative coupling,
electronic coupling, and/or electric coupling. For example, the bus 310 may include an electrical connection (e.g., a wire, a trace, and/or a lead) and/or a wireless bus. The processor 320 may include a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an applicationspecific integrated circuit, and/or another type of processing component. The processor 320 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the processor 320 may include one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
[0046] The memory 330 may include volatile and/or nonvolatile memory. For example, the memory 330 may include random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory). The memory 330 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection). The memory 330 may be a non-transitory computer-readable medium. The memory 330 may store information, one or more instructions, and/or software (e.g., one or more software applications) related to the operation of the device 300. In some implementations, the memory 330 may include one or more memories that are coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 320), such as via the bus 310. Communicative coupling between a processor 320 and a memory 330 may enable the processor 320 to read and/or process information stored in the memory 330 and/or to store information in the memory 330.
[0047] The input component 340 may enable the device 300 to receive input, such as user input and/or sensed input. For example, the input component 340 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning
system sensor, a global navigation satellite system sensor, an accelerometer, a gyroscope, and/or an actuator. The output component 350 may enable the device 300 to provide output, such as via a display, a speaker, and/or a light-emitting diode. The communication component 360 may enable the device 300 to communicate with other devices via a wired connection and/or a wireless connection. For example, the communication component 360 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
[0048] The device 300 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or code) for execution by the processor 320. The processor 320 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of the set of instructions, by one or more processors 320, causes the one or more processors 320 and/or the device 300 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry may be used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, the processor 320 may be configured to perform one or more operations or processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0049] The number and arrangement of components shown in Fig. 3 are provided as an example. The 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 the device 300 may perform
one or more functions described as being performed by another set of components of the device
300.
[0050] Fig. 4 is a diagram of an example environment 400 in which systems and/or methods described herein may be implemented. As shown in Fig. 4, environment 400 may include one or more peer devices 410, a group of nodes 420 (shown as node 420-1 through node 420-N), and a network 430. Devices of environment 400 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
[0051] Peer device 410 includes one or more devices capable of receiving and/or providing network traffic. For example, peer device 410 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 security device, an intrusion detection device, a load balancer, or a similar type of device. In some implementations, peer device 410 may include an endpoint device that is a source or a destination for network traffic. For example, peer device 410 may include a computer or a similar type of device. Peer device 410 may receive network traffic from and/or may provide network traffic (e.g., payload packets) to other peer devices 410 via network 430 (e.g., by routing payload packets using node(s) 420 as an intermediary). In some implementations, peer device 410 may include an edge device that is located at an edge of one or more networks. For example, peer device 410 receive network traffic from and/or may provide network traffic (e.g., payload packets) to devices external to network 430.
[0052] Node 420 includes one or more devices capable of receiving, processing, storing, routing, and/or providing traffic (e.g., a payload packet, a file, etc.) in a manner described herein. For example, node 420 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 another type of router. Additionally, or alternatively, node 420 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, and/or a similar device.
[0053] In some implementations, node 420 may be a physical device implemented within a housing, such as a chassis. In some implementations, node 420 may be a virtual device implemented by one or more computer devices of a cloud computing environment or a data center.
[0054] In some implementations, node 420 may be configured with one or more segment translation tables. In some implementations, node 420 may receive a payload packet from peer device 410. In some implementations, node 420 may encapsulate the payload packet using a compressed routing header (CRH) and may route the IP payload packet to another node 420, using one or more techniques described elsewhere herein. In some implementations, node 420 may be an edge node in network 430. In some implementations, node 420 may be an intermediary node in network 430 (i.e., a node between two or more edge nodes).
[0055] Network 430 includes one or more wired and/or wireless networks. For example, network 430 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, 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.
[0056] The number and arrangement of devices and networks shown in Fig. 4 are provided as one or more examples. 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. 4. Furthermore, two or more devices shown in Fig. 4 may be implemented within a single device, or a single device shown in Fig. 4 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 400 may perform one or more functions described as being performed by another set of devices of environment 400.
[0057] Fig. 5 is a diagram of example components of a device 500 associated with techniques and systems for recommending energy saving techniques in a network device. Device 500 may correspond to one or more of the devices described above in connection with Figs. 1A-4. In some implementations, one or more of the devices described above in connection with Figs. 1A- 4 may include one or more devices 500 and/or one or more components of device 500. As shown in Fig. 5, device 500 may include one or more input components 510-1 through 510-B (B > 1) (hereinafter referred to collectively as input components 510, and individually as input component 510), a switching component 520, one or more output components 530-1 through 530-C (C > 1) (hereinafter referred to collectively as output components 530, and individually as output component 530), and a controller 540.
[0058] Input component 510 may be one or more points of attachment for physical links and may be one or more points of entry for incoming traffic, such as packets. Input component 510 may process incoming traffic, such as by performing data link layer encapsulation or
decapsulation. In some implementations, input component 510 may transmit and/or receive packets. In some implementations, input component 510 may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and/or input queues. In some implementations, device 500 may include one or more input components 510.
[0059] Switching component 520 may interconnect input components 510 with output components 530. In some implementations, switching component 520 may be implemented via one or more crossbars, via busses, and/or with shared memories. The shared memories may act as temporary buffers to store packets from input components 510 before the packets are eventually scheduled for delivery to output components 530. In some implementations, switching component 520 may enable input components 510, output components 530, and/or controller 540 to communicate with one another.
[0060] Output component 530 may store packets and may schedule packets for transmission on output physical links. Output component 530 may support data link layer encapsulation or decapsulation, and/or a variety of higher-level protocols. In some implementations, output component 530 may transmit packets and/or receive packets. In some implementations, output component 530 may include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and/or output queues. In some implementations, device 500 may include one or more output components 530. In some implementations, input component 510 and output component 530
may be implemented by the same set of components (e g., and input/output component may be a combination of input component 510 and output component 530).
[0061] Controller 540 includes a processor in the form of, for example, a CPU, a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), an FPGA, an 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 540 may include one or more processors that can be programmed to perform a function.
[0062] In some implementations, controller 540 may include a RAM, a 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 540.
[0063] In some implementations, controller 540 may communicate with other devices, networks, and/or systems connected to device 500 to exchange information regarding network topology. Controller 540 may create routing tables based on the network topology information, may create forwarding tables based on the routing tables, and may forward the forwarding tables to input components 510 and/or output components 530. Input components 510 and/or output components 530 may use the forwarding tables to perform route lookups for incoming and/or outgoing packets.
[0064] Controller 540 may perform one or more processes described herein. Controller 540 may perform these processes in response to executing software instructions stored by a non- transitory computer-readable medium. A computer-readable medium is defined herein as a non- transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
[0065] Software instructions may be read into a memory and/or storage component associated with controller 540 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 540 may cause controller 540 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.
[0066] The number and arrangement of components shown in Fig. 5 are provided as an example. In practice, device 500 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 5.
Additionally, or alternatively, a set of components (e.g., one or more components) of device 500 may perform one or more functions described as being performed by another set of components of device 500.
[0067] Fig. 6 is a flowchart of an example process 600 associated with techniques and systems for recommending energy saving techniques in a network device. In some implementations, one or more process blocks of Fig. 6 are performed by a connection optimization device (e.g., connection optimization device 148). In some implementations, one or more process blocks of Fig. 6 are performed by another device or a group of devices separate from or including the connection optimization device, such as one or more of the devices described above in connection with Figs. 2-5. Additionally, or alternatively, one or more process blocks of Fig. 6 may be performed by one or more components of device 300, such as processor 320, memory 330, input component 340, output component 350, and/or communication component 360.
[0068] As shown in Fig. 6, process 600 may include determining a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports (block 610). For example, the connection optimization device may determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports, as described above.
[0069] As further shown in Fig. 6, process 600 may include determining that the first connection configuration is a suboptimal connection configuration of the network equipment (block 620). For example, the connection optimization device may determine that the first connection configuration is a suboptimal connection configuration of the network equipment, as described above.
[0070] As further shown in Fig. 6, process 600 may include determining, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment (block 630). For example, the connection optimization device may determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment, as described above.
[0071] As further shown in Fig. 6, process 600 may include causing feedback to be transmitted to a user interface device, wherein the feedback indicates a recommendation to change the first connection configuration to the second connection configuration (block 640). For example, the connection optimization device may cause feedback to be transmitted to a user interface device, wherein the feedback indicates a recommendation to change the first connection configuration to the second connection configuration, as described above.
[0072] Process 600 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
[0073] In a first implementation, the network equipment includes multiple packet forwarding components, and each packet forwarding component, of the multiple packet forwarding components, is internally connected to at least one external facing port, of the multiple external facing ports.
[0074] In a second implementation, alone or in combination with the first implementation, when the connectivity of the one or more network devices is associated with the second connection configuration, a second quantity of packet forwarding components, of the multiple packet forwarding components, is in a second powered-on state, and the first quantity is greater than the second quantity.
[0075] In a third implementation, alone or in combination with one or more of the first and second implementations, the multiple packet forwarding components are associated with at least one of multiple packet forwarding engines or multiple fabric application-specific integrated circuits (ASICs).
[0076] In a fourth implementation, alone or in combination with one or more of the first through third implementations, determining the second connection configuration includes determining the second connection configuration using a machine learning model.
[0077] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, the machine learning model is associated with a reinforcement-learningbased machine learning model.
[0078] In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, process 600 includes determining, by the connection optimization device, a first power consumption level associated with the second connection configuration, determining, by the connection optimization device, a third connection configuration associated with the network equipment, wherein the third connection configuration is associated with a second power consumption level that is less than the first power consumption level, and causing, by the connection optimization device, additional feedback to be transmitted to the user interface device, wherein the additional feedback indicates another recommendation to change the second connection configuration to the third connection configuration.
[0079] In a seventh implementation, alone or in combination with one or more of the first through sixth implementations, process 600 includes receiving, by the connection optimization device and from an administrator device, configuration information associated with determining connection configurations, wherein determining the second connection configuration is based on the configuration information.
[0080] Although Fig. 6 shows example blocks of process 600, in some implementations, process 600 includes additional blocks, fewer blocks, different blocks, or differently arranged
blocks than those depicted in Fig. 6. Additionally, or alternatively, two or more of the blocks of process 600 may be performed in parallel.
[0081] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementations.
[0082] As used herein, 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 service data unit (SDU), a network packet, a datagram, a segment, a message, a block, a frame (e g., an Ethernet frame), 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.
[0083] As used herein, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, or the like. [0084] As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/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 are described herein without reference to specific software code - it being understood that software and hardware can be used to implement the systems and/or methods based on the description herein.
[0085] 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 various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiple of the same item.
[0086] When “a processor” or “one or more processors” (or another device or component, such as “a controller” or “one or more controllers”) is described or claimed (within a single claim or across multiple claims) as performing multiple operations or being configured to perform multiple operations, this language is intended to broadly cover a variety of processor architectures and environments. For example, unless explicitly claimed otherwise (e.g., via the use of “first processor” and “second processor” or other language that differentiates processors in the claims), this language is intended to cover a single processor performing or being configured to perform all of the operations, a group of processors collectively performing or being configured to perform all of the operations, a first processor performing or being configured to perform a first operation and a second processor performing or being configured to perform a second operation, or any combination of processors performing or being configured to perform the operations. For example, when a claim has the form “one or more processors to: perform X; perform Y; and perform Z,” that claim should be interpreted to mean “one or more processors to
perform X; one or more (possibly different) processors to perform Y; and one or more (also possibly different) processors to perform Z.”
[0087] 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.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only 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. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of’).
Claims
1. A method, comprising: determining, by a connection optimization device, a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determining, by the connection optimization device, that the first connection configuration is a suboptimal connection configuration of the network equipment; determining, by the connection optimization device and based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and causing, by the connection optimization device, a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
2. The method of claim 1, wherein the network equipment includes multiple packet forwarding components, and wherein each packet forwarding component, of the multiple packet forwarding components, is internally connected to at least one external facing port, of the multiple external facing ports.
3. The method of claim 2, wherein, when the connectivity of the one or more network devices is associated with the first connection configuration, a first quantity of packet forwarding components, of the multiple packet forwarding components, is in a first powered-on state, wherein, when the connectivity of the one or more network devices is associated with the second connection configuration, a second quantity of packet forwarding components, of the multiple packet forwarding components, is in a second powered-on state, and wherein the first quantity is greater than the second quantity.
4. The method of claim 2, wherein the multiple packet forwarding components are associated with at least one of multiple packet forwarding engines or multiple fabric applicationspecific integrated circuits (ASICs).
5. The method of claim 1, wherein determining the second connection configuration includes determining the second connection configuration using a machine learning model.
6. The method of claim 5, wherein the machine learning model is associated with a reinforcement-learning-based machine learning model.
7. The method of claim 1, further comprising: determining, by the connection optimization device, a first power consumption level associated with the second connection configuration;
determining, by the connection optimization device, a third connection configuration associated with the network equipment, wherein the third connection configuration is associated with a second power consumption level that is less than the first power consumption level; and causing, by the connection optimization device, another message to be transmitted to the user interface device that indicates another recommendation to change the second connection configuration to the third connection configuration.
8. The method of claim 1, further comprising receiving, by the connection optimization device and from an administrator device, feedback information associated with determining connection configurations, wherein determining the second connection configuration is based on the feedback information.
9. A connection optimization device, comprising: one or more memories; and one or more processors to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment;
determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
10. The connection optimization device of claim 9, wherein the network equipment includes multiple packet forwarding components, and wherein each packet forwarding component, of the multiple packet forwarding components, is internally connected to at least one external facing port, of the multiple external facing ports.
11. The connection optimization device of claim 10, wherein, when the connectivity of the one or more network devices is associated with the first connection configuration, a first quantity of packet forwarding components, of the multiple packet forwarding components, is in a first powered-on state, wherein, when the connectivity of the one or more network devices is associated with the second connection configuration, a second quantity of packet forwarding components, of the multiple packet forwarding components, is in a second powered-on state, and wherein the first quantity is greater than the second quantity.
12. The connection optimization device of claim 10, wherein the multiple packet forwarding components are associated with at least one of multiple packet forwarding engines or multiple fabric application-specific integrated (ASICs).
13. The connection optimization device of claim 9, wherein the one or more processors, to determine the second connection configuration, are to determine the second connection configuration using a machine learning model.
14. The connection optimization device of claim 13, wherein the machine learning model is associated with a reinforcement-learning-based machine learning model.
15. The connection optimization device of claim 9, wherein the one or more processors are further to: determine a first power consumption level associated with the second connection configuration; determine a third connection configuration associated with the network device, wherein the third connection configuration is associated with a second power consumption level that is less than the first power consumption level; and cause another message to be transmitted to the user interface device that indicates another recommendation to change the second connection configuration to the third connection configuration.
16. The connection optimization device of claim 9, wherein the one or more processors are further to receive, from an administrator device, feedback information associated with determining connection configurations, and wherein the one or more processors, to determine the second connection configuration, are to determine the second connection configuration based on the feedback information.
17. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a connection optimization device, cause the connection optimization device to: determine a first connection configuration associated with network equipment, wherein the network equipment includes multiple external facing ports, and wherein the first connection configuration is associated with a connectivity of one or more network devices to the multiple external facing ports; determine that the first connection configuration is a suboptimal connection configuration of the network equipment; determine, based on determining that the first connection configuration is a suboptimal connection configuration, a second connection configuration associated with the network equipment, wherein the second connection configuration is an optimized connection configuration of the network equipment; and cause a message to be transmitted to a user interface device that indicates a recommendation to change the first connection configuration to the second connection configuration.
18. The non-transitory computer-readable medium of claim 17, wherein the network equipment includes multiple packet forwarding components, and wherein each packet forwarding component, of the multiple packet forwarding components, is internally connected to at least one external facing port, of the multiple external facing ports.
19. The non-transitory computer-readable medium of claim 18, wherein, when the connectivity of the one or more network devices is associated with the first connection configuration, a first quantity of packet forwarding components, of the multiple packet forwarding components, is in a first powered-on state, wherein, when the connectivity of the one or more network devices is associated with the second connection configuration, a second quantity of packet forwarding components, of the multiple packet forwarding components, is in a second powered-on state, and wherein the first quantity is greater than the second quantity.
20. The non-transitory computer-readable medium of claim 17, wherein the one or more instructions, that cause the connection optimization device to determine the second connection configuration, cause the connection optimization device to determine the second connection configuration using a machine learning model.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202341064555 | 2023-09-26 | ||
IN202341064555 | 2023-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2025072194A1 true WO2025072194A1 (en) | 2025-04-03 |
Family
ID=93036993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2024/048202 Pending WO2025072194A1 (en) | 2023-09-26 | 2024-09-24 | Techniques and systems for recommending energy saving techniques in network equipment |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2025072194A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077478A1 (en) * | 2007-09-18 | 2009-03-19 | International Business Machines Corporation | Arrangements for managing processing components using a graphical user interface |
US20110228688A1 (en) * | 2010-03-17 | 2011-09-22 | Fujitsu Limited | Control system, control device, composite switch device, and control method |
US20180019913A1 (en) * | 2016-07-13 | 2018-01-18 | Cisco Technology, Inc. | Determining network element analytics and networking recommendations based thereon |
-
2024
- 2024-09-24 WO PCT/US2024/048202 patent/WO2025072194A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077478A1 (en) * | 2007-09-18 | 2009-03-19 | International Business Machines Corporation | Arrangements for managing processing components using a graphical user interface |
US20110228688A1 (en) * | 2010-03-17 | 2011-09-22 | Fujitsu Limited | Control system, control device, composite switch device, and control method |
US20180019913A1 (en) * | 2016-07-13 | 2018-01-18 | Cisco Technology, Inc. | Determining network element analytics and networking recommendations based thereon |
Non-Patent Citations (1)
Title |
---|
BASHAR A ET AL: "Employing Bayesian Belief Networks for energy efficient Network Management", 2010 NATIONAL CONFERENCE ON COMMUNICATIONS (NCC), IEEE, PISCATAWAY, NJ, USA, 29 January 2010 (2010-01-29), pages 1 - 5, XP031648153, ISBN: 978-1-4244-6383-1 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822787B1 (en) | Scheduling services on a platform including configurable resources | |
US9172756B2 (en) | Optimizing application performance in a network environment | |
US20160320818A1 (en) | Dynamic management of power supply units | |
EP3352047A1 (en) | Power supply unit (psu) management | |
US10193811B1 (en) | Flow distribution using telemetry and machine learning techniques | |
EP3082013A1 (en) | Method for extending hold time of power supply units | |
US11032196B2 (en) | Per path and per link traffic accounting | |
EP3544228B1 (en) | Selective modification of power states based on conditions | |
US20250103126A1 (en) | Utilizing data modeling for power management of network device components | |
EP4524683A1 (en) | Application and traffic aware machine learning-based power manager | |
EP4009595A1 (en) | Maintaining a set of links associated with a link aggregation group to facilitate provisioning or updating of a customer edge device provisioning or updating of a customer edge device | |
US20240243974A1 (en) | Dynamic creation of overlay network slices using border gateway protocol flow specifications | |
EP4521295A1 (en) | Providing integration with a large language model for a network device | |
US12184493B1 (en) | Rollback-on-error support for forwarding components of a network device | |
WO2025072194A1 (en) | Techniques and systems for recommending energy saving techniques in network equipment | |
EP3700131A1 (en) | An internet protocol operations and management option related application | |
US11770331B1 (en) | Encoding forwarding policy data in multiprotocol label switching (MPLS) labels | |
US12166799B2 (en) | Using zones based on entry points and exit points of a network device to apply a security policy to network traffic | |
US12321213B1 (en) | Power management of a network device | |
US12368672B2 (en) | Facilitating elasticity of a network device | |
EP4340302A1 (en) | Load balancing of assisted replication network devices | |
EP4572285A1 (en) | Dynamic load-balancing | |
EP4436135A1 (en) | Enabling a bulk release of multiple logins for a server device | |
US20250240231A1 (en) | Optimizing border gateway protocol graceful shutdown | |
EP4440070A1 (en) | Data structure associated with an interface of a network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24787320 Country of ref document: EP Kind code of ref document: A1 |