Various embodiments relate to networks, and in an embodiment, but not by way of limitation, to fault tolerance in wireless networks.
For wireless networks to be considered as a viable alternative to wired networks, the wireless networks must satisfy performance criteria such as reliability, availability, integrity, long range/coverage, and timeliness. It is challenging to achieve these criteria in wireless networks, especially those installed in harsh environments.
Wireless networks can be configured to enable peer to peer communication between neighboring nodes of the network. Such a configuration is commonly referred to as an ad-hoc wireless network. These networks can be configured to form multi-hop mesh networks. Multi-hop networks typically offer longer effective communication ranges or coverage than conventionally configured single hop wireless networks. However, other issues such as robustness and dependability still remain. Additionally, in mesh networks, a considerable amount of traffic related to the network and routing mechanisms consumes the available bandwidth of the network.
In an embodiment, a wireless network includes a plurality of nodes. Each node in the network includes two or more redundant network interfaces, and each of these network interfaces operates in a different communication channel. The nodes are coupled together with a plurality of wireless links. A middleware layer residing on each of the nodes detects the link status associated with each interface, and switches to a redundant interface of a node when the link degrades beyond a tolerance.
In the following detailed description, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention, although different, are not necessarily mutually exclusive. Furthermore, a particular feature, structure, or characteristic described herein in connection with one embodiment may be implemented within other embodiments without departing from the scope of the invention. In addition, it is to be understood that the location or arrangement of individual elements within each disclosed embodiment may be modified without departing from the scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In the drawings, like numerals refer to the same or similar functionality throughout the several views.
Embodiments of the invention include features, methods or processes embodied within machine-executable instructions provided by a machine-readable medium. A machine-readable medium includes any mechanism which provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, a network device, a personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). In an exemplary embodiment, a machine-readable medium includes volatile and/or non-volatile media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.), as well as electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.).
Such instructions are utilized to cause a general or special purpose processor, programmed with the instructions, to perform methods or processes of the embodiments of the invention. Alternatively, the features or operations of embodiments of the invention are performed by specific hardware components which contain hard-wired logic for performing the operations, or by any combination of programmed data processing components and specific hardware components. Embodiments of the invention include digital/analog signal processing systems, software, data processing hardware, data processing system-implemented methods, and various processing operations, further described herein.
Wireless mesh networks offer a wide variety of advantages such as extended network operating range or coverage, ease of installation, configuration, and maintenance, and are cheaper in cost compared to an infrastructure mode of operation. Nevertheless, mesh networks have their own set of problems like additional communication delays due to multi-hop transmissions, routing overheads in terms of route discovery and route information maintenance, and performance of the network (depends on network size). Apart from these, wireless mesh networks have to live with the traditional issues associated with wireless technologies such as link reliability, robustness, etc. Thus, in one or more embodiments, an architecture makes the communication in the wireless mesh networks more resilient to failures and also addresses the issue of overhead due to the routing information exchanged between the nodes. The embodiments disclosed herein provide fault tolerance through redundancy. In at least one embodiment, a middleware layer based architecture provides and manages this redundancy-based fault tolerance.
In an embodiment, one or more architectures increase dependability by providing mechanisms for fault tolerance in the wireless networks. While in this disclosure these architectures are presented in connection with the IEEE 802.11x wireless standard, the architectures are not so limited, and the embodiments disclosed herein can be applied to any wireless network, and in particular ad-hoc wireless networks that support multiple non-overlapping channels or multiple accesses in the same channel like Code Division Multiple Access (CDMA) or Time Division Multiple Access (TDMA). The architectural embodiments disclosed herein make these entire wireless networks more robust and dependable by selecting the best available link/route between the nodes making communication more robust and dependable.
One or more embodiments address the fact that performance of multi-hop mesh networks is prone to degradation due to failure of wireless links between nodes and failure of intermediate nodes. The architectures disclosed herein incorporate a fault tolerance mechanism into the devices so that they can handle these problems and provide robust communication between the wireless nodes.
Normally, wireless networks are operated in “Infrastructure Mode”, also referred to as the master-slave mode. In this mode of operation, a central master controls the network resources and the communication traffic between the nodes. Any communication between the nodes in this mode is coordinated by a network master/coordinator. Alternatively, one can configure these nodes in Ad-hoc mode, wherein the nodes can communicate with their peer nodes directly. However, a disadvantage of the Ad-hoc mode is the network operating range or coverage that can be achieved using the ad-hoc mode is limited to the range of its transceiver. This problem can be overcome by incorporating routing capabilities into the wireless nodes and forming a wireless mesh network. With this capability, the wireless nodes can communicate with distant nodes with the help of the intermediate nodes that fall in their route. Such wireless networks are referred to as multi-hop wireless mesh networks. A typical wireless mesh network 100 is as shown in
With reference again to
The basic topology of the wireless mesh network of
Route 1:—Node1→Node2→Node5→Gateway
Route 2:—Node1→Node3→Node7→Gateway
It is well known that the wireless communication link is susceptible to failures due to interference, channel fading, reflecting obstructions, etc. Apart from these physical factors, there are several other factors such as congestion in the network, failure of the interface cards and devices that increase chances of communication failure. One of the possible solutions to achieve reliability is to modify the communication protocol layers like Medium Access Control and Link Layer Control along with robust modulation techniques. The other approach is to combat the effects of an unreliable communication medium by incorporating fault tolerance into the system. This invention focuses on the second approach and explains various mechanisms in which fault tolerance can be provided. The mechanisms are based on link or channel redundancy between the wireless nodes, route redundancy between the source and destination, path redundancy for a given route, redundancy of network interface, and nodes.
These fault tolerance mechanisms also provide features such as application level transparency, zero delay in switchover and also backward compatibility so that the fault tolerant nodes would be able to communicate with the similar non-fault tolerant nodes having same MAC and PHY layers.
The middleware layer of each node detects link status associated with each interface by monitoring the link health on each of the interfaces and initiates the process of switching over to the redundant interface in the event of the failure of one interface or degradation of corresponding link beyond tolerance. The tolerance can be set to a level determined by the developer and/or operator of the network based on reliability requirement and error tolerance of the application. Depending on the availability of routes, routing protocol attempts to provide two optimal non-overlapping routes between the source and the destination.
In addition, the middleware layer provides dual paths between each pair of nodes by configuring the network interface cards in non-overlapping channels.
For example, in the network shown in
From the above examples, it can be seen that the number of redundant paths available between a source wireless node and a destination wireless node depends upon the number of hops. If the destination is ‘n’ hops away from the source, the number of redundant paths available is 2n when each node is provided with two network interface cards.
In this approach, despite providing redundant network interfaces on each node, the failure of any of the intermediate nodes will result in the failure of communication between the source and the destination nodes. Failure of both paths/links between any two nodes on a route also results in loss of communication between the source and destination. Hence, to provide tolerance to node failures and dual path/link failures, a route redundancy is implemented by exploiting the available non-overlapping routes. In this scenario, the source node can either multicast the data on the same channel to its neighbors, or it can unicast data to its neighbors on non-overlapping routes over different channels. Subsequently, the intermediate nodes can unicast/multicast the data either on one of the two interfaces based on their channel assessment, or they can unicast/multicast the data on both their channels. The latter approach would result in multiple instances of the same packets being received at the destination node and less effective throughput. A user can choose between the options of the intermediate nodes multicasting on different routes (possible if distributed routing protocol is used) and channels or just unicast (if only source routing protocols are used) on one of the preferred routes and channel based on the inputs from the middleware layer based on reliability requirement in given environment and BW requirement of the application. However, the source node would multicast the data packets on more than one route. Thus, this approach ensures both data, route, and node redundancy to augment the channel redundancy already provided by dual network interfaces provided in each node.
Thus in this approach, the number of paths available for a packet from a source node to reach the destination node in a ‘n’ hop network would be in multiples of 2n, where the multiplying factor depends upon the number of alternate non-overlapping routes used to convey the packet, and the manner in which the intermediate nodes would forward this packet (multicast or unicast). Additionally, data redundancy and node redundancy are also assured in this approach.
Another embodiment with reference to
IEEE's 802.11x networks provide three non-overlapping frequency channels. In such a case, the number of available paths would be in multiples of 3n. Therefore, in general, in a multi-hop mesh network, with each node having ‘m’ interfaces, the number of redundant paths available (for a single route) between a source and destination is mn.
Apart from these, redundancy can be provided at the gateway level as is illustrated in
In order to achieve the desired fault tolerant properties explained above, the architecture of the fault tolerant nodes can be slightly modified as shown in
The LFD 634 primarily detects the non-availability of the given communication link. The LFD 634 can perform this task based on combinations of several options including a sudden drop in the Receive Signal Strength Indication(RSSI), an observation regarding the amount of congestion in a given link, the number of packets waiting for the medium in the transmission queue, the total number of re-transmissions/successful transmissions, and any other techniques known in the art.
Based on these observations, once the LFD 634 determines that the given link is unusable, the LSO 636 switches over to the redundant link based on the architecture alternatives suggested earlier. In short, the fault tolerant layer 630 depicted in
It is to be understood that the above detailed description is intended to be illustrative, and not restrictive. Other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
In the above detailed description of embodiments of the disclosure, various features are grouped together in one or more embodiments for streamlining the disclosure. This is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the detailed description of embodiments, with each claim standing on its own as a separate embodiment. It is understood that the above description is intended to be illustrative, and not restrictive. It is intended to cover all alternatives, modifications and equivalents as may be included within the scope of the disclosure as defined in the appended claims. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” and “third,” etc., are used merely as labels, and are not intended to impose numerical requirements on their objects.
The abstract is provided to comply with 37 C.F.R. 1.72(b) to allow a reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.