Abstract:
A method of operating a wireless communication device includes transmitting a query to a wireless network. The query requests information about a type of Internet Protocol (IP) address assignment in use on the wireless network. The method also includes receiving a reply from the wireless network, wherein the reply includes the information about the type of IP address assignment in use on the wireless network. The method further includes determining an IP address for the wireless communication device, including: only in response to the information about the type of IP address assignment in use on the wireless network, as set forth in the reply, indicating that dynamic host configuration protocol (DHCP) is in use by the wireless network, transmitting a DHCP discovery message to the wireless network in order to determine the IP address for the wireless communication device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 12/549,464, filed on Aug. 28, 2009, which claims the benefit of U.S. Provisional Patent Application No. 61/097,380, filed on Sep. 16, 2008, and Application No. 61/099,739, filed on Sep. 24, 2008. The disclosures of the above applications are incorporated by reference herein in their entirety. 
     
    
     BACKGROUND 
       [0002]    The present disclosure relates generally to the assignment of Internet Protocol (IP) addresses in wireless networks. More particularly, the present disclosure relates to increasing the speed of the assignment of IP addresses in wireless networks such as wireless local-area networks (WLANs). 
         [0003]    Networking technologies such as WLAN require that a unique network address be assigned to each communicating device. IPv4 and IPv6 are the standard protocols used for these network communications, and have several ways in which the unique IPv4 or IPv6 device addresses can be assigned. The types of address assignment include static addressing, where the addresses are manually assigned by an administrator; dynamic addressing, where addresses are automatically assigned by a server, for example according to Dynamic Host Configuration Protocol (DHCP); and link-local addressing, where addresses are automatically assigned without a server. 
         [0004]    Link-local addressing is useful in networks that are formed in an ad-hoc manner. These networks can include Wi-Fi Infrastructure, Wi-Fi IBSS, or Wi-Fi peer-to-peer networks. Such networks do not have centrally-coordinated address assignment or DHCP servers. According to applicable standards, a device having a link-local addressing mechanism first checks whether a DHCP server is available by sending DHCP requests. The device must retransmit the DHCP request multiple times before determining, after a significant delay, that no DHCP server is available. Only then does the device use link-local addressing to obtain a local address. 
         [0005]    This delay presents a significant usability problem. Establishing a network connection between two devices can take 30 to 60 seconds just to determine whether DHCP is available. These long delays severely impact the user experience of mobile device connectivity. 
       SUMMARY 
       [0006]    In general, in one aspect, an embodiment features an apparatus comprising: a receiver to receive a first wireless signal from a wireless network; an address module to determine a type of Internet Protocol address assignment employed by the wireless network based on the first wireless signal; and a connection module to establish a network-layer connection to the wireless network based on the type of Internet Protocol address assignment determined by the address module. 
         [0007]    In general, in one aspect, an embodiment features a computer program comprising: instructions for determining a type of Internet Protocol address assignment employed by a wireless network based on a first wireless signal received from the wireless network; and instructions for establishing a network-layer connection to the wireless network based on the type of Internet Protocol address assignment determined by the address module. 
         [0008]    In general, in one aspect, an embodiment features an apparatus comprising: a transmitter to transmit a first wireless signal, wherein the first wireless signal represents an indication of a type of Internet Protocol address assignment employed by a wireless network connected to the apparatus. 
         [0009]    In general, in one aspect, an embodiment features a computer program comprising: instructions for causing transmission of a first wireless signal from a device, wherein the first wireless signal represents an indication of a type of Internet Protocol address assignment employed by a wireless network connected to the device. 
         [0010]    The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0011]      FIG. 1  shows elements of a communication system comprising a wireless network, a connected wireless communication device, and a connecting wireless communication device according to one embodiment. 
           [0012]      FIG. 2  shows a process for the communication system of  FIG. 1  according to one embodiment where the connecting wireless communication device prompts the connected wireless communication device to transmit a wireless signal that indicates the type of IP address assignment employed by the wireless network. 
           [0013]      FIG. 3  shows a process for the communication system of  FIG. 1  according to one embodiment where the connected wireless communication device transmits a signal that indicates the type of IP address assignment employed by the wireless network without prompting from the connecting wireless communication device. 
           [0014]      FIG. 4  shows a process for the communication system of  FIG. 1  according to one embodiment where the connecting wireless communication device determines the type of IP address assignment employed by the wireless network based on wireless signals received from the connected wireless communication device that do not include an indication of the type of IP address assignment employed by the wireless network. 
       
    
    
       [0015]    The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. 
       DESCRIPTION 
       [0016]    Embodiments of the present disclosure provide elements of a communication system for rapid local address assignment.  FIG. 1  shows elements of a communication system  100  comprising a wireless network  102  according to one embodiment. In some embodiments, wireless network  102  is implemented as a wireless local-area network (WLAN). In some embodiments, wireless network  102  is implemented in other ways. Although in the described embodiments, the elements of communication system  100  are presented in one arrangement, other embodiments may feature other arrangements. For example, elements of communication system  100  can be implemented in hardware, software, or combinations thereof. 
         [0017]    Referring to  FIG. 1 , communication system  100  also includes a wireless communication device  104  connected to wireless network  102  and a wireless communication device  106  connecting to wireless network  102 . For clarity, wireless communication device  104  is referred to herein as “connected” wireless communication device  104 , while wireless communication device  106  is referred to herein as “connecting” wireless communication device  106 . 
         [0018]    Connected wireless communication device  104  includes a transmitter  108 , a receiver  110 , and a controller  112 . Connecting wireless communication device  106  includes a transmitter  114 , a receiver  116 , an address module  118 , and a connection module  120 . Each of wireless communication devices  104  and  106  can be implemented as a switch, router, network interface controller (NIC), and the like. In some embodiments, connected wireless communication device  104  can be implemented as an access point or the like. 
         [0019]    According to various embodiments, connecting wireless communication device  106  determines the type of IP address assignment employed by wireless network  102  based on signals received by connecting wireless communication device  106  from wireless network  102 , for example including signals transmitted by connected communication wireless device  104 . Connecting wireless communication device  106  then connects to wireless network  102  using the determined type of IP address assignment. This technique can greatly increase the speed of local address assignment, and therefore can greatly reduce the time required to connect to the network. For example, if connecting wireless communication device  106  determines that dynamic addressing is not used, connecting wireless communication device  106  can avoid checking whether a DHCP server is available by sending DHCP requests, thereby reducing network connection time by 30 to 60 seconds. Three embodiments are described below in detail. Other embodiments will be apparent after reading this disclosure. 
         [0020]    In some embodiments, connecting wireless communication device  106  prompts connected wireless communication device  104  to transmit a wireless signal that indicates the type of IP address assignment employed by wireless network  102   FIG. 2  shows a process  200  for communication system  100  of  FIG. 1  according to one such embodiment. Although in the described embodiments, the elements of the processes disclosed herein are presented in one arrangement, other embodiments may feature other arrangements, as will be apparent based on the disclosure and teachings provided herein. For example, in various embodiments, some or all of the steps of the disclosed processes can be executed in a different order, concurrently, and the like. 
         [0021]    Referring to  FIG. 2 , transmitter  114  of connecting wireless communication device  106  transmits a wireless signal representing a request for an indication of the type of IP address assignment employed by wireless network  102  (step  202 ). Receiver  110  of connected wireless communication device  104  receives the wireless signal (step  204 ). In response, controller  112  of connected wireless communication device  104  generates an indication of the type of IP address assignment employed by wireless network  102  (step  206 ). 
         [0022]    Transmitter  108  of connected wireless communication device  104  transmits a wireless signal that represents the indication of the type of IP address assignment employed by wireless network  102  (step  208 ). In some embodiments, the wireless signal transmitted by connecting wireless communication device  106  represents an IEEE 802.11 Probe Request Frame, and the wireless signal transmitted by connected wireless communication device  104  represents an IEEE 802.11 Probe Response Frame. In other embodiments, both wireless signals represent IEEE 802.11 Action Frames. In these IEEE 802.11 embodiments, the indication can be provided as an Information Element. In some embodiments, Wi-Fi Protected Setup (WPS) protocols defined by the Wi-Fi Alliance are used to carry this information in a secure manner, either alone or to securely augment the information carried by beacons and probes. Of course, other messages can be used, for example including link-level messages such as Extensible Authentication Protocol (EAP) messages, Logical Link Control (LLC) messages, unassociated multicast messages, and the like. 
         [0023]    The indication of the type of IP address assignment employed by wireless network  102  can indicate a link-local address assignment type, a dynamic address assignment type, a static address assignment type, and the like. Alternatively, the indication can indicate the type(s) of IP address assignment that are not available. For example, the indication could indicate that dynamic addressing is not available. 
         [0024]    Receiver  116  of connecting wireless communication device  106  receives the wireless signal (step  210 ). Based on the indication in the wireless signal received from connected wireless communication device  104 , address module  118  of connecting wireless communication device  106  determines the type of IP address assignment employed by wireless network  102  (step  212 ). Connection module  120  of connecting wireless communication device  106  then establishes a network-layer connection to wireless network  102  based on the type of IP address assignment determined by address module  118  (step  214 ). Thereafter, connected wireless communication device  104  communicates with wireless network  102  using that connection (step  216 ). 
         [0025]    In some embodiments, connected wireless communication device  104  transmits a signal that indicates the type of IP address assignment employed by wireless network  102  without prompting from connecting wireless communication device  106 .  FIG. 3  shows a process  300  for communication system  100  of  FIG. 1  according to one such embodiment. 
         [0026]    Referring to  FIG. 3 , controller  112  of connected wireless communication device  104  generates an indication of the type of IP address assignment employed by wireless network  102  (step  302 ). Transmitter  108  of connected wireless communication device  104  transmits a wireless signal that represents the indication of the type of IP address assignment employed by wireless network  102  (step  304 ). In some embodiments, the wireless signal transmitted by connected wireless communication device  104  represents an IEEE 802.11 Beacon Frame. The indication of the type of IP address assignment employed by wireless network  102  can indicate a link-local address assignment type, a dynamic address assignment type, a static address assignment type, and the like. Alternatively, the indication can indicate the type(s) of IP address assignment that are not available. For example, the indication could indicate that dynamic addressing is not available. 
         [0027]    Receiver  116  of connecting wireless communication device  106  receives the wireless signal (step  306 ). Based on the indication in the signal received from connected wireless communication device  104 , address module  118  of connecting wireless communication device  106  determines the type of IP address assignment employed by wireless network  102  (step  308 ). Connection module  120  of connecting wireless communication device  106  then establishes a network-layer connection to wireless network  102  based on the type of IP address assignment determined by address module  118  (step  310 ). Thereafter, connected wireless communication device  104  communicates with wireless network  102  using that connection (step  312 ). 
         [0028]    In some embodiments, connecting wireless communication device  106  determines the type of IP address assignment employed by wireless network  102  based on wireless signals received from connected wireless communication device  104  that do not include an indication of the type of IP address assignment employed by wireless network  102 .  FIG. 4  shows a process  400  for communication system  100  of  FIG. 1  according to one such embodiment. 
         [0029]    Referring to  FIG. 4 , receiver  116  of connecting wireless communication device  106  receives a wireless signal transmitted by transmitter  108  of connected wireless communication device  104  (step  402 ). The reception techniques employed can include packet sniffing, snooping, direct reception, and the like. 
         [0030]    Based on the wireless signal, address module  118  of connecting wireless communication device  106  determines the type of IP address assignment employed by wireless network  102  (step  404 ). For example, address module  118  can determine the type of IP address assignment based on the type of addresses observed in packets represented by the wireless signal. For example, address module  118  could observe the IP address of connected wireless communication device  104  in the wireless signal. Address module  118  can tell if wireless network  102  employs link-local addressing by observing that the IP address is a link-local address. As another example, address module  118  can determine the type of IP address assignment based on the observation of a Time-To-Live (TTL) parameter represented by the wireless signal. Of course, other characteristics of the packets represented by the wireless signal can be used. 
         [0031]    Connection module  120  of connecting wireless communication device  106  then establishes a network-layer connection to wireless network  102  based on the type of IP address assignment determined by address module  118  (step  406 ). Thereafter, connected wireless communication device  104  communicates with wireless network  102  using that connection (step  408 ). 
         [0032]    Various embodiments can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Embodiments can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. Embodiments can be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). 
         [0033]    A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.