Disabling links over length of time
By introducing a time window mechanism into network devices, negotiating the request and indication of disabling links, the problem of power waste at low load and link control complexity in multi-operator scenarios is solved, and power saving and link management are simplified.
Patent Information
- Application Number
- CN202410013530.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-08
- Filing Date
- 2024-01-04
- Publication Date
- 2025-05-23
AI Technical Summary
Existing network equipment still consumes a lot of power at low service load, resulting in power waste. In multi-operating scenarios, link control is complex and power saving is difficult.
By implementing a time window mechanism in the network device, the initiator and the receiver network device may negotiate to disable the link within the candidate time length, based on this indication that the components associated with the link, such as optical devices, are turned off.
It realizes closing links and related components in low load periods, reducing power consumption, reducing operator power costs and carbon footprint, and simplifying link control in multi-operator scenarios to avoid link failure alerts.
Smart Images

Figure CN120034500A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This patent application claims the benefit of Indian Provisional Patent Application No. 202341064503 filed on September 26, 2023 and entitled “System and method for providing energy efficient network”. The disclosure of the prior application is considered part of and incorporated by reference into this patent application. Background Art
[0003] Network devices can exchange network traffic over links. Network devices include interfaces or ports that support these links. Interfaces or ports include multiple hardware components, such as optics, serializer / deserializer (SerDes), gearboxes, etc. Summary of the invention
[0004] Some implementations described herein relate to a method. The method may include transmitting, by a network device, a request to disable a link for a candidate time length based on a time window. The method may include receiving, by the network device, an indication to disable the link for a time length based on the candidate time length. The method may include shutting down one or more components associated with the link based on the indication to disable the link for the time length.
[0005] Some implementations described herein relate to a method. The method may include receiving, by a network device, a request to disable a link for a candidate time length. The method may include transmitting, by the network device, an indication to disable the link for the time length based on the candidate time length and a time window. The method may include shutting down one or more components associated with the link based on the indication to disable the link for the time length.
[0006] Some implementations described herein relate to a network device. The network device may include one or more memories and one or more processors. The one or more processors may transmit a request to disable a link within a candidate time length based on a time window. The one or more processors may receive an indication to disable a link within a time length based on the candidate time length. The one or more processors may shut down one or more components associated with the link based on the indication to disable the link within the time length.
[0007] Some implementations described herein relate to a network device. The network device may include one or more memories and one or more processors. The one or more processors may receive a request to disable a link within a candidate time length. The one or more processors may transmit an indication to disable the link within the time length based on the candidate time length and the time window. The one or more processors may shut down one or more components associated with the link based on the indication to disable the link within the time length.
[0008] Some implementations described herein relate to a non-transitory computer-readable medium storing an instruction set. The instruction set includes one or more instructions that, when executed by one or more processors of a network device, cause the network device to transmit a request to disable a link within a candidate time length based on a time window. When executed by one or more processors of the network device, the one or more instructions may cause the network device to receive an indication to disable a link within a time length based on the candidate time length. When executed by one or more processors of the network device, the one or more instructions may cause the network device to shut down one or more components associated with the link based on the indication to disable the link within the time length.
[0009] Some implementations described herein relate to a non-transitory computer-readable medium storing an instruction set. The instruction set includes one or more instructions that, when executed by one or more processors of a network device, cause the network device to receive a request to disable a link within a candidate time length. When executed by one or more processors of the network device, the one or more instructions may cause the network device to transmit an indication to disable the link within a time length based on the candidate time length and a time window. When executed by one or more processors of the network device, the one or more instructions may cause the network device to shut down one or more components associated with the link based on the indication to disable the link within the time length. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a diagram of an example implementation associated with disabling a link for a length of time.
[0011] Figure 2 is a diagram of an example implementation associated with a network device that shuts down a component based on an indication that a link is disabled for that length of time.
[0012] Figure 3 is a diagram of an example implementation associated with multiple networks controlled by respective operators.
[0013] Figure 4 is a diagram of an example implementation associated with a network controlled by a single operator.
[0014] Figure 5 is a diagram of example implementations associated with aggregated links, multichassis LAG (MC-LAG), multichassis aggregated Ethernet (MC-AE), and the like.
[0015] Figure 6 is a diagram of an example implementation associated with multiple servers.
[0016] Figure 7 is a diagram of an example implementation associated with a reserved link layer discovery protocol (LLDP) type-length-value (TLV) .
[0017] Figure 8 is a diagram of an example implementation associated with an organization-specific TLV with subtypes.
[0018] Figure 9A-9B is a diagram of an example implementation associated with a handshake for closing a link between two routers.
[0019] Fig.10 is a diagram of an example implementation associated with an initiator network device.
[0020] Fig.11 is a diagram of an example implementation associated with a recipient network device.
[0021] Fig.12 is a diagram of an example environment in which the systems and / or methods described herein may be implemented.
[0022] Fig.13 is a diagram of example components of a device associated with disabling a link for a length of time.
[0023] Fig.14 is a diagram of example components of a device associated with disabling a link for a length of time.
[0024] Fig.15 is a flow diagram of an example process associated with disabling a link for a length of time.
[0025] Fig.16 is a flow diagram of an example process associated with disabling a link for a length of time. DETAILED DESCRIPTION
[0026] 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.
[0027] Because the link, optics, and supporting internal devices may consume a lot of power, the total power required to keep the interface functioning properly is very large. For example, interface optics, packet forwarding engine (PFE) application-specific integrated circuits (ASICs), and fabric ASICs can consume a lot of power in modular (and / or smaller) routers. Even when the traffic load is low, power consumption may be large, which may imply power waste. For example, a link consumes energy when idle. For example, an interface and / or associated components may consume a large amount of power (e.g., on the order of several kilowatts or more) in an idle state with zero data packets per second. The resulting electricity costs and carbon footprint of network operators (e.g., internet service providers (ISPs), cloud providers, etc.) are also large.
[0028] In addition, network devices are often controlled by different operators. In such a multi-operator scenario, network devices (e.g., endpoint devices or peer devices) that support links are controlled by different operators. For example, network devices for links between autonomous systems (AS) can be controlled by different operators. Therefore, links in a multi-operator scenario cannot be controlled by a single control point. For example, if one peer device attempts to shut down a link, other peer devices may raise a link failure alarm. Shutting down links between network devices may be further complicated if the clocks of those network devices are not synchronized.
[0029] Some implementations described herein enable disabling a link within a time length. In some examples, the network devices may perform a handshake to turn off the link. The handshake may involve an initiator network device and a recipient network device acting as endpoints of the link. The initiator network device may transmit a request to disable the link within a candidate time length, and the recipient network device may respond with an indication to disable the link within the time length based on the candidate time length. In some examples, the time length may be equal to or less than the candidate time length. The initiator network device and the recipient network device may shut down one or more components (e.g., optical devices) associated with the link within the time length.
[0030] The initiator network device and the recipient network device may shut down the component(s) based on one or more time windows. For example, the initiator network device may be associated with a first time window during which the initiator network device experiences off-peak (e.g., low) network traffic, and the recipient network device may be associated with a second time window during which the recipient network device experiences off-peak network traffic. The first time window and the second time window may have different start times and / or end times.
[0031] In some examples, the initiator network device and the recipient network device can perform a handshake using LLDP. For example, the handshake can include a protocol-driven (e.g., LLDP-driven) message exchange, where requests and instructions are transmitted as LLDP TLVs. For example, the initiator network device and the recipient network device can exchange LLDP protocol data units (PDUs), perform a handshake, and then close the link.
[0032] Therefore, by shutting down one or more components for this length of time, the network device can save power that would otherwise be consumed to maintain the link. For example, when the first time window and the second time window of the network device overlap, the link and / or components (such as optical devices) may enter a "power sleep" state. Even if the network devices belong to different operators, the network devices can convert one or more components to a power sleep state. For example, regardless of whether the network devices are controlled by the same operator or different operators, the network devices can exchange requests and indications. Therefore, when the link is shut down, the network devices will not issue a link failure alarm. In addition, because the indication and / or request indicates the length of time the link remains disabled, the network devices can determine from each other how long the power sleep will be extended even if the clocks of the network devices are not synchronized.
[0033] Figure 1 is a diagram of an example implementation 100 associated with disabling a link for a length of time. Figure 1 As shown in , the example implementation 100 includes a first network device (e.g., an initiator network device) and a second network device (e.g., a receiver network device). Figure 12-14 These devices are described in more detail.
[0034] The first network device and the second network device can be endpoint devices of a link. The first network device can identify a time window associated with the first network device, and the second network device can identify a time window associated with the second network device. The time window can be associated with off-peak network traffic of the first network device and the second network device. For example, during the time window, the first network device and the second network device may experience low-rate network traffic. Therefore, the first network device and the second network device can determine corresponding off-peak times. For example, the time window (e.g., off-peak time) of the first network device can be 10:00PM to 6:00AM, and the time window (e.g., off-peak time) of the second network device can be 11:00PM to 8:00AM.
[0035] In some aspects, the first network device and the second network device can identify the time window based on the corresponding policy. The policy can be a power saving policy (e.g., an interface power saving policy, such as a power saving policy applied on a per-interface basis). For example, the policy can prompt the first network device and the second network device to attempt to put the corresponding interface into a power sleep state. The policy can save power in the sense that the policy can be a link shutdown policy.
[0036] Taking the first network device as an example, a user can configure a policy for the first network device. For example, the user can locally configure the policy in the first network device using a user interface. Similarly, a user (e.g., the same user or a different user) can configure a policy for a second network device. For example, the user can locally configure the policy in the second network device using a user interface. Therefore, the user can set a link shutdown policy.
[0037] Example policies for an interface on a first network device or a second network device are provided as follows.
[0038]
[0039] The policy is based on any suitable factor, such as load, time, the number of routes reachable through the interface, etc. In some examples, when the load is less than 10% of the maximum load in the past 30 minutes, the policy may enable the operator of the first network device or the second network device to shut down the optical device, or link of the first network device or the second network device for 2 hours. In some examples, if the load on the interface (e.g., interface xe-1 / 0 / 0) is less than 10% of the maximum load in the past 30 minutes, the policy may enable the operator to disable the link for 60 minutes. In some examples, if the current time is between 8:00PM and 6:00AM and the load on interface xe-2 / 0 / 0 is less than 15% of the maximum load in the past 20 minutes, the policy may enable the operator to disconnect the link (e.g., allow the link to enter a power sleep state) for 120 minutes. As used herein, "maximum load" may refer to the maximum amount of network traffic that a link can support at a given time (e.g., the maximum rate of network traffic).
[0040] In some aspects, the first network device and the second network device may identify a time window based on a corresponding configuration. The configuration may directly configure the time window for the first network device and the second network device. The configuration of the first network device may be configured by a user, a control point, a machine learning (ML) or artificial intelligence (AI) process, etc., and the configuration of the second network device may be configured by the same or different user, the same or different control point, the same or different ML or AI process, etc.
[0041] An example configuration for an interface on the first network device or the second network device is provided as follows.
[0042]
[0043] A user, a control point, and / or an AI / ML process can configure multiple time windows for a given interface. For each time window, a user, a control point, and / or an AI / ML process can configure a start time, a duration (e.g., off-peak hours), and one or more actions. In some examples, a user, a control point, and / or an AI / ML process can configure only a duration or a policy, while other parameters can be local. For example, a user can configure a policy, and a network device can automatically determine a time window based on the configured policy, or a user can directly configure a time window. In some examples, a user, a control point, and / or an AI / ML process can set a duration locally in a first network device or a second network device, and an action can be selected for each time window. Examples of actions include initiating power dormancy (which can involve disabling optical devices and / or other related components), reducing the speed of an interface (if supported), and the like.
[0044] The first network device and the second network device may handshake in a controlled manner to disable the link. In some aspects, the first network device may transmit a request to disable the link within a candidate time length based on the time window of the first network device. For example, if the time window of the first network device is 10:00PM to 6:00AM, the first network device may transmit a request to disable the link for eight hours at 10:00PM. In some examples, upon receiving a request to disable the link within the candidate time length, the second network device may transmit (and the first network device may receive) a rejection associated with the request. For example, the rejection may be an explicit negative confirmation or a confirmation with an indication of a zero-length time window. In some examples, the first network device may treat the non-response from the second network device as an implicit rejection. Therefore, for example, any response (or no response) other than an explicit confirmation with an indication of a non-zero time window may serve as a rejection. The second network device may reject the request because the time window of the second network device has not yet begun. For example, the second network device may not agree to disable the link during the off-peak hours of the second network device.
[0045] As shown in the reference numeral 110, based on the time window of the first network device, the first network device can transmit and the second network device can receive a request to disable the link within another candidate time length. For example, the first network device can transmit a request to disable the link within another candidate time length one time period after transmitting the request to disable the link within the candidate time length, and the other candidate time length can be based on the candidate time length and the time period. For example, the time period can be one hour, which means that the first network device can transmit a request to disable the link one hour after transmitting the request to disable the link within the candidate time length (for example, the first network device can transmit a request to disable the link at 11:00PM). In this case, the other candidate time length can be seven hours (for example, the time length is extended until 6:00AM). In some examples, the first network device can periodically transmit a request to disable the link within the candidate time length (for example, the first network device can transmit a request to disable the link within the candidate time length every 30 seconds).
[0046] As shown in the reference numeral 120, the second network device can transmit an indication of disabling the link within a time length based on another candidate time length based on the time window of the second network device. For example, the time window of the second network device can be 11:00PM to 8:00AM. Therefore, the second network device can determine that the time length is within the time window of the second network device, and therefore agree to disable the link within this time length. In this example, the time length is equal to another candidate time length. In other examples (for example, when the time window of the second network device ends before the time window of the first network device), the time length can be less than the candidate time length. In addition, in this example, the first network device and the second network device are in the same time zone. In other examples, the first network device and the second network device can be in different time zones. The first network device and the second network device can negotiate the time length of disabling the link, regardless of whether the first network device and the second network device share a time zone.
[0047] The time windows of the first network device and the second network device can overlap each other for the length of time that the link remains disabled. For example, the time window of the first network device (e.g., 10:00PM to 6:00AM) and the time window of the second network device (e.g., 11:00PM to 8:00AM) can overlap from 11:00PM to 6:00AM, which is seven hours (which is equal to the length of time). Therefore, the first network device and the second network device can determine the common time slot (e.g., overlapping time period) of the first network device and the second network device for the link. In this example, since the common time slot is 11:00PM to 6:00AM, the first network device and the second network device can disable the link at 11:00PM and avoid issuing an alarm for the link until 6:00AM.
[0048] As shown in the reference numerals 130 and 140, the first network device and the second network device shut down one or more components associated with the link based on the indication of disabling the link for the time length. For example, the first network device can shut down one or more components local to the first network device, and the second network device can shut down one or more components local to the second network device. One or more components may include optical devices associated with the link (e.g., optical devices used by the first network device and the second network device to transmit network services through the link). The first network device and the second network device shut down one or more components for the time length. Additionally or alternatively, the first network device and / or the second network device can shut down other components based on the reduced load experienced by the first network device and / or the second network device when the link is disabled. Other components may include a power supply module (PSM), SIB, ASIC, PFE-structure link, etc. inside the first network device and / or the second network device.
[0049] Based on the indication of disabling the link within the time length, one or more components can be turned off (e.g., disabled) within the time length (and / or attached optical devices), causing the link to enter a power dormant state. Thus, the network device can reduce the power consumption associated with the link. Although the example implementation 100 is applicable to a single link, any suitable number of network devices can follow the example implementation 100 to disable multiple links in the network (e.g., in an aggregated Ethernet (AE, aggregated ethernet) or equal cost multi-path (ECMP, equal cost multi-path) scenario), which can compound power reduction. For example, various network devices can automatically and based on a bilateral agreement during low load, off-peak time / period (e.g., time window) to turn off multiple links within a specified duration. Therefore, multiple network devices can shut down components of multiple links, which can reduce power consumption, and thereby reduce the power costs and carbon footprint of the network operator.
[0050] In addition, shutting down one or more components based on an indication to disable the link for a length of time may be independent of the operator. For example, the first network device and the second network device may shut down the link (e.g., enter a power dormancy state) based on a bilateral agreement (e.g., a request and an indication) between the first network device and the second network device, even if the first network device and the second network device are controlled by different operators and / or different control points. The request and the indication may enable the first network device and the second network device to determine that the power dormancy is a controlled (e.g., planned, expected, etc.) shutdown of the link, rather than a failure. Thus, during the length of time when the optical device is shut down and the link remains shut down, the network device will not issue a link failure alarm, thereby preventing false alarms during the length of time. Since the request and / or indication is to disable the link for a length of time, the first network device and the second network device may shut down one or more components even if the clocks of the first network device and the second network device are not synchronized.
[0051] As indicated above, Figure 1 Provided as an example. Other examples may differ from Figure 1 Description. Figure 1 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 1 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 1 Two or more of the devices shown in may be implemented in a single device, or Figure 1 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 1 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 1 One or more functions performed by another set of devices shown in .
[0052] Figure 2 is a diagram of an example implementation 200 associated with a network device that shuts down a component based on an indication to disable a link for a length of time. The network device may be a first network device or a second network device.
[0053] Since shutting down a link reduces the load experienced by the network device, the network device can shut down various components (e.g., other than the optical devices associated with the link). For example, link power hibernation can reduce the bandwidth requirements of the rack associated with the network device and allow other actions within the network device. For example, as shown in the figure, the network device can shut down a subset of hardware components, such as switch interconnect boards (SIBs) (e.g., SIB3 and SIB4), PSMs (e.g., PSM 3-PSM N), PFE-fabric links, etc. within the network device. Shutting down these components can provide additional power savings (e.g., beyond the power savings provided by shutting down the link).
[0054] As indicated above, Figure 2 Provided as an example. Other examples may differ from Figure 2 Description. Figure 2 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 2 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 2 Two or more of the devices shown in may be implemented in a single device, or Figure 2 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 2 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 2 One or more functions performed by another set of devices shown in .
[0055] Figure 3 3 is a diagram of an example implementation 300 associated with multiple networks controlled by respective operators. As shown, multiple links (e.g., paths) exist between networks (e.g., ASs). As shown, AS2 and AS5 are connected by two links, one of which can be shut down during off-peak hours. The link between AS2 and AS3 can also be shut down during off-peak hours. In this example, during off-peak hours, network traffic can continue to flow between AS2 and AS3 via AS1 and / or AS4. The network devices associated with the links can shut down the links, as described above in conjunction with Figure 1 described.
[0056] As indicated above, Figure 3 Provided as an example. Other examples may differ from Figure 3 Description. Figure 3 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 3 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 3 Two or more of the devices shown in may be implemented in a single device, or Figure 3 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 3 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 3 One or more functions performed by another set of devices shown in .
[0057] Figure 4 4 is a diagram of an example implementation 400 associated with a network controlled by a single operator. The network contains network devices (e.g., routers) R0 to R5 and multiple alternative links (e.g., paths) between the routers. As shown, routers R1 and R2, and routers R3 and R4 can shut down related links during periods of low traffic load. Routers R1 to R4 can shut down links, as described above in conjunction with Figure 1 described.
[0058] As indicated above, Figure 4 Provided as an example. Other examples may differ from Figure 4 Description. Figure 4 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 4 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 4 Two or more of the devices shown in may be implemented in a single device, or Figure 4 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 4 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 4 One or more functions performed by another set of devices shown in .
[0059] Figure 55 is a diagram of an example implementation 500 associated with an aggregated link. For example, the aggregated link can be aggregated into a link aggregation group (LAG), an AE (e.g., MC-AE), an MC-LAG, etc. As shown, the network device can shut down one or more sub-links (or member) of the aggregated link during low traffic load periods. For example, an AE bundle can contain multiple sub-links, one or more of which can be shut down. The network device can shut down a sub-link or a member link, as described above in conjunction with Figure 1 described.
[0060] As indicated above, Figure 5 Provided as an example. Other examples may differ from Figure 5 Description. Figure 5 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 5 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 5 Two or more of the devices shown in may be implemented in a single device, or Figure 5 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 5 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 5 One or more functions performed by another set of devices shown in .
[0061] Figure 6 is a diagram of example implementations 600 and 610 associated with multiple servers S1 to S4. In example implementations 600 and 610, a router or load balancer routes traffic to servers S1 to S4 via corresponding links. For example, the router or load balancer can manage load distribution to servers S1 to S4 using ECMP routing, weighted ECMP (WECMP) routing, server load balancing, etc. Example implementation 600 shows a relatively high workload during peak hours, while example implementation 610 shows a relatively low workload during off-peak hours. As shown in example implementation 610, links associated with servers S1 and S2 are shut down. The router or load balancer and server S1 or S2 may cause the link to be shut down, as described above in conjunction with Figure 1 In addition to reducing power consumption by shutting down specific components associated with the link, in this example, power consumption can be further reduced by enabling servers S1 and S2 to go to sleep.
[0062] As indicated above, Figure 6 Provided as an example. Other examples may differ from Figure 6 Description. Figure 6 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 6 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 6 Two or more of the devices shown in may be implemented in a single device, or Figure 6 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 6 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 6 One or more functions performed by another set of devices shown in .
[0063] In some aspects, the request to disable the link for the candidate time length may be an LLDP TLV request, and the indication to disable the link for the time length may be an LLDP TLV confirmation. For example, the request and confirmation may be carried in a reserved LLDP TLV (as described below in conjunction with Figure 7 ) or an organization-specific TLV with a subtype (such as the following combined Figure 8 As shown in Table 1 below, the reserved LLDP TLVs may have TLV type values 9-126, and the organization-specific TLVs may have TLV type value 127 (TLVs with type values 0-8 may be members of the basic management set).
[0064]
[0065] Table 1
[0066] In some aspects, the value associated with the LLDP TLV request may be a candidate time length, and the value associated with the LLDP TLV confirmation may be a time length. For example, as described below in conjunction with Figure 7 and Figure 8 As described above, the LLDP TLV request may carry the candidate time length, and the LLDP TLV confirmation may carry the time length. In some aspects, the rejection associated with the request to disable the link for the candidate time length may be an LLDP TLV confirmation, and the value associated with the LLDP TLV confirmation may be zero. For example, as described below in conjunction with Figure 7 and Figure 8 As described above, an LLDP TLV confirmation (eg, a reject) may carry a value of zero, which may indicate that the link based on the LLDP TLV confirmation will be shut down for a zero length of time.
[0067] The request to disable the link for the candidate time length is an LLDP TLV request and the indication to disable the link for the time length is an LLDP TLV confirmation, which can reduce the introduction of additional overhead. For example, the LLDP TLV can be sent with the LLDP message without creating an additional PDU. LLDP, a L2 protocol, may be very suitable for performing handshakes between network devices.
[0068] Figure 7 700 and 710 are diagrams of example implementations associated with a reserved LLDP TLV. Example implementation 700 shows an LLDP TLV request containing a type field, a length field, and a value field. For example, the type field may indicate type 9. The value field may contain a 32-bit value indicating the length of time (e.g., in seconds) that the initiating network device proposes to allow the link to remain in a power sleep state.
[0069] Example implementation 710 shows an LLDP TLV confirmation containing a type field, a length field, and a value field. For example, the type field can indicate type 10. The value field can contain a 32-bit value that indicates the length of time that the receiving network device allows the link to remain in a power sleep state. For example, if the receiving network device accepts the LLDP TLV request, the length of time can be equal to or less than the length of time suggested by the initiating network device. If the receiving network device rejects the LLDP TLV request, the length of time can be zero.
[0070] As indicated above, Figure 7 Provided as an example. Other examples may differ from Figure 7 Description. Figure 7 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 7 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 7 Two or more of the devices shown in may be implemented in a single device, or Figure 7 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 7 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 7 One or more functions performed by another set of devices shown in .
[0071] Figure 8800-820 are diagrams of example implementations associated with organization-specific TLVs with subtypes. Example implementation 800 shows the basic format of organization-specific TLVs. As shown, the basic format includes a TLV header and a TLV information string. The TLV header includes a TLV type field and a TLV information string length field. The TLV information string includes an organizationally unique identifier (OUI) field, an organizationally defined subtype field, and an organizationally defined information string field.
[0072] Example implementation 810 shows an LLDP TLV request. The type field may indicate type 127, the organizationally defined subtype field may identify the LLDP TLV request as an LLDP TLV request, and the value field may contain a 32-bit value indicating the length of time the initiating network device proposes to allow the link to remain in a power sleep state.
[0073] Example implementation 820 illustrates an LLDP TLV Acknowledgement. The Type field may indicate Type 127, the organization-defined Subtype field may identify the LLDP TLV request as an LLDP TLV Acknowledgement, and the Value field may contain a 32-bit value indicating the length of time the receiving network device allows the link to remain in a power sleep state. For example, if the receiving network device accepts the LLDP TLV request, the length of time may be equal to or less than the length of time suggested by the initiating network device. If the receiving network device rejects the LLDP TLV request, the length of time may be zero.
[0074] As indicated above, Figure 8 Provided as an example. Other examples may differ from Figure 8 Description. Figure 8 The number and arrangement of the devices shown in are provided as examples. In practice, Figure 8 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 8 Two or more of the devices shown in may be implemented in a single device, or Figure 8 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 8 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 8 One or more functions performed by another set of devices shown in .
[0075] FIG. 9A to FIG. 9B is a diagram of an example implementation 900 associated with a handshake for closing a link between router R1 and router R2.
[0076] refer to Fig. 9A , as shown at reference numeral 902, R1 may start and identify a time window associated with off-peak hours. For example, R1 may start at 9:00 AM local time, and the time window may be 10:00 PM to 6:00 AM. As shown at reference numeral 904, R2 may start and identify a time window associated with off-peak hours. For example, R2 may start at 10:30 AM local time, and the time window may be 11:00 PM to 7:00 AM.
[0077] As shown in reference numeral 906, R1 and R2 may exchange LLDP messages over a link ("Link 1"). R1 and R2 may exchange LLDP messages to perform neighbor discovery. As shown in reference numeral 908, R1 completes neighbor discovery. As shown in reference numeral 910, R2 completes neighbor discovery.
[0078] As shown at reference numeral 912, R1's off-peak time begins (e.g., 10:00 PM local time). As shown at reference numeral 914, R1 sends a request to R2 to disable the link for a candidate time length (e.g., 28,800 seconds, which is equal to eight hours, or R1's total time window). As shown at reference numeral 916, R2 sends a rejection associated with the request to disable the link for the candidate time length to R1. R2 can reject the request because R2's time window has not yet begun (e.g., the time is not yet 11:00 PM).
[0079] As shown at reference numeral 918, R1 waits for the LLDP advertisement interval (e.g., 30 seconds). As shown at reference numeral 920, R1 sends another request to R2 to disable the link for another candidate time length (e.g., 28,770 seconds, which is 30 seconds less than 28,800 seconds). As shown at reference numeral 922, R2 sends another rejection associated with the other request to disable the link for another candidate time length to R1. R2 can reject the other request because R2's time window has not yet begun (e.g., the time is not yet 11:00 PM). R1 and R2 can continue to exchange requests and rejections periodically (e.g., every 30 seconds).
[0080] As shown at reference numeral 924, R2's off-peak time begins (e.g., 11:00 PM local time). As shown at reference numeral 926, R1 sends a request to R2 to disable the link for a candidate time length (e.g., 25,200 seconds, which is equal to seven hours, or overlap between time windows). As shown at reference numeral 928, R2 sends an indication to R1 to disable the link for the candidate time length.
[0081] Fig. 9B Shown in Fig. 9AA set of operations performed by R1 and / or R2 after the operations shown in . In some examples, R1 and R2 can each be performed in parallel Fig. 9B The operations shown in Fig. 9B Each operation shown in can occur at both R1 and R2 simultaneously, or within a time threshold).
[0082] As shown at reference numeral 930, R1 / R2 may start a 25,200 second timer for the link ("Link 1 - Power-Sleep - R1" or "Link 1 - Power-Sleep - R2"). As shown at reference numeral 932, R1 / R2 may disable a link failure alarm associated with the link. For example, R1 / R2 may disable the link failure alarm for the duration of the 25,200 second timer. Disabling the link failure alarm may help ensure that R1 / R2 does not issue a link failure alarm when the link enters a power sleep state.
[0083] As shown in reference numeral 934, R1 / R2 waits for a hold time window (e.g., 30 seconds). In some examples, the hold time window may be user configurable. As shown in reference numeral 936, R1 / R2 shuts down one or more components associated with the link (e.g., local optical devices). In some aspects, R1 / R2 may shut down one or more components for a hold time window (e.g., 30 seconds) after disabling the link failure alarm. Shutting down one or more components for a hold time window after disabling the link failure alarm may prevent R1 / R2 from shutting down one or more components before R2 / R1 (e.g., another router) prepares the link to enter a power sleep state. Therefore, shutting down one or more components for a hold time window after disabling the link failure alarm may prevent R2 / R1 from issuing a link failure alarm when the link is entering a power sleep state.
[0084] As shown in reference numeral 938, the length of time (e.g., a 25,200 second timer) may expire. For example, the 25,200 second timer may expire at 6:00 AM local time. As shown in reference numeral 940, R1 / R2 may power on one or more components associated with the link based on the expiration of the length of time. For example, R1 / R2 may power on one or more components in response to the expiration of the 25,200 second timer. Powering on one or more components associated with the link based on the expiration of the length of time may help ensure that R1 / R2 brings the link back online at a specified / agreed time.
[0085] As shown in reference numeral 942, R1 / R2 waits for a hold time window (e.g., 30 seconds). In some examples, the hold time window may be user configurable. As shown in reference numeral 944, R1 / R2 may enable (e.g., re-enable) a link failure alarm. In some aspects, R1 / R2 may enable a link failure alarm based on a hold time window. For example, R1 / R2 may enable a link failure alarm for a hold time window (e.g., 30 seconds) after energizing one or more components. If the link does not emerge after the length of time, enabling the link failure alarm may cause R1 / R2 to issue a link failure alarm. Enabling a link failure alarm based on a hold time window may prevent R1 / R2 from issuing a link failure alarm before R2 / R1 (e.g., another router) energizes a component associated with the link (and thus returns the link from a power dormant state to an active state).
[0086] As shown at 946, R1 / R2 may determine that the link is up or that the link is not up. For example, the link may fail during the length of time that the link is in a power dormant state (e.g., due to a fiber cut, etc.). If the link is not up, R1 / R2 may issue a link failure alarm.
[0087] In example implementation 900, R1 is an initiator network device and R2 is a recipient network device. However, in other examples, R1 and / or R2 can initiate power hibernation (e.g., sending an LLDP TLV request), and R1 and / or R2 can accept power hibernation (e.g., sending an LLDP TLV confirmation). Therefore, R1 and R2 can act as an initiator network device and / or a recipient network device. Any suitable operation described herein as being performed by an initiator network device can be performed by a recipient network device, and any suitable operation described herein as being performed by a recipient network device can be performed by an initiator network device.
[0088] In addition, for any suitable operation described herein as being performed by an initiator network device, the recipient network device may perform a corresponding operation. For example, if the initiator network device transmits or receives a transmission, the recipient network device may receive or transmit the transmission. Similarly, for any suitable operation described herein as being performed by a recipient network device, the initiator network device may perform a corresponding operation. For example, if the recipient network device transmits or receives a transmission, the initiator network device may receive or transmit the transmission.
[0089] For example, specific values of various timers, time windows, etc. disclosed in the example implementation 900 are used, and they may be different depending on the specific use case. In some examples, the network operator may configure one or more of the values. For example, the holding time window may be 30 seconds or any suitable value set by the network operator.
[0090] As indicated above, FIG. 9A to FIG. 9B Provided as an example. Other examples may differ from FIG. 9A to FIG. 9B Description. FIG. 9A to FIG. 9B The number and arrangement of the devices shown in are provided as examples. In practice, FIG. 9A to FIG. 9B There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. FIG. 9A to FIG. 9B Two or more of the devices shown in may be implemented in a single device, or FIG. 9A to FIG. 9B The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 9A-9B The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by FIG. 9A to FIG. 9B One or more functions performed by another set of devices shown in .
[0091] Fig.10 is a diagram of an example implementation 1000 associated with an initiator (requestor) network device.
[0092] As indicated by reference numeral 1010, the initiator network device may send a power sleep request TLV with a given duration (e.g., a candidate time length) X. As indicated by reference numeral 1020, the initiator network device may determine whether an acknowledgment (“ACK”) with a non-zero value is received. As indicated by reference numeral 1030, if the initiator network device does not receive an acknowledgment with a non-zero value, the initiator network device may send a power sleep request TLV with an adjusted duration (e.g., another candidate time length, such as X-30) during the next PDU transmission. The initiator network device may repeat operations corresponding to reference numerals 1020 and 1030 until the adjusted duration X reaches zero or an ACK with a non-zero value arrives from the receiving network device.
[0093] As shown at reference numeral 1040, if the initiator network device does receive an acknowledgment with a non-zero value, the initiator network device can perform a number of operations. In some examples, the initiator network device can disable a link failure alarm. In some examples, the initiator network device can start a timer (e.g., a power sleep timer) according to a duration specified in the acknowledgment (e.g., the length of the timer can be a non-zero value). In some examples, the initiator network device can shut down an optical device associated with the link.
[0094] In some aspects, the initiator network device may store information associated with the link (e.g., power sleep related information) in a persistent storage device (e.g., a persistent database). The information may include one or more of an indication of the link (e.g., a link name), an indication of a start time associated with a time length (e.g., the start time of the power sleep), an indication of the time length (e.g., the duration), or an indication of an alarm associated with the link (e.g., any pre-existing link alarm). In some examples, the initiator network device may store information when power sleep of the link begins.
[0095] Storing one or more of the following indications: an indication of a link, an indication of a start time associated with a length of time, an indication of a length of time, or a link failure alarm associated with a link can help avoid the initiator network device from issuing a link failure alarm in a high availability (HA) scenario. For example, if the initiator network device restarts during power hibernation or a software module that runs a timer crashes, instead of the initiator network device losing information, restarting, and generating a link failure alarm in response to the link being disabled, the software module responsible for power hibernation and interface management can read the information during each boot / restart / start and use the information to restore the state of the link without issuing a link failure alarm associated with the link.
[0096] As shown at reference numeral 1050, the initiator network device may wait for the timer to expire. As shown at reference numeral 1060, the initiator network device may perform multiple operations. In some examples, the initiator network device may power on the optical device. In some examples, the initiator network device may wait for the hold time window to elapse. In some examples, the initiator network device may re-enable the link failure alarm.
[0097] As indicated above, Fig.10 Provided as an example. Other examples may differ from Fig.10 Description. Fig.10 The number and arrangement of the devices shown in are provided as examples. In practice, Fig.10 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Fig.10 Two or more of the devices shown in may be implemented in a single device, or Fig.10 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Fig.10 The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Fig.10 One or more functions performed by another set of devices shown in .
[0098] Fig.11 is a diagram of an example implementation 1100 associated with a recipient network device.
[0099] As shown at reference numeral 1110, the receiving network device may receive a power sleep request TLV with a given duration (e.g., candidate time length) X. As shown at reference numeral 1120, the receiving network device may determine whether the receiving network device is ready to put the link to sleep (e.g., whether the receiving network device is in off-peak hours) based on the configuration or policy of the receiving network device. As shown at reference numeral 1130, if the receiving network device is not ready to put the link to sleep, the receiving network device may ignore the TLV or send an acknowledgment containing a time length (e.g., power sleep duration) value of zero.
[0100] As shown at reference numeral 1140, if the receiving network device is ready to put the link to sleep, the receiving network device sends an acknowledgment TLV, and the initiating network device receives the acknowledgment TLV (e.g., containing a non-zero time length indicating an appropriate duration). In some examples, the receiving network device can disable the link failure alarm. In some examples, the receiving network device can start a timer (e.g., a power sleep timer) based on the duration specified in the acknowledgment (e.g., the length of the timer can be a non-zero time length). In some examples, the receiving network device can turn off optical devices associated with the link. In some aspects, the receiving network device can store information associated with the link in persistent memory, as described above in conjunction with Fig.10 described.
[0101] As shown at reference numeral 1150, the receiving network device may wait for the timer to expire. As shown at reference numeral 1160, the receiving network device may perform a plurality of operations. In some examples, the receiving network device may power on the optical device. In some examples, the receiving network device may wait for a hold time window to elapse. In some examples, the receiving network device may re-enable a link failure alarm.
[0102] As indicated above, Fig.11 Provided as an example. Other examples may differ from Fig.11 Description. Fig.11 The number and arrangement of the devices shown in are provided as examples. In practice, Fig.11 There may be additional devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Fig.11 Two or more of the devices shown in may be implemented in a single device, or Fig.11 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Fig.11The device set (e.g., one or more devices) shown in FIG. 1 may perform the operations described as being performed by Fig.11 One or more functions performed by another set of devices shown in .
[0103] Fig.12 1 is a diagram of an example environment 1200 in which the systems and / or methods described herein may be implemented. Fig.12 As shown in FIG, environment 1200 may include one or more peer devices 1210, a set of nodes 1220 (shown as node 1220-1 through node 1220-N), and a network 1230. The devices of environment 1200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0104] Peer device 1210 includes one or more devices capable of receiving and / or providing network services. For example, peer device 1210 may include a service 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 device of similar type. In some implementations, peer device 1210 may include an endpoint device as a source or destination of network services. For example, peer device 1210 may include a computer or a device of similar type. Peer device 1210 may receive network services (payload data packets) from other peer devices 1210 via network 1230 (e.g., by using node 1220 as an intermediary to route payload data packets), and / or may provide network services (payload data packets) to other peer devices 1210. In some implementations, peer device 1210 may include an edge device located at the edge of one or more networks. For example, peer device 1210 may receive network traffic from devices external to network 1230 and / or may provide network traffic (eg, payload data packets) to devices external to network 1230 .
[0105] Node 1220 includes one or more devices capable of receiving, processing, storing, routing, and / or providing services (e.g., payload data packets, files, etc.) in a manner described herein. For example, node 1220 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 1220 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 the like.
[0106] In some implementations, the node 1220 may be a physical device implemented in a housing such as a rack. In some implementations, the node 1220 may be a virtual device implemented by one or more computer devices in a cloud computing environment or data center.
[0107] In some implementations, the node 1220 may be configured with one or more segment translation tables. In some implementations, the node 1220 may receive a payload data packet from the peer device 1210. In some implementations, the node 1220 may encapsulate the payload data packet using a compressed routing header (CRH), and may route an Internet Protocol (IP) payload data packet to another node 1220 using one or more techniques described elsewhere herein. In some implementations, the node 1220 may be an edge node in the network 1230. In some implementations, the node 1220 may be an intermediate node (i.e., a node between two or more edge nodes) in the network 1230.
[0108] The network 1230 includes one or more wired networks and / or wireless networks. For example, the network 1230 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, or 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., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc., and / or a combination of these or other types of networks.
[0109] Fig.12 The number and arrangement of devices and networks shown in FIG. 1 are provided as one or more examples. In practice, Fig.12 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. Fig.12Two or more of the devices shown in may be implemented in a single device, or Fig.12 The single device shown in the embodiment may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (eg, one or more devices) of environment 1200 may perform one or more functions described as being performed by another set of devices of environment 1200.
[0110] Fig.13 1 is a diagram of example components of a device 1300 associated with disabling a link for a length of time. Device 1300 may correspond to peer device 1210. In some implementations, peer device 1210 may include one or more devices 1300 and / or one or more components of device 1300. Fig.13 As shown in , device 1300 may include a bus 1310 , a processor 1320 , a memory 1330 , an input component 1340 , an output component 1350 , and / or a communication component 1360 .
[0111] The bus 1310 may include one or more components that enable wired and / or wireless communications among the components of the device 1300. The bus 1310 may connect the components of the device 1300 to each other, such as via an operational connection, a communication connection, an electronic connection, and / or an electrical connection. Fig.13 Two or more components of the computer system are connected together. For example, bus 1310 may include electrical connections (e.g., wires, traces, and / or leads) and / or wireless buses. Processor 1320 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 application-specific integrated circuit, and / or another type of processing component. Processor 1320 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 1320 may include one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.
[0112] The memory 1330 may include volatile memory and / or non-volatile memory. For example, the memory 1330 may include random access memory (RAM), read-only memory (ROM), a hard drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). The memory 1330 may include internal memory (e.g., RAM, ROM, or hard drive) and / or removable memory (e.g., removable via a universal serial bus connection). The memory 1330 may be a non-transitory computer-readable medium. The memory 1330 may store information, one or more instructions, and / or software (e.g., one or more software applications) related to the operation of the device 1300. In some implementations, the memory 1330 may include one or more memories such as being connected (e.g., communicatively connected) to one or more processors (e.g., processor 1320) via bus 1310. The communication connection between the processor 1320 and the memory 1330 may enable the processor 1320 to read and / or process information stored in the memory 1330 and / or store information in the memory 1330.
[0113] Input component 1340 can enable device 1300 to receive input, such as user input and / or sensor input. For example, input component 1340 can include touch screen, keyboard, keypad, mouse, button, microphone, switch, sensor, GPS sensor, GNSS sensor, accelerometer, gyroscope, and / or actuator. Output component 1350 can enable device 1300 to provide output such as via display, speaker, and / or light emitting diode. Communication component 1360 can enable device 1300 to communicate with other devices via wired connection and / or wireless connection. For example, communication component 1360 can include receiver, transmitter, transceiver, modem, network interface card, and / or antenna.
[0114] Device 1300 can perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 1330) can store an instruction set (e.g., one or more instructions or codes) for being implemented by processor 1320. Processor 1320 can implement the group of instructions to perform one or more operations or processes described herein. In some implementations, the group of instructions is implemented by one or more processors 1320 so that one or more processors 1320 and / or device 1300 perform one or more operations or processes described herein. In some implementations, hard-wired circuit devices can be used instead of instructions or in combination with instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 1320 can be configured to perform one or more operations or processes described herein. Therefore, the implementation described herein is not limited to any specific combination of hardware circuit devices and software.
[0115] Fig.13 The number and arrangement of components shown in are provided as examples. Fig.13 Device 1300 may include additional components, fewer components, different components, or differently arranged components than those components shown in . Additionally or alternatively, a set of components (e.g., one or more components) of device 1300 may perform one or more functions described as being performed by another set of components of device 1300.
[0116] Fig.14 1400 is a diagram of example components of a device 1400 associated with disabling a link for a length of time. Device 1400 may correspond to peer device 1210. In some implementations, peer device 1210 may include one or more devices 1400 and / or one or more components of device 1400. Fig.14 As shown in , device 1400 may include one or more input components 1410-1 to 1410-B (B≥1) (hereinafter collectively referred to as input component 1410, and individually referred to as input component 1410), a switching component and / or routing component 1420, one or more output components 1430-1 to 1430-C (C≥1) (hereinafter collectively referred to as output component 1430, and individually referred to as output component 1430), and a controller 1440.
[0117] The input component 1410 may be one or more attachment points of a physical link and may be one or more entry points for incoming traffic (such as packets). The input component 1410 may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 1410 may transmit and / or receive data packets. In some implementations, the input component 1410 may include an input line card, which includes one or more data packet processing components (e.g., in the form of an integrated circuit), such as one or more interface cards (IFCs), data packet forwarding components, line card controller components, input ports, processors, memories, and / or input queues. In some implementations, the device 1400 may include one or more input components 1410.
[0118] The switching and / or routing components 1420 may interconnect the input components 1410 with the output components 1430. In some implementations, the switching and / or routing components 1420 may be implemented via one or more crossbar switches, via a bus, and / or with the aid of a shared memory. The shared memory may act as a temporary buffer to store data packets from the input components 1410 before the data packets are ultimately scheduled for transmission to the output components 1430. In some implementations, the switching and / or routing components 1420 may enable the input components 1410, the output components 1430, and / or the controller 1440 to communicate with each other.
[0119] Output component 1430 can store data packets, and can schedule data packets for transmission on output physical link. Output component 1430 can support data link layer encapsulation or decapsulation, and / or various higher-level protocols. In some implementations, output component 1430 can transmit data packets and / or receive data packets. In some implementations, output component 1430 may include an output line card, which includes one or more data packet processing components (e.g., in the form of an integrated circuit), such as one or more IFCs, data packet forwarding components, line card controller components, output ports, processors, memories, and / or output queues. In some implementations, device 1400 may include one or more output components 1430. In some implementations, input component 1410 and output component 1430 can be implemented by components of the same group (e.g., and input component / output component can be a combination of input component 1410 and output component 1430).
[0120] Controller 1440 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an 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 1440 may include one or more processors that can be programmed to perform a function.
[0121] In some implementations, the controller 1440 may include RAM, ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, optical storage, etc.) that stores information and / or instructions for use by the controller 1440.
[0122] In some implementations, the controller 1440 can communicate with other devices, networks, and / or systems connected to the device 1400 to exchange information about the network topology. The controller 1440 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can forward the forwarding table to the input component 1410 and / or the output component 1430. The input component 1410 and / or the output component 1430 can use the forwarding table to perform a route lookup for an incoming data packet and / or an outgoing data packet.
[0123] The controller 1440 may perform one or more processes described herein. The controller 1440 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 memory device or memory space distributed on multiple physical memory devices.
[0124] The software instructions may be read from another computer-readable medium or from another device into a memory and / or storage component associated with the controller 1440 via a communication interface. When executed, the software instructions stored in the memory and / or storage component associated with the controller 1440 may cause the controller 1440 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. Therefore, the implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0125] Fig.14 The number and arrangement of components shown in FIG. are provided as examples. In practice, Fig.14 Device 1400 may include additional components, fewer components, different components, or differently arranged components compared to those components shown in . Additionally or alternatively, a set of components (e.g., one or more components) of device 1400 may perform one or more functions described as being performed by another set of components of device 1400.
[0126] Fig.15 is a flow chart of an example process 1500 associated with disabling a link for a length of time. In some implementations, Fig.15 One or more process blocks are provided by a network device (e.g., Figure 1 In some implementations, Fig.15 One or more process blocks of are performed by another device or set of devices separate from or including the network device, such as a peer device (e.g., peer device 1210) and / or a node (e.g., node 1220). Additionally or alternatively, Fig.15One or more process blocks may be performed by one or more components of the device 1300, such as a processor 1320, a memory 1330, an input component 1340, an output component 1350, a communication component 1360, an input component 1410, a switching component and / or routing component 1420, an output component 1430, and / or a controller 1440.
[0127] like Fig.15 As shown in , process 1500 may include transmitting a request to disable a link for a candidate time length based on a time window (block 1510). For example, a network device may transmit a request to disable a link for a candidate time length based on a time window, as described above.
[0128] like Fig.15 As further shown in , process 1500 may include receiving an indication to disable the link for the time length based on the candidate time length (block 1520). For example, the network device may receive an indication to disable the link for the time length based on the candidate time length, as described above.
[0129] like Fig.15 As further shown in FIG. 1 , process 1500 may include shutting down one or more components associated with the link based on the indication to disable the link for the length of time (block 1530). For example, the network device may shut down one or more components associated with the link based on the indication to disable the link for the length of time, as described above.
[0130] Process 1500 may include additional implementations, such as any single implementation or any combination of the implementations described below and / or in conjunction with one or more other processes described elsewhere herein.
[0131] In a first implementation, a time window is associated with off-peak network traffic of a network device, another time window is associated with off-peak network traffic of another network device associated with the link, and the time window and the another time window overlap in time length.
[0132] In a second implementation, either alone or in combination with the first implementation, process 1500 includes identifying, by the network device, a time window based on a policy.
[0133] In a third implementation, alone or in combination with one or more of the first and second implementations, process 1500 includes identifying, by the network device, a time window based on a configuration.
[0134] In a fourth implementation, alone or in combination with one or more of the first to third implementations, the request to disable the link for the candidate time length is an LLDP TLV request, and the indication to disable the link for the time length is an LLDPTLV confirmation.
[0135] In a fifth implementation, alone or in combination with one or more of the first to fourth implementations, the value associated with the LLDP TLV request is the candidate time length, and the value associated with the LLDP TLV confirmation is the time length.
[0136] In a sixth implementation, alone or in combination with one or more of the first to fifth implementations, the candidate time length is a first candidate time length, process 1500 includes transmitting a request to disable the link for a second candidate time length based on the time window, transmitting the request to disable the link for the first candidate time length includes a time period after transmitting the request to disable the link for the second candidate time length, transmitting the request to disable the link for the first candidate time length, and the time length is based on the second candidate time length and the time period.
[0137] In a seventh implementation, alone or in combination with one or more of the first to sixth implementations, the request to disable the link for the second candidate time length is a LLDP TLV request, and process 1500 includes receiving a rejection associated with the request to disable the link for the second candidate time length, the rejection associated with the request to disable the link for the second candidate time length is a LLDP TPLV confirmation, and the value associated with the LLDP TLV confirmation is zero.
[0138] although Fig.15 An example block diagram of process 1500 is shown, but in some implementations, Fig.15 The process 1500 includes additional blocks, fewer blocks, different blocks, or differently arranged blocks compared to those blocks depicted in. Additionally or alternatively, two or more of the blocks in the process 1500 may be executed in parallel.
[0139] Fig.16 is a flow chart of an example process 1600 associated with disabling a link for a length of time. In some implementations, Fig.16 One or more process blocks are provided by a network device (e.g., Figure 1 In some implementations, Fig.16 One or more process blocks of are performed by another device or set of devices separate from or including the network device, such as a peer device (e.g., peer device 1210) and / or a node (e.g., node 1220). Additionally or alternatively, Fig.16 One or more process blocks may be performed by one or more components of the device 1300, such as a processor 1320, a memory 1330, an input component 1340, an output component 1350, a communication component 1360, an input component 1410, a switching component and / or routing component 1420, an output component 1430, and / or a controller 1440.
[0140] like Fig.16 As shown in , process 1600 may include receiving a request to disable a link for a candidate length of time (block 1610). For example, a network device may receive a request to disable a link for a candidate length of time, as described above.
[0141] like Fig.16 As further shown in , process 1600 may include transmitting an indication to disable the link for the time length based on the candidate time length and the time window (block 1620). For example, the network device may transmit an indication to disable the link for the time length based on the candidate time length and the time window, as described above.
[0142] like Fig.16 As further shown in FIG. 1 , process 1600 may include shutting down one or more components associated with the link based on the indication to disable the link for the length of time (block 1630). For example, the network device may shut down one or more components associated with the link based on the indication to disable the link for the length of time, as described above.
[0143] Process 1600 may include additional implementations, such as any single implementation or any combination of the implementations described below and / or in conjunction with one or more other processes described elsewhere herein.
[0144] In a first implementation, process 1600 includes disabling, by a network device, a link failure alarm associated with a link.
[0145] In a second implementation, alone or in combination with the first implementation, shutting down the one or more components includes shutting down the one or more components for a retention time window after disabling the link failure alarm.
[0146] In a third implementation, alone or in combination with one or more of the first and second implementations, the process 1600 includes powering on, by the network device, one or more components associated with the link based on expiration of the length of time.
[0147] In a fourth implementation, alone or in combination with one or more of the first to third implementations, the process 1600 includes enabling, by the network device, a link failure alarm associated with the link.
[0148] In a fifth implementation, alone or in combination with one or more of the first to fourth implementations, enabling the link failure alarm includes enabling the link failure alarm based on the retention time window.
[0149] In a sixth implementation, alone or in combination with one or more of the first to fifth implementations, process 1600 includes storing one or more of an indication of a link, an indication of a start time associated with a length of time, an indication of a length of time, or an indication of an alarm associated with a link in a persistent storage device.
[0150] although Fig.16 An example block diagram of process 1600 is shown, but in some implementations, Fig.16 Compared to those blocks depicted in , process 1600 includes additional blocks, fewer blocks, different blocks, or blocks arranged differently. Additionally or alternatively, two or more blocks in the blocks of process 1600 may be executed in parallel.
[0151] Additional examples are disclosed below, which may be rearranged in combinations and sub-combinations with each other.
[0152] Example 1. A method comprising: transmitting, by a network device, a request to disable a link for a candidate time length based on a time window; receiving, by the network device, an indication to disable the link for a time length based on the candidate time length; and shutting down one or more components associated with the link based on the indication to disable the link for the time length.
[0153] Example 2. A method according to Example 1, wherein the time window is associated with non-peak network traffic for a network device, wherein another time window is associated with non-peak network traffic for another network device associated with the link, and the time window and the another time window overlap in time length.
[0154] Example 3. The method according to Example 1 further includes: identifying the time window by the network device based on a policy.
[0155] Example 4. The method according to Example 1 further includes: identifying the time window by the network device based on the configuration.
[0156] Example 5. The method of Example 1, wherein the request to disable the link for the candidate time length is a Link Layer Discovery Protocol LLDP Type-Length-Value TLV request, and wherein the indication to disable the link for the time length is a LLDP TLV confirmation.
[0157] Example 6. The method of Example 5, wherein the value associated with the LLDP TLV request is a candidate time length, and wherein the value associated with the LLDP TLV acknowledgement is a time length.
[0158] Example 7. A method according to Example 1, wherein the candidate time length is a first candidate time length, and the method further includes: a network device transmitting a request to disable the link within a second candidate time length based on a time window; wherein transmitting the request to disable the link within the first candidate time length includes: transmitting the request to disable the link within the first candidate time length in a time period after transmitting the request to disable the link within the second candidate time length, wherein the time length is based on the second candidate time length and the time period.
[0159] Example 8. A method according to Example 7, wherein the request to disable the link within the second candidate time length is a Link Layer Discovery Protocol LLDP Type-Length-Value TLV request, and the method further includes: receiving, by the network device, a rejection associated with the request to disable the link within the second candidate time length, wherein the rejection associated with the request to disable the link within the second candidate time length is an LLDP TLV confirmation, and wherein the value associated with the LLDP TLV confirmation is zero.
[0160] Example 9. A method comprising: receiving, by a network device, a request to disable a link for a candidate time length; transmitting, by the network device, an indication to disable the link for the time length based on the candidate time length and a time window; and shutting down one or more components associated with the link based on the indication to disable the link for the time length.
[0161] Example 10. The method of Example 9, further comprising: disabling, by the network device, a link failure alarm associated with the link.
[0162] Example 11. The method of Example 10, wherein shutting down the one or more components comprises shutting down the one or more components for a hold time window after disabling the link failure alarm.
[0163] Example 12. The method of Example 9, further comprising: powering on, by the network device, one or more components associated with the link based on expiration of the time length.
[0164] Example 13. The method of Example 12, further comprising: enabling, by the network device, a link failure alarm associated with the link.
[0165] Example 14. The method of Example 13, wherein enabling the link failure alarm comprises enabling the link failure alarm based on a hold time window.
[0166] Example 15. The method of Example 9 further includes storing one or more of an indication of a link, an indication of a start time associated with a length of time, an indication of a length of time, or an indication of an alarm associated with a link in a persistent storage device.
[0167] Example 16. A network device comprising: one or more memories; and one or more processors, configured to: transmit a request to disable a link for a candidate time length based on a time window; receive an indication to disable the link for a time length based on the candidate time length; and shut down one or more components associated with the link based on the indication to disable the link for the time length.
[0168] Example 17. The network device of Example 16, wherein the one or more processors are further configured to: disable a link failure alarm associated with the link.
[0169] Example 18. The network device of Example 17, wherein the one or more processors for disabling the link failure alarm are to disable the link failure alarm based on the hold time window.
[0170] Example 19. The network device of Example 16, wherein the one or more processors are further configured to: based on expiration of the time length, power on one or more components associated with the link.
[0171] Example 20. The network device of Example 16, wherein the one or more processors are further configured to: store one or more of an indication of: a link, a start time associated with a length of time, a length of time, or a link failure alarm associated with a link.
[0172] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementation.
[0173] As used herein, a service or content may include a set of data packets. A data packet may refer to a communication structure for conveying information, such as a PDU, a service data unit (SDU), a network data packet, a datagram, a segment, a message, a block, a frame (e.g., an Ethernet frame), any portion of the above, and / or another type of formatted or unformatted data unit capable of being transmitted via a network.
[0174] As used herein, satisfying a threshold may refer to a value being greater than a threshold, greater than or equal to a threshold, less than a threshold, less than or equal to a threshold, equal to a threshold, not equal to a threshold, etc., depending on the context.
[0175] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. It is clear that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, and / or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software codes, and it is understood that software and hardware can be used to implement the systems and / or methods based on the description herein.
[0176] Even if a specific combination of features is described in the claims and / or a specific combination of features is disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in a manner that is not specifically described in the claims and / or not specifically disclosed in the specification. Although each dependent claim listed below can directly depend on only one claim, the disclosure of various implementations includes each dependent claim combined with each other claim in the claim set. As used herein, the phrase "at least one" mentioned in the 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, ab, ac, bc, and abc, as well as any combination with multiple in the same item.
[0177] 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 (either within a single claim or across multiple claims) as performing or being configured to perform multiple operations, such language is intended to broadly cover a variety of processor architectures and environments. For example, unless otherwise expressly claimed (e.g., via the use of "a first processor" and "a second processor" or other language that distinguishes the processors in the claims), such language is intended to cover a single processor that performs or is configured to perform all operations, a group of processors that collectively perform or are configured to perform all operations, a first processor that performs or is configured to perform a first operation and a second processor that performs or is configured to perform a second operation, or any combination of processors that perform or are configured to perform operations. For example, when a claim is of the form "one or more processors: performs X; performs Y; and performs Z," the claim should be interpreted to mean "one or more processors perform X; one or more (possibly different) processors perform Y; and one or more (possibly different) processors perform Z."
[0178] Unless clearly described as such, any element, action or instruction used in this article should not be interpreted as key or necessary. In addition, as used herein, the article "a (a)" and "an (an)" are intended to include one or more items, and can be used interchangeably with "one or more". In addition, as used in the text, the article "the (the)" is intended to include one or more items quoted in conjunction with the article "the", and can be used interchangeably with "the one or more". In addition, as used herein, the term "group (set)" is intended to include one or more items (for example, related items, unrelated items, or a combination of related items and unrelated items), and can be used interchangeably with "one or more". In the case of only intending an item, the phrase "only one" or similar language is used. In addition, as used herein, the term "having", "having" and "having" etc. are intended to be open terms. In addition, unless otherwise clearly stated, the phrase "based on" is intended to mean "based at least in part". Furthermore, as used herein, the term "or" when used in conjunction is intended to be inclusive and may be used interchangeably with "and / or" unless expressly stated otherwise (eg, if used in combination with "either" or "only one of"),.
Claims
1. A method comprising: transmitting, by the network device, a request to disable the link for a candidate time length based on the time window; receiving, by the network device, an indication to disable the link for a time length based on the candidate time length; as well as Based on the indication to disable the link for the length of time, one or more components associated with the link are shut down.
2. The method of claim 1 , wherein the time window is associated with off-peak network traffic for the network device, wherein another time window is associated with off-peak network traffic for another network device associated with the link, and the time window and the another time window overlap within the time length.
3. The method according to claim 1, further comprising: The time window is identified by the network device based on a policy.
4. The method according to claim 1, further comprising: The time window is identified by the network device based on a configuration.
5. The method of claim 1 , wherein the request to disable the link for the candidate length of time is a Link Layer Discovery Protocol (LLDP) Type-Length-Value (TLV) request, and wherein the indication to disable the link for the length of time is a LLDP TLV confirmation.
6. The method of claim 5, wherein a value associated with the LLDP TLV request is the candidate time length, and wherein a value associated with the LLDP TLV acknowledgement is the time length.
7. The method according to claim 1, wherein the candidate time length is a first candidate time length, the method further comprising: transmitting, by the network device, a request to disable the link for a second candidate time length based on the time window; Wherein transmitting the request to disable the link within the first candidate time length includes: a time period after transmitting the request to disable the link within the second candidate time length, transmitting the request to disable the link within the first candidate time length, wherein the time length is based on the second candidate time length and the time period.
8. The method of claim 7, wherein the request to disable the link for the second candidate time length is a Link Layer Discovery Protocol (LLDP) Type-Length-Value (TLV) request, the method further comprising: A rejection associated with the request to disable the link for the second candidate length of time is received by the network device, wherein the rejection associated with the request to disable the link for the second candidate length of time is an LLDP TLV acknowledgment, and wherein a value associated with the LLDP TLV acknowledgment is zero.
9. A method comprising: receiving, by a network device, a request to disable a link for a candidate length of time; transmitting, by the network device, an indication to disable the link for a time length based on the candidate time length and the time window; as well as Based on the indication to disable the link for the length of time, one or more components associated with the link are shut down.
10. The method according to claim 9, further comprising: A link failure alarm associated with the link is disabled by the network device.
11. The method of claim 10, wherein shutting down the one or more components comprises: After disabling the link failure alarm, the one or more components are shut down for a retention time window.
12. The method according to claim 9, further comprising: Based on the expiration of the length of time, the one or more components associated with the link are powered on by the network device.
13. The method according to claim 12, further comprising: A link failure alarm associated with the link is enabled by the network device.
14. The method of claim 13, wherein enabling the link failure alarm comprises: The link failure alarm is enabled based on a maintenance time window.
15. The method according to claim 9, further comprising: One or more of an indication of the link, an indication of a start time associated with the length of time, an indication of the length of time, or an indication of an alarm associated with the link is stored in persistent storage.
16. A network device comprising: one or more memories; as well as One or more processors for: Based on the time window, transmitting a request to disable the link for a candidate time length; receiving an indication to disable the link for a time length based on the candidate time length; as well as Based on the indication to disable the link for the length of time, one or more components associated with the link are shut down.
17. The network device of claim 16, wherein the one or more processors are further configured to: Disables the link failure alarm associated with the link.
18. The network device of claim 17, wherein the one or more processors for disabling the link failure alarm are to disable the link failure alarm based on a hold time window.
19. The network device of claim 16, wherein the one or more processors are further configured to: Based on expiration of the length of time, the one or more components associated with the link are powered on.
20. The network device of claim 16, wherein the one or more processors are further configured to: One or more of an indication of the link, a start time associated with the length of time, the length of time, or a link failure alarm associated with the link is stored.