System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos

Information

  • Patent Grant
  • 11750505
  • Patent Number
    11,750,505
  • Date Filed
    Monday, March 8, 2021
    3 years ago
  • Date Issued
    Tuesday, September 5, 2023
    a year ago
Abstract
A mesh network protocol, comprising: receiving a packet from a sender, identifying the sender, a prior sender, a flood mode, a time-to-live, and a sequence identifier; marking the recipient as critical if during a full flood period, the recipient is the same as the prior sender, and marking the recipient as non-critical if no packet is received with the recipient the same as the prior sender; rebroadcasting the packet, modified by updating sender with the recipient, and sender as prior sender, decrementing the time to live until expiration, and, the identity of the recipient is different from the identity of the prior sender in full flood mode; or the identity of the recipient is different from the prior sender, and the recipient is critical, in partial flood mode.
Description
FIELD OF THE INVENTION

The present invention relates to the field of mesh network communication protocols.


BACKGROUND OF THE INVENTION

A mesh network, see en.wikipedia.org/wiki/Mesh_Network is a local network in which the infrastructure (i.e. bridges, switches and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate with one another to efficiently route data from/to clients. This lack of dependency on one node allows for every node to participate in the relay of information. Mesh networks dynamically self-organize and self-configure, which can reduce installation overhead. The ability to self-configure enables dynamic distribution of workloads, particularly in the event that a few nodes should fail. This in turn contributes to fault-tolerance and reduced maintenance costs.


The invention pertains to the communication of a message from a message-generating source node to all reachable nodes in a Mobile Ad Hoc Network (MANET), a Mesh Network, or in general a wireless peer-to-peer, infrastructure-less multi-hop network. Such a procedure, often referred to as “broadcasting”, “network-wide broadcasting”, or “flooding” in the MANET/Mesh literature, is typically done by choosing a set of relaying nodes, which could be the set of all nodes or a subset thereof, depending upon the solution.


Two distinct types of ubiquitous wireless data communication networks have developed: cellular telephone networks having a maximum range of about 20-50 miles line of sight or 3 miles in hilly terrain, and short-range local-area computer networks (wireless local-area networks or WLANs) having a maximum range of about 0.2-0.5 miles (˜1000-2500 feet IEEE-802.11n, 2.4 GHz) outdoors line of sight. IEEE 802.11ah is a wireless networking protocol published in 2017 (Wi-Fi HaLow) as an amendment of the IEEE 802.11-2007 wireless networking standard. It uses 900 MHz license exempt bands to provide extended range Wi-Fi networks, compared to conventional Wi-Fi networks operating in the 2.4 GHz and 5 GHz bands. It also benefits from lower energy consumption, allowing the creation of large groups of stations or sensors that cooperate to share signals, supporting the concept of the Internet of Things (IoT). en.wikipedia.org/wiki/IEEE 802.11ah. A benefit of 802.11ah is extended range, making it useful for rural communications and offloading cell phone tower traffic. The other purpose of the protocol is to allow low rate 802.11 wireless stations to be used in the sub-gigahertz spectrum. The protocol is one of the IEEE 802.11 technologies which is the most different from the LAN model, especially concerning medium contention. A prominent aspect of 802.11ah is the behavior of stations that are grouped to minimize contention on the air media, use relay to extend their reach, employ predefined wake/doze periods, are still able to send data at high speed under some negotiated conditions and use sectored antennas. It uses the 802.11a/g specification that is down sampled to provide 26 channels, each of them able to provide 100 kbit/s throughput. It can cover a one-kilometer radius. It aims at providing connectivity to thousands of devices under an access point. The protocol supports machine to machine (M2M) markets, like smart metering.


First, the cellular infrastructure for wireless telephony involves long-distance communication between mobile phones and central base-stations, where the base stations are typically linked to tall cell towers, connecting to the public switched telephone network and the Internet. The radio band for these long-range wireless networks is typically a regulated, licensed band, and the network is managed to combine both broad bandwidth (˜5-20 MHz) and many simultaneous users. This should be contrasted with a short-range wireless computer network, which may link multiple users to a central router or hub, which router may itself have a wired connection to the Internet. A key example is Wi-Fi, which is managed according to the IEEE-802.11x communications standards, with an aggregate data rate theoretically over 1 gigabit per second (802.11ac) and a range that is typically much less than 100 m. Other known standard examples are known by the terms Bluetooth and ZigBee. The radio band for a WLAN is typically an unlicensed band, such as one of the ISM bands (industrial, scientific, and medical), or more recently, a whitespace band formerly occupied by terrestrial analog television (WSLAN). One implication of such an unlicensed band is the unpredictable presence of significant interference due to other classes of users, which tends to limit either the range, or the bandwidth, or both. For such local area networks, a short range (low power and high modulation rates) becomes advantageous for high rates of spatial band reuse and acceptable levels of interference.


Ad hoc networks or mesh networks are also known. These protocols permit peer-to-peer communications between devices over a variety of frequency bands, and a range of capabilities. In a multihop network, communications are passed from one node to another in series between the source and destination. Because of various risks, as the number of hops grows, the reliability of a communication successfully reaching its destination decreases, such that hop counts of more than 10 or 20 in a mobility permissive network are rarely considered feasible. A typical mesh network protocol maintains a routing table at each node, which is then used to control the communication. This routing table may be established proactively or reactively. In proactive routing, the network state information is pushed to the various nodes, often appended to other communications, such that when a communication is to be established, the nodes rely on the then-current routing information to control the communication. This paradigm suffers from the possibility of stale or incorrect routing information or overly burdensome administrative overhead, or both. Reactive routing seeks to determine the network state at the time of, and for the purpose of, a single set of communications, and therefore may require significant communications possibly far exceeding the amount of data to be communicated in order to establish a link. Because the network state is requested at the time of communication, there is less opportunity to piggyback the administrative information on other communications. There are also various hybrid ad hoc network routing protocols, which seek to compromise between these two strategies, and other paradigms as well. See, e.g., U.S. Pat. Nos. 6,584,080; 6,625,135; 6,628,620; 6,718,394; 6,754,192; 6,763,013; 6,763,014; 6,870,846; 6,894,985; 6,898,529; 6,906,741; 6,954,435; 6,961,310; 6,975,614; 6,977,608; 6,986,161; 7,007,102; 7,027,426; 7,028,687; 7,068,600; 7,068,605; 7,075,919; 7,079,552; 7,082,117; 7,085,290; 7,096,037; 7,142,866; 7,170,425; 7,176,807; 7,216,282; 7,251,238; 7,266,085; 7,281,057; 7,299,038; 7,299,042; 7,308,369; 7,308,370; 7,317,898; 7,327,998; 7,346,167; 7,348,895; 7,356,001; 7,362,711; 7,366,111; 7,366,544; 7,382,765; 7,389,295; 7,394,798; 7,394,826; 7,418,238; 7,420,944; 7,427,927; 7,428,221; 7,450,517; 7,453,864; 7,457,834; 7,468,954; 7,480,248; 7,495,578; 7,529,561; 7,535,883; 7,536,388; 7,539,759; 7,545,285; 7,567,577; 7,580,730; 7,580,782; 7,581,095; 7,587,001; 7,590,589; 7,599,696; 7,602,738; 7,616,961; 7,656,851; 7,657,354; 7,660,318; 7,660,950; 7,678,068; 7,693,484; 7,695,446; 7,702,594; 7,706,282; 7,706,842; 7,710,932; 7,719,988; 7,725,080; 7,729,336; 7,742,399; 7,742,430; 7,746,794; 7,753,795; 7,764,617; 7,778,235; 7,788,387; 7,808,985; 7,813,451; 7,817,623; 7,830,820; 7,843,861; 7,849,139; 7,852,826; 7,860,025; 7,860,081; 7,860,968; 7,873,019; 7,881,474; 7,886,075; 7,894,828; 7,898,993; 7,902,973; 7,905,640; 7,912,645; 7,924,796; 7,929,914; 7,936,732; 7,941,188; 7,944,878; 7,957,355; 7,961,650; 7,962,101; 7,962,154; 7,969,914; 7,970,418; 7,974,402; 7,978,062; 7,979,311; 7,983,835; 7,990,947; 7,996,558; 8,035,479; 8,040,863; 8,042,048; 8,059,620; 8,060,017; 8,060,308; 8,065,166; 8,065,411; 8,072,906; 8,073,384; 8,090,596; 8,099,108; 8,099,307; 8,108,228; 8,108,429; 8,115,617; 8,121,628; 8,121,870; 8,130,708; 8,131,569; 8,131,838; 8,134,950; 8,135,362; 8,138,934; 8,139,504; 8,144,596; 8,144,619; 8,151,140; 8,161,097; 8,170,577; 8,170,957; 8,171,364; 8,174,381; 8,18,0294; 8,184,681; 8,195,483; 8,195,628; 8,200,246; 8,203,463; 8,213,895; 8,239,169; 8,249,984; 8,256,681; 8,266,657; 8,271,449; 8,275,824; 8,289,182; 8,289,186; 8,300,615; 8,311,533; 8,315,231; 8,319,658; 8,319,833; 8,320,302; 8,320,414; 8,323,189; 8,325,612; 8,330,649; 8,332,055; 8,334,787; 8,335,207; 8,335,814; 8,341,279; 8,341,289; 8,345,098; 8,346,846; 8,352,420; 8,359,643; 8,363,662; 8,364,648; 8,369,880; 8,370,697; 8,373,556; 8,373,588; 8,374,352; 8,385,550; 8,386,278; 8,392,541; 8,395,498; 8,396,602; 8,400,507; 8,401,564; 8,406,153; 8,406,239; 8,406,252; 8,428,517; 8,441,958; 8,442,520; 8,447,419; 8,447,849; 8,451,744; 8,463,238; 8,467,991; 8,472,348; 8,473,989; 8,475,368; 8,489,765; 8,494,458; 8,495,244; 8,496,181; 8,502,148; 8,502,640; 8,503,309; 8,504,921; 8,509,762; 8,509,765; 8,514,915; 8,515,547; 8,520,535; 8,520,676; 8,521,156; 8,525,692; 8,527,622; 8,533,758; 8,544,023; 8,547,875; 8,548,607; 8,553,688; 8,559,442; 8,560,274; 8,571,046; 8,571,518; 8,577,391; 8,578,015; 8,578,054; 8,583,671; 8,583,978; 8,587,427; 8,588,108; 8,593,419; 8,593,986; 8,595,359; 8,600,830; 8,612,583; 8,615,257; 8,619,576; 8,619,789; 8,620,772; 8,620,784; 8,621,577; 8,622,837; 8,624,771; 8,625,515; 8,626,344; 8,630,177; 8,630,291; 8,630,314; 8,631,101; 8,636,395; 8,638,667; 8,638,763; 8,652,038; 8,654,627; 8,654,649; 8,665,890; 8,667,084; 8,670,416; 8,675,678; 8,682,982; 8,693,322; 8,699,333; 8,699,368; 8,699,377; 8,700,301; 8,700,302; 8,700,536; 8,707,785; 8,712,711; 8,715,072; 8,718,055; 8,719,563; 8,725,274; 8,727,978; 8,730,047; 8,730,875; 8,732,454; 8,738,944; 8,743,750; 8,743,768; 8,743,866; 8,747,313; 8,751,063; 8,751,644; 8,755,763; 8,756,449; 8,760,339; 8,761,175; 8,761,285; 8,762,852; 8,769,442; 8,774,050; 8,774,946; 8,780,201; 8,780,953; 8,781,462; 8,787,392; 8,787,944; 8,788,516; 8,792,850; 8,792,880; 8,797,878; 8,798,094; 8,799,220; 8,799,510; 8,800,010; 8,804,603; 8,806,633; 8,812,419; 8,817,665; 8,818,522; 8,819,172; 8,819,191; 8,823,795; 8,824,471; 8,830,837; 8,831,279; 8,831,869; 8,832,428; 8,837,277; 8,842,180; 8,842,630; 8,843,156; 8,848,970; 8,855,794; 8,855,830; 8,856,323; 8,861,390; 8,862,774; 8,867,329; 8,868,374; 8,872,379; 8,872,767; 8,872,915; 8,873,391; 8,873,526; 8,874,477; 8,874,788; 8,879,604; 8,879,613; 8,880,060; 8,885,501; 8,885,630; 8,886,227; 8,891,534; 8,891,588; 8,892,271; 8,908,516; 8,908,536; 8,908,621; 8,908,626; 8,918,480; 8,923,186; 8,923,422; 8,930,361; 8,934,366; 8,934,496; 8,937,886; 8,938,270; 8,942,301; 8,948,046; 8,948,229; 8,949,959; 8,954,582; 8,959,539; 8,964,762; 8,964,787; 8,965,288; 8,970,392; 8,970,394; 8,971,188; 8,972,159; 8,976,007; and Pub. Patent Appl. Nos. 20020039357; 20020071160; 20020083316; 20030202468; 20030202469; 20030202476; 20030202512; 20030204587; 20030204616; 20040022223; 20040022224; 20040028000; 20040028016; 20040029553; 20040042417; 20040042434; 20040057409; 20040160943; 20040174900; 20040203385; 20040203820; 20040210657; 20040218548; 20040218582; 20040219909; 20040223497; 20040223498; 20040223499; 20040223500; 20040228343; 20040264466; 20050041591; 20050053003; 20050053004; 20050053005; 20050053007; 20050053094; 20050054346; 20050141706; 20050157661; 20050254473; 20050259588; 20050259595; 20050265259; 20050276608; 20060002328; 20060007863; 20060023632; 20060030318; 20060092043; 20060095199; 20060126535; 20060167784; 20060176829; 20060227724; 20060229090; 20060251115; 20060291404; 20060291485; 20060291864; 20070038743; 20070087756; 20070087758; 20070110024; 20070153737; 20070153764; 20070214046; 20070223436; 20070229231; 20070280174; 20070286097; 20070297808; 20080040507; 20080051036; 20080051099; 20080117896; 20080130640; 20080159151; 20080159358; 20080240050; 20080247353; 20080252485; 20080262893; 20080267116; 20080273487; 20080291843; 20080310390; 20090046688; 20090061835; 20090062887; 20090086663; 20090097490; 20090185508; 20090210495; 20090215411; 20090219194; 20090228575; 20090323519; 20100014444; 20100017045; 20100097957; 20100123572; 20100124196; 20100125671; 20100152619; 20100187832; 20100235285; 20100254309; 20100317420; 20100329274; 20110004513; 20110078461; 20110080853; 20110085530; 20110187527 20110133924; 20110204720; 20110211534; 20110228696; 20110228788; 20110231573; 20110235550; 20110267981; 20110273568; 20110314504; 20120005041; 20120039186; 20120039190; 20120113807; 20120113863; 20120113986; 20120116559; 20120117208; 20120117213; 20120117268; 20120117438; 20120134548; 20120154633; 20120155260; 20120155276; 20120155284; 20120155329; 20120155397; 20120155463; 20120155475; 20120155511; 20120158933; 20120182867; 20120188968; 20120208592; 20120210233; 20120213124; 20120224743; 20120230204; 20120230222; 20120230370; 20120233326; 20120233485; 20120242501; 20120243621; 20120254338; 20120275642; 20120277893; 20120280908; 20120282905; 20120282911; 20120284012; 20120284122; 20120284339; 20120284593; 20120307624; 20120307629; 20120307652; 20120307653; 20120307825; 20120320768; 20120320790; 20120320923; 20120324273; 20130010590; 20130010615; 20130010798; 20130013806; 20130013809; 20130016612; 20130016757; 20130016758; 20130016759; 20130018993; 20130019005; 20130022042; 20130022046; 20130022053; 20130022083; 20130022084; 20130024149; 20130024560; 20130028095; 20130028103; 20130028104; 20130028140; 20130028143; 20130028295; 20130031253; 20130045759; 20130051250; 20130055383; 20130064072; 20130067063; 20130069780; 20130080307; 20130083658; 20130086601; 20130088999; 20130089011; 20130094536; 20130094537; 20130111038; 20130121331; 20130122807; 20130124883; 20130128773; 20130151563; 20130169838; 20130177025; 20130178718; 20130183952; 20130188471; 20130188513; 20130191688; 20130201891; 20130215739; 20130215942; 20130219045; 20130219046; 20130219478; 20130223218; 20130223225; 20130223229; 20130223237; 20130223275; 20130227055; 20130227114; 20130227336; 20130250754; 20130250808; 20130250809; 20130250811; 20130250866; 20130250945; 20130250953; 20130250969; 20130251053; 20130251054; 20130259096; 20130279365; 20130279540; 20130283347; 20130283360; 20130286942; 20130290560; 20130308495; 20130310896; 20130315131; 20130336316; 20140006893; 20140016643; 20140022906; 20140029432; 20140029445; 20140029603; 20140029610; 20140029624; 20140036912; 20140036925; 20140055284; 20140064172; 20140068105; 20140081793; 20140092752; 20140092753; 20140092769; 20140092905; 20140095864; 20140105015; 20140105027; 20140105033; 20140105211; 20140108643; 20140114554; 20140114555; 20140121476; 20140122673; 20140126348; 20140126354; 20140126423; 20140126426; 20140126431; 20140126610; 20140129734; 20140129876; 20140136881; 20140195668; 20140219078; 20140219103; 20140219114; 20140219133; 20140222725; 20140222726; 20140222727; 20140222728; 20140222729; 20140222730; 20140222731; 20140222748; 20140222975; 20140222983; 20140222996; 20140222997; 20140222998; 20140223155; 20140245055; 20140247726; 20140247804; 20140269402; 20140269413; 20140269592; 20140269759; 20140273920; 20140281670; 20140286377; 20140297206; 20140302774; 20140304427; 20140307614; 20140314096; 20140320021; 20140324596; 20140324833; 20140328346; 20140330947; 20140355425; 20140357295; 20140357312; 20140369550; 20140372577; 20140372585; 20140376361; 20140376427; 20140379896; 20140379900; 20150002336; 20150003251; 20150003428; 20150016688; 20150023174; 20150023363; 20150023369; 20150026268; 20150030033; 20150043384; 20150043519; 20150055650; 20150063365; 20150071295; 20150072728. See also, U.S. Pat. and Pat. App. Nos. 20100203878, 20080200165, 20120023171, 20100029216, 20090286531, 20090109898, U.S. Pat. Nos. 6,415,158, 8,503,934, 8,165,585, 7,127,250, 8,112,082, 7,512,094, 8,126,473, 7,400,903, 6,647,426, 8,248,947, WO 2012/078565, WO 2012/116489. These citations deal with wireless communications systems with two available bands, which may comprise both licensed and unlicensed bands.


A simple implementation of a multihop mesh network idea is to have every node in the network relay any packet received by it, so that all nodes in range receive it. However, with this, the total number of transmissions per minute would be m×N2, where N is the number of nodes, and m is the number of packets originated packets per minute, which does not scale as N increases (e.g. with N=20, m=2, there are approximately 800 transmissions per minute)


The problem of pruning the set of nodes to contain this “broadcast storm” has been studied. It is sometimes referred to as the problem of finding a (minimum) connected dominating set, that is, finding a set of nodes that are connected (like a skeleton/backbone), and that are “dominating”, i.e., every node is either in the set or adjacent to some node in the set.


In graph theory, a connected dominated set and a maximum leaf spanning tree are two closely related structures defined on an undirected graph. See, en.wikipedia.org/wiki/Connected dominating set. A connected dominating set of a graph G is a set D of vertices with two properties: 1) Any node in D can reach any other node in D by a path that stays entirely within D. That is, D induces a connected subgraph of G. 2) Every vertex in G either belongs to D or is adjacent to a vertex in D. That is, D is a dominating set of G. A minimum connected dominating set of a graph G is a connected dominating set with the smallest possible cardinality among all connected dominating sets of G. The connected domination number of G is the number of vertices in the minimum connected dominating set. Sampathkumar, E.; Walikar, H B (1979), “The connected domination number of a graph”, J. Math. Phys. Sci, 13 (6): 607-613.


Any spanning tree T of a graph G has at least two leaves, vertices that have only one edge of T incident to them. A maximum leaf spanning tree is a spanning tree that has the largest possible number of leaves among all spanning trees of G. The max leaf number of G is the number of leaves in the maximum leaf spanning tree. Fellows, Michael; Lokshtanov, Daniel; Misra, Neeldhara; Mnich, Matthias; Rosamond, Frances; Saurabh, Saket (2009), “The complexity ecology of parameters: an illustration using bounded max leaf number”, Theory of Computing Systems, 45 (4): 822-848, doi:10.1007/s00224-009-9167-9.


If d is the connected domination number of an n-vertex graph G, where n>2, and l is its max leaf number, then the three quantities d, l, and n obey the simple equation n=d+l. If D is a connected dominating set, then there exists a spanning tree in G whose leaves include all vertices that are not in D: form a spanning tree of the subgraph induced by D, together with edges connecting each remaining vertex v that is not in D to a neighbor of v in D. This shows that l≥n—d. In the other direction, if T is any spanning tree in G, then the vertices of T that are not leaves form a connected dominating set of G. This shows that n−l≤d. Putting these two inequalities together proves the equality n=d+l. Therefore, in any graph, the sum of the connected domination number and the max leaf number equals the total number of vertices. Computationally, this implies that determining the connected domination number is equally difficult as finding the max leaf number.


