The present invention relates to methods, apparatus and systems for communication network data packet routing and more specifically to methods, apparatus and systems for transparent link layer mesh routing in a communication network.
Currently, Local Area Network and Wireless Local Area Network (LAN/WLAN) architecture is composed of network switches, bridges, hubs, routers, wireless access points, and wired and wireless clients. These devices all provide a certain degree of mobility and ease of deployment. Mobility allows the user of a wireless client, such as laptop computer, hand held device or the like to remain actively connected to the network while mobile. It is also possible to impart mobility to other wireless network devices such as switches, bridges, hubs, routers and the like. Ease of deployment is defined by ease of which clients can participate in the network; the less need to reconfigure the client or implement network-related software on the client, the greater the ease of deployment. Additionally ease of deployment is defined in terms of the range of the devices that comprise the network. If wired switches, bridges and routers are implemented, range is typically limited and numerous devices are needed to construct the network. Currently, there is no comprehensive network solution that provides high mobility as well as ease of deployment.
It is noted that the Internet Engineering Task Force (IETF) currently is addressing a standard for mobility over Internet Protocol version 6 (IPv6). IPv6 is the “next generation” protocol designed to replace the current version Internet Protocol, IP Version 4 (IPv4). The draft standard for mobility may be adopted by IPv4 at some point in the future. However, IPv6 is still in a developmental step and the adoption of a standard for mobility for IPv4 is still speculative.
A need exists to implement a network device below the network layer, on the link layer, that would pass all network layer information through the network. In this regard, the networked clients would be able to access other clients on the network transparently, without any knowledge of the routing device. Such a device would provide more efficiency than the IPv6 mobility because it would not require all of the data packets to be sent to a “home” router prior to being re-sent to another networked client.
A mesh network is a high-level network used to connect widely separated wireless routers that may not “see” each other (e.g., limited to line of sight (LOS)). A network mesh allows any client visible to any router in the mesh to access any other client visible to any other router in the mesh. Currently, most wireless devices, such as wireless routers, wireless bridges, wireless access points and the like do not implement any type of mesh networking. This is because most commercial off-the-shelf (COTS) devices are built to accommodate the current IEEE standard for wireless LAN communication, 802.11. While the 802.11 standard for these devices does not specifically forbid mesh operation, it also does not implicitly allow mesh operation of the wireless devices.
Network layer routers, and specifically network layer mesh routers, typically require client configuration. For example, routers at the network layer may require the client to perform IP address configuration, subnet configuration and/or route table manipulation. Some of these configurations can be accomplished via standard protocols, such as Dynamic Host Configuration Protocol (DHCP). However, the clients need to be configured to use these protocols. Link layer routers differ from network layer routers in that the routers are network protocol independent, thereby allowing the router to communicate with the clients regardless of the communication protocol. However, implementation of link layer routing, and specifically link layer mesh routing, has been hampered by the fact that such use requires a cost-prohibitive custom network stack that would not be supported by existing network architecture.
Thus, a need exists to implement a network that provides high mobility to both clients and routers, extended LAN range without the need to employ additional hardware, and ease of deployment by making client network initiation transparent to the clients joining the network. The need exists to initiate routing on the link layer so that routing can take place independent of network protocol. Such link layer routing should be implemented without having to incorporate a custom network stack; i.e., link layer routing on the existing network architecture is the desired concept.
The present invention comprises a method and apparatus for transparent mesh routing in a communications network. By implementing transparent mesh routers at the link-layer of the network hierarchy, the routers can be easily deployed in the network without having to reconfigure or add client-side drivers to the networked clients. The present invention uses L2 (Link Layer) for route initiation and active client discovery and a combination L2 and L3 (Network Layer) for passive client discovery. By responding to data packets on Link Layer, networks composed of these transparent mesh routers require neither configuration by the network operator nor any pre-configuration of the network clients. The present invention is able to accomplish link layer route initiation without the need to implement a custom network stack (i.e., the invention utilizes the existing network architecture).
The mesh routers are transparent, in that, they allow clients to access other clients without any knowledge of the routing device being used. The transparent mesh router is capable of dynamically discovering clients and routing data packets to other clients in the network. The transparent mesh router adds efficiency to networked communication because it does not require that all communications be sent to a home node prior to being re-sent to a networked client (as in Mobile IP). In the transparent mesh router environment the networked clients may be mobile or fixed. The transparent mesh router will maintain connectivity between mobile clients with minimal interruption via a self-healing routing algorithm. The transparent mesh router is capable of communicating with other transparent mesh routers via either a wired or wireless backbone. In addition, the transparent mesh router is capable of medium to long-haul wireless connections, allowing for routers to be spaced apart in the range of miles or kilometers.
In one embodiment of the invention a system for network communication is defined that includes one or more clients and one or more transparent mesh routers in network communication with one or more clients. The transparent mesh routers are in network communication via a suitable network backbone. The transparent mesh routers are specified as operating on a data link layer of a network architecture hierarchy.
In the system embodiment the one or more clients may be wireless clients, wired clients or a combination of wireless and wired clients. The network backbone may be a wireless network backbone or a wired backbone. The wireless nature of the clients and the backbone provides mobility to both the clients and the mesh routers as dictated by the requirements of the network.
The one or more transparent mesh routers will typically use the data link layer of the network architecture hierarchy to initiate routes for data packet communication. In addition, the one or more transparent mesh routers will typically use the data link layer of the network architecture hierarchy for active client discovery and a combination of the data link layer and the network layer for passive client discovery.
The one or more clients will typically communicate with the one or more transparent mesh routers via a standard protocol, such as 802.3 Ethernet or the like. The networked backbone will typically implement a standard protocol, such as 802.3 Ethernet or 802.11 wireless LAN, for communication amongst the one or mesh routers. Additionally the network backbone may implement a proprietary datacom as a communication medium between the mesh routers.
In another embodiment, the invention is defined by a transparent mesh routing apparatus for use in a layered communication network. The apparatus includes a client port that receives data packets and a data processing device in communication with the client port, with the data processing device implementing a route initiation routine that utilizes a data link layer of network architecture hierarchy to route the data packets. Additionally, the mesh routing apparatus includes a backbone port in communication with the data processing unit that transmits data packets on the link layer as determined by the route initiation routine.
The route initiation routine utilizes the data link layer of the network architecture hierarchy independent of a network layer of the network architecture hierarchy to route data packets. The apparatus may include a self-healing routine, implemented by the data processing device, that provides continuous data communication between the transparent mesh routing apparatus and one or more mobile clients.
In an alternate embodiment of the apparatus, the mesh routing apparatus is defined by a client port that receives data packets and a data processing device in communication with the client port, with the data processing device implementing a client discovery routine that utilizes a data link layer of network architecture hierarchy to transparently discover networked clients. In addition, the apparatus includes a backbone port in communication with the data processing unit that transmits data packets to networked clients discovered by the client discovery routine.
The client discovery routine utilizes the data link layer of the network architecture hierarchy to discover active clients and utilizes a combination of the link layer and the network layer to discover passive clients. The apparatus may additionally include a self-healing routine, implemented by the data processing device, that provides continuous data communication between the transparent mesh routing apparatus and one or more clients, typically mobile clients.
In yet another embodiment of the invention, a method for data route initiation is defined. The method comprises receiving client data packets at a mesh router. Once the mesh router receives client data packets a route is determined by communicating, on the link layer of the network, route discovery queries from the mesh router to a plurality of networked mesh routers. Once the plurality of networked mesh routers receive the query, they communicate, on the link layer, route discovery responses. A data route is determined upon the mesh router receiving the route discovery responses and determining proper routing based on predetermined priority.
Additionally, the invention is defined as a method for client discovery in a communication network. The method comprises communicating, on a link layer of network architecture hierarchy, client discovery queries from a mesh router. The client discovery requests are received by all networked clients and those clients, which have not been discovered, respond by communicating, on the link layer, client discovery responses. The responses are received by the mesh router, which transparently adds the client to the network without client reconfiguration or the client implementing additional software routines.
As such the present invention provides for a network router and means for network routing that impart a wide-range LAN having high-mobility and ease in deployment. By implementing transparent mesh routers at the link layer of network hierarchy, clients can interface with the network transparently, without having to be configured for the network and without having to implement network-related initiation software. In addition, the clients and the routers may be mobile devices that can function without the risk of service interruption. The use of the mesh routers provides long range routing in the LAN environment that limits the amount of hardware that needs to comprise the overall network.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
The present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
The present invention comprises methods, apparatus and systems for transparent mesh routing in a communications network. The routers are transparent, in that, they allow clients to access other clients without any knowledge of the routing device being used and without the need to reconfigure the accessing clients. The transparent aspect of the mesh router is realized by its ability to dynamically discover clients and route data packets to other clients in the network.
The mesh routers 310 are in communication with one or more clients, such as workstation 20, laptop computer 30, hand held computer 40, server 50 or any other suitable client device. The mesh routers may also be in communication with bridges or access points 210 that provide a wireless connection point for clients, such as hand held computer 40. Clients may be fixed, such as the workstation 20, laptop computer 30 and server 50 shown in
The transparent mesh routers operate on the link layer of the network architecture hierarchy. The transparent mesh routers use the link layer for route initiation and active client discovery. Active clients are defined as those clients that initiate network traffic. Active client discovery involves initiating a query to confirm existence of the active client. It should be noted that if the link layer of the network does not support active queries, the present invention will rely on mechanisms in the network layer, for example 802.3 Ethernet does not have the ability to query for clients, while Internet Protocol (IP) contains a query specification.
In addition to querying the active clients on the link layer, the transparent mesh routers use a combination of the link layer and the network layer of the network architecture hierarchy for passive client discovery. Passive clients are defined as those clients that do not initiate network traffic, but will respond to network traffic if queried. Passive client discovery involves examining the source of the packets to infer existence of a client.
Any network configuration that works in a typical LAN environment will also work correctly if the transparent mesh routers are used in place of or in conjunction with the standard LAN infrastructure of network hubs, switches or the like. Thus, the mesh routers can be added to existing LAN infrastructure or substituted in place of existing routers without affecting the overall network functionality. In addition, clients that are within the network structure do not require reconfiguration or any additional knowledge or drivers to make use of the transparent mesh routers. Thus, the transparent mesh routers can easily be deployed in existing LAN architecture and clients can be added to the network without having to undergo reconfiguration or additional driver/software modification.
The transparent nature of the mesh router allows for the network client to view the mesh router as equivalent to that of a standard LAN network connected by switches/hubs, as shown in
The transparent mesh router 310 of the present invention will include a data processing device 400 that provides data processing capabilities for the mesh router. The data processing device processes data packets that are communicated from networked clients or from networked mesh routers. The data packets are received by the transparent mesh router via client input/output port 410. Once the data processing device of the transparent mesh router determines the route of the data packets, the data packets are communicated to the “next” mesh router or to the destination client. The data packets are communicated by the transparent mesh router at router backbone input/output port 420.
In one embodiment of the invention the data processing unit will implement a route initiation routine 430. The route initiation routine provides for data packet routing on the link layer of the network architecture hierarchy. The route initiation routine may be based on a variation of the Ad-hoc On-demand Distance Vector (AODV) network standard or any other suitable mesh/ad-hoc network routine may be used. The memory device 440 is in communication with data processing device and provides the data processing device with a list of known destination addresses, which are used in the route initiation process. The memory device may exist within the mesh router, as shown in
If the mesh router determines that the destination MAC address of the data packet is not routable (i.e., the destination MAC address is not currently maintained in the associated memory) then, at step 540, a route discovery process is undertaken. Route discovery is accomplished by sending out a query from the mesh router to all other networked mesh routers to determine which mesh router should be forwarded the data packets next. The mesh routers that receive the query determine if the destination address of the data packets is currently maintained in associated RAM. Mesh routers that currently maintain the destination address respond to the querying mesh router and the querying mesh router then determines which networked mesh router should be forwarded the data packets next. The route discovery routine may define which mesh router is next according to a predefined parameter. These parameters may include, but are not limited to, the first response by a router to the query, the route discovery response with the best Received Signal Strength Indicator (RSSI), the response that traverses mesh routers with the best battery life or any combination of these parameters. Upon determination of the next mesh router, the destination address and corresponding next mesh router are stored in list of routable destination addresses. For a more detailed description of the route discovery process see the flow diagram of
At step 560 the “next” mesh router in the routing scheme receives data packets from a networked mesh router (as opposed to from a network client). At step 570, a determination is made as to whether the data in the packets is a route management message. Route data is defined as control data for the transparent mesh routers and exists only on the backbone input/output port. By way of example, a route management message may provide assistance in maintaining network routes for data packet transmission through the network. If it is determined that the data is a route management message then, at step 580, the message is processed (for a more detailed discussion of the message processing see
If the mesh router determines that the no route exists for the tunnel data destination (i.e., the destination MAC address is not currently maintained in the associated memory) then, at step 600, a determination is made as to whether the tunnel data destination is a client. Tunnel data is defined as client data that has been reformatted to be transmitted on the backbone input/output port through an established (i.e., discovered) route. If the tunnel data destination is determined not to be a client then, at step 610, the data packets are dropped and no further processing occurs or a new route for the packets is determined. If the tunnel data destination data is a client then, at step 620, the data is communicated to the client.
The second mesh router 930 will receive the tunnel data via backbone input port 932. It is noted that the tunnel data may pass through one or more intermediary mesh routers (not shown in
Data transmission from the second client to the first client may occur in likewise fashion, assuming that the first client is a passive client. Data transmission from the second client is received at the second mesh router via client input port 936, a route is identified, the client data is converted to tunnel data and communicated to the backbone via backbone output port 938. The first mesh router receives the tunnel data via backbone input port 926, followed by client discovery and conversion of the tunnel data to client data. The data is then transmitted to the first client via client output port 928.
The second mesh router 1030 will receive the tunnel data via backbone input port 1032. As depicted, the tunnel data has passed through intermediary mesh routers 1040 and 1050 prior to receipt at the second mesh router. Since the second client is an active client, the second mesh router has already passively discovered the second client. Thus, upon receipt of the tunnel data, the second mesh router converts the tunnel data to client data and sends the data to the second client via client output port 1034.
Data transmission from the second client to the first client may occur in likewise fashion, assuming that the first client is an active client. Data transmission from the second client is received at the second mesh router via client input port 1036, a route is identified, the client data is converted to tunnel data and communicated to the backbone via backbone output port 1038. The first mesh router receives the tunnel data via backbone input port 1026, followed by conversion of the tunnel data to client data. The client data is then transmitted to the first client via client output port 1028.
As such the present invention provides for a network router and means for network routing that impart a wide-range LAN having high-mobility and ease in deployment. By implementing transparent mesh routers at the link layer of network hierarchy, clients can interface with the network transparently, without having to be configured for the network and without having to implement network-related initiation software. In addition, the clients, as well as, the routers may be mobile devices that can function without the risk of service interruption. The use of the mesh routers provides long range routing in the LAN environment that limits the amount of hardware that needs to comprise the overall network.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.