Method and device for routing mesh network traffic
A method and device for routing to a non-mesh network a first data flow received at a first mesh gateway via a wireless link as provided improves network efficiency. According to one aspect, the method includes determining that available bandwidth of a backhaul link to the non-mesh network through the first mesh gateway is below a threshold value. The first data flow is then determined to have a higher priority than a second data flow that is currently routed through the first mesh gateway to the non-mesh network. The second data flow is then forwarded to a second mesh gateway, whereby the second mesh gateway routes the second data flow to the non-mesh network. The first data flow is then routed to the non-mesh network through the first mesh gateway after forwarding the second data flow to the second mesh gateway.
1. A method for routing to a non-mesh network a first data flow received at a first mesh gateway via a wireless link, the method comprising:
determining that an available bandwidth of a backhaul link to the non-mesh network through the first mesh gateway is below a threshold value;
determining that the first data flow from a wireless node has a higher priority than a second data flow from the wireless node currently routed through the first mesh gateway to the non-mesh network;
forwarding the second data flow to a second mesh gateway in response to determining that the available bandwidth of the backhaul link is below the threshold value and determining that the first data flow has a higher priority than the second data flow, wherein the second mesh gateway is selected from a plurality of mesh gateways based on preference information of mesh gateways in the plurality of mesh gateways, wherein the preference information comprises one or more of a latency factor weight value, a reliability factor weight value, and a bandwidth factor weight value of a flow type, whereby the second mesh gateway routes the second data flow to the non-mesh network; and
routing the first data flow to the non-mesh network through the first mesh gateway after forwarding the second data flow to the second mesh gateway.
2. The method of claim 1 , wherein the priority of the first data flow is determined by priority values of data packets in the first data flow.
3. The method of claim 1 , wherein the priority of the first data flow is determined by types of data packets in the first data flow.
4. The method of claim 1 , wherein the priority of the first data flow is determined by a flow type or a flow identity of the first data flow.
5. The method of claim 1 , wherein determining that the first data flow has a higher priority than the second data flow uses one or more of a reliability, bandwidth, or latency of the backhaul link to the non-mesh network through the first mesh gateway.
6. The method of claim 1 , wherein the first data flow is identified by identifying data packets having identical source addresses and identical destination addresses.
7. The method of claim 1 , wherein the first data flow is identified by identifying data packets having identical source addresses, identical destination addresses, and identical priority values.
8. The method of claim 1 , wherein the first data flow is identified by identifying data packets having identical source addresses and identical flow identities.
9. The method of claim 1 , wherein the first mesh gateway maintains routes to a plurality of mesh gateways.
10. The method of claim 1 wherein the first mesh gateway receives the preference information via HELLO messages.
11. The method of claim 1 , wherein the second mesh gateway is selected from the plurality of mesh gateways based on route path metrics of route paths to the non-mesh network via the plurality of mesh gateways, where the route path metrics are calculated according to the following equation:
MetricValue n =RouteMetric n ×( w id,l ×f l +w id,r ×f r +w id,b ×f b ),
where MetricValue n is a route path metric of a route path to an n-th mesh gateway in the plurality of mesh gateways for a flow type of the first data flow, RouteMetric n is a route metric of a route path, f l is a latency factor of the flow type, f r is a reliability factor of the flow type, f b is a bandwidth factor of the flow type, id is a flow type identity, and w id,l , w id,r , and w id,b are a latency factor weight value, a reliability factor weight value, and a bandwidth factor weight value, respectively, for the flow type.
12. The method of claim 1 , wherein the threshold value is a data transmission rate of the first data flow.
13. The method of claim 1 , wherein the first data flow and the second data flow are received from a wireless node for which the first mesh gateway is a designated mesh gateway.
14. The method of claim 1 , wherein the first data flow and the second data flow are received from different wireless nodes.
15. A first mesh gateway for routing to a non-mesh network a first data flow received via a wireless link, comprising:
means for determining that an available bandwidth of a backhaul link to the non-mesh network through the first mesh gateway is below a threshold value;
means for determining that the first data flow from a wireless node has a higher priority than a second data flow from the wireless node currently routed through the first mesh gateway to the non-mesh network;
means for selecting a second mesh from a plurality of mesh gateways based on preference information of mesh gateways in the plurality of mesh gateways, wherein the preference information comprises one or more of a latency factor weight value, a reliability factor weight value, and a bandwidth factor weight value for a flow type;
means for forwarding the second data flow to a second mesh gateway in response to determining that the available bandwidth of the backhaul link is below the threshold value and determining that the first data flow has a higher priority than the second data flow, whereby the second mesh gateway routes the second data flow to the non-mesh network; and
means for routing the first data flow to the non-mesh network through the first mesh gateway after forwarding the second data flow to the second mesh gateway.