It is NP-complete to test whether there exists a connected dominating set with size less than a given threshold, or equivalently to test whether there exists a spanning tree with at least a given number of leaves. Therefore, it is believed that the minimum connected dominating set problem and the maximum leaf spanning tree problem cannot be solved in polynomial time. When viewed in terms of approximation algorithms, connected domination and maximum leaf spanning trees are not the same: approximating one to within a given approximation ratio is not the same as approximating the other to the same ratio. There exists an approximation for the minimum connected dominating set that achieves a factor of 2 ln Δ+O(1), where Δ is the maximum degree of a vertex in G.[4] The maximum leaf spanning tree problem is MAX-SNP hard, implying that no polynomial time approximation scheme, that is, an approximation within (1-e) of optimal for some small e, is likely. Galbiati, G.; Maffioli, F.; Morzenti, A. (1994), “A short note on the approximability of the maximum leaves spanning tree problem”, Information Processing Letters, 52 (1): 45-49, doi:10.1016/0020-0190(94)90139-2. However, it can be approximated to within a factor of 2 in polynomial time. Solis-Oba, Roberto (1998), “2-approximation algorithm for finding a spanning tree with maximum number of leaves”, Proc. 6th European Symposium on Algorithms (ESA′98), Lecture Notes in Computer Science, 1461, Springer-Verlag, pp. 441-452, doi:10.1007/3-540-68530-8_37.


Both problems may be solved, on n-vertex graphs, in time O(1.9n). Fernau, Henning; Kneis, Joachim; Kratsch, Dieter; Langer, Alexander; Liedloff, Mathieu; Raible, Daniel; Rossmanith, Peter (2011), “An exact algorithm for the maximum leaf spanning tree problem”, Theoretical Computer Science, 412 (45): 6290-6302, doi:10.1016/j.tcs.2011.07.011, MR 2883043.


The maximum leaf problem is fixed-parameter tractable, meaning that it can be solved in time exponential in the number of leaves but only polynomial in the input graph size. The klam value of these algorithms (intuitively, a number of leaves up to which the problem can be solved within a reasonable amount of time) has gradually increased, as algorithms for the problem have improved, to approximately 37, Binkele-Raible, Daniel; Fernau, Henning (2014), “A parameterized measure-and-conquer analysis for finding a k-leaf spanning tree in an undirected graph”, Discrete Mathematics & Theoretical Computer Science, 16 (1): 179-200, MR 3188035, and it has been suggested that at least 50 should be achievable. Fellows, Michael R.; McCartin, Catherine; Rosamond, Frances A.; Stege, Ulrike (2000), “Coordinatized kernels and catalytic reductions: an improved FPT algorithm for max leaf spanning tree and other problems”, FST-TCS 2000: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Comput. Sci., 1974, Springer, Berlin, pp. 240-251, doi:10.1007/3-540-44450-5_19, MR 1850108. In graphs of maximum degree three, the connected dominating set and its complementary maximum leaf spanning tree problem can be solved in polynomial time, by transforming them into an instance of the matroid parity problem for linear matroids. Ueno, Shuichi; Kajitani, Yoji; Gotoh, Shin'ya (1988), “On the nonseparating independent set problem and feedback set problem for graphs with no vertex degree exceeding three”, Proceedings of the First Japan Conference on Graph Theory and Applications (Hakone, 1986), Discrete Mathematics, 72 (1-3): 355-360, doi:10.1016/0012-365X(88)90226-9, MR 0975556.


Connected dominating sets are useful in the computation of routing for mobile ad hoc networks. In this application, a small connected dominating set is used as a backbone for communications, and nodes that are not in this set communicate by passing messages through neighbors that are in the set. Wu, J.; Li, H. (1999), “On calculating connected dominating set for efficient routing in ad hoc wireless networks”, Proceedings of the 3rd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, ACM, pp. 7-14, doi:10.1145/313239.313261.


The max leaf number has been employed in the development of fixed-parameter tractable algorithms: several NP-hard optimization problems may be solved in polynomial time for graphs of bounded max leaf number. Fellows, Michael; Lokshtanov, Daniel; Misra, Neeldhara; Mnich, Matthias; Rosamond, Frances; Saurabh, Saket (2009), “The complexity ecology of parameters: an illustration using bounded max leaf number”, Theory of Computing Systems, 45 (4): 822-848, doi:10.1007/s00224-009-9167-9.


Most, if not all of the methods are either centralized, use control packets (such as “Hellos”), position information, global information, or some combination of these. However, this centralization imposes architectural constraints and creates critical points of failure servicing multiple other nodes; that is, a functional node, with communication access to another functional node, may nevertheless suffer impaired communication because a failure of performance or communication in a third node.


Mesh topology may be contrasted with conventional star/tree local network topologies in which the bridges/switches are directly linked to only a small subset of other bridges/switches, and the links between these infrastructure neighbors are hierarchical.


Flooding is a simple computer network routing algorithm in which every incoming packet is sent through every outgoing link except the one it arrived on. Flooding is used in bridging and in systems such as Usenet and peer-to-peer file sharing and as part of some routing protocols, including OSPF, DVMRP, and those used in ad-hoc wireless networks (WANETs). There are generally two types of flooding available, uncontrolled flooding and controlled flooding. Uncontrolled flooding is the fatal law of flooding. All nodes have neighbors and route packets indefinitely. More than two neighbors creates a broadcast storm. Controlled flooding can be performed by two algorithms to make it reliable, SNCF (Sequence Number Controlled Flooding) and RPF (Reverse Path Forwarding). In SNCF, the node attaches its own address and sequence number to the packet, since every node has a memory of addresses and sequence numbers. If it receives a packet in memory, it drops it immediately while in RPF, the node will only send the packet forward. If it is received from the next node, it sends it back to the sender.


In a mesh network, each node acts as both a transmitter and a receiver. Each node tries to forward every message to every one of its neighbors except the source node. This results in every message eventually being delivered to all reachable parts of the network. Algorithms may need to be more complex than this, since, in some case, precautions have to be taken to avoid wasted duplicate deliveries and infinite loops, and to allow messages to eventually expire from the system.


A variant of flooding called selective flooding partially addresses these issues by only sending packets to routers in the same direction. In selective flooding the routers don't send every incoming packet on every line but only on those lines which are going approximately in the right direction. If a packet can be delivered, it will (probably multiple times). Since flooding naturally utilizes every path through the network, it will also use the shortest path.


Duplicate packets may circulate forever, unless certain precautions are taken: a hop count or a time to live (TTL) count may be included with each packet. This value may take into account the number of nodes that a packet may have to pass through on the way to its destination. Each node can keep track of every packet seen and only forward each packet once. Further, if determinable, a network topology without loops may be enforced.


See,


Tanenbaum, Andrew S.; Wetherall, David J. (2010 Mar. 23). Computer Networks (5th ed.). Pearson Education. p. 368-370. ISBN 978-0-13-212695-3.


Rahman, Ashikur; Olesinski, Wlodek; Gburzynski, Pawel (2004). “Controlled Flooding in Wireless Ad-hoc Networks” (PDF). International Workshop on Wireless Ad-Hoc Networks. Edmonton, Alberta, Canada: University of Alberta, Department of Computing Science. Archived (PDF) from the original on 2017 Feb. 10. Retrieved 2015 Oct. 15.


www.cs.cornell.edu/projects/quicksilver/ricochet.html


The Spanning Tree Protocol (STP) is a network protocol that builds a loop-free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also allows a network design to include backup links to provide fault tolerance if an active link fails. As the name suggests, STP creates a spanning tree within a network of connected layer-2 bridges, and disables those links that are not part of the spanning tree, leaving a single active path between any two network nodes.


Thomas Zahn, Greg O'Shea and Antony Rowstron, “An Empirical Study of Flooding in Mesh Networks”, Microsoft Research, Cambridge, UK, April 2009 Technical Report MSR-TR-2009-37 discusses flooding in wireless mesh networks. Efficient flooding is important, as naive flooding can generate broadcast storms. In naive flooding, all nodes rebroadcast received flood messages once.


Naive flooding is the simplest of the three protocols. A source node initiates a flood by creating a packet, which includes a unique identifier, and broadcasts the packet using a standard 802.11a broadcast frame at 6 Mbps. When a node receives a broadcast packet, using the unique identifier, it checks if the packet has already been received, in which case the node drops this duplicate. Otherwise, this is the first time the node has seen the packet, so the node records the associated unique identifier and schedules a local rebroadcast of the packet, with a delay selected uniformly at random from the range 0 to 10 mS. This jitter ensures that self-interference from other nodes rebroadcasting the flood packet should be low. This is conceptually simple, with all nodes rebroadcasting each packet at most once. A small amount of short term state is maintained to log the packet identifiers seen. In naive flooding, each node can receive a copy of the flood packet from each one-hop neighbor.


This is inefficient, and an optimization has been proposed wherein, rather than having all nodes rebroadcast every flood message, a subset of the nodes is selected to rebroadcast. This is achieved by each node selecting a subset of its one-hop neighbors, referred to as the relay set, that provide complete coverage of the node's two-hop neighbors. Only the relays of a node will rebroadcast flood messages received from that node. When a flood is initiated by a source node, there are a set of nodes that rebroadcast the flood across the mesh network, and we refer to this set as the union relay set for that source node. For each source, there exists a specific union relay set.


