WO2011128475A1 - Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema - Google Patents

Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema Download PDF

Info

Publication number
WO2011128475A1
WO2011128475A1 PCT/ES2011/000128 ES2011000128W WO2011128475A1 WO 2011128475 A1 WO2011128475 A1 WO 2011128475A1 ES 2011000128 W ES2011000128 W ES 2011000128W WO 2011128475 A1 WO2011128475 A1 WO 2011128475A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
network
stage
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/ES2011/000128
Other languages
English (en)
French (fr)
Inventor
Marti MAÑOSAS CABALLÚ
Gonzalo Seco Granados
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitat Autonoma de Barcelona UAB
Original Assignee
Universitat Autonoma de Barcelona UAB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universitat Autonoma de Barcelona UAB filed Critical Universitat Autonoma de Barcelona UAB
Priority to ES201290075A priority Critical patent/ES2396766B1/es
Publication of WO2011128475A1 publication Critical patent/WO2011128475A1/es
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access
    • H04W74/06Scheduled access using polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/24Cell structures
    • H04W16/28Cell structures using beam steering

Definitions

  • the present invention concerns, in a first aspect, a distributed beam forming method in wireless node networks, and more particularly a method that allows to continue with an initiated synchronization cycle, even if one or more of the cancellation occurs said wireless nodes.
  • the present invention concerns a system intended to implement the method proposed by the first aspect.
  • a third aspect of the invention concerns a wireless node intended to constitute, together with other similar or similar wireless nodes, the system proposed by the second aspect of the invention.
  • a fundamental problem in ad-hoc wireless networks and wireless sensor networks is to achieve energy efficient communication.
  • one of the current challenges lies in sending a common message to a distant base station by a group of distributed nodes or sensors with power restrictions.
  • a solution to this problem is known as distributed beam shaping or distributed beamforming.
  • Beam shaping is a technique that allows a transmitter equipped with more than one antenna to focus its signal in a certain direction, obtaining clear energy benefits.
  • each transmitter is equipped with a single antenna.
  • cooperatively working the transmitters can emulate a cluster of antennas and behave like a "distributed beam shaper".
  • the signals arrive at reception coherently, that is, forming a constructive interference of the information sent by the different sensors.
  • the gain measured as the increase in signal to noise ratio for the same total transmitted power, is equal to the number of sensors that make up the network.
  • Ensuring simultaneity at the destination offers a greater degree of freedom: it allows to use codes with high transmission rates as there is no mismatch between symbols of the different signals at the destination. If a protocol does not offer simultaneity, then small mismatches can occur between signals at the destination, resulting in an imperfect sum of the symbols in reception. This decoupling between symbols worsens for high transmission rates.
  • the sensors can disappear without any kind of prior warning, as for example it is the case that a sensor breaks down and, therefore, does not have the capacity to send a prior notice of disconnection, so that the rest of the network components are aware of their cancellation and act accordingly.
  • the present invention offers a solution to the objective technical problem posed, for which it concerns, in a first and second aspects, a method and a beam shaping system distributed in wireless node networks that allows smooth operation regardless of the disappearance of some nodes in the network, that is, it is planned to work dynamically, determining possible node cancellations and preventing them from interrupting the indicated synchronization process, which makes it a much more flexible proposal than those described in the aforementioned background, which allows the nodes to be able to disconnect voluntarily at any time.
  • the present invention concerns, in a first aspect, a method of forming a distributed beam in wireless node networks, which comprises performing the following steps.
  • b) performing a first synchronization stage comprising sending, sequentially, each of said wireless nodes, after receiving said beacon signal, a respective time reference signal to at least one consecutive node, or closer, according to a first sense in a cycle of ascent, starting with a first node of said network;
  • c) performing a second synchronization step comprising sequentially sending each of said wireless nodes, a respective temporary reference signal to at least one consecutive node, or closer, according to a second direction, opposite to said first direction, in a down cycle, starting with the last node of said network.
  • At least steps a), b) and c) are carried out in order to carry out a stage d) comprising sending, after said stage c), by each of the wireless nodes, a respective signal containing a message common, distributed, to the base station, in a synchronized phase, frequency and arrival time (such as a symbol synchronization), so that all the signals received in a constructive way can be added to it.
  • the method proposed by the first aspect of the invention comprises determining that at least one of the wireless nodes has caused the network to drop if at least its respective consecutive node has not received the respective time reference signal from it, in step b) or stage c), after a predetermined waiting time, and sending, after said determination, by said consecutive node, its respective temporary reference signal to the next node, in said cycle of rising of said stage b) or in said descent cycle of said stage c).
  • said predetermined waiting time is substantially equal to 2-tp for each node that has caused a low, and of m-2-tp for m consecutive nodes that have caused a low, if applicable, tp being a time estimated maximum propagation between any two nodes of the network, which is given by the maximum distance between the nodes and the speed of propagation of the signal.
  • this is, in general, a logical position known by the respective node, said first and last nodes having the first and last logical positions, respectively.
  • each node will be used to indicate whether a node is inferior or superior to another, regardless of whether the up or down cycle is being performed.
  • the method comprises broadcasting the time reference signals in steps b) and c), so that these are also received by the other nodes of the network, in addition from by the consecutive node to which they are explicitly addressed, in which case the method comprises carrying out the determination that at least one node has caused the addition in addition to said consecutive node, also in each of the other nodes of the network, if upon receipt (at each node of the network) of the temporary reference signal broadcast by the previous node to which it may, or to those who may have caused cancellation, said predetermined waiting time elapses without receiving another temporary reference signal.
  • the method comprises, for an exemplary embodiment, after said determination of the withdrawal of at least one sensor, updating the network composition in each of the nodes of the network that has not caused cancellation, at least as regards the total number of live nodes and status of each of the nodes, and also update its new logical position in the network, only for the superior nodes with respect to which it has caused cancellation, in any of said first and second senses, that is to say for the nodes with a logical position higher than the one that caused cancellation.
  • the method proposed by the present invention comprises counting, by means of an internal counter of each node, the number of received signals, including the signal of beacon broadcast by the base station and the temporary reference signals broadcast by the other nodes, to know, each node, taking into account at least its logical position, when it is your turn to consider that the received temporary reference signal is explicitly addressed to it and to carry out the subsequent sending of its temporary reference signal in said stage b) and / or in said stage c).
  • the method comprises that the penultimate node take the role of said last node and should only send a temporary reference signal, the already sent in the ascent cycle, and when the last to last node determines said termination of the last node, produced in the ascent cycle of stage b), the method comprises considering, by said second to last node, that the temporal reference signal broadcast by the penultimate node in stage b) it is part of the sending of the descent cycle of stage c) and is directed to said second to last node.
  • step b) If the determination of the cancellation of one or more nodes is carried out in step b), that is, during the upload cycle, the method comprises carrying out step d) of sending the common message in a distributed manner, by means of all the nodes that do not They have caused low.
  • step c) if the determination of the cancellation or cancellation of nodes is carried out in step c), that is to say in the descent cycle, the method comprises canceling the realization of stage d) at least as regards the subsequent nodes ( with a lower logical position) than the one that caused the loss, according to said second direction.
  • the method comprises using, in steps b) and c), time reference signals dependent on the beacon signal broadcast by the base station, as is the case of the proposal made in [Br008], for a more preferred embodiment, the method comprises using, in steps b) and c), time reference signals independent of the beacon signal, in order to improve, in comparison with [Br008], time synchronization of arrival, or symbol, of the signals containing the common message sent in a distributed way to the base station, each node making an estimate of the initial phase and the frequency of the beacon sent by the base station in step a), and using both values to generate its carrier during the distributed beam conformation stage, to perform the phase and frequency synchronization, in stage d), of the respective signals containing the common message sent by each of the nodes, distributed, to the base station.
  • said temporal reference signals contain at least one pulse or one pulse, unlike those used by [Br008] which are sinusoidal in nature.
  • the method comprises using the temporary reference signals sent by the nodes to perform the synchronization in the three indicated signal characteristics, but these are especially used to perform the synchronization at the time of arrival at the base station of the respective containing signals of the common message sent, in step d), by each of the nodes, which is carried out, in general, by determining the time at which each node must send its respective containing signal of the common message in step d), without any communication from the nodes to the base station.
  • the method comprises making a preliminary calculation, in each node, of a delay that goes from the end of the reception of the beacon signal from the base station until the end of the reception of the temporary reference signal sent by the immediately previous node, in step b), if it has not caused cancellation, determining that said moment of sending the common message is equal to the time in which the node in question has finished sending its respective temporal reference signal, in step c), plus said calculated delay r.
  • the method comprises determining that said moment in which each node must send its respective signal containing the common message is the same, if at least a node with a lower logical position has caused a drop in stage b), while the node in question has finished sending its respective time reference signal, in step c), plus a corrected delay ⁇ resulting from subtracting a value of temporary error e, at a delay of 7 "that goes from the end of the reception of the beacon signal until the end of the reception of the temporary reference signal sent by a node that has not caused cancellation in step b) with a logical position lower immediately before the node in question but higher than the one that caused the cancellation.
  • said temporary error value e it is substantially equal to m-2tp, with tp in general being an estimated propagation time between two nodes, and m the number of consecutive nodes that have caused low, although for an embodiment example for which the signals sent have a frequency in the range of the THz, each node generates its own tp on its own time scale.
  • Such delay correction is valid for each node after at least one "live” node, that is to say that it has not caused termination, arranged between the "dead” node, which has caused termination, and the node in question or later, since when it receives the temporary reference signal sent by said intermediate "live” node, in the calculation of the delay f the predetermined waiting time required to determine the withdrawal of one or more nodes is accumulated.
  • the method comprises determining that said moment at which each node must send its respective signal containing the common message is the same, if at least one node with a lower logical position and immediately prior to the node in question it has caused the cancellation in stage b), at the time in which the node in question has finished sending its respective temporal reference signal, in said stage c), plus a corrected delay ⁇ resulting from subtracting a temporary error value e ⁇ At a delay f that goes from the end of the reception of the beacon signal to the end of the course of said predetermined waiting time without receiving a temporary reference signal.
  • a double objective is achieved, a first objective related to correctly performing the interchange of temporal reference signals between nodes, that is, in preventing the system from being blocked and in updating the vision of the network of each node, and a second objective that lies in correcting the values of temporary delays that are deduced during the synchronization process, in the case where nodes disappear.
  • the method proposed by the first aspect of the invention allows for beam shaping distributed in a network with power restrictions and unknown topology. It is important to note that communication from the nodes to the base station is not necessary at any time during the synchronization stages, until the sending of the common message.
  • a second aspect of the invention concerns a distributed beam shaping system in wireless node networks, comprising:
  • Y a base station intended to broadcast a beacon signal by one or more omnidirectional antennas
  • each of said wireless nodes being provided to receive said beacon signal and to send a respective signal containing a common message, distributed, to the base station, in a synchronized manner in phase, in frequency and at the time of arrival, so that in it all the signals received in a constructive way are added.
  • the system proposed by the second aspect of the invention is configured to implement the method proposed by the first aspect of the invention.
  • each of the wireless nodes comprises an omnidirectional antenna through which to send the steps of stages b) and c), and at least one processing unit provided for as minimum determine that one or more wireless nodes have caused low, said processing unit having access to a memory, and ability to register in said memory data referring to the total number of nodes that make up the network, the state of the same, by For example, a vector of states, and to the logical position that the node in question occupies in the network, the processing unit also being provided to update said data after the determination that one or more nodes have caused cancellation.
  • the processing unit of each of the nodes is also provided, for an exemplary embodiment, to determine the moment in which the node must send its respective signal containing the common message in step d), performing all the necessary calculations, for ensure said synchronization at the time of arrival at the base station of the respective signals containing the common message sent, in step d), by each of the nodes.
  • Both the acquisition of said data referring to the total number of nodes that make up the network, their status, and the logical position, and their update if necessary, such calculations that determine when the node should send its respective signal containing the common message, are carried out by using one or more algorithms implemented in the processing unit of each node, some of which will be described in detail in a later section of this description.
  • the wireless nodes are mobile and / or are wireless sensors, in which case the wireless network is an ad hoc network containing an arbitrary number of wireless sensors.
  • a third aspect of the invention concerns a wireless node applicable to a distributed beam shaping system in wireless node networks, and which is intended to constitute, together with other similar or similar wireless nodes, the system proposed by the second aspect of the invention.
  • Fig. 1 is a schematic diagram illustrating, by means of three corresponding views, steps a), b) and c) of the method proposed by the first aspect of the invention, for an exemplary embodiment, using a base station and wireless nodes of the system proposed by the second aspect of the invention;
  • Fig. 2 shows a temporal scheme of the tasks performed in each time interval or timeslot in steps a) to d) of the method proposed by the first aspect of the invention
  • Fig. 3 is a flow chart of the actions to be performed by any node of the system network proposed by the second aspect of the invention, in case of not contemplating casualties in the system;
  • Fig. 4 shows a flow chart of the actions to be performed by any node of the network each time a beacon is received, for an example of embodiment of the method proposed by the present invention
  • Fig. 5 shows another flow chart, in this case of the actions to be performed by any node of the network every time a predetermined waiting time is exceeded without receiving beacons.
  • Fig. 1 shows a series of wireless nodes, in particular sensors, indicated as Si, S 2 ... Sj ... S N , and a base station D 0 , all of them forming part of the system proposed by the second aspect of the invention, and by which the method proposed by the first aspect of the invention is implemented.
  • step a) of the method is illustrated in the left view of Fig. 1, in which the base station D 0 broadcasts a beacon signal to the wireless sensors S 1 f S 2 ... S j .. .S N , in the central and right views, steps b) and c), respectively, corresponding to the time reference signal sendings in respectively, an up and down cycle are illustrated respectively.
  • each temporary reference signal sending has been illustrated by a single arrow directed to the next node, as explained in a previous section, for a preferred embodiment the signal sent by each one of the nodes is received by all the nodes Yes, S 2 ... Sj ... S N of the network, since it is transmitted by broadcasting.
  • beacons will be referred to both the beacon signal broadcast by the base station D 0 and the time reference signals exchanged, by broadcasting, between the sensors S ⁇ S 2 ... S j ... S N.
  • Fig. 2 the different signals sent in steps a) to d) and their order are illustrated by means of a time scheme formed by respective intervals or time slots, indicated by the steps of the method in which They find included.
  • a beacon is sent, starting with the one sent by the base station in TS 0 , and in the last Time interval, TS BEAM , the information is sent to the destination as a distributed beam shaper, in step d).
  • the ascent cycle which is carried out from TS 0 to TS N-1 , that is during stage b
  • the descent cycle which is carried out from TS N to TS 2N-2 , that is during stage c).
  • each sensor S ⁇ S 2 ... S j ... S N calculates the time delay previously referred to as r, which added to the time at which each sensor has finished sending its respective beacon, in step c), determines the moment in which the sensor in question must send the signal containing the common message to the base station D 0 .
  • FIG. 3 A flowchart of the actions to be followed by each node or sensor of the network is shown in Fig. 3 when there are no casualties, which are described below, from the box labeled "Start" in the diagram of Fig. 3.
  • A1 In this box the node checks whether or not it has received a beacon (either from the base station or any other node). If the answer is yes, go to box A2, and if it is negative, the action indicated by this box is executed over and over again, until it offers an affirmative answer.
  • a beacon either from the base station or any other node.
  • A2 In this box the node questions whether the received beacon is the first, that is, the one coming from the base station. If so, go to box A3, and if the answer is negative, turn to A4.
  • A3 The action carried out in this box by the node is to initiate the time count that will allow the calculation of the delay r, as described above, and move on to box A4, that is, continue With the protocol.
  • A4 The dilemma represented by this box raises the question of whether it is the first turn of the node in question. If so, go to box A5, and if not, the AIO.
  • A5 In this box the node for the time account initiated in A3, assigning to delay r the value indicated by said account that, as indicated above, the node will wait to send the signal containing the common message, since send your beacon in the descent cycle, or second cycle.
  • A6 This box is used to check if the node is the last one or not. If yes, go to box A7, and if not, to A9.
  • A7 In this box the node sends a beacon that, being the last node will correspond to the descent cycle.
  • A8 The node sends, in this box, its signal containing the common message to the base station after waiting for the delay ⁇ after sending A7.
  • A9 The node is executing the action corresponding to this box, because it is not the last one, taking into account its logical position, so that action consists of sending the beacon in the upload cycle, after which the actions to perform, that is, go to the "end" box.
  • A10 After checking that it is not the first turn of the node, the dilemma is reached represented by this box, which raises the question of whether the node is the last node. If yes, it ends its actions, and if not, it goes to box A11.
  • the method comprises being carried out by means of a flow chart like that of Fig. 3 but without the box A10, which has been preserved in the embodiment example of Fig. 3 for the reasons stated regarding its implementation in programming code.
  • A1 1 In this box the node, which is not in its first cycle or occupies the last logical position, wonders if it is its second turn. If not, it ends its actions, and if the answer is affirmative, it goes to box A12 .
  • A12 This box is used to check if the node is the first one or not. If yes, go to box A13, and if not, to A14.
  • A13 In this box the node sends its signal containing the common message to the base station without waiting for the delay r, since theoretically it should be zero when it is the first node.
  • A14 In this box the node sends its beacon in the descent cycle.
  • A15 In this box the node sends its signal containing the common message to the base station after waiting for delay r after sending A14, which delay will have been calculated in its first cycle, that is, when a previous execution of the flow chart has taken to box A5. After this box the node ends its actions.
  • Fig. 3 The flowchart of Fig. 3 just described does not take account of node cancellations, so it is representative of the system proposed by the second aspect of the invention that, although adapted to implement the method proposed by the first aspect, is also capable of implementing the most basic actions illustrated by Fig. 3, when node casualties occur. Also this Fig. 3 and its corresponding description is representative of an example of embodiment of the preferred case mentioned in the explanation section of the invention, related to the improvement of the efficiency in the synchronization of phase, frequency and time of arrival at the station base of the signals containing a common message sent by each of the wireless nodes, in a distributed manner, regardless of whether or not the sensor is low.
  • each sensor must have an internal counter that increases its value at the end of the reading of a received beacon. Thanks to this counter, a sensor can know how many beacons have been sent and can deduct the turn of each sensor in the network. The actions of the flowchart in Figure 4 begin each time the counter increases its value.
  • each of the variables or elements referred to in said flow diagrams should be clarified, starting with the state vector, which specifies, for each node, whether it is alive or not. If there are N nodes in the network the state vector has N positions, and in each of them a 1 or a 0 appears depending on whether the node is alive or not.
  • the variable that counts the number of nodes in the network only specifies how many nodes are alive, and depending on this value the state vector goes changing its size when it's your turn.
  • the logical position variable of a node attributes a logical position to the node. When nodes with higher position die this variable does not change. But when nodes with lower position die, all nodes positioned above reduce their logical position so that there is no gap between two live nodes.
  • each sensor has different variables to count time.
  • One variable is essential to count delays ⁇ and r ", and another to count the elapsed time At since the reception of the last beacon.
  • the actions of the flowchart in Fig. 5 begin each time the variable At exceeds integer multiples of 2 -tp.
  • beacon or temporary reference signal Each time a node receives a beacon or temporary reference signal, this algorithm is activated, since said reception indicates that there is a live node sending it and thus serves to update the system casualties, in addition to performing the actions of the diagram in Fig. 3 in case there are no casualties.
  • beacon and temporal reference signal since it is not necessary that both types of signals have different shapes, although this is configured to work whatever the forms of the temporary reference signals and the signals of beacon sent by the base station.
  • beacon from the base station
  • start of the protocol represented by said flow diagram also called dynamic synchronization protocol.
  • temporary reference signals allow the network update and protocol monitoring.
  • B1 In this box the node checks whether or not it has received a beacon (either from the base station or any other node). If the answer is yes, go to box B2, and if it is negative, the action indicated by this box is executed over and over again, until it offers an answer affirmative.
  • a beacon either from the base station or any other node.
  • B2 In this box the node for the At time count to count dead nodes, since it has received a beacon from a live node.
  • B3 The action carried out in this box by the node is to check whether the beacon received is the first or not. If it is the first beacon then just start the synchronization protocol and start, in B4, the ⁇ account because it is the beacon of the base station. If not, what happens is that the received beacon is a temporary reference signal and means that the protocol is already in full execution.
  • B5 The node checks if it is in the upload cycle and if the turn is of a node with a lower logical position. If you are in the upload cycle and it is up to a lower node, you will go to box B6 to perform the corresponding actions in this case.
  • B6 In this box it is checked whether there have been any node cancellations, in this case for nodes with lower logical positions than the one that sent the beacon, by checking the value of At whose account has been stopped at B2. If there are one or more dead nodes, go to box B7, and if not, directly to B8.
  • B9 The node checks if it is its first turn, in which case it goes to box B10. If not, go to box B19.
  • the node When the node has received a beacon explicitly addressed to it, either from the immediately preceding node, that is to say with a lower logical position, or that of the base station in the case of being the first node, that is to say its first turn, or turn of the climb cycle, this, the node for the time count that will allow the calculation of the delay r B11: Here the node checks if it is the last node. If so, it should be taken into account that the node will only send a beacon and that therefore the instant it is sent is the reference time that the node has to start counting the previously calculated time until the message is sent to the base station (beamforming). If it is not the last node, it is not necessary to comment, and therefore it jumps to box B17.
  • B12 In this box the node checks if, in addition to being the last one, it is also the first node, that is to say that it is the only node, because all the others have disappeared in some synchronization cycle.
  • B13 Having verified the node that is the only live node, here it proceeds to send the signal containing the common message to the base station, after which it terminates its actions.
  • B14 Being the last but not the only node, in this box it proceeds to broadcast the only beacon to be sent because it is the last node, already in the descent cycle.
  • the method comprises being carried out by means of a flow chart such as that of Fig. 4 but without the boxes B19 to B24, which have been preserved in the embodiment example of Fig. 4 for the reasons stated regarding its implementation in programming code.
  • B20 In this box the node checks if it is in the descent cycle and the turn is of a lower node. If not, the node ends its actions. If yes, it goes to box B21. In fact, the answer will always be affirmative because there are no more options, but adding the condition makes everything more schematic.
  • B21 Here the node checks if there have been casualties in the network, in this case for nodes with higher logical positions than the one that sent the beacon, by checking the value of M whose account has been stopped at B2. If there have been, go to box B22 and if not, directly to B23.
  • B23 Here the node checks if the received beacon is from node 2. In this case, once the node variables have been updated, if necessary, it is necessary to see if the At time count should be started or not. If the beacon comes from node 2 then it is no longer necessary to start the At time count because node 1 does not resend no beacon, but instead sends the message to the base station (beamforming). In this case the node ends its actions.
  • B24 If the beacon does not come from node 2 then the node expects more beacons and that is why here the node starts the At time count, because it had received a beacon and is waiting for another to update its vision of the network, after which it ends its actions along this path.
  • B26 Here the node checks if there have been any node cancellations in the network, in this case for nodes with lower logical positions than the one that sent the beacon, by checking the value of At whose account has been stopped at B2 .
  • B28 Here the node starts the At time count, because it had received a beacon and is waiting for another to update its network vision, after which it ends its actions along this path.
  • B29 In this box the node checks if it is in the descent cycle and the turn is of some superior node. If yes, go to box B30, and if not, B34.
  • B30 Here the node checks if there has been any node cancellation in the network, in this case for nodes with higher logical positions than the one that sent the beacon, by checking the value of At whose account has been stopped at B2 . If there are one or more dead nodes, go to box B31, and if not, directly to B33.
  • the node deactivates, here, the sending of the signal containing the common message to the base station, since as there have been node cancellations in the descent cycle, it is not possible to correct the delay r. And since the casualties have been of nodes with a logical position superior to that of the node that is executing the algorithm, it is still time to deactivate said sending, since it has not begun.
  • a node deactivates the sending it is deactivated during the entire synchronization cycle. I mean once deactivated, said node will not be able to send even if requested in any of the flowchart boxes.
  • B33 Here the node starts the At time count, because it had received a beacon and is waiting for another to update its network vision, after which it ends its actions along this path.
  • B34 The node checks if it is its second turn. If yes, go to box B35, and if not, B40.
  • B35 The node checks in this box if it is the first node.
  • B36 Here the node that has verified that it is the first, proceeds to send the signal containing the common message to the base station, after which it terminates its actions.
  • B39 The node starts the At time count again, because it had received a beacon and is waiting for another to update its network vision, after which it ends its actions along this path.
  • B40 In this box the node checks if it is in the descent cycle and the turn is of a lower node. If not, the node ends its actions. If yes, it goes to box B41. In fact, the answer will always be affirmative because there are no more options, but by adding the condition everything is more schematized).
  • B41 Here the node checks if there have been casualties in the network, in this case for nodes with higher logical positions than the one that sent the beacon, by checking the value of At whose account has been stopped at B2. If there have been, go to box B42 and if not, directly to B43.
  • B43 Here the node checks if the received beacon is from node 2. If the beacon comes from node 2 then it is no longer necessary to start the time count ⁇ because node 1 does not send any beacon again, but instead sends the message towards the base station (beamforming). In this case the node ends its actions.
  • B44 If the beacon does not come from node 2 then the node expects more beacons and that is why here the node begins the At time count, because it had received a beacon and is waiting for another to update its vision of the network, after which it ends its actions along this path.
  • this algorithm is intended to address only very specific cases of disappearances of nodes that influence negatively in the operation of the protocol if its consequences are not taken into account. These cases are the disappearance of node 2 during the second synchronization cycle and the disappearance of the last node.
  • C2 The node begins by increasing the unit that counts the dead nodes by one unit, since the limit wait has been exceeded and therefore it has been determined that one or more nodes have been dropped.
  • C5 Here the node checks if it is the first live node since the last one that sent a beacon, in which case it performs the actions that begin with box C6. If this is not the case, no other update is necessary or the protocol must be followed, since it must be done by another node with a turn before the one that is executing the algorithm, so the node ends the actions to be performed here.
  • C6 As the node is the first live, it becomes its first turn, so it is as if it has just received the beacon of the previous node during the upload cycle and therefore has to stop, at this point, the account of time that will allow the calculation of the delay
  • C7 Since it is the first live node and is in the first cycle, it no longer expects more nodes to die before its turn, and updates the temporary error that can be used to obtain the corrected delay r. As a node with a lower position has died, and by not waiting for more nodes to die before its turn, the node updates its new logical position, which will be reduced, in addition to the number of nodes in the network.
  • the node After the indicated updates, here the node checks if it is the last one, in which case it must be taken into account that you only have to send a beacon, and therefore the moment of sending it is your reference time to start counting the previously calculated time r, until the signal containing the common message is sent to the base station. If it is not the last sensor, it is not necessary to comment.
  • C9 The node checks at this point if it is the one that occupies the first logical position in the network, that is, if it is the only node left alive, because all the others have disappeared in some synchronization cycle.
  • C12 Here the node sends, by broadcasting, the only beacon to be sent, as it is the last node, which corresponds to the descent cycle.
  • C1 The node restarts the At time count at this point because it has already made all the updates corresponding to the missing node / nodes, and has just sent a beacon, so it has to start counting dead nodes again.
  • C15 Since arriving at this box means that it is the first turn of the node, it proceeds to broadcast the first beacon of the synchronization protocol, the one corresponding to the upload cycle.
  • C16 Here the node restarts the At time count because it has already made all the updates corresponding to the missing node / nodes, and has just sent a beacon, so it has to start counting dead nodes again.
  • the method comprises being carried out by means of a flow chart like that of Fig. 5 but without boxes C18 to C22.
  • C19 As a node has disappeared, the node that executes the algorithm updates the state vector.
  • C26 As a node with a higher position has died, and not expecting more nodes to die before its turn, the node updates only the number of nodes in the network.
  • C27 Here the node checks if, in addition to the last one, it is also the first node, that is, the only one left alive because all the others have disappeared in some synchronization cycle.
  • C30 At this point, which is reached because the node is not the only one left alive, it sends the message to the base station after a time ⁇ corrected according to the casualties. As the node is the last one, it must be taken into account that it only sends a beacon, and in this case it has already been sent in the upload cycle. Therefore, the instant it is sent is the reference time used by the node to start counting the previously calculated time r, until the message is sent to the base station.
  • C31 The node restarts the At time count here because it has already made all the updates corresponding to the missing node / nodes, and it is as if it had just sent a beacon. You have to start counting dead nodes again. After that, he ends his actions along this path.
  • C32 The node checks at this point if the last node disappears it has become the penultimate live node. If so, perform the corresponding actions in this case, starting with the one associated with box C33. If this is not the case, other possible critical cases are analyzed within this branch which has been entered by point C23. If the node has determined that it is the penultimate live node, it must be taken into account that the now last one has already sent a beacon, and that therefore it is now the turn of the node that executes the algorithm.
  • C33 As a node with a higher position has died, and not expecting more nodes to die before the turn of the node executing the algorithm, it updates only the number of nodes in the network.
  • C34 The node checks if, in addition to the penultimate, it is the first node, if so it goes to box C35, and if not, to C37.
  • the node Being its second turn, the node sends the message to the base station after a time corrected according to the casualties.
  • C39 The node here restarts the At time count because it has already made all the updates corresponding to the missing node / nodes, and has just sent a beacon. You have to start counting dead nodes again. After that, he ends his actions along this path.
  • C40 The node checks in this box if the last node has disappeared but it is neither the last nor the penultimate live node. If so, it is necessary to update to protect the case in which the penultimate also disappears during the descent cycle. The discharge of the penultimate node would mean that, when no beacon was received from it, the first algorithm, that of Fig. 4, was not activated and the number of nodes in the network was not updated. If the cancellation does not correspond to the last node, no further updates are necessary and the execution of actions by the node is completed here.
  • C41 As the last node has died, and when more nodes can disappear before the turn of the node that executes the algorithm, it updates only the number of nodes in the network.
  • no other update is necessary or follow the protocol, since it must be done by another node with a turn prior to yours (with a higher logical position). Since the node does not send any other beacon at the moment because there are live nodes between its position and that of the last node (which has died), it does not restart the At account and let it continue counting.
  • C42 Here the node checks if it is in the descent cycle and the turn was of some superior node. If the answer is yes, go to box C43 and if not, to C51.
  • C44 The node checks here if it is the first live node since the last one that sent a beacon. If so, proceed to box C45, and if not, no other update is necessary or follow the protocol, since it must be done by another node with a turn prior to yours, so the node ends its actions.
  • C45 Since the node is the first one alive, it deactivates the sending of the message to the base station since, as there have been nodes withdrawals in the descent cycle, the node is not able to correct the delay r. And as the casualties have been of nodes with a logical position superior to that of the node that executes the algorithm, it is still time to deactivate the sending, because it has not started.
  • C46 As a node with a higher position has died, and not expecting more nodes to die before the turn of the node executing the algorithm, it updates only the number of nodes in the network.
  • C49 As it is the second turn of the node, it broadcasts the second beacon of the synchronization protocol, the one corresponding to the descent cycle.
  • C50 The node here restarts the At time count because it has already made all the updates corresponding to the missing node / nodes, and has just sent a beacon. You have to start counting dead nodes again. After that, he ends his actions along this path.
  • C51 The node checks at this point if it is in the descent cycle and the turn was of a lower node. If so, the node performs the corresponding actions in this case, starting with point C52. If not, it does nothing. In fact, the answer will always be affirmative because there are no more options, but adding the condition makes everything more schematic.
  • C53 The node checks if the cancellation corresponds to node 2. If so, it goes to box C54, and if not, no further updates are necessary and the node ends its actions here.
  • C55 In this box the node for the At time count because it no longer has to receive any other beacon, after which it ends its actions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, y nodo inalámbrico aplicable a tal sistema. El método comprende: - radiodifundir, desde una estación base, una señal de baliza a unos nodos inalámbricos de una red; - realizar unas etapas de sincronización que comprenden intercambiarse entre los nodos de una red unas respectivas señales de referencia temporal; - determinar que un nodo ha causado baja si su nodo consecutivo no ha recibido la respectiva señal de referencia temporal del mismo después de un tiempo predeterminado, y enviar, tras dicha determinación, por parte de dicho nodo consecutivo, su respectiva señal de referencia temporal al siguiente nodo; y - enviar, cada nodo, una respectiva señal conteniendo un mensaje común, de manera distribuida, a dicha estación base, de manera sincronizada; El sistema está previsto para implementar el método, y el nodo para formar parte del sistema.

