US20200358716A1 - Scalable network overhead for contested environments - Google Patents
Scalable network overhead for contested environments Download PDFInfo
- Publication number
- US20200358716A1 US20200358716A1 US16/408,167 US201916408167A US2020358716A1 US 20200358716 A1 US20200358716 A1 US 20200358716A1 US 201916408167 A US201916408167 A US 201916408167A US 2020358716 A1 US2020358716 A1 US 2020358716A1
- Authority
- US
- United States
- Prior art keywords
- data
- change
- network control
- control overhead
- communication link
- 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.)
- Granted
Links
- 230000008859 change Effects 0.000 claims abstract description 66
- 238000004891 communication Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000003595 spectral effect Effects 0.000 claims description 9
- 230000002123 temporal effect Effects 0.000 claims description 9
- 230000007613 environmental effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 11
- 230000006855 networking Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010183 spectrum analysis 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/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/801—Real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/021—Traffic management, e.g. flow control or congestion control in wireless networks with changing topologies, e.g. ad-hoc networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0247—Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
-
- 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/53—Allocation or scheduling criteria for wireless resources based on regulatory allocation policies
-
- 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/52—Allocation or scheduling criteria for wireless resources based on load
Definitions
- Wireless networking includes sending messages in a particular environment.
- the ability to send messages within an environment is often affected by various factors such as noise existing in the environment, weather conditions, cosmic and other radiation, physical barriers, distance between nodes in a network in the environment, and other factors. Indeed, in some cases, an adversary may intentionally inject noise into an environment to prevent network nodes from communicating with one another. Alternatively or additionally, power may be reduced to lower the risk of a signal being detected.
- some network environments are more permissive than other network environments, meaning that communications in a permissive environment can be transmitted at higher bit rates and with more consistency than communications in more contested environments.
- Networking in contested environments is different than networking in permissive environments.
- One of the major differences is that there can be a much larger variation in the raw communication link rates between permissive and contested situations.
- platforms in a permissive environment may be able to send over 1 Mbps between neighbors, while those in significant jamming conditions may be only able to send several kbps in the same network.
- One embodiment illustrated herein includes a method which includes transmitting data on a communication link, in an environment.
- a network control overhead portion of the data is allocated to network control overhead data packets for controlling how data is transmitted on the communication link.
- Such overhead data packets may affect, for example, how links, routes, and/or network topologies are managed.
- a user data portion of the data is allocated to user data packets for transmitting data between users of nodes on the communication link.
- a change in data capacity of the communication link is identified.
- a change is made in the network control overhead portion of the data, changing at least one of frequency of network control overhead data packets or size of network control overhead data packets to attempt to maintain a predetermined proportion factor for the network control overhead portion as compared to the user data portion.
- the network control overhead portion of the data is transmitted according to the change.
- FIG. 1 illustrates nodes transmitting in a network
- FIG. 2 illustrates the difference between transmission of overhead packets in a permissive environment as opposed to transmission of overhead packets in a restricted environment
- FIG. 3 illustrates a method of transmitting data
- FIG. 4 illustrates a node for transmitting data.
- Embodiments illustrated herein are able to detect when there are changes to the network environment resulting in changes to the proportion of user data to overhead data, and can as a result adjust the proportion of overhead data as compared to user data to attempt to maintain some predetermined proportion of user data to overhead data.
- Overhead data is data such as network control data that controls how user data is sent between nodes in the network. Such overhead data packets may affect, for example, how links, routes, or network topologies are managed.
- User data is the data sent between users of various nodes in the network. Thus, network control data controls how the user data is sent in the network.
- network control data is a predetermined set of data that is sent without regard to bit rates available or possible in a networking environment. This can result in the overhead data using up all of the available data bandwidth in a contested environment such that no user data is able to be transmitted.
- embodiments illustrated herein can determine characteristics of the user environment, and can adjust overhead data to ensure that bandwidth continues to exist for user data. This can be accomplished in a number of different fashions. For example, in some embodiments overhead data can be sent less often. For example, overhead messages may be sent every second for low bandwidth, contested environments, or every 1/10 second for high bandwidth uncontested (or less contested) environments
- packets containing overhead data can be made smaller. This can be accomplished by including less information in the overhead data packets. For example, data included in the overhead data packets can be have less precision when being transmitted in a contested environment as compared to a more permissive environment. Alternatively or additionally, embodiments may exclude data in overhead data packets that can be deduced from other data. For example, there may be data included in overhead data that defines certain communication characteristics for various nodes in the network. In some embodiments, overhead data may be transmitted for less than all of the nodes in the network when the overhead data for certain nodes can be used to deduce or construct overhead data for other nodes.
- overhead data may be sent for some nodes, and that overhead data may be used to deduce overhead data for other nodes. This would reduce the amount of data necessary to be sent as overhead data. Note that this may require additional computation at various nodes in the network, and thus if there is no need to reduce the amount of overhead data, then the overhead data could be transmitted for all of the appropriate nodes in the network.
- less precise information can be sent as overhead data without significantly compromising the overall precision of the system.
- less precision can be used for the various nodes, but combinations of less precise data can be used to deduce or compute more precise data thus reducing the effects of sending lower precision data.
- the network may simply have to accommodate less precise data used by nodes in a more contested network environment.
- SNR signal-to-noise
- nodes in the network receive data from other nodes, those receiving nodes will often respond with a message indicating the signal-to-noise ratio of the data received by the receiving node.
- the nodes sending the user data can adjust data rates, power, or other factors to cause data to be sent such that is received at a certain signal-to-noise ratio by a receiving node.
- Embodiments illustrated herein implement a scalable network overhead where the network is designed to accommodate this high dynamic range of available bandwidth, while maintaining a low total overhead regardless of the raw data rate.
- the network protocols are designed to have scalable overhead. When link rates are reduced, correspondingly lower overhead is implemented in the network.
- Embodiments may implement an improved network system that ensures that the network overhead scales to an acceptable level in various different conditions, including conditions where communications are difficult, to keep the network operational and maximize useable bandwidth, despite a physical layer that can vary by many orders of magnitude in its supported data rate.
- FIG. 1 illustrates a network 100 .
- the network 100 is a mesh network including a plurality of network nodes illustrated generally at 102 with a particular node illustrated at 102 - 1 .
- the nodes 102 in the mesh network 100 include elements to allow the nodes 102 to communicate with one another.
- the nodes 102 may include transmitter hardware and/or receiver hardware, as well as potentially various firmware and software.
- Transmitter hardware may include elements such as filters, amplifiers, modulators, power supplies, antennas, transmission lines, etc.
- receiving hardware in the nodes 102 may include antennas for receiving signals, filters, demodulators, amplifiers, transmission lines, and various other hardware and/or other components for receiving data, demodulating the data, and recovering data transmitted from various nodes.
- nodes transmit various different kinds of data packets.
- the node 102 - 1 is shown as transmitting user data packets generally illustrated at 104 and overhead packets generally illustrated at 106 . While only the node 102 - 1 is shown transmitting these various packets, it should be appreciated that packets may be transmitted by any node in the network 100 including appropriate hardware and/or other components to transmit data from the node. Additionally, it should be appreciated that the node 102 - 1 may be configured to receive data from other nodes in the network 100 by virtue of the node 102 - 1 having various elements of receiver hardware and/or other components.
- user data packets 104 include data to be transmitted between users on the various nodes 102 of the network 100 .
- applications on the various nodes 102 may send data to other applications on other nodes in the network 100 .
- the various nodes 102 in the network 100 also transmit overhead packets 106 .
- the overhead packets 106 include information usable to facilitate transmitting the user data packets 104 .
- an overhead packet 106 sent by a node may include information such as power and rate control data.
- a node may send information describing the signal-to-noise ratio for data received by the node. This information can be used to determine whether data should be transmitted with different power and/or different data rates. For example, if the node 102 - 1 receives a signal from another node in the network 100 , the node 102 - 1 can send an overhead packet indicating that the data was received with a particular signal-to-noise ratio.
- the transmitting node may need to adjust the power and/or data rate at which user data packets are sent to the node 102 - 1 .
- increasing the power at which user data packets are sent will increase the signal-to-noise ratio of user data packets received by the node 102 - 1 .
- the transmitting node may wish to reduce the power at which user data packets are sent to the node 102 - 1 .
- the network 100 it is often desirable that power be limited in the network 100 to prevent communications by nodes 102 in the network from being detected by adversarial entities in an environment in which the network 100 is being implemented.
- the signals can be sent with sufficient power to allow an adversarial entity to detect the signals such that the adversarial entity may be able to detect one or more of: presence of signals, location of entities sending signals, and potentially even be able to intercept the data in the signals. In an electronic warfare environment this can be deadly to users at the various nodes 102 of the network 100 .
- this opportunity may be exploited to maintain covertness of the various nodes in the network 100 .
- rate control if the signal-to-noise ratio indicated in the overhead packets from the node 102 - 1 exceeds a target to signal-to-noise ratio, then it is possible to increase the data rate of communications to the node 102 - 1 such that additional data can be transmitted between the various nodes in the network 100 without causing the signal-to-noise ratio to be below some threshold preventing communications from being effectively transmitted.
- this information can be provided in the overhead packets 106 such that the various nodes in the network 100 can reduce data rates for user data packets 104 being sent to the node 102 - 1 , resulting in an increased to signal-to-noise ratio to allow the communications to be recovered by the node 102 - 1 .
- the power and rate control information provided in overhead packets 106 is often provided on a per node basis.
- the node 102 - 1 receives a user data packet from a node 102 - 2 the node 102 - 1 will send an overhead packet to the node 102 - 2 indicating the signal-to-noise ratio for the packet received by the node 102 - 1 .
- the node 102 - 2 can adjust how user data packets 104 are sent to the node 102 - 1 as a result of receiving an overhead packet indicating the signal-to-noise ratio for packets sent from the node 102 - 2 to the node 102 - 1 .
- Topology messages include information describing the various nodes in the network 100 , and can include information such as location of the nodes, transmitting capabilities of the nodes, receiving capabilities of the nodes, priority levels for the nodes, etc.
- overhead packets can indicate how user data packets 104 should be treated by various nodes in the network 100 .
- an overhead packet may indicate that a particular node should always forward user data packets a particular number of times.
- various user data packets may have a particular time to live, where that time to live is based on a number of node hops in the network 100 .
- a particular user data packet may have a time to live of ‘3’, which would allow the user data packet to be forwarded three times by nodes in the network 100 .
- the user data packet 104 could have a flag in the packet indicating the number of times that it had been forwarded. The number of times that packets are to be forwarded could be included in overhead packets transmitted to the various nodes 102 in the network 100 which could then use the counter information in the user data packets 104 to ensure that packets are forwarded appropriately.
- the network 100 may experience interference which reduces the amount of total data that can be transmitted between the various nodes in the network 100 .
- This is illustrated in FIG. 1 by the presence of an interferer 108 which introduces interference 110 into the network 100 .
- the interferer is an adversary attempting to jam communication signals.
- the interference 110 may increase the noise floor in the network 100 which reduces the amount of network data that can be sent between the various nodes 102 and the network 100 .
- the network bandwidth may be degraded so severely, that ordinarily only overhead packets 106 would be able to be transmitted in the network 100 . That is, previous systems caused the overhead packets 106 to be transmitted without regard to external conditions existing in the network 100 .
- embodiments illustrated herein can detect the additional interference 110 and reduce the amount of data used for the overhead packets 106 to allow user data packets 104 to be transmitted between the nodes 102 in the network 100 .
- nodes in the network 100 may be able to detect an increase in the noise floor caused by the introduction of interference 110 into the network 100 . If a particular node and/or set of nodes detects this additional interference 110 , the nodes can coordinate to determine that reduced amounts of data should be used in transmitting the overhead packets 106 .
- a transmitting node will always know the data rate at which it is operating. Consequently the overhead ratio is known before transmission. The transmitting node can automatically reduce the amount of data used for overhead packets 106 .
- some embodiments may allow nodes in the network 100 to act independently when detecting increased interference 110 (which is usually manifested as a reduced SNR measurement, where the SNR is the signal to noise such that a node detecting increased interference can automatically reduce the amount of data used for overhead packets 106 .
- increased interference 110 which is usually manifested as a reduced SNR measurement, where the SNR is the signal to noise
- nodes in the network 100 may be able to determine the percentage of data received in user data packets as compared to the amount of data received in overhead packets 106 . If the amount of data in the user data packets 104 goes below some predetermined threshold as compared to the data in the overhead packets 106 , those nodes may determine that an inordinate amount of data is being used for overhead packets and can therefore cause a reduction in the amount of data used for the overhead packets 106 .
- this may be implemented on a node by node basis where given nodes self-determine to reduce data in overhead packets and/or alternatively the nodes 102 in the network 100 may coordinate with one another to work as a group to reduce the amount of data used in the overhead packets 106 .
- Reducing data in the overhead packets 106 can be accomplished in a number of different fashions.
- the packets frequency of overhead packets 106 being sent in the network 100 can be reduced. That is, if overhead packets 106 are typically sent at some periodic or quasi-periodic interval, that interval can be increased such that overhead packets 106 are not sent as often to attempt to maintain a predetermined threshold amount of data in the user data packets 104 as compared to data in overhead packets 106 .
- the nodes 102 and the network will simply not have as current data as prior to the adjustment in overhead packet frequency intervals.
- the various nodes will need to respond accordingly with respect to decision-making processes. For example, the nodes may experience reduced decision-making processes at the nodes.
- the amount of data in the various overhead packets 106 may be reduced. This can be accomplished in a number of different ways. For example, in some embodiments network wide metrics can be reduced for overhead packets 106 . Instead, more targeted metrics may be included in the overhead packets, such as metrics for particular nodes of particular relevance. For example, certain nodes that are particularly important as a result of being used by certain users, certain processes, etc., may have data about those nodes included in the overhead packets 106 , while data about other nodes that are less important may not have network metrics for them included in the overhead packets 106 .
- the size of data in the overhead packets themselves can be reduced by optimizing data in the overhead packets 106 .
- nonessential data can be identified and removed from the overhead packets 106 .
- the size of the overhead packets can be reduced by eliminating data from the overhead packets that can be computed or just deduced from other data.
- the size of the overhead packets can be reduced by reducing the precision of data in the packets. For example, some embodiments may be reduced from a precision requiring 1028 bits to a precision requiring 64 bits.
- the size of the overhead packets can be reduced by changing the format of data.
- control data can be provided in either a normal format or a verbose format.
- Normal format provides some basic information while verbose formats include additional data that may be useful in some limited circumstances but is often less or not useful under ordinary circumstances.
- embodiments can cause the overhead packets 106 to be transmitted from the various nodes in a normal format instead to reduce the amount of data in the overhead packets 106 .
- the overhead packets 106 may include information describing capabilities of a node sending a particular overhead packet and/or capabilities of neighbor nodes about with which the nodes have information.
- FIG. 2 illustrates that in the permissive environment more information may be sent more often in overhead data packets as illustrated in the graph 202 .
- less information is sent as illustrated at 204 with the same frequency as in a permissive environment, or the same amount of information is sent less often as illustrated at 206 than in a permissive environment.
- FIG. 2 illustrates that either less information is sent just as often or the same information is sent less often, it should be appreciated that different combinations of amount and frequency of data can be used as appropriate.
- some embodiments may reduce only the frequency that overhead packets are sent (as illustrated at 206 ). In contrast, other embodiments may reduce only the size of the individual packets being sent (as illustrated at 204 ). In some embodiments, both size and frequency of data packets being sent may be reduced. In still other embodiments, the size of the data packets may be reduced, but the frequency may be increased while still decreasing overall bandwidth used by the overhead packets. Alternatively, the size of the data packets may be increased, but the frequency reduced while still decreasing overall bandwidth used by the overhead packets.
- the method 300 includes acts for sending network data.
- the method 300 includes transmitting data on a communication link, in an environment, wherein a network control overhead portion of the data is allocated to network control overhead data packets for controlling how data is transmitted on the communication link, and a user data portion of the data is allocated to user data packets for transmitting data between users of nodes on the communication link, wherein each of the overhead data packets is transmitted independent of each of the user data packets (act 302 ).
- the method 300 further includes identifying a change in data capacity of the communication link (act 304 ).
- the method 300 further includes as a result, causing a change in the network control overhead portion of the data, changing at least one of frequency of network control overhead data packets or size of network control overhead data packets to attempt to maintain a predetermined proportion factor for the network control overhead portion as compared to the user data portion (act 306 ). For example, embodiments may change how network control overhead data is sent to attempt to have a certain, predetermined percentage of the transmitted data be network control overhead data. Alternatively or additionally, embodiments may attempt to maintain a predetermined number of overhead packets as compared to user data packets.
- the method 300 further includes transmitting the network control overhead portion of the data according to the change (act 308 ).
- the method 300 may be practiced where causing a change in the network control overhead portion of the data comprises attempting to maintain the proportion factor for the network control overhead portion and the user data portion. (e.g., could be below 20%).
- the method 300 may be practiced where identifying a change in data capacity of the communication link comprises detecting an environmental change causing at least one of a temporal change or a spectral change in the communication link.
- a temporal change may include detecting a power jump in noise.
- a histogram is used to determine if the power jump is related to degradation of the communication environment, and in some embodiments, in particular to detect jamming signals.
- embodiments may include hardware to perform spectrum analysis, such as through the use of fast Fourier transforms (FFT) of signals to determine the various frequencies in a signal.
- FFT fast Fourier transforms
- Pattern recognition may be used to recognize less permissive environment, and in particular to detect jamming signals.
- the method 300 may be practiced where identifying a change in data capacity of the communication link comprises detecting at least one of a temporal change in the communication link or a spectral change in the communication link.
- the method 300 may be practiced where causing a change in the network control overhead portion of the data causes control packets to be sent to a different number of neighbors in the environment.
- the method 300 may be practiced where causing a change in the network control overhead portion of the data causes control packets to be sent to neighbors in the environment in a multiplexed fashion. For example, packets can be sent for certain neighbors in a round robin fashion, time division multiplexed fashion, random fashion, priority fashion, manually defined fashion, etc. That is, a “turn-taking” scheme is implemented for sending messages intended for the various neighbor nodes.
- the method 300 may be practiced where causing a change in the network control overhead portion of the data causes sent overhead data to have reduced precision from previously sent overhead data.
- the method 300 may be practiced where causing a change in the network control overhead portion of the data causes network nodes to exhibit more decision making autonomy than prior to the change in the network control overhead portion of the data.
- the methods may be practiced by a computer system, such as a node 402 , including one or more processors 404 and computer-readable media 406 such as computer memory.
- the computer memory may store computer-executable instructions that when executed by one or more processors cause various functions to be performed, such as the acts recited in the embodiments.
- the processor can control communication hardware 408 which transmits data on the antenna 410 to other nodes to perform the various functions illustrated herein.
- Embodiments of the present invention may comprise or utilize a special purpose or general-purpose computer including computer hardware, as discussed in greater detail below.
- Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures.
- Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
- Computer-readable media that store computer-executable instructions are physical storage media.
- Computer-readable media that carry computer-executable instructions are transmission media.
- embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical computer-readable storage media and transmission computer-readable media.
- Physical computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- a “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
- a network or another communications connection can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above are also included within the scope of computer-readable media.
- program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa).
- program code means in the form of computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system.
- NIC network interface module
- computer-readable physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- the computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
- the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like.
- the invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
- program modules may be located in both local and remote memory storage devices.
- the functionality described herein can be performed, at least in part, by one or more hardware logic components.
- illustrative types of hardware logic components include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- Computer systems often communicate with each other through networking. Wireless networking includes sending messages in a particular environment. The ability to send messages within an environment is often affected by various factors such as noise existing in the environment, weather conditions, cosmic and other radiation, physical barriers, distance between nodes in a network in the environment, and other factors. Indeed, in some cases, an adversary may intentionally inject noise into an environment to prevent network nodes from communicating with one another. Alternatively or additionally, power may be reduced to lower the risk of a signal being detected. Thus, some network environments are more permissive than other network environments, meaning that communications in a permissive environment can be transmitted at higher bit rates and with more consistency than communications in more contested environments.
- Networking in contested environments is different than networking in permissive environments. One of the major differences is that there can be a much larger variation in the raw communication link rates between permissive and contested situations. For example, platforms in a permissive environment may be able to send over 1 Mbps between neighbors, while those in significant jamming conditions may be only able to send several kbps in the same network.
- Traditional network management protocols typically make simplifying assumptions with regards to the physical layer, and require a certain minimum amount of bandwidth for network overhead, for example 100 kbps. When the physical layer conditions are good, and the link data rates are 1 Mbps, this results in 10% overhead. However, when the link conditions degrade to 100 kbps, the network management overhead rises to 100% of the available bandwidth leaving nothing for the intended user data traffic.
- The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.
- One embodiment illustrated herein includes a method which includes transmitting data on a communication link, in an environment. A network control overhead portion of the data is allocated to network control overhead data packets for controlling how data is transmitted on the communication link. Such overhead data packets may affect, for example, how links, routes, and/or network topologies are managed. A user data portion of the data is allocated to user data packets for transmitting data between users of nodes on the communication link. A change in data capacity of the communication link is identified. As a result, a change is made in the network control overhead portion of the data, changing at least one of frequency of network control overhead data packets or size of network control overhead data packets to attempt to maintain a predetermined proportion factor for the network control overhead portion as compared to the user data portion. The network control overhead portion of the data is transmitted according to the change.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- Additional features and advantages will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
- In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
-
FIG. 1 illustrates nodes transmitting in a network; -
FIG. 2 illustrates the difference between transmission of overhead packets in a permissive environment as opposed to transmission of overhead packets in a restricted environment; -
FIG. 3 illustrates a method of transmitting data; and -
FIG. 4 illustrates a node for transmitting data. - Embodiments illustrated herein are able to detect when there are changes to the network environment resulting in changes to the proportion of user data to overhead data, and can as a result adjust the proportion of overhead data as compared to user data to attempt to maintain some predetermined proportion of user data to overhead data. Overhead data is data such as network control data that controls how user data is sent between nodes in the network. Such overhead data packets may affect, for example, how links, routes, or network topologies are managed. User data is the data sent between users of various nodes in the network. Thus, network control data controls how the user data is sent in the network.
- As noted previously, often network control data is a predetermined set of data that is sent without regard to bit rates available or possible in a networking environment. This can result in the overhead data using up all of the available data bandwidth in a contested environment such that no user data is able to be transmitted. Thus, embodiments illustrated herein can determine characteristics of the user environment, and can adjust overhead data to ensure that bandwidth continues to exist for user data. This can be accomplished in a number of different fashions. For example, in some embodiments overhead data can be sent less often. For example, overhead messages may be sent every second for low bandwidth, contested environments, or every 1/10 second for high bandwidth uncontested (or less contested) environments
- Alternatively or additionally, packets containing overhead data can be made smaller. This can be accomplished by including less information in the overhead data packets. For example, data included in the overhead data packets can be have less precision when being transmitted in a contested environment as compared to a more permissive environment. Alternatively or additionally, embodiments may exclude data in overhead data packets that can be deduced from other data. For example, there may be data included in overhead data that defines certain communication characteristics for various nodes in the network. In some embodiments, overhead data may be transmitted for less than all of the nodes in the network when the overhead data for certain nodes can be used to deduce or construct overhead data for other nodes. Thus, in some embodiments, overhead data may be sent for some nodes, and that overhead data may be used to deduce overhead data for other nodes. This would reduce the amount of data necessary to be sent as overhead data. Note that this may require additional computation at various nodes in the network, and thus if there is no need to reduce the amount of overhead data, then the overhead data could be transmitted for all of the appropriate nodes in the network.
- Alternatively, or additionally, with respect to precision, in some embodiments less precise information can be sent as overhead data without significantly compromising the overall precision of the system. In particular, less precision can be used for the various nodes, but combinations of less precise data can be used to deduce or compute more precise data thus reducing the effects of sending lower precision data. However, it should also be noted that in some embodiments, the network may simply have to accommodate less precise data used by nodes in a more contested network environment.
- An example of a parameter that may be less precise in overhead data is signal-to-noise (SNR) ratio data. In particular, when nodes in the network receive data from other nodes, those receiving nodes will often respond with a message indicating the signal-to-noise ratio of the data received by the receiving node. Thus, the nodes sending the user data can adjust data rates, power, or other factors to cause data to be sent such that is received at a certain signal-to-noise ratio by a receiving node.
- Embodiments illustrated herein implement a scalable network overhead where the network is designed to accommodate this high dynamic range of available bandwidth, while maintaining a low total overhead regardless of the raw data rate. To accomplish this, the network protocols are designed to have scalable overhead. When link rates are reduced, correspondingly lower overhead is implemented in the network.
- Embodiments may implement an improved network system that ensures that the network overhead scales to an acceptable level in various different conditions, including conditions where communications are difficult, to keep the network operational and maximize useable bandwidth, despite a physical layer that can vary by many orders of magnitude in its supported data rate.
- Referring now to
FIG. 1 , an example is illustrated.FIG. 1 illustrates anetwork 100. In the example illustrated inFIG. 1 , thenetwork 100 is a mesh network including a plurality of network nodes illustrated generally at 102 with a particular node illustrated at 102-1. The nodes 102 in themesh network 100 include elements to allow the nodes 102 to communicate with one another. For example, the nodes 102 may include transmitter hardware and/or receiver hardware, as well as potentially various firmware and software. Transmitter hardware may include elements such as filters, amplifiers, modulators, power supplies, antennas, transmission lines, etc. Similarly, receiving hardware in the nodes 102 may include antennas for receiving signals, filters, demodulators, amplifiers, transmission lines, and various other hardware and/or other components for receiving data, demodulating the data, and recovering data transmitted from various nodes. - As illustrated in
FIG. 1 , nodes transmit various different kinds of data packets. For example, the node 102-1 is shown as transmitting user data packets generally illustrated at 104 and overhead packets generally illustrated at 106. While only the node 102-1 is shown transmitting these various packets, it should be appreciated that packets may be transmitted by any node in thenetwork 100 including appropriate hardware and/or other components to transmit data from the node. Additionally, it should be appreciated that the node 102-1 may be configured to receive data from other nodes in thenetwork 100 by virtue of the node 102-1 having various elements of receiver hardware and/or other components. - As noted previously, user data packets 104 include data to be transmitted between users on the various nodes 102 of the
network 100. For example, applications on the various nodes 102 may send data to other applications on other nodes in thenetwork 100. - To ensure proper network functionality, the various nodes 102 in the
network 100 also transmitoverhead packets 106. Theoverhead packets 106 include information usable to facilitate transmitting the user data packets 104. For example, anoverhead packet 106 sent by a node may include information such as power and rate control data. For example, a node may send information describing the signal-to-noise ratio for data received by the node. This information can be used to determine whether data should be transmitted with different power and/or different data rates. For example, if the node 102-1 receives a signal from another node in thenetwork 100, the node 102-1 can send an overhead packet indicating that the data was received with a particular signal-to-noise ratio. As there is a target signal-to-noise ratio at which data should be received by the node 102-1, if the data is not received at or near the target rate, then the transmitting node may need to adjust the power and/or data rate at which user data packets are sent to the node 102-1. In particular, increasing the power at which user data packets are sent will increase the signal-to-noise ratio of user data packets received by the node 102-1. Conversely, if the signal-to-noise ratio exceeds a target signal-to-noise ratio, the transmitting node may wish to reduce the power at which user data packets are sent to the node 102-1. In particular, it is often desirable that power be limited in thenetwork 100 to prevent communications by nodes 102 in the network from being detected by adversarial entities in an environment in which thenetwork 100 is being implemented. The signals can be sent with sufficient power to allow an adversarial entity to detect the signals such that the adversarial entity may be able to detect one or more of: presence of signals, location of entities sending signals, and potentially even be able to intercept the data in the signals. In an electronic warfare environment this can be deadly to users at the various nodes 102 of thenetwork 100. Thus, if there is an opportunity to reduce the power of data being transmitted between the nodes 102 and thenetwork 100, this opportunity may be exploited to maintain covertness of the various nodes in thenetwork 100. - With respect to rate control, if the signal-to-noise ratio indicated in the overhead packets from the node 102-1 exceeds a target to signal-to-noise ratio, then it is possible to increase the data rate of communications to the node 102-1 such that additional data can be transmitted between the various nodes in the
network 100 without causing the signal-to-noise ratio to be below some threshold preventing communications from being effectively transmitted. Conversely, if the signal-to-noise ratio is below some predetermined threshold, this information can be provided in theoverhead packets 106 such that the various nodes in thenetwork 100 can reduce data rates for user data packets 104 being sent to the node 102-1, resulting in an increased to signal-to-noise ratio to allow the communications to be recovered by the node 102-1. - Note that typically the power and rate control information provided in
overhead packets 106 is often provided on a per node basis. Thus, for example, if the node 102-1 receives a user data packet from a node 102-2 the node 102-1 will send an overhead packet to the node 102-2 indicating the signal-to-noise ratio for the packet received by the node 102-1. The node 102-2 can adjust how user data packets 104 are sent to the node 102-1 as a result of receiving an overhead packet indicating the signal-to-noise ratio for packets sent from the node 102-2 to the node 102-1. - Another type of overhead data that can be sent in the
overhead packets 106 is topology messages. Topology messages include information describing the various nodes in thenetwork 100, and can include information such as location of the nodes, transmitting capabilities of the nodes, receiving capabilities of the nodes, priority levels for the nodes, etc. - Other network control data that may be included in
overhead packets 106 includes routing control and/or data forwarding control. For example, overhead packets can indicate how user data packets 104 should be treated by various nodes in thenetwork 100. For example, an overhead packet may indicate that a particular node should always forward user data packets a particular number of times. For example, various user data packets may have a particular time to live, where that time to live is based on a number of node hops in thenetwork 100. Thus, for example a particular user data packet may have a time to live of ‘3’, which would allow the user data packet to be forwarded three times by nodes in thenetwork 100. The user data packet 104 could have a flag in the packet indicating the number of times that it had been forwarded. The number of times that packets are to be forwarded could be included in overhead packets transmitted to the various nodes 102 in thenetwork 100 which could then use the counter information in the user data packets 104 to ensure that packets are forwarded appropriately. - As noted previously, the
network 100 may experience interference which reduces the amount of total data that can be transmitted between the various nodes in thenetwork 100. This is illustrated inFIG. 1 by the presence of aninterferer 108 which introducesinterference 110 into thenetwork 100. Often, the interferer is an adversary attempting to jam communication signals. For example, theinterference 110 may increase the noise floor in thenetwork 100 which reduces the amount of network data that can be sent between the various nodes 102 and thenetwork 100. Indeed, as discussed above, the network bandwidth may be degraded so severely, that ordinarily onlyoverhead packets 106 would be able to be transmitted in thenetwork 100. That is, previous systems caused theoverhead packets 106 to be transmitted without regard to external conditions existing in thenetwork 100. Rather, theoverhead packets 106 would be sent without feedback. In contrast, embodiments illustrated herein can detect theadditional interference 110 and reduce the amount of data used for theoverhead packets 106 to allow user data packets 104 to be transmitted between the nodes 102 in thenetwork 100. - For example, in some embodiments, nodes in the
network 100 may be able to detect an increase in the noise floor caused by the introduction ofinterference 110 into thenetwork 100. If a particular node and/or set of nodes detects thisadditional interference 110, the nodes can coordinate to determine that reduced amounts of data should be used in transmitting theoverhead packets 106. - Alternatively or additionally, a transmitting node will always know the data rate at which it is operating. Consequently the overhead ratio is known before transmission. The transmitting node can automatically reduce the amount of data used for
overhead packets 106. - Alternatively or additionally, some embodiments may allow nodes in the
network 100 to act independently when detecting increased interference 110 (which is usually manifested as a reduced SNR measurement, where the SNR is the signal to noise such that a node detecting increased interference can automatically reduce the amount of data used foroverhead packets 106. - Alternatively or additionally, nodes in the
network 100 may be able to determine the percentage of data received in user data packets as compared to the amount of data received inoverhead packets 106. If the amount of data in the user data packets 104 goes below some predetermined threshold as compared to the data in theoverhead packets 106, those nodes may determine that an inordinate amount of data is being used for overhead packets and can therefore cause a reduction in the amount of data used for theoverhead packets 106. As with embodiments described above, this may be implemented on a node by node basis where given nodes self-determine to reduce data in overhead packets and/or alternatively the nodes 102 in thenetwork 100 may coordinate with one another to work as a group to reduce the amount of data used in theoverhead packets 106. - Reducing data in the
overhead packets 106 can be accomplished in a number of different fashions. For example, in some embodiments, the packets frequency ofoverhead packets 106 being sent in thenetwork 100 can be reduced. That is, ifoverhead packets 106 are typically sent at some periodic or quasi-periodic interval, that interval can be increased such thatoverhead packets 106 are not sent as often to attempt to maintain a predetermined threshold amount of data in the user data packets 104 as compared to data inoverhead packets 106. In this case, the nodes 102 and the network will simply not have as current data as prior to the adjustment in overhead packet frequency intervals. The various nodes will need to respond accordingly with respect to decision-making processes. For example, the nodes may experience reduced decision-making processes at the nodes. - Alternatively or additionally, the amount of data in the various
overhead packets 106 may be reduced. This can be accomplished in a number of different ways. For example, in some embodiments network wide metrics can be reduced foroverhead packets 106. Instead, more targeted metrics may be included in the overhead packets, such as metrics for particular nodes of particular relevance. For example, certain nodes that are particularly important as a result of being used by certain users, certain processes, etc., may have data about those nodes included in theoverhead packets 106, while data about other nodes that are less important may not have network metrics for them included in theoverhead packets 106. - In alternative or additional embodiments, the size of data in the overhead packets themselves can be reduced by optimizing data in the
overhead packets 106. For example, nonessential data can be identified and removed from theoverhead packets 106. - In alternative or additional embodiments, the size of the overhead packets can be reduced by eliminating data from the overhead packets that can be computed or just deduced from other data.
- In alternative or additional embodiments, the size of the overhead packets can be reduced by reducing the precision of data in the packets. For example, some embodiments may be reduced from a precision requiring 1028 bits to a precision requiring 64 bits.
- In alternative or additional embodiments, the size of the overhead packets can be reduced by changing the format of data. For example, often, control data can be provided in either a normal format or a verbose format. Normal format provides some basic information while verbose formats include additional data that may be useful in some limited circumstances but is often less or not useful under ordinary circumstances. Thus, if there is a determination that the amount of data in the
overhead packets 106 should be reduced, and packets are being transmitted in a verbose format, embodiments can cause theoverhead packets 106 to be transmitted from the various nodes in a normal format instead to reduce the amount of data in theoverhead packets 106. - Additionally or alternatively, the
overhead packets 106 may include information describing capabilities of a node sending a particular overhead packet and/or capabilities of neighbor nodes about with which the nodes have information. - Referring now to
FIG. 2 , three example graphs are illustrated comparing data packets in a permissive environment versus data packets in a restricted environment.FIG. 2 illustrates that in the permissive environment more information may be sent more often in overhead data packets as illustrated in thegraph 202. In contrast, in restricted environments, less information is sent as illustrated at 204 with the same frequency as in a permissive environment, or the same amount of information is sent less often as illustrated at 206 than in a permissive environment. Note that whileFIG. 2 illustrates that either less information is sent just as often or the same information is sent less often, it should be appreciated that different combinations of amount and frequency of data can be used as appropriate. For example, some embodiments may reduce only the frequency that overhead packets are sent (as illustrated at 206). In contrast, other embodiments may reduce only the size of the individual packets being sent (as illustrated at 204). In some embodiments, both size and frequency of data packets being sent may be reduced. In still other embodiments, the size of the data packets may be reduced, but the frequency may be increased while still decreasing overall bandwidth used by the overhead packets. Alternatively, the size of the data packets may be increased, but the frequency reduced while still decreasing overall bandwidth used by the overhead packets. - The following discussion now refers to a number of methods and method acts that may be performed. Although the method acts may be discussed in a certain order or illustrated in a flow chart as occurring in a particular order, no particular ordering is required unless specifically stated, or required because an act is dependent on another act being completed prior to the act being performed.
- Referring now to
FIG. 3 , amethod 300 is illustrated. Themethod 300 includes acts for sending network data. Themethod 300 includes transmitting data on a communication link, in an environment, wherein a network control overhead portion of the data is allocated to network control overhead data packets for controlling how data is transmitted on the communication link, and a user data portion of the data is allocated to user data packets for transmitting data between users of nodes on the communication link, wherein each of the overhead data packets is transmitted independent of each of the user data packets (act 302). - The
method 300 further includes identifying a change in data capacity of the communication link (act 304). - The
method 300 further includes as a result, causing a change in the network control overhead portion of the data, changing at least one of frequency of network control overhead data packets or size of network control overhead data packets to attempt to maintain a predetermined proportion factor for the network control overhead portion as compared to the user data portion (act 306). For example, embodiments may change how network control overhead data is sent to attempt to have a certain, predetermined percentage of the transmitted data be network control overhead data. Alternatively or additionally, embodiments may attempt to maintain a predetermined number of overhead packets as compared to user data packets. - The
method 300 further includes transmitting the network control overhead portion of the data according to the change (act 308). - The
method 300 may be practiced where causing a change in the network control overhead portion of the data comprises attempting to maintain the proportion factor for the network control overhead portion and the user data portion. (e.g., could be below 20%). - The
method 300 may be practiced where identifying a change in data capacity of the communication link comprises detecting an environmental change causing at least one of a temporal change or a spectral change in the communication link. - For example, a temporal change may include detecting a power jump in noise. A histogram is used to determine if the power jump is related to degradation of the communication environment, and in some embodiments, in particular to detect jamming signals.
- With respect to spectral sensing, embodiments may include hardware to perform spectrum analysis, such as through the use of fast Fourier transforms (FFT) of signals to determine the various frequencies in a signal. Pattern recognition may be used to recognize less permissive environment, and in particular to detect jamming signals.
- The
method 300 may be practiced where identifying a change in data capacity of the communication link comprises detecting at least one of a temporal change in the communication link or a spectral change in the communication link. - The
method 300 may be practiced where causing a change in the network control overhead portion of the data causes control packets to be sent to a different number of neighbors in the environment. - The
method 300 may be practiced where causing a change in the network control overhead portion of the data causes control packets to be sent to neighbors in the environment in a multiplexed fashion. For example, packets can be sent for certain neighbors in a round robin fashion, time division multiplexed fashion, random fashion, priority fashion, manually defined fashion, etc. That is, a “turn-taking” scheme is implemented for sending messages intended for the various neighbor nodes. - The
method 300 may be practiced where causing a change in the network control overhead portion of the data causes sent overhead data to have reduced precision from previously sent overhead data. - The
method 300 may be practiced where causing a change in the network control overhead portion of the data causes network nodes to exhibit more decision making autonomy than prior to the change in the network control overhead portion of the data. - Further, with reference now to
FIG. 4 , the methods may be practiced by a computer system, such as anode 402, including one ormore processors 404 and computer-readable media 406 such as computer memory. In particular, the computer memory may store computer-executable instructions that when executed by one or more processors cause various functions to be performed, such as the acts recited in the embodiments. - In particular, the processor can control
communication hardware 408 which transmits data on theantenna 410 to other nodes to perform the various functions illustrated herein. - Embodiments of the present invention may comprise or utilize a special purpose or general-purpose computer including computer hardware, as discussed in greater detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical computer-readable storage media and transmission computer-readable media.
- Physical computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above are also included within the scope of computer-readable media.
- Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system. Thus, computer-readable physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
- Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like. The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
- Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
- The present invention may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (21)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/408,167 US10834020B1 (en) | 2019-05-09 | 2019-05-09 | Scalable network overhead for contested environments |
CA3070827A CA3070827C (en) | 2019-05-09 | 2020-02-04 | Scalable network overhead for contested environments |
EP20156765.8A EP3737146B1 (en) | 2019-05-09 | 2020-02-11 | Scalable network overhead for contested environments |
IL274310A IL274310B (en) | 2019-05-09 | 2020-04-28 | Scalable network overhead for contested environments |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/408,167 US10834020B1 (en) | 2019-05-09 | 2019-05-09 | Scalable network overhead for contested environments |
Publications (2)
Publication Number | Publication Date |
---|---|
US10834020B1 US10834020B1 (en) | 2020-11-10 |
US20200358716A1 true US20200358716A1 (en) | 2020-11-12 |
Family
ID=69571886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/408,167 Active US10834020B1 (en) | 2019-05-09 | 2019-05-09 | Scalable network overhead for contested environments |
Country Status (4)
Country | Link |
---|---|
US (1) | US10834020B1 (en) |
EP (1) | EP3737146B1 (en) |
CA (1) | CA3070827C (en) |
IL (1) | IL274310B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11627052B2 (en) | 2021-07-07 | 2023-04-11 | L3Harris Technologies, Inc. | Communications system reconfigurable to different topologies and associated methods |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020181609A1 (en) * | 1999-03-12 | 2002-12-05 | Aware, Inc. | Seamless rate adaptive multicarrier modulation system and protocols |
US20100290393A1 (en) * | 2008-10-15 | 2010-11-18 | Yosuke Matsushita | Communication terminal and communication method |
US20170070895A1 (en) * | 2014-02-20 | 2017-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic management in the mobile network |
US20180102930A1 (en) * | 2015-03-18 | 2018-04-12 | Huawei Technologies Co., Ltd. | Data transmisson method and device |
US20190149474A1 (en) * | 2017-11-15 | 2019-05-16 | Versa Networks, Inc. | Method and system for shaping traffic from an egress port in a software-defined wide area network |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006027672A2 (en) | 2004-09-10 | 2006-03-16 | Nortel Networks | System and method for adaptive frame size management in a wireless multihop network |
JP6303452B2 (en) | 2013-12-02 | 2018-04-04 | 富士通株式会社 | Communication node |
-
2019
- 2019-05-09 US US16/408,167 patent/US10834020B1/en active Active
-
2020
- 2020-02-04 CA CA3070827A patent/CA3070827C/en active Active
- 2020-02-11 EP EP20156765.8A patent/EP3737146B1/en active Active
- 2020-04-28 IL IL274310A patent/IL274310B/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020181609A1 (en) * | 1999-03-12 | 2002-12-05 | Aware, Inc. | Seamless rate adaptive multicarrier modulation system and protocols |
US20100290393A1 (en) * | 2008-10-15 | 2010-11-18 | Yosuke Matsushita | Communication terminal and communication method |
US20170070895A1 (en) * | 2014-02-20 | 2017-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic management in the mobile network |
US20180102930A1 (en) * | 2015-03-18 | 2018-04-12 | Huawei Technologies Co., Ltd. | Data transmisson method and device |
US20190149474A1 (en) * | 2017-11-15 | 2019-05-16 | Versa Networks, Inc. | Method and system for shaping traffic from an egress port in a software-defined wide area network |
Also Published As
Publication number | Publication date |
---|---|
CA3070827C (en) | 2024-01-16 |
EP3737146A1 (en) | 2020-11-11 |
US10834020B1 (en) | 2020-11-10 |
EP3737146B1 (en) | 2024-10-16 |
IL274310A (en) | 2020-11-30 |
CA3070827A1 (en) | 2020-11-09 |
IL274310B (en) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2420923C2 (en) | Method and device for distributed detection of spectrum for wireless communication | |
US8199766B2 (en) | Methods for sending small packets in a peer-to-peer (P2P) network | |
US7680092B2 (en) | Link adaption for mobile ad hoc and mesh networks | |
Chen et al. | Joint design and separation principle for opportunistic spectrum access | |
US20210184935A1 (en) | Hierarchical fog nodes for controlling wireless networks | |
Chaudhari et al. | BEP walls for collaborative spectrum sensing | |
Huang et al. | Improving the accuracy rate of link quality estimation using fuzzy logic in mobile wireless sensor network | |
Nallagonda et al. | Cooperative spectrum sensing with censoring of cognitive radios with majority logic fusion in Hoyt fading | |
Ding et al. | Joint spectrum sensing and transmit power adaptation in interference‐aware cognitive radio networks | |
CA3070827C (en) | Scalable network overhead for contested environments | |
EP3739973B1 (en) | Dynamic multi-channel power management for neighbour discovery | |
Amjad et al. | Reputation aware collaborative spectrum sensing for mobile cognitive radio networks | |
EP4093100A1 (en) | Method for conscientious power and rate adaptation in a cdma manet | |
Cai et al. | Decoupling trust and wireless channel induced effects on collaborative sensing attacks | |
US10356843B1 (en) | Frequency band control algorithm | |
Althunibat et al. | Energy-efficient reporting scheme for cooperative spectrum sensing | |
Hamza et al. | Wideband spectrum sensing order for cognitive radios with sensing errors and channel SNR probing uncertainty | |
AU2022204537B2 (en) | Abrupt interference mitigation | |
EP4084441A1 (en) | Gateway link management between disjoint subnetworks in a cdma manet | |
Orooji et al. | Performance analysis of spectrum monitoring for cognitive radios | |
EP4092933B1 (en) | Deterministic power and rate control | |
Alslamat et al. | Malicious Impact Mitigation by Index-Modulation for Decisions Gathering in Wireless Sensor Networks | |
Shafie | Optimal spectrum access for cognitive radios | |
Kumar et al. | Capacity improvement for VoIP based two-tier CRN using space-time spectrum sensing | |
Shirazi et al. | Lifetime Maximization of UWB-Based Sensor Networks for Event Detection Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: L3 TECHNOLOGIES, INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:REIMANN, MATTHEW J.;GIALLORENZI, THOMAS R.;KENNEY, BRENT;AND OTHERS;SIGNING DATES FROM 20190429 TO 20190509;REEL/FRAME:049133/0491 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: L3HARRIS TECHNOLOGIES, INC., FLORIDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:L3 TECHNOLOGIES INC.;REEL/FRAME:051654/0245 Effective date: 20200129 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |