Methods and apparatus for secure, portable, wireless and multi-hop data networking
Claim Score by NHIP
Abstract
A mobile network solution provides secure and portable wireless networking service to mobile users with devices equipped with wireless network interfaces. The Secure Nomadic Wireless Network, or SNOWNET, follows a hierarchical approach. Special SNOWNET nodes are deployed in the area where networking service is needed and form a backbone network. At the same time, SNOWNET nodes provide local access service to regular mobile clients. SNOWNET provides security through authentication of the nodes and clients, as well as through encryption of the data.

Term
Term ended
Projected expiry passed 9 October 2025, 1 year ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
38 claims: 4 independent, 34 dependent
- 1Broadest claimClaim Score 56, average(NHIP)A wireless network comprising:mobile client computing devices, each comprising a client wireless device;a wireless backbone network providing a wireless backbone service to the mobile client computing devices, the wireless backbone network comprising portable wireless network node devices providing wireless local access service to the mobile client computing devices in their respective coverage areas and providing the wireless backbone service to forward and deliver communication data of the mobile client computing devices on the wireless backbone network in a multi-hop manner to other of the mobile client computing devices or to other networks in communication with the wireless network.
- 30A method of providing wireless local access service to mobile client computing devices each including a wireless client device, comprising:establishing a wireless backbone network of portable wireless network node devices;authenticating the portable wireless network node devices to each other;authenticating the mobile client computing devices to the wireless backbone network;providing by the wireless backbone network a wireless backbone network service to the mobile client computing devices;providing by the portable wireless network node devices local access service to the mobile client computing devices in the respective coverage areas of the wireless network node devices;forwarding and delivering communication data of the mobile client computing devices by the wireless backbone network service to each other or to other networks in communication with the wireless network, through the wireless backbone network in a multi-hop manner.
- 32A computer-readable medium storing a program to control a computer to execute the functions of providing wireless local access service to mobile client computing devices each including a wireless client device, comprising:establishing a wireless backbone network of portable wireless network node devices;authenticating the portable wireless network node devices to each other;authenticating the mobile client computing devices to the wireless backbone network;providing by the wireless backbone network a wireless backbone network service to the mobile client computing devices;providing by the portable wireless network node devices local access service to the mobile client computing devices in the respective coverage areas of the wireless network node devices;forwarding and delivering communication data of the mobile client computing devices by the wireless backbone network service to each other or to other networks in communication with the wireless network, through the wireless backbone network in a multi-hop manner.
- 34A wireless network comprising:mobile client computing devices, each comprising a wireless client device;non-mobile client computing devices, each comprising a wired client device;a wireless backbone network providing a wireless backbone service to the mobile client computing devices and to the non-mobile client computing devices, the wireless backbone network comprising portable wireless network node devices providing local access service to the wired client devices connected to the respective portable wireless network node devices and to the wireless client devices in the respective coverage areas of the portable wireless network node devices and providing the wireless backbone service to forward and deliver communication data of the mobile client computing devices and the non-mobile client computing devices on the wireless backbone network in a multi-hop manner to other of the mobile client computing devices and the non-mobile client computing devices or to other networks in communication with the wireless network.
Independent claims4
155 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to and claims priority to provisional application entitled METHODS AND APPARATUS FOR SECURE, PORTABLE, WIRELESS AND MULTI-HOP DATA NETWORKING—SECURE NOMADIC WIRELESS NETWORK (SNOWNET) having Ser. No. 60/428,700, by Lusheng Ji, Jonathan Agre, Arunesh Mishra, and Sohil Thakkar, filed Nov. 25, 2002 and incorporated by reference herein, priority to which is claimed under 35 U.S.C. 119.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention is directed to data networking, and, more particularly, to secure, portable, and wireless data networking.
[0004] 2. Description of the Related Art
[0005] In the current Wireless Local Area Network (WLAN) architecture, mobile clients connect wirelessly to Access Points (APs) to acquire connectivity to a backbone network to which the APs are attached. The backbone network is typically wired and is then connected to the rest of the organizational network. Among different WLAN communication standards, IEEE 802.11 (“Part 11: Wireless LAN Medium Access Control (MAC) and physical layer specifications”, IEEE, 1999, and including all variations) is currently the most popular.
[0006] The WLAN architecture is ideal for network administrators who wish to wirelessly extend the boundary of their existing wired campus or corporate networks and to provide campus-wide mobility support. Under this architecture, mobile clients are no longer constrained by network cables and wall jacks as long as they maintain direct wireless contacts with some AP. Thanks to a number of dynamic configuration protocols such as the Dynamic Host Configuration Protocol (DHCP) (R. Droms, “Dynamic Host Configuration Protocol,” RFC 2131, March 1997), mobile clients can easily join the WLAN with little or no user configuration effort. A user can move freely within the coverage area of the APs. When the user moves across the boundaries of the service areas of APs, WLAN and bridge protocols can update the link layer connectivity for the user so that on going communication sessions are not interrupted by the handoff and actual communication carrier (radio frequency) switch.
[0007] While mobile clients can enjoy the convenience of wireless network connectivity, on the other hand, it is not a trivial task to deploy a WLAN. APs need to be interconnected via a backbone network, typically a wired LAN. Therefore network cables must be installed to connect the APs to the existing network infrastructure. Electrical wires must also be in place to supply operating power to the APs. In addition, in order to determine the locations for the APs, WLAN planners need to predict wireless usage and conduct site surveys to determine the radio propagation characteristics. Operating channels also need to be allocated to each AP to keep the interference between neighboring communication cells to a minimum. After the deployment, it becomes another costly task to change the placement of the APs since the cables and wires need to be changed as well. If the usage pattern changes, oftentimes the WLAN is not able to be dynamically reconfigured to adapt to the changes.
[0008] Another problem with the existing IEEE 802.11 WLAN lies in its current security mechanism. In a WLAN, all transmitted bits are delivered over the air, which is an open communication medium to which anyone has access if he/she is within the radio signal range and has a radio device capable of receiving WLAN radio signals. Thus, encryption must be applied to sensitive data so that only the intended recipients can reconstruct and comprehend the data.
[0009] The IEEE 802.11 standard relies on the Wired Equivalency Privacy (WEP) protocol for its data protection. WEP uses a shared secret key of 40 bits (or 104 bits in a later version). A 24 bit Initial Vector (IV) is concatenated with the shared key to create a 64 bit (or 128 bit in the later standard) seed. The seed is then fed to a RC4 Pseudo Random Number Generator (PRNG) to generate a random bit sequence, which is used as the frame encryption key stream. The IV may be changed for every data frame encrypted so that the seed for the RC4 PRNG is different for every data frame. Thus, a different key stream is generated for encrypting each data frame. The IV is enclosed as clear text in each data frame so that the receiver may concatenate the received IV with the shared secret key to produce the RC4 PRNG seed and compute the decryption key stream. However, due to the limited IV size, there are only 2{circumflex over ( )}24, about 16 million, distinct key streams. Given the size of an average data frame and the transmission rate supported by IEEE 802.11, a busy AP may exhaust the distinct key stream space very quickly and be forced to reuse the encryption key stream. Since the lVs are enclosed as clear text in each data frame, it is relatively easy for an attacker to recognize a reused key stream. The attacker may collect pieces of cipher text that are encrypted with the same key stream and perform statistical analysis to attack and recover the plaintext. An attacker may also build up a dictionary of all possible key streams. In addition to vulnerabilities to these types of attacks, the security research community has also identified other weaknesses of the WEP protocol (N. Borisov, I. Goldberg, and D. Wagner, “Intercepting Mobile Communications: The Insecurity of 802.11”, MOBICOM 2001, 2001).
[0010] The authentication scheme of IEEE 802.11 also has known problems that are related to the weaknesses in its encryption scheme. IEEE 802.11 APs provide two methods to protect against unauthorized accesses: Medium Access Control (MAC) address filtering and WEP-based shared-key authentication. A MAC address filter simply drops all data frames whose destination or source addresses are not listed in a pre-defined “allowed list”. However, because MAC addresses can easily be sniffed and forged by any attacker, the MAC address filter offers little protection against unauthorized network accesses. The shared-key authentication process involves both parties (named initiator and responder) encrypting the same challenge using WEP with the same shared-key but different IVs. Since the shared-key authentication algorithm authorizes network access to those who have the shared-key, it would be effective only if unauthorized parties cannot recover the shared-key. However, with WEP being breakable, the shared-key authentication becomes only an illusion.
[0011] The IEEE's 802.1x (Port Based Network Access Control) standard (“Port-Based Network Access Control”, IEEE, 2001) specifies an architectural framework that is designed to provide user authentication, network access control, and dynamic key management. Within the IEEE 802.1x framework, a system can use various specific authentication schemes and algorithms. The actual algorithm that is used to determine whether a user is authentic is left open and multiple algorithms are possible. After the exposure of the weaknesses in the IEEE 802.11 security mechanism, organizations have moved rapidly to adopt IEEE 802.1x as a solution for fixing the security problems in wireless LANs. The IEEE Robust Security Network (RSN) has also included the IEEE 802.1x standard as an important component (802.11i, IEEE 802.11 Task Group I, work in progress).
[0012] IEEE 802.1x is based on the PPP Extensible Authentication Protocol (EAP, L. Blunk and J. Vollbrecht, “PPP Extensible Authentication Protocol (EAP)”, RFC 2284, March, 1998) for message exchange during the authentication process. EAP is built around the challenge-response communication paradigm that is common in network security solutions. Although originally designed as an authentication method for PPP connection, it can also be used for a wide range of LAN types such as Ethernet, token ring, or WLANs.
[0013] The following is a description of 802.1x-based authentication and dynamic encryption. FIG. 1 shows the components involved in IEEE 802.1x authentication operations. In a WLAN <b>100</b> with IEEE 802.1x, a client (also known as a supplicant) <b>102</b> requests access service to an AP (or an authenticator) <b>104</b>. The AP <b>104</b> opens an unauthorized port for the client <b>102</b>, which only accepts EAP messages from the supplicant (client) <b>102</b>. Through this unauthorized port, the supplicant <b>102</b> exchanges EAP messages with the authenticator <b>104</b> and the authentication server <b>106</b>, which is a backend server executing the authentication algorithms. At the end of the authentication algorithm, the authentication server <b>106</b> returns an “accept” or “reject” instruction back to the authenticator <b>104</b>. Upon receiving an “accept” message, the AP <b>104</b> opens the regular network access port for the client <b>102</b> to allow normal traffic for this client <b>102</b> to go through.
[0014] IEEE 802.1d MAC Bridge protocol (“Part 3: Media Access Control (MAC) Bridges”, IEEE, 1998 (IEEE 802.1d); “Part 3: Media Access Control (MAC) Bridges—Amendment 2: Rapid Reconfiguration”, IEEE, 2001 (IEEE 802.1w)) is known in the art.
[0015] IEEE 802.1d employs a spanning tree protocol, which is its method of forming a packet forwarding topology while preventing forwarding loops within a network of bridging devices. In an arbitrarily connected network, each bridge includes multiple ports. These ports are attached to a number of LAN segments. Among all bridges in a network, one bridge acts as the “root” of the spanning tree. It is the bridge with the highest priority bridge identifier (the priority identifier of a bridge is either derived from the unique ID of the bridge, which is typically the lowest MAC address among those of the bridge's ports, or configured by the network administrator).
[0016] In this protocol, each bridge uses each of its ports to report the following to its neighboring bridges: its own identity, the identity of the transmitting port, the identity of the bridge that the transmitting bridge believes to be the root, and the cost of the path from the transmitting port to the root bridge. Each bridge starts by assuming itself to be the root. If a bridge receives information that is “better” than what it currently has, it will re-compute its information based on the newly received information and then send out updated control messages to its neighboring bridges. What is considered “better information” includes information such as a bridge being a better root (with higher priority bridge identifier), a shorter path towards the root, lower cost routes, etc. Eventually through information propagation, all bridges learn the active spanning tree topology and configure their ports to forward data frames accordingly. On each bridge, the port that is the closest to the root is known as the “root port”. On each LAN segment, the bridge that can provide the shortest path towards the root is known as the “designated bridge” for the LAN segment.
[0017] The IEEE 802.11 standard is known in the art.
SUMMARY OF THE INVENTION
[0018] It is an aspect of the present invention to provide a wireless network system that provides self-configured, portable, and secure wireless network access service to mobile users.
[0019] The above aspect can be attained by a self-configured, portable, dynamic, and secure network system formed by devices that provide self-configured, portable, and secure wireless network access service to mobile users and is referred to as the Secure Nomadic Wireless Network (SNOWNET). Such devices are referred to as SNOWNET nodes.
[0020] That is, the present invention provides methods and apparatus for secure, portable, wireless, and multi-hop data networking, referred to as the secure nomadic wireless network (SNOWNET).
[0021] Primarily, a SNOWNET can be quickly deployed in any area, regardless of existing communication and power infrastructure, to provide secure network connectivity to authenticated mobile clients. Specifically, the installation process can be reduced to the placing of SNOWNET nodes in the field of operation, powering them up, and optionally orienting the external antenna attached to these nodes to connect to other SNOWNET nodes. Any configuration parameters, such as the identity of neighboring devices, address assignments and message routes, will be determined autonomously by the collaborative operations of a set of such SNOWNET nodes. The communications between SNOWNET nodes as well as between SNOWNET nodes and mobile clients will be secure. Only authorized devices (both SNOWNET nodes and mobile clients) are allowed to access and be served by the SNOWNET.
[0022] In response to the need for secure and portable wireless data networking, the Secure Nomadic Wireless Network (SNOWNET) of the present invention is provided. The Secure Nomadic Wireless Network (SNOWNET) is a hierarchical network with a dynamic wireless backbone network interconnecting a number of local access service areas. SNOWNET nodes are used to form the backbone network as well as provide local access services.
[0023] SNOWNET provides security through authentication of the nodes and clients, as well as through encryption of the data.
[0024] These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025]FIG. 1 is a diagram of a wireless local area network (LAN) with IEEE 802.1x.
[0026]FIG. 2 is a diagram of the system architecture of the present invention.
[0027]FIG. 3 shows a diagram of the hardware architecture of a SNOWNET node <b>302</b> of the present invention.
[0028]FIG. 4 is a diagram of the software components of a node of the present invention.
[0029]FIG. 5 is a diagram of SNOWNET implementation of IEEE 802.1x.
[0030]FIG. 6 is a diagram of an example of a SNOWNET spanning tree of the present invention.
[0031]FIG. 7 is a diagram of a SNOWNET Bridging Table contents.
[0032]FIG. 8 is a diagram of IEEE 802.11 Data Frame Address Field Contents.
[0033]FIG. 9 is a diagram of a SNOWNET Routing Table contents.
[0034]FIG. 10 is a diagram of Routing Update Message Contents.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] The architecture of the SNOWNET, the functions and design of SNOWNET nodes, and the protocols executed by SNOWNET nodes, of the present invention are now disclosed, with reference to FIGS. <b>2</b>-<b>10</b>.
[0036]FIG. 2 illustrates the architecture of a SNOWNET system network <b>300</b> of the present invention. Each SNOWNET node <b>302</b> is equipped with at least one wireless network interface, which is used for communications between peer SNOWNET nodes <b>302</b>. Links <b>304</b> are formed between SNOWNET nodes <b>302</b> dynamically if wireless communication can be established between them. The network including only the SNOWNET nodes <b>302</b> and the links <b>304</b> between them are referred to as the SNOWNET backbone network <b>306</b>. The interface dedicated by each SNOWNET node <b>302</b> for backbone communication is referred to as the backbone interface. Optional external antennas may also be used to extend the communication range of the backbone interfaces.
[0037] As shown in FIG. 2, each SNOWNET node <b>302</b> also provides client coverage <b>308</b> for clients <b>310</b> within its coverage area that are equipped with a client wireless device. This is referred to as the SNOWNET node <b>302</b> providing Local Access Service for the clients <b>310</b> in its coverage area. It is also possible for a SNOWNET node <b>302</b> to provide wired local access service to clients with a wired communication interface via a wired Local Area Network (LAN connected to a wired communication interface of the SNOWNET node <b>302</b>. This traffic would then be forwarded on the wireless backbone network, thus wirelessly connecting two wired networks.
[0038] There are many ways to organize the SNOWNET backbone network <b>306</b>. The most flexible is to configure the communication technology used by the backbone interfaces of the SNOWNET <b>300</b> to run under peer-to-peer mode. In the case of using IEEE 802.11 network interfaces as the backbone interfaces, the interfaces should run in 802.11 Ad Hoc mode. There are also special cases providing different backbone network <b>306</b> configurations. For instance if the backbone network <b>306</b> forms a “star” topology, the backbone interface of the center node is configured as an access point (AP) and the other nodes as clients.
[0039] It is not necessary for all links <b>304</b> of the backbone network <b>306</b> to use the same link technology. Nodes with backbone interfaces of the same technology may form sub-backbones. Sub-backbones are connected together to form the overall backbone network <b>306</b> by nodes <b>302</b> with multiple backbone interfaces of different technologies that are simultaneously residing on multiple sub-backbones.
[0040] In addition to backbone interface(s), a SNOWNET node <b>302</b> is typically equipped with additional interfaces to provide local network access services to mobile clients <b>310</b>. In FIG. 2, all three SNOWNET nodes <b>302</b> have dual wireless interfaces, one for backbone communications, and the other for providing local access services. The local service interface can be of any LAN technology such as an IEEE 802.3 network interface, an IEEE 802.11 interface running in AP mode, Bluetooth, etc.
[0041] Some SNOWNET nodes may also have an additional link <b>312</b> connected to the rest of an organizational network, the global Internet or some other external network. These nodes, called SNOWNET gateways act as gateways for the SNOWNET <b>300</b> to reach the Internet or other external networks. These links may be of various link technologies, e.g. an Ethernet cable connected to a LAN for a fixed-group network, a wireless LAN interface to an AP, a Point-to-Point Protocol (PPP) connection, or a 3G wide-area wireless communication interface, etc.
[0042] Some interfaces of the SNOWNET node <b>302</b> may even be virtual interfaces. For instance, a physical interface may be multiplexed or time-shared to create multiple virtual interfaces that can be used for different purposes. For example, the SNOWNET node <b>302</b> of the present invention allows algorithms to be built so that the same IEEE 802.11 interface may run in ad hoc mode in some time slots to act as the backbone interface and in AP mode in other time slots to act as the local access service interface. Moreover, a SNOWNET node may dynamically change one of its AP interfaces to a backbone interface or vice versa.
[0043] Communications in a SNOWNET <b>300</b> are organized into two levels: backbone communication and local access communication. SNOWNET nodes <b>302</b> relay communication between these two levels. Therefore a typical intra-SNOWNET communication path between two clients receiving local service from different SNOWNET nodes <b>302</b> may include the link between the source mobile client <b>310</b> and the SNOWNET node <b>302</b> serving the source client <b>310</b>, a number of SNOWNET backbone links, and finally the link between the destination client <b>310</b> and its access service SNOWNET node <b>302</b>. If the destination is on another external network, then the communication path would include the SNOWNET gateway node that is forwarding traffic for that network.
[0044] SNOWNET Node <b>302</b> hardware is now disclosed. FIG. 3 shows a diagram of the hardware architecture of a SNOWNET node <b>302</b> of the present invention.
[0045] Each SNOWNET node <b>302</b> can be implemented as an embedded system comprising a processor <b>402</b>, system memory (RAM) <b>403</b>, data storage memory (Flash) <b>404</b> for software and security related data such as certificates and keys, one or more network interfaces <b>406</b>, and a system bus <b>408</b> connecting these components. Each node <b>302</b> has a manageable and portable form factor as well as protective casing. Optionally, each node <b>302</b> may be equipped with external antennas <b>410</b> to extend the communication ranges of its wireless network interfaces <b>406</b>. These network interfaces <b>406</b> provide local wired or wireless access, wireless backbone access, or wired or wireless gateway access.
[0046] A SNOWNET node <b>302</b> configuration depends on its specific intended use in the network. The typical SNOWNET node <b>302</b> in a remote location would have two wireless interfaces <b>406</b>: one for a backbone and one for local access service. A SNOWNET gateway node <b>302</b> may have these two wireless network interfaces plus a third network interface <b>406</b>, such as a wired Ethernet interface to connect to the external network.
[0047] Since a SNOWNET node <b>302</b> is portable, a SNOWNET node <b>302</b> uses DC power that can be supplied by batteries as the main power source <b>412</b>. DC power can be provided from AC converters from the electric outlet, battery charging devices, solar energy devices, automobile battery outlets, or other power generating devices.
[0048] In certain operational scenarios when a battery is the only possible energy source, it is important for the collaborative network <b>300</b> formed by these nodes <b>302</b> to be both power-efficient and power-aware. SNOWNET nodes <b>302</b> implement power management procedures to preserve battery power when possible.
[0049] The file system <b>404</b> on a SNOWNET node <b>302</b> is an encrypted file system. All information stored in data storage <b>404</b> is encrypted. When the node <b>302</b> is booted up, the operator provides a decryption key supplier (i.e. a Smartcard, a USB key, etc). The boot up sequence of the node <b>302</b> locates and loads the decryption key from the supplier. Only then can the file system <b>404</b> be accessed. Critical operational system files are decrypted and loaded into system memory <b>403</b> to be executed. When a node <b>302</b> is disconnected from the authentication and key management server of the SNOWNET (the SNOWNET authentication server as detailed later), i.e. not receiving key management messages from the server, for a certain period of time, an automatic power shut down is performed. Other tampering with the SNOWNET node <b>302</b> is prevented by physical security methods on the node <b>302</b>.
[0050] The above-mentioned feature of the present invention reduces the risk to the whole SNOWNET <b>300</b> if one SNOWNET node <b>302</b> is compromised by an unauthorized user. Without a valid connection to the decryption key supplier, the SNOWNET node <b>302</b> is inoperable after it has been powered down unless a valid decryption key supplier is applied. Even in the case that the attacker maintains a power supply to the SNOWNET node <b>302</b>, the node <b>302</b> will be isolated from the other SNOWNET node population <b>300</b> using this timeout mechanism.
[0051]FIG. 4 is a diagram showing the SNOWNET node <b>302</b> software architecture components <b>500</b>. The SNOWNET node <b>302</b> software components <b>500</b> are stored in the data storage memory <b>404</b> of each SNOWNET node <b>302</b>.
[0052] The software components <b>500</b> include operating system kernel space drivers <b>502</b> for various network interfaces, including drivers for Ethernet <b>504</b>, 802.11 Network Interface Card (NIC) in Host AP mode <b>506</b>, and 802.11 NIC in Ad Hoc mode <b>508</b>. All other SNOWNET components reside in user space <b>510</b>, or in kernel space <b>502</b> to improve performance. In particular, a Network Address Translation (NAT) module <b>532</b> resides in kernel space to provide the translation between external Internet addresses and the internal SNOWNET address space.
[0053] There are two major SNOWNET modules, a SNOWNET network layer <b>512</b> and a SNOWNET API <b>514</b>. Within the SNOWNET network layer <b>512</b>, the functions of SNOWNET node authentication <b>516</b> and SNOWNET Routing/Bridging <b>518</b> are implemented. For SNOWNET nodes providing client device access service, a standard DHCP module is included to dynamically assign addresses to clients. The SNOWNET Application Programmers Interface (API) <b>514</b> offers an application development interface so that other applications <b>520</b> and services <b>522</b> can access lower-level, SNOWNET specific features such as Routing Table information (shown in FIG. 9). Examples of applications that could be implemented in a SNOWNET network <b>300</b> include Wireless Voice, streaming data and many other network functions. In an embodiment, the API is defined and implemented for the Network Layer <b>512</b> and the Client Authentication Module <b>526</b> and includes program calls in the C language.
[0054] The SNOWNET network layer <b>512</b> is implemented as a network service to the other middleware components of a SNOWNET node <b>302</b>. These optional SNOWNET middleware components may include Quality of Service module <b>524</b>, the Security of Service module <b>524</b>, trust management algorithms <b>530</b>.and client authentication module <b>526</b>. The Quality of Service module <b>524</b> controls the share of the communication bandwidth given to each client. The Security of service <b>524</b> provides levels of additional security depending on the needs of the client. The trust management algorithms deal with rules for initial bootstrapping of the system and for allowing unknown clients and routers to become part of the system. The client authentication module <b>526</b> implements the <b>802</b>.<b>1</b>x policy for admitting and identifying clients and is discussed further below.
[0055] Each SNOWNET node <b>302</b> also includes a module supporting secure roaming for clients <b>528</b>. This is the module <b>528</b> that transfers the “trust and credentials” of a client from one SNOWNET node <b>302</b> to another when the client <b>310</b> moves from one SNOWNET node's local service area to another node's local service area. With the help of this module <b>528</b>, the client <b>310</b> does not need to go through the entire authentication phase again in the new local service area. Thus the time gap between the client <b>310</b> being served by two SNOWNET nodes is relatively smaller and the handoff is relatively smoother.
[0056] A SNOWNET node <b>302</b> may optionally host an authentication server <b>534</b> such as a RADIUS server <b>303</b> that will provide all of the necessary checking of credentials, generation of keys and storage of credential information.
[0057] Security features of the SNOWNET of the present invention, including SNOWNET implementation of IEEE 802.1x, PASS for SNOWNET, and authentication and security during handoff, are now discussed.
[0058] The present SNOWNET implementation of IEEE 802.1x features is now discussed, with reference to FIG. 5.
[0059] As shown in FIG. 5, a supplicant (or client) <b>310</b> accesses the SNOWNET <b>300</b> through the access point interface of the SNOWNET node <b>302</b>. The SNOWNET node <b>302</b> serves as an authenticator, and is in communication with an Authentication Server <b>303</b>.
[0060] If the network environment of the SNOWNET <b>300</b> permits connectivity to a RADIUS server (C. Rigney, A. Rubens, W. Simpson, and S. Willens, “Remote Authentication Dial In USER SERVICES (RADIUS)”, RFC 2138, APRIL, 1997), SNOWNET <b>300</b> uses an existing organizational RADIUS server as the backend authentication server <b>303</b>. Otherwise, one SNOWNET node <b>302</b> can be configured as an authentication server <b>303</b> by running the RADIUS server software. Before SNOWNET deployment, this node <b>303</b> downloads all necessary certificates into its system memory <b>404</b> so it can carry out the authentication duties. Such certificates include those for SNOWNET nodes <b>302</b> as well as for all authorized clients. Additional hardware resources such as system memory and a higher-performance CPU may be installed on an authorization server node <b>303</b> to improve performance. During deployment, the RADIUS server node <b>303</b> must be activated before any other SNOWNET nodes <b>302</b> are turned on and remain active until all other SNOWNET nodes <b>302</b> are turned off.
[0061] SNOWNET nodes <b>302</b> that provide local network access services act as authenticators in the IEEE 802.1x architecture using its Client Authentication Module <b>526</b>. Regular mobile clients <b>310</b> are supplicants. SNOWNET is compatible with many existing off-the-shelf implementations of supplicant functionality, e.g. Windows XP, Xsupplicant, etc. To execute the authenticator functions, the Client Authentication Module <b>526</b> in SNOWNET nodes <b>302</b> run the Open1X Authenticator software, an open source implementation of the IEEE 802.1x authenticator (Open1x, on the world wide web at open1x.org) <b>526</b>. SNOWNET Client Authentication Modules <b>526</b> enhance the standard IEEE 802.1x security by offering additional features such as mutual authentication between the mobile clients and the network and dynamic key rotation. Mutual authentication between mobile clients <b>310</b> and the SNOWNET network <b>300</b> is supported through the successful completion of the authentication process, as this can only be accomplished if both the client <b>310</b> and SNOWNET nodes <b>302</b> are properly identified using a public key infrastructure. Dynamic keys in which the security encryption keys are changed periodically and redistributed through the SNOWNET network <b>300</b> is one of the features supported by SNOWNET <b>300</b>.
[0062] The details of the Client and Network Mutual Authentication procedure in SNOWNET <b>300</b> are as follows. During the EAP handshake between the mobile client <b>310</b> and authenticating SNOWNET node <b>302</b>, the client <b>310</b> sends an EAP start message and the SNOWNET node <b>302</b> returns an EAP message requesting the user's identity. The client <b>310</b> returns his certificate encrypted using a public key encryption mechanism with the authentication server's <b>303</b> public key. The authenticator <b>302</b> then forwards this encrypted certificate to the authentication server <b>303</b>. The authentication server <b>303</b> verifies the client certificate and if the certificate is valid, the authentication server <b>303</b> generates a session key for the client and sends the session key to both the client <b>310</b> and authenticator <b>303</b>. Using this session key, the AP <b>302</b> encrypts the local shared WEP key and sends the encrypted shared key to the client <b>310</b>. To support mutual authentication, the authentication server <b>303</b> also encrypts the certificate for the whole SNOWNET <b>300</b> using the client's <b>310</b> public key and sends the encrypted certificate to the client <b>310</b> so the client <b>310</b> can authenticate the network <b>300</b> as well. If the client <b>310</b> accepts the network certificate, the client <b>310</b> decrypts the local shared WEP key, configures the shared key into its IEEE 802.11 device, and begins to access the network <b>300</b>.
[0063] Using the same RADIUS server <b>303</b>, SNOWNET <b>300</b> dynamically and periodically updates the shared keys used for communications between clients <b>310</b> and APs <b>302</b>. SNOWNET <b>300</b> does not need to update the shared keys when a client <b>310</b> disconnects from the network <b>300</b> because the shared key used at that moment will soon be replaced by periodical key refreshing.
[0064] PASS for SNOWNET is now explained.
[0065] In the previous section the focus has been on how authorization and encryption key management are done between mobile clients (supplicants) <b>310</b> and authenticators <b>302</b>. In this section the topic is authorization and key management among the SNOWNET nodes <b>302</b> themselves.
[0066] PASS refers to the Propagative Authentication Scheme for SNOWNET, which is explained herein below.
[0067] When IEEE 802.1x is adopted for typical 802.11 WLANs, there is an implicit assumption of an existing wired infrastructure (including access points and network cables interconnecting the access points) in which the topology of the network between the access points (APs) is static and the APs are trusted entities. Hence, there is a clear separation between the roles of supplicants (mobile clients) and authenticators (APs) and there is no need to raise the issue of the authenticity of the APs because they are already installed and connected via relatively secure wired connections.
[0068] In SNOWNET <b>300</b>, the backbone network <b>306</b> is wireless and dynamic, permitting new SNOWNET nodes <b>302</b> to join and others to leave the backbone network <b>306</b> during normal operation. Before these new nodes <b>302</b> can provide network access and authentication services to regular mobile clients <b>310</b>, the nodes <b>302</b> first need to be admitted to the backbone network <b>306</b>. In other words, SNOWNET nodes <b>302</b> themselves must also be authenticated within the SNOWNET <b>300</b>. This new authentication scheme is referred to as the “Propagative Authentication Scheme for SNOWNET” or PASS and is implemented in the PASS module <b>516</b>.
[0069] One feature of PASS is in the double role played by each SNOWNET node <b>302</b>. Prior to becoming part of the SNOWNET backbone network <b>306</b>, a SNOWNET node <b>302</b> acts as a supplicant in the IEEE 802.1x framework. The SNOWNET node <b>302</b> includes all necessary software to be a supplicant in the PASS module <b>516</b>, i.e. Xsupplicant for Linux/BSD implementation of SNOWNET nodes <b>302</b>. The SNOWNET node <b>302</b> follows the same procedure as would any mobile client supplicant in order to pass the mutual authentication phase between itself and the existing SNOWNET <b>300</b>. After a successful authentication, the new SNOWNET node <b>302</b> is given the shared communication key of the backbone network <b>306</b> so the SNOWNET node can participant in backbone communications.
[0070] Only after being admitted to the backbone network <b>306</b> may the new SNOWNET node <b>302</b> begin to offer network access services to its local clients <b>310</b>. Before the new SNOWNET node <b>302</b> can proceed further, the new SNOWNET node <b>302</b> first needs to become an authenticator by starting the execution of its Client Authentication Module <b>526</b> with the authenticator software. During normal operation, each SNOWNET node <b>302</b> is responsible for authenticating both local mobile clients <b>310</b> and new SNOWNET nodes <b>302</b>. Thus, the secure and authenticated backbone <b>306</b> is built up in an incremental and propagative fashion using the RADIUS server node <b>303</b>; hence the procedure is termed the Propagative Authentication Scheme for SNOWNET (PASS).
[0071] All authenticated SNOWNET nodes use the same key for encrypting backbone communication. This shared key is periodically changed in the same fashion as the client-to-AP session key. The RADIUS server <b>303</b> manages the shared key used for backbone communication separately from the keys for mobile clients <b>310</b>.
[0072] Authentication and Security During Handoff is now explained.
[0073] When a mobile client <b>310</b> moves from the service area of one SNOWNET node <b>302</b> to that of another SNOWNET node <b>302</b>, several tasks are performed to ensure the mobile client <b>310</b> receives uninterrupted data traffic.
[0074] Generally when roaming in an 802.11 WLAN, the first event to occur is a link layer handoff. That is, upon some predefined triggering event, the communication link between the mobile client and its current AP is broken and a new communication link between the mobile client and a new AP is established. Then the system performs the network layer handoff. That is, the mobile client establishes its new topological attachment (to its new AP) and propagates the information to the whole network so that data traffic from/to the mobile client can be properly directed. In this section, the issues related to authentication and security during link layer handoff are addressed. In the following section, network layer handoff is discussed.
[0075] The details of the link layer handoff operations vary depending on the link layer technology. In the case of current IEEE 802.11 WLAN technology, link layer handoff is done in a “break-before-make” fashion. When a mobile client discovers that the quality of the signal from its current AP drops below a predefined threshold, the mobile client will try to find a new AP with better signal quality. Optionally the mobile client may send out a disassociation message to its current AP to notify the current AP of the departure so that the AP can remove any states stored for the mobile client. Then the mobile client performs a scan over all channels to determine available APs and their characteristics and the selects its new target AP.
[0076] After the new AP is selected, the 802.11 standard specifies an authentication procedure for the mobile client by the new AP. However, as discussed herein above, the shared-key authentication scheme of 802.11 is not effective. On the other hand, many deployed 802.11 systems are open systems in which any mobile client is authenticated by default.
[0077] After authentication, the mobile client tries to connect to the new AP by sending to the new AP an Association Request. Upon the receipt of an Association Request, the AP sends back an Association Response. If the request is accepted, this response contains a “successful” value. After receiving an Association Response with “successful”, the mobile client acknowledges the message. Then the new connection is established and the mobile client can send and receive via the new AP.
[0078] Similarly, in SNOWNET <b>300</b> when a mobile client <b>310</b> roams from one SNOWNET node's <b>302</b> access service area to that of another, the mobile client <b>310</b> executes the functions of scan, authentication, and association.
[0079] SNOWNET <b>300</b> employs an optimized scan scheme to reduce the time needed to complete a scan. The reason for a mobile client <b>310</b> to perform a scan over all channels is that the client <b>310</b> does not know which SNOWNET nodes <b>302</b> are available in the area of the mobile client <b>310</b>. Putting the network interface of the mobile client <b>310</b> into promiscuous mode does not solve the problem because the SNOWNET nodes <b>302</b> may operate on different channels than the client's <b>310</b> current channel and thus still can not be heard. In SNOWNET <b>300</b>, the clients <b>310</b> may perform scan operations even during normal operation to constantly monitor the availability of nearby SNOWNET nodes <b>302</b> and their characteristics. This monitoring scan is only done under the condition of not interrupting ongoing communication and is not performed when battery lifetime becomes a concern. With such a list of recently heard nearby SNOWNET nodes <b>302</b>, when a handoff is needed, the mobile client <b>310</b> may focus only on those SNOWNET nodes <b>302</b> that are on the “recently heard” list and have good signal quality. Thus, the need for a full channel scan is avoided and the time the mobile client <b>310</b> takes to select its new service node <b>302</b> is reduced. In cases when the “recently heard” list is created very recently, the mobile client <b>310</b> may immediately select its new service node directly from the list without additional scanning.
[0080] The association procedure in SNOWNET <b>300</b> is similar to what the current <b>802</b>.<b>11</b> standard specifies and thus is not discussed here. The focus of this section is on authentication and security with respect to roaming.
[0081] Authentication is a lengthy process which requires both communication and processing resources. Thus, it is desirable that authentication will not be performed during handoff. The present invention includes an authentication and security handoff mechanism that smoothly and securely relocates the mobile client <b>310</b> to its new access service area with minimal delay. The mechanism is based on a public key system. It is assumed that all SNOWNET nodes <b>302</b> have a pair of keys, one public and one private. Each SNOWNET node <b>302</b> is aware of the public keys of other neighboring SNOWNET nodes <b>302</b>. Each mobile client <b>310</b> also knows the public keys of the nearby SNOWNET nodes <b>302</b>. This feature is fulfilled by either pre-installation or an external public key exchanging protocol.
[0082] When such an authentication and security handoff service is needed, a mobile client <b>310</b> needs to request that its current SNOWNET service node <b>302</b> provide a ticket. This ticket includes information such as the mobile client's identity and its current access service SNOWNET node's identity. The ticket includes other fields such as the time when the ticket is issued, its expiration time, a session key transmission key, check sum, etc. The ticket may also include some random bit padding before and after the real fields. This ticket is encrypted by the SNOWNET node <b>302</b> using its private key. This encrypted ticket is then sent to the requesting mobile client <b>310</b>. Because the delivery of this ticket is over an established secure communication session between the mobile client <b>310</b> and its current SNOWNET service node <b>302</b>, such a delivery is secure.
[0083] Optionally, if the mobile client <b>310</b> supports public key cryptography and has the computing resources to decrypt a message encrypted using asymmetric cryptography, the SNOWNET node <b>302</b> may encrypt the already encrypted ticket (with the SNOWNET node's private key) again with the mobile client's public key. Upon receiving such a double encrypted ticket; the mobile client <b>310</b> decrypts the ticket using the mobile client's private key and stores the ticket (still encrypted with the service node's public key). This way, even if such a ticket is captured by a third party; the third party can not decrypt the ticket.
[0084] After the mobile client <b>310</b> selects its new SNOWNET service node <b>302</b>, the mobile client <b>310</b> sends to the new SNOWNET node <b>302</b> a re-authenticate request message. This message includes its own identity, the identity of its previous service node, and the stored ticket. The message is encrypted using the new service node's public key.
[0085] Upon receiving such a re-authentication message, the new service node <b>302</b> first decrypts the message using its own private key. Then the new service node <b>302</b> decrypts the ticket (still encrypted with the previous service node's private key) included inside of the message using the public key of the previous service node. If the ticket is valid, the service node <b>302</b> generates a temporary communication session key for the mobile client <b>310</b>. The service node <b>302</b> sends back to the client <b>310</b> a re-authentication response message with a “successful” flag. The message is encrypted with the session key transmission key included in the ticket and sent to the mobile client <b>310</b> over the open channel. After receiving the temporary communication session key, the mobile client <b>310</b> may send and receive message traffic via the new service node <b>302</b>.
[0086] The temporary communication session key is only valid for a short period of time. After the temporary communication session key is expired, use of the temporary communication session key is not permitted for communication between the mobile client <b>310</b> and its new service node <b>302</b>. Thus, during the valid window of this temporary communication session key, the mobile client <b>310</b> must complete the normal mobile client authentication procedure as described earlier in this section. That is, the mobile client's credential needs to be transmitted to the RADIUS server <b>303</b> of the SNOWNET <b>300</b> for the client <b>302</b> to be authenticated. After being authenticated by the RADIUS server <b>303</b>, the RADIUS server <b>303</b> will start to issue and manage session keys for the communication between the mobile client <b>310</b> and service node <b>302</b> in the normal fashion.
SNOWNET Addressing
[0087] Before how data is forwarded within SNOWNET is explained, how addresses are managed is first described in more detail.
[0088] SNOWNET nodes may have multiple communication interfaces, each having a globally unique identifier known as the hardware address of the interface. Such an address is used in link layer communication between communication interfaces for the interfaces to address each other. Since link layer communication is typically handled by Medium Access Control (MAC) protocols, the hardware addresses are also typically known as MAC addresses. Among various addressing standards, the IEEE 802.3 (Ethernet) standard is the most widely accepted. Almost all newer MAC protocol standards adopt the same <b>48</b>-bit address format. Because MAC addresses are assigned to communication interface hardware by the manufacturers and they are globally unique, they are also commonly used as unique identifiers of their hosting devices. For SNOWNET nodes with more than one communication interface, and thus multiple MAC addresses, the lowest MAC address is used as the unique node identifier of the SNOWNET node.
[0089] Although MAC addresses are globally unique, they are managed by and organized according to hardware manufacturers. In order for computing devices to communicate with each other on a global scale, a more hierarchically structured addressing scheme based on the attachment location of the device, not the manufacturer of the device, is typically employed. Thus each communication interface is also assigned a network layer address known as the Internet Protocol (IP) address. Each IP address identifies a globally addressable communication end point on the Internet. Each IP address has a network address portion and a host address portion. These network addresses are also managed hierarchically. That is, a network may be divided into sub-networks and sub-networks may be further divided into smaller sub-networks. The global routing architecture is also hierarchical. At the highest level, routers only have routing entries for large, autonomously administrated networks, i.e. the network of a single Internet Service Provider (ISP). At a lower level, for instance, the routers within an autonomously administrated network would have routing entries for sub-networks within this network.
[0090] Network addresses are specified by a number and a length. The length specifies how many bits (from the most significant bit) are used for the network address within an IP address. The rest of the bits of the IP address can be used to address other entities within the network. These addresses together are known as the address space of the network (or sub-network). Hence, the shorter a network address is, the larger the network can be, and the larger the address space of the network is.
[0091] The smallest sub-network is also known as a “broadcast domain” because only at this level is the broadcast MAC address FF:FF:FF:FF:FF:FF effective. A device may use this broadcast address to communicate with all devices within the broadcast domain. As mentioned before, an IP address needs to be mapped to MAC address for carrying out link layer communication. The mapping between an IP address and a MAC address is also only known within broadcast domains because only within the same broadcast domain may devices use the broadcast MAC address to query each other for the mapping between IP address and MAC address. From an IP forwarding point of view, all devices within the same broadcast domain are only one hop away from each other.
[0092] As discussed in greater detail later, SNOWNET may operate in two different data forwarding modes: bridging mode and routing mode. The address management is done differently in these two modes.
[0093] When SNOWNET operates in bridging mode, its IP address management is very simple. The whole SNOWNET is a single broadcast domain. All devices including both SNOWNET devices and client devices share the same IP address space. A special SNOWNET node is configured as a DHCP server and manages IP address assignment for the whole network. It has a pool of addresses for it to lease to clients and SNOWNET node devices. IP addresses of expired leases are returned to the address pool for future assignments. After a new device, either a SNOWNET node or a client device, is authenticated, it will issue a DHCP request asking for an IP address assignment and other related IP communication parameters such as the addresses of the default routers for the SNOWNET and Domain Name Servers (DNS). This request is broadcast to all devices in the SNOWNET, including the DHCP server node. All other nodes will ignore the request except the DHCP server node, which will reply to the request with an IP address allocated from its IP address pool. Other requested parameters are also included in the reply message. The reply is sent back to the new device and the new device may use the assigned IP address and other parameters to configure itself.
[0094] When SNOWNET operates in routing mode, the address management is more complicated. Addresses can not be managed by a single entity for the whole SNOWNET since the SNOWNET may be divided into multiple sub-networks. The typical configuration is that each SNOWNET node providing local access services will have its own sub-networks and manage the addressing within these sub-networks. A separate sub-network address space is allocated for the backbone interfaces of the SNOWNET nodes. The administrator of a routing mode SNOWNET needs to configure the address space of this separate backbone sub-network.
[0095] After a new SNOWNET node is accepted into the network, addresses need to be assigned to the new node. These addresses include address(s) for the node's backbone interface and the address spaces for its service interfaces. This is accomplished by the SNOWNET in a distributed fashion. The new node will send an Address Request to the SNOWNET node acting as its authenticator asking for addresses for its backbone interfaces and address spaces for its local service interfaces. By consulting its routing table for known addresses and address spaces of the SNOWNET, the authenticator node assigns unused addresses and address spaces to the new node and sends these assignments back to the requesting node.
[0096] Because of the distributed nature of the problem, the above address assignment may still conflict with other nodes within the SNOWNET. This is either because of the imperfect knowledge of the authenticator about address usage in the whole network or because there are other new nodes at a distant portion of the same SNOWNET requesting addresses from a different authenticator node at the same time. If such a conflict does occur and is detected later, it is resolved based on the identifier of the nodes involved. The SNOWNET node with lower node identifier is able to keep its addresses and the other party needs to relinquish its addresses and go through the address request and selection procedure again.
[0097] Due to the shortage of IP addresses, a common practice is for an administrator to use “private addresses” for computers within the network under his management. These addresses are IP address in the same format as any other addresses. However, they can only be used within a private network to address devices within the same private network. Such addresses can not be used outside of private networks. Hence, devices with private addresses are not really “globally addressable”.
[0098] Devices in private networks can not use their private addresses to communicate with device outside of their private network. Different private networks may also use the same private network address spaces as well since devices will not use their private addresses to communicate with devices in different private networks.
[0099] solution to this problem is know as Network Address Translation (NAT), that is, the nodes connecting to both a private network and the Internet needs to perform network address translations for communications between a device inside of the private network and a device outside of the private network. A NAT device has one interface connected to the private network with a private address so it can communicate with device within the same private network. The same NAT device also has one interface connected to the Internet with a public address so it can communicate with other devices on the Internet.
[0100] All application layer communication endpoints are identified by a network layer address (IP address) and a transport layer address (User Datagram Protocol port or Transmission Control Protocol port). When a data packet is sent from a private address device, it is forwarded to the NAT device first. The NAT device stores the source node's network layer address and transport layer address in a translation entry of its NAT table. The NAT device allocates an unused port of the same transport layer protocol as the source uses from itself for this data packet and stores the port number in the table with the source device's private address and port number. It then replaces the data packet's source network layer address and transport layer address with its own public IP address and the newly allocated port. The data packet is then forwarded out of its public network interface.
[0101] To the other end of the communication, it would appear that the communication is originated from the NAT device so the return communication is also address to the NAT device using the NAT device's public address and network layer address and the transport layer address as destination addresses. After the in-bound data packet reaches the NAT device, the device uses the destination transport layer address to locate the translation entry and find out the private IP address and transport layer address in that entry. The NAT device again replaces the destination network layer address and transport layer address of the packet with the ones stored in the translation entry and forwards the packet out of its private network interface to reach the real communication end point.
[0102] The SNOWNET addressing schemes introduced above work with both private addresses and public addresses so the administrator of the SNOWNET may select either method, depending on how many IP addresses are available to allocate for the SNOWNET. If private addresses are used for the SNOWNET, the gateway SNOWNET nodes need to provide NAT functionality.
Data Forwarding
[0103] SNOWNET <b>300</b> data forwarding, including bridging and routing, is now disclosed.
[0104] SNOWNET <b>300</b> provides two separate levels of security by using independent shared WEP key management procedures for the backbone communications and the communications between a SNOWNET node <b>302</b> and its mobile clients <b>310</b>.
[0105] Data packets originating from a source client <b>310</b> are encrypted using the local encryption key generated from the shared key of the SNOWNET node <b>302</b> serving this client <b>310</b>. The packet is received on the AP interface and decrypted by the SNOWNET node <b>302</b>. Then if the packet is to be sent on the backbone <b>306</b>, the packet is then encrypted again by the SNOWNET node <b>302</b> with the encryption key generated from the shared backbone WEP key.
[0106] SNOWNET nodes <b>302</b> may operate in one of two data forwarding modes: bridging mode and routing mode. Each mode is disclosed herein below.
Bridging Mode
[0107] When SNOWNET nodes <b>302</b> operate in bridging mode, the SNOWNET nodes <b>302</b> execute the IEEE 802.1d MAC Bridge protocol, discussed herein above. SNOWNET nodes <b>302</b> may be referred to as “SNOWNET bridges” <b>305</b> when the SNOWNET nodes <b>302</b> are operating in bridging mode.
[0108] SNOWNET bridges <b>305</b> execute a spanning tree protocol to configure their forwarding topology within the backbone network <b>306</b>. The spanning tree protocol for SNOWNET bridges <b>305</b> incorporate the IEEE 802.1d protocol, modified such that SNOWNET Bridge ports are a mix of physical and virtual entities. The local service access network interfaces of SNOWNET bridges are considered as physical ports by SNOWNET bridges <b>305</b>. On the other hand, backbone “ports” are virtual and there is one port assigned for each backbone network link. That is, each virtual port is identified by the pair-wise combination of local backbone interface identity and the backbone interface identity on a neighboring bridge. In an embodiment, the communication between a bridge and all its neighboring bridges may share the same physical interface, as occurs in a broadcast link. All ports, virtual or physical, are identified before SNOWNET nodes <b>302</b> start the spanning tree protocol. During normal operation, the status of active ports is monitored constantly by a combination of passive traffic listening and active probing. If the status changes, the reconfiguration operation of the spanning tree protocol is executed.
[0109] After SNOWNET bridges <b>305</b> form a spanning tree, the SNOWNET bridges <b>305</b> enter the learning and forwarding phase. In learning, each bridge <b>305</b> remembers through which port each endpoint MAC address can be reached.
[0110]FIG. 6 shows an example of a SNOWNET network <b>300</b> with a spanning tree created atop of the SNOWNET backbone network <b>306</b>. The spanning tree includes SNOWNET nodes <b>302</b> configured as SNOWNET bridges <b>305</b>.
[0111] As shown in FIG. 6, the SNOWNET backbone network <b>306</b> comprises SNOWNET bridges <b>305</b> (B<b>1</b>, B<b>2</b>, and B<b>3</b>), which provide local access services (AP<b>1</b>, AP<b>2</b>, and AP<b>3</b>, respectively) for clients <b>310</b> (C<b>1</b> through C<b>5</b>).
[0112]FIG. 7 is a table of SNOWNET Bridging Table <b>400</b> Contents. Each SNOWNET bridge <b>305</b> of FIG. 6 includes a SNOWNET Bridging Table <b>400</b> stored in data storage memory <b>404</b> as shown in FIG. 7. The table <b>400</b> of FIG. 7 illustrates what is stored in each bridge's <b>305</b> table after the topology learning phase is complete. Compared to standard MAC bridges as specified by IEEE 802.1d, the difference is that the “port” column in standard MAC bridges is replaced by two columns in SNOWNET bridges <b>305</b>: local interface and neighboring interface. These two addresses together identify a SNOWNET “bridge port”, either logical or physical.
[0113]FIG. 8 shows the IEEE 802.11 Data Frame Address Field contents and possible values of the “To DS” and “From DS” fields. The IEEE 802.11 standard refers to the backbone network connecting the APs <b>104</b> as a “Distribution System (DS)”. In each data frame, there are two bits, namely the “To DS” bit and “From DS” bit. Together they describe the transmission direction of the data frame and the operation mode of the protocol. For instance when a data frame is sent from an access point (AP), such as AP<b>1</b> in FIG. 6, to a client, such as C<b>1</b> in FIG. 6, the “To DS” bit is set to FALSE while the “From DS” bit is set to TRUE. The SNOWNET <b>300</b> network of the present invention utilizes the first three rows of FIG. 8. The first three rows are for ad hoc mode communication, AP to client communication, and client to AP communication. The fourth row describes the communication between APs, which is currently not used by SNOWNET bridges <b>305</b>.
[0114] In each IEEE 802.11 data frame, there are four address fields. These address fields include different addresses according to the values of the “From DS” and “To DS” bits. When operating in ad hoc mode, IEEE 802.11 data frames include 3 addresses: destination address, source address, and the BSSID of the IBSS. The 4<sup>th </sup>address in the data frame is not used by ad hoc mode data transmission. Such a data frame is identified if both the “To DS” and “From DS” fields of the data frame are set to 0. The SNOWNET network <b>300</b> of the present invention uses this format for backbone <b>306</b> communication.
[0115] When data frames are originated from a mobile client C, their address fields are set as specified by the 802.11 protocol standard. Its “To DS” field is set to 1 while the “From DS” field is set to 0. The first address is the BSSID of the access point to which the mobile client C attaches, which in SNOWNET <b>300</b> is provided by the local service access interface of the SNOWNET bridge. The second field contains the mobile client's own address while the third address is the address for the destination client C. The fourth address is left unused. The SNOWNET network <b>300</b> of the present invention uses this format for client C to SNOWNET bridge <b>305</b> communications. Similarly, the SNOWNET network <b>300</b> of the present invention uses the standard AP to client C format (To DS=0, From DS=1) to deliver frames to its attached clients C, again leaving the fourth address unused.
[0116] After the first SNOWNET bridge <b>305</b> (B<b>1</b>) receives a data frame that is destined for a device (such as client C<b>5</b>) not attached to the bridge B<b>1</b>, the SNOWNET bridge B<b>1</b> reformats the frame to be forwarded through the backbone network <b>306</b>. In the SNOWNET network <b>300</b> of the present invention, IEEE 802.11 standard is modified by utilizing the 4<sup>th </sup>address field to hold the address of the SNOWNET bridge B<b>1</b> interface transmitting the data frame.
[0117] A SNOWNET bridge <b>305</b> will always forward data frames for clients C attached to its local access service. For example, SNOWNET bridge B<b>2</b> will forward data frames for clients C<b>2</b> and C<b>3</b>. If both the source (for example, C<b>2</b>) and destination (for example, C<b>3</b>) of a data frame are using its local network access service, the data frame is forwarded via the local access interface. Otherwise the data frame is forwarded to the neighbor bridge (for example, B<b>3</b>) designated for Client <b>3</b>, according to the learned MAC endpoints in the Bridging Table <b>400</b>.
[0118] Upon receiving a data frame forwarded by a SNOWNET bridge (for example, B<b>2</b>), a SNOWNET bridge (for example B<b>3</b>) decides if the SNOWNET bridge B<b>3</b> will further forward the frame by using a mechanism similar to the filter mechanism of IEEE 802.1d. A SNOWNET bridge B<b>3</b> will only forward a data frame when the previous forwarder (the SNOWNET bridge from which the bridge received the data frame, as identified by the 4<sup>th </sup>address field in the data frame, such as B<b>2</b>) is listed as an active neighbor bridge and the destination and the source of the data frame are on different sides of the bridge as indicated by the bridge address database (i.e., the destination and the source are listed as reachable via different ports). Before the data frame is forwarded, the bridge updates the 4<sup>th </sup>address in the data frame to the address of its own transmitting interface.
[0119] At the bridge B<b>3</b> that provides access services to the destination client C<b>5</b>, the data frame is converted again to the “from DS” type of data frame in the appropriate format.
[0120] Another possible embodiment of the above bridge port management and data frame formatting is to utilize the Wireless Distribution System (WDS) links defined by the 802.11 standard instead of ad hoc style communication we have described. WDS links are static links created by administrators between APs on the same wireless channel so the APs can exchange data via such a link. In this case, a SNOWNET bridge would monitor the identities of its neighboring SNOWNET bridges and dynamically create and/or tear down WDS links as the connectivity situation of the SNOWNET bridge changes.
[0121] An advantage of running SNOWNET <b>300</b> in bridge mode is to simplify network layer roaming and Internetwork Protocol (IP) address management. Since an entire SNOWNET <b>300</b> typically shares the same IP address space, there is no need for each SNOWNET bridge <b>305</b> to manage client IP addresses. One dedicated DHCP server within the SNOWNET <b>300</b> can serve the whole network <b>300</b>. When a client C moves from one AP coverage area to another, there is no need to change its IP address. Other advantages of this situation include the simplified support of multicast and other link layer management protocols.
[0122] Since the Bridging Table <b>400</b> (shown in FIG. 7) corresponds to a per-host routing table, such a method may not scale well when the size of the SNOWNET network <b>300</b> grows. In addition, a spanning tree forwarding topology limits the shape and efficiency of data forwarding paths. In some cases the shortest forwarding path between two communicating clients cannot be used because their links are not part of the spanning tree. This is frequently the case in broadcast environments. Finally, bridges <b>305</b> update their address databases <b>400</b> and spanning tree by periodically exchanging “heartbeat” messages. Thus, when the backbone <b>306</b> topology changes or a client C changes its attached AP, it may take a relatively long period of time for the network to converge to a new state that reflects the new topology and attachments. Data packets may be lost during this transient period. In the worst case, the updates may not be able to catch up with the changes in the topology and the network becomes unstable.
[0123] In summary, the SNOWNET bridge mode is relatively simple, but it is best suited for small and moderately dynamic SNOWNETs <b>300</b>.
[0124] The use of SNOWNET <b>300</b> in routing mode, however, overcomes the above-mentioned problems of Bridging mode.
Routing Mode
[0125] When SNOWNET nodes <b>302</b> operate in the routing mode, the SNOWNET nodes <b>302</b> form a flat routing space over the backbone network <b>306</b> (as opposed to hierarchical or clustered approaches). These SNOWNET nodes <b>302</b> are referred to as SNOWNET routers <b>305</b> when operating in routing mode. In this case, the backbone network <b>306</b> is viewed as a variation of a Mobile Ad hoc Network (MANET) (IETF Mobile Ad-hoc Networks (manet) Working Group, on the world wide web at ieff.org/html.characters/manet-charter.html) and research results on MANET routing algorithms can be borrowed for SNOWNET routing (C. Perkins, E. Belding-Royer, and S. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing ”, IETF Internet Draft “draft-ietf-manet-aodv-11.txt”, Work in Progress, June 2002; D. Johnson, D. Maltz, Y. Hu, and J. Jetcheva, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR)”, IETF Internet Draft <draft-ieff-manet-dsr-07.txt>, Work in Progress, February 2002; etc.).
[0126] However, SNOWNET <b>300</b> represents an important special case within the class of MANETs. In SNOWNET <b>300</b> there are two distinct types of entities in the network that can be mobile: clients <b>310</b> and SNOWNET nodes <b>302</b>. However, current MANET research treats the whole MANET as a flat routing space in which there is no structure in the MANET topology and each client is a node that participates equally in data forwarding. This typically imposes special requirements to enable MANET functionality on all nodes in the network. In the SNOWNET service model <b>300</b>, the special requirements on mobile clients <b>310</b> are limited so that users may employ standard typical mobile computers such as Laptops, PDAs and other commercially available devices with standard client communication devices such as widely available 802.11 b PCMCIA cards. Thus, directly applying an existing MANET approach by configuring both clients and SNOWNET nodes <b>302</b> as MANET nodes is not a viable solution.
[0127] With SNOWNET routers <b>305</b>, a hybrid approach is introduced. In this approach, only the SNOWNET routers <b>305</b> are configured as MANET nodes and participate in MANET-like routing algorithms. All router backbone interfaces share the same IP address space and execute the routing protocols and exchange routing information among themselves. Eventually they together build routes for reaching any backbone nodes.
[0128] Among the differences in SNOWNET routing and MANET routing is that each SNOWNET router <b>305</b> is also allocated mask-able address space segments from which addresses are dynamically assigned to this router's local clients. DHCP server software is installed on each router to allocate IP addresses for local mobile clients. During routing information exchanges, in addition to advertising for their own IP addresses, backbone nodes also advertise for their local service subnets. In other words, the backbone nodes proxy for their local service subnets by including this information in their reachable network list. This special requirement requires modifications to a “normal” MANET routing protocol specification by requiring an additional field in the SNOWNET routing protocol messages to include these proxy subnets. This field may include multiple entries and hence is referred to as the “proxy list”.
[0129] In order to support roaming, in addition to the local service subnets, each SNOWNET router <b>305</b> is responsible for providing a proxy service for a number of “foreign mobile clients”, which are mobile clients <b>310</b> currently attached to the router but with addresses outside of the router's address spaces. The advertisement of these foreign client addresses is included in the SNOWNET routing protocol message in the same way as the local service subnets, as entries in the proxy list.
[0130] Each SNOWNET router <b>305</b> maintains a Routing Table <b>500</b>, shown in FIG. 9. The Routing Table <b>500</b> specifies the local interface and the neighboring interface to the respective portable network node device that is the next hop-destination in a routing path.
[0131] In each routing table <b>500</b>, there are two types of route entries: subnet routes and host routes. The former are aggregated route entries where each entry describes routes for all the hosts within the corresponding address space, expressed in traditional format as a combination of network address and network mask. The latter are for the routes towards specific mobile nodes <b>302</b>, either the backbone interface of SNOWNET nodes or foreign mobile clients. In the examplerouting table <b>500</b>, the entries for B<b>1</b>, B<b>2</b>, and B<b>3</b> are host routes for SNOWNET node backbone interfaces, the entries for C<b>5</b> are a host route for a foreign client, and the entries for AP<b>1</b>, AP<b>2</b>, and AP<b>3</b> subnets are subnet routes. A longest match rule (W. Doeringer, G. Karjoth, and M. Nassehi, “Routing on longest-matching prefixes, IEEE/ACM Transactions on Networking (TON), Vol. 4, Issue 1, February, 1996) can be applied during route lookups.
[0132] A client C may wander off the service coverage area of one SNOWNET router and move to the coverage area of another SNOWNET router <b>305</b>. SNOWNET <b>300</b> supports client roaming so that there is no data interruption during the change of client attachment. For stationary computers, IP addresses serve both as identifiers and location indicators. However, when an IP address is assigned to a mobile client <b>310</b>, these two properties contradict each other when the mobile client changes its attachment. In one embodiment, the IP address should the same so that the integrity of the client identity is maintained. In another embodiment, the client should acquire a new address to reflect its current network access attachment for efficient routing.
[0133] The SNOWNET router <b>305</b> solves this problem by allowing two types of routes to coexist. For those clients <b>310</b> who stay with their original SNOWNET routers, the subnet routes for their subnets represent their routes. There is no specific route for each individual client of this type. For those clients who have left their original subnet and become “foreign clients” for other routers, each routing table explicitly lists their routes. Because of the support for “foreign mobile client”, there is no need for the client to acquire a new IP address in the address space of its current attachment environment while it is still within the SNOWNET <b>300</b>.
[0134] When a mobile client <b>310</b> moves to a new subnet, the mobile client <b>310</b> informs its previous router <b>305</b> about its new attachment by forwarding to its previous router <b>305</b> a Routing Update Message <b>600</b> (an example of which is shown in FIG. 10).
[0135] More particularly, FIG. 10 shows a Routing Update Message <b>600</b>, also referred to as a notification, in which a mobile client <b>310</b> notifies its previous service SNOWNET node <b>305</b> about the address of its current service SNOWNET node. The message <b>600</b> includes the identities of the three parties involved in the activities, as well as security related information such as a certificate encrypted using the client's private key and the previous service SNOWNET node's public key.
[0136] This notification <b>600</b> shortens the time period or gap between the time the client breaks off from its previous router and the time its new route is inserted into every routing table in the backbone network. During this time period, data packets destined for this mobile client <b>310</b> is delivered towards the client's previous service router <b>305</b> and the previous service router <b>305</b> is not able to further forward data packets to the mobile client. With the notification, the previous router is able to forward data packets to the new router <b>305</b> before all routing tables <b>500</b> are updated. Such a notification <b>600</b> will not totally eliminate the gap, but significantly reduces the duration of the gap to the period from the time the client breaks off from its previous router to the time that the client's Routing Update Message <b>600</b> arrives at its previous service router. Since mobile clients <b>310</b> typically move between neighboring coverage areas, it is likely that their previous and current service routers <b>305</b> are very close in distance (or number of link hops) in the backbone network <b>306</b> topology. Thus the notification will arrive relatively quickly. Each router <b>305</b> may optionally cache data packets for a client <b>310</b> if the data packets cannot be delivered to the clients. Once the notification <b>600</b> about the client's new router <b>305</b> arrives, cached data packets are forwarded to the new router <b>305</b>. Also, upon receiving such a notification <b>600</b>, if the client <b>310</b> is a foreign client on its previous router <b>305</b>, the client <b>310</b> is removed from the previous router's “foreign client” list.
[0137] A foreign client in SNOWNET <b>300</b> is served differently by the network from how a mobile client <b>310</b> is served by a foreign agent as specified in the well known Mobile IP (C. Perkins, “IP Mobility Support”, IETF RFC 2002, October, 1996). In Mobile IP, when a mobile client is attached to a network other than its home network, the mobile client acquires a local IP address, termed “foreign address”, from its current network. The network to which the mobile client currently attaches is known as the “foreign network”. The mobile client always maintains its address on its home network. This address is known as the mobile client's home address or permanent address. When other hosts on the Internet want to communicate with the mobile client, they will address their communications using the mobile client's home address. When the mobile client is on a foreign network, it receives incoming traffic with the help of an entity on its home network, its home agent. Incoming traffic is sent to the mobile client's home network by the Internet. Then the home agent captures the packets for the mobile client and forwards them to the mobile client's current location using its new local address. For this scheme to work, the mobile client is required to report its local address on a foreign network to its home agent. By using two addresses (home address and foreign address) simultaneously, the Mobile IP solves the conflict between the attachment and identity purposes of addressing.
[0138] In SNOWNET <b>300</b> of the present invention, there is no need for a mobile client <b>310</b> to receive a new IP address. When the mobile client enters SNOWNET <b>300</b> for the first time, the mobile client receives an IP address from the SNOWNET node <b>302</b> it is associated with. Because the network <b>300</b> is capable of forwarding data for specific hosts, it is not necessary for a mobile client to obtain new foreign address when it moves to the coverage area of a SNOWNET node <b>302</b> that is different from its initial node. The network <b>300</b> propagates routes for the mobile client reflecting its current attachment. SNOWNET <b>300</b> has such a capability because it operates on a scale that is much smaller than the Mobile IP's environment. Thus SNOWNET <b>300</b> can install per-host routes in the network for these mobile clients. On the other hand, SNOWNET <b>300</b> can easily support Mobile IP as well. A Mobile IP-capable mobile client may simply report its SNOWNET address to its home agent as its foreign address. This results in more efficient operation of Mobile IP in a SNOWNET <b>300</b> environment.
[0139] As disclosed herein above, SNOWNET comprises a mobile network solution which provides secure and portable wireless networking service to mobile users with devices equipped with wireless network interfaces. The Secure Nomadic Wireless Network, or SNOWNET, follows a hierarchical approach. Special SNOWNET nodes are deployed in the area where networking service is needed and form a backbone network. At the same time, SNOWNET nodes provide local access service to regular mobile clients.
[0140] The SNOWNET of the present invention is portable and can be rapidly deployed in an environment where there is no existing networking infrastructure. SNOWNET is secure. Using SNOWNET extensions to the IEEE 802.1x in the PASS algorithm, all traffic transmitted within SNOWNET is highly protected. SNOWNET also provides an enhanced scheme for transferring authentication and security during handoff to support smooth, rapid mobile client roaming. Finally, SNOWNET offers two operation modes for automatically forwarding messages and that provide seamless roaming between different local service cells.
[0141] SNOWNET can be used in several different scenarios. Here are some examples. SNOWNET can be setup as a secure fast-deployable standalone networking infrastructure to provide instant networking services to a field where there is no trusted networking environment. Typical usages may include battle field situations, disaster relief operations, scientific exploration tasks, and robotics applications. SNOWNET can be installed as a cost-efficient multi-hop wireless LAN to provide wireless networking coverage for any organization. With a flexible, multi-hop, self-organized, and self configured wireless backbone, SNOWNET saves customers costs for cabling, installation and maintenance. SNOWNET may also be used as a stub network to connect isolated LANs to an organizational network. For instance, a school may use SNOWNET to “glue” a LAN installed in a remote building to its existing campus network.
[0142] Features of the present invention described above include:
[0143] The SNOWNET architecture for a 2-level secure, portable wireless router network device based on extensions to the IEEE 802.1x standard.
[0144] The PASS algorithm for securely adding and authenticating a router to an existing SNOWNET.
[0145] A self-configured address management scheme for SNOWNET to allocate addresses for their backbone interfaces and local service networks.
[0146] A bridging protocol involving modification to the IEEE 802.11 standard to provide operational compatibility with the IEEE 802.1d and 802.1w bridging standards.
[0147] A new routing algorithm that is a hybrid approach based on traditional MANET routing algorithms.
[0148] Support for efficient network level roaming for mobile client between difference service areas of the SNOWNET.
[0149] Support for an enhanced mechanism for efficient handoff of authentication and security when mobile client is roaming between difference service areas of the SNOWNET.
[0150] The system also includes permanent or removable storage, such as magnetic and optical discs, RAM, ROM, etc. on which the process and data structures of the present invention can be stored and distributed. The processes can also be distributed via, for example, downloading over a network such as the Internet.
[0151] The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
Contents5
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2014066007A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO2006113159A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US2004221154A1 | Cited by | United States of America | Pre-grant |
| US8850194B2 | Cited by | United States of America | Search report |
| WO2005094474A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2008240064A1 | Cited by | United States of America | Pre-grant |
| US8181017B2 | Cited by | United States of America | Applicant |
| US8032746B2 | Cited by | United States of America | Applicant |
| KR100952783B1 | Cited by | Republic of Korea | Search report |
| US8279870B2 | Cited by | United States of America | Applicant |
| EP1655920B1 | Cited by | European Patent Office (EPO) | Examiner |
| US8300626B2 | Cited by | United States of America | Search report |
| US10154384B2 | Cited by | United States of America | Search report |
| WO2006038998A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO2008156546A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2006099929A1 | Cited by | United States of America | Pre-grant |
| US2005152289A1 | Cited by | United States of America | Pre-grant |
| US10505845B2 | Cited by | United States of America | Search report |
| US2006133338A1 | Cited by | United States of America | Pre-grant |
| GB2521079A | Cited by | United Kingdom | Search report |
| US7665126B2 | Cited by | United States of America | Search report |
| US2006067272A1 | Cited by | United States of America | Pre-grant |
| US2006236377A1 | Cited by | United States of America | Pre-grant |
| US7596808B1 | Cited by | United States of America | Search report |
| US2009034419A1 | Cited by | United States of America | Pre-grant |
| US8233905B2 | Cited by | United States of America | Applicant |
| WO2006043262A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8379621B2 | Cited by | United States of America | Search report |
| US2006268749A1 | Cited by | United States of America | Pre-grant |
| US7769888B2 | Cited by | United States of America | Applicant |
| WO2006029131A2 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| US8208811B2 | Cited by | United States of America | Search report |
| US2010299452A1 | Cited by | United States of America | Pre-grant |
| US10531282B2 | Cited by | United States of America | Applicant |
| US8396009B2 | Cited by | United States of America | Search report |
| WO2006043262A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1626537A1 | Cited by | European Patent Office (EPO) | Search report |
| CN105743670A | Cited by | China | Search report |
| US2013007457A1 | Cited by | United States of America | Pre-grant |
| US2006085844A1 | Cited by | United States of America | Pre-grant |
| WO2007103647A2 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| US10244386B2 | Cited by | United States of America | Applicant |
| US11563642B2 | Cited by | United States of America | Search report |
| US9100988B2 | Cited by | United States of America | Applicant |
| US2009077668A1 | Cited by | United States of America | Pre-grant |
| US8072951B2 | Cited by | United States of America | Applicant |
| US7639681B2 | Cited by | United States of America | Search report |
| US2012163376A1 | Cited by | United States of America | Pre-grant |
| WO2006129187A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US2005220062A1 | Cited by | United States of America | Pre-grant |
| US8111684B2 | Cited by | United States of America | Search report |
| US10289504B2 | Cited by | United States of America | Applicant |
| US2021006535A1 | Cited by | United States of America | Search report |
| US2012093037A1 | Cited by | United States of America | Pre-grant |
| EP2530976A1 | Cited by | European Patent Office (EPO) | Search report |
| US2004156347A1 | Cited by | United States of America | Pre-grant |
| US2013133058A1 | Cited by | United States of America | Pre-grant |
| US11818779B2 | Cited by | United States of America | Applicant |
| US8819405B2 | Cited by | United States of America | Search report |
| US2008310311A1 | Cited by | United States of America | Pre-grant |
| US11811642B2 | Cited by | United States of America | Applicant |
| EP1655920A2 | Cited by | European Patent Office (EPO) | Examiner |
| GB2521079B | Cited by | United Kingdom | Search report |
| US7849504B2 | Cited by | United States of America | Applicant |
| US2018070230A1 | Cited by | United States of America | Search report |
| WO2007011416A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| KR101024028B1 | Cited by | Republic of Korea | Search report |
| US9031072B2 | Cited by | United States of America | Search report |
| US9634995B2 | Cited by | United States of America | Applicant |
| CN102017573A | Cited by | China | Search report |
| US7404206B2 | Cited by | United States of America | Search report |
| AU2005297251B2 | Cited by | Australia | Search report |
| EP1856864A4 | Cited by | European Patent Office (EPO) | Search report |
| US8161191B2 | Cited by | United States of America | Applicant |
| US11522830B2 | Cited by | United States of America | Search report |
| US2003126467A1 | Cited by | United States of America | Pre-grant |
| WO2006129187A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2006215673A1 | Cited by | United States of America | Pre-grant |
| US2005078633A1 | Cited by | United States of America | Pre-grant |
| US9294279B2 | Cited by | United States of America | Search report |
| US8166296B2 | Cited by | United States of America | Applicant |
| US2007133998A1 | Cited by | United States of America | Pre-grant |
| EP1992175A4 | Cited by | European Patent Office (EPO) | Search report |
| US2009052345A1 | Cited by | United States of America | Pre-grant |
| WO2006029131A2 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| WO2006113159A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8515433B2 | Cited by | United States of America | Applicant |
| US2009217033A1 | Cited by | United States of America | Pre-grant |
| US9762547B2 | Cited by | United States of America | Applicant |
| US8645976B2 | Cited by | United States of America | Search report |
| US10652214B2 | Cited by | United States of America | Applicant |
| CN105187515A | Cited by | China | Search report |
| EA010993B1 | Cited by | Eurasian Patent Organization (EAPO) | Search report |
| CN104579788A | Cited by | China | Search report |
| GB2434063A | Cited by | United Kingdom | Search report |
| US8190124B2 | Cited by | United States of America | Search report |
| US2006227724A1 | Cited by | United States of America | Pre-grant |
| EP2060056B1 | Cited by | European Patent Office (EPO) | Examiner |
| US8719569B2 | Cited by | United States of America | Search report |
| CN102479110A | Cited by | China | Search report |
20 members in 3 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 42870002 | United States of America | P | |
| 42870002 | United States of America | P | |
| 46385703 | United States of America | A | |
| 60428700 | – | – | – |
| US20020428700P | – | – | – |
| US20030463857 | – | – | – |
Members20
| Document | Office | Kind | |
|---|---|---|---|
| US2004103275A1 | United States of America | A1 | |
| CN1503523A | China | A | |
| JP2004180307A | Japan | A | |
| JP2005117656A | Japan | A | |
| US2005152305A1 | United States of America | A1 | |
| US2008232338A1 | United States of America | A1 | |
| JP2009060604A | Japan | A | |
| JP2009153142A | Japan | A | |
| US7634230B2 | United States of America | B2 | |
| CN1503523B | China | B | |
| CN101835147A | China | A | |
| JP4578917B2 | Japan | B2 | |
| US7881667B2 | United States of America | B2 | |
| US2011099611A1 | United States of America | A1 | |
| JP4696149B2 | Japan | B2 | |
| JP4696154B2 | Japan | B2 | |
| US2011200026A1 | United States of America | A1 | |
| US8630275B2 | United States of America | B2 | |
| US8688041B2 | United States of America | B2 | |
| CN101835147B | China | B |
93 transactions on the USPTO file
Allowed after 2 non-final rejections, 2 final rejections and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 2
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Withdraw Flagged for 5/25W525 | W525 | |
| Flagged for 5/25F525 | F525 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Applicant has submitted new drawings to correct Corrected Papers problemsCORRDRW | CORRDRW | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by OIPE CSRL194 | L194 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)LAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2004103275
- Publication, EPODOC
- US2004103275
- Application
- 10463857
- Application, DOCDB
- 46385703
- Application, EPODOC
- US20030463857
Titles
- English
- Methods and apparatus for secure, portable, wireless and multi-hop data networking
Patent term adjustment
- A delay
- +1,148 daysthe office missed an examination deadline
- Applicant delay
- −304 days
- Net adjustment
- 844 days
Classification
- CPC, 11
- H04W84/12
- H04L45/54
- H04L63/062
- H04L63/0823
- H04W40/20
- H04W40/26
- H04W84/18
- H04L63/0428
- H04L63/068
- H04W12/062
- H04W12/069
- IPC, 8
- H04L12 46
- H04L12 28
- H04L29 06
- H04W12 069
- H04W40 20
- H04W40 26
- H04W84 12
- H04W84 18
- USPC, 1
- 713150000