English:
[0001] In the operation of distributed routing protocols, such as the Open Shortest Path First (OSPF) routing protocol, network nodes, such as routers and switches, maintain independent copies of a network database. The network nodes use the stored information in making network traffic routing decisions. The network nodes generate route advertisements, for instance, at regular intervals of time and/or as changes occur, and broadcast or flood these route advertisements to all of the other network nodes. The respective databases are updated using these route advertisements. When a network node or a port in a network node fails or is otherwise placed into a reduced-power mode, that network node does not generate or broadcast any further advertisements for the network node's port or ports. As a result, the other network nodes are unaware of the existence of the network node or port until the network node or port returns to an active state in which route advertisements by the network node or port are broadcasted again.
[0002] Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
[0003] FIG. 1 shows a simplified block diagram of a network including a plurality of network nodes, which are to operate in various manners as discussed herein, according to an example of the present disclosure;
[0005] FIG. 3 shows a flow diagram of a method for signaling that a network node exists in a network following entry of the network node into a reduced-power mode, according to an example of the present disclosure;
[0006] FIG. 4 shows a flow diagram of a method for signaling that a port in a network node exists following entry of the port into a reduced-power mode, according to an example of the present disclosure; and
[0007] FIG. 5 illustrates a schematic representation of a computing device, which may be employed to perform various functions of the network node manager depicted in FIG. 2, according to an example of the present disclosure.
[0008] For simplicity and illustrative purposes, the present disclosure is described by referring mainly to an example thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element. Moreover, the variable "n" is intended to denote an integer equal to or greater than one.
[0009] Disclosed herein are example methods for signaling that a first network node exists in a network following entry of the first network node into a reduced-power mode. Also disclosed herein are example network node managers and example computer readable mediums that are to implement the example methods. Further disclosed herein are example methods for signaling that a port in a network node exists following entry of the port into a reduced-power mode. The reduced-power mode may comprise, for instance, any of a standby mode, a sleep mode, and a powered off mode.
[0010] As may generally be known with conventional network operations, some of the ports of network nodes and some of the network nodes themselves may be placed into a reduced-power mode at various times as part of an effort to substantially maximize energy efficiency in operating the network. In conventional networks, when the ports and/or the network nodes are placed into the reduced- power mode, the other network nodes are unaware of the existence of the ports and/or the network nodes. Instead, the other network nodes only learn of the existence of these ports and/or network nodes after these ports and/or network nodes are returned to an active mode and thus begin issuing route advertisements again. In other instances, a central controller is required to maintain identifications of the ports and/or network nodes when the ports and/or network nodes are in the reduced-power mode.
[0011] Generally speaking, the example methods disclosed herein enable the network nodes in a network to maintain an identification of port(s) and/or network node(s) after the port(s) and/or network node(s) have entered into a reduced-power mode. In addition, the network nodes are able to maintain the identification of the port(s) and/or network node(s) without requiring that this information be obtained from a central controller and thus, the example methods disclosed herein enable a redundant and distributed technique for maintaining this information. Moreover, the example methods disclosed herein enable the network nodes in the network to maintain the identification of the port(s) and/or the network node(s) while still complying with the specific routing protocol used, such as the OSPF routing protocol.
[0012] In one regard, because the network nodes are aware of the existence of the port(s) and/or network node(s) that are in the reduced-power mode, the network nodes may attempt to forward network traffic through those port(s) and/or network node(s) as conditions in the network require such use. In contrast, when conventional ports and network nodes are in a reduced-power mode, their existence is unknown to the network nodes that are in the active state because those network nodes are not provided any indication of the ports or network nodes that are in the reduced-power mode .
[0013] With reference to FIG. 1 , there is shown a simplified block diagram of a network 100 including a plurality of network nodes 102a-102f, which are to operate in various manners as discussed herein, according to an example. It should be readily apparent that the diagram depicted in FIG. 1 represents a generalized illustration and that other components may be added or existing components may be removed, modified or rearranged without departing from a scope of the network 100. For instance, the network 100 may include additional network nodes and other components, such as data storage arrays, servers, etc.
[0014] The network nodes 102a-102f comprise apparatuses that provide networking functions to a plurality of client devices (not shown) in the network 100. In this regard, the network nodes 102a-102f may comprise switches, routers, hubs, bridges, servers, etc. In this regard, each of the network nodes 102a-102f includes a number of ports 110. In addition, each of the network nodes 102a-102f is connected to respective other ones of the network nodes 102a-102f through respective links 112. Particularly, the links 112 represent local area network (LAN) segments, point-to-point links, etc., between the network nodes 102a-102f. The network nodes 102a-102f may therefore be networked to each other in one of a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), etc. Although not shown, at least some of the network nodes 102a-102f may be connected to host computer devices, servers, disk arrays, etc.
[0015] As shown in FIG. 1 , each of the network nodes 102a-102f has links 112 to at least two other network nodes 102a-102f. In this regard, if any of the ports 110 on a network node 102a-102f or if a network node 102a-102f itself enters into a reduced-power mode or fails, network traffic may continue to be forwarded through the network 100. The reduced-power mode may comprise a mode that results in a reduced amount of power consumption as compared with an active mode, in which the port(s) 110 and/or network node(s) 102a-102f are to forward network traffic in the network 100. In addition, the reduced-power mode may comprise a mode from which the port(s) 110 and/or the network node(s) 102a-102f may be returned to the active mode automatically. Moreover, the reduced-power mode may comprise a mode into which the port(s) 110 and/or the network node(s) 102a-102f enter at a scheduled time and/or when predefined conditions exist in the network 100. By way of example, the reduced-power mode may comprise any of a standby mode, a sleep mode, and a powered off mode. In contrast, a failed mode may comprise a mode that the port(s) 110 and/or the network node(s) 102a-102f enter due to a failure of the port(s) 110 and/or the network node(s) 102a-102f and may thus be unscheduled.
[0016] A port 110 of a network node 102a or the network node 102a itself may enter into a reduced-power mode, for instance, in order to reduce energy consumption when the remaining ports 110 and/or network nodes 102b-102f are able to adequately handle the traffic in the network 100. Thus, for instance, the port(s) 110 and/or the network node(s) 102a-102f may enter into the reduced- power mode at a scheduled time, e.g., at night, and may emerge from the reduced- power mode at another scheduled time, e.g., in the morning. As another example, the port(s) 110 and/or the network node(s) 102a-102f may enter into the reduced- power mode when the port(s) 110 and/or the network node(s) 102a-102f are relatively idle.
[0017] As discussed in greater detail herein, when the port(s) 110 and/or network node(s) 102a-102f are in the reduced-power mode, their existence in the network 100 is signaled to the other network nodes 102a-102f. According to an example, a subset of the network nodes 102a-102f may enter into the reduced- power mode at any given time. In one regard, for instance, if traffic increases in the network 100 and either or both of the port(s) 110 and the network node(s) 102a- 102f are required to be brought back into the active mode, the network node(s) 102a-102f may be aware of their existence and may perform actions that cause the port(s) 110 and/or network node(s) 102a-102f to be returned to the active mode. In contrast, when conventional network nodes are in a reduced-power mode, their existence is unknown to the network nodes that are in the active state because those network nodes are not provided any indication of the network nodes that are in the reduced-power mode .
[0019] As discussed in greater detail herein below, the second network node 102b operates as a proxy advertiser for the first network node 102a by identifying the first network node 102a as a phantom node in the network 100, thereby obviating restrictions on the network nodes 102a-102f from advertising node information on behalf of another network node. By way of particular example, the second network node 102b generates an extended route advertisement that indicates that a phantom node is connected to the second network node 102b and that the phantom node is readable in the network 100 and may therefore comply with conventional routing protocols.
[0020] Turning now to FIG. 2, there is shown a simplified block diagram of a network node 200, according to an example. It should be readily apparent that the diagram depicted in FIG. 2 represents a generalized illustration and that other components may be added or existing components may be removed, modified or rearranged without departing from a scope of the network node 200 depicted therein.
[0021] Generally speaking, the network node 200 may comprise any of the network nodes 102a-102f depicted in FIG. 1. The network node 200 is depicted as including a processor 202, a data store 204, an input/output interface 206, a plurality of ports 210a-210n, and a network node manager 220. The network node manager 220 is also depicted as including an indication receiving module 222, an information generating module 224, an information communicating module 226, another network node power mode changing module 228, a power mode determining module 230, and a power mode changing module 232. The processor 202, which may comprise a microprocessor, a micro-controller, an application specific integrated circuit (ASIC), and the like, is to perform various processing functions in the network node 200. One of the processing functions includes invoking or implementing the modules 222-232 of the network node manager 220 as discussed in greater detail herein below.
[0022] According to an example, the network node manager 220 comprises a hardware device, such as, a circuit or multiple circuits arranged on a board. In this example, the modules 222-232 comprise circuit components or individual circuits. According to another example, the network node manager 220 comprises a volatile or non-volatile memory, such as dynamic random access memory (DRAM), electrically erasable programmable read-only memory (EEPROM), magnetoresistive random access memory (MRAM), Memristor, flash memory, floppy disk, a compact disc read only memory (CD-ROM), a digital video disc read only memory (DVD-ROM), or other optical or magnetic media, and the like. In this example, the modules 222-232 comprise software modules stored in the memory. According to a further example, the modules 222-232 comprise a combination of hardware and software modules.
[0023] The input/output interface 206 may comprise a hardware and/or a software interface. In this regard, the input/output interface 206 may comprise either or both of hardware and software components that enable receipt and transmission of data and/or signals. Thus, for instance, the input/output interface 206 comprises an interface to the ports 210a-210n, which may comprise physical ports, such as, Ethernet ports, optical fiber ports, etc., into which cables are to be physically inserted.
[0024] In one regard, the processor 202 is to receive packets of data through the ports 210a-210n, to determine which of the ports 210a-210n the packets of data are to be outputted, and output the packets of data through the ports 210a- 21 On based upon the determination. The processor 202 may perform these operations in any suitable manner and the manners in which these operations are performed are not described in further detail herein. Instead, aspects of the present disclosure are directed to various operations that may be performed to signal the existence of the network node 200 when the network node 200 is in a reduced-power mode. Other aspects of the present disclosure are directed to various operations that may be performed to signal the existence of a port 210a of the network node 200 when the port 210a is in the reduced-power mode. Still other aspects of the present disclosure are directed to various operations that may be performed to signal the existence of another network node to which the network node 200 is in communication.
[0025] According to an example, the network node 200 performs the operations disclosed herein without being or having to consult a central controller (not shown) of the network 100. In this regard, aspects of the present disclosure may be performed by peer network nodes and not by a central controller.
[0026] In any regard, the processor 202 may store data in the data store 204, which comprises volatile and/or non-volatile memory, such as DRAM, EEPROM, MRAM, phase change RAM (PCRAM), Memristor, flash memory, and the like. In addition, or alternatively, the data store 204 comprises a device that is to read from and write to a removable media, such as, a floppy disk, a CD-ROM, a DVD-ROM, or other optical or magnetic media.
[0027] Various manners in which the network node manager 220 may be implemented are discussed in greater detail with respect to the methods 300 and 400 respectively depicted in FIGS. 3 and 4. It should be apparent to those of ordinary skill in the art that the methods 300 and 400 represent generalized illustrations and that other steps may be added or existing steps may be removed, modified or rearranged without departing from scopes of the methods 300 and 400. Although particular reference is made to the network node manager 220 depicted in FIG. 2 as comprising an apparatus and/or a set of machine readable instructions that may perform the operations described in the methods 300 and 400, it should be understood that differently configured apparatuses and/or machine readable instructions may perform the methods 300 and 400 without departing from scopes of the methods 300 and 400.
[0028] Generally speaking, FIG. 3 shows a flow diagram of a method 300 for signaling that a network node 200 exists in a network 100 following entry of the network node 200 into a reduced-power mode, according to an example. In addition, FIG. 4 shows a flow diagram of a method 400 for signaling that a port 210a exists in a network node 200 following entry of the port 2 0a into a reduced- power mode, according to an example. In both methods 300 and 400, the signaling is provided to other network nodes 102a-102f in the network 100 such that the other network nodes 102a-102f are aware of the existence of the port 210a and/or network node 200, even when the port 210a and/or network node 200 is in the reduced-power mode and are thus not actively communicating route advertisements. In the method 300, a network node 200 other than the network node 102a that is either going to be in or is in the reduced-power state may perform the signaling operations. In the method 400, the network node 200 that is or includes a port 210a that is either going to be in or is in the reduced-power state may perform the signaling operations.
[0029] With reference first to FIG. 3, at block 302, an indication that a first network node 102a will enter into a reduced-power mode is received in a second network node 200, for instance, by the indication receiving module 222. In this regard, the second network node 200 is in communication with the first network node 102a, either directly or through another network node 102c. In addition, the second network node 200 may receive the indication through one of the ports 210a-210n.
[0030] According to an example, the first network node 102a, which may comprise the same or similar elements as the second network node 200, may determine that the first network node 102a is to enter into the reduced-power mode at a future time. The future time may comprise less than a few seconds, a few seconds, a few minutes, etc. In addition, the first network node 102a may determine that it is to enter into the reduced-power mode for any of a variety of reasons. For instance, the first network node 102a may determine that some or all of its ports 110 are not being utilized or are being underutilized in the forwarding of network traffic. In this example, the first network node 102a may be programmed to enter into the reduced-power mode to reduce the total energy consumed by the network nodes 102a-102f.
[0031] In any regard, in response to the determination, the first network node 102a may generate the indication that the first network node 102a will enter into the reduced-power mode and may communicate the indication, for instance, as packets of data to the second network node 200 over an active link of the first network node 102a. As such, the second network 200 may receive the indication from the first network node 102a prior to the first network node 102a entering into the reduced-power mode.
[0032] At block 304, information that signals the existence of the first network node 102a and that the first network node 102a is reachable in the network 100 is generated, for instance, by the information generating module 224. For instance, the information comprises a route advertisement for the first network node 102a that includes non-zero-cost links to adjacent network nodes 102b-102f. Thus, for example, the information indicates that the second network node 200 is connected to the first network node 102a, but that the first network node 102a contains only non-zero-cost links.
[0033] According to an example, however, instead of directly identifying the first network node 102a and the ports 110 of the first network node 102a in the information, the second network node 200 uses a phantom node to represent the first network node 102a. Generally speaking, the phantom node comprises identifiers, but does not comprise the identifiers of an actual network node in the network 100. Particularly, the second network node 200 generates the information to include an identification of the phantom node and the phantom ports of the phantom node. The identifiers of the phantom node and the phantom ports may comprise any of, for instance, media access control (MAC) addresses, internet protocol (IP) addresses, etc., of the phantom node and the phantom ports. In one regard, the second network node 200 uses the phantom node to represent the first network node 102a in the generated information to overcome conventional control plane protocols that are designed to prevent network nodes from advertising information for other network nodes. That is, through the use of the phantom node, the second network node 200 does not appear to be advertising information for the first network node 102a.
[0034] The second network node 200 may contain data that correlates the identifiers of the phantom node to the identifiers of the first network node 102a. In one regard, the other network power mode changing module 228 may use the correlation to cause the first network node 102a to emerge from the reduced-power mode to an active mode in response to receipt of an indication that network traffic is to be forwarded through the phantom node. This may occur, for instance, if the currently active network nodes 102b-102f are unable to adequately handle the network traffic, such as when a network node 102b fails, there is an increase in network traffic, etc.
[0035] In addition, the information is generated to indicate the existence of the phantom node in the network 100, but that the phantom node is not to be used to forward traffic in the network 100. By way of example, the information is generated to indicate that the ports in the phantom node are undesirable for use in forwarding network traffic. In this example, the information may be generated to indicate that the ports in the phantom node have a very high metric, e.g., a very high bandwidth usage, are highly loaded, etc. In addition, if the first network node 102a becomes required, for instance, as network traffic increases, the other network nodes 102b-102f may call for traffic to be routed through the phantom node, which the other network nodes 102b-102f identify as being an actual network node in the network 100, regardless of the undesirability of the use of the first network node 102a.
[0036] At block 306, the information is communicated to the network, i.e., the other network nodes 102b-102f, such that the second network node 200 operates as a proxy advertiser for the first network node following entry of the first network node into the reduced-power mode, for instance, by the information communicating module 226. Particularly, the information communicating module 226 may be broadcast or flood the information onto the network 100. According to an example, the information is part of a route advertisement of the second network node 200 and is communicated in the same manner and at the same time as the route advertisement. In addition, the network nodes 102b-102f that receive the information from the second network node 200 may update their databases with the information, in implementing a routing protocol, such as the OSPF routing protocol.
[0037] According to an example in which the second network node 200 is also to enter into the reduced-power mode, a third network node 102b may implement the method 300 to operate as a proxy advertiser for the second network node 200. In this example, in operating as the proxy advertiser for the second network node 200, the third network node 102b may generate and communicate information that identifies a phantom node corresponding to the second network node 200 and a phantom node corresponding to the first network node 102a. In this regard, the third network node 102b may also operate as a proxy advertiser for the first network node 102a.
[0038] Turning now to FIG. 4, at block 402, a determination is made that a port 210a is at least one of in a reduced-power mode or is scheduled to be in the reduced-power mode, for instance, by the power mode scheduling module 230. This determination may be made based upon, for instance, the amount of network traffic being directed to the port 210a. Thus, for instance, the power mode scheduling module 230 may schedule for the port 210a to enter into the reduced- power mode when the port 210a is idle for a predetermined period of time.
[0039] At block 404, a route advertisement that indicates that the port 210a is in a mode in which the port 210a is not to be used in the flow of traffic in the network 100, but that the port exists in the network node 200 and is reachable is generated, for instance, by the information generating module 224. By way of example, the route advertisement may be generated to include extra information that explicitly identifies the mode, e.g., that the port 210a is up, down, under administrative shutdown, in a low-power mode, etc. The extra information may comprise information that is currently unavailable in conventional route advertisements.
[0041] At block 408, a determination is made that the ports 210a-210n in the network node 200 are to enter into the reduced-power mode, for instance, by the power mode determining module 230. This determination may be made based upon, for instance, the amount of network traffic being directed through the ports 210a-210n. Thus, for instance, the power mode scheduling module 230 may schedule for each of the ports 210a-210n to enter into the reduced-power mode when the ports 210a-210n are idle for a predetermined period of time. By way of particular example, the power mode determining module 230 may determine that all of the ports 210a-210n are to enter into the reduced-power mode when all but one of the ports 210a-210n are in the reduced-power mode. Alternatively, the power mode determining module 230 may determine that the network node 200 is to enter into the reduced-power mode when a predetermined condition has been reached. For instance, the power mode determining module 230 may determine that the network node 200 is to enter into the reduced-power mode at a particular time, when network traffic through the network node 200 falls below a predetermined threshold, upon receipt of a command from a user to enter into the reduced-power mode, etc.
[0042] At block 410, an indication that the network node 200 will enter into the reduced-power mode is communicated to another network node 102a, for instance, by the information communicating module 226. The another network node 102a that is to receive the indication may be selected through any of a plurality of suitable manners. For instance, the another network node 102a may comprise the network node 102a that is in the closest proximity to the network node 200. As another example, the another network node 102a may comprise the network node 102a having the highest identification number or the lowest identification number. As a further example, the another network node 102a may comprise the least or the most loaded network node 102a in the network 100.
[0043] At block 412, the network node 200 is entered into the reduced-power mode, for instance, by the power mode changing module 232. The network node 200 may be entered into the reduced-power mode through implementation of any suitable techniques. In addition, the another network node 102a that received the indication communicated at block 410 may implement the method 300 to act as a proxy advertiser for the network node 200 when the network node 200 is in the reduced-power mode.
[0044] Some or all of the operations set forth in the methods 300 and 400 may be contained as a utility, program, or subprogram, in any desired computer accessible medium. In addition, the methods 300 and 400 may be embodied by machine readable instructions, which may exist in a variety of forms both active and inactive. For example, they may exist as source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer readable storage medium. Examples of non-transitory computer readable storage media include conventional computer system RAM, ROM,
[0045] Turning now to FIG. 5, there is shown a schematic representation of a computing device 500, which may be employed to perform various functions of the network node manager 220 depicted in FIG. 2, according to an example. The computing device 500 includes a processor 502, such as the processor 202; a display 504, such as but not limited to a monitor; a network interface 508, such as but not limited to a Local Area Network LAN, a wireless 802.11x LAN, a 3G/4G mobile WAN or a WiMax WAN; and a computer-readable medium 510. Each of these components is operatively coupled to a bus 512. For example, the bus 512 may be an EISA, a PCI, a USB, a FireWire, a NuBus, or a PDS.
[0046] The computer readable medium 510 comprises any suitable medium that participates in providing instructions to the processor 502 for execution. For example, the computer readable medium 510 may be non-volatile media. The operating system 514 may also perform basic tasks such as but not limited to recognizing receipt of packets, transmitting the packets to their destination addresses, and managing traffic on the bus 512. The network applications 516 include various components for establishing and maintaining network connections, such as but not limited to machine readable instructions for implementing communication protocols including TCP/IP, HTTP, Ethernet, USB, and FireWire.
[0047] The network node management application 518 provides various components for managing an interface between an application and a network discussed above with respect to the methods 300 and 400 in FIGS. 3 and 4. The network node management application 518 may thus comprise an indication receiving module 222, an information generating module 224, an information communicating module 226, another network node power mode changing module 228, a power mode determining module 230, and a power mode changing module 232.
[0048] In certain examples, some or all of the processes performed by the application 518 may be integrated into the operating system 514. In certain examples, the processes may be at least partially implemented in digital electronic circuitry, or in computer hardware, machine readable instructions (including firmware and software), or in any combination thereof, as also discussed above.
[0049] What has been described and illustrated herein are examples of the disclosure along with some variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims -- and their equivalents - in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

