US20180146413A1 - Wireless bypass of next-hop device in source route path - Google Patents

Wireless bypass of next-hop device in source route path Download PDF

Info

Publication number
US20180146413A1
US20180146413A1 US15/359,739 US201615359739A US2018146413A1 US 20180146413 A1 US20180146413 A1 US 20180146413A1 US 201615359739 A US201615359739 A US 201615359739A US 2018146413 A1 US2018146413 A1 US 2018146413A1
Authority
US
United States
Prior art keywords
hop
wireless data
data packet
network device
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/359,739
Other versions
US10389619B2 (en
Inventor
Patrick Wetterwald
Pascal Thubert
Eric Michel Levy-Abegnoli
Jean-Philippe Vasseur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Priority to US15/359,739 priority Critical patent/US10389619B2/en
Assigned to CISCO TECHNOLOGY, INC. reassignment CISCO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: THUBERT, PASCAL, LEVY-ABEGNOLI, ERIC MICHEL, WETTERWALD, PATRICK, VASSEUR, JEAN-PHILIPPE
Publication of US20180146413A1 publication Critical patent/US20180146413A1/en
Application granted granted Critical
Publication of US10389619B2 publication Critical patent/US10389619B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/08Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access]
    • H04W74/0808Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using carrier sensing, e.g. as in CSMA
    • H04W74/0816Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using carrier sensing, e.g. as in CSMA carrier sensing with collision avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present disclosure generally relates to wireless bypass of a next-hop device in a source route path.
  • a Low-power and Lossy Network is a network that can include dozens or thousands of low-power router devices configured for routing data packets according to a routing protocol designed for such low power and lossy networks (RPL): such low-power router devices can be referred to as “RPL nodes”.
  • RPL nodes Each RPL node in the LLN typically is constrained by processing power, memory, and energy (e.g., battery power); interconnecting links between the RPL nodes typically are constrained by high loss rates, low data rates, and instability with relatively low packet delivery rates.
  • a network topology (a “RPL instance”) can be established based on creating routes in the form of a directed acyclic graph (DAG) toward a single “root” network device, also referred to as a “DAG root” or a “DAG destination”.
  • DAG also is referred to as a Destination Oriented DAG (DODAG).
  • DAG also is referred to as a Destination Oriented DAG (DODAG).
  • Network traffic moves either “up” towards the DODAG root or “down” towards the DODAG leaf nodes.
  • a RPL DODAG root for a DODAG operating in non-storing mode can use a source routing header for data packets sent down from the DODAG root to an identified destination in the source routing header.
  • a source route header also can be used to route a data packet from one network device in the DODAG to another network device in the DODAG.
  • FIG. 1 illustrates a tree-based network comprising an example apparatus configured for executing promiscuous detection and intercepted forwarding of a data packet in response to detecting the apparatus is identified in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment.
  • FIG. 2 illustrates an example implementation of any one of the network devices of FIG. 1 , according to an example embodiment.
  • FIG. 3 illustrates an example method of the apparatus of FIG. 1 executing promiscuous detection and intercepted forwarding of a data packet in response to the apparatus detecting identification thereof in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment.
  • FIGS. 4A and 4B illustrate example intercepting acknowledgement messages in response to the promiscuous detection of the wireless data packet, according to an example embodiment.
  • a method comprises promiscuously detecting, by a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
  • an apparatus comprises a device interface circuit and a processor circuit.
  • the device interface circuit is configured for promiscuously detecting, in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network.
  • the processor circuit is configured for determining that the apparatus is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet.
  • the processor circuit further is configured for executing intercepted forwarding of the wireless data packet to a second next-hop device successively following the apparatus in the hop-by-hop path.
  • one or more non-transitory tangible media are encoded with logic for execution by a machine and when executed by the machine operable for: promiscuously detecting, by machine implemented as a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
  • Particular embodiments enable a network device in a wireless data network (e.g., a RPL-based network having a DODAG topology) to promiscuously detect a wireless data packet transmitted to a targeted network device, and execute intercepted forwarding of the wireless data packet toward a destination on behalf of the targeted network device, in response to the network device detecting that it is identified as “downstream” of the targeted network device in a hop-by-hop source route path specified within a source route header in the wireless data packet.
  • the intercepted forwarding enables the targeted network device to suppress transmission of the wireless data packet and thereby conserve energy.
  • the example embodiments enable the transmission of the wireless data packet based on the corresponding source route header, while eliminating unnecessary transmissions within the hop-by-hop path specified in the source route header.
  • FIG. 1 is a diagram illustrating an example wireless data network 10 having wireless network devices 12 , for example RPL nodes, according to an example embodiment.
  • the wireless data network 10 also can include a controller 14 , for example a path computation element (PCE) 14 , that is configured for providing control and/or management operations such as scheduling transmissions in the wireless data network 10 , described below.
  • PCE path computation element
  • Each apparatus 12 , 14 is a physical machine (i.e., a hardware device) configured for implementing network communications with other physical machines via wireless data links in the wireless data network 10 .
  • the term “configured for” or “configured to” as used herein with respect to a specified operation refers to a device and/or machine that is physically constructed and arranged to perform the specified operation.
  • each apparatus 12 , 14 is a network-enabled (user machine providing user access to a network)/machine implementing network communications via the wireless data network 10 .
  • the wireless data network 10 can be implemented as having a tree-based topology (e.g., a DODAG) having a network device “Root” 12 serving as a root of the tree-based topology, and “child” devices having one or more attachment links (illustrated by the solid lines in FIG. 1 ) according to the DODAG topology.
  • the attachment links can be based on the network devices 12 executing an existing routing protocol, for example RPL as described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 6550. As illustrated in FIG.
  • the DODAG can be established such that: the network devices “ 11 ”, “ 12 ”, and “ 13 ” 12 are child network devices of the root network device “Root” 12 ; the network devices “ 12 ”, “ 21 ”, and “ 22 ” 12 are child network devices of the network device “ 11 ” 12 ; the network device “ 23 ” 12 is a child network device of the network device “ 12 ” 12 ; the network device “ 24 ” 12 is a child network device of the network device “ 13 ” 12 ; the network devices “ 31 ” and “ 32 ” 12 are child network devices of the network device “ 21 ” 12 ; the network device “ 23 ” 12 is a child network device of the network device “ 22 ” 12 ; and network devices“ 24 ”, “ 33 ” and “ 34 ” 12 are child network devices of the network device “ 23 ” 12 .
  • the DODAG topology implemented in the wireless data network 10 enables any one source network device (e.g., “ 24 ”) 12 to send a wireless data packet 16 to a destination network device (e.g., “ 21 ”) 12 via the DODAG topology.
  • RFC 6550 describes a non-storing mode, where only the root network device “Root” 12 stores any routing information for reaching a destination network device 12 , and none of the child network devices (e.g., “ 11 ” through “ 34 ”) 12 store any routing information; hence, non-storing mode could require that all network traffic in the wireless data network 10 be forwarded to the root network device 12 for routing to the destination.
  • the PCE 14 and/or the root network device “Root” 12 also can send to a network device (e.g., “ 24 ”) 12 a hop-by-hop path source route path (e.g., “ 23 - 12 - 11 - 21 ”) for reaching a destination network device (e.g., “ 21 ”) 12 , eliminating the necessity of forwarding the wireless data packet 16 to the root network device 12 in cases where the DODAG is implemented in non-storing mode (i.e., where one or more of the network devices 12 do not store route table entries for reaching child network devices).
  • a network device e.g., “ 24 ”
  • a hop-by-hop path source route path e.g., “ 23 - 12 - 11 - 21
  • a destination network device e.g., “ 21 ”
  • the source network device “ 24 ” 12 can generate and output a wireless data packet 16 that includes an IPv6 header 18 , a source routing header 20 specifying the hop-by-hop source-route path for reaching the destination network device “ 21 ” 12 , payload data 22 , etc.
  • the IPv6 header 18 generated by the source network device “ 24 ” 12 can specify a source address field 24 specifying the IPv6 address of the source network device “ 24 ” 12 , and a destination address field 26 specifying the IPv6 address of the first-hop node “ 23 ” 12 that is targeted for reception of the wireless data packet 16 .
  • the source routing header 20 can specify a hop-by-hop source-route path “ 12 - 11 - 21 ” for reaching the destination network device (e.g., “ 21 ”) 12 , starting with the second hop device (e.g., “ 12 ”) following the first hop specified in the destination address field 26 (e.g., “ 23 ”), and ending with the destination network device (e.g., “ 21 ”) 12 ; hence, the first-hop network device “ 23 ” 12 , in response to receiving the wireless data packet 16 and detecting its IP address in the destination address field 26 , can parse the source routing header 20 to determine the second hop device (e.g., “ 12 ”), and in response insert the corresponding IPv6 address of the next hop device (e.g., “ 12 ”) into the destination address field 26 prior to transmission to the targeted device. Hence, the targeted device of the transmission of the wireless data packet 16 can be identified by the corresponding IP address in the destination address field 26 .
  • a network device can promiscuously detect the wireless data packet 16 transmitted to the targeted network device “ 23 ” 12 .
  • a network device e.g., “ 12 ” (i.e., an intercepting network device) 12 can execute intercepted forwarding of the wireless data packet 16 toward the destination network device “ 21 ” 12 on behalf of the targeted network device “ 23 ” 12 (i.e., the network device targeted for reception of the wireless data packet 16 ), in response to the intercepting network device (e.g., “ 12 ”) 12 detecting that it is identified as “downstream” of the targeted network device “ 23 ” 12 in the hop-by-hop source route path “ 12 - 11 - 21 ” specified in the source routing header 20 of the wireless data packet 16 .
  • the intercepting network device (e.g., “ 12 ”) 12 can initiate intercepted forwarding by transmitting an intercepting acknowledgement message 30 , described below, that can enable the transmitting network device “ 24 ” 12 (having transmitted the wireless data packet 16 ) and the targeted network device “ 23 ” 12 to detect that the intercepting network device (e.g., “ 12 ”) 12 has already received the wireless data packet 16 .
  • the intercepting acknowledgement message 30 enables the targeted network device “ 23 ” 12 to suppress the unnecessary transmission of the wireless data packet 16 along the hop-by-hop source route path “ 12 - 11 - 21 ” and thereby conserve energy.
  • FIG. 2 illustrates an example implementation of any one of the devices 12 and/or 14 of FIG. 1 , according to an example embodiment.
  • Each apparatus 12 and/or 14 can include a device interface circuit 40 , a processor circuit 42 , and a memory circuit 44 .
  • the device interface circuit 40 can include one or more distinct physical layer transceivers for communication with any one of the other devices 12 and/or 14 ; the device interface circuit 40 also can include an IEEE based Ethernet transceiver for communications with the devices of FIG. 1 via any type of data link (e.g., a wired or wireless link, an optical link, etc.).
  • the processor circuit 42 can be configured for executing any of the operations described herein, and the memory circuit 44 can be configured for storing any data or data packets as described herein.
  • any of the disclosed circuits of the devices 12 and/or 14 can be implemented in multiple forms.
  • Example implementations of the disclosed circuits include hardware logic that is implemented in a physical logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC).
  • PLA programmable logic array
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 44 ) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein.
  • a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 44 ) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein.
  • an executable application resource e.
  • circuit refers to both a hardware-based circuit implemented using one or more integrated circuits and that includes logic for performing the described operations, or a software-based circuit that includes a processor circuit (implemented using one or more integrated circuits), the processor circuit including a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor circuit.
  • the memory circuit 44 can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc.
  • any reference to “outputting a message” or “outputting a packet” can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a transmit buffer).
  • Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (e.g., via wired electric current or wireless electric field, as appropriate) the message/packet stored in the non-transitory tangible memory medium to another network node via a communications medium (e.g., a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate).
  • any reference to “receiving a message” or “receiving a packet” can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a receive buffer).
  • the memory circuit 44 can be implemented dynamically by the processor circuit 42 , for example based on memory address assignment and partitioning executed by the processor circuit 42 .
  • FIG. 3 illustrates an example method of the apparatus of FIG. 1 executing promiscuous detection and intercepted forwarding of a data packet in response to the apparatus detecting identification thereof in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment.
  • any of the Figures can be implemented as executable code stored on a computer or machine readable non-transitory tangible storage medium (i.e., one or more physical storage media such as a floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that are completed based on execution of the code by a processor circuit implemented using one or more integrated circuits; the operations described herein also can be implemented as executable logic that is encoded in one or more non-transitory tangible media for execution (e.g., programmable logic arrays or devices, field programmable gate arrays, programmable array logic, application specific integrated circuits, etc.).
  • one or more non-transitory tangible media can be encoded with logic for execution by a machine, and when executed by the machine operable for the operations described herein.
  • the device interface circuit 40 of any one of the network devices 12 can be configured for promiscuously detecting in operation 50 the wireless data packet 16 transmitted by the transmitting network device “ 24 ” 12 to the targeted network device “ 23 ” 12 (“DATA 24 -> 23 ” of FIGS. 4A and 4B ).
  • the term “promiscuous” refers to the ability of the device interface circuit 40 to forward the received wireless data packet 16 for processing (e.g., to the processor circuit 42 ), regardless of the value specified in the destination address field 26 .
  • the device interface circuit 40 of the network devices 12 can be configured for monitoring time slots on one more frequency channels in a 6TiSCH network using time slotted channel hopping (TSCH) based on IEEE 802.15.4e, and thus can detect the wireless data packet 16 within a prescribed timeslot (e.g., 6TiSCH “cell”) 48 allocated by the PCE 14 for transmission from the transmitting network device “ 24 ” 12 to the next-hop network device “ 23 ” 12 .
  • TSCH time slotted channel hopping
  • the wireless data packet 16 comprises a source routing header 20 that specifies a hop-by-hop path “ 12 - 11 - 21 ” for reaching the destination device “ 21 ” 12 in the wireless data network 10 .
  • the term “hop-by-hop path” can encompass “loose source routing” paths and/or “strict source routing” (i.e., explicit hop-by-hop) paths.
  • the hop-by-hop path “ 12 - 11 - 21 ” for reaching the destination device “ 21 ” 12 is a strict source route path that specifies the explicit hop-by-hop sequence of network devices 12 for reaching the destination device “ 21 ” 12
  • the source routing header 20 can specify a loose source route path.
  • the processor circuit 42 of the promiscuously detecting network device (e.g., “ 11 ” and/or “ 12 ”) 12 in operation 52 can determine whether the wireless data packet 16 includes a source routing header 20 that identifies the promiscuously detecting network device as following the next-hop device “ 23 ” targeted for reception of the wireless data packet 16 ; in other words, the next-hop device “ 23 ” targeted for reception is identified by its corresponding IP address in the destination address field 26 ; a network device 12 can determine whether it is identified as following the next-hop device (identified in the destination address field 26 ) in the hop-by-hop path based on whether its corresponding IP address is in the source routing header 20 .
  • the network device “ 13 ” 12 promiscuously detects the network device 12 in operation 50 , its corresponding processor circuit 42 would determine that its corresponding IP address is not in the source routing header 20 (and therefore not part of the hop-by-hop path), and the processor circuit 42 of the network device “ 13 ” 12 would drop the wireless data packet 16 in operation 54 .
  • the processor circuit 42 of the promiscuously detecting network device determines in operation 52 that the promiscuously detecting network device (e.g., “ 11 ” and/or “ 12 ”) is identified in the hop-by-hop path “ 12 - 11 - 21 ” as following the next-hop device “ 23 ” targeted for reception
  • the processor circuit 42 of the promiscuously detecting network device e.g., “ 11 ” and/or “ 12 ”
  • the processor circuit 42 of the promiscuously detecting network device (hereinafter the “intercepting network device”) in operation 56 can initiate executing intercepted forwarding of the wireless data packet 16 to the next-hop device successively following the intercepting network device in the hop-by-hop source route path “ 12 - 11 - 21 ”, enabling the targeted network device “ 23 ” 12 to be bypassed in the hop-by-hop source route path.
  • FIG. 4A illustrates an example “single-hop bypass” that can be executed in operation 56 by an intercepting network device “ 12 ” that is one hop away from the targeted network device “ 12 ”, assuming other “downstream” network devices (e.g. “ 11 ”) are not configured (or not permitted) to execute multi-hop bypass, described below.
  • the processor circuit 42 of the intercepting network device (e.g., “ 12 ”) in operation 56 can initiate execution of the intercepted forwarding by causing the targeted network device “ 23 ” 12 to suppress transmission of the wireless data packet 16 , based on the processor circuit 42 of the intercepting network device (e.g., “ 12 ”) generating and outputting (for transmission by the corresponding device interface circuit 40 ) an intercepting acknowledgement message (e.g., “ACK 12 -> 24 ” of FIG. 4A ) 30 before any corresponding acknowledgement (“ACK 23 -> 24 ” 46 of FIG. 4A ) by the targeted network device “ 23 ” 12 .
  • an intercepting acknowledgement message e.g., “ACK 12 -> 24 ” of FIG. 4A
  • the intercepting acknowledgement message 30 can indicate reception by the intercepting network device “ 12 ” 12 of the wireless data packet 30 transmitted by the transmitting network device “ 24 ” 12 , for example by explicitly identifying within the intercepting acknowledgement message 30 the transmitting network device “ 24 ” and the intercepting network device “ 12 ” (e.g., “ACK 23 -> 24 ”).
  • the processor circuit 42 of the intercepting network device (e.g., “ 12 ”) 12 can output the intercepting acknowledgement message 30 in operation 56 prior to the earliest transmission of the acknowledgement “ACK 23 -> 24 ” 46 , for example prior to expiration of a short interframe spacing (SIFS) interval following completed transmission of the wireless data packet “DATA 24 -> 23 ” 16 in a carrier sense multiple access with collision avoidance (CSMA-CA) network, or before expiration of a prescribed acknowledgement interval “PD” allocated for the targeted network device “ 23 ” 12 in a prescribed timeslot such as a TSCH or 6 TiSCH timeslot 48 allocated by the PCE 14 .
  • SIFS short interframe spacing
  • CSMA-CA carrier sense multiple access with collision avoidance
  • the targeted network device “ 23 ” 12 and the transmitting network device “ 24 ” 12 can detect the intercepting acknowledgement message 30 and in response determine that the intercepting network device “ 12 ” can forward the wireless data packet 16 in operation 58 following updating the destination address field 26 with the IP address of the next-hop device “ 11 ” 12 that is “downstream” of the intercepting network device “ 12 ” 12 in the hop-by-hop path “ 12 - 11 - 21 ” specified in the source routing header 20 .
  • a variation in operation 56 is the multi-hop bypass, illustrated in FIG. 4B , where multiple “downstream” promiscuously detecting network devices (e.g., “ 11 ” and/or “ 12 ”) can contend for the intercepted forwarding of the wireless data packet 16 .
  • multiple “downstream” promiscuously detecting network devices e.g., “ 11 ” and/or “ 12 ”
  • the processor circuit 42 of the intercepting network device “ 11 ” in operation 56 can transmit the intercepting acknowledgement message “ACK 11 -> 24 ” 30 a following the minimum delay “D 1 ” (following completed transmission of the wireless data packet 16 ), for example based on dividing the SIFS interval (or prescribed delay “PD”) by the hop count.
  • the processor circuit 42 of the intercepting network device “ 12 ” in operation 56 can transmit the intercepting acknowledgement message “ACK 12 -> 24 ” 30 b following the delay “D 2 ” (following completed transmission of the wireless data packet 16 , expiration of the delay “D 1 ”, and completed transmission of the intercepting acknowledgement message 30 a), for example based on dividing the SIFS interval (or prescribed delay “PD”) by the hop count, or at least before expiration of the SIFS interval (or prescribed delay “PD”); alternately, the intercepting network device “ 12 ” can be configured for initiating transmission of the intercepting acknowledgement message 30 after the minimum delay “D 1 ” following completed transmission of the intercepting acknowledgement message 30 a.
  • the network devices “ 12 ”, “ 23 ”, and “ 24 ” 12 can determine that the network device “ 11 ” promiscuously detected the wireless data packet 16 in response to detecting the intercepting acknowledgement message 30 a; the network devices “ 23 ” and “ 24 ” can determine that the network device “ 12 ” promiscuously detected the wireless data packet 16 in response to detecting the intercepting acknowledgement message 30 b.
  • the intercepting network device “ 11 ” 12 in operation 58 can complete intercepted forwarding by updating the destination address field 26 to specify the IP address for the next-hop network device “ 21 ”, and transmitting the updated wireless data packet 16 to the next-hop network device “ 21 ” 12 .
  • unnecessary transmissions of a wireless data packet can be minimized based on a “downstream” network device, identified within the hop-by-hop path specified in the source route header of the wireless data packet, initiating intercepted forwarding of the wireless data packet that enables one or more “upstream” network device transmissions to be bypassed.
  • the example embodiments improve efficiency by minimizing power consumption in an LLN network, based on minimizing unnecessary power consumption.

Abstract

In one embodiment, a method comprises promiscuously detecting, by a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.

Description

    TECHNICAL FIELD
  • The present disclosure generally relates to wireless bypass of a next-hop device in a source route path.
  • BACKGROUND
  • This section describes approaches that could be employed, but are not necessarily approaches that have been previously conceived or employed. Hence, unless explicitly specified otherwise, any approaches described in this section are not prior art to the claims in this application, and any approaches described in this section are not admitted to be prior art by inclusion in this section.
  • A Low-power and Lossy Network (LLN) is a network that can include dozens or thousands of low-power router devices configured for routing data packets according to a routing protocol designed for such low power and lossy networks (RPL): such low-power router devices can be referred to as “RPL nodes”. Each RPL node in the LLN typically is constrained by processing power, memory, and energy (e.g., battery power); interconnecting links between the RPL nodes typically are constrained by high loss rates, low data rates, and instability with relatively low packet delivery rates. A network topology (a “RPL instance”) can be established based on creating routes in the form of a directed acyclic graph (DAG) toward a single “root” network device, also referred to as a “DAG root” or a “DAG destination”. Hence, the DAG also is referred to as a Destination Oriented DAG (DODAG). Network traffic moves either “up” towards the DODAG root or “down” towards the DODAG leaf nodes.
  • A RPL DODAG root for a DODAG operating in non-storing mode can use a source routing header for data packets sent down from the DODAG root to an identified destination in the source routing header. A source route header also can be used to route a data packet from one network device in the DODAG to another network device in the DODAG.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
  • FIG. 1 illustrates a tree-based network comprising an example apparatus configured for executing promiscuous detection and intercepted forwarding of a data packet in response to detecting the apparatus is identified in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment.
  • FIG. 2 illustrates an example implementation of any one of the network devices of FIG. 1, according to an example embodiment.
  • FIG. 3 illustrates an example method of the apparatus of FIG. 1 executing promiscuous detection and intercepted forwarding of a data packet in response to the apparatus detecting identification thereof in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment.
  • FIGS. 4A and 4B illustrate example intercepting acknowledgement messages in response to the promiscuous detection of the wireless data packet, according to an example embodiment.
  • DESCRIPTION OF EXAMPLE EMBODIMENTS Overview
  • In one embodiment, a method comprises promiscuously detecting, by a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
  • In another embodiment, an apparatus comprises a device interface circuit and a processor circuit. The device interface circuit is configured for promiscuously detecting, in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network. The processor circuit is configured for determining that the apparatus is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet. The processor circuit further is configured for executing intercepted forwarding of the wireless data packet to a second next-hop device successively following the apparatus in the hop-by-hop path.
  • In another embodiment, one or more non-transitory tangible media are encoded with logic for execution by a machine and when executed by the machine operable for: promiscuously detecting, by machine implemented as a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
  • DETAILED DESCRIPTION
  • Particular embodiments enable a network device in a wireless data network (e.g., a RPL-based network having a DODAG topology) to promiscuously detect a wireless data packet transmitted to a targeted network device, and execute intercepted forwarding of the wireless data packet toward a destination on behalf of the targeted network device, in response to the network device detecting that it is identified as “downstream” of the targeted network device in a hop-by-hop source route path specified within a source route header in the wireless data packet. The intercepted forwarding enables the targeted network device to suppress transmission of the wireless data packet and thereby conserve energy.
  • Hence, the example embodiments enable the transmission of the wireless data packet based on the corresponding source route header, while eliminating unnecessary transmissions within the hop-by-hop path specified in the source route header.
  • FIG. 1 is a diagram illustrating an example wireless data network 10 having wireless network devices 12, for example RPL nodes, according to an example embodiment. The wireless data network 10 also can include a controller 14, for example a path computation element (PCE) 14, that is configured for providing control and/or management operations such as scheduling transmissions in the wireless data network 10, described below.
  • Each apparatus 12, 14 is a physical machine (i.e., a hardware device) configured for implementing network communications with other physical machines via wireless data links in the wireless data network 10. The term “configured for” or “configured to” as used herein with respect to a specified operation refers to a device and/or machine that is physically constructed and arranged to perform the specified operation. Hence, each apparatus 12, 14 is a network-enabled (user machine providing user access to a network)/machine implementing network communications via the wireless data network 10.
  • The wireless data network 10 can be implemented as having a tree-based topology (e.g., a DODAG) having a network device “Root” 12 serving as a root of the tree-based topology, and “child” devices having one or more attachment links (illustrated by the solid lines in FIG. 1) according to the DODAG topology. As will be apparent, the attachment links can be based on the network devices 12 executing an existing routing protocol, for example RPL as described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 6550. As illustrated in FIG. 1, the DODAG can be established such that: the network devices “11”, “12”, and “1312 are child network devices of the root network device “Root” 12; the network devices “12”, “21”, and “2212 are child network devices of the network device “1112; the network device “2312 is a child network device of the network device “1212; the network device “2412 is a child network device of the network device “1312; the network devices “31” and “3212 are child network devices of the network device “2112; the network device “2312 is a child network device of the network device “2212; and network devices“24”, “33” and “3412 are child network devices of the network device “2312.
  • Hence, the DODAG topology implemented in the wireless data network 10 enables any one source network device (e.g., “24”) 12 to send a wireless data packet 16 to a destination network device (e.g., “21”) 12 via the DODAG topology. RFC 6550 describes a non-storing mode, where only the root network device “Root” 12 stores any routing information for reaching a destination network device 12, and none of the child network devices (e.g., “11” through “34”) 12 store any routing information; hence, non-storing mode could require that all network traffic in the wireless data network 10 be forwarded to the root network device 12 for routing to the destination.
  • The PCE 14 and/or the root network device “Root” 12 also can send to a network device (e.g., “24”) 12 a hop-by-hop path source route path (e.g., “23-12-11-21”) for reaching a destination network device (e.g., “21”) 12, eliminating the necessity of forwarding the wireless data packet 16 to the root network device 12 in cases where the DODAG is implemented in non-storing mode (i.e., where one or more of the network devices 12 do not store route table entries for reaching child network devices). Hence, the source network device “2412 can generate and output a wireless data packet 16 that includes an IPv6 header 18, a source routing header 20 specifying the hop-by-hop source-route path for reaching the destination network device “2112, payload data 22, etc. As illustrated in FIG. 1, the IPv6 header 18 generated by the source network device “2412 can specify a source address field 24 specifying the IPv6 address of the source network device “2412, and a destination address field 26 specifying the IPv6 address of the first-hop node “2312 that is targeted for reception of the wireless data packet 16.
  • The source routing header 20 can specify a hop-by-hop source-route path “12-11-21” for reaching the destination network device (e.g., “21”) 12, starting with the second hop device (e.g., “12”) following the first hop specified in the destination address field 26 (e.g., “23”), and ending with the destination network device (e.g., “21”) 12; hence, the first-hop network device “2312, in response to receiving the wireless data packet 16 and detecting its IP address in the destination address field 26, can parse the source routing header 20 to determine the second hop device (e.g., “12”), and in response insert the corresponding IPv6 address of the next hop device (e.g., “12”) into the destination address field 26 prior to transmission to the targeted device. Hence, the targeted device of the transmission of the wireless data packet 16 can be identified by the corresponding IP address in the destination address field 26.
  • As described in further detail below, a network device (e.g. “12” or “11”) can promiscuously detect the wireless data packet 16 transmitted to the targeted network device “2312. In response to promiscuous detection of the wireless data packet 16 (indicated by the dashed line 28), a network device (e.g., “12”) (i.e., an intercepting network device) 12 can execute intercepted forwarding of the wireless data packet 16 toward the destination network device “2112 on behalf of the targeted network device “2312 (i.e., the network device targeted for reception of the wireless data packet 16), in response to the intercepting network device (e.g., “12”) 12 detecting that it is identified as “downstream” of the targeted network device “2312 in the hop-by-hop source route path “12-11-21” specified in the source routing header 20 of the wireless data packet 16.
  • The intercepting network device (e.g., “12”) 12 can initiate intercepted forwarding by transmitting an intercepting acknowledgement message 30, described below, that can enable the transmitting network device “2412 (having transmitted the wireless data packet 16) and the targeted network device “2312 to detect that the intercepting network device (e.g., “12”) 12 has already received the wireless data packet 16. Hence, the intercepting acknowledgement message 30 enables the targeted network device “2312 to suppress the unnecessary transmission of the wireless data packet 16 along the hop-by-hop source route path “12-11-21” and thereby conserve energy.
  • FIG. 2 illustrates an example implementation of any one of the devices 12 and/or 14 of FIG. 1, according to an example embodiment.
  • Each apparatus 12 and/or 14 can include a device interface circuit 40, a processor circuit 42, and a memory circuit 44. The device interface circuit 40 can include one or more distinct physical layer transceivers for communication with any one of the other devices 12 and/or 14; the device interface circuit 40 also can include an IEEE based Ethernet transceiver for communications with the devices of FIG. 1 via any type of data link (e.g., a wired or wireless link, an optical link, etc.). The processor circuit 42 can be configured for executing any of the operations described herein, and the memory circuit 44 can be configured for storing any data or data packets as described herein.
  • Any of the disclosed circuits of the devices 12 and/or 14 (including the device interface circuit 40, the processor circuit 42, the memory circuit 44, and their associated components) can be implemented in multiple forms. Example implementations of the disclosed circuits include hardware logic that is implemented in a physical logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC). Any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 44) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein. Hence, use of the term “circuit” in this specification refers to both a hardware-based circuit implemented using one or more integrated circuits and that includes logic for performing the described operations, or a software-based circuit that includes a processor circuit (implemented using one or more integrated circuits), the processor circuit including a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor circuit. The memory circuit 44 can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc.
  • Further, any reference to “outputting a message” or “outputting a packet” (or the like) can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a transmit buffer). Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (e.g., via wired electric current or wireless electric field, as appropriate) the message/packet stored in the non-transitory tangible memory medium to another network node via a communications medium (e.g., a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate). Similarly, any reference to “receiving a message” or “receiving a packet” (or the like) can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a receive buffer). Also note that the memory circuit 44 can be implemented dynamically by the processor circuit 42, for example based on memory address assignment and partitioning executed by the processor circuit 42.
  • FIG. 3 illustrates an example method of the apparatus of FIG. 1 executing promiscuous detection and intercepted forwarding of a data packet in response to the apparatus detecting identification thereof in a hop-by-hop source route path, following a next-hop device targeted for reception of the wireless data packet, according to an example embodiment. The operations described with respect to any of the Figures can be implemented as executable code stored on a computer or machine readable non-transitory tangible storage medium (i.e., one or more physical storage media such as a floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that are completed based on execution of the code by a processor circuit implemented using one or more integrated circuits; the operations described herein also can be implemented as executable logic that is encoded in one or more non-transitory tangible media for execution (e.g., programmable logic arrays or devices, field programmable gate arrays, programmable array logic, application specific integrated circuits, etc.). Hence, one or more non-transitory tangible media can be encoded with logic for execution by a machine, and when executed by the machine operable for the operations described herein.
  • In addition, the operations described with respect to any of the Figures can be performed in any suitable order, or at least some of the operations in parallel. Execution of the operations as described herein is by way of illustration only; as such, the operations do not necessarily need to be executed by the machine-based hardware components as described herein; to the contrary, other machine-based hardware components can be used to execute the disclosed operations in any appropriate order, or at least some of the operations in parallel.
  • Referring to FIG. 3, the device interface circuit 40 of any one of the network devices 12 (e.g., network devices “11” and/or “12”) can be configured for promiscuously detecting in operation 50 the wireless data packet 16 transmitted by the transmitting network device “2412 to the targeted network device “2312 (“DATA 24->23” of FIGS. 4A and 4B). The term “promiscuous” refers to the ability of the device interface circuit 40 to forward the received wireless data packet 16 for processing (e.g., to the processor circuit 42), regardless of the value specified in the destination address field 26. For example, the device interface circuit 40 of the network devices 12 can be configured for monitoring time slots on one more frequency channels in a 6TiSCH network using time slotted channel hopping (TSCH) based on IEEE 802.15.4e, and thus can detect the wireless data packet 16 within a prescribed timeslot (e.g., 6TiSCH “cell”) 48 allocated by the PCE 14 for transmission from the transmitting network device “2412 to the next-hop network device “2312.
  • As illustrated in FIG. 1, the wireless data packet 16 comprises a source routing header 20 that specifies a hop-by-hop path “12-11-21” for reaching the destination device “2112 in the wireless data network 10. As used herein, the term “hop-by-hop path” can encompass “loose source routing” paths and/or “strict source routing” (i.e., explicit hop-by-hop) paths. Hence, although the hop-by-hop path “12-11-21” for reaching the destination device “2112 is a strict source route path that specifies the explicit hop-by-hop sequence of network devices 12 for reaching the destination device “2112, the source routing header 20 can specify a loose source route path.
  • In response to promiscuously detecting (28 in FIGS. 1, 4A, and 4B) in operation 50 the wireless data packet 16 transmitted by the transmitting network device “2412, the processor circuit 42 of the promiscuously detecting network device (e.g., “11” and/or “12”) 12 in operation 52 can determine whether the wireless data packet 16 includes a source routing header 20 that identifies the promiscuously detecting network device as following the next-hop device “23” targeted for reception of the wireless data packet 16; in other words, the next-hop device “23” targeted for reception is identified by its corresponding IP address in the destination address field 26; a network device 12 can determine whether it is identified as following the next-hop device (identified in the destination address field 26) in the hop-by-hop path based on whether its corresponding IP address is in the source routing header 20. For example, if the network device “1312 promiscuously detects the network device 12 in operation 50, its corresponding processor circuit 42 would determine that its corresponding IP address is not in the source routing header 20 (and therefore not part of the hop-by-hop path), and the processor circuit 42 of the network device “1312 would drop the wireless data packet 16 in operation 54.
  • In response to the processor circuit 42 of the promiscuously detecting network device (e.g., “11” and/or “12”) determining in operation 52 that the promiscuously detecting network device (e.g., “11” and/or “12”) is identified in the hop-by-hop path “12-11-21” as following the next-hop device “23” targeted for reception, the processor circuit 42 of the promiscuously detecting network device (e.g., “11” and/or “12”) (hereinafter the “intercepting network device”) in operation 56 can initiate executing intercepted forwarding of the wireless data packet 16 to the next-hop device successively following the intercepting network device in the hop-by-hop source route path “12-11-21”, enabling the targeted network device “2312 to be bypassed in the hop-by-hop source route path.
  • FIG. 4A illustrates an example “single-hop bypass” that can be executed in operation 56 by an intercepting network device “12” that is one hop away from the targeted network device “12”, assuming other “downstream” network devices (e.g. “11”) are not configured (or not permitted) to execute multi-hop bypass, described below. The processor circuit 42 of the intercepting network device (e.g., “12”) in operation 56 can initiate execution of the intercepted forwarding by causing the targeted network device “2312 to suppress transmission of the wireless data packet 16, based on the processor circuit 42 of the intercepting network device (e.g., “12”) generating and outputting (for transmission by the corresponding device interface circuit 40) an intercepting acknowledgement message (e.g., “ACK 12->24” of FIG. 4A) 30 before any corresponding acknowledgement (“ACK 23->2446 of FIG. 4A) by the targeted network device “2312. The intercepting acknowledgement message 30 can indicate reception by the intercepting network device “1212 of the wireless data packet 30 transmitted by the transmitting network device “2412, for example by explicitly identifying within the intercepting acknowledgement message 30 the transmitting network device “24” and the intercepting network device “12” (e.g., “ACK 23->24”).
  • The processor circuit 42 of the intercepting network device (e.g., “12”) 12 can output the intercepting acknowledgement message 30 in operation 56 prior to the earliest transmission of the acknowledgement “ACK 23->2446, for example prior to expiration of a short interframe spacing (SIFS) interval following completed transmission of the wireless data packet “DATA 24->2316 in a carrier sense multiple access with collision avoidance (CSMA-CA) network, or before expiration of a prescribed acknowledgement interval “PD” allocated for the targeted network device “2312 in a prescribed timeslot such as a TSCH or 6 TiSCH timeslot 48 allocated by the PCE 14.
  • Hence, the targeted network device “2312 and the transmitting network device “2412 can detect the intercepting acknowledgement message 30 and in response determine that the intercepting network device “12” can forward the wireless data packet 16 in operation 58 following updating the destination address field 26 with the IP address of the next-hop device “1112 that is “downstream” of the intercepting network device “1212 in the hop-by-hop path “12-11-21” specified in the source routing header 20.
  • A variation in operation 56 is the multi-hop bypass, illustrated in FIG. 4B, where multiple “downstream” promiscuously detecting network devices (e.g., “11” and/or “12”) can contend for the intercepted forwarding of the wireless data packet 16. In particular, the processor circuit 42 of each of the intercepting network devices (e.g., “11” and/or “12”) in operation 56 can determine the hop count between the targeted device “23” and the corresponding intercepting network device 12: the intercepting network device “12” can determine it has a corresponding hop count of “1” (HC_12=1) from the targeted device “23”, whereas the intercepting device “11” can determine it has a corresponding hop count of “2” (HC_11=2) from the targeted device “23”; hence, the processor circuit 42 of each intercepting network device can accelerate its corresponding intercepting acknowledgement message 30 based on the corresponding hop count.
  • As illustrated in FIG. 4B, the processor circuit 42 of the intercepting network device “11” in operation 56 can transmit the intercepting acknowledgement message “ACK 11->2430 a following the minimum delay “D1” (following completed transmission of the wireless data packet 16), for example based on dividing the SIFS interval (or prescribed delay “PD”) by the hop count. In contrast, the processor circuit 42 of the intercepting network device “12” in operation 56 can transmit the intercepting acknowledgement message “ACK 12->2430 b following the delay “D2” (following completed transmission of the wireless data packet 16, expiration of the delay “D1”, and completed transmission of the intercepting acknowledgement message 30a), for example based on dividing the SIFS interval (or prescribed delay “PD”) by the hop count, or at least before expiration of the SIFS interval (or prescribed delay “PD”); alternately, the intercepting network device “12” can be configured for initiating transmission of the intercepting acknowledgement message 30 after the minimum delay “D1” following completed transmission of the intercepting acknowledgement message 30a.
  • Hence, the network devices “12”, “23”, and “2412 can determine that the network device “11” promiscuously detected the wireless data packet 16 in response to detecting the intercepting acknowledgement message 30 a; the network devices “23” and “24” can determine that the network device “12” promiscuously detected the wireless data packet 16 in response to detecting the intercepting acknowledgement message 30b. Hence, the intercepting network device “1112 in operation 58 can complete intercepted forwarding by updating the destination address field 26 to specify the IP address for the next-hop network device “21”, and transmitting the updated wireless data packet 16 to the next-hop network device “2112.
  • According to example embodiments, unnecessary transmissions of a wireless data packet can be minimized based on a “downstream” network device, identified within the hop-by-hop path specified in the source route header of the wireless data packet, initiating intercepted forwarding of the wireless data packet that enables one or more “upstream” network device transmissions to be bypassed. The example embodiments improve efficiency by minimizing power consumption in an LLN network, based on minimizing unnecessary power consumption.
  • While the example embodiments in the present disclosure have been described in connection with what is presently considered to be the best mode for carrying out the subject matter specified in the appended claims, it is to be understood that the example embodiments are only illustrative, and are not to restrict the subject matter specified in the appended claims.

Claims (20)

What is claimed is:
1. A method comprising:
promiscuously detecting, by a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network;
determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and
executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
2. The method of claim 1, wherein the executing intercepted forwarding comprises causing the first next-hop device to suppress transmission of the wireless data packet.
3. The method of claim 2, wherein the causing includes transmitting an intercepting acknowledgement message before any acknowledgement by the first next-hop device, the intercepting acknowledgement message indicating reception by the network device of the wireless data packet from a transmitting network device having transmitted the wireless data packet.
4. The method of claim 3, wherein the transmitting includes transmitting the intercepting acknowledgement message prior to expiration of a short interframe spacing (SIFS) interval following completed transmission of the wireless data packet, the wireless data network implemented as a carrier sense multiple access with collision avoidance (CSMA-CA) network.
5. The method of claim 3, wherein:
the promiscuously detecting includes the network device detecting the wireless data packet within a prescribed timeslot allocated for transmission of the wireless data packet by the transmitting network device to the first next-hop device;
the transmitting includes transmitting, within the prescribed timeslot, the intercepting acknowledgement message before expiration of a prescribed acknowledgement interval allocated for the first next-hop device.
6. The method of claim 3, wherein the transmitting an intercepting acknowledgement message comprises:
determining from the hop-by-hop path a number of hops between the first next-hop device and the network device; and
accelerating transmission of the intercepting acknowledgement message, relative to a prescribed acknowledgement interval allocated for the first next-hop device targeted for reception, based on the number of hops between the first next-hop device and the network device.
7. The method of claim 1, wherein the network device operates within the wireless data network according to a non-storing mode in a tree-based topology established according to a routing protocol for low power and lossy networks.
8. An apparatus comprising:
a device interface circuit configured for promiscuously detecting, in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network; and
a processor circuit configured for determining that the apparatus is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet;
the processor circuit further configured for executing intercepted forwarding of the wireless data packet to a second next-hop device successively following the apparatus in the hop-by-hop path.
9. The apparatus of claim 8, wherein the processor circuit is configured for executing intercepted forwarding based on causing the first next-hop device to suppress transmission of the wireless data packet.
10. The apparatus of claim 9, wherein the processor circuit is configured for generating and outputting, for transmission by the device interface circuit, an intercepting acknowledgement message before any acknowledgement by the first next-hop device, the intercepting acknowledgement message indicating reception by the apparatus of the wireless data packet from a transmitting network device having transmitted the wireless data packet.
11. The apparatus of claim 10, wherein the device interface circuit is configured for transmitting the intercepting acknowledgement message prior to expiration of a short interframe spacing (SIFS) interval following completed transmission of the wireless data packet, the wireless data network implemented as a carrier sense multiple access with collision avoidance (CSMA-CA) network.
12. The apparatus of claim 10, wherein:
the device interface circuit is configured for promiscuously detecting the wireless data packet within a prescribed timeslot allocated for transmission of the wireless data packet by the transmitting network device to the first next-hop device;
the device interface circuit configured for transmitting, within the prescribed timeslot, the intercepting acknowledgement message before expiration of a prescribed acknowledgement interval allocated for the first next-hop device.
13. The apparatus of claim 10, wherein the processor circuit is configured for:
determining from the hop-by-hop path a number of hops between the first next-hop device and the apparatus; and
accelerating transmission of the intercepting acknowledgement message, relative to a prescribed acknowledgement interval allocated for the first next-hop device targeted for reception, based on the number of hops between the first next-hop device and the apparatus.
14. The apparatus of claim 8, wherein the apparatus operates within the wireless data network according to a non-storing mode in a tree-based topology established according to a routing protocol for low power and lossy networks.
15. One or more non-transitory tangible media encoded with logic for execution by a machine and when executed by the machine operable for:
promiscuously detecting, by machine implemented as a network device in a wireless data network, a wireless data packet comprising a source route header specifying a hop-by-hop path for reaching a destination device in the wireless data network;
determining, by the network device, that the network device is identified in the hop-by-hop path as following a first next-hop device targeted for reception of the wireless data packet; and
executing intercepted forwarding of the wireless data packet, by the network device, to a second next-hop device successively following the network device in the hop-by-hop path.
16. The one or more non-transitory tangible media of claim 15, wherein the executing intercepted forwarding comprises causing the first next-hop device to suppress transmission of the wireless data packet based on transmitting an intercepting acknowledgement message before any acknowledgement by the first next-hop device, the intercepting acknowledgement message indicating reception by the network device of the wireless data packet from a transmitting network device having transmitted the wireless data packet.
17. The one or more non-transitory tangible media of claim 16, wherein the transmitting includes transmitting the intercepting acknowledgement message prior to expiration of a short interframe spacing (SIFS) interval following completed transmission of the wireless data packet, the wireless data network implemented as a carrier sense multiple access with collision avoidance (CSMA-CA) network.
18. The one or more non-transitory tangible media of claim 16, wherein:
the promiscuously detecting includes the network device detecting the wireless data packet within a prescribed timeslot allocated for transmission of the wireless data packet by the transmitting network device to the first next-hop device;
the transmitting includes transmitting, within the prescribed timeslot, the intercepting acknowledgement message before expiration of a prescribed acknowledgement interval allocated for the first next-hop device.
19. The one or more non-transitory tangible media of claim 16, wherein the transmitting an intercepting acknowledgement message comprises:
determining from the hop-by-hop path a number of hops between the first next-hop device and the network device; and
accelerating transmission of the intercepting acknowledgement message, relative to a prescribed acknowledgement interval allocated for the first next-hop device targeted for reception, based on the number of hops between the first next-hop device and the network device.
20. The one or more non-transitory tangible media of claim 15, wherein the network device operates within the wireless data network according to a non-storing mode in a tree-based topology established according to a routing protocol for low power and lossy networks.
US15/359,739 2016-11-23 2016-11-23 Wireless bypass of next-hop device in source route path Active 2037-09-29 US10389619B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/359,739 US10389619B2 (en) 2016-11-23 2016-11-23 Wireless bypass of next-hop device in source route path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/359,739 US10389619B2 (en) 2016-11-23 2016-11-23 Wireless bypass of next-hop device in source route path

Publications (2)

Publication Number Publication Date
US20180146413A1 true US20180146413A1 (en) 2018-05-24
US10389619B2 US10389619B2 (en) 2019-08-20

Family

ID=62144876

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/359,739 Active 2037-09-29 US10389619B2 (en) 2016-11-23 2016-11-23 Wireless bypass of next-hop device in source route path

Country Status (1)

Country Link
US (1) US10389619B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320652B2 (en) * 2017-01-09 2019-06-11 Cisco Technology, Inc. Dynamic installation of bypass path by intercepting node in storing mode tree-based network
US20200205053A1 (en) * 2017-05-03 2020-06-25 Assa Abloy Ab Routing in a mesh network
CN111600797A (en) * 2019-02-21 2020-08-28 华为技术有限公司 Data transmission method, node and system
US10805210B1 (en) * 2019-09-20 2020-10-13 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers using loose source routing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749786B2 (en) 2017-03-01 2020-08-18 Cisco Technology, Inc. Path optimization based on reducing dominating set membership to essential parent devices
US10938707B2 (en) * 2019-02-13 2021-03-02 Cisco Technology, Inc. Peer-to-peer optimization in existing tree-based topology based on generating locally-optimized tree using confined advertisements

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533159B1 (en) * 2002-08-30 2009-05-12 Adtran Inc. Selective flooding in a multicast network
US7729285B2 (en) 2005-03-22 2010-06-01 Itt Manufacturing Enterprises, Inc. Energy-efficient network protocol and node device for sensor networks
US20070153707A1 (en) 2006-01-04 2007-07-05 Pascal Thubert Ad hoc network formation and management based on aggregation of ad hoc nodes according to an aggregation hierarchy
US8331240B2 (en) 2007-11-08 2012-12-11 Harris Corporation Promiscuous monitoring using internet protocol enabled devices
US8874788B2 (en) * 2012-11-05 2014-10-28 Cisco Technology, Inc. Push-based short-cut requests within a directed acyclic graph
US9350683B2 (en) 2013-06-18 2016-05-24 Cisco Technology, Inc. Reliable bulk data dissemination using rateless codes
US9413479B2 (en) 2014-01-15 2016-08-09 Cisco Technology, Inc. Intelligent wiring in a low power and lossy network
US10038608B2 (en) 2014-07-21 2018-07-31 Cisco Technology, Inc. Leapfrog communications in a TSCH network
US9859970B2 (en) 2015-03-09 2018-01-02 Cisco Technology, Inc. Parent device allocation of retransmit slot to child network device on behalf of peer child device in a deterministic network
CN108353262B (en) * 2015-08-04 2021-01-01 康维达无线有限责任公司 Quality of service management of end-to-end service layer of Internet of things
WO2017075410A1 (en) * 2015-10-30 2017-05-04 Convida Wireless, Llc System and methods for achieving end-to-end security for hop-by-hop services

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320652B2 (en) * 2017-01-09 2019-06-11 Cisco Technology, Inc. Dynamic installation of bypass path by intercepting node in storing mode tree-based network
US20200205053A1 (en) * 2017-05-03 2020-06-25 Assa Abloy Ab Routing in a mesh network
CN111600797A (en) * 2019-02-21 2020-08-28 华为技术有限公司 Data transmission method, node and system
US20200344161A1 (en) * 2019-02-21 2020-10-29 Huawei Technologies Co., Ltd. Data Transmission Method, Node and System
US11570093B2 (en) * 2019-02-21 2023-01-31 Huawei Technologies Co., Ltd. Data transmission method, node and system
US10805210B1 (en) * 2019-09-20 2020-10-13 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers using loose source routing
US11323361B2 (en) * 2019-09-20 2022-05-03 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers using loose source routing

Also Published As

Publication number Publication date
US10389619B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
US10389619B2 (en) Wireless bypass of next-hop device in source route path
US10244525B2 (en) Promiscuous detection and intercepted forwarding by parent network device in a storing-mode tree-based network
EP3269202B1 (en) Parent device allocation of retransmit slot to child network device on behalf of peer child device in a deterministic network
US10009793B2 (en) Reverse insertion of management packet into a deterministic track
EP3192310B1 (en) Dynamic installation of local storing mode paths in a non-storing low-power and lossy network
US10231253B2 (en) Per-packet, time slotted channel hopping (TSCH), meta-timeslot
US9344256B2 (en) Dominating set identification for path computation based on directed acyclic graph membership
US11838198B2 (en) Path optimization based on reducing dominating set membership to essential parent devices
US10320659B2 (en) Source routed deterministic packet in a deterministic data network
US10623326B2 (en) Jitter compensation along multiple-path deterministic network segment
US10320652B2 (en) Dynamic installation of bypass path by intercepting node in storing mode tree-based network
US10938707B2 (en) Peer-to-peer optimization in existing tree-based topology based on generating locally-optimized tree using confined advertisements
US20190014575A1 (en) Insertion slots along deterministic track for movable network device in a deterministic network
US10491515B2 (en) Fast and loss-free local recovery by a RPL parent device
US20160269188A1 (en) Reverse directed acyclic graph for multiple path reachability from origin to identified destination via multiple target devices
US20220150793A1 (en) Overlapping subdags in a rpl network
Parmar et al. Analyse impact of malicious behaviour of AODV under performance parameters
US11758367B2 (en) Multicast tree topology having multicast hubs for different multicast areas in a Wi-SUN FAN data network
Choure et al. Identification of node behavior for Mobile Ad-hoc Network
US10856170B1 (en) Reducing traffic in a low power and lossy network based on removing redundant certificate from authentication message destined for constrained wireless device via authenticated wireless device
Klein et al. A statistic-based approach towards routing in mesh networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WETTERWALD, PATRICK;THUBERT, PASCAL;LEVY-ABEGNOLI, ERIC MICHEL;AND OTHERS;SIGNING DATES FROM 20161111 TO 20161123;REEL/FRAME:040676/0799

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4