DYNAMIC MULTICASTING SCHEME FOR MESH NETWORKS

Abstract
The Dynamic Efficient Encapsulated Multicasting (DEEM) scheme described in this invention improves multicast packet transmissions in mobile mesh networks. An Efficient Encapsulation Criteria (EEC) is used by the DEEM that takes into account different hop-by-hop wireless interface communication conditions. In another embodiment, a Dynamic Efficient Tunnel Multicast (DETF) scheme reduces the number of multicast packet transmissions sent over VPN tunnels. In yet another embodiment, a multicast debugging tool uses Multicast Tracer Packets (MTP) to identify different classes of multicast traffic.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a multi-hop, ad-hoc, wireless network.



FIG. 2 shows a mesh node that uses the Dynamic Efficient Encapsulated Multicasting (DEEM) scheme.



FIG. 3 is a flow diagram that describes how the node in FIG. 2 uses fan out Efficient Encapsulation Criteria (EEC).



FIG. 4 is a flow diagram that describes how the node in FIG. 2 uses bandwidth EEC.



FIG. 5 is a flow diagram that describes how the node in FIG. 2 uses Packet Error Rate (PER) EEC.



FIG. 6 is a flow diagram that describes how the node in FIG. 2 uses collision EEC.



FIG. 7 is a flow diagram that describes how the node in FIG. 2 uses data type EEC.



FIG. 8 shows how the node in FIG. 2 uses the DEEM and EEC on a hop-by-hop basis.



FIG. 9 shows how multicast transmissions are improved for Virtual Private Network (VPN) tunnels.



FIG. 10 shows how multicast tracer packets are used for tracing a multicast path in a mesh network.


Claims
  • 1. A mesh node, comprising: a processor configured to monitor one or more wireless communication conditions with other mesh nodes in a mesh network and selectively transmit either unicast packets or multicast packets according to the monitored wireless communication conditions.
  • 2. The mesh node according to claim 1 wherein the processor selectively retransmits received multicast packets or encapsulates the received multicast packets as unicast packets and retransmits the encapsulated multicast packets according to how efficient the transmissions would be with the monitored wireless communication conditions.
  • 3. The mesh node according to claim 1 wherein the processor identifies a number of adjacent one-hop nodes for transmitting or receiving multicast traffic and either transmits the multicast packets or the unicast packets according to the number of identified adjacent one-hop nodes.
  • 4. The mesh node according to claim 1 wherein the processor identifies an amount of available wireless bandwidth with other nodes and either transmits the multicast packets or unicast packets according to the amount of identified available bandwidth.
  • 5. The mesh node according to claim 1 wherein the processor identifies a packet error rate for wireless communications with other nodes and either transmits the multicast packets or the unicast packets according to the identified packet error rate.
  • 6. The mesh node according to claim 1 wherein the processor identifies an amount of wireless congestion with other wireless nodes and either transmits the multicast packets or unicast packets according to the amount of wireless congestion.
  • 7. The mesh node according to claim 1 wherein the processor identifies a type of data contained in wirelessly received multicast packets and either transmits the multicast packets or the unicast packets according to the identified type of data.
  • 8. The mesh node according to claim 1 including an Efficient Encapsulation Criteria (EEC) table that the processor uses to track multiple different wireless communication criteria that relate to how efficiently the processor can wirelessly transmit the multicast packets and the unicast packets, the processor then using the EEC table to selectively transmit either the multicast packets or the unicast packets.
  • 9. The mesh node according to claim 2 wherein the processor receives a tracer packet along with the received multicast packets, attaches a local node identifier to the tracer packet, and selectively multicasts or unicasts the tracer packet along with the other received packets according to the monitored wireless communication conditions.
  • 10. A wireless communication system, comprising: multiple nodes configured to wirelessly communicate with each other where at least some of the nodes wirelessly receive data from other nodes and then wirelessly forward the received data on to other nodes;at least some of the multiple nodes individually monitoring local wireless communication conditions associated with wirelessly receiving data and wirelessly transmitting data and then each independently selectively unicasting the received data to other nodes or multicasting the received data to other nodes according to the locally monitored wireless communication conditions.
  • 11. The system according to claim 10 wherein the multiple nodes independently decide to either unicast or multicast the received data according to efficiency of unicasting or multicasting with the monitored wireless communication conditions.
  • 12. The system according to claim 10 wherein at least some of the nodes receive a tracer packet along with the other received data, attach an address or identifier to the tracer packet, and then forward the tracer packet along with the other unicast or multicast data.
  • 13. The system according to claim 10 wherein the nodes independently use different local wireless communication conditions at different times when selectively unicasting or multicasting the received data to the other nodes.
  • 14. A method for operating a wireless communication device, comprising: identifying wireless communication criteria that determine efficiencies of unicasting or multicasting packets;receiving packets for wirelessly communicating to one or more other wireless devices; andeither multicasting the received packets or multicasting the packets to the other wireless devices according to the identified wireless communication criteria.
  • 15. The method according to claim 14 including: receiving multicast packets for wirelessly communicating to the other wireless devices;re-multicasting the received multicast packets to the other wireless devices or encapsulating the received multicasting packets as unicast packets and unicasting the encapsulated multicast packets according to the identified wireless communication criteria.
  • 16. The method according to claim 14 including: identifying a number of wireless communication devices that are currently available for receiving packets or transmitting packets;unicasting the packets when there are a relatively few number of identified wireless communication devices; andmulticasting the packets when there are a relatively large number of identified wireless communication devices.
  • 17. The method according to claim 14 including: identifying an amount of wireless communication traffic, congestion, or packet error rate with other adjacent wireless communication devices;unicasting the packets when there is a relatively large amount of identified wireless communication traffic, congestion, or packet error rate; andmulticasting the packets when there is a relatively small amount of identified wireless communication traffic, congestion, or packet error rate.
  • 18. A network processing node, comprising: a processor configured to establish Virtual Private Network (VPN) tunnels with multiple different VPN clients and identify which of the VPN clients are associated with same multicast groups, the processor configured to receive multicast packets from the VPN clients belonging to particular multicast groups and further configured to only forward the multicast packets through the VPN tunnels associated with other VPN clients belonging to the same particular multicast groups.
  • 19. The network processing node according to claim 18 wherein the processor establishes unicast VPN tunnels with the VPN clients and then forwards the multicast packets only over the multiple different unicast VPN tunnels associated with the VPN clients associated with the same multicast groups.
  • 20. The network processing node according to claim 18 wherein the processor is located within a VPN server that operates within a wired or wireless Internet infrastructure.
Provisional Applications (1)
Number Date Country
60773756 Feb 2006 US