Description

Método v sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema
Sector de la técnica
La presente invención concierne, en un primer aspecto, a un método de conformación de haz distribuida en redes de nodos inalámbricos, y más particularmente a un método que permite continuar con un ciclo de sincronización iniciado, aunque se produzca la baja de uno o más de dichos nodos inalámbricos.
En un segundo aspecto, la presente invención concierne a un sistema previsto para implementar el método propuesto por el primer aspecto.
Un tercer aspecto de la invención concierne a un nodo inalámbrico previsto para constituir, junto con otros nodos inalámbricos iguales o análogos, el sistema propuesto por el segundo aspecto de la invención. Estado de la técnica anterior
Un problema fundamental en las redes inalámbricas ad-hoc y las redes de sensores inalámbricas (WSN) consiste en conseguir una comunicación eficiente en términos de energía. Concretamente, uno de los retos actuales radica en enviar un mensaje común a una estación base distante por parte de un grupo de nodos o sensores distribuidos y con restricciones de potencia. Una solución a este problema se conoce como conformación de haz distribuida o "distributed beamforming".
La conformación de haz es una técnica que permite a un transmisor dotado de más de una antena focalizar su señal en una dirección determinada, obteniendo claros beneficios energéticos.
Recientemente, la idea de la conformación de haz ha sido aplicada en redes donde cada transmisor está dotado de una sola antena. En este caso, trabajando cooperativamente los transmisores pueden emular una agrupación de antenas y comportarse como un "conformador de haz distribuido".
Sin embargo, para que la eficiencia sea notable, es necesario que las señales lleguen a recepción coherentemente, es decir, formando una interferencia constructiva de la información enviada por los diferentes sensores. En estas circunstancias la ganancia, medida como el incremento de relación señal a ruido para la misma potencia total transmitida, es igual al número de sensores que forman la red.
A diferencia de la conformación de haz convencional, en el caso de tener varios emisores dotados de una sola antena, además de utilizar osciladores imperfectos, las portadoras de cada transmisor son sintetizadas mediante osciladores independientes. Es por ello que las técnicas enfocadas a la sincronización de símbolo, fase y frecuencia, necesarias para asegurar que las señales se combinan constructivamente en recepción, son más complicadas que en la conformación de haz clásica.
Todo el conjunto de técnicas dedicadas a la sincronización de símbolo, fase y frecuencia requerirá de cierta comunicación entre sensores. Por esta razón, un reto importante consiste en que la comunicación entre los sensores implique un gasto de energía menor que el que supone transmitir hacia la estación base sin utilizar técnicas de conformación de haz. De lo contrario, el ahorro de energía que implica la ganancia del sistema no compensa el gasto de energía debido a la comunicación local.
Actualmente existen varias soluciones teóricas a la problemática de la conformación de haz distribuida, aunque todas ellas todavía muy preliminares porque no resuelven todo el conjunto de sincronizaciones y consideran escenarios ideales. La primera de ellas [Tu02] data del año 2002, donde se presentan los problemas derivados del uso de relojes independientes e imperfectos en cada sensor, proponiendo soluciones independientes para ambas fuentes de error. La más moderna de las soluciones [Bro08] data del año 2008, donde se presenta un protocolo denominado "round-trip carrier synchronization protocol", bastante más eficiente que el trabajo [Tu02], pero aún con serias limitaciones en una situación real.
Para conseguir un sistema efectivo en un escenario real es necesario contemplar y solucionar los tres tipos de sincronización implicados: sincronización de símbolo, fase y frecuencia. Actualmente pocos trabajos se han dedicado a conseguir una suma simultánea de las señales en recepción, es decir, a la simultaneidad en el tiempo de llegada, o sincronización de símbolo, enfocándose más en la sincronización de frecuencia y fase.
De hecho, de entre todos los trabajos existentes, como son [Bro08], [Mu04],
[Mu05], [ u07], [Tu02] y [Wan08], el único que consigue simultaneidad evitando además la comunicación de los sensores con la estación base es, según el conocimiento de los presentes inventores, [Bro08]. Los demás trabajos concentran su esfuerzo en conseguir solamente sincronización de fase y sincronización de frecuencia.
No obstante las sincronizaciones conseguidas por [Bro08] resultan muy mejorables. En [Br008] proponen realizar un intercambio de un tipo particular de balizas, concretamente sinusoidales, entre los sensores de la red, para conseguir sincronización en frecuencia, fase y símbolo, todas ellas generadas en cada nodo a partir de la baliza radiodifundida por la estación base. Asimismo, por lo que refiere a la sincronización en fase y frecuencia, el número de estimaciones llevadas a cabo en [Br008] también es muy elevado. Todas estas desventajas lo convierten en un protocolo claramente mejorable en cuanto a las tres sincronizaciones mencionadas.
Garantizar simultaneidad en el destino ofrece un grado de libertad mayor: permite utilizar códigos con altas tasas de transmisión al no haber desajuste entre símbolos de las diferentes señales en el destino. Si un protocolo no ofrece simultaneidad, entonces se pueden producir pequeños desajustes entre señales en el destino, comportando una suma imperfecta de los símbolos en recepción. Este desacoplamiento entre símbolos empeora para altas tasas de transmisión.
Por lo tanto, si se quiere optar por un protocolo que no utilice técnicas enfocadas a la simultaneidad, o bien se mantienen tasas bajas, o bien se colocan los sensores con gran precisión de acuerdo a ciertas topologías prefijadas que permitan la simultaneidad directamente. Ambas cosas limitan el sistema y por esta razón se ha pretendido aportar novedades en este sentido.
Por otra parte, en un entorno como el de las redes WSN, los sensores pueden desaparecer sin ninguna clase de aviso previo, como por ejemplo es el caso de que un sensor se averie y que, por tanto, no tenga capacidad para poder enviar un aviso previo de desconexión, para que el resto de componentes de la red tengan conocimiento de su baja y actúen en consecuencia.
Tanto el protocolo propuesto por [Bro08] como el propuesto por [Wan08] son sendas soluciones a la problemática de la sincronización en un entorno estático. En ninguno de dichos documentos se propone una solución realista para el caso de un sistema dinámico, entendido como aquél que permite la adición y/o baja de nodos. En dichas propuestas si un nodo desaparece, ya sea porque ha dejado de funcionar por razones técnicas o porque ha decidido desconectarse del sistema o red, los demás nodos se quedan bloqueados a la espera de la señal o baliza correspondiente al nodo que se ha dado de baja, y por tanto el proceso de sincronización queda interrumpido.
Aparece necesario, por tanto, ofrecer una alternativa al estado de la técnica que cubra las lagunas halladas en el mismo, y que ofrezca una solución al problema técnico objetivo referido a cómo proporcionar un método y/o un sistema de conformación de haz distribuida en redes de nodos inalámbricos, mediante el cual llevar a cabo un proceso de sincronización del mensaje común o señal distribuida enviada por los nodos, en un entorno dinámico, que no se vea interrumpido por la baja no notificada de uno o más nodos.
Explicación de la invención
La presente invención ofrece una solución al problema técnico objetivo planteado, para lo cual concierne, en un primer y un segundo aspectos, a un método y un sistema de conformación de haz distribuida en redes de nodos inalámbricos que permite el buen funcionamiento independientemente de la desaparición de algunos nodos de la red, es decir que está previsto para trabajar dinámicamente, determinando las posible bajas de nodos y evitando que las mismas interrumpan el proceso de sincronización indicado, lo cual lo convierte en una propuesta mucho más flexible que las descritas en los antecedentes citados, que permite que los nodos se puedan desconectar voluntariamente en cualquier momento.
Para ello la presente invención concierne, en un primer aspecto, a un método de conformación de haz distribuida en redes de nodos inalámbricos, que comprende realizar las siguientes etapas.
a) radiodifundir, desde una estación base, una señal de baliza a una pluralidad de nodos inalámbricos de una red;
b) realizar una primera etapa de sincronización que comprende enviar, secuencialmente, cada uno de dichos nodos inalámbricos, después de la recepción de dicha señal de baliza, una respectiva señal de referencia temporal a al menos un nodo consecutivo, o más cercano, según un primer sentido en un ciclo de subida, empezando por un primer nodo de dicha red; y
c) realizar una segunda etapa de sincronización que comprende enviar, secuencialmente, cada uno de dichos nodos inalámbricos, una respectiva señal de referencia temporal a al menos un nodo consecutivo, o más cercano, según un segundo sentido, opuesto a dicho primer sentido, en un ciclo de bajada, empezando por el último nodo de dicha red.
Como mínimo las etapas a), b) y c) se llevan a cabo con el fin de realizar una etapa d) que comprende enviar, tras dicha etapa c), por parte de cada uno de los nodos inalámbricos, una respectiva señal conteniendo un mensaje común, de manera distribuida, a la estación base, de manera sincronizada en fase, en frecuencia y en el tiempo de llegada (tal como una sincronización de símbolo), para que en ésta se sumen todas las señales recibidas de manera constructiva.
De manera característica, el método propuesto por el primer aspecto de la invención comprende determinar que como mínimo uno de los nodos inalámbricos ha causado baja en la red si al menos su respectivo nodo consecutivo no ha recibido la respectiva señal de referencia temporal del mismo, en la etapa b) o en la etapa c), después de un tiempo de espera predeterminado, y enviar, tras dicha determinación, por parte de dicho nodo consecutivo, su respectiva señal de referencia temporal al siguiente nodo, en dicho ciclo de subida de dicha etapa b) o en dicho ciclo de bajada de dicha etapa c). Para un ejemplo de realización dicho tiempo de espera predeterminado es sustancialmente igual a 2-tp para cada nodo que ha causado baja, y de m-2-tp para m nodos consecutivos que han causado baja, si es el caso, siendo tp un tiempo de propagación máximo estimado entre dos nodos cualesquiera de la red, que viene dado por la distancia máxima entre los nodos y la velocidad de propagación de la señal.
En un apartado posterior se describirán con mayor detalle unos ejemplos de realización del método propuesto por el primer aspecto de la invención, donde se indicará cómo y cuándo se calcula el tiempo de espera predeterminado indicado, y diferentes maneras de actuar en función de diferentes condicionantes.
Por lo que se refiere a la posición de cada uno de los nodos en dicha red, ésta es, en general, una posición lógica conocida por el respectivo nodo, siendo dichos primer y último nodos los que tienen las posiciones lógicas primera y última, respectivamente.
En adelante se utilizará la posición lógica ocupada por cada nodo para indicar si un nodo es inferior o superior respecto a otro, independientemente de si se está realizando el ciclo de subida o el de bajada.
Aunque el método no está limitado a ello, para un ejemplo de realización preferido, el método comprende radiodifundir las señales de referencia temporal en las etapas b) y c), de manera que éstas son recibidas también por el resto de nodos de la red, además de por el nodo consecutivo al cual van explícitamente dirigidas, en cuyo caso el método comprende llevar a cabo la determinación de que como mínimo un nodo ha causado baja además de en dicho nodo consecutivo, también en cada uno de los demás nodos de la red, si tras la recepción (en cada nodo de la red) de la señal de referencia temporal radiodifundida por el nodo anterior al que puede, o a los que pueden, haber causado baja, transcurre dicho tiempo de espera predeterminado sin recibir otra señal de referencia temporal.
Además de proseguir con el ciclo de sincronización tal y como se ha descrito, el método comprende, para un ejemplo de realización, tras dicha determinación de la baja de como mínimo un sensor, actualizar la composición de la red en cada uno de los nodos de la red que no han causado baja, al menos por lo que se refiere a número total de nodos vivos y estado de cada uno de los nodos, y actualizar también su nueva posición lógica en la red, únicamente para los nodos superiores respecto al que ha causado baja, en cualquiera de dichos primer y segundo sentidos, es decir para los nodos con posición lógica superior al que ha causado baja.
Por lo que se refiere al modo en que un nodo averigua cuando es su turno, para un ejemplo de realización aplicado a dicho caso preferido para el que las señales de referencia temporal son radiodifundidas por los nodos, el método propuesto por la presente invención comprende contar, mediante un contador interno de cada nodo, el número de señales recibidas, incluyendo la señal de baliza radiodifundida por la estación base y las señales de referencia temporal radiodifundidas por los otros nodos, para saber, cada nodo, teniendo en cuenta al menos su posición lógica, cuando es su turno para considerar que la señal de referencia temporal recibida va explícitamente dirigida al mismo y para realizar el posterior envío de su señal temporal de referencia en dicha etapa b) y/o en dicha etapa c).
Según un ejemplo de realización, cuando el último nodo, según el ciclo de subida de la etapa b), causa baja, el método comprende que el penúltimo nodo tome el papel de dicho último nodo y solamente deba enviar una señal de referencia temporal, la ya enviada en el ciclo de subida, y cuando el antepenúltimo nodo determina dicha baja del último nodo, producida en el ciclo de subida de la etapa b), el método comprende considerar, por parte de dicho antepenúltimo nodo, que la señal de referencia temporal radiodifundida por el penúltimo nodo en la etapa b) forma parte del envío del ciclo de bajada de la etapa c) y va dirigida a dicho antepenúltimo nodo.
Si la determinación de la baja de uno o más nodos se realiza en la etapa b), es decir durante el ciclo de subida, el método comprende realizar la etapa d) de envío del mensaje común de manera distribuida, mediante todos los nodos que no han causado baja. En cambio si la determinación de la baja o bajas de nodos se realiza en la etapa c), es decir en el ciclo de bajada, el método comprende cancelar la realización de la etapa d) al menos por lo que respecta a los nodos posteriores (con posición lógica inferior) al que ha causado baja, según dicho segundo sentido.
Si bien para un ejemplo de realización el método comprende utilizar, en las etapas b) y c), unas señales de referencia temporal dependientes de la señal de baliza radiodifundida por la estación base, como es el caso de la propuesta hecha en [Br008], para un ejemplo de realización más preferido el método comprende utilizar, en las etapas b) y c), unas señales de referencia temporal independientes de la señal de baliza, con el fin de mejorar, en comparación con [Br008], la sincronización en el tiempo de llegada, o símbolo, de las señales contenedoras del mensaje común enviadas de manera distribuida a la estación base, realizando cada nodo una estimación de la fase inicial y la frecuencia de la baliza enviada por la estación base en la etapa a), y utilizando ambos valores para generar su portadora durante la etapa de conformación de haz distribuida, para realizar la sincronización de fase y frecuencia, en la etapa d), de las respectivas señales contenedoras del mensaje común enviadas por parte de cada uno de los nodos, de manera distribuida, a la estación base.
Si bien el caso preferido descrito en el párrafo anterior, relativo a la utilización de señales de referencia temporal independientes de la señal de baliza radiodifundida por la estación base, se ha reivindicado como dependiente de la solución aportada al problema de las bajas de sensores descrita en la reivindicación 1 de la presente invención, tal caso preferido es una solución, por sí solo, a los problemas en conseguir de manera eficiente las tres clases de sincronización descritas que tienen las propuestas convencionales, en especial la relativa al tiempo de llegada. Ello permitiría implementar un método y sistema de conformación de haz distribuida en redes de nodos inalámbricos con base a dicho caso preferido, independientemente de que se produzcan o no bajas de sensores.
Para un ejemplo de realización dichas señales de referencia temporal contienen al menos un pulso o un impulso, a diferencia también de las utilizadas por [Br008] que son de naturaleza sinusoidal.
Tal y como se ha comentado, el método comprende utilizar las señales de referencia temporal enviadas por los nodos para realizar la sincronización en las tres características de señal indicadas, pero éstas son utilizadas especialmente para realizar la sincronización en el tiempo de llegada a la estación base de las respectivas señales contenedoras del mensaje común enviadas, en la etapa d), por parte de cada uno de los nodos, lo cual se lleva a cabo, en general, mediante la determinación del momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común en la etapa d), sin ningún tipo de comunicación desde los nodos hacia la estación base.
Para realizar dicha determinación del momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común en la etapa d), el método comprende realizar un cálculo previo, en cada nodo, de un retardo que va desde la finalización de la recepción de la señal de baliza proveniente de la estación base hasta la finalización de la recepción de la señal de referencia temporal enviada por el nodo inmediatamente anterior, en la etapa b), si éste no ha causado baja, determinándose que dicho momento de envío del mensaje común es igual al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en la etapa c), más dicho retardo calculado r.
Para otro ejemplo de realización para el que sí se han producido bajas de uno o más nodos, el método comprende determinar que dicho momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común es igual, si al menos un nodo con posición lógica inferior ha causado baja en la etapa b), al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en la etapa c), más un retardo τ corregido resultante de restar un valor de error temporal e, a un retardo 7" que va desde la finalización de la recepción de la señal de baliza hasta la finalización de la recepción de la señal de referencia temporal enviada por un nodo que no ha causado baja en la etapa b) con una posición lógica inferior inmediatamente anterior al nodo en cuestión pero superior a la del que ha causado baja.
Según un caso particular de dicho ejemplo de realización, dicho valor de error temporal e; es sustancialmente igual a m-2tp, siendo tp en general un tiempo de propagación estimado entre dos nodos, y m el número de nodos consecutivos que han causado baja, aunque para un ejemplo de realización para el que las señales enviadas tienen una frecuencia en el rango de los THz, cada nodo genera su propio tp sobre su propia escala de tiempo.
Tal corrección del retardo es válida para cada nodo posterior a al menos un nodo "vivo", es decir que no ha causado baja, dispuesto entre el nodo "muerto", que ha causado baja, y el nodo en cuestión o posterior, ya que cuando éste recibe la señal de referencia temporal enviada por dicho nodo intermedio "vivo", en el cálculo del retardo f se acumula el tiempo de espera predeterminado requerido para determinar la baja de uno o más nodos.
En cambio, si no existe tal nodo intermedio "vivo", el método comprende determinar que dicho momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común es igual, si al menos un nodo con posición lógica inferior e inmediatamente anterior al nodo en cuestión ha causado baja en la etapa b), al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en dicha etapa c), más un retardo τ corregido resultante de restar un valor de error temporal e¡ a un retardo f que va desde la finalización de la recepción de la señal de baliza hasta la finalización del transcurso de dicho tiempo de espera predeterminado sin recibir una señal temporal de referencia.
Mediante el método propuesto por el primer aspecto de la invención se consigue un doble objetivo, un primer objetivo relativo a realizar correctamente el intercambio de señales de referencia temporal entre nodos, es decir, en evitar que el sistema se quede bloqueado y en actualizar la visión de la red de cada nodo, y un segundo objetivo que radica en corregir los valores de retardos temporales que se deducen durante el proceso de sincronización, en el caso en que desaparezcan nodos. El método propuesto por el primer aspecto de la invención permite realizar conformación de haz distribuida en una red con restricciones de potencia y topología desconocida. Es importante destacar que no es necesaria la comunicación desde los nodos hacia la estación base en ningún momento de las etapas de sincronización, hasta el envío del mensaje común.
Un segundo aspecto de la invención concierne a un sistema de conformación de haz distribuida en redes de nodos inalámbricos, que comprende:
- una estación base prevista para radiodifundir por una o más antenas omnidireccionales una señal de baliza; y
- una pluralidad de nodos inalámbricos dispuestos formando una red de comunicaciones, estando cada uno de dichos nodos inalámbricos previsto para recibir dicha señal de baliza y para enviar una respectiva señal conteniendo un mensaje común, de manera distribuida, a la estación base, de manera sincronizada en fase, en frecuencia y en el tiempo de llegada, para que en ésta se sumen todas las señales recibidas de manera constructiva.
El sistema propuesto por el segundo aspecto de la invención está configurado para implementar el método propuesto por el primer aspecto de la invención.
Según un ejemplo de realización del sistema propuesto por el segundo aspecto de la invención, cada uno de los nodos inalámbricos comprende una antena omnidireccional por la que realizar los envíos de las etapas b) y c), y como mínimo una unidad de procesamiento prevista para como mínimo determinar que uno o más nodos inalámbricos han causado baja, teniendo dicha unidad de procesamiento acceso a una memoria, y capacidad para registrar en dicha memoria unos datos referentes al número total de nodos que conforman la red, al estado de los mismos, mediante por ejemplo un vector de estados, y a la posición lógica que ocupa en la red el nodo en cuestión, estando la unidad de procesamiento también prevista para actualizar dichos datos tras la determinación de que uno o más nodos han causado baja.
La unidad de procesamiento de cada uno de los nodos está prevista también, para un ejemplo de realización, para determinar el momento en que el nodo debe enviar su respectiva señal contenedora del mensaje común en la etapa d), realizando todos los cálculos necesarios, para asegurar la mencionada sincronización en el tiempo de llegada a la estación base de las respectivas señales contenedoras del mensaje común enviadas, en la etapa d), por parte de cada uno de los nodos.
Tanto la adquisición de dichos datos referentes al número total de nodos que conforman la red, al estado de los mismos, y a la posición lógica, y su actualización si es necesario, como dichos cálculos que determinan cuando el nodo debe enviar su respectiva señal contenedora del mensaje común, se llevan a cabo mediante la utilización de uno o más algoritmos implementados en la unidad de procesamiento de cada nodo, algunos de los cuales se describirán en detalle en un apartado posterior de la presente descripción
Para un ejemplo de realización los nodos inalámbricos son móviles y/o son unos sensores inalámbricos, en cuyo caso la red inalámbrica es una red ad hoc que contiene un número arbitrario de sensores inalámbricos.
Un tercer aspecto de la invención concierne a un nodo inalámbrico aplicable a un sistema de conformación de haz distribuida en redes de nodos inalámbricos, y que está previsto para constituir, junto con otros nodos inalámbricos iguales o análogos, el sistema propuesto por el segundo aspecto de la invención.
Breve descripción de los dibujos
Las anteriores y otras ventajas y características se comprenderán más plenamente a partir de la siguiente descripción detallada de unos ejemplos de realización con referencia a los dibujos adjuntos, que deben tomarse a título ilustrativo y no limitativo, en los que:
la Fig. 1 es un diagrama esquemático que ilustra, mediante tres vistas correspondientes, las etapas a), b) y c) del método propuesto por el primer aspecto de la invención, para un ejemplo de realización, utilizando una estación base y unos nodos inalámbricos del sistema propuesto por el segundo aspecto de la invención;
la Fig. 2 muestra un esquema temporal de las tareas realizadas en cada intervalo temporal o timeslot en las etapas a) a d) del método propuesto por el primer aspecto de la invención;
la Fig. 3 es un diagrama de flujo de las acciones a realizar por un nodo cualquiera de la red del sistema propuesto por el segundo aspecto de la invención, en caso de no contemplar bajas en el sistema;
la Fig. 4 muestra un diagrama de flujo de las acciones a realizar por un nodo cualquiera de la red cada vez que se recibe una baliza, para un ejemplo de realización del método propuesto por la presente invención; y
la Fig. 5 muestra otro diagrama de flujo, en este caso de las acciones a realizar por un nodo cualquiera de la red cada vez que se sobrepasa un tiempo predeterminado de espera sin recibir balizas. Descripción detallada de unos ejemplos de realización Haciendo en primer lugar referencia la Fig. 1 , en ella se aprecian una serie de nodos inalámbricos, en particular sensores, indicados como Si, S2...Sj...SN, y una estación base D0, todos ellos formando parte del sistema propuesto por el segundo aspecto de la invención, y mediante los cuales se implementa el método propuesto por el primer aspecto de la invención.
En particular, en la vista izquierda de la Fig. 1 se ilustra la etapa a) del método, en la que la estación base D0 radiodifunde una señal de baliza a los sensores inalámbricos S1 f S2... Sj...SN, en las vistas central y derecha se ilustran, respectivamente, las etapa b) y c), correspondientes a los envíos de señales de referencia temporal en, respectivamente, un ciclo de subida y un ciclo de bajada.
Si bien en dichas vistas central y derecha se ha ilustrado cada envío de señal de referencia temporal mediante una única flecha dirigida hasta el nodo siguiente, tal y como se ha explicado en un apartado anterior, para un ejemplo de realización preferido la señal enviada por cada uno de los nodos es recibida por todos los nodos Si, S2...Sj...SN de la red, ya que se transmite por radiodifusión.
Este intercambio de señales permite a cada sensor conocer ciertas relaciones temporales entre caminos que servirán para deducir el instante de envío, tal y como se ha descrito en el apartado de explicación de la invención.
Para los diferentes ejemplos de realización incluidos en el presente apartado, se denominarán balizas tanto a la señal de baliza radiodifundida por la estación base D0 como a las señales de referencia temporal intercambiadas, por radiodifusión, entre los sensores S^ S2...Sj...SN.
En la Fig. 2 se ilustran los diferentes envíos de señales realizados en las etapas a) a d) y el orden de los mismos, mediante un esquema temporal formado por unos respectivos intervalos o ranuras temporales, señalados por las etapas del método en los que se encuentran incluidos.
En cada uno de los intervalos temporales TS¡ con j = 0, ... , 2N-2 de la Fig. 2 se realiza el envío de una baliza, empezando por la enviada por la estación base en TS0, y en el último intervalo temporal, TSBEAM, se envía la información hacia el destino como un conformador de haz distribuido, en la etapa d).
Tal y como se ha descrito anteriormente se distinguen dos ciclos de sincronización en el proceso: el ciclo de subida, que se lleva a cabo desde TS0 hasta TSN-1, es decir durante la etapa b), y el ciclo de bajada, que se lleva a cabo desde TSN hasta TS2N-2, es decir durante la etapa c).
Gracias al intercambio de balizas cada sensor S^ S2...Sj...SN calcula el retardo temporal denominado anteriormente como r, que sumado al tiempo en que cada sensor ha acabado de enviar su respectiva baliza, en la etapa c), determina el momento en que el sensor en cuestión debe enviar la señal contenedora del mensaje común a la estación base D0.
En la Fig. 3 se muestra un diagrama de flujo de las acciones a seguir por cada nodo o sensor de la red cuando no se producen bajas, las cuales se describen a continuación, a partir de la casilla denominada "Inicio" en el diagrama de la Fig. 3.
A1 : En esta casilla el nodo comprueba si ha recibido o no una baliza (ya sea la proveniente de la estación base o de cualquier otro nodo). En caso de que la respuesta sea afirmativa se pasa a la casilla A2, y en caso de que sea negativa se ejecuta una y otra vez la acción indicada por esta casilla, en bucle, hasta que ofrezca una respuesta afirmativa.
A2: En esta casilla el nodo se cuestiona si la baliza recibida es la primera, es decir la proveniente de la estación base. Si es así pasa a la casilla A3, y si la respuesta es negativa se pasa a la A4.
A3: La acción llevada a cabo en esta casilla por parte del nodo es la de iniciar la cuenta de tiempo que permitirá el cálculo del retardo r, tal y como se ha descrito con anterioridad, y pasar a la casilla A4, es decir, seguir con el protocolo.
A4: La disyuntiva representada por esta casilla plantea la cuestión de si es el primer turno del nodo en cuestión. Si es así se pasa a la casilla A5, y en caso negativo a la AIO.
A5: En esta casilla el nodo para la cuenta de tiempo iniciada en A3, asignándole al retardo r el valor que indica dicha cuenta que, tal y como se ha indicado anteriormente, el nodo esperará para enviar la señal contenedora del mensaje común, desde que envíe su baliza en el ciclo de bajada, o segundo ciclo.
A6: Esta casilla sirve para comprobar si el nodo es el último o no lo es. En caso afirmativo se pasa a la casilla A7, y en caso negativo a la A9.
A7: En esta casilla el nodo envía una baliza que, al ser el nodo el último corresponderá al ciclo de bajada.
A8: El nodo envía, en esta casilla, su señal contenedora del mensaje común a la estación base tras esperar el retardo τ después del envío de A7.
A9: El nodo se encuentra ejecutando la acción correspondiente a esta casilla, porque no es el último, teniendo en cuenta su posición lógica, por lo que dicha acción consiste en enviar la baliza en el ciclo de subida, tras lo cual finaliza las acciones a realizar, es decir pasa a la casilla "fin".
A10: Tras comprobar que no es el primer turno del nodo, se llega a la disyuntiva representada por esta casilla, que plantea la pregunta de si el nodo es el último nodo. En caso afirmativo éste finaliza sus acciones, y en caso negativo pasa a la casilla A11.
En esta casilla A10, en lugar de seguir evaluando casos, es decir de pasar directamente a la casilla A11 , se ha separado primero el problema en dos, según se trate del último nodo o no, ya que el último nodo necesita aquí un trato especial.
Es importante tener en cuenta que la división aquí realizada no sería necesario llevarla a cabo en el diagrama de flujo, porque el último nodo no debería activar la casilla A11. Sin embargo, la división sí que es necesaria cuando se quiere implementar el diagrama de flujo en código, ya que en tal caso el último nodo sí que podría activar la casilla A11 , cuando de hecho no tendría que hacerlo, debido a que la condición A1 1 implementada a partir de comparaciones entre valores de diferentes variables (contador, número de sensores de la red, etc.) no funciona correctamente para el caso del último nodo, y podría ser que éste activara dicha condición A11.
Es decir que, para otro ejemplo de realización, el método comprende llevarse a cabo mediante un diagrama de flujo como el de la Fig. 3 pero prescindiendo de la casilla A10, la cual se ha conservado en el ejemplo de realización de la Fig. 3 por las razones expuestas relativas a su implementación en código de programación.
Siguiendo con la descripción del diagrama de flujo de la Fig. 3, si el nodo no ocupa la última posición lógica, entonces pasa a ejecutar la acción correspondiente a la casilla A1 1.
A1 1 : En esta casilla el nodo, que no se encuentra en su primer ciclo ni ocupa la última posición lógica, se cuestiona si es su segundo turno Si no es así finaliza sus acciones, y si la respuesta es afirmativa pasa a la casilla A12.
A12: Esta casilla sirve para comprobar si el nodo es el primero o no lo es. En caso afirmativo se pasa a la casilla A13, y en caso negativo a la A14.
A13: En esta casilla el nodo envía su señal contenedora del mensaje común a la estación base sin esperar el retardo r, pués teóricamente debería de ser cero al tratarse del primer nodo.
A14: En esta casilla el nodo envía su baliza en el ciclo de bajada.
A15: En esta casilla el nodo envía su señal contenedora del mensaje común a la estación base tras esperar el retardo r después del envío de A14, retardo el cual habrá calculado en su primer ciclo, es decir cuando una ejecución previa del diagrama de flujo le haya llevado hasta la casilla A5. Tras esta casilla el nodo finaliza sus acciones.
El diagrama de flujo de la Fig. 3 acabado de describir no tiene en cuenta las bajas de nodos, por lo que es representativo del sistema propuesto por el segundo aspecto de la invención que, aunque está adaptado para implementar el método propuesto por el primer aspecto, también es capaz de implementar las acciones más básicas ilustradas por la Fig. 3, cuando no se producen bajas de nodos. Asimismo esta Fig. 3 y su correspondiente descripción es representativa de un ejemplo de realización del caso preferido mencionado en el apartado de explicación de la invención, relativo a la mejora de la eficiencia en la sincronización de fase, frecuencia y tiempo de llegada a la estación base de las señales contenedoras de un mensaje común enviadas por cada uno de los nodos inalámbricos, de manera distribuida, independientemente de que se produzcan o no bajas de sensores.
A continuación se describen dos ejemplos de realización más detallados del método propuesto por el primer aspecto de la invención, con referencia a las Figs. 4 y 5, donde se tienen en cuenta diversas acciones a aplicar para diferentes posibles situaciones.
Existen dos situaciones bien diferenciadas que se dan a la hora de implementar el método propuesto por la invención, en las que éste debe realizar unas u otras acciones. En la primera de ellas, representada por la Fig. 4, se consideran todas las acciones a realizar cuando un nodo recibe una baliza. En la segunda, representada por la Fig. 5, se consideran las acciones a realizar cuando un nodo sobrepasa una espera superior a un múltiplo entero de 2-tp sin recibir balizas.
La idea general de ambos diagramas de flujo es la presentada en la sección
"Explicación de la invención", aunque ahora se particulariza para cada caso concreto en función de cuantos nodos hayan desaparecido, de cuales sean sus posiciones lógicas, del momento en que desaparezcan (ciclo de subida o ciclo de bajada), etc. Ambos diagramas de flujo se ejecutan durante los ciclos de subida y de bajada.
Para la correcta comprensión de las Figs. 4 y 5 es necesario saber que cada sensor debe disponer de un contador interno que incrementa su valor al terminar la lectura de una baliza recibida. Gracias a este contador, un sensor puede saber cuantas balizas se han enviado y puede deducir el turno de cada sensor de la red. Las acciones del diagrama de flujo de la figura 4 empiezan cada vez que el contador incrementa su valor.
Asimismo debe aclararse la función de cada una de las variables o elementos referidos en dichos diagramas de flujo, empezando por el vector de estados, el cual especifica, para cada nodo, si está vivo o no. Si existen N nodos en la red el vector de estados tiene N posiciones, y en cada una de ellas aparece un 1 o un 0 en función de si el nodo está vivo o no. La variable que cuenta el número de nodos de la red solamente especifica cuantos nodos están vivos, y en función de este valor el vector de estados va cambiando su tamaño cuando le toca. La variable de posición lógica de un nodo atribuye una posición lógica al nodo. Cuando mueren nodos con posición superior esta variable no cambia. Pero cuando mueren nodos con posición inferior, todos los nodos posicionados por encima reducen su posición lógica para que no quede un vacío entre medio de dos nodos vivos.
Por otra parte también es necesario remarcar que cada sensor dispone de diferentes variables para contar tiempo. Son imprescindibles una variable para contar retardos τ y r", y otra para contar el tiempo transcurrido At desde la recepción de la última baliza. Las acciones del diagrama de flujo de la Fig. 5 empiezan cada vez que la variable At sobrepasa múltiplos enteros de 2-tp.
A continuación se describe el diagrama de flujo ilustrado por la Fig. 4, representativo de un ejemplo de realización del método propuesto por la presente invención, implementable mediante un algoritmo por el sistema de procesamiento de cada nodo incluido en el sistema propuesto por el segundo aspecto de la invención, o del nodo propuesto por el tercer aspecto.
Cada vez que un nodo recibe una baliza o señal de referencia temporal se activa este algoritmo, ya que dicha recepción indica que hay un nodo vivo enviándola y sirve pues para actualizar las bajas del sistema, además de para realizar las acciones del diagrama de la Fig. 3 en caso de que no hayan bajas. En el diagrama no se hacen distinciones entre baliza y señal de referencia temporal, ya que no es necesario que ambos tipos de señales tengan formas diferentes, aunque éste está configurado para funcionar cualquiera que sean las formas de las señales temporales de referencia y de las señales de baliza enviadas por la estación base.
La diferencia que hace el algoritmo entre ambos tipos de señal viene dada por el orden en que se reciben, es decir, lo primero que se recibe es una baliza proveniente de la estación base, y permite el inicio del protocolo representado por dicho diagrama de flujo, también denominado protocolo de sincronización dinámico. Lo que se recibe luego son señales de referencia temporal, y permiten la actualización de la red y el seguimiento del protocolo. Se hablará pues de "baliza" para ambos casos.
Las acciones a seguir por cada nodo o sensor de la red, a partir de la casilla denominada "Inicio" en el diagrama de la Fig. 4, son las siguientes:
B1 : En esta casilla el nodo comprueba si ha recibido o no una baliza (ya sea la proveniente de la estación base o de cualquier otro nodo). En caso de que la respuesta sea afirmativa se pasa a la casilla B2, y en caso de que sea negativa se ejecuta una y otra vez la acción indicada por esta casilla, en bucle, hasta que ofrezca una respuesta afirmativa.
B2: En esta casilla el nodo para la cuenta del tiempo At para contar nodos muertos, ya que ha recibido una baliza de un nodo vivo.
B3: La acción llevada a cabo en esta casilla por el nodo es la de comprobar si la baliza recibida es la primera o no. Si se trata de la primera baliza entonces justo empieza el protocolo de sincronización y se empieza, en B4, la cuenta de τ porque se trata de la baliza de la estación base. Si no, lo que pasa es que la baliza recibida es una señal de referencia temporal y significa que se está ya en plena ejecución del protocolo.
B4: Aquí se inicia la cuenta de tiempo que permitirá el cálculo del retardo r, ya que el nodo ha recibido la baliza de la estación base.
B5: El nodo comprueba si se está en el ciclo de subida y si el turno es de algún nodo con posición lógica inferior. Si se está en el ciclo de subida y le toca a un nodo inferior se pasa a la casilla B6 para realizar las acciones correspondientes a este caso.
Si no, se pasa a la casilla B9.
B6: En esta casilla se comprueba si ha habido bajas de algún nodo, en este caso para nodos con posiciones lógicas inferiores respecto a la del que ha enviado la baliza, mediante la comprobación del valor de At cuya cuenta se ha detenido en B2. Si hay uno o más nodos muertos se pasa a la casilla B7, y en caso negativo directamente a la B8.
B7: Como se está en el primer ciclo y le toca a un nodo inferior el nodo que está ejecutando el algoritmo actualiza su nueva posición lógica, que se verá reducida, el error temporal e, arriba descrito utilizado para el cálculo del retardo r corregido, además claro del número de nodos de la red.
B8: En esta casilla se vuelve a empezar la cuenta del tiempo At porque el nodo ha recibido una baliza y está a la espera de otra para ir actualizando su visión de la red. Tras ello el nodo finaliza las acciones a seguir por este camino.
B9: El nodo comprueba si es su primer turno, en cuyo caso pasa a la casilla B10. En caso negativo pasa a la casilla B19.
B10: Al haber recibido el nodo una baliza explícitamente dirigida a él, ya sea la proveniente del nodo inmediatamente anterior, es decir con una posición lógica inferior, o la de la estación base en el caso de ser el primer nodo, es decir al ser su primer turno, o turno del ciclo de subida, éste, el nodo para la cuenta de tiempo que permitirá el cálculo del retardo r B11 : Aquí el nodo comprueba si es el último nodo. Si es así, se debe tener en cuenta que el nodo sólo enviará una baliza y que por lo tanto el instante de envío de ésta es el tiempo de referencia que tiene el nodo para empezar a contar el tiempo previamente calculado hasta enviar el mensaje hacia la estación base (beamforming). Si no es el último nodo no es necesario lo comentado, y por tanto éste salta a la casilla B17.
B12: En esta casilla el nodo comprueba si, además de ser el último, es también el primer nodo, es decir que es el único nodo, debido a que han desaparecido todos los demás en algún ciclo de sincronización.
B13: Al haber comprobado el nodo que es el único nodo vivo, aquí éste procede a enviar la señal contenedora del mensaje común hacia la estación base, tras lo cual finaliza sus acciones.
B14: Al ser el último pero no el único nodo, en esta casilla éste procede a radiodifundir la única baliza que ha de enviar por ser el último nodo, ya en el ciclo de bajada.
B 5: La acción a realizar en esta casilla por el nodo que ejecuta el algoritmo es la de enviar la señal contenedora del mensaje común hacia la estación base después de un tiempo r corregido según las bajas (si no ha habido bajas e, = 0 y por tanto r = ).
B 6: En esta casilla se vuelve a empezar la cuenta del tiempo At porque el nodo ha recibido una baliza y está a la espera de otra para ir actualizando su visión de la red. Tras ello el nodo finaliza las acciones a seguir por este camino.
B17: En el caso de que el nodo no ocupe la última posición lógica en la red, se llega a esta casilla, en la cual el nodo envía la baliza correspondiente al ciclo de subida.
B18: En esta casilla se vuelve a empezar la cuenta del tiempo At porque el nodo ha recibido una baliza y está a la espera de otra para ir actualizando su visión de la red. Tras ello el nodo finaliza las acciones a seguir por este camino.
B19: Al no ser su primer turno, el nodo comprueba aquí si es el último nodo. Es necesario hacer un inciso en la descripción del diagrama de flujo de la Fig. 4, para aclarar que en esta casilla B19, en lugar de seguir comprobando los turnos y el tipo de ciclo (subida o bajada) como en B5 y B9, se ha separado primero el problema en dos, según se trate del último nodo o no, ya que el último nodo necesita aquí un trato especial.
Para el caso en que no sea el último nodo, se sigue con la misma dinámica que anteriormente, ahora en los puntos B25, B29, B34 y B40, con lo que la siguiente pregunta se basa en saber si es el turno de un nodo superior, todavía en el ciclo de subida. Después se analizan los diferentes casos para el ciclo de bajada.
Es importante tener en cuenta que la división aquí realizada no sería necesario llevarla a cabo en el diagrama de flujo porque el último nodo no activará ninguna de las casillas B25, B29 y B34. Y la B40, que es la que activaría, es idéntica a la B20. Sin embargo, la división sí que es necesaria cuando se quiere implementar el diagrama de flujo en código, donde cada punto pasa a ser realizado mediante el contador, el vector de estados, el número de sensores de la red, etc. El problema está en que las condiciones B25, B29 y B34 implementadas a partir de comparaciones entre valores de estas variables no funcionan correctamente para el caso del último nodo, y podría ser que éste activara alguna de ellas. Es por esta razón que se realiza aquí esta división.
Es decir que, para otro ejemplo de realización, el método comprende llevarse a cabo mediante un diagrama de flujo como el de la Fig. 4 pero prescindiendo de las casillas B19 a B24, las cuales se han conservado en el ejemplo de realización de la Fig. 4 por las razones expuestas relativas a su implementación en código de programación.
Siguiendo con la descripción del diagrama de flujo de la Fig. 4 si el nodo ocupa la última posición lógica, entonces pasa a ejecutar la acción correspondiente a la casilla B20.
B20: En esta casilla el nodo comprueba si está en el ciclo de bajada y el turno es de algún nodo inferior. En caso negativo, el nodo finaliza sus acciones. En caso afirmativo, éste pasa a la casilla B21. De hecho la respuesta siempre será afirmativa porque no hay más opciones, pero al añadir la condición queda todo más esquematizado.
B21 : Aquí el nodo comprueba si ha habido bajas en la red, en este caso para nodos con posiciones lógicas superiores respecto a la del que ha enviado la baliza, mediante la comprobación del valor de M cuya cuenta se ha detenido en B2. Si las ha habido pasa a la casilla B22 y si no, directamente a la B23.
B22: Como es el turno de un nodo inferior en el ciclo de bajada, el nodo que está ejecutando el algoritmo actualiza su nueva posición lógica, que se verá reducida, así como el número total de nodos de la red.
B23: Aquí el nodo comprueba si la baliza recibida es del nodo 2. En este caso, una vez actualizadas las variables del nodo, si es que ha sido necesario, hay que ver si se debe empezar la cuenta del tiempo At o no. Si la baliza proviene del nodo 2 entonces ya no es necesario empezar la cuenta del tiempo At porque el nodo 1 no vuelve a enviar ninguna baliza, sino que envía ya el mensaje hacia la estación base (beamforming). En este caso el nodo finaliza sus acciones.
B24: Si la baliza no proviene del nodo 2 entonces el nodo espera más balizas y es por ello que aquí el nodo empieza la cuenta del tiempo At, porque había recibido una baliza y está a la espera de otra para ir actualizando su visión de la red, tras lo cual finaliza sus acciones por este camino.
B25: En el caso de que el nodo no sea el último se llega a esta casilla, en la que éste comprueba si se está en el ciclo de subida y el turno es de algún nodo superior. En caso afirmativo se pasa a la casilla B26, y en caso negativo a la B29.
B26: Aquí el nodo comprueba si ha habido bajas de algún nodo en la red, en este caso para nodos con posiciones lógicas inferiores respecto a la del que ha enviado la baliza, mediante la comprobación del valor de At cuya cuenta se ha detenido en B2.
Si hay uno o más nodos muertos se pasa a la casilla B27, y en caso negativo directamente a la B29.
B27: Como el turno es de un nodo superior el nodo que está ejecutando el algoritmo actualiza, aquí, solamente el número de nodos de la red, ya que su posición lógica no ha cambiado y ya se ha calculado previamente el error e¡-.
B28: Aquí el nodo empieza la cuenta del tiempo At, porque había recibido una baliza y está a la espera de otra para ir actualizando su visión de la red, tras lo cual finaliza sus acciones por este camino.
B29: En esta casilla el nodo comprueba si se está en el ciclo de bajada y el turno es de algún nodo superior. En caso afirmativo se pasa a la casilla B30, y en caso negativo a la B34.
B30: Aquí el nodo comprueba si ha habido bajas de algún nodo en la red, en este caso para nodos con posiciones lógicas superiores respecto a la del que ha enviado la baliza, mediante la comprobación del valor de At cuya cuenta se ha detenido en B2. Si hay uno o más nodos muertos se pasa a la casilla B31 , y en caso negativo directamente a la B33.
B31 : El nodo desactiva, aquí, el envío de la señal contenedora del mensaje común a la estación base, ya que como ha habido bajas de nodos en el ciclo de bajada, no es posible corregir el retardo r. Y como las bajas han sido de nodos con posición lógica superior a la del nodo que está ejecutando el algoritmo, todavía está a tiempo de desactivar dicho envío, pues no lo ha comenzado. Cuando un nodo desactiva el envío, éste queda desactivado durante todo el ciclo de sincronización. Es decir, una vez desactivado, dicho nodo no podrá enviar aunque así se le pida en alguna de las casillas del diagrama de flujo.
Debe aclararse que el protocolo de sincronización dinámico representado por los diagramas de flujo de las Fig. 4 y 5 sólo permite corregir los valores de 7" en caso que desaparezcan nodos durante el primer ciclo de sincronización. En el caso en que desaparezcan durante el segundo ciclo de sincronización esto no es posible, aunque se consigue realizar el intercambio de balizas y por lo tanto también la actualización de la red. Se opta entonces por cancelar la etapa de conformación al menos por lo que respecta a los nodos posteriores al que ha causado baja para evitar gasto de potencia innecesario, pues no se asegura una suma coherente en recepción. En el caso en que queden pocos nodos vivos, siempre se podría optar por cancelar la etapa de conformación para todos los nodos, entonces la conformación de haz se llevaría a cabo con tan sólo repetir el proceso de sincronización.
Cabe destacar que el caso de que un nodo o sensor esté presente en el primer ciclo de sincronización y desaparezca durante el segundo ciclo de sincronización es una situación muy poco probable.
B32: En esta casilla, como el turno es de un nodo superior, solamente se procede a actualizar el número de nodos de la red.
B33: Aquí el nodo empieza la cuenta del tiempo At, porque había recibido una baliza y está a la espera de otra para ir actualizando su visión de la red, tras lo cual finaliza sus acciones por este camino.
B34: El nodo comprueba si es su segundo turno. En caso afirmativo se pasa a la casilla B35, y en caso negativo a la B40.
B35: El nodo comprueba en esta casilla si es el primer nodo.
B36: Aquí el nodo que ha comprobado que sí que es el primero, procede a enviar la señal contenedora del mensaje común hacia la estación base, tras lo cual finaliza sus acciones.
B37: Al haber comprobado que no es el primer nodo, y como es su segundo turno, el nodo radiodifunde la baliza del ciclo de bajada, es decir durante la etapa c).
B38: Aquí el nodo envía la señal contenedora del mensaje común hacia la estación base, después de un tiempo τ corregido según las bajas (si no ha habido bajas ej = 0 y por tanto τ = f).
B39: El nodo empieza de nuevo la cuenta del tiempo At, porque había recibido una baliza y está a la espera de otra para ir actualizando su visión de la red, tras lo cual finaliza sus acciones por este camino. B40: En esta casilla el nodo comprueba si se está en el ciclo de bajada y el turno es de algún nodo inferior. En caso negativo, el nodo finaliza sus acciones. En caso afirmativo, éste pasa a la casilla B41. De hecho la respuesta siempre será afirmativa porque no hay más opciones, pero al añadir la condición queda todo más esquematizado).
B41 : Aquí el nodo comprueba si ha habido bajas en la red, en este caso para nodos con posiciones lógicas superiores respecto a la del que ha enviado la baliza, mediante la comprobación del valor de At cuya cuenta se ha detenido en B2. Si las ha habido pasa a la casilla B42 y si no, directamente a la B43.
B42: Como es el turno de un nodo inferior en el ciclo de bajada, el nodo que está ejecutando el algoritmo actualiza su nueva posición lógica, que se verá reducida, así como el número total de nodos de la red.
B43: Aquí el nodo comprueba si la baliza recibida es del nodo 2. Si la baliza proviene del nodo 2 entonces ya no es necesario empezar la cuenta del tiempo Δί porque el nodo 1 no vuelve a enviar ninguna baliza, sino que envía ya el mensaje hacia la estación base (beamforming). En este caso el nodo finaliza sus acciones.
B44: Si la baliza no proviene del nodo 2 entonces el nodo espera más balizas y es por ello que aquí el nodo empieza la cuenta del tiempo At, porque había recibido una baliza y está a la espera de otra para ir actualizando su visión de la red, tras lo cual finaliza sus acciones por este camino.
Una vez descrito el diagrama de flujo de la Fig. 4 representativo de la primera situación indicada que se da cuando un nodo recibe una baliza, a continuación se procede a describir el diagrama de flujo de la Fig. 5, el cual representa a la segunda situación arriba descrita, y relativa a las acciones a realizar cuando un nodo sobrepasa una espera superior a un múltiplo entero de 2-tp sin recibir balizas.
Cada vez que el contador sobrepasa una espera múltiplo de 2-tp se activa el algoritmo que implementa el diagrama de flujo de la Fig. 5. Dicho evento indica que ha habido un nodo muerto y se requiere entonces de la correspondiente actualización en el vector de estados y del seguimiento del protocolo o proceso de sincronización, en caso de que pudiera quedarse estancado. El protocolo se queda estancado cuando, al desaparecer todos los nodos con turnos posteriores al que envió la última baliza y anteriores al nodo cuyo código se está ejecutando, éste último pasa a ser el primer nodo vivo.
Además de las modificaciones básicas comentadas, en este algoritmo se pretenden abordar sólo casos muy concretos de desapariciones de nodos que influyen negativamente en el funcionamiento del protocolo si no se tienen en cuenta sus consecuencias. Estos casos son la desaparición del nodo 2 durante el segundo ciclo de sincronización y la desaparición del último nodo.
Sólo se pretende hacer en tales casos para no tener que actualizar cada vez que muere uno de los nodos. Así, si desaparece una serie consecutiva de nodos se pueden a veces actualizar todos a la vez. De manera que, en este algoritmo, las posiciones lógicas y el número de nodos de la red sólo se actualizan en casos muy concretos.
Las acciones a seguir por cada nodo o sensor de la red, a partir de la casilla denominada "Inicio" en el diagrama de la Fig. 5, son las siguientes:
C1 : Si el contador sobrepasa un tiempo de espera múltiplo de 2-tp, el nodo que ejecuta el algoritmo empieza, si no, espera hasta que se produzca tal situación.
C2: El nodo empieza incrementando una unidad la variable que cuenta los nodos muertos, ya que se ha sobrepasado la espera límite y por lo tanto se ha determinado que se ha producido la baja de uno o más nodos.
Es importante tener en cuenta que, a nivel de diagrama de flujo, de la misma forma que aquí se incrementa la variable de nodos muertos, se podría también actualizar el vector de estados. Sin embargo, esta acción debe realizarse de forma diferente cuando se quiere implementar el diagrama de flujo en código, donde cada punto pasa a ser realizado mediante el contador, el vector de estados, el número total de nodos de la red, etc.
El problema está en que la manera de actualizar el vector de estados es una u otra en función del punto del algoritmo que se esté ejecutando. Por esta razón, la actualización del vector de estados aparecerá después de cada uno de los casos C3, C18, C23, C42 y C51 , en lugar de en este punto C2.
C3: En este punto el nodo comprueba si está en el ciclo de subida y el turno era de algún nodo inferior. Si es así se pasa a la casilla C4, si no, a la C17.
C4: Como ha desaparecido un nodo, el nodo que está ejecutando el algoritmo actualiza el vector de estados. Como se está en el primer ciclo y le toca a un nodo inferior se actualiza también el valor del error temporal ej utilizable para obtener el retardo corregido τ.
C5: Aquí el nodo comprueba si es el primer nodo vivo desde el último que envió una baliza, en cuyo caso realiza las acciones que comienzan por la casilla C6. Si no es así no es necesaria ninguna otra actualización ni seguir el protocolo, ya que lo debe hacer otro nodo con turno anterior al del que está ejecutando el algoritmo, por lo que el nodo finaliza aquí las acciones a realizar. C6: Como el nodo es el primero vivo, pasa a ser su primer turno, por lo que es como si acabara de recibir la baliza del anterior nodo durante el ciclo de subida y por lo tanto ha de parar, en este punto, la cuenta de tiempo que permitirá el cálculo del retardo
T.
C7: Como es el primer nodo vivo y está en el primer ciclo, ya no espera que mueran más nodos antes de su turno, y actualiza el error temporal e¡ utilizable para obtener el retardo corregido r. Como ha muerto un nodo con posición inferior, y al no esperar que mueran más nodos antes de su turno, el nodo actualiza su nueva posición lógica, que se verá reducida, además claro del número de nodos de la red.
C8: Tras las actualizaciones indicadas, aquí el nodo comprueba si es el último, en cuyo caso se ha de tener en cuenta que sólo debe enviar una baliza, y que por lo tanto el instante de envío de ésta es su tiempo de referencia para empezar a contar el tiempo previamente calculado r, hasta enviar la señal contenedora del mensaje común hacia la estación base. Si no es el último sensor no es necesario lo comentado.
C9: El nodo comprueba en este punto si es el que ocupa la primera posición lógica en la red, es decir si es el único nodo que queda vivo, porque han desaparecido todos los demás en algún ciclo de sincronización.
C10. Al ser el nodo el único que queda vivo, éste procede a enviar directamente, en este punto, la señal contenedora del mensaje común hacia la estación base.
C1 : Aquí el nodo detiene la cuenta del tiempo At porque ya no ha de recibir ninguna otra baliza, tras lo cual finaliza sus acciones.
C12: Aquí el nodo envía, por radiodifusión, la única baliza que ha de enviar, por ser el último nodo, que corresponde al ciclo de bajada.
C13: Tal y como se ha indicado en el punto C8, aquí el nodo envía la señal contenedora del mensaje común hacia la estación base después de un tiempo τ, corregido según las bajas.
C1 : El nodo reinicia en este punto la cuenta del tiempo At porque ya ha realizado todas las actualizaciones correspondientes al nodo/nodos desaparecidos, y acaba de enviar una baliza, por lo que tiene que empezar a contar nodos muertos de nuevo.
C15: Como el llegar a esta casilla significa que es el primer turno del nodo, éste procede a radiodifundir la primera baliza del protocolo de sincronización, la correspondiente al ciclo de subida. C16: Aquí el nodo reinicia la cuenta del tiempo At porque ya ha realizado todas las actualizaciones correspondientes al nodo/nodos desaparecidos, y acaba de enviar una baliza, por lo que tiene que empezar a contar nodos muertos de nuevo.
C17. En esta casilla el nodo comprueba si es el último sensor.
Tal y como se ha indicado con referencia a la casilla B19 del diagrama de flujo de la fig. 4, aquí, en lugar de seguir comprobando los turnos y el tipo de ciclo (subida o bajada) como en C3, se separa primero el problema en dos, según se trate del último nodo o no, ya que el último nodo necesita aquí un trato especial.
Para el caso en que no sea el último sensor, se sigue con la misma dinámica que anteriormente, ahora en los puntos C23, C42 y C51 , con lo que la siguiente pregunta se basa en saber si es el turno de un nodo superior, todavía en el ciclo de subida. Después se analizan los diferentes casos para el ciclo de bajada. Es importante recordar que en estos casos se pretenden abordar solamente casos muy concretos de desapariciones.
También es importante tener en cuenta que la división aquí realizada no sería necesario llevarla a cabo en el diagrama de flujo porque el último nodo no activará ninguna de las casillas C23 y C42. Y la C51 , que es la que activaría, es idéntica a la C18. Sin embargo, la división sí que es necesaria cuando se quiere implementar el diagrama de flujo en código, donde cada punto pasa a ser realizado mediante el contador, el vector de estados, el número de sensores de la red, etc. El problema está en que las condiciones C23 y C42 implementadas a partir de comparaciones entre valores de estas variables no funcionan correctamente para el caso del último nodo, y podría ser que éste activara alguna de ellas. Es por esta razón que se hace aquí esta división.
Para otro ejemplo de realización, el método comprende llevarse a cabo mediante un diagrama de flujo como el de la Fig. 5 pero prescindiendo de las casillas C18 a C22.
C18: El nodo comprueba en este punto si está en el ciclo de bajada y el turno era de algún nodo inferior. Si es así el nodo realiza las acciones correspondientes a este caso, empezando por el punto C19. Si no, no hace nada (de hecho la respuesta siempre será afirmativa porque no hay más opciones, pero al añadir la condición queda todo más esquematizado).
C19: Como ha desaparecido un nodo, el nodo que ejecuta el algoritmo actualiza el vector de estados. C20: El nodo comprueba si la baja corresponde al nodo 2. Si es así pasa a la casilla C21 , y si no, ya no son necesarias más actualizaciones y el nodo finaliza aquí sus acciones.
C21 : Si la baja corresponde al nodo 2, como ha muerto un nodo con posición inferior, y al no esperar que mueran más nodos porque el nodo 1 no vuelve a enviar ninguna baliza sino que envía ya el mensaje hacia la estación base, el nodo que ejecuta el algoritmo actualiza, en este punto, su nueva posición lógica, que se verá reducida, además claro del número de nodos de la red.
C22: En esta casilla el nodo para la cuenta del tiempo At porque ya no ha de recibir ninguna otra baliza, tras lo cual finaliza sus acciones.
C23: El nodo comprueba en este punto si está en el ciclo de subida y el turno era de algún nodo superior, en cuyo caso pasa a la casilla C24 y si la respuesta es negativa pasa a la casilla C42.
C24: Como ha desaparecido un nodo, el nodo que ejecuta el algoritmo actualiza el vector de estados.
C25: El nodo comprueba aquí si al desaparecer el último nodo ha pasado a ser el último nodo vivo. Si es así se realizan las acciones correspondientes a este caso, comenzando por el punto C26. En caso contrario se analizan otros posibles casos críticos dentro de este camino al que se ha entrado por el punto C23.
C26: Como ha muerto un nodo con posición superior, y al no esperar que mueran más nodos antes de su turno, el nodo actualiza solamente el número de nodos de la red.
C27: Aquí el nodo comprueba si, además del último, es también el primer nodo, es decir el único que queda vivo porque han desaparecido todos los demás en algún ciclo de sincronización.
C28: Si efectivamente es el único nodo que queda vivo, éste envía directamente el mensaje hacia la estación base.
C29: Tras ello, en este punto el nodo detiene la cuenta del tiempo At porque ya no ha de recibir ninguna otra baliza.
C30: En este punto, al que se llega porque el nodo no es el único que queda vivo, éste envía el mensaje hacia la estación base después de un tiempo τ corregido según las bajas. Al ser el nodo el último se ha de tener en cuenta que sólo envía una baliza, y en este caso ya ha sido enviada en el ciclo de subida. Por lo tanto el instante de envío de ésta es el tiempo de referencia que utiliza el nodo para empezar a contar el tiempo previamente calculado r, hasta enviar el mensaje hacia la estación base. C31 : El nodo reinicia aquí la cuenta del tiempo At porque ya ha realizado todas las actualizaciones correspondientes al nodo/nodos desaparecidos, y es como si acabara de enviar una baliza. Tiene que empezar a contar nodos muertos de nuevo. Tras ello finaliza sus acciones por este camino.
C32: El nodo comprueba en este punto si al desaparecer el último nodo él ha pasado a ser el penúltimo nodo vivo. Si es así realiza las acciones correspondientes a este caso, empezando por la asociada a la casilla C33. Si no es así se analizan otros posibles casos críticos dentro de esta ramificación a la que se ha entrado por el punto C23. Si el nodo ha determinado que es el penúltimo nodo vivo se ha de tener en cuenta que el ahora último ya ha enviado una baliza, y que por lo tanto ahora es el turno del nodo que ejecuta el algoritmo.
C33: Como ha muerto un nodo con posición superior, y al no esperar que mueran más nodos antes del turno del nodo que ejecuta el algoritmo, éste actualiza solamente el número de nodos de la red.
C34: El nodo comprueba si, además del penúltimo, es el primer nodo, en caso de que sea así pasa a la casilla C35, y si no, a la C37.
C35: Al ser el nodo el primer nodo, envía directamente el mensaje hacia la estación base.
C36: Aquí el nodo para la cuenta del tiempo ΔΧ porque ya no ha de recibir ninguna otra baliza.
C37: Como el llegar a esta casilla implica que es el segundo turno del nodo, éste radiodifunde la segunda baliza del protocolo de sincronización, la correspondiente al ciclo de bajada.
C38: Al ser su segundo turno, el nodo envía el mensaje hacia la estación base después de un tiempo corregido según las bajas.
C39: El nodo reinicia aquí la cuenta del tiempo At porque ya ha realizado todas las actualizaciones correspondientes al nodo/nodos desaparecidos, y acaba de enviar una baliza. Tiene que empezar a contar nodos muertos de nuevo. Tras ello finaliza sus acciones por este camino.
C40: El nodo comprueba en esta casilla si ha desaparecido el último nodo pero no es ni el último ni el penúltimo nodo vivo. En caso afirmativo es necesario actualizar para proteger el caso en que desaparezca también el penúltimo durante el ciclo de bajada. La baja del penúltimo nodo haría que, al no recibirse baliza de éste, no se activara el primer algoritmo, el de la Fig. 4, y no se actualizara el número de nodos de la red. Si la baja no corresponde al último nodo, ya no son necesarias más actualizaciones y se finaliza aquí la ejecución de acciones por parte del nodo. C41 : Como ha muerto el último nodo, y al poder desaparecer más nodos antes del turno del nodo que ejecuta el algoritmo, éste actualiza solamente el número de nodos de la red. En este caso, no es necesaria ninguna otra actualización ni seguir el protocolo, ya que lo debe hacer otro nodo con turno anterior al suyo (con posición lógica superior). Como el nodo no envía de momento ninguna otra baliza porque hay nodos vivos entre su posición y la del último nodo (que ha muerto), no reinicia la cuenta At y deja que siga contando.
C42: Aquí el nodo comprueba si se está en el ciclo de bajada y el turno era de algún nodo superior. Si la repuesta es afirmativa se pasa a la casilla C43 y si no, a la C51.
C43: Como ha desaparecido un nodo, el nodo que ejecuta el algoritmo actualiza el vector de estados.
C44: El nodo comprueba aquí si es el primer nodo vivo desde el último que envió una baliza. Si es así pasa a la casilla C45, y si no, no es necesaria ninguna otra actualización ni seguir el protocolo, ya que lo debe hacer otro nodo con turno anterior al suyo, por lo que el nodo finaliza sus acciones.
C45: Como el nodo es el primero vivo, éste desactiva el envío del mensaje hacia la estación base ya que, como ha habido bajas de nodos en el ciclo de bajada, el nodo no es capaz de corregir el retardo r. Y como las bajas han sido de nodos con posición lógica superior a la del nodo que ejecuta el algoritmo, todavía está a tiempo de desactivar el envío, pues no lo ha empezado.
En el caso en que hayan bajas en el ciclo de bajada pero por parte de nodos con posición lógica inferior, no se cancela el envío ya que éste contiene un error común entre todos los nodos que envían (los que están posicionados lógicamente por encima del nodo muerto con posición más alta son los únicos que enviarán).
C46: Como ha muerto un nodo con posición superior, y al no esperar que mueran más nodos antes del turno del nodo que ejecuta el algoritmo, éste actualiza solamente el número de nodos de la red.
C47: Aquí el nodo comprueba si es el primer nodo. Si es así ya no son necesarias más actualizaciones y se pasa a la casilla C48. Si no, éste realiza las tareas correspondientes a este caso, empezando por el punto C49.
C48: Aquí el nodo para la cuenta del tiempo At porque ya no ha de recibir ninguna otra baliza.
C49: Como es el segundo turno del nodo, éste radiodifunde la segunda baliza del protocolo de sincronización, la correspondiente al ciclo de bajada. C50: El nodo reinicia aquí la cuenta del tiempo At porque ya ha realizado todas las actualizaciones correspondientes al nodo/nodos desaparecidos, y acaba de enviar una baliza. Tiene que empezar a contar nodos muertos de nuevo. Tras ello finaliza sus acciones por este camino.
C51 : El nodo comprueba en este punto si está en el ciclo de bajada y el turno era de algún nodo inferior. Si es así el nodo realiza las acciones correspondientes a este caso, empezando por el punto C52. Si no, no hace nada. De hecho la respuesta siempre será afirmativa porque no hay más opciones, pero al añadir la condición queda todo más esquematizado.
C52: Como ha desaparecido un nodo, el nodo que ejecuta el algoritmo actualiza el vector de estados.
C53: El nodo comprueba si la baja corresponde al nodo 2. Sí es así pasa a la casilla C54, y si no, ya no son necesarias más actualizaciones y el nodo finaliza aquí sus acciones.
C54: Si la baja corresponde al nodo 2, como ha muerto un nodo con posición inferior, y al no esperar que mueran más nodos porque el nodo 1 no vuelve a enviar ninguna baliza sino que envía ya el mensaje hacia la estación base, el nodo que ejecuta el algoritmo actualiza, en este punto, su nueva posición lógica, que se verá reducida, además claro del número de nodos de la red.
C55: En esta casilla el nodo para la cuenta del tiempo At porque ya no ha de recibir ninguna otra baliza, tras lo cual finaliza sus acciones.
Los diagramas de flujo que se acaban de describir, con referencia a las Figs. 4 y 5, son solamente representativos de unos ejemplos de realización de implementación del método propuesto por el primer aspecto de la invención, pero éstos pueden sufrir modificaciones para otros ejemplos de realización. Por ejemplo el segundo diagrama, el de la Fig. 5, se puede modificar para que, para otro ejemplo de realización, actualice todas las variables cada vez que desaparezca un nodo, con lo que el de la Fig. 4 se simplificaría ya que no tendría que esperar a que un nodo recibiese una baliza para realizar las actualizaciones mencionadas.
Un experto en la materia podría introducir cambios y modificaciones en los ejemplos de realización descritos sin salirse del alcance de la invención según está definido en las reivindicaciones adjuntas. Referencias
[Bro08] Brown, D.R.; Poor, H.V.; "Time-Slotted Round-Trip Carrier Synchronization for Distributed Beamforming", Signal Processing, IEEE Transactions on, vol. 56, Issue 1 1 , pp. 5630-5643, Nov. 2008.
[Mud04] G. Barriac, R. Mudumbai, and U. Madhow, "Distributed beamforming for information transfer in sensor networks", Proc. 3rd International Symposium on Information Processing in Sensor Networks (IPSN'04), pp. 81-88, Apr. 26-27, 2004.
[Mud05] R. Mudumbai, J. Hespanha, U. Madhow, and G. Barriac, "Scalable feedback control for distributed beamforming in sensor networks", Information Theory, 2005. ISIT 2005. Proceedings. International Symposium on, pp. 137-141 , Sep. 2005. [Mud07] R. Mudumbai, G. Barriac, and U. Madhow, "On the Feasibility of Distributed Beamforming in Wireless Networks", Wireless vol. 6, Issue 5, pp. 1754-1763, May 2007.
[Tu02] Y.-S. Tu and G. Pottie, "Coherent cooperative transmission from múltiple adjacent antennas to a distant stationary antenna through AWGN channels", in Proc.55th IEEE Vehicular Technology Conference Spring 2002, vol. 1 , pp. 130-134.
[Wan08] Qian Wang and Kui Ren, "Time-Slotted Round-Trip Carrier Synchronization in Large-Scale Wireless Networks", Communications, 2008. ICC apos;08. IEEE International Conference on, pp. 5087-5091 , May. 2008.

Claims

Reivindicaciones
1. - Método de conformación de haz distribuida en redes de nodos inalámbricos, del tipo que comprende realizar las siguientes etapas:
a) radiodifundir, desde una estación base, una señal de baliza a una pluralidad de nodos inalámbricos de una red;
b) realizar una primera etapa de sincronización que comprende enviar, secuencialmente, cada uno de dichos nodos inalámbricos, después de la recepción de dicha señal de baliza, una respectiva señal de referencia temporal a al menos un nodo consecutivo, o más cercano, según un primer sentido en un ciclo de subida, empezando por un primer nodo de dicha red; y
c) realizar una segunda etapa de sincronización que comprende enviar, secuencialmente, cada uno de dichos nodos inalámbricos, una respectiva señal de referencia temporal a al menos un nodo consecutivo, o más cercano, según un segundo sentido, opuesto a dicho primer sentido, en un ciclo de bajada, empezando por el último nodo de dicha red;
realizándose al menos dichas etapas a), b) y c) con el fin de realizar una etapa d) que comprende enviar, tras dicha etapa c), por parte de cada uno de dichos nodos inalámbricos una respectiva señal conteniendo un mensaje común, de manera distribuida, a dicha estación base, de manera sincronizada en fase, en frecuencia y en el tiempo de llegada, para que en ésta se sumen todas las señales recibidas de manera constructiva;
estando dicho método caracterizado porque comprende determinar que al menos uno de dichos nodos inalámbricos ha causado baja en dicha red si al menos su respectivo nodo consecutivo no ha recibido la respectiva señal de referencia temporal del mismo, en dicha etapa b) o en dicha etapa c), después de un tiempo de espera predeterminado, y enviar, tras dicha determinación, por parte de dicho nodo consecutivo, su respectiva señal de referencia temporal al siguiente nodo, en dicho ciclo de subida de dicha etapa b) o en dicho ciclo de bajada de dicha etapa c), y porque la posición de cada uno de los nodos en dicha red es una posición lógica conocida por el respectivo nodo, siendo dichos primer y último nodos los que tienen las posiciones lógicas primera y última, respectivamente.
2. - Método según la reivindicación 1 , caracterizado porque dicho tiempo de espera predeterminado es sustancialmente igual a 2-tp para cada nodo que ha causado baja, y de m-2-tp para m nodos consecutivos que han causado baja, si es el caso, siendo tp un tiempo de propagación máximo estimado entre dos nodos cualesquiera de la red.
3. - Método según la reivindicación 1 ó 2, caracterizado porque comprende radiodifundir dichas señales de referencia temporal en dichas etapas b) y c), de manera que éstas son recibidas también por el resto de nodos de la red, además de por el nodo consecutivo al cual van explícitamente dirigidas, comprendiendo el método llevar a cabo dicha determinación de que al menos un nodo ha causado baja además de en dicho nodo consecutivo, también en cada uno de los demás nodos de la red, si tras la recepción de la señal de referencia temporal radiodifundida por el nodo anterior al que puede haber causado baja, transcurre dicho tiempo de espera predeterminado sin recibir otra señal de referencia temporal.
4. - Método según la reivindicación 3, caracterizado porque comprende, tras dicha determinación de la baja de al menos un sensor, actualizar la composición de la red en cada uno de los nodos de la red que no han causado baja, al menos por lo que se refiere a número total de nodos vivos y estado de cada uno de los nodos, y, únicamente para los nodos superiores respecto al que ha causado baja, en cualquiera de dichos primer y segundo sentidos, también por lo que se refiere a su nueva posición lógica en la red.
5. - Método según la reivindicación 4, caracterizado porque comprende contar, mediante un contador interno de cada nodo, el número de señales recibidas, incluyendo dicha señal de baliza y dichas señales de referencia temporal radiodifundidas, para saber, cada nodo, teniendo en cuenta al menos su posición lógica, cuándo es su turno para considerar que la señal de referencia temporal recibida va explícitamente dirigida al mismo y para realizar el posterior envío de su señal temporal de referencia en dicha etapa b) y/o en dicha etapa c).
6. - Método según la reivindicación 5, caracterizado porque cuando el último nodo, según el ciclo de subida de la etapa b), causa baja, el método comprende que el penúltimo nodo tome el papel de dicho último nodo y solamente deba enviar una señal de referencia temporal, la ya enviada en el ciclo de subida, y porque cuando el antepenúltimo nodo determina dicha baja del último nodo, producida en el ciclo de subida de la etapa b), el método comprende considerar, por parte de dicho antepenúltimo nodo, que la señal de referencia temporal radiodifundida por el penúltimo nodo en la etapa b) forma parte del envío del ciclo de bajada de la etapa c) y va dirigida a dicho antepenúltimo nodo.
7.- Método según una cualquiera de las reivindicaciones anteriores, caracterizado porque si dicha determinación de la baja de al menos un nodo se realiza en dicha etapa b), el método comprende realizar dicha etapa d) mediante todos los nodos que no han causado baja.
8. - Método según una cualquiera de las reivindicaciones anteriores, caracterizado porque si dicha determinación de la baja de al menos un nodo se realiza en dicha etapa c), el método comprende cancelar la realización de dicha etapa d) al menos por lo que respecta a los nodos posteriores al que ha causado baja, según dicho segundo sentido.
9. - Método según una cualquiera de las reivindicaciones 1 a 8, caracterizado porque comprende utilizar, en dichas etapas b) y c), unas señales de referencia temporal independientes de dicha señal de baliza.
10. - Método según la reivindicación 9, caracterizado porque dichas señales de referencia temporal contienen al menos un pulso o un impulso.
11. - Método según una cualquiera de las reivindicaciones 1 a 8, caracterizado porque comprende utilizar, en dichas etapas b) y c), unas señales de referencia temporal dependientes de dicha señal de baliza.
12. - Método según la reivindicación 9 u 11 , caracterizado porque comprende utilizar dichas señales de referencia temporal para realizar la sincronización en el tiempo de llegada a la estación base de las respectivas señales contenedoras de dicho mensaje común enviadas, en dicha etapa d), por parte de cada uno de los nodos, mediante la determinación del momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común en dicha etapa d).
13. - Método según la reivindicación 12, caracterizado porque comprende realizar dicha determinación mediante el cálculo previo, en cada nodo, de un retardo r contando el tiempo que va desde la finalización de la recepción de la señal de baliza hasta la finalización de la recepción de la señal de referencia temporal enviada por el nodo inmediatamente anterior, en la etapa b), si éste no ha causado baja, determinándose que dicho momento es igual al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en dicha etapa c), más dicho retardo calculado r.
14.- Método según la reivindicación 12, caracterizado porque comprende determinar que dicho momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común es igual, si al menos un nodo con posición lógica inferior ha causado baja en la etapa b), al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en dicha etapa c), más un retardo τ corregido resultante de restar un valor de error temporal e¡ a un retardo t que va desde la finalización de la recepción de la señal de baliza hasta la finalización de la recepción de la señal de referencia temporal enviada por un nodo que no ha causado baja en la etapa b) con una posición lógica inferior inmediatamente anterior al nodo en cuestión pero superior a la del que ha causado baja.
15.- Método según la reivindicación 12, caracterizado porque comprende determinar que dicho momento en que cada nodo debe enviar su respectiva señal contenedora del mensaje común es igual, si al menos un nodo con posición lógica inferior e inmediatamente anterior al nodo en cuestión ha causado baja en la etapa b), al tiempo en que el nodo en cuestión ha acabado de enviar su respectiva señal de referencia temporal, en dicha etapa c), más un retardo r corregido resultante de restar un valor de error temporal e¡ a un retardo que va desde la finalización de la recepción de la señal de baliza hasta la finalización del transcurso de dicho tiempo de espera predeterminado sin recibir una señal temporal de referencia.
16. - Método según la reivindicación 14 ó 15, caracterizado porque dicho valor de error temporal e, es sustancialmente igual a m-2tp, siendo tp un tiempo de propagación estimado entre dos nodos, y m el número de nodos consecutivos que han causado baja.
17. - Método según la reivindicación 1 , caracterizado porque comprende realizar la sincronización de fase y frecuencia, en dicha etapa d), de las respectivas señales contenedoras del mensaje común enviadas por parte de cada uno de los nodos, de manera distribuida, a la estación base, mediante la estimación, en cada nodo, de la fase y frecuencia de la señal de baliza recibida en dicha etapa a).
18. - Método según la reivindicación 1 ó 12, caracterizado porque dicha sincronización en el tiempo de llegada es una sincronización de símbolo.
19.- Sistema de conformación de haz distribuida en redes de nodos inalámbricos, del tipo que comprende:
- una estación base (D0) prevista para radiodifundir por al menos una antena omnidireccional una señal de baliza; y
- una pluralidad de nodos inalámbricos (S^ S2...Sj...SN) dispuestos formando una red de comunicaciones, estando cada uno de dichos nodos inalámbricos (Si,
S2...Sj... SN) previsto para recibir dicha señal de baliza y para enviar una respectiva señal conteniendo un mensaje común, de manera distribuida, a dicha estación base (D0), de manera sincronizada en fase, en frecuencia y en el tiempo de llegada, para que en ésta se sumen todas las señales recibidas de manera constructiva; estando dicho sistema caracterizado porque está configurado para implementar el método según una cualquiera de las reivindicaciones anteriores.
20. - Sistema según la reivindicación 19, caracterizado porque cada uno de dichos nodos inalámbricos (S S2... Sj... SN) comprende una antena omnidireccional por la que realizar dichos envíos de las etapas b) y c), y al menos una unidad de procesamiento prevista para al menos determinar que al menos uno de los nodos inalámbricos (S , S2... Sj... SN) ha causado baja, teniendo dicha unidad de procesamiento acceso a al menos una memoria, y capacidad para registrar en dicha memoria, que es al menos una, unos datos referentes al número total de nodos que conforman la red, al estado de los mismos, y a la posición lógica que ocupa en la red el nodo en cuestión, estando dicha unidad de procesamiento también prevista para actualizar dichos datos tras la determinación de que al menos un nodo ha causado baja.
21. - Sistema según la reivindicación 20, caracterizado porque dicha unidad de procesamiento está prevista también para determinar el momento en que el nodo debe enviar su respectiva señal contenedora del mensaje común en dicha etapa d), realizando todos los cálculos necesarios, para asegurar la mencionada sincronización en el tiempo de llegada a la estación base (D0) de las respectivas señales contenedoras de dicho mensaje común enviadas, en la etapa d), por parte de cada uno de los nodos
Figure imgf000036_0001
22. - Sistema según una cualquiera de las reivindicaciones 19 a 21 , caracterizado porque dichos nodos inalámbricos (S S2... Sj... SN) son unos sensores inalámbricos y porque dicha red inalámbrica es una red ad hoc que contiene un número arbitrario de sensores inalámbricos.
23.- Sistema según una cualquiera de las reivindicaciones 19 a 22, caracterizado porque dichos nodos inalámbricos (Si, S2... Sj... SN) son móviles.
24.- Nodo inalámbrico aplicable a un sistema de conformación de haz distribuida en redes de nodos inalámbricos, del tipo que está configurado para constituir, junto con otros nodos inalámbricos (Si, S2... Sj... SN) iguales o análogos, el sistema propuesto según una cualquiera de las reivindicaciones 19 a 23.
PCT/ES2011/000128 2010-04-14 2011-04-14 Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema Ceased WO2011128475A1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES201290075A ES2396766B1 (es) 2011-04-14 2011-04-14 Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, y nodo inalámbrico aplicable a tal sistema

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201000495 2010-04-14
ESP201000495 2010-04-14

