US20110205925A1 - Dynamic channel sharing using bandwidth metrics - Google Patents
Dynamic channel sharing using bandwidth metrics Download PDFInfo
- Publication number
- US20110205925A1 US20110205925A1 US13/098,428 US201113098428A US2011205925A1 US 20110205925 A1 US20110205925 A1 US 20110205925A1 US 201113098428 A US201113098428 A US 201113098428A US 2011205925 A1 US2011205925 A1 US 2011205925A1
- Authority
- US
- United States
- Prior art keywords
- node
- data
- manet
- network
- nodes
- 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.)
- Abandoned
Links
- 230000008859 change Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/535—Allocation or scheduling criteria for wireless resources based on resource usage policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- This application relates to traffic management in mobile ad hoc networks, and more particularly to use of nodal bandwidth metrics to allocate access to wireless communication channels. There remains a need for techniques to dynamically allocate channel access in the context of changing traffic demands and network topologies typical of a mobile ad hoc network.
- each node calculates a bandwidth output value representative of data output requirements for the node relative to the transmit time slots available to the node. This value is shared with other nodes in the MANET and may be employed to more efficiently allocate channel usage among nodes as traffic demands and network topology change.
- a method disclosed herein includes: determining a value indicative of a data output requirement for a node in an ad hoc network, the node having a plurality of one hop neighbors coupled in direct wireless communication with the node; determining a value indicative of a transmission capacity for the node; calculating a bandwidth output metric for the node based upon the transmission capacity and the data output requirement; and communicating the bandwidth output metric to the plurality of one hop neighbors of the node.
- a computer program product disclosed herein includes computer executable code that, when executing on one or more devices, performs the steps of: determining a value indicative of a data output requirement for a node in an ad hoc network, the node having a plurality of one hop neighbors coupled in direct wireless communication with the node; determining a value indicative of a transmission capacity for the node; calculating a bandwidth output metric for the node based upon the transmission capacity and the data output requirement; and communicating the bandwidth output metric to the plurality of one hop neighbors of the node.
- a device disclosed herein includes a data queue that stores data; a data link that packetizes data from the data queue into packets, and that negotiates access to a number of time slots in a mobile ad hoc network; a radio that provides an air interface to the mobile ad hoc network and transmits the packets during the one or more time slots; and a signal processor that calculates a bandwidth output value for the device, the bandwidth output value representing a size of the data queue relative to the number of time slots, and that transmits the bandwidth output value to one or more neighboring nodes during a control time slot.
- FIG. 1 is a block diagram of a Mobile Ad Hoc Network (MANET).
- MANET Mobile Ad Hoc Network
- FIG. 2 is a block diagram of a MANET having multiple backhaul access points.
- FIG. 3 is a block diagram of a node in a MANET.
- FIG. 4 illustrates a transmit schedule for a four-node neighborhood.
- FIG. 5 is a flow chart of a process for managing channel access in a MANET.
- So-called “infrastructure” networks employ base stations at fixed locations to form a substantially fixed network infrastructure.
- the base stations may enable communication among the wireless devices of the network, between a wireless device and another device on another network, and so on.
- This general approach is employed, for example, in 802.11 or WiFi networks, as well as in cellular telephony networks.
- ad hoc wireless communications networks are formed in an ad hoc manner among any number of participating nodes that may periodically join, leave, or move within the ad hoc network.
- Such networks do not belong to any fixed network infrastructure, they may support conventional network communications such as point-to-point or broadcast communications, and may be adapted for use with any of the Internet Protocols (e.g. IPv4, IPv6) or similar, well-established networking protocols.
- a Mobile Ad Hoc Network is an ad hoc wireless network in which some (or all) of the participating devices—also referred to herein as “nodes”—are mobile.
- the topography of a MANET may change not only as nodes enter and leave the network, but as nodes move relative to one another within the network.
- communications routes through the network may also vary in terms of availability and in terms of quality. While the invention(s) disclosed herein have broad applicability, they may be particularly useful in a MANET environment where the context of continuously changing node-to-node links poses challenges to, and opportunities for, maintaining traffic flow.
- FIG. 1 shows a Mobile Ad Hoc Network (MANET) that may be used with the systems and methods described herein.
- a MANET 100 may include subscriber devices 102 , access points 104 , and backhaul access points 108 (for coupling to a core network 110 such as the Internet), and subscriber devices 110 , all generally interconnected as shown in FIG. 1 .
- a core network 110 such as the Internet
- subscriber devices 110 all generally interconnected as shown in FIG. 1 .
- one or more of the subscriber devices 102 may be a stationary device 112 that does not move within the MANET 100 . It will be understood that the device-to-device links illustrated in FIG.
- the links among devices within the MANET 100 are wireless links, although wired links may optionally be employed in various locations such as between the backhaul access point 108 and the core networks 110 .
- typically one or more protocols are shared among the participating devices to control creation, removal, and modification of individual data links between devices, and to route traffic and control information among the devices.
- protocol as used herein generally refers to any and all such rules, procedures, and/or algorithms used in maintaining the MANET 100 , unless a specific protocol is explicitly stated or otherwise clear from the context.
- Subscriber devices 102 may include any general purpose nodes participating in the MANET 100 according to suitable protocols. It will be understood that while subscriber devices 102 may include terminal nodes that send or receive data, in a MANET 100 as described herein subscriber devices 102 may also suitably be employed as intermediate nodes to route traffic to and from other subscriber devices 102 . Thus an ad hoc network as described herein is generally extensible, and as new subscriber devices 102 appear within the MANET 100 , they may form a part of the MANET 100 fabric that routes traffic among other nodes. In general, subscriber devices 102 may include any network or computing devices that include a wireless interface, network protocol stack(s), and the like adapted to participate in the MANET 100 .
- the Internet Protocol may usefully be employed in subscriber devices 102 within the MANET 100 in order to use well-established addressing schemes and the like.
- a subscriber device 102 may include without limitation a cellular phone, personal digital assistant, wireless electronic mail client, laptop computer, palmtop computer, desktop computer, video device, digital camera, electrical instrument, sensor, detector, display, media player, navigation device, smart phone, a wireless networking card, or any other device that might usefully participate in a network.
- subscriber devices may include a GPS receiver providing a position and timing reference.
- each subscriber device 102 may be authenticated and/or authorized before being granted access to the MANET 100 .
- Access points 104 may be provided to establish a permanent or otherwise generally stable infrastructure to the MANET 100 .
- the access points 104 may employ identical network functionality and protocol stacks as subscriber devices 102 .
- an access point 104 may have a number of differences related to their dedicated function within the MANET 100 .
- the access points 104 may have no associated computing device that originates or consumes network traffic. That is, the access points 104 may simply form a fixed mesh of participants in the MANET 100 and relay traffic among other network participants.
- An access point 104 may also include a physical connection to a power infrastructure so that it may be physically installed at a location and operate autonomously without requiring regular maintenance for battery changes and the like.
- access points 104 may include some minimal supplemental circuitry related to, e.g., status and diagnostics, or for receiving software updates and the like. This may improve continuity of coverage across a physical region where subscriber devices 102 may or may not be present with any regularity, and may ensure that wireless network resources are available in a desired area.
- the access point 104 may be of a size and weight making it suitable for mounting and/or concealment in a variety of locations including indoor and outdoor locations, and including mounting on walls, floors, ground, ceilings, roofs, utility poles, and so forth.
- Each access point 104 may include or utilize a timing reference such as any of the Network Timing Protocols described in RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 1361, RFC 1769, RFC 2030, and RFC 4330, all published by The Internet Engineering Task Force.
- Each access point may also, or instead, include a GPS receiver providing a position and timing reference.
- the wireless access points 104 may have a greater transmit power and/or a greater antenna gain than mobile subscriber devices 102 , thus providing greater physical coverage than some other devices within the MANET 100 .
- the MANET 100 may include one or more backhaul access points 108 that generally operate to connect nodes within the MANET 100 to a core network 110 such as the Internet.
- a backhaul access point 108 may have a wireless radio interface, protocol stack(s) and other components of other nodes within the MANET 100 .
- the backhaul access point 108 may provide any suitable interface to the core network 110 .
- the backhaul access point 108 may, for example, be deployed at a fiber access point or the like that provides high-speed data capacity Internet traffic.
- the fiber access point may include a Gig-E router site or an OC-3/12 add-drop multiplexer site.
- the backhaul access point 108 may include two Gig-E interfaces for backhaul connections. It will be understood that any number of a variety of suitable interfaces for backhaul connections may be usefully employed with a backhaul access point 108 as described herein.
- a backhaul access point 108 may serve multiple access points 104 within the MANET 100 , and may distribute network load across those access points 104 .
- a single backhaul access point 108 may serve a single access point 104 .
- the number of access points 104 served by a backhaul access point 108 may relate to the amount of intra-MANET traffic and extra-MANET traffic, the nature and direction of multicast versus unicast data, and so forth. This association between backhaul access points 108 and access points 104 may change from time to time depending on the presence of other subscriber devices 102 within the area, network conditions, and so forth. In some cases an access point 104 may for a time be associated with more than one backhaul access point.
- the core networks 110 may provide access to network resources outside the MANET 100 .
- the core networks 114 may connect disparate, geographically remote and/or local instances of the MANET 100 to form a single network.
- the core networks 110 may include any and all forms of IP networks, including LANs, MANs, WANs, and so on.
- the core networks 110 may also or instead include the public Internet.
- the core networks 110 may consist exclusively of a single zone of administrative control, or a number of zones of administrative control, or some combination of an administrative zone and any of the foregoing.
- the stationary device 112 may include any subscriber device 102 that, for whatever reason, does not physically move within the MANET 100 .
- such fixed physical points within the MANET 100 may provide useful routing alternatives for traffic that can be exploited for load balancing, redundancy, and so forth. This may include, for example, a fixed desktop computer within the MANET 100 .
- any of the nodes above that participate in the MANET 100 according to the MWP may include a hardware platform enabling radio software and firmware upgrades, which may include for example a dedicated or general purpose computing device, memory, digital signal processors, radio-frequency components, an antenna, and any other suitable hardware and/or software suitable for implementing the MWP in participating nodes.
- any of the foregoing devices may also include an adapter for other networks such as an Ethernet network adapter or equivalent IP network adapter, router, and the like, so that non-MANET 100 equipment can participate in the MANET 100 through the device. It will also be appreciated that, while a connection to other core networks 110 is shown, this connection is optional.
- a MANET 100 (with or without fixed access points 104 ) may be maintained independently without connections to any other networks, and may be usefully employed for the sole purpose of trafficking data among subscriber devices 102 .
- FIG. 2 is a block diagram of a MANET having multiple backhaul access points.
- the MANET 100 may include subscriber devices 102 (not shown), access points 104 , and backhaul access points 108 for connecting to core networks 110 , and an edge router 202 that facilitates routing between the MANET 100 and the core networks 110 .
- the edge router 202 may include any devices or systems for maintaining connectivity between the MANET 100 and the core networks 110 , and may further support or enhance network activity within the MANET 100 .
- the edge router 202 may include an industry standard and/or proprietary Address Resolution Protocol server, an application server, a Virtual Private Network server, a Network Address Translation server, a firewall, a Domain Name System server, a Dynamic Host Configuration Protocol server, and/or an Operations, Administration, Maintenance and Provisioning server, as well as any combination of the foregoing.
- These various components may be integrated into the edge router 202 , or may be provided as separate (physical and/or logical) systems that support operation of the edge router 202 .
- These supporting systems may in general support operations such as broadband Internet connectivity within the MANET 100 and the like, broadcast communications crossing between the MANET 100 and the core networks 110 , and so forth, as well as the use of multiple backhaul access points 108 to efficiently route inter-MANET traffic among subscriber devices 102 .
- FIG. 3 is a block diagram of a node in a MANET.
- the node may be any of the devices described above, such as a subscriber device 102 , access point 104 , or backhaul access point.
- the node 300 may include data sources 302 , a data link 304 , a signal processor 306 , a radio 308 , data queues 310 , routing information 312 , and neighborhood information 314 .
- the following description is general in nature, and that numerous arrangements of processing, storage, and radio frequency hardware may be suitably employed to similar affect. This description is intended to outline certain operations of a MANET node relevant to the systems and methods described herein, and in no way limits the invention to the specific architecture shown in FIG. 3 .
- the data sources 302 may include any applications or other hardware and/or software associated with the node 300 . This may include, for example, programs running on a laptop or other portable computing device, a web server or client, a multimedia input and/or output sources such as a digital camera or video, and so forth. More generally any device, sensor, detector, or the like that might send or receive data may operate as a data source 302 in the node 300 . It will be further understood that some nodes such as access points 104 may not have independent data sources 302 , and may function exclusively as MANET 100 network elements that relay data among other nodes and/or provide network stability as generally described above.
- the data link 304 may include hardware and/or software implementing data link layer functionality such as neighbor management, segmentation and reassembly of data packets, Quality of Service (QoS) management, data queue servicing, channel access, adaptive data rates, and any other suitable data link functions.
- data link 304 controls participation of the data sources 302 , and more generally the node 300 , in a MANET. It will be understood that the data link 304 in FIG.
- routing protocols may be implemented within hardware/software of the data link 304 in order to ensure that nodes in the MANET 100 share appropriate routing functions.
- the systems and methods of this disclosure might also or instead be implemented with variations to a conventional protocol stack, or without any formal protocol stack whatsoever.
- the data link 304 may include a link manager that collects neighbor information from the data link layer, and may form and maintains the neighborhood information 314 for the node 300 .
- This table may be used to establish routes to neighbors, and may be updated periodically with information from one and two hop neighbors as described further below.
- the link manager may monitor statistics on all active links for a node on a link-by-link basis in order to support link quality calculations and other functions described herein.
- the signal processor 306 may include waveform processing and timing functions associated with transceiving data at the node 300 . This may include, for example, network timing, time-slot and/or frame-based waveform configuration, maintenance of one or more families of Orthogonal Frequency Division Multiplexing waveform modes (or other transmit mode waveforms), receiver detection of waveform modes, error correction coding, and so forth.
- the signal processor 306 may be implemented in any suitable combination of digital signal processors, field programmable gate arrays, application-specific integrated circuits, microprocessors, or other general or special-purpose computing devices.
- a family of Orthogonal Frequency Division Multiplexing (OFDM) waveforms may be employed for adaptive data rate communications.
- the modes of the OFDM waveforms may, for example, include 7.2 MHz Quadrature Phase-Shift Keying (QPSK), 4.8 MHz QPSK, 2.4 MHz QPSK, 1.2 MHz QPSK, 1.2 MHz Binary Phase-Shift Keying (BPSK), or the like.
- the effective data rate for transmit waveforms may be affected by other parameters such as error correction.
- the transmit modes may be organized into an ordered list of monotonically increasing data rates matched to correspondingly decreasing signal robustness, thus permitting unique mapping of link quality to transmit mode.
- the actual waveform mode selected to transmit data on a link may be adaptively selected according to any suitable evaluation of link quality for links to neighboring nodes.
- the radio 308 in general operates to transmit data from the data queue(s) 310 , as organized and encoded by the data link 304 and the signal processor 306 (along with any control information, packet header information, and so forth), over a wireless air interface to other nodes in a MANET, and to perform complementary data reception.
- the radio 308 may include any radio frequency analog circuitry and the like, and may be coupled to the signal processor 306 which converts data and control information between a digital representation used within the node 300 , and an analog representation used in radio frequency communications with other nodes.
- a low power radio 308 may be employed, such as where the node 300 is a battery-powered mobile device.
- a high-power radio 308 may be employed, such as where the node 300 is an access point or backhaul access point connected to a fixed power infrastructure.
- the radio 308 and signal processor 306 provide adaptive data rate coding capable of changing transmit modes, error correction, and the like according to measured link quality.
- the data queue(s) 310 may include any data for transmission from the node 300 . This may include, for example, data from the data sources 302 , data that is relayed by the node 300 from other nodes in the MANET, and/or control information scheduled for transmission within data packets from the node 300 .
- the data queue(s) 310 may be organized in any suitable fashion, and may include a single first-in-first-out queue, multiple queues, prioritized queues, and the like.
- the node 300 may include multiple prioritized queues to assist in providing various service levels, such as for QoS traffic.
- data in the data queue(s) 310 is delivered according to any suitable queuing mechanism to the data link 304 , signal processor 306 , and radio 308 for transmission within the MANET.
- Routing information 312 such as a routing or forwarding table may be provided to support routing functions by the node 300 .
- this may include, for example, a destination address or identifier, a cost of a path to the destination (using any suitably cost calculation), and a next hop on that path.
- Other information such as quality of service and other metrics for various routes and links may also be provided for more refined routing decisions.
- Neighborhood information 314 may be maintained in a database, flat file, routing table, or other suitably organized volatile or non-volatile storage within the node 300 .
- the neighborhood information 314 generally supports the creation and maintenance of the MANET as well as routing functions of each MANET node. Within the MANET, each node may interact with other nodes to autonomously identify and maintain local network connections, shift capacity, dynamically form routes throughout the network, and so on.
- the routing functions of the node (as supported by the neighbourhood information 314 ) may accommodate delay-sensitive (e.g. voice) traffic, delay-tolerant traffic with quality of service (QoS) prioritization, and so on.
- delay-sensitive e.g. voice
- QoS quality of service
- the neighborhood information 314 may include an identification of neighboring nodes along with information relating to those nodes. This may include one-hop neighbors (i.e., neighboring nodes in direct wireless communication with the node 300 ), two-hop neighbors (i.e., neighboring nodes that communicate with the node 300 through only one other node), or any other nodes or participants within the MANET.
- neighborhood information 314 includes link quality information for the radio 308 , which may be obtained from any combination of physical layer and data link data, and may be employed to adapt the data rate of communications according to currently present channel conditions.
- the neighborhood information may also include QoS data used to select next hops for QoS data. Other useful information may include bandwidth utilization, node weights, node position (either logical or physical), and queue latency for each QoS type and/or other priority type.
- the neighborhood information 314 may be gathered during periodic exchanges (such as during control transmissions) with neighboring nodes, which may occur under control of the link manager of the data link 304 .
- the node 300 may determine output bandwidth (i.e., data transmit requirements) for each link that the node 300 has with a neighbor, and may transmit this to one-hop neighbors.
- the node 300 may receive output bandwidth from each one-hop neighbor.
- each node 300 may further calculate its own input bandwidth (i.e., data receive requirements) from each link to a neighboring node, and this information may in turn be exchanged with one-hop neighbors.
- the node 300 (and every other node in the MANET) may calculate a node weight that represents relative output requirements for the node 300 .
- the node weight, W may be calculated as:
- the node 300 may transmit the node weight to each neighboring node, and may in turn receive a node weight from each neighboring node.
- the node weight, W may be further processed for use with other neighborhood information 314 , such as by limiting the value according to the number of bits used for control information, or by providing a supplemental adjustment to the node weight to further refine control of routing or other MANET functions. Sharing of information for maintenance of the neighborhood information 314 may be controlled, for example, by the data link 304 , which may apply any suitable technique to determine when to share information with one hop neighbors.
- the data link 304 may transmit data whenever a change is detected in the MANET such as an addition or deletion of a node.
- the neighborhood information 314 may include position data in order to support location-based routing and the like.
- GPS Global Positioning System
- FIG. 4 illustrates a transmit schedule for a four-node neighborhood that includes nodes 402 a through 402 d .
- the transmit schedule 400 provides collision-free scheduling among the nodes by allowing only one node to transmit (e.g., within a one or two hop neighborhood) during each timeslot.
- each participating node should have a consistent view of the network. In a dynamic network, this consistency may be achieved by constantly exchanging control information among one-hop neighbors, as generally described below. This may include, for example, the node ID of the originator and the node ID of all the one-hop neighbors of the originator.
- each node Upon receiving control information, each node can create a comprehensive list of neighbors using the node ID of the originator (which is a one hop neighbor of the receiver) and node ID of each one hop neighbor of the originator (which are two-hop neighbors of the receiver). While this simple exchange of information provides useful topology information, it does not generally reflect demands for channel use within the MANET neighborhood.
- FIG. 5 is a flow chart of a process for managing channel use in a MANET.
- the process 500 operates to schedule channel access (such as time slots) using a fair access technique that is weighted according to bandwidth needs of each node.
- the process 500 may be performed by each node in a MANET independently.
- the process 500 may begin by determining other nodes in a network. For example, during the control timeslots, each node may broadcast its node ID to one-hop neighbors.
- each node may then determine its output bandwidth value for each link.
- the output bandwidth value is a value representative of the data output requirements for a node. This step may include an evaluation of any packets in the data queue(s) for each link.
- the actual value may be the number of packets waiting in outbound queues of a node. Or the actual value may be a value representative of queue depth, such as a value from 1 to 7 representing a sliding scale associated with the number packets.
- the output bandwidth value may represent an actual numerical value (or range of values) for the number of packets, or a relative value normalized according to the packet count for each queue.
- the output bandwidth value may be determined relative to the total output data capacity for a node, such as a capacity based upon time slots allocated for the node to transmit using a weighted fair access technique, an unweighted fair access technique, or any other scheduling and/or access control mechanism employed by the node.
- the output bandwidth value may provide a relative indication of queued data to output capacity. This metric may usefully be employed in node weight calculations, resulting in a fair access mechanism skewed toward nodes with relatively high or growing output requirements.
- a minimum or maximum value may be provided for the output bandwidth value.
- a minimum or maximum increment size may be provided in order to limit the rate of change in the output bandwidth value.
- the bandwidth output may be tuned to rise immediately in response to an increasing queue depth, but may fall slowly in response to a decreasing queue depth.
- the output bandwidth value may be tuned, weighted, or otherwise revised or adjusted to achieve a variety of scheduling objectives.
- an environment where most nodes are expected to be downloading large quantities of identical data e.g., streaming video
- factors that may be accounted for in adjusting a calculation of output bandwidth include latency, throughput, overhead, number of channel frequencies, stability of the network, size of the network, and so forth.
- the output bandwidth value calculation may also take account of varying traffic types, such as by weighting higher priority queues more heavily in the calculation, or by using a multiplier when high priority data is present in the queues.
- each node may then send its output bandwidth values to its neighbors, such as its one hop neighbors.
- each node may then receive the output bandwidth from each neighbor, and as a result, may determine an input bandwidth value for itself representative of the data input requirements for the node in order to receive data queued for transmission to the node from each of the neighboring nodes.
- each node may then receive an input bandwidth from each neighbor corresponding to the value determined at each neighbor in step 508 .
- the input bandwidth and output bandwidth may be stored at each node, such as in the neighborhood information 312 described above.
- each node may calculate a node weight value based upon the bandwidth values. This calculation may, for example, use Eq. 1 above, or any other suitable calculation for obtaining a metric representative of the data. For example, instead of just using the node weight value as determined by Eq. 1, this value may be limited with an upper and/or lower bound.
- the node weight value may also, or instead, be modified to meet bit requirements in a control word, such as by providing a one byte, eight bit, or smaller representative value.
- each node may then send the node weight value calculated in step 514 to each one hop neighbor.
- each node may then in complementary fashion receive a node weight value from each one hop neighbor.
- each node may then store the node weight values for other nodes in a one hop and two hop neighborhood. By propagating information in this manner, each node may obtain a view of input and output demands for each node in a two hop neighborhood, as represented in the neighborhood information 312 for each node.
- each node may determine access to time slots for transmitting to other nodes using a fair access technique as described for example in U.S. application Ser. No. 11/947,928 filed on Nov. 30, 2007 and entitled “Communication scheduling of network nodes using fair access and weighting techniques,” the entire content of which is incorporated herein by reference.
- the fair access technique may include generating a random number for each node in each time slot, and using the random number to select an exclusive transmit node (e.g., the node with the highest random number) for that time slot.
- a consistent sequence of random numbers may be created in each node so that only one node within the neighborhood transmits in each time slot. This step may result in a transmit schedule such as that depicted in FIG. 4 .
- network scheduling may then be determined based on the fair access technique and the node weight values, again as described for example in U.S. application Ser. No. 11/947,928. Again without loss of generality of this disclosure or the '978 application, this may include weighting the outcomes of the random number generator according to node weights so that each node gains access to time slots in proportion to the node's data requirements. More generally, any technique for synchronizing transmission time slots in a MANET may usefully be employed, and the results of this synchronization—more particularly the allocation of transmit time slots to a node—may be fed back to the bandwidth output value calculations described above in order to balance channel access with the data output requirements for each node.
- each node may be synchronized using the Global Positioning System (GPS) so that each node is synchronized every 1 pulse per second (PPS). Since the countdown values need to propagate to two-hop neighbors, the countdown values associated with each item may be “2.”
- GPS Global Positioning System
- Each node may still compute a bandwidth value for each link; however when a node's link bandwidth value changes (up or down), that node, node X, for example, is not allowed to immediately use the new bandwidth value in network scheduling. Instead, node X may send (using control timeslots) to all its one-hop neighbors the new bandwidth value and sets the countdown value to 2. The old bandwidth value is used in network scheduling by node X during the next second.
- Node X After the next 1 PPS, Node X sends (using control timeslots) to all of its one-hop neighbors the new bandwidth value and sets the countdown value to 1.
- the old BW value is used by Node X in network scheduling during the next second.
- Node X sends (using control timeslots) to all of its one-hop neighbors the new bandwidth value and sets the countdown value to 0.
- the new bandwidth value may now be used by Node X in network scheduling during the next second. Until the bandwidth value needs to be changed, all future control timeslots will have the new bandwidth value and will keep the countdown value at 0. In one example, a countdown value of 0 indicates a given bandwidth value is being used.
- the countdown value does not drop below zero and once a countdown has started, it continues to zero.
- a countdown value may be replace by a counter that increments rather than decrements to a predetermined value.
- whether the counter increments or decrements, the final value may be any predetermined value.
- the system components may be realized in hardware, software, or some combination of these.
- the components may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices, along with internal and/or external memory such as read-only memory, programmable read-only memory, electronically erasable programmable read-only memory, random access memory, dynamic random access memory, double data rate random access memory, Rambus direct random access memory, flash memory, or any other volatile or non-volatile memory for storing program instructions, program data, and program output or other intermediate or final results.
- the components may also, or instead, include one or more application specific integrated circuits (ASICs), dedicated semiconductor devices, programmable gate arrays, programmable array logic devices, or any other device that may be configured to process electronic signals.
- ASICs application specific integrated circuits
- any combination of the above circuits and components may be suitably adapted to use with the systems described herein.
- the above components may be realized as computer executable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language that may be compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software. Any such combination of hardware and software suitable for use in an ad hoc network as described herein may be employed without departing from the scope of this disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
In a Mobile Ad Hoc Network (MANET), each node calculates a bandwidth output value representative of data output requirements for the node relative to the transmit time slots available to the node. This value is shared with other nodes in the MANET and may be employed to more efficiently allocate channel usage among nodes as traffic demands and network topology change.
Description
- This application is a continuation of U.S. patent application Ser. No. 12/242,462 filed Sep. 30, 2008, which is a continuation-in-part of U.S. patent application Ser. No. 11/947,928 filed on Nov. 30, 2007, each of which is incorporated by reference herein in its entirety. Application Ser. No. 12/242,462 claims the benefit of the following U.S. Provisional Patent Applications, each of which is incorporated by reference herein in its entirety:
- U.S. application Ser. No. 60/976,730 filed on Oct. 1, 2007;
- U.S. application Ser. No. 60/976,735 filed on Oct. 1, 2007;
- U.S. application Ser. No. 60/976,740 filed on Oct. 1, 2007;
- U.S. application Ser. No. 60/976,744 filed on Oct. 1, 2007;
- U.S. application Ser. No. 60/976,747 filed on Oct. 1, 2007; and
- U.S. application Ser. No. 60/976,748 filed on Oct. 1, 2007.
- This invention was made with support of the United States Government under Contract MDA972-01-9-0022. The United States Government may have certain rights in the invention.
- This application relates to traffic management in mobile ad hoc networks, and more particularly to use of nodal bandwidth metrics to allocate access to wireless communication channels. There remains a need for techniques to dynamically allocate channel access in the context of changing traffic demands and network topologies typical of a mobile ad hoc network.
- In a Mobile Ad Hoc Network (MANET), each node calculates a bandwidth output value representative of data output requirements for the node relative to the transmit time slots available to the node. This value is shared with other nodes in the MANET and may be employed to more efficiently allocate channel usage among nodes as traffic demands and network topology change.
- In one aspect, a method disclosed herein includes: determining a value indicative of a data output requirement for a node in an ad hoc network, the node having a plurality of one hop neighbors coupled in direct wireless communication with the node; determining a value indicative of a transmission capacity for the node; calculating a bandwidth output metric for the node based upon the transmission capacity and the data output requirement; and communicating the bandwidth output metric to the plurality of one hop neighbors of the node.
- In another aspect, a computer program product disclosed herein includes computer executable code that, when executing on one or more devices, performs the steps of: determining a value indicative of a data output requirement for a node in an ad hoc network, the node having a plurality of one hop neighbors coupled in direct wireless communication with the node; determining a value indicative of a transmission capacity for the node; calculating a bandwidth output metric for the node based upon the transmission capacity and the data output requirement; and communicating the bandwidth output metric to the plurality of one hop neighbors of the node.
- In another aspect, a device disclosed herein includes a data queue that stores data; a data link that packetizes data from the data queue into packets, and that negotiates access to a number of time slots in a mobile ad hoc network; a radio that provides an air interface to the mobile ad hoc network and transmits the packets during the one or more time slots; and a signal processor that calculates a bandwidth output value for the device, the bandwidth output value representing a size of the data queue relative to the number of time slots, and that transmits the bandwidth output value to one or more neighboring nodes during a control time slot.
- The invention and the following detailed description of certain embodiments thereof may be understood by reference to the following figures wherein:
-
FIG. 1 is a block diagram of a Mobile Ad Hoc Network (MANET). -
FIG. 2 is a block diagram of a MANET having multiple backhaul access points. -
FIG. 3 is a block diagram of a node in a MANET. -
FIG. 4 illustrates a transmit schedule for a four-node neighborhood. -
FIG. 5 is a flow chart of a process for managing channel access in a MANET. - The following description details certain embodiments of a dynamic segmentation and reassembly technique for use in packetizing data for transmission over wireless communication links. By tracking link quality based on local metrics and/or information shared among nodes in the network, data can be segmented and reassembled dynamically to provide more efficient use of communication links without requiring more overhead in individual packet headers. While the invention is described below in relation to Mobile Ad Hoc Networks, it will be understood that the principles of the invention may be suitably applied in any environment where link quality and/or transmission modes vary dynamically, and information relating to link quality is available to nodes participating in a network.
- So-called “infrastructure” networks employ base stations at fixed locations to form a substantially fixed network infrastructure. The base stations may enable communication among the wireless devices of the network, between a wireless device and another device on another network, and so on. This general approach is employed, for example, in 802.11 or WiFi networks, as well as in cellular telephony networks. By contrast, ad hoc wireless communications networks are formed in an ad hoc manner among any number of participating nodes that may periodically join, leave, or move within the ad hoc network. Although such networks do not belong to any fixed network infrastructure, they may support conventional network communications such as point-to-point or broadcast communications, and may be adapted for use with any of the Internet Protocols (e.g. IPv4, IPv6) or similar, well-established networking protocols.
- In general, a Mobile Ad Hoc Network (MANET) is an ad hoc wireless network in which some (or all) of the participating devices—also referred to herein as “nodes”—are mobile. Thus the topography of a MANET may change not only as nodes enter and leave the network, but as nodes move relative to one another within the network. As the network topology changes, communications routes through the network may also vary in terms of availability and in terms of quality. While the invention(s) disclosed herein have broad applicability, they may be particularly useful in a MANET environment where the context of continuously changing node-to-node links poses challenges to, and opportunities for, maintaining traffic flow.
-
FIG. 1 shows a Mobile Ad Hoc Network (MANET) that may be used with the systems and methods described herein. In general, a MANET 100 may includesubscriber devices 102,access points 104, and backhaul access points 108 (for coupling to acore network 110 such as the Internet), andsubscriber devices 110, all generally interconnected as shown inFIG. 1 . Without limiting the generality of the foregoing, one or more of thesubscriber devices 102 may be astationary device 112 that does not move within theMANET 100. It will be understood that the device-to-device links illustrated inFIG. 1 are for purposes of illustration only, and in no way are intended to limit the nature or number of links between devices in theMANET 100, which may be created, removed, and/or modified over time according to any corresponding protocols followed by the devices within theMANET 100. In general, the links among devices within the MANET 100 are wireless links, although wired links may optionally be employed in various locations such as between thebackhaul access point 108 and thecore networks 110. In order to maintain the MANET 100, typically one or more protocols are shared among the participating devices to control creation, removal, and modification of individual data links between devices, and to route traffic and control information among the devices. The term protocol as used herein generally refers to any and all such rules, procedures, and/or algorithms used in maintaining theMANET 100, unless a specific protocol is explicitly stated or otherwise clear from the context. -
Subscriber devices 102 may include any general purpose nodes participating in the MANET 100 according to suitable protocols. It will be understood that whilesubscriber devices 102 may include terminal nodes that send or receive data, in aMANET 100 as described hereinsubscriber devices 102 may also suitably be employed as intermediate nodes to route traffic to and fromother subscriber devices 102. Thus an ad hoc network as described herein is generally extensible, and asnew subscriber devices 102 appear within theMANET 100, they may form a part of theMANET 100 fabric that routes traffic among other nodes. In general,subscriber devices 102 may include any network or computing devices that include a wireless interface, network protocol stack(s), and the like adapted to participate in the MANET 100. The Internet Protocol may usefully be employed insubscriber devices 102 within the MANET 100 in order to use well-established addressing schemes and the like. Asubscriber device 102 may include without limitation a cellular phone, personal digital assistant, wireless electronic mail client, laptop computer, palmtop computer, desktop computer, video device, digital camera, electrical instrument, sensor, detector, display, media player, navigation device, smart phone, a wireless networking card, or any other device that might usefully participate in a network. In some embodiments subscriber devices may include a GPS receiver providing a position and timing reference. In embodiments, eachsubscriber device 102 may be authenticated and/or authorized before being granted access to theMANET 100. - Access points 104 may be provided to establish a permanent or otherwise generally stable infrastructure to the
MANET 100. In one embodiment, theaccess points 104 may employ identical network functionality and protocol stacks assubscriber devices 102. However, anaccess point 104 may have a number of differences related to their dedicated function within theMANET 100. In one aspect, theaccess points 104 may have no associated computing device that originates or consumes network traffic. That is, theaccess points 104 may simply form a fixed mesh of participants in theMANET 100 and relay traffic among other network participants. Anaccess point 104 may also include a physical connection to a power infrastructure so that it may be physically installed at a location and operate autonomously without requiring regular maintenance for battery changes and the like. In another aspect,access points 104 may include some minimal supplemental circuitry related to, e.g., status and diagnostics, or for receiving software updates and the like. This may improve continuity of coverage across a physical region wheresubscriber devices 102 may or may not be present with any regularity, and may ensure that wireless network resources are available in a desired area. In embodiments theaccess point 104 may be of a size and weight making it suitable for mounting and/or concealment in a variety of locations including indoor and outdoor locations, and including mounting on walls, floors, ground, ceilings, roofs, utility poles, and so forth. - Each
access point 104 may include or utilize a timing reference such as any of the Network Timing Protocols described in RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 1361, RFC 1769, RFC 2030, and RFC 4330, all published by The Internet Engineering Task Force. Each access point may also, or instead, include a GPS receiver providing a position and timing reference. In embodiments thewireless access points 104 may have a greater transmit power and/or a greater antenna gain thanmobile subscriber devices 102, thus providing greater physical coverage than some other devices within theMANET 100. - The
MANET 100 may include one or morebackhaul access points 108 that generally operate to connect nodes within theMANET 100 to acore network 110 such as the Internet. On one interface, abackhaul access point 108 may have a wireless radio interface, protocol stack(s) and other components of other nodes within theMANET 100. On another interface, thebackhaul access point 108 may provide any suitable interface to thecore network 110. Thebackhaul access point 108 may, for example, be deployed at a fiber access point or the like that provides high-speed data capacity Internet traffic. For example and without limitation, the fiber access point may include a Gig-E router site or an OC-3/12 add-drop multiplexer site. In an embodiment thebackhaul access point 108 may include two Gig-E interfaces for backhaul connections. It will be understood that any number of a variety of suitable interfaces for backhaul connections may be usefully employed with abackhaul access point 108 as described herein. - A
backhaul access point 108 may servemultiple access points 104 within theMANET 100, and may distribute network load across those access points 104. Alternatively, a singlebackhaul access point 108 may serve asingle access point 104. In some embodiments, the number ofaccess points 104 served by abackhaul access point 108 may relate to the amount of intra-MANET traffic and extra-MANET traffic, the nature and direction of multicast versus unicast data, and so forth. This association betweenbackhaul access points 108 andaccess points 104 may change from time to time depending on the presence ofother subscriber devices 102 within the area, network conditions, and so forth. In some cases anaccess point 104 may for a time be associated with more than one backhaul access point. - The core networks 110 may provide access to network resources outside the
MANET 100. The core networks 114 may connect disparate, geographically remote and/or local instances of theMANET 100 to form a single network. The core networks 110 may include any and all forms of IP networks, including LANs, MANs, WANs, and so on. The core networks 110 may also or instead include the public Internet. In other embodiments thecore networks 110 may consist exclusively of a single zone of administrative control, or a number of zones of administrative control, or some combination of an administrative zone and any of the foregoing. - The
stationary device 112 may include anysubscriber device 102 that, for whatever reason, does not physically move within theMANET 100. In general, such fixed physical points within theMANET 100 may provide useful routing alternatives for traffic that can be exploited for load balancing, redundancy, and so forth. This may include, for example, a fixed desktop computer within theMANET 100. - Details of
various MANET 100 protocols—referred to collectively herein as the MANET Wireless Protocol (MWP)—are provided below. In general, any of the nodes above that participate in theMANET 100 according to the MWP may include a hardware platform enabling radio software and firmware upgrades, which may include for example a dedicated or general purpose computing device, memory, digital signal processors, radio-frequency components, an antenna, and any other suitable hardware and/or software suitable for implementing the MWP in participating nodes. - In embodiments, any of the foregoing devices, such as one of the
access points 104, may also include an adapter for other networks such as an Ethernet network adapter or equivalent IP network adapter, router, and the like, so thatnon-MANET 100 equipment can participate in theMANET 100 through the device. It will also be appreciated that, while a connection toother core networks 110 is shown, this connection is optional. A MANET 100 (with or without fixed access points 104) may be maintained independently without connections to any other networks, and may be usefully employed for the sole purpose of trafficking data amongsubscriber devices 102. -
FIG. 2 is a block diagram of a MANET having multiple backhaul access points. In general, theMANET 100 may include subscriber devices 102 (not shown),access points 104, andbackhaul access points 108 for connecting tocore networks 110, and anedge router 202 that facilitates routing between theMANET 100 and the core networks 110. - The
edge router 202 may include any devices or systems for maintaining connectivity between theMANET 100 and thecore networks 110, and may further support or enhance network activity within theMANET 100. For example, theedge router 202 may include an industry standard and/or proprietary Address Resolution Protocol server, an application server, a Virtual Private Network server, a Network Address Translation server, a firewall, a Domain Name System server, a Dynamic Host Configuration Protocol server, and/or an Operations, Administration, Maintenance and Provisioning server, as well as any combination of the foregoing. These various components may be integrated into theedge router 202, or may be provided as separate (physical and/or logical) systems that support operation of theedge router 202. These supporting systems may in general support operations such as broadband Internet connectivity within theMANET 100 and the like, broadcast communications crossing between theMANET 100 and thecore networks 110, and so forth, as well as the use of multiplebackhaul access points 108 to efficiently route inter-MANET traffic amongsubscriber devices 102. -
FIG. 3 is a block diagram of a node in a MANET. The node may be any of the devices described above, such as asubscriber device 102,access point 104, or backhaul access point. In general thenode 300 may includedata sources 302, adata link 304, asignal processor 306, aradio 308,data queues 310, routinginformation 312, andneighborhood information 314. It will be understood that the following description is general in nature, and that numerous arrangements of processing, storage, and radio frequency hardware may be suitably employed to similar affect. This description is intended to outline certain operations of a MANET node relevant to the systems and methods described herein, and in no way limits the invention to the specific architecture shown inFIG. 3 . - The
data sources 302 may include any applications or other hardware and/or software associated with thenode 300. This may include, for example, programs running on a laptop or other portable computing device, a web server or client, a multimedia input and/or output sources such as a digital camera or video, and so forth. More generally any device, sensor, detector, or the like that might send or receive data may operate as adata source 302 in thenode 300. It will be further understood that some nodes such asaccess points 104 may not haveindependent data sources 302, and may function exclusively asMANET 100 network elements that relay data among other nodes and/or provide network stability as generally described above. - The data link 304 may include hardware and/or software implementing data link layer functionality such as neighbor management, segmentation and reassembly of data packets, Quality of Service (QoS) management, data queue servicing, channel access, adaptive data rates, and any other suitable data link functions. In general, the data link 304 controls participation of the
data sources 302, and more generally thenode 300, in a MANET. It will be understood that the data link 304 inFIG. 3 may implement any number of lower layer (e.g., physical layer) or higher layer (e.g., routing, transport, session, presentation, application) protocols from a conventional Open Systems Interconnection (OSI) Model, or any such protocols and related functions may be implemented elsewhere within thenode 300, such as in an IP stack executing on thedata source 302, or in firmware within thesignal processor 306 orradio 308, or in additional functional blocks not depicted inFIG. 3 . For example, routing protocols may be implemented within hardware/software of the data link 304 in order to ensure that nodes in theMANET 100 share appropriate routing functions. Thus it will be appreciated that while the certain elements discussed herein might suitably be placed within the data link layer of a formal protocol stack, the systems and methods of this disclosure might also or instead be implemented with variations to a conventional protocol stack, or without any formal protocol stack whatsoever. - The data link 304 may include a link manager that collects neighbor information from the data link layer, and may form and maintains the
neighborhood information 314 for thenode 300. This table may be used to establish routes to neighbors, and may be updated periodically with information from one and two hop neighbors as described further below. The link manager may monitor statistics on all active links for a node on a link-by-link basis in order to support link quality calculations and other functions described herein. - The
signal processor 306 may include waveform processing and timing functions associated with transceiving data at thenode 300. This may include, for example, network timing, time-slot and/or frame-based waveform configuration, maintenance of one or more families of Orthogonal Frequency Division Multiplexing waveform modes (or other transmit mode waveforms), receiver detection of waveform modes, error correction coding, and so forth. In general, thesignal processor 306 may be implemented in any suitable combination of digital signal processors, field programmable gate arrays, application-specific integrated circuits, microprocessors, or other general or special-purpose computing devices. - In one embodiment, a family of Orthogonal Frequency Division Multiplexing (OFDM) waveforms may be employed for adaptive data rate communications. The modes of the OFDM waveforms may, for example, include 7.2 MHz Quadrature Phase-Shift Keying (QPSK), 4.8 MHz QPSK, 2.4 MHz QPSK, 1.2 MHz QPSK, 1.2 MHz Binary Phase-Shift Keying (BPSK), or the like. The effective data rate for transmit waveforms may be affected by other parameters such as error correction. In order to facilitate implementation of an adaptive rate system, the transmit modes may be organized into an ordered list of monotonically increasing data rates matched to correspondingly decreasing signal robustness, thus permitting unique mapping of link quality to transmit mode. In one aspect, the actual waveform mode selected to transmit data on a link may be adaptively selected according to any suitable evaluation of link quality for links to neighboring nodes.
- The
radio 308 in general operates to transmit data from the data queue(s) 310, as organized and encoded by thedata link 304 and the signal processor 306 (along with any control information, packet header information, and so forth), over a wireless air interface to other nodes in a MANET, and to perform complementary data reception. Theradio 308 may include any radio frequency analog circuitry and the like, and may be coupled to thesignal processor 306 which converts data and control information between a digital representation used within thenode 300, and an analog representation used in radio frequency communications with other nodes. In embodiments, alow power radio 308 may be employed, such as where thenode 300 is a battery-powered mobile device. In other embodiments, a high-power radio 308 may be employed, such as where thenode 300 is an access point or backhaul access point connected to a fixed power infrastructure. In an embodiment, theradio 308 andsignal processor 306 provide adaptive data rate coding capable of changing transmit modes, error correction, and the like according to measured link quality. - The data queue(s) 310 may include any data for transmission from the
node 300. This may include, for example, data from thedata sources 302, data that is relayed by thenode 300 from other nodes in the MANET, and/or control information scheduled for transmission within data packets from thenode 300. The data queue(s) 310 may be organized in any suitable fashion, and may include a single first-in-first-out queue, multiple queues, prioritized queues, and the like. In one embodiment, thenode 300 may include multiple prioritized queues to assist in providing various service levels, such as for QoS traffic. In general, data in the data queue(s) 310 is delivered according to any suitable queuing mechanism to thedata link 304,signal processor 306, andradio 308 for transmission within the MANET. - Routing
information 312 such as a routing or forwarding table may be provided to support routing functions by thenode 300. In general, this may include, for example, a destination address or identifier, a cost of a path to the destination (using any suitably cost calculation), and a next hop on that path. Other information such as quality of service and other metrics for various routes and links may also be provided for more refined routing decisions. -
Neighborhood information 314 may be maintained in a database, flat file, routing table, or other suitably organized volatile or non-volatile storage within thenode 300. Theneighborhood information 314 generally supports the creation and maintenance of the MANET as well as routing functions of each MANET node. Within the MANET, each node may interact with other nodes to autonomously identify and maintain local network connections, shift capacity, dynamically form routes throughout the network, and so on. The routing functions of the node (as supported by the neighbourhood information 314) may accommodate delay-sensitive (e.g. voice) traffic, delay-tolerant traffic with quality of service (QoS) prioritization, and so on. - The
neighborhood information 314 may include an identification of neighboring nodes along with information relating to those nodes. This may include one-hop neighbors (i.e., neighboring nodes in direct wireless communication with the node 300), two-hop neighbors (i.e., neighboring nodes that communicate with thenode 300 through only one other node), or any other nodes or participants within the MANET. In one aspect,neighborhood information 314 includes link quality information for theradio 308, which may be obtained from any combination of physical layer and data link data, and may be employed to adapt the data rate of communications according to currently present channel conditions. The neighborhood information may also include QoS data used to select next hops for QoS data. Other useful information may include bandwidth utilization, node weights, node position (either logical or physical), and queue latency for each QoS type and/or other priority type. - In one aspect, the
neighborhood information 314 may be gathered during periodic exchanges (such as during control transmissions) with neighboring nodes, which may occur under control of the link manager of thedata link 304. For example, thenode 300 may determine output bandwidth (i.e., data transmit requirements) for each link that thenode 300 has with a neighbor, and may transmit this to one-hop neighbors. Similarly, thenode 300 may receive output bandwidth from each one-hop neighbor. Using this data, eachnode 300 may further calculate its own input bandwidth (i.e., data receive requirements) from each link to a neighboring node, and this information may in turn be exchanged with one-hop neighbors. Following a system-wide exchange with one-hop neighbors, the node 300 (and every other node in the MANET) may calculate a node weight that represents relative output requirements for thenode 300. For example, the node weight, W, may be calculated as: -
- where BWout is the total output or transmit requirements for each link of the
node 300, and BWin is the total input or receive requirements for each link of thenode 300. Finally, thenode 300 may transmit the node weight to each neighboring node, and may in turn receive a node weight from each neighboring node. It will be appreciated that the node weight, W, may be further processed for use withother neighborhood information 314, such as by limiting the value according to the number of bits used for control information, or by providing a supplemental adjustment to the node weight to further refine control of routing or other MANET functions. Sharing of information for maintenance of theneighborhood information 314 may be controlled, for example, by thedata link 304, which may apply any suitable technique to determine when to share information with one hop neighbors. In one aspect, thedata link 304 may transmit data whenever a change is detected in the MANET such as an addition or deletion of a node. - In another aspect, for a MANET that has location-aware nodes 300 (e.g., using Global Positioning System (GPS) data, signal strength data, and so forth), the
neighborhood information 314 may include position data in order to support location-based routing and the like. - Having described a MANET in general terms, the description now turns to a more detailed treatment of the manner in which bandwidth metrics are shared among nodes and used to manage channel access.
-
FIG. 4 illustrates a transmit schedule for a four-node neighborhood that includesnodes 402 a through 402 d. In general, the transmitschedule 400 provides collision-free scheduling among the nodes by allowing only one node to transmit (e.g., within a one or two hop neighborhood) during each timeslot. In order for the transmit schedule to effectively provide channel access, each participating node should have a consistent view of the network. In a dynamic network, this consistency may be achieved by constantly exchanging control information among one-hop neighbors, as generally described below. This may include, for example, the node ID of the originator and the node ID of all the one-hop neighbors of the originator. Upon receiving control information, each node can create a comprehensive list of neighbors using the node ID of the originator (which is a one hop neighbor of the receiver) and node ID of each one hop neighbor of the originator (which are two-hop neighbors of the receiver). While this simple exchange of information provides useful topology information, it does not generally reflect demands for channel use within the MANET neighborhood. -
FIG. 5 is a flow chart of a process for managing channel use in a MANET. In general, theprocess 500 operates to schedule channel access (such as time slots) using a fair access technique that is weighted according to bandwidth needs of each node. Theprocess 500 may be performed by each node in a MANET independently. - As shown in
step 502, theprocess 500 may begin by determining other nodes in a network. For example, during the control timeslots, each node may broadcast its node ID to one-hop neighbors. - As shown in
step 504, each node may then determine its output bandwidth value for each link. In general, the output bandwidth value is a value representative of the data output requirements for a node. This step may include an evaluation of any packets in the data queue(s) for each link. The actual value may be the number of packets waiting in outbound queues of a node. Or the actual value may be a value representative of queue depth, such as a value from 1 to 7 representing a sliding scale associated with the number packets. The output bandwidth value may represent an actual numerical value (or range of values) for the number of packets, or a relative value normalized according to the packet count for each queue. In one embodiment, the output bandwidth value may be determined relative to the total output data capacity for a node, such as a capacity based upon time slots allocated for the node to transmit using a weighted fair access technique, an unweighted fair access technique, or any other scheduling and/or access control mechanism employed by the node. Thus the output bandwidth value may provide a relative indication of queued data to output capacity. This metric may usefully be employed in node weight calculations, resulting in a fair access mechanism skewed toward nodes with relatively high or growing output requirements. In one embodiment, a minimum or maximum value may be provided for the output bandwidth value. In an embodiment, a minimum or maximum increment size may be provided in order to limit the rate of change in the output bandwidth value. Thus for example, the bandwidth output may be tuned to rise immediately in response to an increasing queue depth, but may fall slowly in response to a decreasing queue depth. - More generally, the output bandwidth value may be tuned, weighted, or otherwise revised or adjusted to achieve a variety of scheduling objectives. For example, an environment where most nodes are expected to be downloading large quantities of identical data (e.g., streaming video) may be tuned for different performance than an environment where each node is expected to regularly source unique data (e.g., voice). In general, factors that may be accounted for in adjusting a calculation of output bandwidth include latency, throughput, overhead, number of channel frequencies, stability of the network, size of the network, and so forth. While these factors do not dictate a particular calculation for the output bandwidth value under any specific circumstances, they do illustrate the types of design objectives and trade offs that may be addressed by adjustments to the bandwidth output value calculation, each of which may serve to skew channel usage in proportion to actual or anticipated needs. It will further be appreciated that the output bandwidth value calculation may also take account of varying traffic types, such as by weighting higher priority queues more heavily in the calculation, or by using a multiplier when high priority data is present in the queues.
- As shown in
step 506, each node may then send its output bandwidth values to its neighbors, such as its one hop neighbors. - As shown in
step 508, each node may then receive the output bandwidth from each neighbor, and as a result, may determine an input bandwidth value for itself representative of the data input requirements for the node in order to receive data queued for transmission to the node from each of the neighboring nodes. - As shown in
step 510, each node may then receive an input bandwidth from each neighbor corresponding to the value determined at each neighbor instep 508. - As shown in
step 512, the input bandwidth and output bandwidth may be stored at each node, such as in theneighborhood information 312 described above. - As shown in
step 514, each node may calculate a node weight value based upon the bandwidth values. This calculation may, for example, use Eq. 1 above, or any other suitable calculation for obtaining a metric representative of the data. For example, instead of just using the node weight value as determined by Eq. 1, this value may be limited with an upper and/or lower bound. The node weight value may also, or instead, be modified to meet bit requirements in a control word, such as by providing a one byte, eight bit, or smaller representative value. - As shown in
step 516, each node may then send the node weight value calculated instep 514 to each one hop neighbor. - As shown in
step 518, each node may then in complementary fashion receive a node weight value from each one hop neighbor. - As shown in
step 520, each node may then store the node weight values for other nodes in a one hop and two hop neighborhood. By propagating information in this manner, each node may obtain a view of input and output demands for each node in a two hop neighborhood, as represented in theneighborhood information 312 for each node. - As shown in step 522, each node may determine access to time slots for transmitting to other nodes using a fair access technique as described for example in U.S. application Ser. No. 11/947,928 filed on Nov. 30, 2007 and entitled “Communication scheduling of network nodes using fair access and weighting techniques,” the entire content of which is incorporated herein by reference. Without loss of generality of this disclosure or the '978 application, the fair access technique may include generating a random number for each node in each time slot, and using the random number to select an exclusive transmit node (e.g., the node with the highest random number) for that time slot. By using the same pseudo-random number generator in all nodes, and by using node identifiers or other information known to all nodes in a one or two hop neighborhood to seed the pseudo-random number generator, a consistent sequence of random numbers may be created in each node so that only one node within the neighborhood transmits in each time slot. This step may result in a transmit schedule such as that depicted in
FIG. 4 . - As shown in
step 524, network scheduling may then be determined based on the fair access technique and the node weight values, again as described for example in U.S. application Ser. No. 11/947,928. Again without loss of generality of this disclosure or the '978 application, this may include weighting the outcomes of the random number generator according to node weights so that each node gains access to time slots in proportion to the node's data requirements. More generally, any technique for synchronizing transmission time slots in a MANET may usefully be employed, and the results of this synchronization—more particularly the allocation of transmit time slots to a node—may be fed back to the bandwidth output value calculations described above in order to balance channel access with the data output requirements for each node. - Since reception of control timeslots in any one-hop neighborhood is not guaranteed, certain nodes (those that do not receive the control timeslots) may be using a different set of bandwidth and node weight values compared to those nodes that did receive bandwidth values and node weight values in the control timeslots. Thus, with inconsistent data upon which to base fair access calculations, collisions may occur. In one embodiment, this may be addressed by adding a countdown value associated with each bandwidth value in the control timeslot. For example, if the control timeslot has a 1 byte-word and 6 bits are used for a node weight value, two bits may be used for a countdown value. In one particular example, each node may be synchronized using the Global Positioning System (GPS) so that each node is synchronized every 1 pulse per second (PPS). Since the countdown values need to propagate to two-hop neighbors, the countdown values associated with each item may be “2.” Each node may still compute a bandwidth value for each link; however when a node's link bandwidth value changes (up or down), that node, node X, for example, is not allowed to immediately use the new bandwidth value in network scheduling. Instead, node X may send (using control timeslots) to all its one-hop neighbors the new bandwidth value and sets the countdown value to 2. The old bandwidth value is used in network scheduling by node X during the next second. After the next 1 PPS, Node X sends (using control timeslots) to all of its one-hop neighbors the new bandwidth value and sets the countdown value to 1. The old BW value is used by Node X in network scheduling during the next second. After the next 1 PPS, Node X sends (using control timeslots) to all of its one-hop neighbors the new bandwidth value and sets the countdown value to 0. The new bandwidth value may now be used by Node X in network scheduling during the next second. Until the bandwidth value needs to be changed, all future control timeslots will have the new bandwidth value and will keep the countdown value at 0. In one example, a countdown value of 0 indicates a given bandwidth value is being used. In one example, the countdown value does not drop below zero and once a countdown has started, it continues to zero. In other examples, a countdown value may be replace by a counter that increments rather than decrements to a predetermined value. In other examples, whether the counter increments or decrements, the final value may be any predetermined value.
- A wide range of software and hardware platforms may be used to deploy the systems and methods described herein. Generally, the system components may be realized in hardware, software, or some combination of these. The components may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices, along with internal and/or external memory such as read-only memory, programmable read-only memory, electronically erasable programmable read-only memory, random access memory, dynamic random access memory, double data rate random access memory, Rambus direct random access memory, flash memory, or any other volatile or non-volatile memory for storing program instructions, program data, and program output or other intermediate or final results. The components may also, or instead, include one or more application specific integrated circuits (ASICs), dedicated semiconductor devices, programmable gate arrays, programmable array logic devices, or any other device that may be configured to process electronic signals.
- Any combination of the above circuits and components, whether packaged discretely, as a chip, as a chip set, or as a die, may be suitably adapted to use with the systems described herein. It will further be appreciated that the above components may be realized as computer executable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language that may be compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software. Any such combination of hardware and software suitable for use in an ad hoc network as described herein may be employed without departing from the scope of this disclosure.
- Those skilled in the art will recognize, or will be able to ascertain using no more than routine experimentation, numerous equivalents to the systems and methods described herein. Such equivalents are considered to fall within the scope of the present invention. Moreover, the embodiments described herein are intended to exemplify the invention and not to limit it. While the invention is described above in connection with certain preferred embodiments, other embodiments may be understood by those of ordinary skill in the art. All such variations, modifications, extensions, additions, omissions, and the like as would be apparent to one of ordinary skill in the art are intended to fall within the scope of this disclosure, which is to be interpreted in the broadest sense allowable by law.
Claims (6)
1. A device comprising:
a data queue that stores data;
a data link that packetizes data from the data queue into packets, and that negotiates access to a number of time slots in a mobile ad hoc network;
a radio that provides an air interface to the mobile ad hoc network and transmits the packets during the one or more time slots; and
a signal processor that calculates a bandwidth output metric for the device, the bandwidth output metric representing a size of a number of data output queues of the device relative to the number of time slots, the signal processor further configured to transmit the bandwidth output metric to one or more neighboring nodes during a control time slot, and the signal processor further configured to receive a corresponding bandwidth output metric from each of the one or more neighboring nodes and to determine network scheduling that allocates at least one time slot to each participant in a neighborhood that includes the device and the one or more neighboring nodes, wherein the network scheduling is biased in favor of at least one of the plurality of nodes in the neighborhood based on the bandwidth output metric for the node and the corresponding bandwidth output metric from each of the one or more neighboring nodes.
2. The device of claim 1 wherein the signal processor is further configured to adjust the bandwidth output metric according to a change in the size of one or more of the number of data output queues.
3. The device of claim 1 wherein the signal processor is further configured to negotiate for one or more channel access rights with the one or more neighboring nodes.
4. The device of claim 1 wherein the network scheduling includes one or more channel access rights determined using a fair access technique weighted according to the corresponding bandwidth output metric for the one or more neighboring nodes.
5. The method of claim 4 wherein the signal processor is further configured to determine a transmission capacity for the device based upon the one or more channel access rights.
6. The device of claim 1 wherein the signal processor is further configured to retransmit the corresponding bandwidth output metric from each of the one or more neighboring nodes to each other one of the one or more neighboring nodes in the neighborhood.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/098,428 US20110205925A1 (en) | 2007-10-01 | 2011-04-30 | Dynamic channel sharing using bandwidth metrics |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97674807P | 2007-10-01 | 2007-10-01 | |
US97673507P | 2007-10-01 | 2007-10-01 | |
US97674707P | 2007-10-01 | 2007-10-01 | |
US97673007P | 2007-10-01 | 2007-10-01 | |
US97674007P | 2007-10-01 | 2007-10-01 | |
US97674407P | 2007-10-01 | 2007-10-01 | |
US11/947,928 US7801153B2 (en) | 2007-10-01 | 2007-11-30 | Communication scheduling of network nodes using fair access and weighting techniques |
US12/242,462 US7965671B2 (en) | 2007-10-01 | 2008-09-30 | Dynamic channel sharing using bandwidth metrics |
US13/098,428 US20110205925A1 (en) | 2007-10-01 | 2011-04-30 | Dynamic channel sharing using bandwidth metrics |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/242,462 Continuation US7965671B2 (en) | 2007-10-01 | 2008-09-30 | Dynamic channel sharing using bandwidth metrics |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110205925A1 true US20110205925A1 (en) | 2011-08-25 |
Family
ID=40588035
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/242,462 Active US7965671B2 (en) | 2007-10-01 | 2008-09-30 | Dynamic channel sharing using bandwidth metrics |
US13/098,428 Abandoned US20110205925A1 (en) | 2007-10-01 | 2011-04-30 | Dynamic channel sharing using bandwidth metrics |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/242,462 Active US7965671B2 (en) | 2007-10-01 | 2008-09-30 | Dynamic channel sharing using bandwidth metrics |
Country Status (5)
Country | Link |
---|---|
US (2) | US7965671B2 (en) |
EP (1) | EP2201725B1 (en) |
CA (1) | CA2739458A1 (en) |
MX (1) | MX2010003539A (en) |
WO (1) | WO2009046143A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100182978A1 (en) * | 2009-01-21 | 2010-07-22 | Sy Denh T | Communication scheduling of network nodes using a cluster coefficent |
US10237136B2 (en) * | 2014-09-30 | 2019-03-19 | Nicira, Inc. | Method of distributing network policies for data compute nodes in a datacenter |
US10374975B2 (en) * | 2015-11-13 | 2019-08-06 | Raytheon Company | Dynamic priority calculator for priority based scheduling |
US11811642B2 (en) | 2018-07-27 | 2023-11-07 | GoTenna, Inc. | Vine™: zero-control routing using data packet inspection for wireless mesh networks |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7616565B2 (en) | 2007-02-26 | 2009-11-10 | Raytheon Company | Network communication scheduling |
US8014279B2 (en) | 2007-08-22 | 2011-09-06 | Raytheon Company | Communication scheduling of network nodes |
US20090067390A1 (en) * | 2007-09-12 | 2009-03-12 | Frank Grass | Method for specifying transmitting times for cyclically sending out data messages, and subscriber device therefor |
US7801153B2 (en) * | 2007-10-01 | 2010-09-21 | Powerwave Cognition, Inc. | Communication scheduling of network nodes using fair access and weighting techniques |
US7948966B2 (en) | 2007-10-01 | 2011-05-24 | Powerwave Cognition, Inc. | Multi-metric routing calculations |
US7965671B2 (en) * | 2007-10-01 | 2011-06-21 | Powerwave Cognition, Inc. | Dynamic channel sharing using bandwidth metrics |
WO2009094264A2 (en) * | 2008-01-24 | 2009-07-30 | Firetide, Inc. | Channel assignment for wireless access networks |
US8175101B2 (en) | 2008-08-15 | 2012-05-08 | Raytheon Company | Multicasting in a network using neighbor information |
US8179838B2 (en) * | 2008-10-20 | 2012-05-15 | Motorola Mobility, Inc. | Wi-Fi enabled router having uplink bandwith sharing capability |
US9832769B2 (en) * | 2009-09-25 | 2017-11-28 | Northwestern University | Virtual full duplex network communications |
US8665063B2 (en) * | 2009-09-25 | 2014-03-04 | Northwestern University | Neighbor discovery techniques |
US8483735B2 (en) | 2010-08-26 | 2013-07-09 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatus for parallel scheduling of frequency resources for communication nodes |
US8773992B2 (en) | 2010-10-11 | 2014-07-08 | At&T Intellectual Property I, L.P. | Methods and apparatus for hierarchical routing in communication networks |
US9124449B2 (en) * | 2011-02-01 | 2015-09-01 | Cisco Technology, Inc. | Network topologies for energy efficient networks |
US9049692B2 (en) | 2012-04-13 | 2015-06-02 | Itron, Inc. | Hybrid access protocol for network nodes |
EP2651171B1 (en) * | 2012-04-13 | 2018-02-21 | Itron Global SARL | Hybrid access protocol for network nodes |
US10536861B2 (en) | 2013-04-19 | 2020-01-14 | Linear Technology Corporation | Monitoring of channel stability and interference in wireless networks |
CN103442440A (en) * | 2013-07-30 | 2013-12-11 | 白羽 | Time slot distribution method for synchronizing Mesh network |
JP6357537B2 (en) * | 2014-03-20 | 2018-07-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Resource use control method and radio apparatus |
US9717067B2 (en) | 2014-09-09 | 2017-07-25 | Vivint, Inc. | Location-based access point module control |
US10237766B2 (en) * | 2014-09-11 | 2019-03-19 | Raytheon Company | Estimation of available user data rate in a communications channel |
CN104579787B (en) * | 2015-01-20 | 2018-02-27 | 中南大学 | A kind of online community network Topology g eneration method for considering fitness |
GB201519090D0 (en) * | 2015-10-28 | 2015-12-09 | Microsoft Technology Licensing Llc | Multiplexing data |
US10492084B2 (en) * | 2016-10-10 | 2019-11-26 | Microsoft Technology Licensing, Llc | Collaborative communications |
CN106792980B (en) * | 2016-11-25 | 2020-08-18 | 北京中电普华信息技术有限公司 | Joint routing metric and partially overlapping channel allocation method |
EP3435273A1 (en) * | 2017-07-25 | 2019-01-30 | Gemalto Sa | Consensus protocol for permissioned ledgers |
EP3457645A1 (en) * | 2017-09-18 | 2019-03-20 | Siemens Aktiengesellschaft | Scheduling of data traffic |
EP3461166B1 (en) * | 2017-09-22 | 2022-06-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method to classify a neighbor in an ad-hoc network, a classification device, a vehicle comprising a classification device and a computer program |
US10813169B2 (en) | 2018-03-22 | 2020-10-20 | GoTenna, Inc. | Mesh network deployment kit |
CN111343668B (en) * | 2020-03-03 | 2022-05-03 | 重庆邮电大学 | Coding sensing routing method based on backpressure strategy |
WO2021186585A1 (en) * | 2020-03-17 | 2021-09-23 | 日本電信電話株式会社 | Terminal, communication method, and communication program |
Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020067736A1 (en) * | 2000-09-29 | 2002-06-06 | The Regents Of The University Of California | System and method for ad hoc network access employing the distributed election of a shared transmission schedule |
US20020085525A1 (en) * | 2000-12-28 | 2002-07-04 | Junpei Ikegawa | Wireless transmission system |
US20020150115A1 (en) * | 2001-03-09 | 2002-10-17 | O. Raif Onvural | Time based packet scheduling and sorting system |
US6542467B2 (en) * | 1998-03-05 | 2003-04-01 | Nec Corporation | Bandwidth allocation system of virtual path in communication network of asynchronous transfer mode |
US20030067906A1 (en) * | 1999-04-30 | 2003-04-10 | C. David Young | Method and apparatus for managing communication resources using speculation slots |
US20030202469A1 (en) * | 2002-04-29 | 2003-10-30 | Harris Corporation | Traffic policing in a mobile ad hoc network |
US20030214914A1 (en) * | 2002-01-10 | 2003-11-20 | Harris Corporation | Wireless communication network including directional and omni-directional communication links and related methods |
US20030231588A1 (en) * | 2002-06-18 | 2003-12-18 | Itamar Roth | Method and apparatus for multicast and unicast scheduling |
US20040008726A1 (en) * | 2002-07-08 | 2004-01-15 | Frank Kelly | Method and system for providing load-sensitive bandwidth allocation |
US20040100929A1 (en) * | 2002-11-27 | 2004-05-27 | Nokia Corporation | System and method for collision-free transmission scheduling in a network |
US6757263B1 (en) * | 2000-04-13 | 2004-06-29 | Motorola, Inc. | Wireless repeating subscriber units |
US6781967B1 (en) * | 2000-08-29 | 2004-08-24 | Rockwell Collins, Inc. | Scheduling techniques for receiver directed broadcast applications |
US20050053005A1 (en) * | 2003-09-09 | 2005-03-10 | Harris Corporation | Mobile ad hoc network (MANET) providing connectivity enhancement features and related methods |
US20050083848A1 (en) * | 2003-10-20 | 2005-04-21 | Huai-Rong Shao | Selecting multiple paths in overlay networks for streaming data |
US6958986B2 (en) * | 2002-01-10 | 2005-10-25 | Harris Corporation | Wireless communication system with enhanced time slot allocation and interference avoidance/mitigation features and related methods |
US7027409B2 (en) * | 2002-01-10 | 2006-04-11 | Harris Corporation | Method and device for establishing communication links and for estimating overall quality of a directional link and reporting to OLSR in a communication system |
US20060114851A1 (en) * | 2004-11-30 | 2006-06-01 | Stmicroelectronics Asia Pacific Pte. Ltd. | Method and apparatus for multi-channel MAC protocol using multi-tone synchronous collision resolution |
US7062687B1 (en) * | 1999-07-12 | 2006-06-13 | International Business Machines Corporation | Apparatus and method for setting a data rate in a wireless communication system |
US20060262786A1 (en) * | 2005-05-18 | 2006-11-23 | Fujitsu Limited | Inter-domain routing technique using MPLS |
US20060268879A1 (en) * | 2005-05-11 | 2006-11-30 | Texas Instruments Incorporated | Quality of service aware robust link state routing for mesh networks |
US20070104177A1 (en) * | 2005-11-04 | 2007-05-10 | Samsung Electronics Co., Ltd. | System and method for allocating bandwidth in a wireless communication system |
US20070195817A1 (en) * | 2004-12-10 | 2007-08-23 | Broadcom Corporation | Upstream channel bonding using legacy maps in a cable communications system |
US20070237081A1 (en) * | 2006-03-30 | 2007-10-11 | Kodialam Muralidharan S | Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks |
US20080198815A1 (en) * | 2007-02-21 | 2008-08-21 | Itt Manufacturing Enterprises, Inc. | Nearly Collision-Free Channel Access System and Method |
US20090054073A1 (en) * | 2003-07-09 | 2009-02-26 | Interdigital Technology Corporation | Method and system wherein timeslots allocated for common control channels may be reused for user traffic |
US20090116511A1 (en) * | 2007-10-01 | 2009-05-07 | Anderson Arthur E | Dynamic channel sharing using bandwidth metrics |
US7616565B2 (en) * | 2007-02-26 | 2009-11-10 | Raytheon Company | Network communication scheduling |
US7639662B1 (en) * | 2003-09-19 | 2009-12-29 | Rockwell Collins, Inc. | Quality of service congestion metrics propagated using routing updates system and method |
US7773569B2 (en) * | 2005-05-19 | 2010-08-10 | Meshnetworks, Inc. | System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks |
US7801153B2 (en) * | 2007-10-01 | 2010-09-21 | Powerwave Cognition, Inc. | Communication scheduling of network nodes using fair access and weighting techniques |
US7929546B2 (en) * | 2006-05-25 | 2011-04-19 | Motorola Solutions, Inc. | Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6788702B1 (en) | 1999-10-15 | 2004-09-07 | Nokia Wireless Routers, Inc. | Protocol for neighborhood-established transmission scheduling |
KR20020055285A (en) | 2000-12-28 | 2002-07-08 | 구자홍 | Slot Allocation Method in Wireless Section of WATM System |
US7107498B1 (en) | 2002-04-16 | 2006-09-12 | Methnetworks, Inc. | System and method for identifying and maintaining reliable infrastructure links using bit error rate data in an ad-hoc communication network |
-
2008
- 2008-09-30 US US12/242,462 patent/US7965671B2/en active Active
- 2008-10-01 MX MX2010003539A patent/MX2010003539A/en unknown
- 2008-10-01 WO PCT/US2008/078501 patent/WO2009046143A2/en active Application Filing
- 2008-10-01 EP EP08835939A patent/EP2201725B1/en not_active Not-in-force
- 2008-10-01 CA CA2739458A patent/CA2739458A1/en not_active Abandoned
-
2011
- 2011-04-30 US US13/098,428 patent/US20110205925A1/en not_active Abandoned
Patent Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542467B2 (en) * | 1998-03-05 | 2003-04-01 | Nec Corporation | Bandwidth allocation system of virtual path in communication network of asynchronous transfer mode |
US20030067906A1 (en) * | 1999-04-30 | 2003-04-10 | C. David Young | Method and apparatus for managing communication resources using speculation slots |
US7062687B1 (en) * | 1999-07-12 | 2006-06-13 | International Business Machines Corporation | Apparatus and method for setting a data rate in a wireless communication system |
US6757263B1 (en) * | 2000-04-13 | 2004-06-29 | Motorola, Inc. | Wireless repeating subscriber units |
US6781967B1 (en) * | 2000-08-29 | 2004-08-24 | Rockwell Collins, Inc. | Scheduling techniques for receiver directed broadcast applications |
US20020067736A1 (en) * | 2000-09-29 | 2002-06-06 | The Regents Of The University Of California | System and method for ad hoc network access employing the distributed election of a shared transmission schedule |
US20020085525A1 (en) * | 2000-12-28 | 2002-07-04 | Junpei Ikegawa | Wireless transmission system |
US20020150115A1 (en) * | 2001-03-09 | 2002-10-17 | O. Raif Onvural | Time based packet scheduling and sorting system |
US6958986B2 (en) * | 2002-01-10 | 2005-10-25 | Harris Corporation | Wireless communication system with enhanced time slot allocation and interference avoidance/mitigation features and related methods |
US20030214914A1 (en) * | 2002-01-10 | 2003-11-20 | Harris Corporation | Wireless communication network including directional and omni-directional communication links and related methods |
US7027409B2 (en) * | 2002-01-10 | 2006-04-11 | Harris Corporation | Method and device for establishing communication links and for estimating overall quality of a directional link and reporting to OLSR in a communication system |
US20030202469A1 (en) * | 2002-04-29 | 2003-10-30 | Harris Corporation | Traffic policing in a mobile ad hoc network |
US20030231588A1 (en) * | 2002-06-18 | 2003-12-18 | Itamar Roth | Method and apparatus for multicast and unicast scheduling |
US20040008726A1 (en) * | 2002-07-08 | 2004-01-15 | Frank Kelly | Method and system for providing load-sensitive bandwidth allocation |
US20040100929A1 (en) * | 2002-11-27 | 2004-05-27 | Nokia Corporation | System and method for collision-free transmission scheduling in a network |
US20090054073A1 (en) * | 2003-07-09 | 2009-02-26 | Interdigital Technology Corporation | Method and system wherein timeslots allocated for common control channels may be reused for user traffic |
US20050053005A1 (en) * | 2003-09-09 | 2005-03-10 | Harris Corporation | Mobile ad hoc network (MANET) providing connectivity enhancement features and related methods |
US7639662B1 (en) * | 2003-09-19 | 2009-12-29 | Rockwell Collins, Inc. | Quality of service congestion metrics propagated using routing updates system and method |
US20050083848A1 (en) * | 2003-10-20 | 2005-04-21 | Huai-Rong Shao | Selecting multiple paths in overlay networks for streaming data |
US20060114851A1 (en) * | 2004-11-30 | 2006-06-01 | Stmicroelectronics Asia Pacific Pte. Ltd. | Method and apparatus for multi-channel MAC protocol using multi-tone synchronous collision resolution |
US20070195817A1 (en) * | 2004-12-10 | 2007-08-23 | Broadcom Corporation | Upstream channel bonding using legacy maps in a cable communications system |
US20060268879A1 (en) * | 2005-05-11 | 2006-11-30 | Texas Instruments Incorporated | Quality of service aware robust link state routing for mesh networks |
US20060262786A1 (en) * | 2005-05-18 | 2006-11-23 | Fujitsu Limited | Inter-domain routing technique using MPLS |
US7773569B2 (en) * | 2005-05-19 | 2010-08-10 | Meshnetworks, Inc. | System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks |
US20070104177A1 (en) * | 2005-11-04 | 2007-05-10 | Samsung Electronics Co., Ltd. | System and method for allocating bandwidth in a wireless communication system |
US20070237081A1 (en) * | 2006-03-30 | 2007-10-11 | Kodialam Muralidharan S | Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks |
US7929546B2 (en) * | 2006-05-25 | 2011-04-19 | Motorola Solutions, Inc. | Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network |
US20080198815A1 (en) * | 2007-02-21 | 2008-08-21 | Itt Manufacturing Enterprises, Inc. | Nearly Collision-Free Channel Access System and Method |
US7616565B2 (en) * | 2007-02-26 | 2009-11-10 | Raytheon Company | Network communication scheduling |
US20090116511A1 (en) * | 2007-10-01 | 2009-05-07 | Anderson Arthur E | Dynamic channel sharing using bandwidth metrics |
US7801153B2 (en) * | 2007-10-01 | 2010-09-21 | Powerwave Cognition, Inc. | Communication scheduling of network nodes using fair access and weighting techniques |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100182978A1 (en) * | 2009-01-21 | 2010-07-22 | Sy Denh T | Communication scheduling of network nodes using a cluster coefficent |
US8218522B2 (en) * | 2009-01-21 | 2012-07-10 | Raytheon Company | Communication scheduling of network nodes using a cluster coefficient |
US10237136B2 (en) * | 2014-09-30 | 2019-03-19 | Nicira, Inc. | Method of distributing network policies for data compute nodes in a datacenter |
US11082298B2 (en) | 2014-09-30 | 2021-08-03 | Nicira, Inc. | Controller-based datacenter network bandwidth policy sharing |
US10374975B2 (en) * | 2015-11-13 | 2019-08-06 | Raytheon Company | Dynamic priority calculator for priority based scheduling |
US11811642B2 (en) | 2018-07-27 | 2023-11-07 | GoTenna, Inc. | Vine™: zero-control routing using data packet inspection for wireless mesh networks |
Also Published As
Publication number | Publication date |
---|---|
EP2201725A2 (en) | 2010-06-30 |
WO2009046143A2 (en) | 2009-04-09 |
WO2009046143A3 (en) | 2009-06-25 |
EP2201725A4 (en) | 2010-09-22 |
CA2739458A1 (en) | 2009-04-09 |
US20090116511A1 (en) | 2009-05-07 |
EP2201725B1 (en) | 2012-06-20 |
MX2010003539A (en) | 2011-05-30 |
US7965671B2 (en) | 2011-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7965671B2 (en) | Dynamic channel sharing using bandwidth metrics | |
US7948966B2 (en) | Multi-metric routing calculations | |
US10708787B2 (en) | Mesh islands | |
US8060017B2 (en) | Methods and systems for a mobile, broadband, routable internet | |
US20110164527A1 (en) | Enhanced wireless ad hoc communication techniques | |
US20110117852A1 (en) | Ad hoc wireless communications | |
US7760649B2 (en) | Opportunistic wireless mesh network methods | |
EP2366261A1 (en) | Enhanced wireless ad hoc communication techniques | |
US20110164546A1 (en) | Vehicular mobility vector based routing | |
US20100150120A1 (en) | Mobile applications for a mobile, broadband, routable internet | |
WO2006124221A2 (en) | System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks | |
US20080075029A1 (en) | Apparatus for opportunistic wireless mesh networks | |
KR20080081958A (en) | System and method for utilizing multiple radios to increase the capacity of a wireless communication network | |
Dai et al. | Virtual backbone construction for cognitive radio networks without common control channel | |
JP5252978B2 (en) | Route control method, communication system, and communication apparatus | |
WO2006052716A2 (en) | System and method for performing receiver-assisted slot allocation in a multihop communication network | |
US20130088970A1 (en) | Methods and apparatus for router-to-radio flow control | |
Raman et al. | Short: A static-hybrid approach for routing real time applications over multichannel, multihop wireless networks | |
Vázquez Rodas | Contribution to the improvement of the performance of wireless mesh networks providing real time services | |
Jawhar | Quality of service support in TDMA-based mobile ad hoc networks | |
Zhang et al. | Architecture of QoS guaranteed joint design of node-disjoint multipath routing and subcarrier allocation in OFDMA mesh networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: POWERWAVE COGNITION, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDERSON, ARTHUR E.;KISHABA, WENDELL Y.;HUGHES, TIMOTHY J.;SIGNING DATES FROM 20090330 TO 20090421;REEL/FRAME:026441/0021 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |