Patent Publication Number: US-8112085-B2

Title: Anchor selection in distributed networks

Description:
BACKGROUND 
     As wireless technology has advanced, a variety of wireless networks have been installed, such as cellular and other wireless networks. Some wireless networks are based upon the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of Wireless LAN (WLAN) industry specifications, for example. As another example, some wireless networks are based upon the Distributed Medium Access Control (MAC) for Wireless Networks industry specifications of the WiMedia Alliance, for example. For example, the WiMedia network protocol adaptation (WiNet) layer is a protocol adaptation layer (PAL) that builds on a WiMedia ultra-wideband (UWB) common radio platform to augment the convergence platform with TCP/IP services. A number of working groups are working to improve on this technology. 
     An example standard, for example, the Distributed Medium Access Control (MAC) for Wireless Networks of the WiMedia Alliance, defines a distributed medium access control (MAC) sublayer for wireless networks, and further specifies a wireless network structure that does not require an existing infrastructure for communication such as, for example, a WiMedia ultra-wideband (UWB) network. 
     Categories of example applications considered for such an example standard may include portable electronic devices intended to be carried by a user, home electronics equipment, and personal computers and peripherals. Example portable electronic devices may have specific requirements to support mobility and good power efficiency. Devices such as home electronics and computers may not be as mobile, and not as sensitive to power efficiency as such portable electronic devices. All of these devices may benefit from a zero-infrastructure environment. 
     An interval, for example, a periodic time interval may be used to coordinate frame transmissions between devices, for example, a superframe interval may be used which includes a beacon period followed by a data period. The beacon period may include multiple beacon slots which may be used by multiple devices to send beacons. 
     In an example network formed with fully distributed medium access coordination, logical groups may be formed around each device in the network to facilitate contention-free frame exchanges while exploring medium reuse over different spatial regions. These logical groups may include, for example, a beacon group and an extended beacon group, both of which may be determined with respect to an individual device. For example, a beacon group may include a set of devices from which a device receives beacons that identify the same beacon period start time (BPST) as the device. An extended beacon group may include a union of a device&#39;s beacon group and the beacon groups of all devices in the device&#39;s beacon group. 
     When a device is enabled, it may scan one or more channels for beacons and select a communications channel. If no beacons are detected in the selected channel, the device may create its own beacon period (BP) by sending a beacon. If one or more beacons are detected in the selected channel, the device may synchronize its BP to existing beacons in the selected channel. The device may then exchange data with members of its beacon group using the same channel the device selected for beacons. 
     An example WiMedia standard also defines a dynamic beaconing technique, which enables devices in a distributed network to maintain fast connectivity. Devices may maintain synchronization with each other by participating in a beacon period, for example, by each device sending its own beacon and listening to other devices&#39; beacons once in each superframe (e.g., 65.536 ms). The rest of the time the devices may send data to each other or hibernate, or sleep. 
     If a group of devices moves into the range of another group of devices, the groups may need to synchronize to each other before connectivity from one group to another may be available for the devices, and before channel time reservations may be handled without collisions. A group of devices may thus be viewed as “one device” or “two or more devices participating in the same beacon group,” for example, devices having the same beacon period start time (BPST). 
     Establishing synchronization between the groups may involve regular scanning activities. Scanning may be performed at a device by listening to the channel, for example, for at least the time associated with one superframe occasionally. The scanning may be repeated based on an expectation of the connectivity speed. For example, if one superframe time is scanned once every second, the new devices or groups of devices on the same communications channel may be found on average in half a second when they enter the operating range. 
     In example networks such as a WiMedia network, synchronization may be maintained by devices participating in a beaconing period in every superframe. However, devices using low power mode, or hibernation mode, may need to rely on other devices to maintain the network synchronization; otherwise devices may forfeit their saved power to a need to scan the channels for synchronization. Thus, for example, a network device may indicate that it will perform anchoring operations, or operate as an anchor node or anchor device, and may thereby indicate a promise to one or more other nodes to remain active and to maintain network synchronization. 
     A role of anchor device may be switched among network nodes over time; however, if two nodes determine that one of the nodes should perform anchor node operations for the other, there may be other nodes in the network that may lose synchronization capability if the non-anchor node enters a hibernation state, for example, due to a topology of the network. For example, networks that include multiple hops may lose connectivity depending on whether certain nodes may become inactive for a period of time, and thus may lose network synchronization. 
     SUMMARY 
     Various embodiments are described relating to selecting anchor nodes among nodes in a wireless network. 
     According to an example embodiment, a topological arrangement of a first wireless node and one or more other wireless nodes neighboring to the first wireless node in a wireless network may be determined by the first wireless node. A second wireless node may be selected to perform anchor node operations for the first wireless node based on the determined topological arrangement. According to an example embodiment, the selecting may include the first wireless node selecting itself as the second wireless node to perform anchor node operations for the first wireless node based on the determined topological arrangement. 
     According to another example embodiment, a first wireless node may determine that a first set of one or more other wireless nodes including a first neighboring anchor node is in a receiving range of the first wireless node in a wireless network. One or more indicators indicating that a second set of one or more wireless nodes is in a receiving range of the first neighboring anchor node may be received from the first neighboring anchor node by the first wireless node. A second wireless node may be selected to perform anchor node operations for the first wireless node based on comparing the first and second sets. According to an example embodiment, selecting the second wireless node may include the first wireless node selecting itself as the second wireless node to perform anchor node operations for the first wireless node based on determining whether each of the wireless nodes included in the first set is in a receiving range of the first neighboring anchor node based on comparing the first and second sets. 
     In another example embodiment, an apparatus for wireless communications may include a controller, a memory coupled to the controller, and a wireless transceiver coupled to the controller. The apparatus may be adapted to determine a topological arrangement of the apparatus and one or more other wireless nodes neighboring to the apparatus in a wireless network, and select a wireless node to perform anchor node operations for the apparatus based on the determined topological arrangement. According to an example embodiment, the apparatus may be adapted to determine the topological arrangement based on determining a first set of one or more wireless nodes other than the apparatus that is in a receiving range of the apparatus, the first set including a first neighboring anchor node, and receiving from the first neighboring anchor node one or more indicators indicating a second set of one or more wireless nodes that is in a receiving range of the first neighboring anchor node. 
     In another example embodiment, an apparatus for wireless communications may include a controller, a memory coupled to the controller, and a wireless transceiver coupled to the controller. The apparatus may be adapted to determine that a first set of one or more wireless nodes including a first neighboring anchor node is in a receiving range of the apparatus in a wireless network, receive from the first neighboring anchor node one or more indicators indicating that a second set of one or more wireless nodes is in a receiving range of the first neighboring anchor node, and select one of the wireless nodes included in the first or second sets to perform anchor node operations for the apparatus based on comparing the first and second sets. According to an example embodiment, the apparatus may be adapted to select the wireless node to perform anchor node operations for the apparatus based on determining whether each of the wireless nodes included in the first set other than the first neighboring node is in a receiving range of the first neighboring anchor node based on comparing the first and second sets. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1   a - 1   b  are diagrams of example configurations of beacon groups of a wireless network according to an example embodiment. 
         FIG. 2  is a flow chart illustrating operation of selecting a node to perform anchor node operations for a first node of a wireless network according to an example embodiment. 
         FIG. 3  is a flow chart illustrating operation of selecting a node to perform anchor node operations for a first node of a wireless network according to an example embodiment. 
         FIGS. 4   a - 4   b  is a diagram illustrating operation of transmission of superframes on a medium in a wireless network according to an example embodiment. 
         FIG. 5  is an example format of a beacon period occupancy information element included in an example beacon according to an example embodiment. 
         FIGS. 6   a - 6   c  depict example network topologies illustrating various selections of anchor nodes according to an example embodiment. 
         FIG. 7  is a block diagram illustrating an apparatus that may be provided in a wireless station according to an example embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to the Figures in which like numerals indicate like elements,  FIGS. 1   a - 1   b  are diagrams of example configurations or topologies of beacon groups of a wireless network  102  according to an example embodiment. The term “node” or “wireless node” or “network node” or “network station” may refer, for example, to a wireless station, e.g., a subscriber station or mobile station, an access point or base station, a relay station or other intermediate wireless node, or other wireless computing devices, such as laptop computers, desktop computers, and peripheral devices, as examples. The term “topology” or “network topology” or “topological arrangement” may refer, for example, to an arrangement of network nodes with respect to one another. For example, a “topology” or “topological arrangement” may refer to an arrangement of nodes that may be within radio range of one another, or that may include some nodes that are in range of one another and not in range of others. A “topology” or “topological arrangement” may also include nodes that are performing anchor operations for other nodes, and are thus within range of the other nodes. 
     As shown in  FIG. 1   a , a wireless network node node 1   122  is in range of, and thus may receive messages from, nodes node 2   124 , node 3   126 , and node 4   130 . Thus, the nodes node 1   122 , node 2   124 , node 3   126 , and node 4   130  may be referred to herein as “neighbor nodes” or “neighboring nodes.” Moreover, a node 5   132  and node 6   134  are also in range of, and may receive messages from, the node 4   130 . Thus, node  4   130  may be a neighbor node with node 5   132  and node 6   134 . Further, each of node 2   124 , node 3   126 , and node 4   130  are in range of each other, and may receive messages from among themselves. Thus, for example, node 1   122 , node 2   124 , node 3   126 , and node 4   130  may be included in a common beacon group. However, node 1   122  and node node 5   132 , as shown in  FIG. 1   a , are not in range of each other, and thus may not receive messages from each other directly, and are thus not currently neighbor nodes to each other. Thus, for example, the node node 4   130  may send messages to, or receive messages from, any of the nodes node 1   122 , node 2   124 , node 3   126 , node 5   132 , and node 6   134 . Thus, node 4   130 , node 5   132 , and node 6   134  may also be included in a common beacon group. For example, node 4   130 , node 5   132 , and node 6   134  may be included in the same beacon group as node 1   122 , node 2   124 , node 3   126 , and node 4   130 , for example, an extended beacon group. Therefore, if, for example, node 4   130  were to perform anchor node operations to maintain network synchronization, all of node 1   122 , node 2   124 , node 3   126 , node 5   132 , and node 6   134  may be able to reduce their scanning operations on the medium and rely on synchronization information from the node 4   130 . 
     This example reduction of synchronization activity may thus result in a substantial reduction of power consumption by the non-anchor nodes. 
     As shown in  FIG. 1   b , the wireless network node node 6   134  is in range of, and thus may receive messages from, node 7   140 , node 8   142 , and node 9   144 . However, the nodes node 7   140 , node 8   142 , and node 9   144  may be included in a different beacon group from the beacon group of node 6   134 . Moreover, transmissions sent by node 7   140 , node 8   142 , and node 9   144  may not be received by any of node 1   122 , node 2   124 , node 3   126 , node 4   130 , or node 5   132 . Thus, over time, network synchronization may be lost. However, if node 6   134  is selected to operate as an anchor node for node 7   140 , node 8   142 , and node 9   144 , as well as for node 4   130  and node 5   132 , the network synchronization may at least be maintained for this particular group of nodes. Further, if node 4   130  is selected to operate as an anchor node for node 1   122 , node 2   124 , and node 3   126 , then all nodes in the wireless network  102 , as shown in  FIG. 1   b , may be covered by one or more anchor nodes to maintain network synchronization. 
     If, for example, any of nodes node 7   140 , node 8   142 , and node 9   144  were to move within the operating range of node 6   134 , then any of the affected nodes may change their beacon group according to WiMedia protocol. One skilled in the art of wireless communications would understand that nodes may change beacon groups for many different reasons. 
     As discussed below, power consumption caused by scanning a medium of a wireless network may be reduced, for example, by advantageously selecting anchor nodes for a particular network node to ensure that all network nodes neighboring to the particular node are covered by neighboring anchor nodes as discussed further below. 
       FIG. 2  is a flow chart illustrating operation of a first node in selecting an anchor node, for example, to maintain network synchronization for the first node of a wireless network according to an example embodiment. A topological arrangement of a first wireless node and one or more other wireless nodes neighboring to the first wireless node in a wireless network may be determined by the first wireless node ( 210 ). For example, a topological arrangement of node 2   124  and nodes neighboring to node 2   124  may be determined by node 2   124 . For example, node 2   124  may determine that its neighbors include node 1   122 , node 3   126 , and node 4   130 . Node 2   124  may further determine that node 4   130  is operating as an anchor node in the network. For example, node 2   124  may determine the topological arrangement based on beacons received from the neighbor nodes of node 2   124 . For example, the beacons may include beacon period occupancy information elements (BPOIEs) that include information regarding neighbors of each sending wireless node. 
     According to an example embodiment, a first set of one or more wireless nodes other than the first wireless node that is in a receiving range of the first wireless node, the first set including a first neighboring anchor node, may be determined by the first wireless node ( 212 ). For example, node 2   124  may determine that node 4   130  is operating as an anchor node in the network. For example, node 4   130  may send a beacon including an BPOIE as discussed below with regard to  FIG. 5  to node 2   124 , including an indication that node 4   130  is an anchor node. 
     According to an example embodiment, one or more indicators indicating a second set of one or more wireless nodes that is in a receiving range of the first neighboring anchor node may be received from the first neighboring anchor node by the first wireless node ( 214 ). For example, node 2   124  may receive from node 4   130  one or more indicators indicating that node 1   122 , node 2   124 , node 3   126 , node 5   132 , and node 6   134  are in a receiving range of node 4   130 . 
     According to an example embodiment, the first wireless node may determine a first set of one or more wireless nodes other than the first wireless node that is in a receiving range of the first wireless node, the first set including a plurality of neighboring anchor nodes ( 216 ). For example, node 2   124  may determine that node 3   126  and node 4   130  are neighboring anchor nodes. 
     One or more indicators indicating a corresponding anchor node set of one or more wireless nodes that are in a receiving range of the corresponding neighboring anchor node may be received from each of the plurality of neighboring anchor nodes by the first wireless node ( 218 ). For example, node 2   124  may receive the indicators indicating corresponding anchor node sets from both node 3   126  and node 4   130 . 
     According to an example embodiment, a second wireless node may be selected to perform anchor node operations for the first wireless node based on the determined topological arrangement ( 220 ). According to an example embodiment, the selecting may include the first wireless node selecting itself as the second wireless node to perform anchor node operations for the first wireless node based on the determined topological arrangement ( 222 ). According to an example embodiment, the second wireless node may include the first wireless node. Thus, for example, the node 2   124  may select itself to perform anchor operations for itself based on the determined topological arrangement. Therefore, node 2   124  may select itself to remain awake and perform anchor operations, for example, to maintain network synchronization, for example, for itself and for wireless nodes neighboring to node 2   124  in the wireless network. 
     According to an example embodiment, the second wireless node may be selected to perform anchor node operations for the first wireless node based on comparing the first and second sets ( 224 ). Thus, for example, since the second set of wireless nodes discussed above includes all of the neighbors of node 2   124 , then node 4   130  may be selected to perform anchor operations for node 2   124 . For example, node 2   124  may select node 4   130  to perform the anchor node operations for node 2   124 , and node 4   130  may then act as an anchor for node 2   124 . 
     According to an example embodiment, the second wireless node may be selected to perform anchor node operations for the first wireless node based on comparing the first set with the corresponding anchor node sets ( 226 ). Thus, for example, since the anchor node sets discussed above includes all of the neighbors of node 2   124 , then node 4   130  may be selected to perform anchor operations for node 2   124 . 
       FIG. 3  is a flow chart illustrating operation of selecting an anchor node, for example, to maintain network synchronization for the first node of a wireless network according to an example embodiment. At  310 , it may be determined by a first wireless node that a first set of one or more other wireless nodes including a first neighboring anchor node is in a receiving range of the first wireless node in a wireless network. For example, node 2   124  may determine that its neighbors include node 1   122 , node 3   126 , and node 4   130 . Further, node 2   124  may determine that its neighbor node 4   130  is a neighboring anchor node maintaining synchronization in the wireless network  102 . For example, node 4   130  may send a beacon including an BPOIE as discussed below with regard to  FIG. 5  to node 2   124 , including an indication that node 4   130  is an anchor node. 
     According to an example embodiment, one or more indicators indicating that a second set of one or more wireless nodes is in a receiving range of the first neighboring anchor node may be received from the first neighboring anchor node by the first wireless node ( 320 ). For example, node 2   124  may receive from node 4   130  one or more indicators indicating that node 1   122 , node 2   124 , node 3   126 , node 5   132 , and node 6   134  are in a receiving range of node 4   130 . 
     According to an example embodiment, a second wireless node may be selected to perform anchor node operations for the first wireless node based on comparing the first and second sets ( 330 ). For example, node 4   130  may be selected to perform anchor operations for node 2   124  based on comparing the set of neighbors of node 2   124  and the set of neighbors of node 4   130 . For example, node 2   124  may select itself to perform anchor operations for itself based on comparing the set of neighbors of node 2   124  and the set of neighbors of node 4   130 . 
     According to an example embodiment, selecting the second wireless node may include the first wireless node selecting itself as the second wireless node to perform anchor node operations for the first wireless node based on determining whether each of the wireless nodes included in the first set is in a receiving range of the first neighboring anchor node based on comparing the first and second sets ( 332 ). For example, node 2   124  may select itself to perform anchor operations for itself based on comparing the set of neighbors of node 2   124  and the set of neighbors of node 4   130 . 
     According to an example embodiment, the second wireless node may be selected to perform anchor node operations for the first wireless node based on determining whether each of the wireless nodes included in the first set is in a receiving range of the first neighboring anchor node based on comparing the first and second sets ( 334 ). For example, node 2   124  may select node 4   130  to perform anchor node operations for node 2   124  based on determining that all of the neighbors of node 2   124  are included in the set of neighbors of node 4   130 . 
     According to an example embodiment, the second wireless node may be selected to perform anchor node operations for the first wireless node based on determining whether each of the wireless nodes included in the first set other than the first neighboring anchor node is in a receiving range of the first neighboring anchor node based on comparing the first and second sets ( 336 ). 
     According to an example embodiment, one or more indicators indicating that a third set of one or more wireless nodes is in a receiving range of the second neighboring anchor node may be received from a second neighboring anchor node by the first wireless node, wherein the second neighboring anchor node is in a receiving range of the first wireless node, and wherein selecting the second wireless node comprises selecting the second wireless node to perform anchor node operations for the first wireless node based on comparing the first, second, and third sets ( 340 ). For example, node 2   124  may determine that node 3   126  and node 4   130  are neighboring anchor nodes. For example, node 2   124  may receive indicators indicating corresponding anchor node sets from both node 3   126  and node 4   130 . Node 2   124  may then select a node to perform anchor node operations for node 2   124  based on comparing the three sets of wireless nodes, for example, to ensure that all neighbors of node 2   124  are covered by neighboring anchor nodes. 
     According to an example embodiment, a determination may be made of feasibility for the first node to perform anchor node operations for the network based on a determination of a power source of the first node, such as a mains or an AC power source for node 2   124 . Thus, for example, a first node may significantly reduce the power consumption of neighboring wireless nodes in the wireless network by performing anchor node operations for the neighboring wireless nodes to maintain network synchronization, for example, while one or more of the neighboring wireless nodes enter a hibernation state. 
     In an example WiMedia network, a basic timing structure for frame exchange may include a superframe.  FIGS. 4   a - 4   b  depict operations of transmission of superframes on a medium in a wireless network according to an example embodiment. 
     For example, a duration of an example superframe N  402  may be specified as mSuperframeLength. The superframe N  402  may include a start timing  404  which may be referred to as a beacon period start time (BPST). 
     The superframe may include multiple medium access slots (MASs)  408 , wherein each MAS duration may have a length of mMASLength. In the example of  FIG. 4   a , the superframe N  402  is shown as including of 256 medium access slots (MASs)  408 , although any desired number of MASs may be included in a superframe generally. 
     Each superframe may start with a beacon period (BP), which may extend over one or more contiguous MASs, which may be referred to as beacon slots  406 . The start of the first MAS in the BP, and the superframe, may thus be the beacon period start time (BPST). 
     According to an example embodiment, each superframe  402  may start with a BP, which may include a maximum length of mMaxBPLength beacon slots  410 . The first mSignalSlotCount beacon slots of a BP may be referred to as signaling slots  412  and may be used to extend the BP length of neighbors. An active mode device may, for example, transmit a beacon in the BP and listen for neighbor&#39;s beacons in all beacon slots specified by its BP length in each superframe  402 . When transmitting in a beacon slot  406 , a device may start transmission of the frame on the medium at the beginning of that beacon slot  406 . A device may announce its BP length, for example, measured in beacon slots, in its beacon. The announced BP length may include the device&#39;s own beacon slot and all unavailable beacon slots in the BP of the prior superframe. The announced BP length may not include more than mBpExtension beacon slots after the last unavailable beacon slot in the BP of the prior superframe. The announced BP length may not exceed mMaxBPLength  410 . According to an example embodiment, power-sensitive devices may not include any beacon slots after the last unavailable beacon slot in their announced BP length. 
     The BP length reported by a device may vary, as new devices may become members of its extended beacon group, and as the device or other devices in its extended beacon group select a new beacon slot for beacon collision resolution or BP contraction. 
     According to an example embodiment, before a device transmits any frames, it may scan for beacons for at least one superframe. If the device receives no beacon frame headers during the scan, it may create a new BP and send a beacon in the first beacon slot after the signaling slots. If the device receives one or more beacon headers, but no beacon frames with a valid frame check sequence (FCS) during the scan, the device may scan for an additional superframe. 
     If the device receives one or more beacons during the scan, it may not create a new BP. Instead, prior to communicating with another device, the device may transmit a beacon in a beacon slot chosen from up to mBPExtension beacon slots located after the highest-numbered unavailable beacon slot it observed in the last superframe and within mMaxBPLength after the BPST. For example, as shown in  FIG. 4   b , beacon slot  414  may be the highest-numbered unavailable beacon slot observed by DEV  8  in the last superframe. 
     According to an example embodiment, if a node or device detects a beacon collision, the node or device may select a different beacon slot for its subsequent beacon transmissions, for example, from up to mBPExtension beacon slots located after the highest-numbered unavailable beacon slot it observed in the last superframe and within mMaxBPLength after the BPST. If the beacon slot selected for its beacon transmission is located beyond the BP length of any of its neighbors, for example, the node or device may also transmit the same beacon, except with a Signaling Slot bit set to one, or some other indicator, in a randomly chosen signaling beacon slot in the BP. 
     According to an example embodiment, due to changes in a propagation environment, mobility, or other effects, devices using two or more unaligned BPSTs may come into range, which may cause overlapping superframes. A received beacon, with a valid header check sequence (HCS) and frame check sequence (FCS), for example, that indicates a BPST that is not aligned with a device&#39;s own BPST may be referred to as an alien beacon. For example, a BP defined by the BPST and BP length of an alien beacon may be referred to as an alien BP. 
     Synchronization problems, for example, may cause a beacon of a fast device to appear to be an alien beacon. Thus, according to an example embodiment, a device may consider a BPST to be aligned with its own if that BPST differs from its own by less than 2xmGuardTime. A device may consider an alien BP to overlap the device&#39;s own BP if its BPST falls within the alien BP or if the alien BPST falls within its own BP. 
     The protocols and facilities of an example embodiment may be supported, for example, by an exchange of information between devices. Information may, for example, be broadcast in beacon frames. For each type of information, an Information Element (IE) may be defined. IEs may be included by a device, for example, in its beacon at any time or may be requested or provided using an example Probe command. 
     An effective example technique to extend battery life of battery powered devices may enable devices to turn off completely or reduce power for long periods of time, where a period of time may be considered to be long relative to the duration of a superframe. 
     Examples of power management modes in which a device can operate include an active state and a hibernation state. Devices in active mode may transmit and receive beacons in every superframe. Devices in hibernation mode may hibernate for multiple superframes and may not transmit or receive in those superframes. Additionally, devices may sleep for portions of each superframe in order to save power. 
     To coordinate with neighbors, a device may, for example, indicate its intention to hibernate by including a Hibernation Mode IE in its beacon. The Hibernation Mode IE may specify the number of superframes in which the device will sleep and will not send or receive beacons or any other frames. 
     An example embodiment may be based on an assumption that in certain environments, a battery powered device may be positioned in the presence of a mains or an AC powered device. It may be desirable that such a mains or AC powered device may handle the network synchronization on behalf of battery powered devices. 
     An example embodiment may be based on a goal of having at least one anchor device among a group of devices powered only by batteries. Thus, the anchor device may maintain the synchronization in the network. According to an example embodiment, the anchor role may be rotated or shifted among eligible devices to divide the power consumption. 
       FIG. 5  is an example format of a beacon period occupancy information element  500  included in an example beacon according to an example embodiment. The example beacon period occupancy information element (BPOIE)  500  may include a beacon slot information bitmap indicating a status of beacon slots. The example beacon period occupancy information element (BPOIE)  500  may include device address information, for example, indicating a beacon slot information bitmap indicating a status of beacon slots. Each device or node in a wireless network may always include a BPOIE in its beacon. In the BPOIE the device or node may indicate beacons received from neighbors in the previous superframe, as well as information retained based on hibernation mode rules. Thus, a receiving node receiving the BPOIE may determine all nodes from which the sending node may receive transmissions, or neighboring nodes to the ending node, and may further determine which of those neighboring nodes are currently performing anchor node operations for the wireless network (i.e., anchor nodes). 
     According to an example embodiment, a device operating in accordance with WiNet may include in its beacon a WiNet Identification information element (IE) that includes an Active Cycle Start Countdown (ACSC) field indicating a current point in the device&#39;s current active cycle of 256 superframes. A device may thus select a wireless node to operate as an anchor for the device, for example, for a duration of an active cycle of the device. Thus, for example, the device may enter a hibernation state while the selected anchor node may stay awake to maintain network synchronization. 
     A device in a wireless network such as a WiNet network may always include a Beacon Period Occupancy Information Element (BPOIE) in its beacon. In the BPOIE the device may reflect beacons received from neighbors in the previous superframe, as well as information retained based on hibernation mode rules. 
     According to an example embodiment, the following rules may be applied in selecting an anchor device or network node for a first wireless node in the wireless network: 
     Determine whether a device may act as an anchor by applying rule as follows:
         Option 1: A device that is not a neighbor of an anchor may start acting as an anchor, if any of its neighbors is not included in any of its neighbors&#39; BPOIEs.   Option 2: A device that is a neighbor of an anchor may start or continue acting as an anchor, if any neighboring anchor nodes&#39; BPOIE in the previous superframe did not cover all the DevAddrs of the device&#39;s BPOIE.   Option 3: A device may start or continue acting as an anchor, if no neighboring nodes&#39; BPOIE in the previous superframe covered all the DevAddrs of the device&#39;s BPOIE.       

     During hibernation a network device may cease all operations on the medium including transmission of beacons. Thus, network synchronization may be lost. 
     Therefore, an example hibernation anchor protocol may enable wireless nodes to determine a connected set of anchors such that every wireless node is either in the radio range of an anchor or is itself an anchor. Wireless nodes may select their anchors, for example, once every anchor cycle (AC) at the beginning (within the first few superframes) of that AC according to the following rules. A wireless node may start a new AC, for example, every 2wMaxLocalCycleIndex superframes starting from its GCST. 
     According to an example embodiment, a wireless node may include its anchor cycle weight (ACW) in a WiNet Identification IE from the first superframe of an AC until the wireless node selects an anchor. Once a wireless node selects an anchor, it may announce its selected anchor by replacing its ACW with its AnchorAddr in all further beacons transmitted in the AC. 
     According to an example embodiment, a wireless node may select its anchor according to the following rules: 
     1) A wireless node may select itself to be an anchor at any time. 
     2) A mains-powered device or AC-powered device may select itself to be an anchor and may announce that selection in every superframe, including the first superframe of every AC. 
     3) A non-anchor device or wireless node for which a neighbor is an anchor may select that neighbor to be its anchor if: (a) a set including all of the DevAddrs included in the BPOIE fields of the beacons received from all neighboring anchors includes all the DevAddrs of the device&#39;s BPOIE field or (b) the BPOIE field of a beacon received from a neighboring anchor includes all the DevAddrs of the device&#39;s BPOIE field excluding that anchor&#39;s DevAddr. If two or more neighbors of the device announce themselves to be anchors, and any of the conditions (a) or (b) is satisfied, the device may select any one of the announced anchors. 
     According to an example embodiment, once a wireless node selects an anchor in an AC, it may not change that selection for the rest of that AC. A wireless node may remain in active mode until the negotiation is complete regarding the selection of anchor nodes. The negotiation may be considered complete after all neighbors of the wireless node announce their AnchorAddr, which may require a duration on an order of a few superframes. 
     According to an example embodiment, a wireless node may select itself to be an anchor if the wireless node has not selected a neighbor to be its anchor as described in rule 3 regarding a non-anchor device or wireless node for which a neighbor is an anchor discussed above. 
     The wireless node may select itself to be an anchor if it has not selected a neighbor to be its anchor as described in rule 3 regarding a non-anchor device or wireless node for which a neighbor is an anchor discussed above, within wMaxCycleWait superframes after the start of an AC. 
     According to an example embodiment, a wireless node may additionally apply the following rules: 
     1) A wireless node that is a neighbor of an anchor may stop acting as an anchor or does not need to start operating as an anchor, if any neighboring anchor nodes&#39; BPOIE in the previous superframe covered all the DevAddrs of the device&#39;s BPOIE. 
     2) If the BPOIE of the wireless node does not include all the devices in its neighbors&#39; BPOIEs, it may choose not to participate in hibernation anchor selection. 
     3) A mains-powered or AC-powered wireless node should act as an anchor. 
     The techniques discussed herein may ensure that wireless nodes select themselves as anchors whenever a topological arrangement of the wireless network indicates an advantage in that particular selection. The connectivity in the network may thus be maintained and hibernation of the network nodes may proceed without breaking the synchronization. 
       FIGS. 6   a - 6   c  depict example network topologies illustrating various selections of anchor nodes according to an example embodiment. 
       FIG. 6   a  depicts an example network topology in which three wireless nodes node 1   602 , node 2   604 , and node 3   606  are arranged in a row. In the example of  FIG. 6   a  as shown, each of the three wireless nodes was an anchor node during a previous round of anchor node selection. Each wireless node may select an anchor node according to the rules discussed previously. 
     Therefore, node 1   602  may receive a beacon from node 2   604  that includes a BPOIE that includes indicators of node 1   602  and node 3   606  as neighboring anchor nodes for node 2   604 . According to the selection rule 3-(a) discussed previously, node 1   602  may not select node 2   604  as its anchor, but according to rule 3-(b) it is clear that node 2   604  covers node 1   602 &#39;s neighborhood (e.g., only node 2   604  in this example). Thus, node 1   602  is free to hibernate. Similarly, node 3   606  is free to hibernate. 
     Node 2   604  may receive a beacon from node 1   602  that includes a BPOIE that includes an indicator of node 2   604  as a neighboring anchor node for node 1   602 . Node 2   604  may also receive a beacon from node 3   606  that includes a BPOIE that includes an indicator of node 2   604  as a neighboring anchor node for node 3   606 . According to rule 3-(a) node 2   604  may not select node 1   602  or node 3   606  as its anchor, since their BPOIEs include only node 2   604 . Results of applying rule 3-(b) indicate a similar result: node 1   602  does not cover node 3   606  and vice versa. Thus, node 2   604  may be selected as an anchor. 
       FIG. 6   b  depicts an example network topology including four wireless nodes node 1   602 , node 2   604 , node 3   606 , and node 4   608 . In the example of  FIG. 6   b  as shown, each of the four wireless nodes was an anchor node during a previous round of anchor node selection. Each wireless node may select an anchor node according to the rules discussed previously. 
     Therefore, node 1   602  may receive a beacon from node 2   604  that includes a BPOIE that includes indicators of node 1   602 , node 3   606 , and node 4   608  as neighboring anchor nodes for node 2   604 . Node 1   602  may also receive a beacon from node 4   608  that includes a BPOIE that includes indicators of node 1   602 , node 2   604 , and node 3   606  as neighboring anchor nodes for node 2   604 . According to rule 3-(a) node 1   602  may select either node 2   604  or node 4   608  as its anchor, since the set of indicators of neighboring nodes included in their BPOIEs covers node 1   602 &#39;s neighbors (i.e., node 2   604  and node 4   608 ). According to rule 3-(b) a similar conclusion may be reached. Thus, node 1   602  is free to hibernate, as is node 3   606 . 
     Node 2   604  may receive a beacon from node 1   602  that includes a BPOIE that includes indicators of node 2   604  and node 4   608  as neighboring anchor nodes for node 1   602 . Node 2   604  may also receive a beacon from node 3   606  that includes a BPOIE that includes indicators of node 2   604 , and node 4   608  as neighboring anchor nodes for node 3   606 . Node 2   604  may also receive a beacon from node 4   608  that includes a BPOIE that includes indicators of node 1   602 , node 2   604 , and node 3   606  as neighboring anchor nodes for node 4   608 . Two alternatives may then be considered: either node 1   602  and/or node 3   606  is still an anchor node, or either node 1   602  and/or node 3   606  is no longer an anchor node. 
     If node 1   602  and/or node 3   606  is still an anchor node, then rule 3-(a) may be applied for node 2   604 , which indicates that the set of indicators of the BPOIEs of node 1   602  and node 4   608 , or the set of indicators of the BPOIEs of node 3   606  and node 4   608  cover node 2   604  and its neighbors. Additionally, if rule 3 (b) is applied, node 4   608  may be indicated as covering node 2   604  and its neighbors. Node 3   606  may then be free to hibernate, if desired. 
     If either node 1   602  and/or node 3   606  is no longer an anchor node, then rule 3-(a) may be applied for node 2   604 , which indicates that the set of indicators of the BPOIEs of node 4   608  does not cover enough. However, if rule 3 (b) is applied, node 4   608  may be indicated as covering node 2   604  and its neighbors. Node 3   606  may then be free to hibernate, if desired. 
       FIG. 6   c  depicts an example network topology including three wireless nodes node 1   602 , node 2   604 , and node 3   606 , all within the same range. In the example of  FIG. 6   c  as shown, each of the three wireless nodes was an anchor node during a previous round of anchor node selection. Each wireless node may select an anchor node according to the rules discussed previously. 
     Therefore, node 1   602  may receive a beacon from node 2   604  that includes a BPOIE that includes indicators of node 1   602  and node 3   606  as neighboring anchor nodes for node 2   604 . Node 1   602  may also receive a beacon from node 3   606  that includes a BPOIE that includes indicators of node 1   602  and node 2   604  as neighboring anchor nodes for node 3   606 . According to rule 3-(a) node 1   602  may select either node 2   604  or node 3   606  as its anchor, since the set of indicators of neighboring nodes included in their BPOIEs covers node 1   602 &#39;s neighbors (i.e., node 2   604  and node 4   608 ). A similar conclusion may be reached by applying rule 3-(b). Thus, node 1   602  is free to hibernate. 
     Thus, anchor nodes may be selected based on network topology such that network synchronization may be maintained via neighboring anchor nodes in the network. 
       FIG. 7  is a block diagram illustrating an apparatus  700  that may be provided in a wireless station according to an example embodiment. The wireless station may include, for example, a wireless transceiver  702  to transmit and receive signals, a controller  704  to control operation of the station and execute instructions or software, and a memory  706  to store data and/or instructions. Controller  704  may be programmable, and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above. In addition, a storage medium or computer readable medium may be provided that includes stored instructions, that, when executed by a controller or processor, may result in the controller (e.g., the controller  704 ) performing one or more of the functions or tasks described above. 
     Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or computer readable medium or in a propagated signal, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor or multiple processors, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. 
     Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). 
     While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.