GENERIC CLIENT FOR COMMUNICATION DEVICES
Abstract of the Disclosure A Generic Client (GC) operates multiple virtual network interfaces that communicate simultaneously to different networks. Each virtual interface is capable of independent communication over an associated network through the same physical interface. In one implementation, the GC provides simultaneous communication with both infrastructure and ad-hoc networks in compliance with the IEEE 802.11 protocol. The GC provides these dual modes of operation by instantiating different infrastructure and ad-hoc virtual interfaces.
Latest PacketHop, Inc. Patents:
This application claims priority from U.S. Provisional Application Serial No. 60/542,644, filed February 5, 2004.
The Institute of Electrical and Electronic Engineers (IEEE) 802.11 wireless communication standard defines two main modes of operation: Infrastructure and ad-hoc. The infrastructure mode assumes that there is an Access Point (AP) which enables clients, also called stations (STA), to connect to a wired network. The ad-hoc mode, on the other hand, mainly concerns itself with wireless peer-to-peer connections among clients. In the infrastructure mode all clients connect to the AP and send their messages through it. In the ad-hoc mode the clients send messages directly to each other. There is a third Wireless Distribution System (WDS) communication scheme that enables APs to send wireless messages to each other.
According to the 802.11 standard, a client that needs to send data to an access point in the infrastructure mode first goes through authentication and association. A client that needs to send data to another client in the ad-hoc mode may go through authentication, but authentication is not required. The 802.11 standard does not specify the precise mechanism for establishing WDS connections. Once the infrastructure, ad-hoc or WDS connections are established, data messages, such as 802.11 frames, may be sent.
Table 1.0 and
In
This is documented in the IEEE 802.11 spec and shown in table 1.0 below.
TABLE 1.0
The setting of the To DS and From DS bits also determine how addresses are used. The 802.11 frames sent between the client 18 and the AP 20 in the infrastructure mode use A3 (3 address) frames. The 802.11 frames sent between the client 18 and another client 18 in the ad-hoc mode are also A3 frames. The frames sent between one AP 20 and another AP 20 in the WDS are A4 (4 address) frames.
The contents of the address fields are determined by the direction of the sent frame 25. The DA is the destination address and the SA is the sender address. The BSSID is the Basic Service Set ID in the infrastructure mode. The BSSID is the Independent Basic Service Set ID (or IBSSID) in the ad-hoc mode. The RA is the receiver address and TA is the transmitter address.
In the A3 frame, the DA is equivalent to the RA and the SA is equivalent to the TA. This is because A3 frames are sent over a single hop link. The A4 frames are sent over multiple hops and the RA and TA change hop by hop where the DA and SA do not. Thus, the WDS connections support layer 2 forwarding.
The protocol message formats (headers and addressing) are important to the operation of the system as a whole because they are used by Media Access Control (MAC) firmware and software for filtering received messages. With broadcast media, the MAC layer determines which messages are processed and which are discarded. Thus, the header settings have to be set correctly in order to implement a meshing system architecture with existing hardware and firmware.
The infrastructure mode 14 and the ad-hoc mode 12 are mutually exclusive. A client 18 cannot operate in the infrastructure mode 14 and the ad-hoc mode 11 at the same time. Thus, client 18A operating in the infrastructure mode 14 cannot communicate with the client 18B or 18C operating in the ad-hoc mode 12. Similarly, clients 18B and 18C operating in the ad-hoc mode 12 cannot communicate to client 18A operating in the infrastructure mode 14 or the DS 23 via the AP 20.
This presents a problem for networks where messages need to be sent to any type of AP or client any time they are within range. The present invention addresses this and other problems associated with the prior art.
SUMMARY OF THE INVENTIONA Generic Client (GC) operates multiple virtual network interfaces that communicate simultaneously to different networks. Each virtual interface is capable of independent communication over an associated network through the same physical interface. In one implementation, the GC provides simultaneous communication with both infrastructure and ad-hoc networks in compliance with the IEEE 802.11 protocol. The GC provides these dual modes of operation by instantiating different infrastructure and ad-hoc virtual interfaces.
The foregoing and other objects, features and advantages of the invention will become more readily apparent from the following detailed description of a preferred embodiment of the invention which proceeds with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The system described below is applicable to any communication system that needs to operate with more than one network or operate in more than one communication mode at the same time. The particular set of examples described below use 802.11 local area networks. However, this should only be considered as an example of the wide variety of different networks that may use the communication system. For example, the communication system can be used for any wired or wireless network where multiple virtual interfaces can be instantiated and operated at the same time.
Generic Client Referring to
In a centralized configuration, a typical cellular architecture, an infrastructure wireless Local Area Network (LAN), or point-to-multipoint Local Multipoint Distribution Services (LMDS), or an 802.16 access network, one side of the link implements a base station controller 34 and the other a subscriber or a client 31. In an 802.11 ad-hoc configuration, or a point-to-point wireless bridge, or a push-to-talk LMR system, the link endpoints constitute peers at the physical and link layers. Frequently the equipment used to implement the system in a particular mode depends on the configuration.
A generic client 32 is incorporated into one or more subscribers 31 and supports multiple modes of simultaneous operation. This enables the subscriber nodes 31 to act in a more flexible and dynamic way. The subscriber nodes 31 can take advantage of new network topologies (such as mesh), increased capacity, frequency reuse, and range extension as conditions allow without switching mode of operation or reconfiguration. This can be accomplished with a software or hardware implementation and is not limited to any particular radio technology or spectrum.
The generic client 32 allows the subscriber nodes 31 in wireless network 30 to communicate with other subscriber nodes 31 in a point-to-point communication scheme 29. The subscriber nodes 31 can also communicate with other subscribers 31 through the base station 34 using a point-to-multipoint communication scheme 27.
In
A Station (STA) infrastructure virtual interface 36 is configured to operate like a STA (client) for communicating with an AP 20 in an 802.11 wireless infrastructure network 41. An Access Point (AP) infrastructure virtual interface 38 is configured to operate like an AP for communicating in an 802.11 infrastructure communication network 43 with clients or STAs 18A. A STA ad-hoc virtual interface 40 is configured to operate as a STA for communicating in an 802.11 ad-hoc communication network 45 directly with other clients or STAs 18B.
This enables the GC 32 to interoperate with an infrastructure AP 20, ad-hoc STA’s 18B, and provide an AP service to infrastructure STA’s 18A at the same time. The GC 32 can also support a virtual Wireless Distribution System (WDS) interface 42 that provides communication between virtual AP 38 and other APs 44.
In one embodiment, the multi-mode (multiple personality) interfaces 36-42 are not bridged at layer 2. Alternatively, message forwarding and routing is implemented by layer 3 routing 46 of the Open System Interconnect (OSI) standard. This allows all of the L2 interfaces 36-42 to operate simultaneously using the same PHY interface 34.
The GC 32 determines which one of the virtual interfaces 36, 38, or 40 to use for communicating with the APs 20 and STAs 18A and 18B according to the “From DS bit” and the “To DS bit” in frame headers. The Basic Service Set IDs (BSSIDs) in the frames then uniquely identify different wireless sessions.
Ad-Hoc Network 45 In one implementation, A3 frames as described in table 1.0 are used to communicate in the ad-hoc network 45. The virtual interface 40 sets the From DS and To DS bits to 0 in the frame header. The STAs 18B then operate on the same IBSS in ad-hoc network 45. The association is not required between STAs before sending data. An authentication step is optional. Broadcast destination addresses are allowed and used for discovery. This is compliant with the 802.11 standard. This therefore supports standard STAs 18B operating in the 802.11 ad-hoc mode. Because there is a common network interface there are no implications for the upper layer protocols like IP and IP routing.
Infrastructure Networks 41 and 43 In infrastructure networks 41 and 43, the A3 frames shown in table 1.0 are used to communicate. The From DS and To DS bits are set according to the destination/source of the frame. All of the STAs or clients 18A operate on the same BSS network. Normally association is required for this mode. If the association is used, this implies that one side of the link functions as an AP and the other side as a STA. However, it is possible that no association is used.
The To DS bit, From DS bit, and addresses are set accordingly on every frame. Broadcast destination addresses are used for discovery. Aside from the frame header format, the infrastructure virtual interfaces 36 and 38 may be similar to the ad-hoc virtual interface 40. Because there is a common network interface there are no implications for the upper layer protocols like IP and IP routing.
WDS Network 42 In the WDS network, the A4 frames shown in table 1.0 might be used to communicate. The From DS and To DS bits and the addresses are set according to table 1.0. In AP to AP WDS, all 4 address fields in table 1.0 are used. Because forwarding is not being performed at layer 2, the Address 3 and Address 4 fields are redundant. Broadcast addresses are also redundant because the WDS links can only be set up with the knowledge of the addresses on both sides of the link. This is arguably a standard compliant mode. Even though the 802.11 standard does not specify the use of the WDS in a STA, it does not preclude it either. The STAs in the WDS mode have the capability of setting up WDS links to other access points 44.
The WDS mode 42 has significant implications on the upper layer protocols, particularly IP routing. The WDS link abstraction is a network interface. Unlike the ad-hoc or infrastructure networks, a separate sub-network interface is created for every link.
This is accomplished either manually or statically or dynamically. The manual configuration is done with prior knowledge of the hardware address of the remote client. The dynamic configuration works by listening for 802.11 beacon frames from the remote client. The beacon frame contains the hardware address. Upon receiving the frame, a WDS link can be set up and a network interface instantiated.
In another embodiment, the GC 32 can also support other proprietary virtual network interfaces 47. A proprietary network 51 can communicate over the same physical interface 34 used for the 802.11 networks 41, 43 and 45. However, the proprietary network 51 may not follow, or only partially follow, the 802.11 protocol. For example, proprietary network 51 may include additional security or encryption operations that are not supported in 802.11. The CG 32 can communicate with a client 49 over the proprietary network 51 using the same physical interface 34 used for the 802.11 infrastructure and ad-hoc networks 41, 43 and 45.
The infrastructure AP 20 may be connected to a wide variety of external networks 54 including wired or wireless networks, Wide Area Network (WANs), Local Area Networks (LANs), packet switched networks, circuit switched networks or any other type of wired or wireless communication system used for transporting information.
Transparent Range Extension
The AP interface 38 in GC 32A sets its BSSID the same way as the upstream AP 20. Any infrastructure STA, such as STA 18A in
In yet another example, STA 18A may be out of communication range for ad-hoc communication with STA 18B or infrastructure communication with AP 20. The STA 18A can still communicate with STA 18B in an infrastructure mode through an AP virtual interface 38 located in GC 32A and/or GC 32B. Thus, the overall range of the wireless network in
In
The WDS link 52 is typically used as a layer 2 forwarding architecture between AP’s. It can also be used as a backbone for an IP routable mesh. However, in the generic client scenario, the configured point-to-point links between two clients can be used for sending WDS frames. Forwarding of the frames to another AP can then be done at layer 2 or layer 3. When layer 2 forwarding is used, static or dynamic bridging functionality 42 is used. Alternatively, layer 2 bridging may also be combined with layer 3 routing.
For example, the GC 32A may include a first virtual AP infrastructure interface 38A that communicates with the GC 32B over the wireless WDS link 52. Layer-2 bridge or layer 3 router software 53 then routes the frames to another virtual AP interface 42 that communicates with the AP 20.
The 802.11 specification provides for link layer neighbor discovery 55. This is done via beacon frame broadcasts. The beacon frame contains the hardware (MAC) address of the sending network node that GC0 uses to instantiate a network interface 54 for every neighbor node (GC1-GC3). This has the advantage of leveraging the underlying wireless link layer (layer-2) efficiencies. A Topology Broadcast based on Reverse-Path Forwarding (TBRPF) router 56 therefore only needs to be aware of the virtual point-to-point links 54.
Both the initial discovery and the on-going link maintenance (status) can be supported with no layer 3 overhead (additional messaging). As any of neighbor GC’s 1, 2 or 3 come into range of GC 0 and move out of range, the link status information is immediately translated into instantiation and removal of corresponding virtual interfaces 54.
Virtual Interface Mapping
A single Network Interface Card (NIC) 80 has trouble communicating with distinct wireless networks, even if the networks operate on the same channel. This is because the infrastructure client, such (as a STA to AP), ad-hoc (as a STA to STA) and infrastructure AP (as an AP to STA) networks require distinct frame headers. In order to overcome this problem, the different wireless networks are represented as virtual network interfaces 36, 38, and 40, which are operating system abstractions.
A table 82 is used to keep track of the different wireless networks and to create a logical mapping between the wireless networks and the virtual interfaces 36, 38, and 40. The table 82 contains the peer’s network address 83 (the layer 2, or MAC address), the wireless network type 85 and peer type 87 (infrastructure client, infrastructure server (AP), ad-hoc client).
The NIC 80 receives a frame 84 from the air that includes a header 86 and a payload 88. The header 86 is examined by a table lookup operation 90 to determine the wireless network type 85 and peer type 87. The table lookup 90 determines what type of virtual interface 36, 38, or 40 to use for processing the frame 84 according to the information in the frame header 86. A frame from an infrastructure AP is sent to the infrastructure STA interface (I-STA) 36. A frame received from an infrastructure STA is sent to the infrastructure AP interface (I-AP) 38. A frame from an ad-hoc STA is sent to the ad-hoc STA interface (A-STA) 40.
In the 802.11 example, the table lookup determines what type of frame is received according to the To-DS and From-DS bits as described above in Table 1.0. For example, if the To-DS and the From-DS bits are both set to 0, then the table lookup 90 selects the ad-hoc STA interface 40. When the frame 84 is received with the To DS bit is set to 1 and the From DS bit set to 0, the table lookup uses the I-AP interface. When a frame 84 is received that has the To DS bit set to 0 and the From DS bit set to 1, the table lookup uses the I-STA interface 36. The frame header may then be stripped off and the payload is forwarded via the appropriate interface 36, 38 or 40 via an upper layer routing operation.
The network address 83 associated with the frame is used to distinguish between different virtual interfaces 36, 38, and 40 that may be operating at the same time. For example, there may be two I-AP interfaces 38 operating at the same time communicating with two different infrastructure STA’s. The address in the frame is stored in network address 83 in table 82 to identify the particular virtual interface 38 associated with the wireless session.
The TX (transmit) logic works a differently. The virtual network interface by itself provides the appropriate wireless network context so no table lookup is required. Because the operations conducted in the virtual interfaces 36, 38, and 40 are already known, they are not described in further detail.
Hardware Considerations
The CPU 94 may operate the AP 20 in software. The generic client 32 may be operated by the CPU 94 and may be part of a Personal Computer (PC), Personal Digital Assistant (PDA), or laptop. With the generic client 32, the CPU 94 may also run the driver software. The software which runs on the DSP 92 and the MAC chip is often called firmware. The firmware is usually written into non-volatile memory 102.
The GC can be incorporated into any current or emerging wireless technology including all current and future versions of IEEE 802.11 (also known as ‘WiFi’), Bluetooth, and other proprietary wireless protocols. The IEEE 802.11 WiFi specification is located at http://standards.ieee.org/getieee802/802.11.html and is herein incorporated by reference.
The system described above can use dedicated processor systems, micro controllers, programmable logic devices, or microprocessors that perform some or all of the operations. Some of the operations described above may be implemented in software and other operations may be implemented in hardware.
For the sake of convenience, the operations are described as various interconnected functional blocks or distinct software modules. This is not necessary, however, and there may be cases where these functional blocks or modules are equivalently aggregated into a single logic device, program or operation with unclear boundaries. In any event, the functional blocks and software modules or features of the flexible interface can be implemented by themselves, or in combination with other operations in either hardware or software.
Having described and illustrated the principles of the invention in a preferred embodiment thereof, it should be apparent that the invention may be modified in arrangement and detail without departing from such principles. I claim all modifications and variation coming within the spirit and scope of the following claims.
Claims
1. A wireless communication device, comprising: a processor configured to operate multiple virtual network interfaces that communicate simultaneously over a common wireless physical interface with different wireless networks.
2. The wireless communication device according to claim 1 wherein a first one of the multiple virtual network interfaces is an infrastructure virtual interface that communicates over a first infrastructure network and a second one of the multiple virtual network interfaces is an ad-hoc interface that communicates over a second ad-hoc network.
3. The wireless communication device according to claim 2 wherein one of the multiple virtual network interfaces is a Station (STA) infrastructure interface that communicates with an Access Point (AP) over a first infrastructure wireless network and another one of the multiple virtual network interfaces is a AP infrastructure interface that communicates with a STA over a second infrastructure wireless network.
4. The wireless communication device according to claim 3 wherein one of the multiple virtual network interfaces is a Wireless Distribution System (WDS) interface that allows the AP infrastructure interface to communicate with another Access Point.
5. The wireless communication device according to claim 1 wherein the physical interface uses a same 802.11 transceiver.
6. The wireless communication device according to claim 1 wherein the multiple virtual network interfaces operate at layer-2 of the Open System Interconnection (OSI) standard.
7. The wireless communication device according to claim 6 wherein the multiple virtual network interfaces communicate through a routing process operating at layer-3 of the OSI standard.
8. The wireless communication device according to claim 1 wherein the processor reads headers in received data frames to identify the different wireless networks and then forwards the received data frames to one of the virtual network interfaces associated with the identified wireless networks.
9. The wireless communication device according to claim 8 wherein the headers identify data sent by a Station (STA) over a 802.11 infrastructure network, data sent by an Access Point (AP) over a 802.11 infrastructure network, and data sent from a STA over a 802.11 ad-hoc network.
10. A communication method, comprising: instantiating a first virtual interface for transferring data using a first communication mode; instantiating a second virtual interface at the same time that the first virtual interface is instantiated for transferring data using a second communication mode; and transferring data using the first communication mode with the first virtual interface and transferring data using the second communication mode with the second virtual interface through the same physical interface.
11. The method according to claim 10 wherein the first communication mode is used for communicating with a peer through an intermediary access point and the second communication mode is used for direct point to point communication with the peer.
12. The method according to claim 11 wherein the first communication mode cannot be used for direct point to point communication with the peer and the second communication mode cannot be used for communicating with the peer through an intermediary access point.
13. The method according to claim 10 wherein the first virtual interface operates in a 802.11 infrastructure communication mode and the second virtual interface operates in a 802.11 ad-hoc communication mode.
14. The method according to claim 13 including: instantiating one of the virtual interfaces as an 802.11 infrastructure Access Point (AP) virtual interface; and instantiating another one of the virtual interfaces as an 802.11 infrastructure Station (STA) virtual interface.
15. The method according to claim 14 including instantiating another virtual interface for 802.11 Wireless Distribution System (WDS) communication between two Access Points (APs).
16. The method according to claim 13 including instantiating a proprietary virtual interface for communicating with the 802.11 infrastructure and ad-hoc virtual interfaces.
17. The method according to claim 10 including operating the first virtual interface and the second virtual interface at layer-2 of the Open System Interconnection (OSI) standard and using routing or bridging at layer-3 or layer-2 of the Open System Interconnection (OSI) standard to transfer data between the first and second virtual interface.
18. The method according to claim 10 including using a same 802.11 transceiver for transferring data with both the first and second virtual interface.
19. The method according to claim 10 including: instantiating a first wireless infrastructure Access Point (AP) virtual interface for communicating with an external client in an infrastructure mode; instantiating a second Wireless Distribution System (WDS) interface for communicating with an external AP; and receiving data from the external client with the first AP virtual interface, routing the data to the second WDS interface, and sending the data to the external AP through the WDS interface.
20. The method according to claim 10 including: receiving a frame over a wireless communication network; selecting an infrastructure station (STA), infrastructure Access Point (AP) or ad-hoc virtual interface for processing the frame according to identifiers in the frame; and processing the frame with the selected virtual interface.
21. The method according to claim 10 including using a layer-2 neighbor discovery scheme for identifying devices communicating with the first and second virtual interface.
22. A wireless communication device, comprising: a generic client that operates a first layer-2 software interface for communicating using an 802.11 infrastructure mode and at the same time operates a second layer-2 software interface for communicating using an 802.11 ad-hoc mode.
23. The wireless communication device according to claim 22 including an 802.11 transceiver that transmits and receives data for both the first and second software interfaces.
24. The wireless communication device according to claim 22 wherein the generic client operates a first AP infrastructure interface for communicating with Stations (STAs) in the 802.11 infrastructure mode and operates a second STA infrastructure interface for communicating with an AP in the 802.11 infrastructure mode.
25. The wireless communication device according to claim 24 wherein the generic client uses layer-3 routing to communicate between different layer-2 software interfaces.
Type: Application
Filed: Dec 16, 2004
Publication Date: Jan 19, 2006
Patent Grant number: 8744516
Applicant: PacketHop, Inc. (Redwood City, CA)
Inventor: David Gurevich (San Mateo, CA)
Application Number: 11/015,096
International Classification: H04B 7/00 (20060101);