Publications (1)

Publication Number Publication Date
WO2011128475A1 true WO2011128475A1 (es) 2011-10-20

Family

ID=44798289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2011/000128 Ceased WO2011128475A1 (es) 2010-04-14 2011-04-14 Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema

Country Status (1)

Country Link
WO (1) WO2011128475A1 (es)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008003022A2 (en) * 2006-06-29 2008-01-03 Intel Corporation Calibration systems and techniques for distributed beamforming
US20100039933A1 (en) * 2008-08-12 2010-02-18 General Atomics Method and system for network setup and maintenance and medium access control for a wireless sensor network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008003022A2 (en) * 2006-06-29 2008-01-03 Intel Corporation Calibration systems and techniques for distributed beamforming
US20100039933A1 (en) * 2008-08-12 2010-02-18 General Atomics Method and system for network setup and maintenance and medium access control for a wireless sensor network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BROWN, D.R. ET AL.: "Time-Slotted Round-Trip Carrier Synchronization for Distributed Beamforming", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 56, no. 11, November 2008 (2008-11-01), pages 5630 - 5643, XP011227928, DOI: doi:10.1109/TSP.2008.927073 *

Similar Documents

Publication Publication Date Title
US10680939B2 (en) Hybrid flood-relaying and routing mesh networks
US8139504B2 (en) System, device, and method for unifying differently-routed networks using virtual topology representations
US20070233835A1 (en) Methodology for scheduling data transfers from nodes using path information
JP6403411B2 (ja) 無線通信方法
US10098081B2 (en) Method and device for shifting state of NAN terminal in wireless communication system
JP2008283675A (ja) 順方向および逆方向のマルチポイントリレー(mpr)スパニングツリー経路を用いるアドホックネットワーク経路制御プロトコル
US20170105178A1 (en) Coordinated Duty Cycle Assignment in Mesh Networks
EP3334214B1 (en) Method, apparatus and computer program for routing a data packet
KR101560523B1 (ko) 에너지 효율성을 고려한 무선센서 네트워크 운영방법
Pu et al. Lightweight forwarding protocols in energy harvesting wireless sensor networks
CN105554832A (zh) 一种双中继节点交替能量收集和信息中继的协作通信系统及其通信方法
CN109041010A (zh) 基于半朴素贝叶斯分类器的车载容迟网络数据转发方法
EP2600681B1 (en) Technique for changing the operating state of a node within a network
Loh et al. An efficient and reliable routing protocol for wireless sensor networks
Wang et al. PSR: Proactive source routing in mobile ad hoc networks
WO2009063417A1 (en) Power save mode transition for wireless networks
US11304084B1 (en) System and method for beacon-based passive clustering in mobile ad hoc networks (MANET)
US9049136B2 (en) System and method for packet transmission along shortest-path to multiple destinations
CN106162800A (zh) 一种无线Ad Hoc网络拓扑结构的实现方法
WO2011128475A1 (es) Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, v nodo inalámbrico aplicable a tal sistema
ES2396766B1 (es) Método y sistema de conformación de haz distribuida en redes de nodos inalámbricos, y nodo inalámbrico aplicable a tal sistema
CN114339668B (zh) 一种基于多维度量准则的olsr路由协议
CN108184250A (zh) 基于表机制利用传播时延的水声节点暴露终端解决方法
Sakai et al. Fast connected dominating set construction in mobile ad hoc networks
Zhang et al. Body-to-body network routing algorithm based on link comprehensive stability

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11768487

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: P201290075

Country of ref document: ES

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11768487

Country of ref document: EP

Kind code of ref document: A1