EP2592890B1 - Traffic load management for uplink network traffic - Google Patents
Traffic load management for uplink network traffic Download PDFInfo
- Publication number
- EP2592890B1 EP2592890B1 EP11188907.7A EP11188907A EP2592890B1 EP 2592890 B1 EP2592890 B1 EP 2592890B1 EP 11188907 A EP11188907 A EP 11188907A EP 2592890 B1 EP2592890 B1 EP 2592890B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- contention window
- node
- contention
- list
- size
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 53
- 238000011144 upstream manufacturing Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 18
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/08—Non-scheduled access, e.g. ALOHA
- H04W74/0833—Random access procedures, e.g. with 4-step access
- H04W74/0841—Random access procedures, e.g. with 4-step access with collision treatment
- H04W74/085—Random access procedures, e.g. with 4-step access with collision treatment collision avoidance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/08—Non-scheduled access, e.g. ALOHA
- H04W74/0808—Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA]
- H04W74/0816—Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA] with collision avoidance
Definitions
- a mesh network may include a plurality of nodes, many of which may include software producing data for transmission. Many of the nodes may also have associated devices, including sensors, meters, etc., which may gather data. Collectively, the nodes may generate a considerable amount of data to be sent upstream to a root node for transmission to a central office.
- US2007/0214379A1 relates to techniques for controlling transmissions in wireless communication networks such as mesh networks.
- existing networks do not provide an effective way of managing uplink network traffic in a network, such as a multi-channel wireless mesh network.
- a particular problem in existing networks is that traffic among nodes may increase for nodes nearer the root node. This increase may result in a bottleneck, which may degrade network performance. A number of factors may be to blame.
- existing networks may include nodes having longer contention windows that do not allow them to compete for bandwidth and process data at a rate required, based on the data that they receive from downstream nodes.
- a "contention window” refers to a period of time during which a node waits to transmit, upon cessation of radio frequency (RF) signals on a particular channel, before transmitting.
- RF radio frequency
- contention windows provide a "staggered start,” wherein one node is permitted to start RF transmission before other nodes, thereby forcing the other nodes waiting to transmit to suspend a timeout calculation of their own contention windows. Accordingly, contention windows are part of a collision avoidance system in wireless networks.
- Uplink network traffic may include data flowing from node to node within a mesh network in an upstream direction, i.e., toward a root node.
- the network, nodes and data may include, for example, smart utility meters (e.g., electric, gas, and/or water meters), sensors (e.g., temperature sensors, weather stations, frequency sensors, etc.), control devices, transformers, routers, servers, relays (e.g., cellular relays), switches, valves, and other network devices and the data generated and/or transmitted from any of the preceding. From the root node, the data may be transferred to a further network for transport to a central office.
- smart utility meters e.g., electric, gas, and/or water meters
- sensors e.g., temperature sensors, weather stations, frequency sensors, etc.
- control devices e.g., transformers, routers, servers, relays (e.g., cellular relays), switches, valves, and other network devices and the data generated and/or transmitted from any of
- the root node may be configured as a cellular router within a context of an autonomous routing area (ARA) of utility smart meters, may receive data from the mesh network, and may transmit that data to servers within the Internet for transfer to a central office, server or other desired location.
- ARA autonomous routing area
- a node may assist in the management of upstream network traffic in part by managing a contention window used by the node.
- a contention window used by the node.
- nodes desiring to begin transmission must each wait until expiration of their own contention windows.
- a node having a shortest contention window is able to start transmission first, thereby preventing other nodes from transmitting. Accordingly, length of a contention window is a factor governing traffic on an RF network, such as a mesh network comprising a plurality of nodes, which may be configured as an ARA of utility smart meters.
- a node may assist in the management of upstream network traffic in part by managing a contention window used by the node.
- the node may maintain a list of size(s) of contention window(s) of parent node(s) of the node.
- the node may set its own contention window to be longer (i.e., a longer period of time) than upstream neighbor nodes and/or parent nodes. With a longer contention window than its parent node(s), the node will refrain from using an RF channel needed by a parent node. That is, parent nodes will generally have a higher priority (i.e., shorter contention window size) than their child nodes. Accordingly, upstream nodes are better able to transmit any backlog of data before receiving additional data from downstream nodes. This may better distribute data over the network, and may better manage data flow.
- Example Network Architecture which describes an ARA, including smart utility meters and other devices as a representative environment that may implement the techniques described herein.
- Example Node Configuration illustrates and describes an example configuration for a node usable in a network such as an ARA and which provides uplink network traffic load management.
- Example Contention Window Operation illustrates and describes an example of contention window techniques that provide uplink network traffic load management.
- Example Methods and “Example Uplink Network Traffic Load Management Methods” illustrate and describe techniques that may be used to manage contention windows within nodes and to provide uplink network traffic load management.
- FIG. 1 is a schematic diagram showing example architecture 100 of a network, such as for example a multi-channel, wireless mesh network, in which uplink transmissions can be routed at least in part according to contention windows set at each node according to prescribed techniques described herein.
- the architecture 100 includes a plurality of nodes 102A, 102B, 102C, 102D, ... 102N (collectively referred to as nodes 102) communicatively coupled to each other via direct communication radio frequency (RF) signals, transmissions or links.
- RF radio frequency
- N represents an example number of nodes in an autonomous routing area (ARA), which may be configured as a wide area network (WAN), metropolitan area network (MAN), local area network (LAN), neighborhood area network (NAN), personal area network (PAN), or the like.
- ARA autonomous routing area
- each of the plurality of channels may be defined by a frequency range which is the same or different for each of the plurality of channels, and each channel may be centered about a different frequency.
- the plurality of channels comprises RF channels, typically having a frequency width appropriate to an anticipated modulation and environmental condition(s).
- the plurality of channels may comprise a control channel and multiple data channels.
- the control channel is utilized for communicating one or more short messages between nodes to specify one of the data channels to be utilized to transfer data.
- the control channel may be utilized by a plurality of nodes to transmit information indicating their contention window length.
- the length of the contention window may be expressed as a period of time, a number of time "slots," or any other agreed upon technique. Generally, transmissions on the control channel are shorter relative to transmissions on the data channels.
- the nodes 102 are also configured to communicate with a central office 104 via a root node, such as an edge device (e.g., cellular relay, cellular router, edge router, DODAG root, etc.), that serves as a connection point of the ARA to a backhaul network(s) 106, such as the Internet or an intranet.
- a root node such as an edge device (e.g., cellular relay, cellular router, edge router, DODAG root, etc.), that serves as a connection point of the ARA to a backhaul network(s) 106, such as the Internet or an intranet.
- the central office 104 may be implemented by one or more computing devices, such as servers, personal computers, laptop computers, etc.
- the one or more computing devices may be equipped with one or more processor(s) communicatively coupled to memory.
- the central office 104 includes a centralized meter data management system which performs processing, analysis, storage, and/or management of data received from one or more of the nodes 102.
- the central office 104 may process, analyze, store, and/or manage data obtained from a smart utility meter, sensor, control device, router, regulator, server, relay, switch, valve, and/or other nodes.
- FIG. 1 illustrates the central office 104 in a single location, in some examples the central office may be distributed amongst multiple locations and/or may be eliminated entirely (e.g., in the case of a highly decentralized distributed computing platform).
- the network(s) 106 may comprise a wireless or a wired network, or a combination thereof, and may be a collection of individual networks interconnected with each other and functioning as a single large network.
- the node 102A serves as a root node, configured as a cellular relay to relay communications to and/or from the other nodes 102B-102N of the ARA to and/or from the central office 104 via the network(s) 106.
- the node 102D is representative of each of the nodes 102 and includes a radio 108, configured for communication by means of RF signals 110, and a processing unit 112.
- the radio 108 comprises a radio frequency (RF) transceiver configured to transmit and/or receive RF signals via one or more of a plurality of channels/frequencies.
- each of the nodes 102 includes a single radio 108 configured to send and receive data on multiple different channels, such as the control channel and multiple data channels of each communication link 110.
- the radio 108 may also be configured to implement a plurality of different modulation techniques, data rates, protocols, signal strengths, and/or power levels.
- the radio may be configured to sequentially tune a plurality of different frequencies, each for a short period of time, in a "frequency hopping" scheme.
- the architecture 100 may represent a heterogeneous network of nodes, in that the nodes 102 may include different types of nodes (e.g., smart meters, cellular relays, sensors, etc.), different generations or models of nodes, and/or nodes that otherwise are capable transmitting on different channels and using different modulation techniques, data rates, protocols, signal strengths, and/or power levels.
- the processing unit 112 may include one or more processor(s) 114 communicatively coupled to memory 116.
- the processor 114 may execute, and the memory 116 may contain, various modules, managers, algorithms, etc.
- the modules may be configured in software and/or firmware, and may be executable on the processor. In alternative embodiments, any or all of the modules may be implemented in whole or in part by hardware. Examples of hardware include a microcontroller or other digital device, such as an application specific integrated circuit (ASIC) or other device configured to execute the described functions.
- ASIC application specific integrated circuit
- the memory 116 while shown as a monolithic entity, may also be configured as a plurality of differently configured devices, such as read-only memory, writable memory, persistent or non-persistent memory, etc.
- the memory 116 may be configured to store one or more software and/or firmware modules, which are executable on the processor(s) 114 to implement various functions.
- the memory 116 may comprise computer-readable media and may take the form of volatile memory, such as random access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM.
- RAM random access memory
- ROM read only memory
- Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented according to any technology or techniques for storage of information such as computer-readable instructions, data structures, program modules, or other data for execution by one or more processors of a computing device.
- Examples of computer-readable media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
- computer-readable media does not include communication media, such as modulated data signals and carrier waves.
- Contention window functionality 118 may be defined in memory 116 and maintained by actions of the processor 114.
- the contention window information may include information about the duration of contention windows of upstream neighbors of the node 102D.
- the contention window functionality 118 may operate to select a contention window for the node 102D that is longer than contention windows of upstream 1-hop neighbors. The use of a contention window in node 102D that is longer than upstream neighbors (e.g., node 102B) assists the network 100 to eliminate bottlenecks in transmission.
- FIG. 2 is a diagram showing additional detail of an individual example node 200.
- the node may be configured to provide traffic load management for uplink network traffic.
- Uplink network traffic may include data flowing from node to node within a mesh network in an upstream direction, i.e., toward a root node.
- the node 200 may be configured to assist in the management of upstream network traffic in part by managing a contention window used by the node.
- a contention window used by the node.
- nodes desiring to begin transmission must each wait until expiration indicated by their own contention windows.
- a node having a shortest contention window is able to start transmission first (assuming it has data to transmit), and its transmission has the effect of preventing other nodes from transmitting. If the node having the shortest contention window does not have any data to transmit, a node with a next shortest contention window size will have an opportunity to transmit, and so forth. Accordingly, length of a contention window is a factor governing traffic on an RF network, such as a mesh network comprising a plurality of nodes, which may be configured as an ARA of utility smart meters.
- the radio 108 may be configured for communication with a processing unit 112 over a communications bus 202.
- the radio may include an antenna 204 providing an input signal to an RF front end 206.
- the RF front end 206 may be configured to tune an RF signal from among many provided by the antenna 204, and provide a baseband signal to the baseband processor 208.
- the RF front end 206 may be configured using high frequency hardware components to tune one or more frequencies of RF signals obtained from nodes within the network.
- the RF front end 206 may be configured as a radio or transceiver using conventional or advanced technology allowing the tuning of one or more frequencies.
- the RF front end 206 may be configured to process signals, such as provided by an antenna 204, including RF signals (e.g., signal 110 of FIG. 1 ) obtained from network devices.
- the RF front end 206 may provide data that is generally in the form of an analog or digitized baseband signal sent to the baseband processor 208.
- a single frequency e.g., a same channel center frequency
- the RF front end 206 may tune or listen on a center frequency over a bandwidth as great as a widest bandwidth used by any supported protocol.
- a plurality of channels and/or frequencies may be used, and the RF front end 206 may be configured to perform a frequency hopping functionality between the plurality of channels.
- the RF front end 206 will be configured to tune between a channel utilized as a control channel and other channels utilized as data channels. Nodes may communicate in short conversations on the control channel, and agree to transfer data on one of the data channels. Thus, the RF front end 206 may be configured to perform frequency hopping over a plurality of channels defined within a bandwidth.
- the baseband processor 208 may be configured to modulate and/or demodulate data heard on any channel tuned or transmitted by the RF front end 206.
- the baseband processor 208 may be configured for modulation and demodulation in accordance with one or more protocols required by one or more nodes 102 (as seen in FIG. 1 ).
- the processing unit 112 may include a processor 114, a memory 116 and a clock 210.
- the clock 210 may be used to measure and/or time contention windows, frequency hopping, network and/or node functions, and the like.
- the memory 116 may include a list 212.
- the list comprises one or more of: indications of parent nodes (e.g., by network ID); an associated contention window (CW) length; and a timeout associated with one or more of the contention windows.
- the list 212 might contain indications of the parent's name or network ID, indications of length of a contention window of the parent, and a timeout of the parent's contention window. The timeout is a period of time or an expiration time. Once the period has expired, or the expiration time has been reached, the contention window of the parent node becomes "stale," and is no longer considered by the node when calculating the node's own contention window.
- the node may instead set its own contention window based on a CSMA/CA algorithm, without regard to the stale contention window of the parent node.
- the clock 210 may be a hardware device, while a timer 214 may be a program or module defined in memory 116, executable by the processor 114 and configured to utilize the clock, in conjunction with one or more algorithms, instructions, variables or flags. As such, the timer 214 may be programmed to utilize the clock 210 to time network events, including channel hopping, contention window(s), and the like.
- a carrier sense multiple access with collision avoidance (CSMA/CA) algorithm 216 may be defined in memory 116, executable by the processor 114 and configured to calculate a "default" contention window for the node 200.
- the CSMA/CA algorithm 216 may calculate a contention window used in conventional nodes, and which is used only in certain circumstances by node 200.
- a contention window size calculation module 218 may be defined in memory 116, executable by the processor 114 and configured to calculate a size (length and/or duration) of a contention window 220.
- the contention window size calculation module 218 obtains contention window(s) of the parent(s) from the list 212. If the timeout(s) associated with the contention window(s) indicate that the contention windows are still valid and/or "in effect," then it/they are used as input by the contention window size calculation module 218. Additionally, the contention window size calculation module 218 may obtain a contention window from the CSMA/CA algorithm 216 for use as input. This contention window, from the CSMA/CA algorithm, would be used by the node in a conventional network application. The contention window size calculation module 218 of node 200 then determines the larger of the contention windows used as input, and sets the contention window 220 for the node 200 as the larger of the input contention windows.
- a contention window manager 222 may be defined in memory 116, executable by the processor 114 and configured for any of several purposes. For example, the contention window manager 222 may be configured to assist in the maintenance of the list 212. Additionally and/or alternatively, the contention window manager 222 may be configured to announce, in messages to neighbors, the size of the contention window 220 of the node, as calculated by the contention window size calculation module 218.
- FIG. 3 is a timing diagram 300 showing an example of how collisions of data packets transmitted over RF signals may be avoided.
- collisions are avoided by use and/or operation of the list 212, timer 214, CSMA/CA algorithm 216, contention window size calculation module 218 and contention window manager 222 of FIG. 2 .
- the timing diagram 300 shows timelines associated with a node, its parent and its child. The node is upstream of the child node, but downstream of the parent node. In the example of FIG. 1 , the parent is closer to the cellular router 102A and network 106.
- the example of FIG. 3 illustrates how the parent node is given priority, over the node, to transmit data by operation of the contention window functions 212-222 (as seen in FIG. 2 ). And in particular, how a node, by assigning itself a longer contention window than its parent, is able to give priority to the parent.
- a first contention window 302 has just ended.
- the child node may have been alone among nodes wishing to transmit, and sends out a request-to-send (RTS) packet 304 to the node (which may be the parent of the child node).
- RTS request-to-send
- CTS clear-to-send
- the child node sends data 308.
- the node Upon conclusion of the transmission of the data 308, the node sends an acknowledgement 310.
- the parent node and the node respectively, both decide they have data they wish to transmit. Accordingly, the stage is set for differences in contention windows to avoid an RF collision. And further, the stage is set for the contention window setting functionality, seen in node 200 of FIG. 2 , to give priority to the parent node.
- the parent node wishes to transmit data to the node. However, the parent node could alternatively desire to transmit to another node, such as its parent node.
- a second contention period 316 begins, which will determine who, between the node and parent node, is allowed to transmit next.
- the parent node After the acknowledgement 310, transmission by all nodes stops. The next node allowed to transmit will be the node with the shortest contention period. Because all nodes have different contention periods, potential collisions are avoided.
- the parent node After the parent node counts five empty time slots in the contention window, the parent node's contention window ends and it sends an RTS 318 to the node.
- the node whose contention window has not yet timed out, realizes that this is not its turn to transmit. Accordingly, the node sends a CTS 320 to the parent node, indicating that the parent node is clear to send (i.e., to transmit). Accordingly, the parent node sends data 322.
- the node Upon conclusion of transmission of the data 322, the node sends an acknowledgment 324. In response to the acknowledgment 324, a third contention window starts 326.
- FIG. 3 illustrates that the parent node and the node both desired to send data at the next opportunity-i.e., after the second contention window.
- the node set its contention window to be longer than the contention window of its parent, the parent ended its contention window first, and sent RTS 318, thereby causing the node to have to wait until after a later contention window to send its data.
- the behavior illustrated by FIG. 3 provides an advantage, in that upstream nodes are given priority, by having shorter contention windows, and are therefore more able to send data during heavy network traffic. For example, as network traffic approaches a root node of the network, the traffic is borne by nodes having shorter contention windows than downstream nodes. The shorter contention windows assist those nodes to transmit more frequently on busy links.
- FIGS. 4-8 can be understood in part by reference to the configurations of FIGS. 1-3 .
- FIGS. 4-8 have general applicability, and are not limited by other drawing figures and/or prior discussion.
- Each process described herein is illustrated as a collection of acts, blocks or operations in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, or a combination thereof.
- the processes may include storing, in a memory communicatively coupled to a processor, computer-executable instructions for performing a method, such as a method of providing traffic load management for uplink network traffic, and executing the instructions on the processor.
- the operations represent computer-executable instructions stored on one or more computer-readable storage media (e.g., memory 116 of FIGS. 1 and 2 ) that, when executed by one or more processors (e.g., processors 114 of FIGS. 1 and 2 ), perform the recited operations.
- Such storage media, processors and computer-readable instructions can be located within a system (e.g., system 100 of FIG. 1 or system 200 of FIG. 2 ) according to a desired design or implementation.
- the storage media 116 seen in FIGS. 1 and 2 is representative of storage media generally, both removable and non-removable, and of any technology.
- the recited operations represent actions, such as those described in FIGS.
- the memory 116 may comprise computer-readable media and may take the form of volatile memory, such as random access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM.
- RAM random access memory
- ROM read only memory
- Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data for execution by one or more processors of a computing device.
- Examples of computer-readable media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
- computer-readable media does not include communication media, such as modulated data signals and carrier waves.
- a computer-readable media may include all or part of an application specific integrated circuit (ASIC) or other hardware device.
- ASIC application specific integrated circuit
- Such a hardware device may be configured to include other functionality, including functions providing traffic load management for uplink network traffic.
- processors are configured with executable instructions, which may be defined by logic, transistors or other components, or on-board memory.
- FIG. 4 is a flow diagram illustrating an example method 400 by which uplink network traffic may be managed.
- a node maintains a list, database, data structure and/or data store including information about parent node(s) of the node.
- list 212 includes information about parent nodes, their contention windows and their expiration times and/or timeouts.
- the list may be maintained, for example, by the contention window manager 222.
- the list may include node or network IDs of the parent(s) of the node.
- the list may include a size or an indicator of a size of a contention window of one or more parent nodes in the list. Additionally, for each contention window, the list may include a timeout and/or expiration time of the contention window.
- the node may set its contention window to another value input to a contention window-setting algorithm. For example, the node may set its contention window to a CSMA/CA calculated value.
- the node may maintain the list by listening on a control channel when the node is not transmitting or receiving data on other channels. In particular, nodes may use the control channel to publish contention window information. Nodes may also use RTS and/or CTS packets to publish or declare contention window information.
- a contention window may be set to be longer than a contention window of a parent of the node.
- a node having maintained the list discussed at operation 402 may set a contention window to be longer than the contention windows of any, some or all of its parent(s). This tends to put the parent node(s) at an advantage, following conclusion of transmission over a channel, in that the parent of the node, having a shorter contention window, will have priority over the node when both want to use a channel/frequency.
- the contention window size calculation module 218 may be used to perform operation 404.
- a size of a contention window may be announced, at least to downstream 1-hop neighbors of the node.
- the downstream 1-hop neighbors may include nodes that are within the RF signal range of the node, i.e., nodes with which the node may communicate.
- the announcement of the contention window size of the node may be made particularly to child (downstream) nodes of the node, i.e., nodes that are downstream of the node.
- the announcement may be considered a publication, and may be used by receiving nodes to update their list (see operation 402).
- the contention window manager 222 may be configured to perform operation 406.
- nodes may set its contention window to be longer than contention windows of its parents, children of the node may also set their contention windows to be longer than the contention window of the node.
- downstream nodes may generally have longer contention windows, thereby assisting upstream nodes where a bottleneck is more likely.
- the node may exchange RTS and/or CTS packets with another node.
- One or both such packets may include contention window size information.
- nodes listening on a control channel may overhear nodes disclose contention window size information. Having overheard that information, the node may update its list, if appropriate (e.g., as in operation 402).
- data may be sent by a node to its parent node.
- the sending may begin after a wait indicated by the contention window. Because the node will have set its contention window to be longer than the parent node (see operation 404) the node will not transmit data to the parent if the parent needs the channel for transmission during the waiting period of the node.
- data may be received by the node from a 1-hop neighbor, such as a child of the node.
- the receiving may begin after a period of time longer than the announced contention window of the node.
- the node needs the channel for its own transmission, its own shorter contention window will allow it to begin using the channel before the 1-hop downstream neighbors (e.g., child nodes) will be able to begin use.
- FIG. 5 is a flow diagram illustrating an example method 500 by which information regarding contention windows of neighbor nodes may be managed.
- method 500 provides an example and/or additional information on how contention window information may be obtained, and how the list 212 of FIG. 2 may be maintained, as discussed at operation 402 of FIG. 4 .
- indications of contention window lengths may be received by a node from one or more parents of the node.
- the indications may be provided by publications, by RTS/CTS packets, or other packets expressly intended to transfer contention window size information, or the like.
- a publication may be received from the root node that serves as a connection point of the ARA to a backhaul network (e.g., node 102A in FIG. 1 ).
- the root node is a unique upstream parent of all 1-hop neighbor nodes. Since the root node has no upstream parent, it will not maintain a contention window size for its own uplink communication.
- the root node may monitor uplink communications from all 1-hop neighbors and may calculate and/or optimize contention window size to be used by its neighbors that may increase or maximize the overall uplink throughput or minimize uplink delay. This computation may be done by the contention window size calculation module 218 in FIG. 2 .
- the root node may then announce the optimal contention window size to all neighbor nodes.
- the contention window sizes announced by the root to a plurality of 1-hop downstream neighbors of the root are sized and/or calculated by the root to provide shorter contention windows to 1-hop neighbors of the root required to transmit more data and longer contention windows to 1-hop neighbors of the root required to transmit less data.
- the publication from the root node may be in addition, or as an alternative to, other means by which a node may receive contention window information. In the example of FIG. 2 , the contention window manager 222 may receive and/or manage this publication.
- a plurality of parents of a node, a plurality of contention windows (e.g., indications of contention window times), and a plurality of timeouts for the contention windows, respectively, may be organized into a list.
- the list 212 may be maintained by the contention window manager 222, or the like.
- FIG. 6 is a flow diagram illustrating an example method 600 by which timeout periods of contention windows of other nodes may be managed.
- method 600 provides an example and/or additional information on how contention window information may be expired and maintained in list 212 of FIG. 2 , as discussed at operation 402 of FIG. 4 .
- a contention window is used only prior to expiration of its timeout period.
- the contention window is not used following the timeout period, which may be expressed as a countdown period or a date and time, or the like.
- another input to the contention window size calculation module 218 may be used instead.
- the contention window calculated by the CSMA/CA algorithm 216 may be used.
- one or more contention window timeout periods is monitored for expiration. This may include counting down the timeout periods or watching for arrival of a time wherein the contention window is expired.
- a default contention window is used upon expiration of a timeout period.
- the default contention window may be used in any algorithm configured to select a contention window for the node.
- the list 212 may be used to record parent node ID, contention window size and contention window timeout.
- the contention window size calculation module 218 may manage the list 212 and determine if a contention window of a parent node has expired. If expired, the contention window size calculation module 218 may instead use of a contention window provided by, for example, the CSMA/CA algorithm as a default.
- FIG. 7 is a flow diagram illustrating an example method 700 by which a node may select its own contention window, using as input indications of contention windows from other nodes.
- method 700 provides an example and/or additional information on how contention windows may be selected, as discussed at operation 404 of FIG. 4 .
- method 700 provides for selection of a contention window for a node that is longer than 1-hop upstream neighbors (e.g., parents) of the node.
- a publication received by a node, or the list (e.g., list 212 of FIG. 2 ) maintained by the node is consulted, and indications of (e.g., information about) contention windows of 1-hop upstream neighbors of the node are obtained.
- the contention window of the node is set as long as, or longer than, the longest of: a longest contention window used by 1-hop upstream neighbors of the node; and, a contention window based on a CSMA/CA algorithm.
- a longest contention window used by 1-hop upstream neighbors of the node and, a contention window based on a CSMA/CA algorithm.
- only 1-hop upstream neighbors that are parents of the node are considered.
- expiration of the contention windows of 1-hop upstream neighbors are considered.
- FIG. 8 is a flow diagram illustrating a further example method by which a node may select its own contention window, using as input indications of contention windows from other nodes.
- method 800 provides an example and/or additional information on how contention windows may be selected, as discussed at operation 404 of FIG. 4 .
- method 800 provides for selection of a contention window for a node that is longer than known upstream neighbors and/or parents. For example, a contention window that is equal to, or longer than, 1-hop upstream neighbors (e.g., parents) of the node, and equal to, or longer than, a CSMA/CA default contention window, may be selected.
- 1-hop upstream neighbors e.g., parents
- a contention window is calculated based on a default algorithm, such as the CSMA/CA algorithm. Such an algorithm may be used in known networks, to set a contention window of a node.
- the contention window obtained from the CSMA/CA algorithm is compared to one or more contention windows taken from a list of contention windows (e.g., list 212 of FIG. 2 ).
- the list may include contention windows of the node's parents, upstream neighbors, 1-hop neighbors, and the like.
- a contention window as long as, or longer than, the contention windows in the comparison of operation 804 is selected. Accordingly, the node is configured with a contention window that is not shorter than it parents and/or 1-hop upstream neighbors.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Description
- A mesh network may include a plurality of nodes, many of which may include software producing data for transmission. Many of the nodes may also have associated devices, including sensors, meters, etc., which may gather data. Collectively, the nodes may generate a considerable amount of data to be sent upstream to a root node for transmission to a central office.
- Existing networks and systems create bottle necks at certain upstream nodes, resulting in transmission delays and quality of service issues. A second problem of existing systems involves fair and effective division of the available bandwidth between nodes in the network and software running on those nodes.
-
US2007/0214379A1 relates to techniques for controlling transmissions in wireless communication networks such as mesh networks. - In an aspect there is provided a method as defined in
claim 1. - In another aspect there is provided a node in a network as defined in claim 10.
- The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components. Moreover, the figures are intended to illustrate general concepts, and not to indicate required and/or necessary elements.
-
FIG. 1 is a diagram showing a network having a plurality of nodes, some detail of one node, a connection to a further network such as the Internet, and a central office. -
FIG. 2 is a diagram showing example detail of an individual node. -
FIG. 3 is a timing diagram showing an example of how collisions are avoided by the example node configured as seen inFIG. 2 . -
FIG. 4 is a flow diagram illustrating an example method by which uplink network traffic may be managed. -
FIG. 5 is a flow diagram illustrating an example method by which information regarding contention windows of neighbor nodes may be managed. -
FIG. 6 is a flow diagram illustrating an example method by which timeout periods of contention windows of other nodes may be managed. -
FIG. 7 is a flow diagram illustrating an example method by which a node may set its own contention window, using as input indications of contention windows from other nodes. -
FIG. 8 is a flow diagram illustrating a further example method by which a node may set its own contention window, using as input indications of contention windows from other nodes. - As discussed above, existing networks do not provide an effective way of managing uplink network traffic in a network, such as a multi-channel wireless mesh network. A particular problem in existing networks is that traffic among nodes may increase for nodes nearer the root node. This increase may result in a bottleneck, which may degrade network performance. A number of factors may be to blame. For example, existing networks may include nodes having longer contention windows that do not allow them to compete for bandwidth and process data at a rate required, based on the data that they receive from downstream nodes. As used herein, a "contention window" refers to a period of time during which a node waits to transmit, upon cessation of radio frequency (RF) signals on a particular channel, before transmitting. Thus, because different nodes have contention windows of different lengths, the contention windows provide a "staggered start," wherein one node is permitted to start RF transmission before other nodes, thereby forcing the other nodes waiting to transmit to suspend a timeout calculation of their own contention windows. Accordingly, contention windows are part of a collision avoidance system in wireless networks.
- This disclosure describes techniques for providing traffic load management for uplink network traffic. Uplink network traffic may include data flowing from node to node within a mesh network in an upstream direction, i.e., toward a root node. The network, nodes and data may include, for example, smart utility meters (e.g., electric, gas, and/or water meters), sensors (e.g., temperature sensors, weather stations, frequency sensors, etc.), control devices, transformers, routers, servers, relays (e.g., cellular relays), switches, valves, and other network devices and the data generated and/or transmitted from any of the preceding. From the root node, the data may be transferred to a further network for transport to a central office. For example, the root node may be configured as a cellular router within a context of an autonomous routing area (ARA) of utility smart meters, may receive data from the mesh network, and may transmit that data to servers within the Internet for transfer to a central office, server or other desired location.
- An example illustrating some of the techniques discussed herein-not to be considered a full or comprehensive discussion-may assist the reader. A node may assist in the management of upstream network traffic in part by managing a contention window used by the node. When transmission on a channel stops (i.e., when no radio frequency (RF) signal is presently heard) nodes desiring to begin transmission must each wait until expiration of their own contention windows. A node having a shortest contention window is able to start transmission first, thereby preventing other nodes from transmitting. Accordingly, length of a contention window is a factor governing traffic on an RF network, such as a mesh network comprising a plurality of nodes, which may be configured as an ARA of utility smart meters.
- Within the above example, a node may assist in the management of upstream network traffic in part by managing a contention window used by the node. The node may maintain a list of size(s) of contention window(s) of parent node(s) of the node. The node may set its own contention window to be longer (i.e., a longer period of time) than upstream neighbor nodes and/or parent nodes. With a longer contention window than its parent node(s), the node will refrain from using an RF channel needed by a parent node. That is, parent nodes will generally have a higher priority (i.e., shorter contention window size) than their child nodes. Accordingly, upstream nodes are better able to transmit any backlog of data before receiving additional data from downstream nodes. This may better distribute data over the network, and may better manage data flow.
- The discussion herein includes several sections. Each section is intended to be non-limiting. More particularly, this entire description is intended to illustrate components and techniques which may be utilized in uplink network traffic load management, but not components and techniques which are necessarily required. The discussion begins with a section entitled "Example Network Architecture," which describes an ARA, including smart utility meters and other devices as a representative environment that may implement the techniques described herein. Next, a section entitled "Example Node Configuration" illustrates and describes an example configuration for a node usable in a network such as an ARA and which provides uplink network traffic load management. Next, a section entitled "Example Contention Window Operation" illustrates and describes an example of contention window techniques that provide uplink network traffic load management. Further sections, entitled "Example Methods" and "Example Uplink Network Traffic Load Management Methods" illustrate and describe techniques that may be used to manage contention windows within nodes and to provide uplink network traffic load management. Finally, the discussion ends with a brief conclusion.
- This brief introduction, including section titles and corresponding summaries, is provided for the reader's convenience and is not intended to describe and/or limit the scope of the claims or any section of this disclosure.
-
FIG. 1 is a schematic diagram showingexample architecture 100 of a network, such as for example a multi-channel, wireless mesh network, in which uplink transmissions can be routed at least in part according to contention windows set at each node according to prescribed techniques described herein. Thearchitecture 100 includes a plurality ofnodes - As discussed above, the term "contention window" refers to a waiting period that a node must wait, after transmission on a channel is ended by another node, and before the node may begin its own transmission. If another node begins transmission prior to the end of the node's contention window, the node must suspend a countdown associated with its own contention window, and let the other node use the channel. In a multichannel environment, each of the plurality of channels may be defined by a frequency range which is the same or different for each of the plurality of channels, and each channel may be centered about a different frequency. In some instances, the plurality of channels comprises RF channels, typically having a frequency width appropriate to an anticipated modulation and environmental condition(s). The plurality of channels may comprise a control channel and multiple data channels. In some instances, the control channel is utilized for communicating one or more short messages between nodes to specify one of the data channels to be utilized to transfer data. Additionally, the control channel may be utilized by a plurality of nodes to transmit information indicating their contention window length. The length of the contention window may be expressed as a period of time, a number of time "slots," or any other agreed upon technique. Generally, transmissions on the control channel are shorter relative to transmissions on the data channels.
- In the example of
FIG. 1 , the nodes 102 are also configured to communicate with acentral office 104 via a root node, such as an edge device (e.g., cellular relay, cellular router, edge router, DODAG root, etc.), that serves as a connection point of the ARA to a backhaul network(s) 106, such as the Internet or an intranet. Thecentral office 104 may be implemented by one or more computing devices, such as servers, personal computers, laptop computers, etc. The one or more computing devices may be equipped with one or more processor(s) communicatively coupled to memory. In some examples, thecentral office 104 includes a centralized meter data management system which performs processing, analysis, storage, and/or management of data received from one or more of the nodes 102. For instance, thecentral office 104 may process, analyze, store, and/or manage data obtained from a smart utility meter, sensor, control device, router, regulator, server, relay, switch, valve, and/or other nodes. Although the example ofFIG. 1 illustrates thecentral office 104 in a single location, in some examples the central office may be distributed amongst multiple locations and/or may be eliminated entirely (e.g., in the case of a highly decentralized distributed computing platform). - The network(s) 106 may comprise a wireless or a wired network, or a combination thereof, and may be a collection of individual networks interconnected with each other and functioning as a single large network. In the illustrated example, the
node 102A serves as a root node, configured as a cellular relay to relay communications to and/or from theother nodes 102B-102N of the ARA to and/or from thecentral office 104 via the network(s) 106. - The
node 102D is representative of each of the nodes 102 and includes aradio 108, configured for communication by means of RF signals 110, and aprocessing unit 112. Theradio 108 comprises a radio frequency (RF) transceiver configured to transmit and/or receive RF signals via one or more of a plurality of channels/frequencies. In some implementations, each of the nodes 102 includes asingle radio 108 configured to send and receive data on multiple different channels, such as the control channel and multiple data channels of eachcommunication link 110. Theradio 108 may also be configured to implement a plurality of different modulation techniques, data rates, protocols, signal strengths, and/or power levels. Additionally, the radio may be configured to sequentially tune a plurality of different frequencies, each for a short period of time, in a "frequency hopping" scheme. Thearchitecture 100 may represent a heterogeneous network of nodes, in that the nodes 102 may include different types of nodes (e.g., smart meters, cellular relays, sensors, etc.), different generations or models of nodes, and/or nodes that otherwise are capable transmitting on different channels and using different modulation techniques, data rates, protocols, signal strengths, and/or power levels. - The
processing unit 112 may include one or more processor(s) 114 communicatively coupled tomemory 116. Theprocessor 114 may execute, and thememory 116 may contain, various modules, managers, algorithms, etc. The modules may be configured in software and/or firmware, and may be executable on the processor. In alternative embodiments, any or all of the modules may be implemented in whole or in part by hardware. Examples of hardware include a microcontroller or other digital device, such as an application specific integrated circuit (ASIC) or other device configured to execute the described functions. - The
memory 116, while shown as a monolithic entity, may also be configured as a plurality of differently configured devices, such as read-only memory, writable memory, persistent or non-persistent memory, etc. Thememory 116 may be configured to store one or more software and/or firmware modules, which are executable on the processor(s) 114 to implement various functions. - The
memory 116 may comprise computer-readable media and may take the form of volatile memory, such as random access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM. Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented according to any technology or techniques for storage of information such as computer-readable instructions, data structures, program modules, or other data for execution by one or more processors of a computing device. Examples of computer-readable media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. As defined herein, computer-readable media does not include communication media, such as modulated data signals and carrier waves. - Contention window functionality 118 may be defined in
memory 116 and maintained by actions of theprocessor 114. The contention window information may include information about the duration of contention windows of upstream neighbors of thenode 102D. According to techniques discussed infra, the contention window functionality 118 may operate to select a contention window for thenode 102D that is longer than contention windows of upstream 1-hop neighbors. The use of a contention window innode 102D that is longer than upstream neighbors (e.g.,node 102B) assists thenetwork 100 to eliminate bottlenecks in transmission. -
FIG. 2 is a diagram showing additional detail of anindividual example node 200. The node may be configured to provide traffic load management for uplink network traffic. Uplink network traffic may include data flowing from node to node within a mesh network in an upstream direction, i.e., toward a root node. - The
node 200 may be configured to assist in the management of upstream network traffic in part by managing a contention window used by the node. When transmission on a channel stops (i.e., when no radio frequency (RF) signal is presently heard) nodes desiring to begin transmission must each wait until expiration indicated by their own contention windows. A node having a shortest contention window is able to start transmission first (assuming it has data to transmit), and its transmission has the effect of preventing other nodes from transmitting. If the node having the shortest contention window does not have any data to transmit, a node with a next shortest contention window size will have an opportunity to transmit, and so forth. Accordingly, length of a contention window is a factor governing traffic on an RF network, such as a mesh network comprising a plurality of nodes, which may be configured as an ARA of utility smart meters. - The
radio 108 may be configured for communication with aprocessing unit 112 over acommunications bus 202. In the example configuration ofFIG. 2 , the radio may include anantenna 204 providing an input signal to an RFfront end 206. The RFfront end 206 may be configured to tune an RF signal from among many provided by theantenna 204, and provide a baseband signal to the baseband processor 208. - The RF
front end 206 may be configured using high frequency hardware components to tune one or more frequencies of RF signals obtained from nodes within the network. In an analog (or mixed analog and digital) configuration, the RFfront end 206 may be configured as a radio or transceiver using conventional or advanced technology allowing the tuning of one or more frequencies. The RFfront end 206 may be configured to process signals, such as provided by anantenna 204, including RF signals (e.g., signal 110 ofFIG. 1 ) obtained from network devices. As output, the RFfront end 206 may provide data that is generally in the form of an analog or digitized baseband signal sent to the baseband processor 208. - In one example of the RF
front end 206, a single frequency, e.g., a same channel center frequency, is utilized for RF communications by one or more of the nodes (e.g., nodes 102 ofFIG. 1 ) of a network. In such an example, the RFfront end 206 may tune or listen on a center frequency over a bandwidth as great as a widest bandwidth used by any supported protocol. In a second example of the RFfront end 206, a plurality of channels and/or frequencies may be used, and the RFfront end 206 may be configured to perform a frequency hopping functionality between the plurality of channels. In some applications, the RFfront end 206 will be configured to tune between a channel utilized as a control channel and other channels utilized as data channels. Nodes may communicate in short conversations on the control channel, and agree to transfer data on one of the data channels. Thus, the RFfront end 206 may be configured to perform frequency hopping over a plurality of channels defined within a bandwidth. - The baseband processor 208 may be configured to modulate and/or demodulate data heard on any channel tuned or transmitted by the RF
front end 206. In particular, the baseband processor 208 may be configured for modulation and demodulation in accordance with one or more protocols required by one or more nodes 102 (as seen inFIG. 1 ). - The
processing unit 112 may include aprocessor 114, amemory 116 and aclock 210. Theclock 210 may be used to measure and/or time contention windows, frequency hopping, network and/or node functions, and the like. - The
memory 116 may include a list 212. In one example, the list comprises one or more of: indications of parent nodes (e.g., by network ID); an associated contention window (CW) length; and a timeout associated with one or more of the contention windows. In one example, if a node has a single parent node, the list 212 might contain indications of the parent's name or network ID, indications of length of a contention window of the parent, and a timeout of the parent's contention window. The timeout is a period of time or an expiration time. Once the period has expired, or the expiration time has been reached, the contention window of the parent node becomes "stale," and is no longer considered by the node when calculating the node's own contention window. In one example, upon expiration of a contention window of a parent, the node may instead set its own contention window based on a CSMA/CA algorithm, without regard to the stale contention window of the parent node. - In some example implementations, the
clock 210 may be a hardware device, while atimer 214 may be a program or module defined inmemory 116, executable by theprocessor 114 and configured to utilize the clock, in conjunction with one or more algorithms, instructions, variables or flags. As such, thetimer 214 may be programmed to utilize theclock 210 to time network events, including channel hopping, contention window(s), and the like. - A carrier sense multiple access with collision avoidance (CSMA/CA)
algorithm 216 may be defined inmemory 116, executable by theprocessor 114 and configured to calculate a "default" contention window for thenode 200. In particular, the CSMA/CA algorithm 216 may calculate a contention window used in conventional nodes, and which is used only in certain circumstances bynode 200. - A contention window
size calculation module 218 may be defined inmemory 116, executable by theprocessor 114 and configured to calculate a size (length and/or duration) of acontention window 220. In one example, the contention windowsize calculation module 218 obtains contention window(s) of the parent(s) from the list 212. If the timeout(s) associated with the contention window(s) indicate that the contention windows are still valid and/or "in effect," then it/they are used as input by the contention windowsize calculation module 218. Additionally, the contention windowsize calculation module 218 may obtain a contention window from the CSMA/CA algorithm 216 for use as input. This contention window, from the CSMA/CA algorithm, would be used by the node in a conventional network application. The contention windowsize calculation module 218 ofnode 200 then determines the larger of the contention windows used as input, and sets thecontention window 220 for thenode 200 as the larger of the input contention windows. - A
contention window manager 222 may be defined inmemory 116, executable by theprocessor 114 and configured for any of several purposes. For example, thecontention window manager 222 may be configured to assist in the maintenance of the list 212. Additionally and/or alternatively, thecontention window manager 222 may be configured to announce, in messages to neighbors, the size of thecontention window 220 of the node, as calculated by the contention windowsize calculation module 218. -
FIG. 3 is a timing diagram 300 showing an example of how collisions of data packets transmitted over RF signals may be avoided. In one example, collisions are avoided by use and/or operation of the list 212,timer 214, CSMA/CA algorithm 216, contention windowsize calculation module 218 andcontention window manager 222 ofFIG. 2 . The timing diagram 300 shows timelines associated with a node, its parent and its child. The node is upstream of the child node, but downstream of the parent node. In the example ofFIG. 1 , the parent is closer to thecellular router 102A andnetwork 106. The example ofFIG. 3 illustrates how the parent node is given priority, over the node, to transmit data by operation of the contention window functions 212-222 (as seen inFIG. 2 ). And in particular, how a node, by assigning itself a longer contention window than its parent, is able to give priority to the parent. - In the diagram 300, a
first contention window 302 has just ended. The child node may have been alone among nodes wishing to transmit, and sends out a request-to-send (RTS)packet 304 to the node (which may be the parent of the child node). The node responds with a clear-to-send (CTS)packet 306. In response, the child node sendsdata 308. Upon conclusion of the transmission of thedata 308, the node sends anacknowledgement 310. - During the transmission of the
data 308, attimes node 200 ofFIG. 2 , to give priority to the parent node. In the example ofFIG. 3 , the parent node wishes to transmit data to the node. However, the parent node could alternatively desire to transmit to another node, such as its parent node. Moreover, to avoid collisions, only one of the node and the parent node will be allowed to transmit after the conclusion of the child node's transmission. Accordingly, after the node provides anacknowledgement 310 of the child node's transmission, asecond contention period 316 begins, which will determine who, between the node and parent node, is allowed to transmit next. - After the
acknowledgement 310, transmission by all nodes stops. The next node allowed to transmit will be the node with the shortest contention period. Because all nodes have different contention periods, potential collisions are avoided. In the example ofFIG. 3 , after the parent node counts five empty time slots in the contention window, the parent node's contention window ends and it sends anRTS 318 to the node. The node, whose contention window has not yet timed out, realizes that this is not its turn to transmit. Accordingly, the node sends aCTS 320 to the parent node, indicating that the parent node is clear to send (i.e., to transmit). Accordingly, the parent node sendsdata 322. Upon conclusion of transmission of thedata 322, the node sends anacknowledgment 324. In response to theacknowledgment 324, a third contention window starts 326. - Thus,
FIG. 3 illustrates that the parent node and the node both desired to send data at the next opportunity-i.e., after the second contention window. However, because the node set its contention window to be longer than the contention window of its parent, the parent ended its contention window first, and sentRTS 318, thereby causing the node to have to wait until after a later contention window to send its data. From the network perspective, the behavior illustrated byFIG. 3 provides an advantage, in that upstream nodes are given priority, by having shorter contention windows, and are therefore more able to send data during heavy network traffic. For example, as network traffic approaches a root node of the network, the traffic is borne by nodes having shorter contention windows than downstream nodes. The shorter contention windows assist those nodes to transmit more frequently on busy links. - The example processes of
FIGS. 4-8 can be understood in part by reference to the configurations ofFIGS. 1-3 . However,FIGS. 4-8 have general applicability, and are not limited by other drawing figures and/or prior discussion. - Each process described herein is illustrated as a collection of acts, blocks or operations in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, or a combination thereof. The processes may include storing, in a memory communicatively coupled to a processor, computer-executable instructions for performing a method, such as a method of providing traffic load management for uplink network traffic, and executing the instructions on the processor.
- In the context of software, the operations represent computer-executable instructions stored on one or more computer-readable storage media (e.g.,
memory 116 ofFIGS. 1 and2 ) that, when executed by one or more processors (e.g.,processors 114 ofFIGS. 1 and2 ), perform the recited operations. Such storage media, processors and computer-readable instructions can be located within a system (e.g.,system 100 ofFIG. 1 orsystem 200 ofFIG. 2 ) according to a desired design or implementation. Thestorage media 116 seen inFIGS. 1 and2 is representative of storage media generally, both removable and non-removable, and of any technology. Thus, the recited operations represent actions, such as those described inFIGS. 4-8 , and are taken under control of one or more processors configured with executable instructions to perform actions indicated. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and the described operations may be combined in different orders and/or in parallel to implement the process. The above discussion may apply to other processes described herein. - The
memory 116 may comprise computer-readable media and may take the form of volatile memory, such as random access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM. Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data for execution by one or more processors of a computing device. Examples of computer-readable media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. As defined herein, computer-readable media does not include communication media, such as modulated data signals and carrier waves. - Additionally, for purposes herein, a computer-readable media may include all or part of an application specific integrated circuit (ASIC) or other hardware device. Such a hardware device may be configured to include other functionality, including functions providing traffic load management for uplink network traffic. Accordingly, within such an integrated circuit, one or more processors are configured with executable instructions, which may be defined by logic, transistors or other components, or on-board memory.
-
FIG. 4 is a flow diagram illustrating anexample method 400 by which uplink network traffic may be managed. Atoperation 402, a node maintains a list, database, data structure and/or data store including information about parent node(s) of the node. In the example ofFIG. 2 , list 212 includes information about parent nodes, their contention windows and their expiration times and/or timeouts. The list may be maintained, for example, by thecontention window manager 222. The list may include node or network IDs of the parent(s) of the node. The list may include a size or an indicator of a size of a contention window of one or more parent nodes in the list. Additionally, for each contention window, the list may include a timeout and/or expiration time of the contention window. After the timeout period has elapsed, or the expiration time has arrived, the contention window with which the timeout is associated is no longer considered valid and/or usable. Accordingly, the node may set its contention window to another value input to a contention window-setting algorithm. For example, the node may set its contention window to a CSMA/CA calculated value. The node may maintain the list by listening on a control channel when the node is not transmitting or receiving data on other channels. In particular, nodes may use the control channel to publish contention window information. Nodes may also use RTS and/or CTS packets to publish or declare contention window information. - At
operation 404, a contention window may be set to be longer than a contention window of a parent of the node. Thus, a node, having maintained the list discussed atoperation 402, may set a contention window to be longer than the contention windows of any, some or all of its parent(s). This tends to put the parent node(s) at an advantage, following conclusion of transmission over a channel, in that the parent of the node, having a shorter contention window, will have priority over the node when both want to use a channel/frequency. In the example ofFIG. 2 , the contention windowsize calculation module 218 may be used to performoperation 404. - At
operation 406, a size of a contention window may be announced, at least to downstream 1-hop neighbors of the node. The downstream 1-hop neighbors may include nodes that are within the RF signal range of the node, i.e., nodes with which the node may communicate. The announcement of the contention window size of the node may be made particularly to child (downstream) nodes of the node, i.e., nodes that are downstream of the node. The announcement may be considered a publication, and may be used by receiving nodes to update their list (see operation 402). In the example ofFIG. 2 , thecontention window manager 222 may be configured to performoperation 406. Note that while a node may set its contention window to be longer than contention windows of its parents, children of the node may also set their contention windows to be longer than the contention window of the node. Thus, downstream nodes may generally have longer contention windows, thereby assisting upstream nodes where a bottleneck is more likely. - At
operation 408, the node may exchange RTS and/or CTS packets with another node. One or both such packets may include contention window size information. Thus, nodes listening on a control channel may overhear nodes disclose contention window size information. Having overheard that information, the node may update its list, if appropriate (e.g., as in operation 402). - At
operation 410, data may be sent by a node to its parent node. The sending may begin after a wait indicated by the contention window. Because the node will have set its contention window to be longer than the parent node (see operation 404) the node will not transmit data to the parent if the parent needs the channel for transmission during the waiting period of the node. - At
operation 412, data may be received by the node from a 1-hop neighbor, such as a child of the node. The receiving may begin after a period of time longer than the announced contention window of the node. Thus, if the node needs the channel for its own transmission, its own shorter contention window will allow it to begin using the channel before the 1-hop downstream neighbors (e.g., child nodes) will be able to begin use. -
FIG. 5 is a flow diagram illustrating anexample method 500 by which information regarding contention windows of neighbor nodes may be managed. As such,method 500 provides an example and/or additional information on how contention window information may be obtained, and how the list 212 ofFIG. 2 may be maintained, as discussed atoperation 402 ofFIG. 4 . Atoperation 502, indications of contention window lengths may be received by a node from one or more parents of the node. The indications may be provided by publications, by RTS/CTS packets, or other packets expressly intended to transfer contention window size information, or the like. - At
operation 504, a publication may be received from the root node that serves as a connection point of the ARA to a backhaul network (e.g.,node 102A inFIG. 1 ). From the point of view of uplink communication, the root node is a unique upstream parent of all 1-hop neighbor nodes. Since the root node has no upstream parent, it will not maintain a contention window size for its own uplink communication. However, the root node may monitor uplink communications from all 1-hop neighbors and may calculate and/or optimize contention window size to be used by its neighbors that may increase or maximize the overall uplink throughput or minimize uplink delay. This computation may be done by the contention windowsize calculation module 218 inFIG. 2 . The root node may then announce the optimal contention window size to all neighbor nodes. In one example, the contention window sizes announced by the root to a plurality of 1-hop downstream neighbors of the root are sized and/or calculated by the root to provide shorter contention windows to 1-hop neighbors of the root required to transmit more data and longer contention windows to 1-hop neighbors of the root required to transmit less data. The publication from the root node may be in addition, or as an alternative to, other means by which a node may receive contention window information. In the example ofFIG. 2 , thecontention window manager 222 may receive and/or manage this publication. - At
operation 506, a plurality of parents of a node, a plurality of contention windows (e.g., indications of contention window times), and a plurality of timeouts for the contention windows, respectively, may be organized into a list. In the example ofFIG. 2 , the list 212 may be maintained by thecontention window manager 222, or the like. -
FIG. 6 is a flow diagram illustrating anexample method 600 by which timeout periods of contention windows of other nodes may be managed. As such,method 600 provides an example and/or additional information on how contention window information may be expired and maintained in list 212 ofFIG. 2 , as discussed atoperation 402 ofFIG. 4 . In general, a contention window is used only prior to expiration of its timeout period. The contention window is not used following the timeout period, which may be expressed as a countdown period or a date and time, or the like. Because the contention window is not used, another input to the contention window size calculation module 218 (seeFIG. 2 ) may be used instead. For example, the contention window calculated by the CSMA/CA algorithm 216 may be used. - At
operation 602, one or more contention window timeout periods is monitored for expiration. This may include counting down the timeout periods or watching for arrival of a time wherein the contention window is expired. - At
operation 604, a default contention window is used upon expiration of a timeout period. The default contention window may be used in any algorithm configured to select a contention window for the node. In the example ofFIG. 2 , the list 212 may be used to record parent node ID, contention window size and contention window timeout. The contention windowsize calculation module 218 may manage the list 212 and determine if a contention window of a parent node has expired. If expired, the contention windowsize calculation module 218 may instead use of a contention window provided by, for example, the CSMA/CA algorithm as a default. -
FIG. 7 is a flow diagram illustrating anexample method 700 by which a node may select its own contention window, using as input indications of contention windows from other nodes. As such,method 700 provides an example and/or additional information on how contention windows may be selected, as discussed atoperation 404 ofFIG. 4 . In general,method 700 provides for selection of a contention window for a node that is longer than 1-hop upstream neighbors (e.g., parents) of the node. - At
operation 702, a publication received by a node, or the list (e.g., list 212 ofFIG. 2 ) maintained by the node, is consulted, and indications of (e.g., information about) contention windows of 1-hop upstream neighbors of the node are obtained. - At
operation 704, the contention window of the node is set as long as, or longer than, the longest of: a longest contention window used by 1-hop upstream neighbors of the node; and, a contention window based on a CSMA/CA algorithm. In one example, only 1-hop upstream neighbors that are parents of the node are considered. In another example, expiration of the contention windows of 1-hop upstream neighbors are considered. -
FIG. 8 is a flow diagram illustrating a further example method by which a node may select its own contention window, using as input indications of contention windows from other nodes. As such,method 800 provides an example and/or additional information on how contention windows may be selected, as discussed atoperation 404 ofFIG. 4 . In general,method 800 provides for selection of a contention window for a node that is longer than known upstream neighbors and/or parents. For example, a contention window that is equal to, or longer than, 1-hop upstream neighbors (e.g., parents) of the node, and equal to, or longer than, a CSMA/CA default contention window, may be selected. - At
operation 802, a contention window is calculated based on a default algorithm, such as the CSMA/CA algorithm. Such an algorithm may be used in known networks, to set a contention window of a node. Atoperation 804, the contention window obtained from the CSMA/CA algorithm is compared to one or more contention windows taken from a list of contention windows (e.g., list 212 ofFIG. 2 ). The list may include contention windows of the node's parents, upstream neighbors, 1-hop neighbors, and the like. Atoperation 806, a contention window as long as, or longer than, the contention windows in the comparison ofoperation 804 is selected. Accordingly, the node is configured with a contention window that is not shorter than it parents and/or 1-hop upstream neighbors. - Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claims.
Claims (13)
- A method of controlling a size of a contention window (220) in a node (102) in a network (100), wherein a contention window is a period of time during which a node waits to transmit, upon cessation of radio frequency signals on a particular channel, before transmitting, comprising:under control of one or more processors (114) on the node (102) and configured with executable instructions:maintaining a list (212), wherein the list (212) is maintained on the node (102) and comprises a size of a contention window (220) of a parent node (102) of the node (102);setting a contention window (220) for the node (102) to be not shorter than a contention window (220) of the parent node (102) of the node (102), as indicated by the list (212); andsending data to the parent node (102) of the node (102), the sending beginning after a wait indicated by the contention window (220) of the node (102), wherein:maintaining the list (212) includes:associating a plurality of parents on the list (212) with a plurality of contention windows (220), respectively, and a plurality of timeout periods, respectively, each timeout period governing expiration of an associated contention window (220); andsetting the contention window (220) includes:monitoring the plurality of timeout periods for expiration; andupon expiration of a timeout period, using a default contention window to replace a contention window (220) associated with the expired timeout period.
- The method of claim 1, wherein:maintaining the list (212) of sizes of contention windows (220) comprises:receiving a publication from a root node (102); andsetting the contention window (220) comprises:checking the publication for a longest contention window (220) used by upstream 1-hop neighbors of the node (102); andsetting the contention window (220) to be a longer of:a longest contention window (220) used by upstream 1-hop neighbors of the node (102); anda contention window (220) based on a carrier sense multiple access with collision avoidance (CSMA/CA) algorithm (216).
- The method of claim 1, wherein setting the contention window (220) comprises:calculating a contention window (220) based on a carrier sense multiple access with collision avoidance (CSMA/CA) algorithm (216);comparing the calculated contention window (220) to a contention window (220) in the list (212) of sizes of contention windows (220); andselecting a longer of the calculated contention window (220) and the contention window (220) in the list (212) of sizes of contention windows (220).
- The method of claim 1, wherein setting the contention window (220) comprises:setting the contention window (220) to be longer than contention windows (220) used by upstream 1-hop upstream neighbors of the node (102).
- The method of claim 1, wherein setting the contention window (220) comprises:expiring a contention window (220) from the list (212) according to its timeout period; andsetting the contention window (220) of the node (102) to not be shorter than parents of the node (102) using non-expired portions of the list (212) as input.
- The method of claim 1, additionally comprising:exchanging RTS (304) and CTS (306) packets with neighbors of the node (102); andincluding a size of the contention window (220) in the exchange.
- The method of claim 1, additionally comprising:receiving data from a child node (102) of the node (102), wherein the data is received on a channel following a period of time after the channel became clear, the period of time being longer than the contention window (220) of the node (102);wherein sending data to the parent node (102) of the node (102), includes sending on a second channel following a second period of time after the second channel became clear, the second period of time being longer than an announced contention window (220) of the parent node (102).
- The method of claim 1, additionally comprising:announcing a size of the contention window (220) of the node (102) to 1-hop neighbors of the node (102); andreceiving data from a downstream 1-hop neighbor node (102) on a channel, wherein the data was received following a period of time after the channel became clear, the period of time being longer than the announced contention window (220) size.
- The method of any of the preceding claims, implemented on a computer readable media.
- A node (102) in a network (100), comprising:a processor (114);memory (116), in communication with the processor (114);a list (212), defined in the memory (116) and including indications of a parent of the node (102), a size of a contention window (220) associated with the parent, and a timeout associated with the contention window (220);a timer (214) to manage the timeouts in the list (212);a contention window size calculation module (218), defined in the memory (116) and configured to calculate a size of a contention window (220) of the node (102), using as input:a carrier sense multiple access with collision avoidance (CSMA/CA) algorithm (216); anddata from the list (212);wherein the size of the contention window (220) of the node (102) is determined by comparing the input; anda contention window manager defined in memory (116) and configured to announce, in messages to neighbors, the size of the contention window of the node (102), as calculated by the contention window size calculation module (218), wherein the size of the contention window (220) of the node (102) is not shorter than the contention window (220) of the parent of the node (102);and wherein a contention window is a period of time during which a node waits to transmit, upon cessation of radio frequency signals on a particular channel, before transmitting, wherein the contention window size calculation module (218) is additionally configured to:associate a plurality of parents on the list (212) with a plurality of timeout periods, respectively, each timeout period governing expiration of an associated contention window (220);monitor the plurality of timeout periods for expiration; andupon expiration of a timeout period from among the plurality of timeout periods, use a default contention window to replace a contention window (220) associated with the expired timeout period.
- The node (102) of claim 10, wherein the contention window size calculation module (218) is additionally configured to:calculate a contention window (220) based on a CSMA/CA algorithm (216);maintain the list (212) using a publication from a root node (102);compare the calculated contention window (220) to a contention window (220) in the list (212); andselect a longer of the calculated contention window (220) and the contention window (220) in the list (212).
- The node (102) of claim 10, wherein the contention window size calculation module (218) is additionally configured to:calculate the size of the contention window (220) of the node (102) based in part on an indication of a size of a contention window (220) from a root of the network (100), if the root is located 1-hop upstream of the node (102), wherein the indication of the size of the contention window (220) from the root is based in part on indications of sizes of contention windows (220) sent to other 1-hop neighbors of the root.
- The node (102) of claim 10, wherein the contention window manager is additionally configured to:announce the size of the contention window (220) to 1-hop downstream neighbors of the node (102);wherein data is received from a downstream 1-hop neighbor on a channel following a period of time after the channel became clear, the period of time being greater than the announced contention window (220) size.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES11188907.7T ES2633122T3 (en) | 2011-11-11 | 2011-11-11 | Traffic load management for uplink network traffic |
EP11188907.7A EP2592890B1 (en) | 2011-11-11 | 2011-11-11 | Traffic load management for uplink network traffic |
SG11201402210YA SG11201402210YA (en) | 2011-11-11 | 2012-01-30 | Traffic load management for uplink network traffic |
AU2012336327A AU2012336327B2 (en) | 2011-11-11 | 2012-01-30 | Traffic load management for uplink network traffic |
CA2855285A CA2855285C (en) | 2011-11-11 | 2012-01-30 | Traffic load management for uplink network traffic |
JP2013543422A JP5571856B2 (en) | 2011-11-11 | 2012-01-30 | Managing traffic load for uplink network traffic |
PCT/US2012/023093 WO2013070264A1 (en) | 2011-11-11 | 2012-01-30 | Traffic load management for uplink network traffic |
US13/365,106 US8493868B2 (en) | 2011-11-11 | 2012-02-02 | Traffic load management |
ZA2014/03319A ZA201403319B (en) | 2011-11-11 | 2014-05-09 | Traffic load management for uplink network traffic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11188907.7A EP2592890B1 (en) | 2011-11-11 | 2011-11-11 | Traffic load management for uplink network traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2592890A1 EP2592890A1 (en) | 2013-05-15 |
EP2592890B1 true EP2592890B1 (en) | 2017-04-26 |
Family
ID=45092214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11188907.7A Active EP2592890B1 (en) | 2011-11-11 | 2011-11-11 | Traffic load management for uplink network traffic |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP2592890B1 (en) |
JP (1) | JP5571856B2 (en) |
AU (1) | AU2012336327B2 (en) |
CA (1) | CA2855285C (en) |
ES (1) | ES2633122T3 (en) |
SG (1) | SG11201402210YA (en) |
WO (1) | WO2013070264A1 (en) |
ZA (1) | ZA201403319B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460495B (en) * | 2019-08-01 | 2024-02-23 | 北京百度网讯科技有限公司 | Water level propelling method and device, computing node and storage medium |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398552B2 (en) * | 2002-01-28 | 2008-07-08 | Hughes Network Systems, Llc | Method and system for integrating performance enhancing functions in a virtual private network (VPN) |
US7420952B2 (en) * | 2002-10-28 | 2008-09-02 | Mesh Dynamics, Inc. | High performance wireless networks using distributed control |
US20070214379A1 (en) * | 2006-03-03 | 2007-09-13 | Qualcomm Incorporated | Transmission control for wireless communication networks |
US7978725B2 (en) * | 2006-03-06 | 2011-07-12 | Cisco Technology, Inc. | Dynamic modification of contention-based transmission control parameters achieving load balancing scheme in wireless mesh networks |
US20080002734A1 (en) * | 2006-06-29 | 2008-01-03 | Haihong Zheng | Contention window management for relay networks |
JP2010098346A (en) * | 2008-10-14 | 2010-04-30 | Audio Technica Corp | Data transmission method in radio facility of specified small electric power radio station |
KR101122241B1 (en) * | 2009-10-12 | 2012-03-21 | 전자부품연구원 | Throughput enhancement methods in multi-hop ad hoc networks |
KR101104430B1 (en) * | 2009-12-31 | 2012-01-12 | 연세대학교 산학협력단 | Sensor node and method for trassmiting data packet of the sensor node |
-
2011
- 2011-11-11 EP EP11188907.7A patent/EP2592890B1/en active Active
- 2011-11-11 ES ES11188907.7T patent/ES2633122T3/en active Active
-
2012
- 2012-01-30 WO PCT/US2012/023093 patent/WO2013070264A1/en active Application Filing
- 2012-01-30 JP JP2013543422A patent/JP5571856B2/en active Active
- 2012-01-30 SG SG11201402210YA patent/SG11201402210YA/en unknown
- 2012-01-30 CA CA2855285A patent/CA2855285C/en active Active
- 2012-01-30 AU AU2012336327A patent/AU2012336327B2/en active Active
-
2014
- 2014-05-09 ZA ZA2014/03319A patent/ZA201403319B/en unknown
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
SG11201402210YA (en) | 2014-06-27 |
CA2855285A1 (en) | 2013-05-16 |
CA2855285C (en) | 2018-05-29 |
JP2014504088A (en) | 2014-02-13 |
JP5571856B2 (en) | 2014-08-13 |
ZA201403319B (en) | 2015-11-25 |
AU2012336327A1 (en) | 2014-05-29 |
ES2633122T3 (en) | 2017-09-19 |
WO2013070264A1 (en) | 2013-05-16 |
AU2012336327B2 (en) | 2015-05-14 |
EP2592890A1 (en) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9049692B2 (en) | Hybrid access protocol for network nodes | |
JP5629020B2 (en) | Communication routing based on link quality | |
Nguyen et al. | A survey on adaptive multi-channel MAC protocols in VANETs using Markov models | |
US8493868B2 (en) | Traffic load management | |
JP5938480B2 (en) | Routing communications based on node availability | |
US8767546B2 (en) | Traffic load and transmission retry management | |
Almohammedi et al. | An adaptive multi-channel assignment and coordination scheme for IEEE 802.11 P/1609.4 in vehicular ad-hoc networks | |
US20140355575A1 (en) | Method for transmitting data in a communications network | |
EP2651171B1 (en) | Hybrid access protocol for network nodes | |
EP2592890B1 (en) | Traffic load management for uplink network traffic | |
Yang et al. | Priority‐Based Hybrid MAC Protocol for VANET with UAV‐Enabled Roadside Units | |
EP2637467B1 (en) | Traffic load and transmission retry management | |
Vanitha et al. | Game theory and fuzzy based back off algorithm for MAC protocol for multi traffic flows in ad hoc networks | |
Ng et al. | Performance evaluation of wireless controller area network (wcan) using token frame scheme | |
EP2452536B1 (en) | Method for granting medium access in a wireless network and network therefor | |
Barcelo et al. | On the distributed construction of a collision-free schedule in multi-hop packet radio networks | |
Oh et al. | An energy-efficient and collision-avoidance MAC protocol with pre-scheduling for wireless sensor networks | |
JP4637549B2 (en) | Communications system | |
Pinto et al. | Decentralized power aware approach for data fusion in IEEE 802.15. 4 wireless sensor networks | |
Bhandari | Situation-Aware Quality of Service Enhancement for Heterogeneous Ultra-Dense Wireless IoT Networks | |
Khatua et al. | Exploiting anomalous slots for multiple channel access in IEEE 802.11 networks | |
Silva et al. | Combining Spatial and temporal dynamic scheduling techniques on wireless vehicular communications | |
Wisniewski et al. | A New Scheduling Wireless Communication Mechanism in Cellular Systems Based on Genetic Approach | |
Wang et al. | Service Differentiation over Ad Hoc WLANs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20111111 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
17Q | First examination report despatched |
Effective date: 20131204 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20161128 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ITRON GLOBAL SARL |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 888878 Country of ref document: AT Kind code of ref document: T Effective date: 20170515 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602011037299 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20170426 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 888878 Country of ref document: AT Kind code of ref document: T Effective date: 20170426 |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: FG2A Ref document number: 2633122 Country of ref document: ES Kind code of ref document: T3 Effective date: 20170919 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 7 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170727 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170726 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170826 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170726 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602011037299 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20180129 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171111 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20171130 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171111 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 8 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171111 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20111111 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170426 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230519 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20230921 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20230911 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: ES Payment date: 20231211 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20231010 Year of fee payment: 13 Ref country code: DE Payment date: 20230919 Year of fee payment: 13 |