See, 20180013573; 20180007687; 20180006833; 20170332439; 20170331899; 20170325127; 20170324618; 20170318453; 20170317906; 20170317713; 20170311423; 20170310553; 20170295455; 20170294988; 20170289812; 20170259942; 20170251387; 20170250898; 20170250856; 20170238197; 20170195826; 20170181053; 20170161609; 20170149901; 20170149651; 20170135021; 20170104727; 20170099567; 20170086279; 20170078400; 20170070942; 20170048783; 20170041868; 20170034760; 20170019970; 20160366553; 20160323113; 20160323012; 20160302195; 20160277874; 20160269976; 20160224951; 20160212729; 20160198244; 20160197831; 20160183351; 20160142901; 20160127978; 20160119739; 20160116819; 20160029182; 20160028764; 20160028763; 20160028762; 20160028755; 20160028754; 20160028752; 20160028751; 20160028750; 20160027054; 20150382278; 20150382275; 20150381489; 20150363981; 20150351084; 20150341874; 20150330869; 20150316926; 20150304209; 20150263863; 20150245412; 20150245231; 20150245203; 20150245179; 20150244648; 20150244623; 20150244484; 20150244481; 20150207724; 20150207677; 20150201415; 20150195296; 20150195146; 20150195145; 20150193697; 20150193696; 20150193695; 20150193694; 20150193693; 20150188935; 20150188934; 20150188754; 20150186642; 20150155637; 20150138977; 20150111591; 20150110104; 20150103813; 20150081840; 20150061511; 20150055650; 20150030033; 20150002336; 20140372585; 20140362847; 20140349684; 20140333990; 20140321325; 20140310349; 20140310243; 20140293605; 20140286301; 20140285095; 20140285090; 20140278475; 20140269514; 20140269487; 20140247752; 20140185499; 20140167912; 20140114549; 20140092769; 20140086041; 20140081793; 20140071837; 20140068105; 20140046882; 20130342355; 20130332025; 20130332011; 20130332010; 20130322294; 20130279540; 20130242929; 20130208714; 20130208583; 20130201869; 20130201316; 20130195095; 20130194970; 20130188562; 20130188492; 20130182566; 20130170394; 20130170393; 20130143535; 20130143529; 20130100942; 20130100872; 20130094536; 20130083688; 20130070597; 20130064137; 20130064102; 20130051250; 20130042301; 20130033987; 20130028295; 20130028095; 20130022084; 20130016758; 20120331316; 20120327792; 20120320923; 20120314660; 20120311334; 20120309417; 20120307752; 20120300758; 20120257624; 20120243408; 20120236724; 20120235579; 20120209808; 20120197988; 20120196636; 20120176931; 20120155463; 20120135723; 20120134287; 20120113901; 20120106428; 20120093134; 20120092993; 20120092984; 20120091315; 20120063436; 20120014309; 20120008527; 20110305136; 20110302635; 20110280156; 20110255479; 20110238751; 20110223937; 20110216656; 20110188653; 20110188378; 20110164527; 20110149849; 20110128884; 20110085530; 20110078461; 20110075578; 20110066297; 20110051702; 20110051662; 20110050457; 20110047230; 20110019678; 20110004513; 20110001438; 20110001436; 20100317420; 20100309912; 20100308207; 20100306320; 20100304759; 20100303082; 20100302947; 20100302945; 20100302779; 20100302624; 20100301834; 20100301774; 20100301773; 20100301771; 20100301770; 20100301769; 20100301768; 20100296285; 20100295482; 20100295475; 20100295474; 20100295473; 20100285774; 20100270933; 20100264846; 20100259931; 20100254312; 20100235285; 20100232354; 20100232317; 20100226381; 20100226342; 20100226284; 20100214960; 20100185753; 20100172249; 20100165995; 20100157889; 20100157888; 20100150120; 20100142551; 20100142448; 20100142447; 20100142446; 20100142445; 20100142421; 20100118776; 20100118775; 20100118750; 20100097957; 20100091924; 20100074194; 20090310488; 20090290494; 20090267540; 20090252134; 20090245159; 20090232119; 20090228575; 20090175238; 20090174569; 20090168653; 20090147702; 20090135824; 20090122797; 20090086973; 20090085769; 20090075625; 20090059814; 20090054033; 20090052429; 20090046732; 20090010205; 20090010204; 20080320305; 20080310390; 20080279204; 20080279155; 20080273518; 20080205385; 20080198865; 20080192724; 20080192713; 20080186562; 20080183853; 20080170550; 20080151916; 20080123584; 20080117885; 20080112422; 20080107034; 20080101332; 20080095059; 20080080520; 20080043316; 20080040509; 20080037569; 20080037454; 20080037431; 20080036589; 20080031203; 20080026781; 20080025270; 20080004904; 20070297371; 20070258508; 20070248117; 20070247368; 20070237150; 20070223310; 20070197262; 20070195702; 20070195400; 20070153764; 20070127503; 20070115810; 20070110024; 20070087756; 20070053053; 20070038743; 20070025274; 20060291485; 20060280131; 20060268796; 20060268749; 20060253747; 20060195590; 20060187893; 20060167784; 20060159024; 20060146846; 20060136721; 20060126587; 20060120303; 20060039371; 20050249215; 20050136972; 20050105524; 20050094620; 20040264422; 20040246975; 20040246144; 20040090943; 20030212941; 20030212821; 20030048749; U.S. Pat. Nos. 9,870,537; 9,866,395; 9,860,961; 9,848,345; 9,842,202; 9,820,658; 9,819,505; 9,818,136; 9,816,897; 9,794,934; 9,794,808; 9,794,797; 9,766,619; 9,743,339; 9,730,100; 9,730,078; 9,730,017; 9,712,332; 9,712,282; 9,706,598; 9,706,420; 9,705,914; 9,699,768; 9,693,297; 9,693,179; 9,692,538; 9,686,792; 9,686,369; 9,674,207; 9,672,346; 9,658,509; 9,648,547; 9,648,544; 9,635,050; 9,634,928; 9,621,457; 9,608,912; 9,602,399; 9,596,169; 9,576,404; 9,563,854; 9,542,642; 9,526,061; 9,526,030; 9,521,158; 9,509,636; 9,503,466; 9,497,215; 9,489,506; 9,485,673; 9,450,978; 9,450,972; 9,426,716; 9,417,691; 9,413,779; 9,407,646; 9,398,568; 9,398,035; 9,391,806; 9,386,502; 9,363,651; 9,356,858; 9,350,809; 9,350,683; 9,311,670; 9,294,488; 9,286,473; 9,282,383; 9,281,865; 9,277,477; 9,276,845; 9,261,752; 9,258,765; 9,257,036; 9,231,965; 9,210,608; 9,198,033; 9,185,521; 9,173,245; 9,172,738; 9,172,662; 9,167,496; 9,160,760; 9,152,146; 9,148,391; 9,143,912; 9,125,254; 9,119,142; 9,100,989; 9,100,285; 9,084,120; 9,072,133; 9,060,322; 9,055,521; 9,055,105; 9,042,267; 9,041,349; 9,026,336; 9,026,279; 9,026,273; 9,020,008; 9,013,173; 9,001,787; 9,001,676; 8,989,052; 8,988,990; 8,982,856; 8,970,394; 8,958,339; 8,954,170; 8,948,015; 8,942,219; 8,942,197; 8,923,186; 8,908,626; 8,908,621; 8,902,794; 8,892,769; 8,892,135; 8,891,534; 8,885,630; 8,874,477; 8,866,408; 8,856,252; 8,848,721; 8,843,241; 8,841,859; 8,832,428; 8,824,380; 8,824,336; 8,823,277; 8,811,188; 8,806,573; 8,805,550; 8,804,613; 8,798,084; 8,792,154; 8,787,246; 8,780,920; 8,780,762; 8,762,747; 8,761,125; 8,755,336; 8,754,589; 8,750,100; 8,737,268; 8,725,274; 8,718,093; 8,711,704; 8,706,072; 8,699,377; 8,693,399; 8,687,558; 8,670,749; 8,670,746; 8,670,302; 8,660,108; 8,630,291; 8,612,386; 8,610,377; 8,610,376; 8,600,830; 8,593,135; 8,582,470; 8,578,054; 8,571,519; 8,559,447; 8,553,688; 8,552,664; 8,547,981; 8,547,943; 8,543,249; 8,537,714; 8,536,802; 8,532,071; 8,531,134; 8,515,409; 8,509,248; 8,509,109; 8,503,677; 8,498,224; 8,489,701; 8,488,589; 8,477,687; 8,467,297; 8,432,820; 8,406,248; 8,385,322; 8,373,362; 8,370,697; 8,369,216; 8,368,321; 8,341,289; 8,339,069; 8,335,164; 8,334,787; 8,332,055; 8,325,627; 8,315,231; 8,314,717; 8,300,538; 8,270,302; 8,255,469; 8,232,745; 8,230,108; 8,228,954; 8,217,805; 8,213,409; 8,203,464; 8,199,753; 8,194,541; 8,171,364; 8,169,974; 8,155,008; 8,144,596; 8,138,934; 8,138,690; 8,135,021; 8,130,663; 8,125,928; 8,120,839; 8,107,397; 8,098,421; 8,085,686; 8,081,658; 8,077,663; 8,064,416; 8,060,017; 8,059,620; 8,041,369; 8,031,605; 7,995,501; 7,990,897; 7,957,410; 7,924,722; 7,881,206; 7,859,465; 7,848,702; 7,847,734; 7,800,812; 7,796,511; 7,787,480; 7,787,361; 7,778,235; 7,760,735; 7,751,420; 7,720,037; 7,715,396; 7,701,858; 7,688,847; 7,675,882; 7,675,863; 7,668,173; 7,664,538; 7,664,111; 7,653,011; 7,643,467; 7,626,967; 7,626,966; 7,606,178; 7,596,152; 7,590,589; 7,580,380; 7,567,577; 7,466,665; 7,463,907; 7,463,612; 7,451,365; 7,423,985; 7,394,774; 7,367,497; 7,324,824; 7,315,548; 7,271,736; 7,230,916; 7,224,642; 7,069,483; 7,061,925; 6,421,349.

  • A. Iwata, C.-C. Chiang, G. Pei, M. Gerla, and T.-W. Chen. Scalable Routing Strategies for Ad Hoc Wireless Networks. In IEEE Journal on Selected Areas in Communications, Special Issue on Ad-Hoc Networks, pp. 1369-1379, August 1999.
  • A. Qayyum, L. Viennot, and A. Laouiti. Multipoint relaying: An efficient technique for flooding in mobile wireless networks. Technical Report 3898, INRIA—Rapport de recherche, 2000.
  • A. Savvides, C. C. Han and M. B. Srivastava. Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors. In Proceedings of MOBICOM'01, July 2001.
  • B. Das and V. Bharghavan. Routing in Ad hoc Networks using Minimum Connected Dominating Sets (MCDS), Proceedings of 1997 IEEE International Conference on Communications (ICC'97), 1997.
  • Brad Williams, Tracy Camp. Comparison of broadcasting techniques for mobile ad hoc networks. Proceedings of the third ACM international symposium on Mobile ad hoc networking & computing, June 2002
  • C. Ho, K. Obraczka, G. Tsudik, and K. Viswanath. Flooding for reliable multicast in multi-hop ad hoc networks. In Proceedings of the International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communication (DIALM), pages 64-71, 1999.
  • C. E. Perkins and P. Bhagwat. Highly Dynamic Destination Sequenced Distance Vector Routing (DSDV) for mobile computers. In proceedings of ACM SIGCOMM, pp. 234-244, 1994.
  • C. E. Perkins. Ad hoc on-demand distance vector routing, Internet Draft, Internet Engineering Task Force, work in progress, December 1997.
  • C.-H. Toh. A novel distributed routing protocol to support ad-hoc mobile computing, Proceeding of 15th IEEE Annual International Phoenix Conference on Computer Communications, pp. 480-486, 1996.
  • C-C. Chiang, H. Wu, W. Liu and M. Gerla. Routing in Clustered, Multihop, Mobile Wireless Networks with Fading Channel, The IEEE International Conference on Networks, pages 197-211, Singapore, April 1997.
  • D. Niculescu and B. Nath. Ad Hoc Positioning System (APS) using AoA. INFOCOM'03, San Francisco, Calif.
  • D. B. Johnson and D. A. Maltz. Dynamic Source Routing in mobile ad hoc net-works, Mobile Computing, (Ed. T. Imielinski and H. Korth), Kluwer Academic Publishers, 1996.
  • E. Pagani and G. P. Rossi. Reliable broadcast in mobile multi-hop packet networks, Proceedings of the third annual ACM/IEEE International Conference on mobile computing and networking (MOBICOM'97), pp. 34-42, 1997.
  • G. Dommety and R. Jain. Potential networking applications of global positioning systems (GPS). Tech. Rep. TR-24, CS Dept., The Ohio State University, April 1996.
  • H. Lim and C. Kim. Multicast tree construction and flooding in wireless ad hoc networks. In Proceedings of the ACM International Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems (MSWIM), 2000.
  • Haas, Halpern, Li. Gossip based Ad Hoc Routing. In IEEE INFOCOM, June 2002.
  • I. Chlamtac and O. Weinstein. The wave expansion approach to broadcasting in multi-hop radio networks. IEEE Trans. Commun., vol. 39, pp. 426-433, March 1991.
  • I. Gaber and Y. Mansour. Broadcast in radio networks. In Proc. 6th Annu. ACM-SIAM Symp. Discrete Algorithms, San Francisco, Calif., January 1995, pp. 577-585.
  • I. Stojmenovic, M. Seddigh, and J. Zunic. Internal node based broadcasting in wireless networks. In Proceedings of the Hawaii International Conference on System Sciences (HICSS), 2001.
  • J. Jetcheva, Y. Hu, D. Maltz, and D. Johnson. A simple protocol for multicast and broadcast in mobile ad hoc networks. Internet Draft: draft-ietf-manet-simple-mbcast-01.txt, July 2001.
  • J. Li, C. Blake, D. S. J. De Couto, H. I. Lee, and R. Morris. Capacity of ad hoc wireless networks. In Proc. Seventh Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom), 2001.
  • J. Sucec and I. Marsic. An efficient distributed network-wide broadcast algorithm for mobile ad hoc networks. CAIP Technical Report 248—Rutgers University, September 2000.
  • J. Wu and H. Li. On calculating connected dominating sets for efficient routing in ad hoc wireless networks. In Proceedings of the International Workshop on Discrete Algorithms and methods for Mobile Computing and Communication (DIAL-M), pages 7-14, 1999.
  • J. P. Macker and M. S. Corson. Mobile Ad hoc networking and IETF Mobile computing and communication review, 2(1):9-14, January 1998.
  • Jie Wu and Fei Dai. Broadcasting in Ad Hoc Networks Based on Self-Pruning. In Proceedings of IEEE INFOCOM 2003, San Francisco, Calif.
  • Kershner, R. The Number of Circles Covering a Set. Amer. J. Math. 61, 665-671, 1939.
  • M. Sanchez. Mobility models. www.disca.upv.es/misan/mobmodel.htm, 1998.
  • M. Sun and T. H. Lai. Location Aided Broadcast in Wireless Ad Hoc Network Systems.
  • Proc. IEEE WCNC 2002, pp. 597-602, March 2002.
  • M. K. Denko and W. Goddard. Limited Flooding in Mobile Ad hoc Networks. In proceedings of the 14th MSc/PhD Annual Conference in Computer Science, Golden Gate, South Africa, pp. 21-24, June 1999.
  • M. K. Denko and W. Goddard. Routing Algorithms in Mobile Ad hoc Networks using Clustering Proceedings of 1998 MSc/PhD annual Conference, University of Stellenbosch, South Africa, pp. 6-18, July 1998.
  • M. K. Denko and W. Goddard: Clustering in Mobile Ad hoc Networks. In proceedings of the 5th International Conference in Communication systems (AFRICOM 2001), Cape Town, South Africa, May 2001.
  • M. M. Zonoozi and P. Dassanayake. User mobility modeling and characterisation of mobility patterns. IEEE Journal of Selected Areas in Communications, 15(7):1239-1252, September 1997.
  • M. S. Corson and A. Ephremides. A highly adaptive distributed routing algorithm for mobile wireless networks. ACM/Baltzer Wireless Networks Journal, 1(1):61-81, 1995.
  • N. Alon, A. Bar-Noy, N. Linial, and D. Peleg. A lower bound for radio broadcast. J. Comput. Syst. Sci., vol. 43, pp. 290-298, October 1991.
  • O. Lesser, R. Rom. Routing by controlled flooding in communication networks in proceeding of IEEE INFOCOM′90, (San Francisco, Calif.), pp. 910-917, June 1990.
  • P. Bahl and V. N. Padmanabhan. RADAR: An In-Building RF-Based User Location and Tracking System. In Proceedings of the IEEE INFOCOM'00.
  • P. Krishna, M. Chatterjee, N. H. Vaidya and D. K. Pradhan. A Cluster-based Approach for Routing in Ad hoc Networks. In proceedings of Second USENIX Symposium on mobile and Location Independent Computing, pp. 1-10, January 1996.
  • R. Bagrodia and R. A. Meyer. PARSEC User Manual, Release 1.0, UCLA Parallel Computing Laboratory, University of California, Los Angeles, February 1998.
  • R. Dube. Signal Stability based adaptive routing for Ad Hoc Mobile Networks. IEEE Personal Communications, pp. 36-45, February 1997.
  • S. Basagni, I. Chlamtac, V. R. Syrotiuk and B. A. Woodward. A Distance Routing Effect Algorithm for Mobility (DREAM), Proceedings of the fourth Annual mobile computing and networking, October 1998.
  • S. Guha and S. Khuller. Approximation algorithms for connected dominating sets. In Proceedings of European Symposium on Algorithms (ESA), 1996.
  • S. Murthy and J. J. Garcia-Luna-Aceves. An Efficient Routing Protocol for Wire-less Networks. ACM Mobile Networks and Applications, Special Issue on Routing in Mobile Communication Networks, 1(1):183-197, October 1996.
  • S. Y. Ni et al. The Broadcast Storm Problem in a Mobile Ad Hoc Network. ACM MOBICOM, pp. 151-162, August 1999.
  • T. Camp, J. Boleng, and V. Davies. A Survey of Mobility Models for Ad Hoc Network Research. Wireless Communication & Mobile Computing (WCMC), vol. 2, no. 5, pp. 483-502, 2002.
  • T. S. Rappaport. Wireless Communications: Principles and Practices. Prentice Hall, October 1995.
  • Tian He, Chengdu Huang, B. M. Blum, John A. Stankovic, and Tarek F. Abdelzaher. Range-Free Localization Schemes in Large Scale Sensor Networks. Ninth Annual International Conference on Mobile Computing and Networking (MobiCom 2003), San Diego, Calif., September 2003. To appear.
  • V. D. Park and M. S. Corson. A highly adaptive distributed routing algorithm for mobile wireless networks, Proceedings of 1997 IEEE Conference on Computer Communications (INFOCOM'97), April 1997.
  • W. Peng and X. Lu. AHBP: An efficient broadcast protocol for mobile ad hoc networks. Journal of Science and Technology—Beijing, China, 2002.
  • W. Peng and X. Lu. On the reduction of broadcast redundancy in mobile ad hoc networks. In Proceedings of MOBIHOC, 2000.
  • Y. Azar, J. Naor, R. Rom. Routing Strategies in Fast Networks IEEE Transactions on Computers, 45(2):165-173, 1996.
  • Y-B. Ko, N. H. Vaidya. Location Aided Routing for mobile ad hoc networks Proceedings of the fourth Annual mobile computing and networking, October 1998.
  • Z. J. Haas and M. Pearlman. Zone Routing Protocol (ZRP) for ad hoc networks, Internet Draft, Internet Engineering Task Force, work in progress, December 1997.


people.cs.clemson.edu/—goddard/papers/limitedFlooding.pdf


Mesh wireless sensor networks: Choosing the appropriate technology, Industrial Embedded Systems—Jul. 21, 2009, industrial.embedded-computing.com/article-id/?4098=, describes mesh wireless sensor networks (WSN). While most network approaches use routing as the basic architecture, a flooding-based technology offers distinct advantages, especially when it comes to larger networks. The two main technologies used to transmit data in mesh-based WSNs are flooding and routing. Flooding is also used in routing-based WSNs to enable the route discovery process. Robust operation within changing propagation conditions and under energy and communication bandwidth constraints precludes the use of traditional IP-based protocols and creates a difficult challenge for dedicated WSN routing algorithms. The task of finding and maintaining routes in WSNs is nontrivial because energy restrictions and sudden changes in node status (including failure, jamming, or temporary obstructions) cause frequent and unpredictable changes. Building and propagating automatic routing through the network requires powerful node processors, large amounts of memory, and additional dedicated routers, as well as network downtime until alternative routing is established. Building and maintaining routing tables with alternate routing (for responding to changing propagation conditions) while using low-cost, low-power processors proves to be a formidable challenge, which is amplified when the size and number of hops increase. Many new and sophisticated algorithms have been proposed to resolve these issues. The resulting routing schemes take into consideration the inherent features of WSNs along with application and architecture requirements.


In flooding, instead of using a specific route for sending a message from one node to another, the message is sent to all the nodes in the network, including those to whom it was not intended. The attractiveness of the flooding technology lies in its high reliability and utter simplicity. There is no need for sophisticated routing techniques since there is no routing. No routing means no network management, no need for self-discovery, no need for self-repair, and, because the message is the payload, no overhead for conveying routing tables or routing information.


Flooding technology has additional advantages related to propagation. Signals arriving at each node through several propagation paths benefit from the inherent space diversity, thus maximizing the network robustness of handling obstructions, interferences, and resistance to multipath fading, with practically no single point of failure. In other words, blocking one path or even a limited number of paths is usually of no consequence. Furthermore, lack of routing means that the controller is extremely simple, requiring minimal computing power and memory and thus low power consumption, low PCB real estate, and low cost.


Despite these benefits, flooding the network with repeated messages has its own challenges, often limiting use of flooding, except for route discovery in routing-based networks. For transmitting data, the main questions are how collisions are avoided, how the retransmitting process propagates the message efficiently toward its destination, and how the process ends, without an energy-wasting avalanche.


One flooding approach incorporates time division multiple access combined with high-accuracy synchronization, and allows the retransmissions to occur simultaneously so that the message propagates one hop in all directions at precisely the same time and avoids collisions. At each hop, nodes retransmit only relevant information, and the number of retransmissions corresponds to the number of hops in the network, so there is no waste of retransmissions.


Vamsi K Paruchuria, Arjan Durresib, Raj Jain, “Optimized Flooding Protocol for Ad hoc Networks”, ai2-s2-pdfs.s3.amazonaws.com/4871/fddbldefd8b202c8e4d3103d691079996d4e.pdf, disclose that flooding provides important control and route establishment functionality for a number of unicast and multicast protocols in Mobile Ad Hoc Networks. The flooding methodology should deliver a packet from one node to all other network nodes using as few messages as possible. Flooding or Network wide broadcasting is the process in which one node sends a packet to all other nodes in the network. Many applications as well as various unicast routing protocols such as Dynamic Source Routing (DSR), Ad Hoc On Demand Distance Vector (AODV), Zone Routing Protocol (ZRP), and Location Aided Routing (LAR) use broadcasting or a derivation of it. The principal use of flooding in these protocols is for Location Discovery and for establishing routes. A straightforward approach for broadcasting is blind flooding, in which each node will be required to rebroadcast the packet whenever it receives the packet for the first time. Blind flooding will generate many redundant transmissions, which may cause a more serious broadcast storm problem. Given the expensive and limited nature of wireless resources such as bandwidth and battery power, minimizing the control message overhead for route discovery is a high priority in protocol design.


Each reference cited herein is expressly incorporated herein by reference in its entirety, for all purposes.


SUMMARY OF THE INVENTION

In a wireless mesh network, it is often required to broadcast a given packet network-wide, that is, deliver it to every node in the network that is reachable. An example application is to send a node's Position Location Information (PLI) to every other node for situational awareness. Another use is disseminating control information or for chats involving all nodes.


While naïve flooding, as discussed above, is a possible solution, it obviously introduces a significant number of packets into the channel, which can overwhelm capacity and introduce significant latency, especially in a low-bandwidth mesh network. Other approaches for network-wide broadcasting mentioned in the background and prior art utilize control packets to discern the topology or position information, or are centralized.


The present technology provides a completely decentralized algorithm for pruning the number of nodes that relay information, while still delivering the packet to all reachable nodes. It requires no additional control packets, and does not require knowledge of topology or position information—even the set of its neighbors, and only requires use of information in the header of a data packet.


A preferred implementation of the technology is based on analysis of responses of nodes within the network to “Full Floods” (every node relays), which are repeated in order to account for topological changes. These Full Floods are performed periodically. As a result of analysis of the Full Flood process, nodes mark themselves as “critical” or “not critical” in a completely distributed fashion, i.e., not susceptible to a single point of failure, and preferably not reliant on any particular other node. Subsequent network-wide broadcasts (i.e., between the periodic Full Floods) are only done by critical nodes. The protocol may have features to eliminate loops in the network. See, e.g., en.wikipedia.org/wiki/Spanning Tree Protocol; www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/5234-5.html. To determine criticality, a node that broadcasts a packet determines if some other node re-transmits (“echoes”), that same packet, in which case it elects itself critical. The preferred algorithm has further enhancements to deal with loss of messages and hop-count limitations. Extensive simulation has demonstrated that the algorithm works correctly and significantly reduces the number of payloads, enabling scalability of a network employing the protocol, both over large areas and in dense distributions.


This technology provides particular advantages for a mesh network in which the application needs to send periodic network-wide broadcast packets (such as in a military system), and in systems where control packets need to be broadcast (e.g., route discovery in AODV or link state updates in OLSR).


Algorithm Description


The following distributed algorithm describes the network-wide broadcasting of a packet (a broadcast packet) originated at a node to all other nodes using the ECHO protocol.


Every node marks an application-generated broadcast packet as a Full Flood (FF) or a Pruned Flood (PF). If a node hasn't originated or relayed an FF with a TTL (Time to Live) of at least 2 within a configured preceding interval, it marks the packet an FF, else a PF. This TTL>2 criterion is to address packets with an artificial TTL limit due to which a node may drop the packet without re-transmitting, thereby not providing an echo (An “echo” is defined as the reception at a node of a packet containing the identifier of the node in its previous sender field (see below). With this condition, a node adjacent to such a node will be forced to generate its own FF, thereby giving it a chance to be a critical node. The TTL is decremented on each retransmission.


FF's contain, apart from the packet content and other information, two fields key to the operation of the invention: the sender ID, which is the ID of the node transmitting the Packet, and the previous sender ID, which is the ID of the node from which the sender received the Packet from. Before re-transmitting a Packet, a node updates the sender ID to its own ID and the previous sender ID to the ID of the node it received the packet from (a special null field if it has no previous sender, i.e., it originated). PF's do not contain these fields, or do not use them.


FF's are used to mark nodes as Critical or Non-Critical, as described below. When a node receives an FF with a given sequence number for the first time (the packet also has a sequence number field), it re-transmits the FF and sets an echo timer and moves to a Pending state. It then examines all of the Packets it receives until the echo timer expires. If it gets a Packet with the previous sender equal to its own ID, then it sets itself critical, otherwise, when the timer expires, the node sets itself non-critical. The rationale is that if none of its neighbors transmitted its specific packet (as IDed by the previous sender field), then none of them depend on it for receiving the Packet, and so it doesn't need to transmit in the subsequent rounds.


When a node receives a Packet marked as a Pruned Flood (PF), it only re-transmits it if it is Critical. Since the number of critical nodes is small compared to the total nodes, the total transmissions are reduced. At the same time, the algorithm ensures that every node is either a critical node or is adjacent to a critical node, and the critical nodes are connected (i.e., it is a connected dominating set). Thus every node is able to get the Packet.


Due to packet losses, an echo may not be heard, and therefore a node that ought to have become critical may not. To address this, every node keeps track of the average interval T between Packet arrivals. At the time of marking a Packet FF or PF, if a node has not heard a Packet within the last T×k seconds (where k is a configured value), it marks the Packet as Full Flood (FF), thereby triggering new critical node formation. The rationale is that this condition implies that the node is not adjacent to any critical node due to losses or other issues, and therefore the critical node set needs a reset.


Finally, by virtue of the initial operations of the protocol, there are roughly periodic FF's. These FF's serve to reset the critical nodes—new nodes are typically elected as critical. This balances out battery consumption, and also accommodates any topology (connectivity) changes, say due to mobility. Between these FFs (which may occur e.g., every 1-4 minutes depending on mobility), the floods are sent Pruned (only critical nodes), and thus there is a dramatic (˜2-3×) savings in payloads transmitted.


In order to improve delivery rate of packets, implicit acknowledgements (IA) may be used to control selective re-transmission instead of the full re-transmission described above. Accordingly, a given node N receives an IA from a neighbor M, if a packet that N transmitted is re-transmitted by M, and N receives that retransmission. In other words, N “overhears” a data transmission to infer that the node that transmitted the packet has received it. Compared to a separate explicit acknowledgment (EA) packet, IA requires no additional information communication. An IA is only relevant for hop-by-hop acknowledgement, not end-to-end, and is not present for other nodes M′, that receive the packet that N transmitted, but are not involved in retransmitting it. Not all nodes receiving a packet will retransmit. For example, if the other nodes M′ already have the packet that N transmitted, or if the TTL is 0, a receiving node M′ will simply discard the packet. Thus, the sender N cannot expect an IA on all of its transmissions. The present technology therefore selects which transmissions it will expect an IA, on and then retransmit if that expected IA is not received.


It is therefore an object to provide a mesh network communication protocol, comprising marking a mesh network node as critical if it receives, in response to a broadcasting of a flood packet, a packet with an identifier of itself as a prior sender, and marking itself as non-critical if it does not receive a packet with an identifier of itself as a prior sender; and employing the critical marking to selectively determine forwarding behavior for received non-flood packets. A flood packet may be broadcast from the mesh network node, comprising an identity of the mesh network node. The flood packet may define an identity of a current sender mesh network node, an identity of a prior sender from which the flood packet was received, a flood mode indicator, a time-to-live, a sequence identifier, and an optional payload.


It is another object to provide a mesh network communication protocol, comprising: broadcasting a packet from a current sender mesh network node, comprising an identity of the current sender; marking the sender mesh network node as critical if it receives in response to its broadcasting a packet with itself identifier as a prior sender, and marking itself as non-critical if it does not receive a packet, with itself identifier as a prior sender; and employing the critical marking to selectively determine forwarding behavior for received packets.


It is a still further object to provide a mesh network communication protocol, comprising: sending a flood packet from a current sender mesh network node to a recipient, defining an identity of the current sender, a flood mode indicator, a time-to-live, and an optional payload; receiving from the recipient a response to the flood packet, defining an identity of the recipient, the identity of the current sender as a prior sender, the flood mode indicator, a decremented time-to-live, and the optional payload; and marking the recipient as critical based on the identity of the current sender as the prior sender in the response.


The protocol may further comprise selectively rebroadcasting a single instance of a received flood packet based on a comparison of the sequence identifier with prior sequence identifiers, modified by a replacement of the identity of the current sender with an identity of the mesh network node, and the prior sender with the current sender, and a decrement of the time to live, wherein the flood packet is rebroadcast by the mesh network node if and only if the time to live is not expired, and (a) the flood mode indicator indicates a full flood mode and the sequence identifier is not present in a list of prior sequence identifiers; or (b) the flood mode indicator indicates a partial flood mode, the sequence identifier is not present in the list of prior sequence identifiers, and the mesh network node is marked as critical. Each packet may comprise an identity of the current sender, a criticality of the current sender, an identity of a prior sender, a time-to-live, and an optional payload. The protocol may further comprise sending a packet from a current sender mesh network node; determining whether retransmission of the packet is expected, based on at least a criticality of a neighboring mesh network node, and the time-to-live of the packet; monitoring for re-transmission of the packet by the neighboring mesh network node within a time window; and if, and only if, re-transmission of the packet is expected before expiration of the time window, and is not detected within the time window, resending the packet. Determining whether retransmission of the packet is expected may be based on whether the time-to-live of the sent packet is at least one, and whether the current sender mesh network node has at least one neighbor other than the prior sender that is critical.


It is another object to provide a mesh network communication method, comprising: in a first mode, selectively retransmitting each packet received by a respective node as a first modified packet, if the received packet has not been transmitted before by the respective node; and in a second mode, determining whether the respective node is a critical link within the mesh network based on echoed packets received during the first mode, and selectively retransmitting each packet received by a node as a second modified packet, if the received packet does not originate from the respective node and the respective node is critical.


The method may be for eliminating redundant broadcasts in a wireless mesh network, comprising: transmitting by a sender mesh network node, a packet defining an identity of a current sender, an identity of a prior sender, a flood mode indicator, time-to-live data, a packet identifier, and an optional payload; receiving the packet by other mesh network nodes by a receiving node; marking the receiving node as critical if the flood mode indicator indicates a full flood mode corresponding to the first mode, and the receiving node is identified as the prior sender; retransmitting a modified representation of the received packet unless: (a) the packet has already been transmitted by the receiving node based on analysis of the packet identifier; (b) the receiving node is marked as non-critical and the flood mode indicator indicates a non-full flood mode corresponding to the second mode; or (c) the time to live has decremented beyond a predetermined threshold; the modified representation having updated time to live data, the identity of the sender becoming the identity of the prior sender, and an identity of the receiving node becoming the identity of the sender.


It is a further object to provide a mesh network node, comprising:


a radio frequency transceiver, configured to receive a flood packet from a current sender mesh network node, the flood packet comprising information defining an identity of the current sender, an identity of a prior sender from which the flood packet was received, a flood mode indicator, a time-to-live, and a sequence identifier, and an optional payload;


a memory configured to store a critical node indicator and a set of prior sequence identifiers of packets previously received;


an automated processor, configured to:


mark the critical node indicator as critical in the memory if during a period, the flood mode indicator is full flood mode, and the identity of the mesh network node is the same as the identity of the prior sender, and mark the critical node indicator as non-critical if during a period, the flood mode indicator is full flood mode, and no packet is received with the identity of the mesh network node the same as the identity of the prior sender;


selectively rebroadcast through the radio frequency transceiver, a single instance of the flood packet based on a comparison of the sequence identifier with the set of prior sequence identifiers, modified by a replacement of the identity of the current sender with an identity of the mesh network node, a replacement of the identity of the prior sender with an identity of the current sender, and a decrement of the time to live, wherein the flood packet is rebroadcast if and only if and time to live is not expired, and:


(a) the flood mode indicator indicates a full flood mode and the sequence identifier is not present in a list of prior sequence identifiers; or


(b) the flood mode indicator indicates a partial flood mode, the sequence identifier is not present in the list of prior sequence identifiers, and the recipient is marked as critical.


The flood mode indicator may be time-sensitive. The full flood mode may have a limited time. In the full flood mode, the packet transmission may be triggered by a timer or a received packet. The receiving node may be marked as critical if the flood mode indicator indicates the full flood mode and the receiving node is identified as the prior sender in a packet received within a time period. The modified representation may comprise a decremented time to live counter, and the expiration of the time to live is dependent on a predetermined state of the counter. The flood may be triggered by a received packet. The automated processor may be further configured to generate a transmission of a full flood packet through the radio frequency transceiver.


It is also an object to provide a mesh network communication protocol, comprising:


receiving a flood packet from a current sender mesh network node by a recipient, defining: an identity of the current sender, an identity of a prior sender from which the flood packet was received, a flood mode indicator, a time-to-live, a sequence identifier, and an optional payload;


marking the recipient as critical if during a period, the flood mode indicator is full flood mode, and the identity of the recipient is the same as the identity of the prior sender, and


marking the recipient as non-critical if during the period, the flood mode indicator is full flood mode, and no packet is received with the identity of the recipient the same as the identity of the prior sender; and


selectively rebroadcasting a single instance of the flood packet by the recipient based on a comparison of the sequence identifier with prior sequence identifiers, modified by a replacement of the identity of the current sender with an identity of the recipient, and the prior sender with the current sender, and a decrement of the time to live, wherein the flood packet is rebroadcast by the recipient if and only if and time to live is not expired, and:


(a) the flood mode indicator indicates a full flood mode and the sequence identifier is not present in the list of prior sequence identifiers, or


(b) the flood mode indicator indicates a partial flood mode, the sequence identifier is not present in the list of prior sequence identifiers, and the critical node indicator is marked as critical.


The mesh network communication protocol may further comprise: periodically broadcasting a flood packet from the recipient, comprising an identity of the recipient; and marking the recipient mesh network node as critical if it receives in response to its broadcasting, a flood packet with itself identified as the prior sender, and marking itself as non-critical if it does not receive the flood packet, with itself identified as the prior sender.


The flood mode indicator may be time-sensitive. The marking of the receiving node as critical may occur if the flood mode indicator indicates the learning mode and the receiving node is identified as the prior sender in a packet received within a time period. The learning mode may have a limited time duration. The modified representation may comprise a decremented time to live counter, and the expiration of the time to live may be dependent on a predetermined state of the counter. In the learning mode, the packet transmission may be triggered by a timer. The flood may be triggered by a received packet.


These and other objects will become apparent through a review of the application.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a six-node network.



FIG. 2A-2D show a series of representations of states during determination of node criticality.



FIG. 3 shows a representation of a state diagram.



FIGS. 4A-4F show a series of network state diagrams which represent operation of the protocol.



FIG. 5 shows a network diagram with packet flow indication.



FIG. 6 shows a network diagram with node criticality indication.



FIGS. 7A-7D show a series of network diagrams representing operation of the protocol.



FIG. 8 shows an exemplary hardware Architecture.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In a mesh network, three key issues to be balanced are scalability, reliability, and efficiency. Scalability considers the ability of the network to extend both to long distances and to a large and dense population of nodes. Long distance communications require an ability to effectively forward packets over multiple hops. Dense sets of nodes require that mutual interference not interrupt important communications. Large population is a challenge for protocols whose control overhead is an increasing function of size, as is the case for many protocols. Reliability addresses the statistical probability that a communication initiated will actually reach its destination, and any acknowledgement(s) be propagated back. Efficiency addresses power, bandwidth utilization, and incidence of unnecessary or redundant communications. In each type of network, the factors at play may differ, and so the optimization of the protocol differ. Beyond mere protocol, hardware complexity, cost, and other factors may also be considered.


In order to establish a multi-hop mesh network, a received packet is forwarded by one node to another. Typically, each node has an ability to forward communications. The packet should make progress toward its destination and recirculate through a loop. The packets may be encoded with a header that indicates its identification and/or prior path, and so avoid retracing.


Various strategies may be employed, which include routing and flooding. A routing strategy fundamentally transmits data packets which are addressed to a destination, and can be ignored by nodes which are not within the scope of the addressed destination. This requires that the source of the communication have a priori knowledge of addresses of forwarding nodes within communication range, and often nodes beyond communication range. This, in turn, in a mobile or dynamically changing network architecture, presupposes communications of routing information, which involves administrative overhead, memory for storing a routing table, and complexity.


Flooding, on the other hand, does not require that the source node identify the intervening node, and does not presume that some nodes will ignore packets not addressed to them. Therefore, while a packet will typically include information defining its prior path, it does not require a routing table for prospective forwarding of packets.


Often, a protocol will hybridize these techniques. For example, a routing protocol on a “cold start” may broadcast, i.e., flood, the network with a request intended to trigger exchange of routing information. A flooding protocol in a stable environment with competing use of the communication medium may include packet addressing, which may be specific or general.


However, these two techniques generally represent opposite agendas and philosophies. Typically, a routing protocol emphasizes scalability, and efficiency over reliability under impaired communications and dynamic changes. A flooding protocol emphasizes reliability, simplicity, and fault tolerance over efficiency, and is generally self-limited to ensure scalability and avoid packet storms.


The network-wide broadcasting problem may be iterated as follows: Given a packet originated at some node, deliver it to all other reachable nodes. For example, a message needs to be network-wide broadcasted. If every node broadcasts every message once, and N nodes broadcast 2 messages a minute, the number of payloads per minute increases exponentially, i.e., total payloads=2×N×N per minute. For 6 nodes, for example in the network represented in FIG. 1, this is 72 messages per minute; for 12 nodes, this is 288 messages per minute, and for 30 nodes, this is 1,800 messages per minute. Thus, the network quickly becomes unscalable at high nodal densities.


However, the actual amount of information is only ˜2×N, i.e., the message from each node, and the rebroadcast from each node. Thus, the simple rebroadcast results in many redundant transmits. Therefore, in improving the network-wide broadcasting scenario, one is motivated to cut down redundant transmits while not losing packets. This problem is well studied in mobile ad hoc network (MANET) academic community. One deterministic solution is to find a subset of nodes such that only they have to transmit for all to receive the packet, i.e., the “connected dominating set”. A probabilistic solution is to compute probabilities for each re-transmission such that each node is statistically provided with a certain delivery within a confidence interval. All solutions trade reliability for efficiency. Nothing can be better than full flood for reliability, except where the full flood interferes with itself.


Alternately, an improvement in packet delivery rate may be achieved by use of implicit acknowledgements (IA) to control selective re-transmission.


A node N receives an IA from a neighbor M, by analysis of a re-transmission of a packet that N transmitted by M, which is subsequently received by N. IA requires no additional information communication. Not all nodes M′ receiving the packet will re-transmit it, since re-transmission is dependent on whether the other nodes M′ already have the packet that N transmitted, whether the TTL is 0 (if TTL=0, a receiving node M′ will simply discard the packet). N therefore predicts for which transmissions it will expect an IA, and retransmit if that expected IA is not received.


The IA process therefore works as follows. Upon transmitting a packet, a node N sets an IA-timer for a duration dictated by the estimated time for hearing the IA (a configurable parameter, which may be adaptively determined or fixed according to rules) under the following conditions:

    • 1. The TTL field of the packet sent by N is at least 1 (accordingly, the TTL in the packet originated or received at N should be at least 2). This is because, if the TTL is 0, the recipient will not re-transmit it and an IA cannot be expected, AND
    • 2. Either the node N is non-critical, or it is critical AND has a neighbor other than the sender of the packet that is critical.


If either of the specified conditions is False, then the IA-timer is not set.


To determine whether a node has a critical neighbor, every node indicates using an isCritical bit in the header whether the transmitting node is currently critical or not. Specifically, a node sets this bit to 1 if it is currently critical, else to 0. Every node tracks the criticality state of its neighbors by inspecting the isCritical bit of the received packet. Specifically, it marks the sender of the packet (the Sender is a field in the header) as critical or not.


A node N cancels an IA-timer for a packet, if an IA is received for the respective packet. If instead the IA-timer expires, then the node re-transmits the packet, unless the maximum allowable retransmissions have been performed, in which case the node does not re-transmit.


The present technology, called “ECHO”, employs message pruning. The ECHO protocol computes “critical nodes” (CN) using a regular complete message flood, in which a node broadcasts a message, and all nodes that receive the message rebroadcast it, modifying the header to reflect an update of the original sender to the prior sender, and the broadcasting node as the sender. In this way, the state of the network away can be efficiently assessed, while effectively reducing network traffic. A CN in this case is one that has not received a packet with itself in the previous sender field.


After the CNs are determined, only CNs retransmit the message, i.e., nodes which are determined to be non-critical in a path do not retransmit, with the caveat that the network state may be monitored to determine changes in criticality. For example, a node that determines itself to be non-critical may listen to packets, and determine that it is in communication with a node that is unable to receive a communication, and thus tend to reverse the decision regarding criticality. This protocol does not require additional control packets, is fully distributed, requires minimal processing, and is not hard to implement. It corresponds to a deterministic protocol, and thus seeks to determine the connected dominating set.


There are two kinds of message flooding, differentiated by a bit (0/1) in a header. In a full flood (FF), all nodes transmit all received flood messages once, and the ECHO protocol determines the critical nodes (CN). Since the protocol is distributed, a node determines this status itself, and does not rely on a designated status received from another node. Also, a node determines for itself whether it is a CN. In a pruned flood (PF), only critical nodes retransmit received data packets.


For example, a full flood FF may be triggered every T minutes in the network, with a random or diverse backoff or delay to ensure that different nodes trigger at different times. A full flood FF also may be triggered on “event based” basis. If there are 12 vehicles in a parking lot, and each represents a mesh network node, each sending position location information (“PLI”) every 30 secs, T=1, the present technology sends about 3× fewer payloads than a full flood-only protocol.


A message contains two main fields, previous sender, and sender, as well as a full flood/partial flood indicator, a time to live (counter), and a sequence identifier.


The intuition behind critical node CN computation is as follows: If a neighboring node echos a message sent in a FF by a respective node (i.e., the need identifies itself as the previous sender), it may depend on the respective node, and so the respective node may be critical for it. As shown in the 6-node network of FIG. 1, node 5 has no direct communication with nodes 3, 4 and 6. Likewise, node 6 has no direct communication with nodes 1, 2, 3 and 5. Node 5 has a 2-way redundant connection to nodes 1 and 2, while node 6 is completely dependent on node 4. The determination of which nodes are critical in general depends upon the who originated the broadcast packet and the sequence of transmissions, but some nodes (such as node 4) will always be critical. In the case of node 4, it will receive an “echo” from node 6 with itself as the previous sender no matter the originator and sequence of transmissions, and hence mark itself critical. According to the ECHO communication protocol, if no node echos a message sent (by any other node) during the FF, identifying a respective node as the previous sender, that node is not critical, otherwise it is. Referring again to FIG. 1, in a FF, node 1 will receive transmissions from nodes 2, 3, 4 and 5. Node 2 will receive transmissions from nodes 1, 3, 4, and 5. Node 3 will receive transmissions from nodes 1, 2, and 4. Node 4 will receive transmissions from nodes 1, 2, 3, and 6. Node 5 will receive transmissions from nodes 1 and 2. Node 6 will receive a transmission from node 4. Note that, according to ECHO, the CNs include redundant pathways.


The basic ECHO protocol is represented by two rules:


RULE 1: Rebroadcast with previous sender=ID of node the packet was receiver from, and sender=ID of sending node.


RULE 2: If a node receives a message with itself identified as the previous sender, mark itself CRITICAL.


As shown in FIGS. 2A, node A transmits a message to its neighbors. This message identifies this as a message originated in node A, because the previous sender value is “null”, and the sender value is “A”. The message is received by nodes B and C. As shown in FIG. 2B, node B retransmits the message from node A as part of the network-wide broadcast process identifying node A as previous sender and node B as sender. According to RULE 2, node A marks itself critical, CN. As shown in FIG. 2C, node C is also a recipient of the message from node A, which is then retransmitted. Similar to FIG. 2B, node A will receive a message from node C that identifies node A as previous sender and node C as sender (not shown). According to RULE 2, node A marks itself critical, CN, though if it is already marked as critical, no change is necessary. The retransmission from node C is also received by nodes B and D. However, since node B or D is not identified as previous sender, neither node B nor D considers itself critical based on this communication. Finally, as shown in FIG. 2D, node D will also retransmit the message received from node C, identifying node C as previous sender and node D as sender. As a result, node C finds itself identified as previous sender and marks itself as a critical node. Thus, since node A initiated the flood, nodes A and C are listed as critical. If node B had initiated, it would be marked critical, and node A would not. Once determined, the NC determinations remain until the next determination, T seconds later. For slowly changing networks, T can be pretty high. As shown in FIG. 3, a node has three possible states; not critical, critical, and pending determination of criticality.


In this example 4-node network, the protocol reduces transmissions by 50%. In a fully connected 1-hop network of 30 nodes, only 2 nodes will be critical, savings of 15× during each pruned message phase (less overall).


The ECHO protocol thus proceeds in two stages; an initial message, for critical node computation, by which all connected nodes receive the message, and resend the message with an updated sender and previous sender, to determine critical nodes, and a second stage in which the critical node determination is respected, and only critical nodes retransmit the message.


The algorithm is fully distributed, and does not rely on any remote determinations or calculations. A node marks an originated message as a “Full Flood” (FF) if it hasn't “seen” an FF for the last configured FF_PERIOD, otherwise, marks it “Pruned Flood” (PF). This allows a random rotation of nodes as FF originators without any central control or deference. A node receiving an FF, determines whether this FF is new (Message_ID not seen before), and if so, transmits the FF, sets an “Echo timer”, and listen to retransmits of FF. If the FF is not new (i.e., it is seen earlier), it then determines whether the previous sender field is equal to its own ID, and if so, marks itself as being critical. If the echo timer expires, then the node marks itself not critical.


There are known exceptions to the main protocol, which may be handled in traditional or known manner. Thus, known technologies to address other issues may be used in conjunction with the ECHO protocol. For example, in case of message loss (such as from collision or channel errors), loss during FF phase (A node may fail to make itself critical if “echo” is lost), loss during PF phase (loss from a CN to a CN, equivalent impact to FF), loss from a CN to a non-CN (could have potentially received from another node if FF); in case of network topology reformation, e.g., node A detaches from one CN [and attaches to another non-CN], a link between two CN's breaks (but path exists through non-CN), a node powers down or becomes unavailable, or a new node joins. The present protocol may impose a k hop limit. In that case, the last hop does not echo, so the CN is not formed.


An enhanced variant of the ECHO protocol provides a Forced Full Flood, which exploits message frequency/periodicity. A node may be programmed to expect to receive messages at a certain frequency from its CN(s). For example, in a 12 node network, with 2 messages originated/min/node, a node should expect to receive a message about every 2.5 seconds. Therefore, if the node does not receive a message outside a statistical bound, such as 7.5 seconds, something is likely wrong, which may indicate a topology change. In this case, the node may set a backoff timer for B seconds, initiate a Force Flood immediately after B seconds if no Force Flood was heard (from another node) in the meantime. A Force Flood ignores designated critical nodes, and requests that every node transmit once, to learn a new CN pattern.


The backoff timer ensures multiple nodes recognizing “something wrong” don't all send a redundant force flood.


Another enhanced protocol seeks to determine hop boundary origination. This is specifically to address the k-hop limit issue. A node that receives an FF with TTL=1, retransmits, but does not expect an echo, therefore does not set echo timer, etc. A node that hasn't had a chance to get an echo within the last FF_PERIOD originates its own FF. So, if a node hasn't “seen” an FF with TTL=2 or more within the last FF_PERIOD originates its own FF. When two k-hop TTL floods “touch” each other, those at the boundary will originate their own FF. A computer simulation shows that such overlapping/touching “islands” work fine.


The “ECHO” protocol will now be described with respect to FIGS. 4A-4E.



FIG. 4A shows that node A broadcasts a message, which is received by nodes B, C, D, and E. Node F is out of range, and does not directly receive the message in this example. Nodes B, C, D, and E rebroadcast the message, as represented in FIG. 4B. Node F rebroadcasts the message received from C, as represented in FIG. 4C. The total number of transmissions from A's origination are 6, since A broadcasts, then B, C, D, and E rebroadcast, and then F rebroadcasts. The nodes recognize a message that has been seen before (e.g., based on a sequence identifier in the message), and do not again rebroadcast it.


In FIG. 4D, it is node B that initiates the flood by broadcasting the message. Nodes A, C, D, and E receive and rebroadcast the message, as represented in FIG. 4E. Node F rebroadcasts the message received from C, as represented in FIG. 4F. The total number of transmissions from B's origination are also 6, since B broadcasts, then A, C, D, and E rebroadcast, and then F rebroadcasts. The nodes recognize a message that has been seen before (e.g., based on a sequence identifier in the message), and do not again rebroadcast it.


If it was node F that originated the flood, there would still be 6 broadcasts, but it would require an addition stage or rebroadcasting to reach node E. In fact, in each case, there are 6 broadcasts, and each node, in turn, initiates a full flood, leading to 36 transmissions per cycle.


Referring to FIG. 5, from a node's perspective, each node seeks to receive unique information, and communicate that it is receiving redundant information. The protocol assumes that transmissions are symmetric, so that if a node can receive along a path, it can also transmit along the reverse path. After A's origination round, B, C, D, and E observe that they are getting many duplicates. F doesn't get any duplicates. Nodes B, C, D and E don't care about these duplicates, only A's transmission. For the next round, wherein a node other than A broadcaats a full flood, they seek for A to continue what it is doing, but communicate to other neighbors to stop, e.g., D wants to indicate to A “please transmit next round” and to B and C to “remain silent next round”. F wants C to continue sending next round and nobody to be silent since it didn't get any duplicates.


Referring to FIG. 6, we don't want each node to send explicit messages to A corresponding to each arrow in FIG. 5, which would generate too many wasteful messages. Instead, its re-broadcast of a received packet, each node indicates which node it wants to continue sending. A good choice is the “previous sender” (who it got the packet from first). A node therefore infers:


If I see my ID in the re-broadcast, it is like an arrow pointing to me, someone wants me to send, so I will send next round.


If I never see my ID in the re-broadcast, then I need (should) not send. My neighbors will get it from someone else.


In this example, A and C are the only nodes that some node(s) have indicated they want them to send. Thus, A and C mark themselves critical and others mark themselves non-critical for next rounds. Only critical nodes re-broadcast the message in subsequent rounds.


After the full flood determination of node criticality, the network assumes a different mode of operation. The mode may be indicated by a flag within a packet representing full flood or partial flood, which may be interpreted as exploration of network state vs. efficient operation. As shown on FIG. 7A, nodes A and C are marked “critical”, and other nodes are non-critical. After this first round, where each node has now included the previous sender, every node asks itself the question: “has any node wanted me to send in the next round(s)?” If at least one node has wanted me to send—there may be more than one (e.g. several nodes want A to continue sending), I will mark myself “critical”. If nobody wants me to send, I will remain silent next round (“non-critical”). An “ECHO” is the property/idea of a node to recognize itself marked in a packet of a neighbor, that allows it to decide on its own criticality.


The case of node B originating and broadcasting a message is shown in FIG. 7B. As represented in FIG. 7C, nodes A, C, D and E receive the message. However, since noes A and C are marked as critical, and nodes D and E are marked as non-critical, only nodes A and C rebroadcast. As represented in FIG. 7D, the rebroadcast from node C is then received by node F, and no other node responds, since at this time each node recognizes the sequence ID of the packet or is marked as non-critical. Node F, in particular, does not rebroadcast, because it is marked as non-critical. If node C had initiated the transmissions, only two transmissions would have been necessary. In general, the number of transmissions is the number of critical nodes plus 1 (C+1). The total transmissions from node B's origination of the message is 3.


So total number of transmissions in ECHO is:

    • 6 for A's origination (no pruning but learning)+
    • 3 for B's origination+
    • 2 for C's origination+
    • 3 for D's origination+
    • 3 for E's origination+
    • 3 for F's origination
    • =transmissions.


For example, with 2 messages per minute originated per node, there are 40 transmissions per minute in the network, assuming there is a full flood (learning) round every minute. On the other hand, with pure flooding, there would be 72 per minute. For larger/denser networks, the savings can be much higher.



FIG. 8 depicts an example of an apparatus 700, in accordance with some example embodiments. This is similar to FIG. 7 of U.S. 20170332439. The apparatus 700 may comprise a node. Moreover, the nodes may comprise a user equipment, such as an internet of things device (for example, a machine, a sensor, an actuator, and/or the like), a smart phone, a cell phone, a wearable radio device (for example, an Internet of things [IoT] fitness sensor or other type of IoT device), and/or any other radio based device.


In some example embodiments, apparatus 700 may also include a radio communication link to a cellular network, or other wireless network. The apparatus 700 may include at least one antenna 12 in communication with a transmitter 14 and a receiver 16. Alternatively transmit and receive antennas may be separate.


The apparatus 700 may also include a processor 20 configured to provide signals to and from the transmitter and receiver, respectively, and to control the functioning of the apparatus. Processor 20 may be configured to control the functioning of the transmitter and receiver by effecting control signaling via electrical leads to the transmitter and receiver. Likewise, processor may be configured to control other elements of apparatus 700 by effecting control signaling via electrical leads connecting processor 20 to the other elements, such as a display or a memory. The processor 20 may, for example, be embodied in a variety of ways including circuitry, at least one processing core, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits (for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and/or the like), or some combination thereof. Apparatus 700 may include a location processor and/or an interface to obtain location information, such as positioning and/or navigation information. Accordingly, although illustrated in as a single processor, in some example embodiments the processor 20 may comprise a plurality of processors or processing cores.


Signals sent and received by the processor 20 may include signaling information in accordance with a mesh network protocol, as discussed above, may employ number of different wireline or wireless networking techniques. As discussed above, the protocol is preferably implemented at the TRX layer, and therefore does not correspond directly to an existing standard.


The apparatus 700 may also be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like, though these may require separate radios and/or a software defined radio implementation to permit these alternate uses. The preferred implementation is a 900 MHz radio operating in the 928 MHz ISM band, and complying with F.C.C. regulations for unlicensed use. The data carrier over the radio may include TCP/IP packets, UDP packets, or other standard higher level protocols.


It is understood that the processor 20 may include circuitry for implementing audio/video and logic functions of apparatus 700. For example, the processor 20 may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the apparatus 700 may be allocated between these devices according to their respective capabilities. The processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like. Further, the processor 20 may include functionality to operate one or more software programs, which may be stored in memory. In general, processor 20 and stored software instructions may be configured to cause apparatus 700 to perform actions. For example, processor 20 may be capable of operating a connectivity program, such as, a web browser. The connectivity program may allow the apparatus 700 to transmit and receive web content, such as location-based content, according to a protocol, such as, wireless application protocol, wireless access point, hypertext transfer protocol, HTTP, and/or the like.


Apparatus 700 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20. The display 28 may, as noted above, include a touch sensitive display, where a user may touch and/or gesture to make selections, enter values, and/or the like. The processor 20 may also include user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like. The processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions, for example, software and/or firmware, stored on a memory accessible to the processor 20, for example, volatile memory 40, non-volatile memory 42, and/or the like. The apparatus 700 may include a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the apparatus 700 to receive data, such as, a keypad 30 (which can be a virtual keyboard presented on display 28 or an externally coupled keyboard) and/or other input devices. Preferably, the device is a low data rate, non-real time communication device, i.e., unsuitable for real-time voice communications, but this is not a limitation of the technology per se.


The apparatus 700 preferably also includes a short-range radio frequency (RF) transceiver and/or interrogator 64, so data may be shared with and/or obtained from electronic devices in accordance with RF techniques. The apparatus 700 may include other short-range transceivers, such as an infrared (IR) transceiver 66, a Bluetooth (BT) transceiver 68 operating using Bluetooth wireless technology, a wireless universal serial bus (USB) transceiver 70, and/or the like. The Bluetooth transceiver 68 may be capable of operating according to low power or ultra-low power Bluetooth technology, for example, Wibree, Bluetooth Low-Energy, and other radio standards, such as Bluetooth 4.0. In this regard, the apparatus 700 and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within a proximity of the apparatus, such as within 100 meters. The apparatus 700 including the Wi-Fi (e.g., IEEE-802.11ac, ad, ax, af, ah, az, ba, a, b, g, i, n, s, 2012, 2016, etc.) or wireless local area networking modem may also be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like.


The apparatus 700 may comprise memory, such as, a subscriber identity module (SIM) 38 (for use in conjunction with a cellular network), a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the apparatus 700 may include other removable and/or fixed memory. The apparatus 700 may include volatile memory 40 and/or non-volatile memory 42. For example, volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory 42, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, solid state drive, magnetic storage devices, optical disc drives, ferroelectric RAM, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40, non-volatile memory 42 may include a cache area for temporary storage of data. At least part of the volatile and/or non-volatile memory may be embedded in processor 20. The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the apparatus for performing functions of the nodes disclosed herein. The memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus 700. The functions may include one or more of the operations disclosed herein including with respect to the nodes and/or routers disclosed herein (see for example, 300, 400, 500, and/or 600). In the example embodiment, the processor 20 may be configured using computer code stored at memory 40 and/or 42 to provide the operations, such as detecting, by a router coupling a first mesh network to at least one other mesh network, a mesh packet having a destination node in the at least one other mesh network; receiving, at the router, an internet protocol address of the at least one other router, wherein the internet protocol address is received in response to querying for the destination node; and sending, by the router, the mesh packet encapsulated with the internet protocol address of the at least one other router coupled to the at least one other mesh network including the destination node.


Some of the embodiments disclosed herein may be implemented in software, hardware, application logic, or a combination of software, hardware, and application logic. The software, application logic, and/or hardware may reside in memory 40, the control apparatus 20, or electronic components disclosed herein, for example. In some example embodiments, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any non-transitory media that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer or data processor circuitry. A computer-readable medium may comprise a non-transitory computer-readable storage medium that may be any media that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. Furthermore, some of the embodiments disclosed herein include computer programs configured to cause methods as disclosed with respect to the nodes disclosed herein.


The subject matter described herein may be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. For example, the systems, apparatus, methods, and/or articles described herein can be implemented using one or more of the following: electronic components such as transistors, inductors, capacitors, resistors, and the like, a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof. These various example embodiments may include implementations in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, computer-readable medium, computer-readable storage medium, apparatus and/or device (for example, magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions. Similarly, systems are also described herein that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.


Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. Moreover, the example embodiments described above may be directed to various combinations and sub-combinations of the disclosed features and/or combinations and sub-combinations of several further features disclosed above. In addition, the logic flow depicted in the accompanying figures and/or described herein does not require the particular order shown, or sequential order, to achieve desirable results. Other embodiments may be within the scope of the following claims.

Claims
  • 1. A mesh network communication protocol method, comprising: receiving by a mesh network node, a received flood packet through the mesh network receiver from a sender mesh network node,broadcasting by the mesh network node, a transmitted flood packet though a mesh network receiver;marking a mesh network node as critical selectively dependent on whether it receives, in response the broadcasting of the transmitted flood packet, a received flood packet with an identifier of itself as a prior sender from which the sender received the packet;marking the mesh network node as non-critical selectively dependent on whether it does not receive a packet with an identifier of itself as the prior sender;employing the marking as being critical or as being non-critical to selectively determine forwarding behavior for received non-flood packets; andrebroadcasting by the mesh network node, the flood packet, comprising an identity of the mesh network node replacing a received identifier of the sender, and the received identifier of the sender replacing a received identifier of the prior sender.
  • 2. The mesh network communication protocol method according to claim 1, wherein the flood packet defines: an identity of the sender, an identity of the prior sender, a flood mode indicator, a time-to-live, a sequence identifier, and an optional payload.
  • 3. The mesh network communication protocol method according to claim 2, further comprising selectively rebroadcasting one and only one instance of a received flood packet based on a comparison of the sequence identifier with prior sequence identifiers, modified by: a replacement of an identity of the sender with an identity of the mesh network node,a replacement of the identity of the prior sender with the identity of the sender, anda decrement of the time to live,wherein the flood packet is rebroadcast by the mesh network node selectively dependent on whether the time to live is not expired, and the flood made indicator has two alternate states, comprising:a first state that indicates a full flood mode and the sequence identifier is not present in a list of prior sequence identifiers, anda partial flood mode, the sequence identifier is not present in the list of prior sequence identifiers, and the mesh network node is marked as critical.
  • 4. The mesh network communication protocol method according to claim 1, wherein each packet comprises an identity of the sender, a criticality of the sender, an identity of a prior sender, a time-to-live, and an optional payload, further comprising:sending a packet from the sender;determining whether retransmission of the packet is expected, based on at least a criticality of a neighboring mesh network node, and the time-to-live of the packet;monitoring for re-transmission of the packet by the neighboring mesh network node within a time window; andresending the packet selectively dependent on the determination of whether re-transmission of the packet is expected, before expiration of the time window, and is not detected within the time window.
  • 5. The mesh network communication protocol method according to claim 4, wherein said determining whether retransmission of the packet is expected, is selectively based on whether the time-to-live of the sent packet is at least one, and whether the sender has at least one neighbor other than the prior sender that is critical.
  • 6. A mesh network communication method, comprising: in a first mode, selectively retransmitting each packet received by a respective node as a first modified packet, selectively dependent on whether the received packet has not been transmitted before by the respective node;in a second mode, determining whether the respective node is a critical link within the mesh network based on echoed packets received during the first mode, and selectively retransmitting each packet received by a node as a second modified packet, selectively dependent on whether the received packet does not originate from the respective node and the respective node is critical;transmitting by a sender mesh network node, a packet defining an identity of a current sender, an identity of a prior sender, a flood mode indicator, time-to-live data, a packet identifier, and an optional payload;receiving the packet by other mesh network nodes by a receiving node;marking the receiving node as critical selectively dependent on whether the flood mode indicator indicates a full flood mode corresponding to the first mode, and the receiving node is identified as the prior sender;retransmitting a modified representation of the received packet unless:the packet has already been transmitted by the receiving node based on analysis of the packet identifier;the receiving node is marked as non-critical and the flood mode indicator indicates a non-full flood mode corresponding to the second mode; orthe time-to-live has decremented beyond a predetermined threshold;the modified representation having updated time-to-live data, the identity of the sender becoming the identity of the prior sender, and an identity of the receiving node becoming the identity of the sender.
  • 7. The method according to claim 6, wherein the flood mode indicator is time-sensitive.
  • 8. The method according to claim 6, wherein marking the receiving node as critical selectively dependent on whether the flood mode indicator indicates the full flood mode and the receiving node is identified as the prior sender in a packet received within a time period.
  • 9. The method according to claim 6, wherein the full flood mode has a limited time.
  • 10. The method according to claim 6, wherein the modified representation comprises a decremented time to live counter, and the expiration of the time to live is dependent on a predetermined state of the counter.
  • 11. The method according to claim 6, wherein, in the full flood mode, the packet transmission is triggered by a timer.
  • 12. The method according to claim 6, wherein the flood is triggered by a received packet.
  • 13. A non-transitory computer readable medium, for controlling a processor of a mesh network node, comprising: instructions for receiving a flood packet from a current sender mesh network node, the flood packet comprising information defining an identity of the current sender, an identity of a prior sender from which the flood packet was received, a flood mode indicator, a time-to-live, and a sequence identifier, and an optional payload;instructions for marking the critical node indicator as critical in the memory selectively dependent on whether during a period, the flood mode indicator is full flood mode, and the identity of the mesh network node is the same as the identity of the prior sender, and mark the critical node indicator as non-critical selectively dependent on whether during a period, the flood mode indicator is full flood mode, and no packet is received with the identity of the mesh network node the same as the identity of the prior sender;instructions for selectively rebroadcasting a single instance of the flood packet based on a comparison of the sequence identifier with the set of prior sequence identifiers, modified by a replacement of the identity of the current sender with an identity of the mesh network node, a replacement of the identity of the prior sender with an identity of the current sender, and a decrement of the time to live, wherein the flood packet is rebroadcast selectively dependent on whether a time to live is not expired;instructions for interpreting the flood mode indicator to indicate one of: a full flood mode wherein the sequence identifier is not present in a list of prior sequence identifiers, and a partial flood mode, wherein the sequence identifier is not present in the list of prior sequence identifiers, and the recipient is marked as critical.
  • 14. The non-transitory computer readable medium according to claim 13, further comprising instructions for analyzing a time-sensitivity of the flood mode indicator.
  • 15. The non-transitory computer readable medium according to claim 13, further comprising instructions for maintaining the full flood mode for a limited time.
  • 16. The non-transitory computer readable medium according to claim 13, further comprising instructions for transmitting of a full flood packet.
  • 17. The non-transitory computer readable medium according to claim 16, further comprising instructions to transmit the full flood packet selectively dependent on a timer.
  • 18. The non-transitory computer readable medium according to claim 16, further comprising instructions transmitting the full flood packet selectively dependent on a received packet.
CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. patent application Ser. No. 16/198,204, filed Nov. 21, 2018, now U.S. Pat. No. 10,944,669, issued Mar. 9, 2021, which claims benefit of priority from U.S. Provisional Patent Application No. 62/628,717, filed Feb. 9, 2018, the entirety of which is expressly incorporated herein by reference.

US Referenced Citations (1370)
Number Name Date Kind
6415158 King et al. Jul 2002 B1
6421349 Grover Jul 2002 B1
6584080 Ganz et al. Jun 2003 B1
6625135 Johnson et al. Sep 2003 B1
6628620 Cain Sep 2003 B1
6628661 Goldman Sep 2003 B1
6647426 Mohammed Nov 2003 B2
6718394 Cain Apr 2004 B2
6754192 Kennedy Jun 2004 B2
6763013 Kennedy Jul 2004 B2
6763014 Kennedy Jul 2004 B2
6870846 Cain Mar 2005 B2
6894985 Billhartz May 2005 B2
6898529 Gao et al. May 2005 B2
6906741 Canova, Jr. et al. Jun 2005 B2
6954435 Billhartz et al. Oct 2005 B2
6961310 Cain Nov 2005 B2
6975614 Kennedy Dec 2005 B2
6977608 Anderson et al. Dec 2005 B1
6986161 Billhartz Jan 2006 B2
7007102 Billhartz et al. Feb 2006 B2
7027426 Billhartz Apr 2006 B2
7028687 Silver et al. Apr 2006 B1
7061925 Joshi Jun 2006 B2
7068600 Cain Jun 2006 B2
7068605 Cain et al. Jun 2006 B2
7069483 Gillies et al. Jun 2006 B2
7075919 Wendt et al. Jul 2006 B1
7079552 Cain et al. Jul 2006 B2
7082117 Billhartz Jul 2006 B2
7085290 Cain et al. Aug 2006 B2
7096037 Canova, Jr. et al. Aug 2006 B2
7127250 Gallagher et al. Oct 2006 B2
7142866 Windham et al. Nov 2006 B2
7170425 Christopher et al. Jan 2007 B2
7176807 Scoggins et al. Feb 2007 B2
7216282 Cain May 2007 B2
7224642 Tran May 2007 B1
7230916 Stamatelakis et al. Jun 2007 B2
7251238 Joshi et al. Jul 2007 B2
7266085 Stine Sep 2007 B2
7271736 Siegel et al. Sep 2007 B2
7281057 Cain Oct 2007 B2
7299038 Kennedy et al. Nov 2007 B2
7299042 Moore et al. Nov 2007 B2
7308369 Rudran et al. Dec 2007 B2
7308370 Mason, Jr. et al. Dec 2007 B2
7315548 Joshi Jan 2008 B2
7317898 Tegreene Jan 2008 B2
7324824 Smith et al. Jan 2008 B2
7327998 Kumar et al. Feb 2008 B2
7346167 Billhartz et al. Mar 2008 B2
7348895 Lagassey Mar 2008 B2
7356001 Jones et al. Apr 2008 B1
7362711 Golle et al. Apr 2008 B2
7366111 Thubert et al. Apr 2008 B2
7366544 Tegreene Apr 2008 B2
7367497 Hill May 2008 B1
7382765 Kennedy et al. Jun 2008 B2
7389295 Jung et al. Jun 2008 B2
7394774 Calcev Jul 2008 B2
7394798 Naghian Jul 2008 B2
7394826 Cain et al. Jul 2008 B2
7400903 Shoemake et al. Jul 2008 B2
7418238 Tegreene Aug 2008 B2
7420944 Norris et al. Sep 2008 B2
7423985 Hill Sep 2008 B1
7427927 Borleske et al. Sep 2008 B2
7428221 Thubert et al. Sep 2008 B2
7450517 Cho Nov 2008 B2
7451365 Wang et al. Nov 2008 B2
7453864 Kennedy et al. Nov 2008 B2
7457834 Jung et al. Nov 2008 B2
7463612 Fonseca, Jr. et al. Dec 2008 B2
7463907 Smith et al. Dec 2008 B2
7466665 Calcev et al. Dec 2008 B2
7468954 Sherman Dec 2008 B2
7480248 Duggi et al. Jan 2009 B2
7495578 Borleske Feb 2009 B2
7512094 Linebarger et al. Mar 2009 B1
7529561 Heinonen et al. May 2009 B2
7535883 Kim et al. May 2009 B2
7536388 Jung et al. May 2009 B2
7539759 Narayanan et al. May 2009 B2
7545285 Shuey et al. Jun 2009 B2
7567577 Thubert et al. Jul 2009 B2
7580380 Baker et al. Aug 2009 B2
7580730 Tegreene Aug 2009 B2
7580782 Breed et al. Aug 2009 B2
7581095 Billhartz Aug 2009 B2
7587001 Hazani et al. Sep 2009 B2
7590589 Hoffberg Sep 2009 B2
7596152 Yarvis et al. Sep 2009 B2
7599696 Jung et al. Oct 2009 B2
7602738 Preguica Oct 2009 B2
7606178 Rahman et al. Oct 2009 B2
7616961 Billhartz Nov 2009 B2
7626966 Ruiter et al. Dec 2009 B1
7626967 Yarvis et al. Dec 2009 B2
7643467 Smith et al. Jan 2010 B2
7653011 Rahman et al. Jan 2010 B2
7656851 Ghanadan et al. Feb 2010 B1
7657354 Breed et al. Feb 2010 B2
7660318 Rahman et al. Feb 2010 B2
7660950 Miller et al. Feb 2010 B2
7664111 Tsubota Feb 2010 B2
7664538 Watanabe et al. Feb 2010 B2
7668173 Zhao Feb 2010 B2
7675863 Werb et al. Mar 2010 B2
7675882 Mighani et al. Mar 2010 B2
7678068 Levine et al. Mar 2010 B2
7688847 Kim et al. Mar 2010 B2
7693484 Ting et al. Apr 2010 B2
7695446 Levine et al. Apr 2010 B2
7701858 Werb et al. Apr 2010 B2
7702594 Scoggins et al. Apr 2010 B2
7706282 Huang Apr 2010 B2
7706842 Tegreene Apr 2010 B2
7710932 Muthuswamy et al. May 2010 B2
7715396 Castro et al. May 2010 B2
7719988 Ruiz et al. May 2010 B1
7720037 Bill May 2010 B2
7725080 Tegreene May 2010 B2
7729336 Pun et al. Jun 2010 B2
7742399 Pun Jun 2010 B2
7742430 Scoggins et al. Jun 2010 B2
7746794 Sink Jun 2010 B2
7751420 Tsubota Jul 2010 B2
7753795 Harris et al. Jul 2010 B2
7760735 Chen et al. Jul 2010 B1
7764617 Cain et al. Jul 2010 B2
7778235 Thubert et al. Aug 2010 B2
7787361 Rahman et al. Aug 2010 B2
7787480 Mehta et al. Aug 2010 B1
7788387 Kumar et al. Aug 2010 B2
7796511 Wood Sep 2010 B2
7800812 Moskowitz Sep 2010 B2
7808985 Romero et al. Oct 2010 B2
7813451 Binder et al. Oct 2010 B2
7817623 Dawson et al. Oct 2010 B2
7830820 Duke et al. Nov 2010 B2
7843861 Dawson et al. Nov 2010 B2
7847734 Wu Dec 2010 B2
7848702 Ho et al. Dec 2010 B2
7849139 Wolfson et al. Dec 2010 B2
7852826 Kitchin Dec 2010 B2
7859465 Wu Dec 2010 B2
7860025 Thubert et al. Dec 2010 B2
7860081 Dawson et al. Dec 2010 B2
7860968 Bornhoevd et al. Dec 2010 B2
7873019 Dawson et al. Jan 2011 B2
7881206 St. Pierre et al. Feb 2011 B2
7881474 Sun Feb 2011 B2
7886075 Molteni et al. Feb 2011 B2
7894828 Dawson et al. Feb 2011 B2
7898993 Dawson et al. Mar 2011 B2
7902973 Thubert et al. Mar 2011 B2
7905640 Gergets et al. Mar 2011 B2
7912645 Breed et al. Mar 2011 B2
7924722 Thubert et al. Apr 2011 B2
7924796 Vu Duong et al. Apr 2011 B2
7929914 Tegreene Apr 2011 B2
7936732 Ho et al. May 2011 B2
7941188 Jung et al. May 2011 B2
7944878 Dawson et al. May 2011 B2
7957355 Heiferling et al. Jun 2011 B1
7957410 Mosko et al. Jun 2011 B2
7961650 Davies Jun 2011 B2
7962101 Vaswani et al. Jun 2011 B2
7962154 Nakakita et al. Jun 2011 B2
7969914 Gerber et al. Jun 2011 B1
7970418 Schmidt et al. Jun 2011 B2
7974402 Pun Jul 2011 B2
7978062 LaLonde et al. Jul 2011 B2
7979311 Dawson et al. Jul 2011 B2
7983835 Lagassey Jul 2011 B2
7990897 Jing et al. Aug 2011 B2
7990947 Twitchell, Jr. et al. Aug 2011 B2
7995501 Jetcheva et al. Aug 2011 B2
7996558 Hsu et al. Aug 2011 B2
8031605 Oyman et al. Oct 2011 B2
8035479 Tran Oct 2011 B2
8040863 Dawson et al. Oct 2011 B2
8041369 Smith et al. Oct 2011 B2
8042048 Wilson et al. Oct 2011 B2
8059620 Moon Nov 2011 B2
8060017 Schlicht et al. Nov 2011 B2
8060308 Breed Nov 2011 B2
8064416 Liu Nov 2011 B2
8065166 Maresh et al. Nov 2011 B2
8065411 Spiess et al. Nov 2011 B2
8072906 Naghian Dec 2011 B2
8073384 Shuey et al. Dec 2011 B2
8077663 Mighani et al. Dec 2011 B2
8081658 Zuniga et al. Dec 2011 B2
8085686 Thubert et al. Dec 2011 B2
8090596 Maresh et al. Jan 2012 B2
8098421 Moskowitz Jan 2012 B2
8099108 Camp, Jr. et al. Jan 2012 B2
8099307 Maresh et al. Jan 2012 B2
8107397 Bagchi et al. Jan 2012 B1
8108228 Maresh et al. Jan 2012 B2
8108429 Sim-Tang et al. Jan 2012 B2
8112082 Nylander et al. Feb 2012 B2
8115617 Thubert et al. Feb 2012 B2
8120839 Moskowitz Feb 2012 B2
8121628 Mauti, Jr. Feb 2012 B2
8121870 Maresh et al. Feb 2012 B2
8125928 Mehta et al. Feb 2012 B2
8126473 Kim et al. Feb 2012 B1
8130663 Jackson et al. Mar 2012 B2
8130708 Singh Mar 2012 B2
8131569 Maresh et al. Mar 2012 B2
8131838 Bornhoevd et al. Mar 2012 B2
8134950 Pun Mar 2012 B2
8135021 Westphal Mar 2012 B2
8135362 LaDue Mar 2012 B2
8138690 Chemel et al. Mar 2012 B2
8138934 Veillette et al. Mar 2012 B2
8139504 Mankins et al. Mar 2012 B2
8144596 Veillette Mar 2012 B2
8144619 Hoffberg Mar 2012 B2
8151140 Sim-Tang Apr 2012 B2
8155008 Jetcheva et al. Apr 2012 B2
8161097 Jung et al. Apr 2012 B2
8165585 Gallagher et al. Apr 2012 B2
8169974 Pratt, Jr. et al. May 2012 B2
8170577 Singh May 2012 B2
8170957 Richard May 2012 B2
8171364 Veillette May 2012 B2
8174381 Imes et al. May 2012 B2
8180294 Ting et al. May 2012 B2
8184681 Binder et al. May 2012 B2
8194541 Leppanen et al. Jun 2012 B2
8195483 Maresh et al. Jun 2012 B2
8195628 Sim-Tang Jun 2012 B2
8199753 Mehta et al. Jun 2012 B2
8200246 Khosravy et al. Jun 2012 B2
8203463 Bragg et al. Jun 2012 B2
8203464 Billhartz et al. Jun 2012 B2
8213409 Rudnick et al. Jul 2012 B2
8213895 Hurwitz et al. Jul 2012 B2
8217805 Billhartz et al. Jul 2012 B2
8228954 Thubert et al. Jul 2012 B2
8230108 Pratt, Jr. et al. Jul 2012 B2
8232745 Chemel et al. Jul 2012 B2
8239169 Gregory et al. Aug 2012 B2
8248947 Li et al. Aug 2012 B2
8249984 Dawson et al. Aug 2012 B2
8255469 Leppanen et al. Aug 2012 B2
8256681 Wang Sep 2012 B2
8266657 Margulis Sep 2012 B2
8270302 Chu et al. Sep 2012 B2
8271449 Jung et al. Sep 2012 B2
8275824 Jung et al. Sep 2012 B2
8289182 Vogel et al. Oct 2012 B2
8289186 Osafune Oct 2012 B2
8300538 Kim et al. Oct 2012 B2
8300615 Copeland et al. Oct 2012 B2
8311533 Alcorn Nov 2012 B1
8314717 Billhartz et al. Nov 2012 B2
8315231 Pirzada et al. Nov 2012 B2
8319658 Conant et al. Nov 2012 B2
8319833 Weinstein et al. Nov 2012 B2
8320302 Richeson et al. Nov 2012 B2
8320414 Dawson et al. Nov 2012 B2
8323189 Tran et al. Dec 2012 B2
8325612 Ruiz et al. Dec 2012 B1
8325627 Pratt, Jr. et al. Dec 2012 B2
8330649 Menouar et al. Dec 2012 B2
8332055 Veillette Dec 2012 B2
8334787 Bushman et al. Dec 2012 B2
8335164 Liu Dec 2012 B2
8335207 Singh et al. Dec 2012 B2
8335814 Jung et al. Dec 2012 B2
8339069 Chemel et al. Dec 2012 B2
8341279 Thubert et al. Dec 2012 B2
8341289 Hellhake et al. Dec 2012 B2
8345098 Grigsby et al. Jan 2013 B2
8346846 Jung et al. Jan 2013 B2
8352420 Jung et al. Jan 2013 B2
8359643 Low et al. Jan 2013 B2
8363662 Thubert et al. Jan 2013 B2
8364648 Sim-Tang Jan 2013 B1
8368321 Chemel et al. Feb 2013 B2
8369216 Kan Feb 2013 B2
8369880 Citrano, III et al. Feb 2013 B2
8370697 Veillette Feb 2013 B2
8373362 Chemel et al. Feb 2013 B2
8373556 LaLonde et al. Feb 2013 B2
8373588 Kuhn Feb 2013 B2
8374352 Song et al. Feb 2013 B2
8385322 Colling et al. Feb 2013 B2
8385550 Sun Feb 2013 B2
8386278 Maresh et al. Feb 2013 B2
8392541 Agarwal et al. Mar 2013 B2
8395498 Gaskill et al. Mar 2013 B2
8396602 Imes et al. Mar 2013 B2
8400507 Grigsby et al. Mar 2013 B2
8401564 Singh Mar 2013 B2
8406153 Vasseur et al. Mar 2013 B2
8406239 Hurwitz et al. Mar 2013 B2
8406248 Pratt, Jr. et al. Mar 2013 B2
8406252 Wuthnow et al. Mar 2013 B1
8428517 Ting et al. Apr 2013 B2
8432820 Liu et al. Apr 2013 B2
8441958 Thubert et al. May 2013 B2
8442520 Alcorn May 2013 B2
8447419 de Anda Fast May 2013 B1
8447849 Shaffer et al. May 2013 B2
8451744 Vasseur May 2013 B2
8463238 Forstall et al. Jun 2013 B2
8467297 Liu et al. Jun 2013 B2
8467991 Khosravy et al. Jun 2013 B2
8472348 Hui et al. Jun 2013 B2
8473989 Bahl et al. Jun 2013 B2
8475368 Tran et al. Jul 2013 B2
8477687 Iwasa Jul 2013 B2
8488589 Rudnick et al. Jul 2013 B2
8489701 Manion et al. Jul 2013 B2
8489765 Vasseur et al. Jul 2013 B2
8494458 Tucker et al. Jul 2013 B2
8495244 Bonar et al. Jul 2013 B2
8496181 Wang Jul 2013 B2
8498224 Thubert et al. Jul 2013 B2
8502148 Wagner et al. Aug 2013 B2
8502640 Veillette Aug 2013 B2
8503309 Vasseur et al. Aug 2013 B2
8503677 Yao et al. Aug 2013 B2
8503934 Beghini et al. Aug 2013 B2
8504921 Wilson et al. Aug 2013 B2
8509109 Guo et al. Aug 2013 B2
8509248 Mehta et al. Aug 2013 B2
8509762 Li et al. Aug 2013 B2
8509765 Alcorn Aug 2013 B2
8514915 Binder et al. Aug 2013 B2
8515409 Ramo et al. Aug 2013 B2
8515547 Mass et al. Aug 2013 B2
8520535 Dawson et al. Aug 2013 B2
8520676 Shaffer et al. Aug 2013 B2
8521156 Alcorn Aug 2013 B2
8525692 Mason, Jr. et al. Sep 2013 B2
8527622 Moreira Sa de Souza Sep 2013 B2
8531134 Chemel et al. Sep 2013 B2
8532071 Seok Sep 2013 B2
8533758 Ruiz-Velasco Sep 2013 B2
8536802 Chemel et al. Sep 2013 B2
8537714 Liu Sep 2013 B2
8543249 Chemel et al. Sep 2013 B2
8544023 Sim-Tang et al. Sep 2013 B2
8547875 Adams et al. Oct 2013 B2
8547943 Bill Oct 2013 B2
8547981 Wood Oct 2013 B2
8548607 Belz et al. Oct 2013 B1
8552664 Chemel et al. Oct 2013 B2
8553688 Vasseur et al. Oct 2013 B2
8559442 Vasseur et al. Oct 2013 B2
8559447 Jetcheva et al. Oct 2013 B2
8560274 Gregory et al. Oct 2013 B2
8571046 Romero et al. Oct 2013 B2
8571518 Imes et al. Oct 2013 B2
8571519 Ginzboorg Oct 2013 B2
8577391 Parker et al. Nov 2013 B2
8578015 Billhartz Nov 2013 B2
8578054 Thubert et al. Nov 2013 B2
8582470 Collins et al. Nov 2013 B2
8583671 Martin et al. Nov 2013 B2
8583978 Shaffer et al. Nov 2013 B2
8587427 LaLonde et al. Nov 2013 B2
8588108 Vasseur et al. Nov 2013 B2
8593135 Chemel et al. Nov 2013 B2
8593419 Thorn Nov 2013 B2
8593986 Vasseur et al. Nov 2013 B2
8595359 Shaffer et al. Nov 2013 B2
8600830 Hoffberg Dec 2013 B2
8610376 Chemel et al. Dec 2013 B2
8610377 Chemel et al. Dec 2013 B2
8612386 Tien et al. Dec 2013 B2
8612583 Hui et al. Dec 2013 B2
8615257 Khosravy et al. Dec 2013 B2
8619576 Vasseur et al. Dec 2013 B2
8619789 Hui et al. Dec 2013 B2
8620772 Owen Dec 2013 B2
8620784 Dawson et al. Dec 2013 B2
8621577 Choi et al. Dec 2013 B2
8622837 Harris et al. Jan 2014 B2
8624771 Kuhn Jan 2014 B2
8625515 Liu et al. Jan 2014 B2
8626344 Imes et al. Jan 2014 B2
8630177 Vasseur et al. Jan 2014 B2
8630291 Shaffer et al. Jan 2014 B2
8630314 York Jan 2014 B2
8631101 Shaffer et al. Jan 2014 B2
8636395 Gergets et al. Jan 2014 B2
8638667 Shaffer et al. Jan 2014 B2
8638763 Comstock et al. Jan 2014 B2
8652038 Tran et al. Feb 2014 B2
8654627 Datz et al. Feb 2014 B2
8654649 Vasseur et al. Feb 2014 B2
8660108 Pratt, Jr. et al. Feb 2014 B2
8665890 Yousefi'zadeh et al. Mar 2014 B2
8667084 Vasseur et al. Mar 2014 B2
8670302 Pan et al. Mar 2014 B2
8670416 Ree et al. Mar 2014 B2
8670746 Pratt, Jr. et al. Mar 2014 B2
8670749 Pratt, Jr. et al. Mar 2014 B2
8675678 Farrag et al. Mar 2014 B2
8682982 Jung et al. Mar 2014 B2
8687558 Jackson et al. Apr 2014 B2
8693322 Zhang Apr 2014 B2
8693399 Hirata et al. Apr 2014 B2
8699333 Vasseur et al. Apr 2014 B2
8699368 Hui et al. Apr 2014 B2
8699377 Veillette Apr 2014 B2
8700301 Khosravy et al. Apr 2014 B2
8700302 Khosravy et al. Apr 2014 B2
8700536 Richard Apr 2014 B2
8706072 Kim et al. Apr 2014 B2
8707785 Goodman et al. Apr 2014 B2
8711704 Werb et al. Apr 2014 B2
8712711 Nayar et al. Apr 2014 B2
8715072 Harris et al. May 2014 B2
8718055 Vasseur et al. May 2014 B2
8718093 Zuniga et al. May 2014 B2
8719563 Kojima et al. May 2014 B2
8725274 Veillette May 2014 B2
8727978 Tran et al. May 2014 B2
8730047 Ridder et al. May 2014 B2
8730875 Noda May 2014 B2
8732454 Furukawa et al. May 2014 B2
8737268 Jetcheva et al. May 2014 B2
8738944 Addepalli et al. May 2014 B2
8743750 Tourolle et al. Jun 2014 B2
8743768 Vasseur et al. Jun 2014 B2
8743866 Vasseur Jun 2014 B2
8747313 Tran et al. Jun 2014 B2
8750100 Guo et al. Jun 2014 B2
8751063 Bernstein et al. Jun 2014 B2
8751644 Bornhoevd et al. Jun 2014 B2
8754589 Chemel et al. Jun 2014 B2
8755336 Kondo et al. Jun 2014 B2
8755763 Qureshey et al. Jun 2014 B2
8756449 Shaffer et al. Jun 2014 B2
8760339 Kuhn Jun 2014 B2
8761125 Lea Jun 2014 B2
8761175 Guha et al. Jun 2014 B2
8761285 Addepalli et al. Jun 2014 B2
8762747 Liu et al. Jun 2014 B2
8762852 Davis et al. Jun 2014 B2
8769442 Khosravy et al. Jul 2014 B2
8774050 Vasseur et al. Jul 2014 B2
8774946 Nrusimhan N.V. et al. Jul 2014 B2
8780201 Scalisi et al. Jul 2014 B1
8780762 Patil et al. Jul 2014 B2
8780920 Bahr et al. Jul 2014 B2
8780953 Shaffer et al. Jul 2014 B2
8781462 Osterloh et al. Jul 2014 B2
8787246 Brownrigg Jul 2014 B2
8787392 Vasseur et al. Jul 2014 B2
8787944 Smith Jul 2014 B2
8788516 Jakubik Jul 2014 B1
8792154 Moskowitz Jul 2014 B2
8792850 Qureshey et al. Jul 2014 B2
8792880 Alcorn Jul 2014 B2
8797878 Ruiz et al. Aug 2014 B1
8798084 Pratt, Jr. et al. Aug 2014 B2
8798094 Wuthnow et al. Aug 2014 B2
8799220 O'Malley Aug 2014 B2
8799510 Vasseur et al. Aug 2014 B2
8800010 Hui et al. Aug 2014 B2
8804603 Powell, III et al. Aug 2014 B2
8804613 Iwasa Aug 2014 B2
8805550 Chemel et al. Aug 2014 B2
8806573 Mahamuni et al. Aug 2014 B2
8806633 Shaffer et al. Aug 2014 B2
8811188 Bagchi et al. Aug 2014 B1
8812419 Teller et al. Aug 2014 B1
8817665 Thubert et al. Aug 2014 B2
8818522 Mass et al. Aug 2014 B2
8819172 Davis et al. Aug 2014 B2
8819191 Hui et al. Aug 2014 B2
8823277 Chemel et al. Sep 2014 B2
8823795 Scalisi et al. Sep 2014 B1
8824336 Jing et al. Sep 2014 B2
8824380 Jetcheva et al. Sep 2014 B2
8824471 Hui et al. Sep 2014 B2
8830837 Vasseur et al. Sep 2014 B2
8831279 Rodriguez et al. Sep 2014 B2
8831869 Bai et al. Sep 2014 B2
8832428 Ota et al. Sep 2014 B2
8837277 Vasseur et al. Sep 2014 B2
8841859 Chemel et al. Sep 2014 B2
8842180 Kasmir et al. Sep 2014 B1
8842630 Shaffer et al. Sep 2014 B2
8843156 Prince et al. Sep 2014 B2
8843241 Saberi et al. Sep 2014 B2
8848721 Turunen et al. Sep 2014 B2
8848970 Aller et al. Sep 2014 B2
8855794 Imes et al. Oct 2014 B2
8855830 Imes et al. Oct 2014 B2
8856252 Leppanen et al. Oct 2014 B2
8856323 Enns et al. Oct 2014 B2
8861390 Hui et al. Oct 2014 B2
8862774 Vasseur et al. Oct 2014 B2
8866408 Chemel et al. Oct 2014 B2
8867329 Hui et al. Oct 2014 B2
8868374 Khosravy et al. Oct 2014 B2
8872379 Ruiz et al. Oct 2014 B2
8872767 Khosravy et al. Oct 2014 B2
8872915 Scalisi et al. Oct 2014 B1
8873391 Brown et al. Oct 2014 B2
8873526 Shaffer et al. Oct 2014 B2
8874477 Hoffberg Oct 2014 B2
8874788 Vasseur et al. Oct 2014 B2
8879604 Woo et al. Nov 2014 B2
8879613 Hui et al. Nov 2014 B1
8880060 Alcorn Nov 2014 B2
8885501 Vasseur et al. Nov 2014 B2
8885630 Pun et al. Nov 2014 B2
8886227 Schmidt et al. Nov 2014 B2
8891534 Vasseur et al. Nov 2014 B2
8891588 Hui et al. Nov 2014 B1
8892135 Werb et al. Nov 2014 B2
8892271 Breed Nov 2014 B2
8892769 Pratt, Jr. et al. Nov 2014 B2
8902794 Shah et al. Dec 2014 B2
8908516 Tzamaloukas et al. Dec 2014 B2
8908536 Hui et al. Dec 2014 B2
8908621 Vasseur et al. Dec 2014 B2
8908626 Hui et al. Dec 2014 B2
8918480 Qureshey et al. Dec 2014 B2
8923186 daCosta Dec 2014 B1
8923422 Hui et al. Dec 2014 B2
8930361 Heinonen et al. Jan 2015 B2
8934366 Hui et al. Jan 2015 B2
8934496 Vasseur Jan 2015 B2
8937886 Shaffer et al. Jan 2015 B2
8938270 Singh Jan 2015 B2
8942197 Rudnick et al. Jan 2015 B2
8942219 Pratt, Jr. et al. Jan 2015 B2
8942301 Hui et al. Jan 2015 B2
8948015 Jetcheva et al. Feb 2015 B2
8948046 Kang et al. Feb 2015 B2
8948229 Hui et al. Feb 2015 B2
8949959 Mahamuni et al. Feb 2015 B2
8954170 Chemel et al. Feb 2015 B2
8954582 Vasseur et al. Feb 2015 B2
8958339 Le et al. Feb 2015 B2
8959539 Adimatyam et al. Feb 2015 B2
8964762 Hui et al. Feb 2015 B2
8964787 McMullin et al. Feb 2015 B2
8965288 Barnes et al. Feb 2015 B2
8970392 LaLonde et al. Mar 2015 B2
8970394 Veillette Mar 2015 B2
8971188 Vasseur et al. Mar 2015 B2
8972159 Ferreira et al. Mar 2015 B2
8976007 Dugan et al. Mar 2015 B2
8982856 Brownrigg Mar 2015 B2
8988990 Stamatelakis et al. Mar 2015 B2
8989052 Jing et al. Mar 2015 B2
9001676 Hui et al. Apr 2015 B2
9001787 Conant et al. Apr 2015 B1
9013173 Veillette Apr 2015 B2
9020008 Hui et al. Apr 2015 B2
9026273 Ziarno May 2015 B2
9026279 Ziarno May 2015 B2
9026336 Ziarno May 2015 B2
9041349 Bemmel et al. May 2015 B2
9042267 Bill May 2015 B2
9055105 Leppanen et al. Jun 2015 B2
9055521 Iwasa Jun 2015 B2
9060322 Zou et al. Jun 2015 B2
9072133 Chemel et al. Jun 2015 B2
9084120 Frei Jul 2015 B2
9100285 Choudhury et al. Aug 2015 B1
9100989 Ray et al. Aug 2015 B2
9119142 Espina Perez et al. Aug 2015 B2
9125254 Chemel et al. Sep 2015 B2
9143912 Leppanen Sep 2015 B2
9148391 Santoso et al. Sep 2015 B2
9152146 Ziarno Oct 2015 B2
9160760 Vasseur et al. Oct 2015 B2
9167496 Jetcheva et al. Oct 2015 B2
9172662 Chang et al. Oct 2015 B2
9172738 daCosta Oct 2015 B1
9173245 Bill Oct 2015 B2
9185521 Leppanen et al. Nov 2015 B2
9198033 Buddhikot et al. Nov 2015 B2
9210608 Nakaya et al. Dec 2015 B2
9231965 Vasseur et al. Jan 2016 B1
9257036 Lund et al. Feb 2016 B2
9258765 daCosta Feb 2016 B1
9261752 Moskowitz Feb 2016 B2
9276845 Shaffer et al. Mar 2016 B2
9277477 Leppanen et al. Mar 2016 B2
9281865 Hui et al. Mar 2016 B2
9282383 Carr Mar 2016 B2
9286473 Cruz Mota et al. Mar 2016 B2
9294488 Vasseur et al. Mar 2016 B2
9311670 Hoffberg Apr 2016 B2
9350683 Hui et al. May 2016 B2
9350809 Leppanen et al. May 2016 B2
9356858 Vasseur et al. May 2016 B2
9363651 daCosta Jun 2016 B1
9386502 Reynaud et al. Jul 2016 B2
9391806 Bruestle et al. Jul 2016 B2
9398035 Vasseur et al. Jul 2016 B2
9398568 Gorgen et al. Jul 2016 B2
9407646 Cruz Mota et al. Aug 2016 B2
9413779 Vasseur et al. Aug 2016 B2
9417691 Belimpasakis et al. Aug 2016 B2
9426716 Thubert et al. Aug 2016 B2
9450972 Cruz Mota et al. Sep 2016 B2
9450978 Vasseur et al. Sep 2016 B2
9485673 Turunen et al. Nov 2016 B2
9489506 Tyson et al. Nov 2016 B2
9497215 Vasseur et al. Nov 2016 B2
9503466 Vasseur et al. Nov 2016 B2
9509636 Kalkunte Nov 2016 B2
9521158 Di Pietro et al. Dec 2016 B2
9526030 Goergen et al. Dec 2016 B2
9526061 Jing et al. Dec 2016 B2
9542642 Wood Jan 2017 B2
9563854 Cruz Mota et al. Feb 2017 B2
9576404 Ziarno et al. Feb 2017 B2
9596169 Choudhury et al. Mar 2017 B2
9602399 Jetcheva et al. Mar 2017 B2
9608912 Thubert et al. Mar 2017 B2
9621457 Veillette Apr 2017 B2
9634928 Choudhury et al. Apr 2017 B2
9635050 Di Pietro et al. Apr 2017 B2
9648544 Arshad et al. May 2017 B1
9648547 Hart et al. May 2017 B1
9658509 Moskowitz May 2017 B2
9672346 Jarvis et al. Jun 2017 B2
9674207 Di Pietro et al. Jun 2017 B2
9686369 Patil et al. Jun 2017 B2
9686792 Jetcheva et al. Jun 2017 B2
9692538 Tyson et al. Jun 2017 B2
9693179 Lee et al. Jun 2017 B2
9693297 Condeixa et al. Jun 2017 B2
9699768 Werb Jul 2017 B2
9705914 Di Pietro et al. Jul 2017 B2
9706420 Patil et al. Jul 2017 B2
9706598 Bill Jul 2017 B2
9712282 Patil et al. Jul 2017 B2
9712332 Kalkunte Jul 2017 B2
9730017 Belimpasakis et al. Aug 2017 B2
9730078 Nixon et al. Aug 2017 B2
9730100 Dacosta Aug 2017 B2
9743339 Jetcheva et al. Aug 2017 B2
9766619 Ziarno Sep 2017 B2
9794797 Hoffberg Oct 2017 B2
9794808 Baroudi et al. Oct 2017 B2
9794934 Zhang et al. Oct 2017 B2
9816897 Ziarno Nov 2017 B2
9818136 Hoffberg Nov 2017 B1
9819505 Bhat et al. Nov 2017 B2
9820658 Tran Nov 2017 B2
9842202 Jarvis et al. Dec 2017 B2
9848345 Baroudi et al. Dec 2017 B1
9860961 Chemel et al. Jan 2018 B2
9866395 Bruestle et al. Jan 2018 B2
9870537 Vasseur et al. Jan 2018 B2
10160012 Sugiyama et al. Dec 2018 B2
10160020 Ohlscher et al. Dec 2018 B2
10944669 Ramanathan Mar 2021 B1
20020039357 Lipasti et al. Apr 2002 A1
20020071160 Pavelchek Jun 2002 A1
20020083316 Platenberg et al. Jun 2002 A1
20030048749 Stamatelakis et al. Mar 2003 A1
20030202468 Cain et al. Oct 2003 A1
20030202469 Cain Oct 2003 A1
20030202476 Billhartz et al. Oct 2003 A1
20030202512 Kennedy Oct 2003 A1
20030204587 Billhartz Oct 2003 A1
20030204616 Billhartz et al. Oct 2003 A1
20030212821 Gillies et al. Nov 2003 A1
20030212941 Gillies et al. Nov 2003 A1
20040022223 Billhartz Feb 2004 A1
20040022224 Billhartz Feb 2004 A1
20040028000 Billhartz Feb 2004 A1
20040028016 Billhartz Feb 2004 A1
20040029553 Cain Feb 2004 A1
20040042417 Kennedy Mar 2004 A1
20040042434 Kennedy Mar 2004 A1
20040057409 Kennedy Mar 2004 A1
20040090943 da Costa et al. May 2004 A1
20040160943 Cain Aug 2004 A1
20040174900 Volpi et al. Sep 2004 A1
20040203385 Narayanan et al. Oct 2004 A1
20040203820 Billhartz Oct 2004 A1
20040210657 Narayanan et al. Oct 2004 A1
20040218548 Kennedy et al. Nov 2004 A1
20040218582 Kennedy et al. Nov 2004 A1
20040219909 Kennedy et al. Nov 2004 A1
20040223497 Sanderson et al. Nov 2004 A1
20040223498 Sanderson et al. Nov 2004 A1
20040223499 Sanderson et al. Nov 2004 A1
20040223500 Sanderson et al. Nov 2004 A1
20040228343 Molteni et al. Nov 2004 A1
20040246144 Siegel et al. Dec 2004 A1
20040246975 Joshi Dec 2004 A1
20040264422 Calcev et al. Dec 2004 A1
20040264466 Huang Dec 2004 A1
20050041591 Duggi et al. Feb 2005 A1
20050053003 Cain et al. Mar 2005 A1
20050053004 Cain et al. Mar 2005 A1
20050053005 Cain et al. Mar 2005 A1
20050053007 Bernhardt et al. Mar 2005 A1
20050053094 Cain et al. Mar 2005 A1
20050054346 Windham et al. Mar 2005 A1
20050094620 Calcev May 2005 A1
20050105524 Stevens et al. May 2005 A1
20050136972 Smith et al. Jun 2005 A1
20050141706 Regli et al. Jun 2005 A1
20050157661 Cho Jul 2005 A1
20050249215 Kelsey et al. Nov 2005 A1
20050254473 Preguica et al. Nov 2005 A1
20050259588 Preguica Nov 2005 A1
20050259595 Preguica Nov 2005 A1
20050265259 Thubert et al. Dec 2005 A1
20050276608 Pavelchek Dec 2005 A1
20060002328 Naghian Jan 2006 A1
20060007863 Naghian Jan 2006 A1
20060023632 Ozer et al. Feb 2006 A1
20060030318 Moore et al. Feb 2006 A1
20060039371 Castro et al. Feb 2006 A1
20060092043 Lagassey May 2006 A1
20060095199 Lagassey May 2006 A1
20060120303 Yarvis et al. Jun 2006 A1
20060126535 Sherman Jun 2006 A1
20060126587 Tsubota Jun 2006 A1
20060136721 Bruestle et al. Jun 2006 A1
20060146846 Yarvis et al. Jul 2006 A1
20060159024 Hester Jul 2006 A1
20060167784 Hoffberg Jul 2006 A1
20060176829 McLaughlin et al. Aug 2006 A1
20060187893 Joshi Aug 2006 A1
20060195590 Tsubota Aug 2006 A1
20060227724 Thubert et al. Oct 2006 A1
20060229090 LaDue Oct 2006 A1
20060251115 Haque et al. Nov 2006 A1
20060253747 Gillies et al. Nov 2006 A1
20060268749 Rahman et al. Nov 2006 A1
20060268796 Watanabe et al. Nov 2006 A1
20060280131 Rahman et al. Dec 2006 A1
20060291404 Thubert et al. Dec 2006 A1
20060291485 Thubert et al. Dec 2006 A1
20060291864 Pavelchek Dec 2006 A1
20070025274 Rahman et al. Feb 2007 A1
20070038743 Hellhake et al. Feb 2007 A1
20070053053 Moskowitz Mar 2007 A1
20070087756 Hoffberg Apr 2007 A1
20070087758 Norris et al. Apr 2007 A1
20070110024 Meier May 2007 A1
20070115810 Stamatelakis et al. May 2007 A1
20070127503 Zhao Jun 2007 A1
20070153737 Singh et al. Jul 2007 A1
20070153764 Thubert et al. Jul 2007 A1
20070195400 Moskowitz Aug 2007 A2
20070195702 Yuen et al. Aug 2007 A1
20070197262 Smith et al. Aug 2007 A1
20070214046 Falchuk et al. Sep 2007 A1
20070223310 Tran Sep 2007 A1
20070223436 Lenardi et al. Sep 2007 A1
20070229231 Hurwitz et al. Oct 2007 A1
20070237150 Wood Oct 2007 A1
20070247368 Wu Oct 2007 A1
20070248117 Zuniga et al. Oct 2007 A1
20070258508 Werb et al. Nov 2007 A1
20070280174 Pun Dec 2007 A1
20070286097 Davies Dec 2007 A1
20070297371 Lea Dec 2007 A1
20070297808 Pavelchek Dec 2007 A1
20080004904 Tran Jan 2008 A1
20080025270 Moon Jan 2008 A1
20080026781 Ho et al. Jan 2008 A1
20080031203 Bill Feb 2008 A1
20080036589 Werb et al. Feb 2008 A1
20080037431 Werb et al. Feb 2008 A1
20080037454 Werb et al. Feb 2008 A1
20080037569 Werb et al. Feb 2008 A1
20080040507 Hsu et al. Feb 2008 A1
20080040509 Werb et al. Feb 2008 A1
20080043316 Moskowitz Feb 2008 A2
20080051036 Vaswani et al. Feb 2008 A1
20080051099 Moore et al. Feb 2008 A1
20080080520 Westphal Apr 2008 A1
20080095059 Chu Apr 2008 A1
20080101332 Kim et al. May 2008 A1
20080107034 Jetcheva et al. May 2008 A1
20080112422 Jetcheva et al. May 2008 A1
20080117885 Kim et al. May 2008 A1
20080117896 Romero et al. May 2008 A1
20080123584 Behrendt et al. May 2008 A1
20080130640 Hurwitz et al. Jun 2008 A1
20080151916 Jetcheva et al. Jun 2008 A1
20080159151 Datz et al. Jul 2008 A1
20080159358 Ruiz et al. Jul 2008 A1
20080170550 Liu et al. Jul 2008 A1
20080183853 Manion et al. Jul 2008 A1
20080186562 Moskowitz Aug 2008 A2
20080192713 Mighani et al. Aug 2008 A1
20080192724 Kondo et al. Aug 2008 A1
20080198865 Rudnick et al. Aug 2008 A1
20080200165 Sharma et al. Aug 2008 A1
20080205385 Zeng et al. Aug 2008 A1
20080240050 Pun Oct 2008 A1
20080247353 Pun Oct 2008 A1
20080252485 Lagassey Oct 2008 A1
20080262893 Hoffberg Oct 2008 A1
20080267116 Kang et al. Oct 2008 A1
20080273487 Naghian Nov 2008 A1
20080273518 Pratt et al. Nov 2008 A1
20080279155 Pratt, Jr. et al. Nov 2008 A1
20080279204 Pratt, Jr. et al. Nov 2008 A1
20080291843 Sonnenberg et al. Nov 2008 A1
20080310390 Pun et al. Dec 2008 A1
20080320305 Bruestle et al. Dec 2008 A1
20090010204 Pratt, Jr. et al. Jan 2009 A1
20090010205 Pratt, Jr. et al. Jan 2009 A1
20090046688 Volpi et al. Feb 2009 A1
20090046732 Pratt, Jr. et al. Feb 2009 A1
20090052429 Pratt, Jr. et al. Feb 2009 A1
20090054033 Pratt, Jr. et al. Feb 2009 A1
20090059814 Nixon et al. Mar 2009 A1
20090061835 Schmidt et al. Mar 2009 A1
20090062887 Mass et al. Mar 2009 A1
20090075625 Jackson et al. Mar 2009 A1
20090085769 Thubert et al. Apr 2009 A1
20090086663 Ho et al. Apr 2009 A1
20090086973 Buddhikot et al. Apr 2009 A1
20090097490 Sanderson et al. Apr 2009 A1
20090109898 Adams et al. Apr 2009 A1
20090122797 Thubert et al. May 2009 A1
20090135824 Liu May 2009 A1
20090147702 Buddhikot et al. Jun 2009 A1
20090168653 St. Pierre et al. Jul 2009 A1
20090174569 Smith et al. Jul 2009 A1
20090175238 Jetcheva et al. Jul 2009 A1
20090185508 Duke et al. Jul 2009 A1
20090210495 Wolfson et al. Aug 2009 A1
20090215411 Tucker et al. Aug 2009 A1
20090219194 Menouar et al. Sep 2009 A1
20090228575 Thubert et al. Sep 2009 A1
20090232119 Seok Sep 2009 A1
20090245159 Oyman et al. Oct 2009 A1
20090252134 Schlicht et al. Oct 2009 A1
20090267540 Chemel et al. Oct 2009 A1
20090286531 Bhatt et al. Nov 2009 A1
20090290494 Govindan et al. Nov 2009 A1
20090310488 Mighani et al. Dec 2009 A1
20090323519 Pun Dec 2009 A1
20100014444 Ghanadan et al. Jan 2010 A1
20100017045 Nesler et al. Jan 2010 A1
20100029216 Jovicic et al. Feb 2010 A1
20100074194 Liu et al. Mar 2010 A1
20100091924 Wu Apr 2010 A1
20100097957 Pirzada et al. Apr 2010 A1
20100118750 Iwasa May 2010 A1
20100118775 Iwasa May 2010 A1
20100118776 Iwasa May 2010 A1
20100123572 Thubert et al. May 2010 A1
20100124196 Bonar et al. May 2010 A1
20100125671 Thubert et al. May 2010 A1
20100142421 Schlicht et al. Jun 2010 A1
20100142445 Schlicht et al. Jun 2010 A1
20100142446 Schlicht et al. Jun 2010 A1
20100142447 Schlicht et al. Jun 2010 A1
20100142448 Schlicht et al. Jun 2010 A1
20100142551 Mosko et al. Jun 2010 A1
20100150120 Schlicht et al. Jun 2010 A1
20100152619 Kalpaxis et al. Jun 2010 A1
20100157888 Aggarwal et al. Jun 2010 A1
20100157889 Aggarwal et al. Jun 2010 A1
20100165995 Mehta et al. Jul 2010 A1
20100172249 Liu Jul 2010 A1
20100185753 Liu et al. Jul 2010 A1
20100187832 Holland et al. Jul 2010 A1
20100203878 Kim et al. Aug 2010 A1
20100214960 Bahr et al. Aug 2010 A1
20100226284 Bill Sep 2010 A1
20100226342 Colling et al. Sep 2010 A1
20100226381 Mehta et al. Sep 2010 A1
20100232317 Jing et al. Sep 2010 A1
20100232354 Patil et al. Sep 2010 A1
20100235285 Hoffberg Sep 2010 A1
20100254309 Mankins et al. Oct 2010 A1
20100254312 Kennedy Oct 2010 A1
20100259931 Chemel et al. Oct 2010 A1
20100264846 Chemel et al. Oct 2010 A1
20100270933 Chemel et al. Oct 2010 A1
20100285774 Ginzboorg Nov 2010 A1
20100295473 Chemel et al. Nov 2010 A1
20100295474 Chemel et al. Nov 2010 A1
20100295475 Chemel et al. Nov 2010 A1
20100295482 Chemel et al. Nov 2010 A1
20100296285 Chemel et al. Nov 2010 A1
20100301768 Chemel et al. Dec 2010 A1
20100301769 Chemel et al. Dec 2010 A1
20100301770 Chemel et al. Dec 2010 A1
20100301771 Chemel et al. Dec 2010 A1
20100301773 Chemel et al. Dec 2010 A1
20100301774 Chemel et al. Dec 2010 A1
20100301834 Chemel et al. Dec 2010 A1
20100302624 Moskowitz Dec 2010 A1
20100302779 Chemel et al. Dec 2010 A1
20100302945 Leppanen et al. Dec 2010 A1
20100302947 Leppanen et al. Dec 2010 A1
20100303082 Wood Dec 2010 A1
20100304759 Leppanen et al. Dec 2010 A1
20100306320 Leppanen et al. Dec 2010 A1
20100308207 Moskowitz Dec 2010 A1
20100309912 Mehta et al. Dec 2010 A1
20100317420 Hoffberg Dec 2010 A1
20100329274 Romero et al. Dec 2010 A1
20110001436 Chemel et al. Jan 2011 A1
20110001438 Chemel et al. Jan 2011 A1
20110004513 Hoffberg Jan 2011 A1
20110019678 Mehta et al. Jan 2011 A1
20110047230 McGee Feb 2011 A1
20110050457 Billhartz et al. Mar 2011 A1
20110051662 Billhartz et al. Mar 2011 A1
20110051702 Billhartz et al. Mar 2011 A1
20110066297 Saberi et al. Mar 2011 A1
20110075578 Kim et al. Mar 2011 A1
20110078461 Hellhake et al. Mar 2011 A1
20110080853 Thubert et al. Apr 2011 A1
20110085530 Hellhake et al. Apr 2011 A1
20110128884 Reynaud et al. Jun 2011 A1
20110133924 Thubert et al. Jun 2011 A1
20110149849 Brownrig Jun 2011 A1
20110164527 Mishra et al. Jul 2011 A1
20110187527 Goodwill et al. Aug 2011 A1
20110188378 Collins et al. Aug 2011 A1
20110188653 Yao et al. Aug 2011 A1
20110204720 Ruiz et al. Aug 2011 A1
20110211534 Schmidt et al. Sep 2011 A1
20110216656 Pratt, Jr. et al. Sep 2011 A1
20110223937 Leppanen et al. Sep 2011 A1
20110228696 Agarwal et al. Sep 2011 A1
20110228788 Thubert et al. Sep 2011 A1
20110231573 Vasseur et al. Sep 2011 A1
20110235550 Adams et al. Sep 2011 A1
20110238751 Belimpasakis et al. Sep 2011 A1
20110255479 Liu Oct 2011 A1
20110267981 Davies Nov 2011 A1
20110273568 Lagassey Nov 2011 A1
20110280156 Jing et al. Nov 2011 A1
20110302635 Pratt, Jr. et al. Dec 2011 A1
20110305136 Pan et al. Dec 2011 A1
20110314504 Ruiz-Velasco Dec 2011 A1
20120005041 Mehta et al. Jan 2012 A1
20120008527 Le et al. Jan 2012 A1
20120014309 Iizuka et al. Jan 2012 A1
20120023171 Redmond Jan 2012 A1
20120039186 Vasseur Feb 2012 A1
20120039190 Vasseur Feb 2012 A1
20120063436 Thubert et al. Mar 2012 A1
20120091315 Moskowitz Apr 2012 A1
20120092984 Mighani et al. Apr 2012 A1
20120092993 Kan Apr 2012 A1
20120093134 Zuniga et al. Apr 2012 A1
20120106428 Schlicht et al. May 2012 A1
20120113807 Vasseur et al. May 2012 A1
20120113863 Vasseur et al. May 2012 A1
20120113901 Jackson et al. May 2012 A1
20120113986 Shaffer et al. May 2012 A1
20120116559 Davis et al. May 2012 A1
20120117208 Shaffer et al. May 2012 A1
20120117213 Shaffer et al. May 2012 A1
20120117268 Shaffer et al. May 2012 A1
20120117438 Shaffer et al. May 2012 A1
20120134287 Turunen et al. May 2012 A1
20120134548 Rhoads et al. May 2012 A1
20120135723 Ramo et al. May 2012 A1
20120154633 Rodriguez Jun 2012 A1
20120155260 Vasseur et al. Jun 2012 A1
20120155276 Vasseur et al. Jun 2012 A1
20120155284 Shaffer et al. Jun 2012 A1
20120155329 Shaffer et al. Jun 2012 A1
20120155397 Shaffer et al. Jun 2012 A1
20120155463 Vasseur et al. Jun 2012 A1
20120155475 Vasseur et al. Jun 2012 A1
20120155511 Shaffer et al. Jun 2012 A1
20120158933 Shetty et al. Jun 2012 A1
20120176931 Jetcheva et al. Jul 2012 A1
20120182867 Farrag et al. Jul 2012 A1
20120188968 Mie et al. Jul 2012 A1
20120196636 Pratt, Jr. et al. Aug 2012 A1
20120197988 Leppanen et al. Aug 2012 A1
20120208592 Davis et al. Aug 2012 A1
20120209808 Tien et al. Aug 2012 A1
20120210233 Davis et al. Aug 2012 A1
20120213124 Vasseur et al. Aug 2012 A1
20120224743 Rodriguez et al. Sep 2012 A1
20120230204 Vasseur et al. Sep 2012 A1
20120230222 Shaffer et al. Sep 2012 A1
20120230370 Shaffer et al. Sep 2012 A1
20120233326 Shaffer et al. Sep 2012 A1
20120233485 Shaffer et al. Sep 2012 A1
20120235579 Chemel et al. Sep 2012 A1
20120236724 Rudnick et al. Sep 2012 A1
20120242501 Tran et al. Sep 2012 A1
20120243408 Leppanen et al. Sep 2012 A1
20120243621 Hurwitz et al. Sep 2012 A1
20120254338 Agarwal et al. Oct 2012 A1
20120257624 Thubert et al. Oct 2012 A1
20120275642 Aller et al. Nov 2012 A1
20120277893 Davis et al. Nov 2012 A1
20120280908 Rhoads et al. Nov 2012 A1
20120282905 Owen Nov 2012 A1
20120282911 Davis et al. Nov 2012 A1
20120284012 Rodriguez et al. Nov 2012 A1
20120284122 Brandis Nov 2012 A1
20120284339 Rodriguez Nov 2012 A1
20120284593 Rodriguez Nov 2012 A1
20120300758 Turunen et al. Nov 2012 A1
20120307624 Vasseur et al. Dec 2012 A1
20120307629 Vasseur et al. Dec 2012 A1
20120307652 Vasseur et al. Dec 2012 A1
20120307653 Vasseur et al. Dec 2012 A1
20120307752 Hirata et al. Dec 2012 A1
20120307825 Hui et al. Dec 2012 A1
20120309417 Blom et al. Dec 2012 A1
20120311334 Bruestle et al. Dec 2012 A1
20120314660 Leppanen et al. Dec 2012 A1
20120320768 Shaffer et al. Dec 2012 A1
20120320790 Shaffer et al. Dec 2012 A1
20120320923 Vasseur et al. Dec 2012 A1
20120324273 Shaffer et al. Dec 2012 A1
20120327792 Guo et al. Dec 2012 A1
20120331316 Liu et al. Dec 2012 A1
20130010590 Vasseur et al. Jan 2013 A1
20130010615 Hui et al. Jan 2013 A1
20130010798 Shaffer et al. Jan 2013 A1
20130013806 Woo et al. Jan 2013 A1
20130013809 Vasseur et al. Jan 2013 A1
20130016612 Vasseur et al. Jan 2013 A1
20130016757 Hui et al. Jan 2013 A1
20130016758 Hui et al. Jan 2013 A1
20130016759 Hui et al. Jan 2013 A1
20130018993 Hui et al. Jan 2013 A1
20130019005 Hui et al. Jan 2013 A1
20130022042 Vasseur et al. Jan 2013 A1
20130022046 Vasseur et al. Jan 2013 A1
20130022053 Vasseur et al. Jan 2013 A1
20130022083 Vasseur et al. Jan 2013 A1
20130022084 Vasseur et al. Jan 2013 A1
20130024149 Nayar et al. Jan 2013 A1
20130024560 Vasseur et al. Jan 2013 A1
20130028095 Vasseur et al. Jan 2013 A1
20130028103 Hui et al. Jan 2013 A1
20130028104 Hui et al. Jan 2013 A1
20130028140 Hui et al. Jan 2013 A1
20130028143 Vasseur et al. Jan 2013 A1
20130028295 Hui et al. Jan 2013 A1
20130031253 Hui et al. Jan 2013 A1
20130033987 Jetcheva et al. Feb 2013 A1
20130042301 Mahamuni et al. Feb 2013 A1
20130045759 Smith Feb 2013 A1
20130051250 Shaffer et al. Feb 2013 A1
20130055383 Shaffer et al. Feb 2013 A1
20130064072 Vasseur et al. Mar 2013 A1
20130064102 Chang et al. Mar 2013 A1
20130064137 Santoso et al. Mar 2013 A1
20130067063 Vasseur et al. Mar 2013 A1
20130069780 Tran et al. Mar 2013 A1
20130070597 Liu Mar 2013 A1
20130080307 Hoffberg Mar 2013 A1
20130083658 Vasseur et al. Apr 2013 A1
20130083688 Mageed Al-Talib et al. Apr 2013 A1
20130086601 Adimatyam et al. Apr 2013 A1
20130088999 Thubert et al. Apr 2013 A1
20130089011 Alapuranen Apr 2013 A1
20130094536 Hui et al. Apr 2013 A1
20130094537 Hui et al. Apr 2013 A1
20130100872 Zou et al. Apr 2013 A1
20130100942 Rudnick et al. Apr 2013 A1
20130111038 Girard May 2013 A1
20130121331 Vasseur et al. May 2013 A1
20130122807 Tenarvitz et al. May 2013 A1
20130124883 Addepalli et al. May 2013 A1
20130128773 Thubert et al. May 2013 A1
20130143529 Leppanen Jun 2013 A1
20130143535 Leppanen et al. Jun 2013 A1
20130151563 Addepalli et al. Jun 2013 A1
20130169838 Rodriguez et al. Jul 2013 A1
20130170393 Bill Jul 2013 A1
20130170394 Bill Jul 2013 A1
20130177025 Hurwitz et al. Jul 2013 A1
20130178718 Tran et al. Jul 2013 A1
20130182566 Goergen et al. Jul 2013 A1
20130183952 Davis et al. Jul 2013 A1
20130188471 Bade et al. Jul 2013 A1
20130188492 Gorgen et al. Jul 2013 A1
20130188513 Vasseur et al. Jul 2013 A1
20130188562 Espina Perez et al. Jul 2013 A1
20130191688 Agarwal et al. Jul 2013 A1
20130194970 Bill Aug 2013 A1
20130195095 Bill Aug 2013 A1
20130201316 Binder et al. Aug 2013 A1
20130201869 Wilden et al. Aug 2013 A1
20130201891 Rodriguez et al. Aug 2013 A1
20130208583 Guo et al. Aug 2013 A1
20130208714 Bill Aug 2013 A1
20130215739 Zhang Aug 2013 A1
20130215942 Addepalli et al. Aug 2013 A1
20130219045 Agarwal et al. Aug 2013 A1
20130219046 Wetterwald et al. Aug 2013 A1
20130219478 Mahamuni et al. Aug 2013 A1
20130223218 Vasseur et al. Aug 2013 A1
20130223225 Hui et al. Aug 2013 A1
20130223229 Hui et al. Aug 2013 A1
20130223237 Hui et al. Aug 2013 A1
20130223275 Vasseur et al. Aug 2013 A1
20130227055 Vasseur et al. Aug 2013 A1
20130227114 Vasseur et al. Aug 2013 A1
20130227336 Agarwal et al. Aug 2013 A1
20130242929 Gorgen et al. Sep 2013 A1
20130250754 Vasseur et al. Sep 2013 A1
20130250808 Hui et al. Sep 2013 A1
20130250809 Hui et al. Sep 2013 A1
20130250811 Vasseur et al. Sep 2013 A1
20130250866 Hui et al. Sep 2013 A1
20130250945 Hui et al. Sep 2013 A1
20130250953 Hui et al. Sep 2013 A1
20130250969 Hui et al. Sep 2013 A1
20130251053 Hui et al. Sep 2013 A1
20130251054 Hui et al. Sep 2013 A1
20130259096 Romero et al. Oct 2013 A1
20130279365 Hui et al. Oct 2013 A1
20130279540 Hui et al. Oct 2013 A1
20130283347 Hui et al. Oct 2013 A1
20130283360 Hui et al. Oct 2013 A1
20130286942 Bonar et al. Oct 2013 A1
20130290560 Chaki Oct 2013 A1
20130308495 Tucker et al. Nov 2013 A1
20130310896 Mass Nov 2013 A1
20130315131 Brown et al. Nov 2013 A1
20130322294 Jing et al. Dec 2013 A1
20130332010 Ziarno Dec 2013 A1
20130332011 Ziarno Dec 2013 A1
20130332025 Ziarno Dec 2013 A1
20130336316 Sudhaakar et al. Dec 2013 A1
20130342355 Lund et al. Dec 2013 A1
20140006893 Shetty et al. Jan 2014 A1
20140016643 Vasseur et al. Jan 2014 A1
20140022906 Vasseur et al. Jan 2014 A1
20140029432 Vasseur et al. Jan 2014 A1
20140029445 Hui et al. Jan 2014 A1
20140029603 Nomura et al. Jan 2014 A1
20140029610 Vasseur et al. Jan 2014 A1
20140029624 Vasseur Jan 2014 A1
20140036912 Hui et al. Feb 2014 A1
20140036925 Hui et al. Feb 2014 A1
20140046882 Wood Feb 2014 A1
20140055284 Tran et al. Feb 2014 A1
20140064172 Hui et al. Mar 2014 A1
20140068105 Thubert et al. Mar 2014 A1
20140071837 Werb et al. Mar 2014 A1
20140081793 Hoffberg Mar 2014 A1
20140086041 Shah et al. Mar 2014 A1
20140092752 Hui et al. Apr 2014 A1
20140092753 Vasseur et al. Apr 2014 A1
20140092769 Shaffer et al. Apr 2014 A1
20140092905 Hui et al. Apr 2014 A1
20140095864 Dasgupta et al. Apr 2014 A1
20140105015 Hui et al. Apr 2014 A1
20140105027 Shaffer et al. Apr 2014 A1
20140105033 Vasseur et al. Apr 2014 A1
20140105211 Hui et al. Apr 2014 A1
20140108643 Hui et al. Apr 2014 A1
20140114549 Ziarno Apr 2014 A1
20140114554 Lagassey Apr 2014 A1
20140114555 Lagassey Apr 2014 A1
20140121476 Tran et al. May 2014 A1
20140122673 Shaffer et al. May 2014 A1
20140126348 Mahamuni et al. May 2014 A1
20140126354 Hui et al. May 2014 A1
20140126423 Vasseur et al. May 2014 A1
20140126426 Vasseur et al. May 2014 A1
20140126431 Hui et al. May 2014 A1
20140126610 Hui et al. May 2014 A1
20140129734 Vasseur et al. May 2014 A1
20140129876 Addepalli et al. May 2014 A1
20140136881 Vasseur et al. May 2014 A1
20140167912 Snyder et al. Jun 2014 A1
20140185499 Ray et al. Jul 2014 A1
20140195668 Selvakumar et al. Jul 2014 A1
20140219078 Dasgupta et al. Aug 2014 A1
20140219103 Vasseur et al. Aug 2014 A1
20140219114 Vasseur et al. Aug 2014 A1
20140219133 Dasgupta et al. Aug 2014 A1
20140222725 Vasseur et al. Aug 2014 A1
20140222726 Mermoud et al. Aug 2014 A1
20140222727 Vasseur et al. Aug 2014 A1
20140222728 Vasseur et al. Aug 2014 A1
20140222729 Dasgupta et al. Aug 2014 A1
20140222730 Vasseur et al. Aug 2014 A1
20140222731 Mermoud et al. Aug 2014 A1
20140222748 Mermoud et al. Aug 2014 A1
20140222975 Vasseur et al. Aug 2014 A1
20140222983 Dasgupta et al. Aug 2014 A1
20140222996 Vasseur et al. Aug 2014 A1
20140222997 Mermoud et al. Aug 2014 A1
20140222998 Vasseur et al. Aug 2014 A1
20140223155 Vasseur et al. Aug 2014 A1
20140245055 Shaffer et al. Aug 2014 A1
20140247726 Vasseur Sep 2014 A1
20140247752 Patil et al. Sep 2014 A1
20140247804 Wermuth et al. Sep 2014 A1
20140269402 Vasseur et al. Sep 2014 A1
20140269413 Hui et al. Sep 2014 A1
20140269487 Kalkunte Sep 2014 A1
20140269514 Leppanen et al. Sep 2014 A1
20140269592 Addepalli et al. Sep 2014 A1
20140269759 Thubert et al. Sep 2014 A1
20140273920 Smith Sep 2014 A1
20140278475 Tran Sep 2014 A1
20140281670 Vasseur et al. Sep 2014 A1
20140285090 Chemel et al. Sep 2014 A1
20140285095 Chemel et al. Sep 2014 A1
20140286301 Werb et al. Sep 2014 A1
20140286377 Shaffer et al. Sep 2014 A1
20140293605 Chemel et al. Oct 2014 A1
20140297206 Silverman Oct 2014 A1
20140302774 Burke et al. Oct 2014 A1
20140304427 Vasseur et al. Oct 2014 A1
20140307614 Ruiz et al. Oct 2014 A1
20140310243 McGee et al. Oct 2014 A1
20140310349 Rainisto Oct 2014 A1
20140314096 Hui et al. Oct 2014 A1
20140320021 Conwell Oct 2014 A1
20140321325 Jing et al. Oct 2014 A1
20140324596 Rodriguez Oct 2014 A1
20140324833 Davis et al. Oct 2014 A1
20140328346 Hui et al. Nov 2014 A1
20140330947 Hui et al. Nov 2014 A1
20140333990 Moskowitz Nov 2014 A1
20140349684 Leppanen et al. Nov 2014 A1
20140355425 Vasseur et al. Dec 2014 A1
20140357295 Skomra et al. Dec 2014 A1
20140357312 Davis et al. Dec 2014 A1
20140362847 Turunen et al. Dec 2014 A1
20140369550 Davis et al. Dec 2014 A1
20140372577 Hui et al. Dec 2014 A1
20140372585 Hui et al. Dec 2014 A1
20140376361 Hui et al. Dec 2014 A1
20140376427 Hui et al. Dec 2014 A1
20140379896 Vasseur et al. Dec 2014 A1
20140379900 Dasgupta et al. Dec 2014 A1
20150002336 Thubert et al. Jan 2015 A1
20150003251 Shaffer et al. Jan 2015 A1
20150003428 Woo et al. Jan 2015 A1
20150016688 Aller Jan 2015 A1
20150023174 Dasgupta et al. Jan 2015 A1
20150023363 Hui et al. Jan 2015 A1
20150023369 Hui et al. Jan 2015 A1
20150026268 Hui et al. Jan 2015 A1
20150030033 Vasseur et al. Jan 2015 A1
20150043384 Hui et al. Feb 2015 A1
20150043519 Hui et al. Feb 2015 A1
20150055650 Bhat et al. Feb 2015 A1
20150061511 Chemel et al. Mar 2015 A1
20150063365 Hui et al. Mar 2015 A1
20150071295 Hui et al. Mar 2015 A1
20150072728 Rodriguez et al. Mar 2015 A1
20150081840 Patil et al. Mar 2015 A1
20150103813 Jetcheva et al. Apr 2015 A1
20150110104 Jetcheva et al. Apr 2015 A1
20150111591 Hoffberg Apr 2015 A1
20150138977 Dacosta May 2015 A1
20150155637 Kuiper Jun 2015 A1
20150186642 Cruz Mota et al. Jul 2015 A1
20150188754 Stamatelakis et al. Jul 2015 A1
20150188934 Vasseur et al. Jul 2015 A1
20150188935 Vasseur et al. Jul 2015 A1
20150193693 Vasseur et al. Jul 2015 A1
20150193694 Vasseur et al. Jul 2015 A1
20150193695 Cruz Mota et al. Jul 2015 A1
20150193696 Vasseur et al. Jul 2015 A1
20150193697 Vasseur et al. Jul 2015 A1
20150195145 Di Pietro et al. Jul 2015 A1
20150195146 Di Pietro et al. Jul 2015 A1
20150195296 Vasseur et al. Jul 2015 A1
20150201415 Jetcheva et al. Jul 2015 A1
20150207677 Choudhury et al. Jul 2015 A1
20150207724 Choudhury et al. Jul 2015 A1
20150244481 Tyson et al. Aug 2015 A1
20150244484 Tyson et al. Aug 2015 A1
20150244623 Heydon et al. Aug 2015 A1
20150244648 Tyson et al. Aug 2015 A1
20150245179 Jarvis et al. Aug 2015 A1
20150245203 Tyson et al. Aug 2015 A1
20150245231 Jarvis et al. Aug 2015 A1
20150245412 Tyson et al. Aug 2015 A1
20150263863 Kalkunte Sep 2015 A1
20150304209 Choudhury et al. Oct 2015 A1
20150316926 Ziarno Nov 2015 A1
20150330869 Ziarno Nov 2015 A1
20150341874 Nguyen-Dang Nov 2015 A1
20150351084 Werb Dec 2015 A1
20150363981 Ziarno et al. Dec 2015 A1
20150381489 Jetcheva et al. Dec 2015 A1
20150382275 Pragada et al. Dec 2015 A1
20150382278 Fallon et al. Dec 2015 A1
20160027054 Leppanen et al. Jan 2016 A1
20160028750 Di Pietro et al. Jan 2016 A1
20160028751 Cruz Mota et al. Jan 2016 A1
20160028752 Di Pietro et al. Jan 2016 A1
20160028754 Cruz Mota et al. Jan 2016 A1
20160028755 Vasseur et al. Jan 2016 A1
20160028762 Di Pietro et al. Jan 2016 A1
20160028763 Cruz Mota et al. Jan 2016 A1
20160028764 Vasseur et al. Jan 2016 A1
20160029182 Leppanen Jan 2016 A1
20160116819 Moskowitz Apr 2016 A1
20160119739 Hampel et al. Apr 2016 A1
20160127978 Jing et al. May 2016 A1
20160142901 Leppanen et al. May 2016 A1
20160183351 Snyder et al. Jun 2016 A1
20160197831 De Foy et al. Jul 2016 A1
20160198244 Lund et al. Jul 2016 A1
20160212729 Bulten et al. Jul 2016 A1
20160224951 Hoffberg Aug 2016 A1
20160269976 Jetcheva et al. Sep 2016 A1
20160277874 Lee et al. Sep 2016 A1
20160302195 Zhang et al. Oct 2016 A1
20160323012 Kwon et al. Nov 2016 A1
20160323113 Bruestle et al. Nov 2016 A1
20160366553 Belimpasakis et al. Dec 2016 A1
20170019970 Chemel et al. Jan 2017 A1
20170034760 Ge Feb 2017 A1
20170041868 Palin et al. Feb 2017 A1
20170048783 Savolainen Feb 2017 A1
20170070942 Denteneer et al. Mar 2017 A1
20170078400 Binder et al. Mar 2017 A1
20170086279 Chemel et al. Mar 2017 A1
20170099567 Kwon et al. Apr 2017 A1
20170104727 Jerkeby et al. Apr 2017 A1
20170104834 Huang Apr 2017 A1
20170135021 Ko et al. May 2017 A1
20170149651 Kalkunte May 2017 A1
20170149901 Condeixa et al. May 2017 A1
20170161609 Wood et al. Jun 2017 A1
20170181053 Aoun et al. Jun 2017 A1
20170195826 Shaikh et al. Jul 2017 A1
20170238197 Baroudi et al. Aug 2017 A1
20170250856 Jetcheva et al. Aug 2017 A1
20170250898 Sakoda et al. Aug 2017 A1
20170251387 Rossebo et al. Aug 2017 A1
20170259942 Ziarno Sep 2017 A1
20170289812 Werb Oct 2017 A1
20170294988 Condeixa et al. Oct 2017 A1
20170295455 Kwon Oct 2017 A1
20170310553 Welters et al. Oct 2017 A1
20170311423 Clark et al. Oct 2017 A1
20170317713 Tsai et al. Nov 2017 A1
20170317906 Tsai et al. Nov 2017 A1
20170318453 Raghu et al. Nov 2017 A1
20170324618 Lapukhov et al. Nov 2017 A1
20170325127 Raghu et al. Nov 2017 A1
20170331754 Wang Nov 2017 A1
20170331899 Binder et al. Nov 2017 A1
20170332439 Savolainen et al. Nov 2017 A1
20180006833 Tatlicioglu et al. Jan 2018 A1
20180007687 Baldemair et al. Jan 2018 A1
20180013573 Kalkunte Jan 2018 A1
Foreign Referenced Citations (2)
Number Date Country
WO2012078565 Jun 2012 WO
WO2012116489 Sep 2012 WO
Provisional Applications (1)
Number Date Country
62628717 Feb 2018 US
Continuations (1)
Number Date Country
Parent 16198204 Nov 2018 US
Child 17194541 US