中文:
[0001]在诸如开放式最短路径优先(OSPF)路由协议之类的分布式路由协议的操作中,诸如路由器和交换机之类的网络节点维护网络数据库的独立副本。网络节点在做出网络业务路由决策方面使用所存储的信息。网络节点例如以规则的时间间隔和/或在改变发生时生成路由通告,并且向所有其他网络节点广播或洪泛(flood)这些路由通告。相应数据库通过使用这些路由通告来更新。当网络节点或网络节点中的端口失效或者以其他方式被置于降低功率模式中时,该网络节点不生成或广播针对网络节点的一个或多个端口的任何另外的通告。结果,其他网络节点未意识到网络节点或端口的存在,直到网络节点或端口返回到其中由网络节点或端口进行的路由通告被再次广播的活动状态。
[0002]本公开的特征通过示例的方式被图示在以下一个或多个图中并且在以下一个或多个图中不受限,其中相同的数字指示相同的元素,其中:
[0003]图1示出根据本公开的示例的包括多个网络节点的网络的简化框图,所述多个网络节点将以如本文讨论的各种方式进行操作;
[0005]图3示出根据本公开的示例的用于跟随在网络节点进入到降低功率模式中之后用信号通知网络节点存在于网络中的方法的流程图;
[0006]图4示出根据本公开的示例的用于跟随在端口进入到降低功率模式中之后用信号通知网络节点中的端口存在的方法的流程图;
[0007]图5图示了根据本公开的示例的计算设备的示意性表示,所述计算设备可以被用于执行图2中描绘的网络节点管理器的各种功能。
[0008]出于简化和说明性目的,通过主要参考其示例来描述本公开。在以下描述中,阐述许多特定细节以便提供对本公开的透彻理解。然而,将容易显而易见的是,可以在没有对这些特定细节的限制的情况下实践本公开。在其他实例中,尚未详细描述一些方法和结构以免不必要地使本公开模糊。如本文所使用的,术语“包括”意味着包括但不限于,术语“包含”意味着包含但不限于。术语“基于”意味着至少部分地基于。此外,术语“一”或“一个”旨在指代至少一个特定元件。而且,可变的“n”旨在指代等于或大于一的整数。
[0009]本文所公开的是用于跟随在第一网络节点进入到降低功率模式中之后用信号通知第一网络节点存在于网络中的示例方法。本文还公开的是要实现示例方法的示例网络节点管理器和示例计算机可读介质。本文另外公开的是用于跟随在端口进入到降低功率模式中之后用信号通知网络节点中的端口存在的示例方法。降低功率模式可以包括,例如,待机模式、休眠模式和断电模式中的任意。
[0010]如一般可以就常规网络操作所知的,可以在各种时间将网络节点的端口中的一些和网络节点自身中的一些置于降低功率模式中,作为用以基本上最大化操作该网络方面的能量效率的努力的一部分。在常规网络中,当端口和/或网络节点被置于降低功率模式中时,其他网络节点未意识到端口和/或网络节点的存在。而是,其他网络节点只有在这些端口和/或网络节点返回到活动模式并且因此再次开始发布路由通告之后获悉这些端口和/或网络节点的存在。在其他实例中,要求中央控制器在端口和/或网络节点处于降低功率模式中时维护端口和/或网络节点的标识。
[0011]一般而言,本文所公开的示例方法使得网络中的网络节点能够在一个或多个端口和/或一个或多个网络节点已经进入到降低功率模式中之后维护一个或多个端口和/或一个或多个网络节点的标识。此外,网络节点能够维护一个或多个端口和/或一个或多个网络节点的标识而不要求从中央控制器获得该信息,并且因此,本文所公开的示例方法使得能够实现用于维护该信息的冗余和分布式技术。而且,本文所公开的示例方法使得网络中的网络节点能够在仍旧遵守所使用的诸如OSPF路由协议之类的特定路由协议的同时维护一个或多个端口和/或一个或多个网络节点的标识。
[0012]在一方面,由于网络节点意识到处于降低功率模式中的一个或多个端口和/或一个或多个网络节点的存在,网络节点可以在网络中的条件要求这样的使用时试图通过那些一个或多个端口和/或一个或多个网络节点转发网络业务。相比之下,当常规端口和网络节点处于降低功率模式中时,它们的存在对于处于活动状态中的网络节点而言是未知的,因为那些网络节点并未被提供处于降低功率模式中的端口或网络节点的任何指示。
[0013]参考图1,示出了根据示例的包括多个网络节点102a-102f的网络100的简化框图,所述多个网络节点102a-102f将以如本文所讨论的各种方式进行操作。应当容易显而易见的是,图1中描绘的示图表示一般化图示并且可以添加其他组件或者可以移除、修改或重布置现有组件而不脱离于网络100的范围。例如,网络100可以包括附加网络节点和其他组件,诸如数据存储阵列、服务器等。
[0014]网络节点102a-102f包括向网络100中的多个客户端设备(未示出)提供联网功能的装置。在这方面,网络节点102a-102f可以包括交换机、路由器、集线器、桥接器、服务器等。在这方面,网络节点102a-102f中的每一个包括许多端口110。此外,网络节点102a-102f中的每一个通过相应链路112连接至网络节点102a-102f中的相应其他网络节点。特别地,链路112表示网络节点102a-102f之间的局域网(LAN)段、点对点链路等。网络节点102a-102f可以因而在局域网(LAN)、广域网(WAN)、城域网(MAN)等之一中被相互联网。尽管未示出,但是网络节点102a-102f中的至少一些可以连接到主机计算机设备、服务器、盘阵列等。
[0015]如图1中所示,网络节点102a-102f中的每一个具有到至少两个其他网络节点102a-102f的链路112。在这方面,如果网络节点102a-102f上的任何端口110或者如果网络节点102a-102f自身进入降低功率模式中或者失效,则网络业务可以继续通过网络100被转发。降低功率模式可以包括导致相比于活动模式的降低量的功率消耗的模式,在活动模式中一个或多个端口110和/或一个或多个网络节点102a-102f将在网络100中转发网络业务。此外,降低功率模式可以包括一个或多个端口110和/或一个或多个网络节点102a-102f可以从其自动返回到活动模式的模式。而且,降低功率模式可以包括一个或多个端口110和/或一个或多个网络节点102a-102f在排定时间和/或在预定义的条件存在于网络100中时进入到的模式。作为示例,降低功率模式可以包括待机模式、休眠模式和断电模式中的任意。相比之下,失效模式可以包括一个或多个端口110和/或一个或多个网络节点102a-102f由于一个或多个端口110和/或一个或多个网络节点102a-102f的失效而进入并且因而可能未被调度的模式。
[0016]例如,网络节点102a的端口110或者网络节点102a自身可以进入到降低功率模式中,以便在其余端口110和/或网络节点102b-102f能够充分处理网络100中的业务时降低能量消耗。因此,例如,一个或多个端口110和/或一个或多个网络节点102a-102f可以在排定时间(例如在晚上)进入到降低功率模式中,并且可以在另一排定时间(例如在早上)从降低功率模式摆脱。作为另一示例,一个或多个端口110和/或一个或多个网络节点102a-102f可以在一个或多个端口110和/或一个或多个网络节点102a-102f相对空闲时进入到降低功率模式中。
[0017]如本文更加详细地讨论的,当一个或多个端口110和/或一个或多个网络节点102a-102f处于降低功率模式中时,向其他网络节点102a-102f用信号通知它们在网络100中的存在。根据示例,网络节点102a-102f的子集可以在任何给定时间进入到降低功率模式中。在一方面,例如,如果网络100中的业务增加并且要求一个或多个端口110和一个或多个网络节点102a-102f中的任一或二者被带回到活动模式中,则一个或多个网络节点102a-102f可以意识到它们的存在并且可以执行使一个或多个端口110和/或一个或多个网络节点102a-102f返回到活动模式的行动。相比之下,当常规网络节点处于降低功率模式中时,它们的存在对于处于活动状态中的网络节点是未知的,因为那些网络节点未被提供处于降低功率模式中的网络节点的任何指示。
[0019]如本文以下更加详细地讨论的,第二网络节点102b通过将第一网络节点102a标识为网络100中的幻象节点(phantom node),从而将对网络节点102a-102f的约束从代表另一网络节点的通告节点信息排除,来操作为针对第一网络节点102a的代理通告器。作为特定示例,第二网络节点102b生成指示幻象节点被连接至第二网络节点102b以及幻象节点在网络100中可读且可以因而遵守常规路由协议的扩展路由通告。
[0020]现在转向图2,示出了根据示例的网络节点200的简化框图。应当容易显而易见的是,图2中描绘的示图表示一般化图示并且可以添加其他组件或者可以移除、修改或重布置现有组件而不脱离于其中描绘的网络节点200的范围。
[0021]一般而言,网络节点200可以包括图1中描绘的网络节点102a-102f中的任意。网络节点200被描绘为包括处理器202、数据储存204、输入/输出接口206、多个端口210a-210n和网络节点管理器220。网络节点管理器220还被描绘为包括指示接收模块222、信息生成模块224、信息传送模块226、另一网络节点功率模式改变模块228、功率模式确定模块230和功率模式改变模块232。可以包括微处理器、微控制器、专用集成电路(ASIC)等的处理器202将执行网络节点200中的各种处理功能。处理功能之一包括调用或实现如本文以下更加详细地讨论的网络节点管理器220的模块222-232。
[0022]根据示例,网络节点管理器220包括诸如布置在板上的一个电路或多个电路之类的硬件设备。在该示例中,模块222-232包括电路组件或各个电路。根据另一示例,网络节点管理器220包括易失性或非易失性存储器,诸如动态随机存取存储器(DRAM)、电可擦除可编程只读存储器(EEPROM)、磁阻随机存取存储器(MRAM)、忆阻器、闪速存储器、软盘、压缩盘只读存储器(CD-ROM)、数字视频盘只读存储器(DVD-ROM)或其他光学或磁性介质等。在该示例中,模块222-232包括存储在存储器中的软件模块。根据另外的示例,模块222-232包括硬件和软件模块的组合。
[0023]输入/输出接口206可以包括硬件和/或软件接口。在该方面中,输入/输出接口206可以包括使得能够实现数据和/或信号的接收和传输的硬件和软件组件中的任一或二者。因此,例如,输入/输出接口206包括到端口210a-210n的接口,所述端口210a-210n可以包括线缆将被物理插入到其中的物理端口,诸如以太网端口、光纤端口等。
[0024]在一方面,处理器202将通过端口210a-210n接收数据的分组,以确定端口210a-210n中的哪些将输出数据的分组,并且基于该确定来通过端口210a-210n输出数据的分组。处理器202可以按任何合适的方式来执行这些操作并且本文不进一步详细描述以其来执行这些操作的方式。而是,本公开的各方面针对可以被执行以在网络节点200处于降低功率模式中时用信号通知网络节点200的存在的各种操作。本公开的其他方面针对可以被执行以在端口210a处于降低功率模式中时用信号通知网络节点200的端口210a的存在的各种操作。本公开的另外其他方面针对可以被执行以用信号通知网络节点200与其通信的另一网络节点的存在的各种操作。
[0025]根据示例,网络节点200执行本文公开的操作而没有或不必咨询网络100的中央控制器(未示出)。在这方面,本公开的各方面可以由对等网络节点执行而不是由中央控制器执行。
[0026]在任何方面,处理器202可以在数据储存204中存储数据,所述数据储存204包括易失性和/或非易失性存储器,诸如DRAM、EEPROM、MRAM、相变RAM(PCRAM)、忆阻器、闪速存储器等。此外或可替换地,数据储存204包括从可移除介质进行读取或对可移除介质进行写入的设备,所述可移除介质诸如是软盘、CD-ROM、DVD-ROM或其他光学或磁性介质。
[0027]关于分别在图3和4中描绘的方法300和400来更加详细地讨论网络节点管理器220可以以其来实现的各种方式。对本领域普通技术人员而言应当显而易见的是,方法300和400表示一般化图示并且可以添加其他步骤或者可以移除、修改或重布置现有步骤而不脱离于方法300和400的范围。尽管对在图2中被描绘为包括可以执行方法300和400中描述的操作的装置和/或机器可读指令集的网络节点管理器220做出特定参考,但是应当理解到,不同配置的装置和/或机器可读指令可以执行方法300和400而不脱离于方法300和400的范围。
[0028]一般而言,图3示出根据示例的用于跟随在网络节点200进入到降低功率模式中之后用信号通知网络节点200存在于网络100中的方法300的流程图。此外,图4示出根据示例的用于跟随在端口210a进入到降低功率模式中之后用信号通知端口210a存在于网络节点200中的方法400的流程图。在方法300和400二者中,向网络100中的其他网络节点102a-102f提供信令,使得其他网络节点102a-102f意识到端口210a和/或网络节点200的存在,即使是在端口210a和/或网络节点200处于降低功率模式中并且因此不活动地传送路由通告时。在方法300中,网络节点200而不是将处于或者正处于降低功率状态中的网络节点102a可以执行信令操作。在方法400中,将处于或者正处于降低功率状态中的网络节点200或者包括将处于或者正处于降低功率状态中的端口210a的网络节点200可以执行信令操作。
[0029]首先参考图3,在块302处,例如通过指示接收模块222在第二网络节点200中接收第一网络节点102a将进入到降低功率模式中的指示。在这方面,第二网络节点200直接地或者通过另一网络节点102c与第一网络节点102a通信。此外,第二网络节点200可以通过端口210a-210n之一接收指示。
[0030]根据示例,可以包括与第二网络节点200相同或类似元件的第一网络节点102a可以确定第一网络节点102a将在将来时间进入到降低功率模式中。该将来时间可以包括少于几秒、几秒、几分钟等。此外,第一网络节点102a可以出于各种原因中的任意而确定它将进入到降低功率模式中。例如,第一网络节点102a可以确定它的端口110中的一些或全部在网络业务的转发方面正未被利用或者正未被充分利用。在该示例中,第一网络节点102a可以被编程为进入到降低功率模式中以降低由网络节点102a-102f所消耗的总能量。
[0031]在任何方面,响应于确定,第一网络节点102a可以生成第一网络节点102a将进入到降低功率模式中的指示并且可以通过第一网络节点102a的活动链路向第二网络节点200传送例如作为数据分组的指示。这样,第二网络200可以在第一网络节点102a进入到降低功率模式中之前从第一网络节点102a接收到指示。
[0032]在块304处,例如通过信息生成模块224生成用信号通知第一网络节点102a的存在以及第一网络节点102a在网络100中可到达的信息。例如,该信息包括针对第一网络节点102a的包括到邻近的网络节点102b-102f的非零成本链路的路由通告。因此,例如,该信息指示第二网络节点200被连接到第一网络节点102a,但是第一网络节点102a仅包含非零成本链路。
[0033]然而,根据示例,第二网络节点200使用幻象节点来表示第一网络节点102a,而不是直接在信息中标识第一网络节点102a和第一网络节点102a的端口110。一般而言,幻象节点包括标识符,但是不包括网络100中的实际网络节点的标识符。特别地,第二网络节点200生成信息来包括幻象节点和幻象节点的幻象端口的标识。幻象节点和幻象端口的标识符可以包括例如幻象节点和幻象端口的媒体访问控制(MAC)地址、互联网协议(IP)地址等中的任意。在一方面,第二网络节点200在所生成的信息中使用幻象节点来表示第一网络节点102a,以克服被设计成防止网络节点通告针对其他网络节点的信息的常规控制平面协议。也就是说,通过幻象节点的使用,第二网络节点200看起来不是正在通告针对第一网络节点102a的信息。
[0034]第二网络节点200可以包含使幻象节点的标识符与第一网络节点102a的标识符相关的数据。在一方面,其他网络功率模式改变模块228可以使用该相关性来使第一网络节点102a响应于接收到网络业务将通过该幻象节点转发的指示来从降低功率模式摆脱到活动模式。例如,如果当前活动的网络节点102b-102f不能够充分处理网络业务,诸如在网络节点102b失效时,在网络业务中存在增加时等等,这可以发生。
[0035]此外,生成信息以指示网络100中的幻象节点的存在,但是该幻象节点在网络100中将不被用于转发业务。作为示例,生成信息来指示幻象节点中的端口对于使用在转发网络业务方面是不合期望的。在该示例中,可以生成信息来指示幻象节点中的端口具有非常高的度量(例如,非常高的带宽使用、被高度加载等)。此外,如果第一网络节点102b成为必需(例如,当网络业务增加时),其他网络节点102b-102f可以要求业务通过幻象节点被路由,其他网络节点102b-102f将该幻象节点标识为网络100中的实际网络节点,而不管第一网络节点102a的使用的不合期望性。
[0036]在块306处,例如通过信息传送模块226,向网络(即其他网络节点102b-102f)传送信息,使得第二网络节点200跟随在第一网络节点进入到降低功率模式中之后操作为针对第一网络节点的代理通告器。特别地,信息传送模块226可以向网络100上广播或者洪泛信息。根据示例,信息是第二网络节点200的路由通告的部分并且以与路由通告相同的形式并且与路由通告同时被传送。此外,从第二网络节点200接收信息的网络节点102b-102f可以在实现诸如OSPF路由协议之类的路由协议方面利用该信息来更新它们的数据库。
[0037]根据其中第二网络节点200也将进入到降低功率模式中的示例,第三网络节点102b可以实现方法300以操作为针对第二网络节点200的代理通告器。在该示例中,在操作为针对第二网络节点200的代理通告器方面,第三网络节点102b可以生成和传送标识对应于第二网络节点200的幻象节点和对应于第一网络节点102a的幻象节点的信息。在这方面,第三网络节点102b还可以操作为针对第一网络节点102a的代理通告器。
[0038]现在转向图4,在块402处,例如通过功率模式调度模块230做出端口210a在处于降低功率模式中或者被调度成处于降低功率模式中的至少一种情况中的确定。该确定可以基于例如正被引向端口210a的网络业务量来做出。因此,例如,功率模式调度模块230可以在端口210a在预定时间段内空闲时调度端口210a以进入到降低功率模式中。
[0039]在块404处,例如通过信息生成模块224生成指示端口210a处于其中在网络100中的业务流中未使用端口210a的模式,但是端口存在于网络节点200中并且可到达的路由通告。作为示例,可以生成路由通告来包括明确标识模式(例如端口210a向上、向下、在管理性关机下、处于低功率模式,等等)的额外信息。该额外信息可以包括在常规路由通告中当前不可用的信息。
[0041]在块408处,例如通过功率模式确定模块230做出网络节点200中的端口210a-210n将进入到降低功率模式中的确定。该确定可以基于例如正通过端口210a-210n所引导的网络业务量来做出。因此,例如,功率模式调度模块230可以在端口210a-210n在预定时间段内空闲时调度端口210a-210n中的每一个进入到降低功率模式中。作为特定示例,功率模式确定模块230可以在端口210a-210n中的除一个以外的全部都处于降低功率模式中时确定所有端口210a-210n将进入到降低功率模式中。可替换地,功率模式确定模块230可以在已经达到预定条件时确定网络节点200将进入到降低功率模式中。例如,功率模式确定模块230可以在通过网络节点200的网络业务落至预定阈值以下时、在从用户接收到进入到降低功率模式中的命令时等等,确定网络节点200将在特定时间进入到降低功率模式中。
[0042]在块410处,例如通过信息传送模块226向另一网络节点102a传送网络节点200将进入到降低功率模式中的指示。可以通过多个合适方式中的任意来选择将接收该指示的另一网络节点102a。例如,另一网络节点102a可以包括最靠近地接近于网络节点200的网络节点102a。作为另一示例,另一网络节点102a可以包括具有最高标识号码或最低标识号码的网络节点102a。作为另外的示例,另一网络节点102a可以包括网络100中的最少加载或最多加载的网络节点102a。
[0043]在块412处,例如通过功率模式改变模块232使网络节点200进入到降低功率模式中。可以通过任何合适技术的实现方式来使网络节点200进入到降低功率模式中。此外,当网络节点200处于降低功率模式中时,接收在块410处传送的指示的另一网络节点102a可以实现方法300以充当针对网络节点200的代理通告器。
[0044]在方法300和400中阐述的操作中的一些或全部可以作为实用程序、程序或子程序包含在任何期望的计算机可访问介质中。此外,方法300和400可以由机器可读指令来体现,该机器可读指令可以按活动和不活动二者的各种形式存在。例如,它们可以作为源代码、目标代码、可执行代码或其他格式而存在。以上中的任意可以被体现在非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括常规计算机系统RAM、ROM、EPROM、EEPROM和磁或光的盘或带。因此要理解,能够施行以上描述的功能的任何电子设备可以执行以上列举的那些功能。
[0045]现在转向图5,示出根据示例的可以被用于执行图2中描绘的网络节点管理器220的各种功能的计算设备500的示意性表示。计算设备500包括处理器502,诸如处理器202;显示器504,诸如但不限于监视器;网络接口508,诸如但不限于局域网LAN、无线802.11x LAN、3G/4G移动WAN或WiMax WAN;以及计算机可读介质510。这些组件中的每一个被操作耦合至总线512。例如,总线512可以是EISA、PCI、USB、火线(FireWire)、NuBus或PDS。
[0046]计算机可读介质510包括参与向处理器502提供指令以供执行的任何合适的介质。例如,计算机可读介质510可以是非易失性介质。操作系统514还可以执行基本任务,诸如但不限于识别分组的接收、向其目的地地址发送分组、以及管理总线512上的业务。网络应用516包括用于建立和维护网络连接的各种组件,诸如但不限于用于实现包括TCP/IP、HTTP、以太网(Ethernet)、USB和火线(FireWire)的通信协议的机器可读指令。
[0047]网络节点管理应用518提供以上关于图3和4中的方法300和400所讨论的用于管理应用与网络之间的接口的各种组件。网络节点管理应用518可以因此包括指示接收模块222、信息生成模块224、信息传送模块226、另一网络节点功率模式改变模块228、功率模式确定模块230和功率模式改变模块232。
[0048]在某些示例中,由应用518执行的过程中的一些或全部可以被集成到操作系统514中。在某些示例中,该过程可以至少部分地被实现在数字电子电路中,或计算机硬件、机器可读指令(包括固件和软件)中,或者其任何组合中,如同样在上文所讨论的那样。
[0049]本文已经描述和图示的是本公开的示例以及一些变型。本文所使用的术语、描述和附图仅仅通过说明的方式而被阐述并且不意味着作为限制。在旨在由随附权利要求(及其等同方式)所限定的本公开的范围内,许多变型是可能的,在权利要求中,除非另行指示,否则所有术语都意图在其最宽泛的合理含义中。