RELATED APPLICATIONSThis application claims the benefit of priority to U.S. Provisional Patent Application No. 61/768,059 entitled “SYSTEMS AND METHODS FOR REDUCED LATENCY WHEN ESTABLISHING COMMUNICATION WITH A WIRELESS COMMUNICATION SYSTEM,” filed Feb. 22, 2013, the disclosure of which is hereby incorporated herein by reference in its entirety.
BACKGROUND1. Field
The present application relates generally to wireless communication systems and more specifically to systems, methods, and devices for reduced connection latency with a wireless communication systems.
2. Background
In many telecommunication systems, communications networks are used to exchange messages among several interacting spatially-separated devices. Networks may be classified according to geographic scope, which could be, for example, a metropolitan area, a local area, or a personal area. Such networks would be designated respectively as a wide area network (WAN), metropolitan area network (MAN), local area network (LAN), or personal area network (PAN). Networks also differ according to the switching/routing technique used to interconnect the various network nodes and devices (e.g. circuit switching vs. packet switching), the type of physical media employed for transmission (e.g. wired vs. wireless), and the set of communication protocols used (e.g. Internet Protocol (IP) suite, SONET (Synchronous Optical Networking), Ethernet, etc.).
Wireless networks are often preferred when the network elements are mobile and thus have dynamic connectivity needs, or if the network architecture is formed in an ad hoc, rather than fixed, topology. Wireless networks employ intangible physical media in an unguided propagation mode using electromagnetic waves in the radio, microwave, infra-red, optical, etc. frequency bands. Wireless networks advantageously facilitate user mobility and rapid field deployment when compared to fixed wired networks.
Before a device can communicate via a given network, the device may be required to identify and connect with an access point in order to gain access to the network. The device may discover an access point via various transmissions of wireless signals, e.g., a beacon signal from an access point indicating the presence and availability of services. A device may further seek services following the receipt of a broadcast message requesting services. An access point in receipt of the broadcast message or an association request following a beacon may then respond to the device, in some cases providing a requested network address or other information requested by the device. The device may request information regarding other devices or access points in the network such as network addresses (e.g., IP addresses or Medium access control (MAC) addresses). As multiple devices enter or leave a given service area associated with an access point, communications traffic increases, increasing the rate of data collisions, overhead, and latency, while decreasing overall efficiency.
In current implementations, many wireless communications systems employ a serial communications scheme in which, for example, a device requesting association with an access point may sequentially transmit a series of communications to the access point, first requesting association, and later requesting further information, at which point the access point may respond sequentially to such communications. Following transmission of an association response to the device in response, the access point may for example then request additional information from the network to provide to the device; however the access point does not request such information from the network (e.g., network addresses and MAC addresses of other devices or a DHCP server) until such a request is made by the device. Such a sequential or serial communications scheme may add to the latency of the communications between a device and the access point.
Therefore it would be advantageous to provide a system and method to increase the efficiency and reduce latency in wireless communication by performing some processes in parallel.
SUMMARYThe systems, methods, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, some features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description” one would appreciate how the features of this invention provide advantages that include fast initial network link setup wireless communication systems for access points and devices.
In one innovative aspect of the disclosure, a system, method, and apparatus are disclosed for reducing latency in wireless communication. The method comprises receiving, by a first station, a mapping of a network address of a second station to a corresponding medium access control address of the second station. The method further comprises transmitting a message to the second station based on the medium access control address. The system and apparatus are configured to execute the steps of the disclosed method. A computer readable storage medium is also disclosed. The computer readable storage medium stores code that when executed causes the apparatus or system to execute the steps of the method.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 shows an exemplary wireless communication system in which aspects of the present disclosure may be employed.
FIG. 2 shows a functional block diagram of an exemplary wireless device that may be employed within the wireless communication system ofFIG. 1.
FIG. 3 shows an exemplary implementation of a wireless communication system.
FIG. 4A shows a call flow diagram for an example of reducing latency when establishing communication in a wireless communication system.
FIG. 4B shows a call flow diagram for an example of reducing latency when establishing communication in a wireless communication system.
FIG. 5A shows a call flow diagram for an example of reducing latency when establishing communication in a wireless communication system.
FIG. 5B shows a call flow diagram for an example of reducing latency when establishing communication in a wireless communication system.
FIG. 6 shows a call flow diagram for another example of reducing latency when establishing communication in a wireless communication system.
FIG. 7 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 8 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 9 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 10 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 11 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 12 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 13 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 14 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 15 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 16 shows a process flow diagram for a method of reducing latency in establishing communication in a wireless communication system.
FIG. 17 shows a functional block diagram for a wireless communication apparatus of the present disclosure.
DETAILED DESCRIPTIONVarious aspects of the novel systems, apparatuses, and methods are described more fully hereinafter with reference to the accompanying drawings. The teachings disclosure may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the novel systems, apparatuses, and methods disclosed herein, whether implemented independently of or combined with any other aspect of the invention. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the invention is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the invention set forth herein. It should be understood that any aspect disclosed herein may be embodied by one or more elements of a claim.
Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the disclosure rather than limiting, the scope of the disclosure being defined by the appended claims and equivalents thereof.
Popular wireless network technologies may include various types of wireless local area networks (WLANs). A WLAN may be used to interconnect nearby devices together, employing widely used networking protocols. The various aspects described herein may apply to any communication standard, such as wireless protocols. For example, the various aspects described herein may be used as part of the IEEE 802.11ah protocol, which uses sub-1 GHz bands. While the terminology may be used in describing 802.11 systems, the disclosure is not limited to 802.11 wireless technologies. The systems and methods described herein may be applied for DNS (Domain Name System) querying in LTE (Long Term Evolution), UMTS (Universal Mobile Telecommunications System), HRPD (High Rate Packet Data), or CDMA (Code Division Multiple Access) (e.g., CDMA 1x) based networks.
In some aspects, wireless signals in a sub-gigahertz band may be transmitted, for example, according to the 802.11ah protocol. Transmission may use orthogonal frequency-division multiplexing (OFDM), direct-sequence spread spectrum (DSSS) communications, a combination of OFDM and DSSS communications, or other schemes. Implementations of the 802.11ah protocol or other sub-gigahertz protocols may be used for sensors, metering, and smart grid networks. Aspects of certain devices implementing such protocols may consume less power than devices implementing other wireless protocols. These devices may be used to transmit wireless signals across a relatively long range, for example about one kilometer or longer.
In some implementations, a WLAN includes various devices which are the components that access the wireless network. For example, there may be two types of devices: access points (APs) and clients (also referred to as stations, or STAs). In general, an AP serves as a hub or base station for the WLAN and a STA serves as a user of the WLAN. For example, a STA may be a laptop computer, a personal digital assistant (PDA), a mobile phone, etc. In an example, a STA connects to an AP via a WiFi (e.g., IEEE 802.11 protocol such as 802.11ah) compliant wireless link to obtain general connectivity to the Internet or to other wide area networks. In some implementations a STA may also be used as an AP.
An AP may also comprise, be implemented as, or known as a NodeB, Radio Network Controller (RNC), eNodeB, Base Station Controller (BSC), Base Transceiver Station (BTS), Base Station (BS), Transceiver Function (TF), Radio Router, Radio Transceiver, or some other terminology.
A STA may also comprise, be implemented as, or be known as an access terminal (AT), a subscriber station, a subscriber unit, a mobile station, a remote station, a remote terminal, a user terminal, a user agent, a user device, user equipment, or some other terminology. In some implementations an access terminal may comprise a cellular telephone, a cordless telephone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device having wireless connection capability, or some other suitable processing device connected to a wireless modem. Accordingly, one or more aspects taught herein may be incorporated into a phone (e.g., a cellular phone or smartphone), a computer (e.g., a laptop), a portable communication device, a headset, a portable computing device (e.g., a personal data assistant), an entertainment device (e.g., a music or video device, or a satellite radio), a gaming device or system, a global positioning system device, or any other suitable device that is configured to communicate via a wireless medium.
As discussed above, certain of the devices described herein may implement the 802.11ah standard, for example. Such devices, whether used as a STA or AP or other device, may be used for smart metering or in a smart grid network. Such devices may provide sensor applications or be used in home automation. The devices may instead or in addition be used in a healthcare context, for example for personal healthcare. They may also be used for surveillance, to enable extended-range Internet connectivity (e.g. for use with hotspots), or to implement machine-to-machine communications.
Before a device may begin using a network, the device may need to identify an AP for the network. The device may discover an AP by transmitting or receiving signals. For example, a device may discover an AP by receiving a beacon signal from the AP. Alternatively, a device may discover an AP by broadcasting a request for services. An AP may then respond to the broadcast request. In some implementations, many devices may be trying to identify an AP for the network. Each AP may need to service these devices by transmitting signals to the devices or receiving signals from many devices. For example, when several devices move into the vicinity of a new network and transmit messages for link set up, the resulting rate of collisions can introduce latencies during link set up.
Various techniques may be employed to reduce the link set up time to allow a device to access the network. However, additional signaling may be needed for the device to perform an action on the network. For example, before a device may communicate with a node or server over the network, the device may need to obtain a network address for the node or server. One type of signaling used to obtain a network address includes DNS querying. A request for domain name resolution may include a hostname or domain name for a node or server operating on a network. A response to a request for domain name resolution may include a network address that the requesting node may use to communicate with the node or server.
A request for domain name resolution may be transmitted by the device or an application associated with the device. In an embodiment, the query provides a name for a network location of interest. In response, an address such as an IP address may be provided identifying the location on the network. A device may reduce link setup time by minimizing the time required to complete this query. For example, there may be latency associated with performing a DNS system query. First, the DNS query must be generated and transmitted to a DNS server. Once the DNS server receives the DNS query, additional latency may be introduced as the DNS server searches one or more databases or other data structures to determine how to respond to the query. Additional latency may be introduced while the DNS server generates a response and then the response is transmitted via the network back to the original requesting electronic device. Accordingly, improved methods and systems for enhanced DNS querying within wireless communication systems are desirable.
One method to manage latency in a network system is to perform operations in parallel. For example, if a plurality of processes is performed serially, the time required to complete all of the processes will be at least the sum of the time required to perform each process individually. If the plurality of processes is performed in parallel, the time required to complete all of the processes may be as low as the time necessary to complete the longest process.
Some of the disclosed embodiments parallelize a process of establishing communication with a server over a wireless communications network, i.e., conducting certain network processes simultaneously. By performing some processes associated with establishing the communication in parallel, the latency associated with establishing communication over a wireless communication system may be reduced when compared to serialized communication establishment processes.
In one aspect, the process of establishing communication with a server is parallelized by requesting a network address for a station earlier in a communication establishment process than known methods. By requesting the network address earlier, a response may be received from a network address assignment server earlier in the process as well.
In another aspect, the need for a station to perform duplicate address detection (DAD) before utilizing a network address may be reduced or eliminated. By allowing an AP to assign interface identifiers for stations with which it is associated, the AP maintains centralized control, helping to ensure that interface identifiers are not duplicated across the associated stations. This may reduce the need for the stations to perform duplicate address detection before utilizing a network address formed at least in part based on the interface identifiers.
In another aspect, by performing certain of the processes disclosed herein in parallel, a station may be relieved of the requirement to perform address resolution protocol (ARP) prior to initiating communication with another station within the same network. In this aspect, an AP may transmit a mapping to every station associated with the AP. Such a mapping may comprise a network address of each associated station, linked to a corresponding MAC address. The receiving stations may cache or otherwise store the mapping and using the information provided, initiate direct communication with another station in the network without performing an ARP to obtain an associated MAC address.
In another aspect, latency in establishing communication may be reduced by an AP providing network address information for a DNS server to a station. For example, the AP may provide an IP address for the DNS server and/or a MAC address for the DNS server. In some aspects, the AP may provide an IP address for a gateway to which DNS queries can be transmitted by the STA. This network address information may be provided to the station as part of an association request/reply message exchange. In another aspect, the network address information may be provided in an authentication request/reply exchange. By providing this information to the station, the need for the station to resolve the network address information for the DNS server independently may be reduced, thus reducing the time necessary to establish communication.
In another aspect, latency in establishing communication may be reduced by a network address assignment server transmitting or otherwise providing to an AP, a mapping of the network addresses assigned to other devices (e.g., STAs) within the network to corresponding network access identifiers of those other devices in the network. A STA may then transmit an association request to the AP, with the association request indicating a network address requested by the station for use on the network. The AP may search for the requested network address in the mapping. If found, the AP may determine whether the requested network address is mapped to the station's network access identifier. If it is, the requested network address may be assigned to the station. Because the mapping is provided to the AP, assignment of the network address to the station may be performed without exchanging messages with the network address authentication server (e.g., NDP, ARP, etc.), thus reducing the messaging overhead and latency associated with establishing the communication.
Referring initially toFIG. 1, an exemplary wireless communication system is shown. Thewireless communication system100 may operate pursuant to a wireless standard, for example the 802.11ah standard. Thewireless communication system100 may include anAP104, which communicates with STAs such as amobile phone106a, atelevision106b, acomputer106c, or anotherAP106d(individually or collectively hereinafter identified by106).
A variety of processes and methods may be used for transmissions in thewireless communication system100 between theAP104 and theSTAs106. For example, signals may be sent and received between theAP104 and theSTAs106 in accordance with OFDM/OFDMA techniques. If this is the case, thewireless communication system100 may be referred to as an OFDM/OFDMA system. Alternatively, signals may be sent and received between theAP104 and theSTAs106 in accordance with CDMA techniques. If this is the case, thewireless communication system100 may be referred to as a CDMA system.
A communication link that facilitates transmission from theAP104 to one or more of theSTAs106 may be referred to as a downlink (DL)108, and a communication link that facilitates transmission from one or more of theSTAs106 to theAP104 may be referred to as an uplink (UL)110. Alternatively, adownlink108 may be referred to as a forward link or a forward channel, and anuplink110 may be referred to as a reverse link or a reverse channel.
TheAP104 may provide wireless communication coverage in a basic service area (BSA)102. TheAP104 along with theSTAs106 associated with theAP104 and that are configured to use theAP104 for communication may be referred to as a basic service set (BSS). It should be noted that thewireless communication system100 may not have acentral AP104, but rather may function as a peer-to-peer network between the STAs106 (e.g., in a WLAN or 802.11 connection). Accordingly, the functions of theAP104 described herein may alternatively be performed by one or more of theSTAs106.
A variety of methods exist for aSTA106 to associate with anAP104. According to one method, theSTA106 transmits a request to a detectedAP104. In some implementations, this request may be referred to as a probe request. According to another method, theAP104 may transmit a signal including information that may be used by a STA to associate with theAP104. In some implementations, this signal may be referred to as a beacon signal. The probe request or beacon signal may include information including an identifier such as a service set identifier (SSID), an indicator specifying the data rates theSTA106, and/orAP104 is capable of communicating with, an authentication challenge value (e.g., anonce), or other access information.
In some implementations, theSTA106 initiates an association procedure and, once associated, transmits DNS queries. Because the association procedure and DNS procedure are performed serially in these implementations, a delay in processing of the DNS query may be experienced, as the DNS query may be queued at theSTA106 until association is completed. In some implementations, theSTA106 may transmit the DNS queries to theAP104 where the queries may be processed and re-associated with the requestingSTA106. In either implementation, a delay may be introduced in addition to the additional resources that may be needed to manage the queries submitted prior to completion of the association.
In some disclosed implementations, theSTA106 may include one or more DNS queries as part of the association procedure. For example, theSTA106 may include an information element in the association request frame which includes one or more DNS queries. A DNS query may include a full URL (Universal Resource Locator) to a network location, the top-level domain name of a network location, or other information identifying a network location. In such implementations, theAP104 may begin processing the DNS queries as the association procedures are completed. In some implementations, the DNS queries will be processed in parallel with at least some of the association procedures. Once the association procedures are completed, any DNS query results that have been received may be included in the association response signal. For example, theAP104 may be configured to include the DNS query responses in an information element of an association response frame.
FIG. 2 shows a functional block diagram of an exemplary wireless device that may be employed within the wireless communication system ofFIG. 1. Thewireless device202 is an example of a device that may be configured to implement the various methods described herein. For example, thewireless device202 may comprise theAP104 or one of theSTAs106. Accordingly, the various components discussed below may be incorporated in either anAP104 or aSTA106, as required.
Thewireless device202 may include processor unit(s)204 which controls operation of thewireless device202. One or more of the processor unit(s)204 may be collectively referred to as a central processing unit (CPU).Memory206, which may include both read-only memory (ROM) and random access memory (RAM), provides instructions and data to theprocessor units204. A portion of thememory206 may also include non-volatile random access memory (NVRAM). The processor unit(s)204 may be configured to perform logical and arithmetic operations based on program instructions stored within thememory206. The instructions in thememory206 may be executable to implement the methods described herein.
The processor unit(s)204 may be implemented with any combination of general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate array (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, dedicated hardware finite state machines, or any other suitable entities that can perform calculations or other manipulations of information. In an implementation where the processor unit(s)204 comprises a DSP, the DSP may be configured to generate a packet (e.g., a data packet) for transmission. In some aspects, the packet may comprise a physical layer data unit (PPDU).
Thewireless device202 may also include machine-readable media for storing software. The processing unit(s)204 may comprise one or more machine-readable media for storing software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the processor unit(s)204, cause thewireless device202 to perform the various functions described herein.
Thewireless device202 may include atransmitter210 and/or areceiver212 to allow transmission and reception, respectively, of data between thewireless device202 and a remote location. Thetransmitter210 andreceiver212 may be combined into atransceiver214. Anantenna216 may be attached to thehousing208 and electrically coupled with thetransceiver214. Thewireless device202 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers, and/or multiple antennas.
Thetransmitter210 may be configured to wirelessly transmit packets and/or signals. For example, thetransmitter210 may be configured to transmit different types of packets generated by the processor unit(s)204, discussed above. The packets are made available to the transmitter201. For example, the processor unit(s)204 may store a packet in thememory206 and the transmitter201 may be configured to retrieve the packet and transmit the packet via theantenna216.
Anantenna216 ofwireless device202 detects wirelessly transmitted packets/signals. Thereceiver212 may be configured to process the detected packets/signals and make them available to the processor unit(s)204. For example, thereceiver212 may store the packet inmemory206 and the processor unit(s)204 may be configured to retrieve the packet.
Thewireless device202 may also include asignal detector218 that may be used in an effort to detect and quantify the level of signals received by thetransceiver214. Thesignal detector218 may detect such signals as total energy, energy per subcarrier per symbol, power spectral density, and other signals. Thewireless device202 may also include a digital signal processor (DSP)220 for use in processing signals. TheDSP220 may be configured to generate a packet for transmission. In some aspects, the packet may comprise a physical layer data unit (PPDU).
Thewireless device202 may further comprise auser interface222 in some aspects. Theuser interface222 may comprise a keypad, a microphone, a speaker, and/or a display. Theuser interface222 may include any element or component that conveys information to a user of thewireless device202 and/or receives input from the user. Thewireless device202 may also include ahousing208 surrounding one or more of the components included in thewireless device202.
Thewireless device202 may also include anassociation request processor230. Theassociation request processor230 may be configured to process signals to associate a wireless device with a wireless network. In some implementations the signal may be referred to as an association request, a service request, or an attachment request. While shown here as a standalone component ofwireless device202, theassociation request processor230 and associated functions may also be implemented within theDSP220 or processor unit(s)204 or other appropriate subsystems.
When thewireless device202 is implemented as aSTA106, theassociation request processor230 may be configured to obtain one or more DNS queries from applications executing on thewireless device202. The DNS queries may be included in the association request as will be described. In some implementations, the DNS queries may be transmitted after an association request, but prior to completing the association of thewireless device202 with the network.
When thewireless device202 is implemented as anAP104, theassociation request processor230 may be configured to process DNS queries for a device prior to completing the association with the device. Anassociation request processor230 that may be included in anAP104 will be described in further detail below, such as in reference toFIG. 4.
The various components of thewireless device202 may be coupled together by abus system226. Thebus system226 may include a data bus, for example, as well as a power bus, a control signal bus, and a status signal bus in addition to the data bus. Those of skill in the art will appreciate the components of thewireless device202 may be coupled together or accept or provide inputs to each other using some other mechanism.
Although a number of separate components are illustrated inFIG. 2, those of skill in the art will recognize that one or more of the components may be combined or commonly implemented. For example, the processor unit(s)204 may be used to implement not only the functionality described above with respect to the processor unit(s)204, but also to implement the functionality described above with respect to thesignal detector218 or theassociation request processor230. Further, each of the components illustrated inFIG. 2 may be implemented using a plurality of separate elements.
FIG. 3 shows an exemplary implementation of a wireless communication system. Thewireless communication system300 shown inFIG. 3 is shown as a railway depot. On the roof of therailway depot302, afirst AP304 is installed. Proximate to therailway depot302, asecond AP306 may be installed. Atrain308 may arrive at therailway depot302 carrying passengers having one or more STAs106 which are configured to communicate wirelessly.
As a vehicle such astrain308 moves, the STAs106 (shown in dashed lines) on the interior of the train (e.g. in possession of passengers) may require services from thefirst AP304 andsecond AP306. As thetrain308 moves andvarious STAs106 attempt to associate withfirst AP304 orsecond AP306, the speed with which a connection or associated is made becomes increasingly important. Delays in communication may become detrimental to effective data transfer where the train is moving through thedepot302 and in and out of range of each of thefirst AP304 andsecond AP306.
In explaining various aspects of the disclosure, the train-based communication system ofFIG. 3 may be used. It should be appreciated, however, that the methods and systems described herein are applicable in a variety of wireless communication systems, not just transportation settings, where a movingSTA106 may require fast initial link setup for communications. Other implementations may include a traffic signal AP to allow car drivers to attach to a network, a parking meter AP to allow STAs on the street (e.g., drivers, pedestrians, cyclists) to attach to a network, a library, etc.
FIG. 4A shows a call flow diagram400 for an example association request and reply message exchange between aSTA106 and anAP104 that implements one of the disclosed embodiments. Specifically, the aspect illustrated byFIG. 4A may provide for reduced latency when establishing communication on a wireless network due to a reduced need to perform duplicate address detection by a STA. In current methods, a STA may determine a network address (e.g., an IP address, local network address, etc.) based at least in part on an interface identifier the STA selects. Because the STA is selecting the interface identifier, it may select an interface identifier that has been previously selected by another STA, i.e. a duplicate address. In some aspects, these duplicate interface identifiers may be used to form duplicate network addresses used on the wireless network, which is undesirable and may lead to inefficiencies within the network. To avoid duplicate addresses, after a STA selects its own interface identifier, it may perform a duplicate address detection process. For example, IP Version-6 (IPv6) implementations may use the Neighbor Discovery Protocol (NDP) to perform duplicate address detection. To reduce the need for a STA to perform duplicate address detection, and reduce the amount of time required to provide an address, an AP in the proposed methods and systems uses a centralized method to determine an interface identifier for each STA associated with the AP. The determined interface identifier is then communicated to the STA, in some aspects in an association response message. Because the AP determines interface identifiers for all STAs associating with it, the AP can ensure no interface identifiers are duplicated across the associated STAs. Because no interface identifiers are duplicated, the associated STAs will not be assigned duplicate network addresses, assuming the interface identifier comprises a portion of the network addresses for the associated STAs. Using such a centralized method for the assignment of network identifiers and reducing or eliminating the requirement for a STA to perform duplicate address detection, the proposed solution illustrated inFIG. 4A may reduce latency associated with establishing communication over a wireless network.
The call flow diagram400 includes several entities which may be associated with a wireless communication network. The call flow may be initiated when theAP104 transmits asignal405. Thesignal405, as shown inFIG. 4A is a beacon signal. Thesignal405 may include information that a STA may use to associate with the wireless communication network.
TheSTA106 may receive thesignal405. Based on the receivedsignal405, theSTA106 may be configured to associate with theAP104. TheSTA106 may be configured to transmit asignal406 requesting authorization. In some aspects, theauthorization request message406 may include a network access identifier. TheAP104 may respond to theauthorization request message406 by transmitting anauthorization response message407. TheSTA106 may then request association with the wireless communication network to theAP104 by transmitting asignal412. Thesignal412 may be an association request signal. In implementations utilizing LTE, themessage412 may be an Attach Request. Thesignal412 may include an indication of the number or type of interface identifiers requested by theSTA106. In some aspects, thesignal412 may indicate a number of interface identifiers (e.g. a total number) requested by the STA.
In some implementations, thesignal412 is transmitted via a level 2-MAC basis. This link layer signaling allows the association request to be submitted prior to full association and authentication with the network. In LTE or UMTS based systems, thesignal412 may be transmitted via NAS (Non-Access Stratum). In such systems, the packet gateway may be configured to service thesignal412. In HRPD or cdma1x based systems, thesignal412 may be transmitted via PPP/Mobile-IP. In such systems, the home agent (HA) or packet state switching node (PDSN) may be configured to service thesignal412.
TheAP104 may process thesignal412 as part of the association procedures. As part of that signal processing, theAP104 may determine one or more interface identifiers to assign to theSTA106. The one or more interface identifiers may be determined based on a pool of interface identifiers maintained by theAP104. Alternatively, theAP104 may determine the one or more interface identifiers by requesting interface identifiers from another entity, for example, a Dynamic Host Configuration Protocol (DHCP) server.
TheAP104 may generate anassociation response signal420. The association response signal may indicate one or more interface identifiers. In some aspects, the interface identifiers may comprise a portion of an IPv6 address assigned by the AP for the STA. Upon receiving the one or more interface identifiers from theAP104, theSTA106 may determine one or more network address based on the one or more interface identifiers. For example, theSTA106 may determine an IP address based on a prefix included in the beacon410 signal and based on an interface identifier indicated by thesignal420.
TheSTA106 may then send adata message425 utilizing the determined network address. For example, theSTA106 may use the determined network address to communicate over the wireless network.
FIG. 4B shows a call flow diagram440 for an example association request and reply message exchange between aSTA106 and anAP104 that implements one of the disclosed embodiments. Specifically, the embodiment illustrated inFIG. 4B may provide for reduced latency when establishing communication on a wireless network by reducing the need for a STA to perform independent or separate signaling to resolve a network address and/or MAC address of a DNS server. AnAP104 in the disclosed methods and systems provides the network address information for the DNS server to theSTA106. In some aspects, this is provided in an association reply transmitted from theAP104 to theSTA106. Because the STA then has the network address information of the DNS server available, the STA06 can initiate communications with the DNS server without the need to first perform signaling to resolve the DNS server address.
The call flow diagram includes several entities which may be associated with a wireless communication network. The call flow may be initiated when theAP104 transmits asignal450. Thesignal450, as shown inFIG. 4B is a beacon signal. Thesignal450 may include information that theSTA106 may use to associate with the wireless communication network.
TheSTA106 may receive thesignal450 which may for example, be a beacon signal. Based on the receivedsignal450, theSTA106 may be configured to associate with theAP104. TheSTA106 may be configured to transmit asignal455 requesting association with the wireless communication network to theAP104. Thesignal455 may, for example, be an association request signal. In implementations utilizing LTE, themessage455 may be an Attach Request.
In some implementations, thesignal455 is transmitted via a level 2-MAC basis. This link layer signaling allows the association request to be submitted prior to full association and authentication with the network. In LTE or UMTS based systems, thesignal455 may be transmitted via NAS. In such systems, the packet gateway may be configured to service thesignal455. In HRPD or cdma1x based systems, thesignal455 may be transmitted via PPP/Mobile-IP. In such systems, the home agent (HA) or packet state switching node (PDSN) may be configured to service thesignal455.
TheAP104 may process thesignal455 as part of the association procedures. As part of that signal processing, theAP104 may determine network address information for theDNS server490 during asignal exchange470, shown in dashed lines. The double ended arrow ofsignal exchange470 indicates an information exchange between theAP104 and theDNS server490, such as a DNS network address query and response. For example, theAP104 may determine an IP address for theDNS server490 in some aspects. In some aspects, theAP104 may also determine a MAC address for theDNS server490 duringsignal exchange470. In some embodiments, thesignal exchange470 may occur at any time previous to the association response (including the DNS network address) sent with asignal460, discussed below.
TheAP104 may generate anassociation response signal460. The association response signal may indicate network addressing information for theDNS server490. For example, theassociation response signal460 may indicate an IP address of the DNS server and/or a MAC address of the DNS server.
TheSTA106 may then send aDNS query465 to the DNS server using the network address information provided by theAP104 in theassociation response message460. Note that theSTA106 may communicate with theDNS server490 without the need for independent signaling to obtain the network address information of the DNS server that was instead provided by theAP104. This may result in reduced latency in theSTA106 establishing communication on the wireless network.
FIG. 5A shows a call flow diagram for an example message exchange between afirst STA106a, anAP104, and asecond STA106bthat implements one of the disclosed embodiments. Specifically, the embodiment illustrated inFIG. 5A may provide for reduced latency when establishing communication on a wireless network by reducing the need for a first STA to perform independent or separate signaling to resolve a network address and/or MAC address of a second STA. Instead, an AP in the disclosed methods and systems provide the network address information for the second STA to the first STA. Because the first STA has the network address information of the second STA available, it can initiate communications with the second STA without the need to first perform signaling to resolve the address information of the second STA.
The call flow diagram includes several entities which may be associated with a wireless communication network. The call flow includes afirst STA106a, anAP104, and asecond STA106b. Thefirst STA106amay receive a mapping signal ormessage555 from theAP104. Themessage555 may include a mapping of the second STA's106bnetwork address to the second STA's102bMAC address. In some aspects, themapping message555 includes mapping information for a plurality of stations. In some aspects, themapping message555 is transmitted by theAP104 asynchronously, without a preceding request from thefirst STA106a. In some aspects, themapping message555 may be broadcast or multicast to all or a plurality ofSTAs106 associated with theAP104.
Upon receiving themapping message560, thefirst STA106amay then initiate communication withsecond STA106bviadata message560 without the need to, perform address resolution signaling to obtain the second STA's106bMAC address (for example, by exchanging ARP messages with thesecond STA106b). This may enable communication to be established with thesecond STA106bwith reduced latency when compared to known methods.
FIG. 5B shows a call flow diagram for an example message exchange between aSTA106, anAP104, and a network address assignment server504 (shown as a DHCP server in the illustrated embodiment) that implements one of the disclosed embodiments. Specifically, the embodiment illustrated inFIG. 5B may provide for reduced latency when establishing communication on a wireless network by performing a larger portion of the processing necessary to establish communication for theSTA106 in parallel than with known or current methods. In current methods, an AP may not request a network address for a STA until it receives an association request from the STA. Delays introduced while waiting for the network address assignment server to respond can increase the amount of time a STA must wait to establish communication.
In the illustrated embodiment ofFIG. 5B, theAP104 initiates a request for a network address before receiving the association request from theSTA106. Because in some aspects, the networkaddress assignment server504 may utilize a network access identifier to assign a network address, theAP104 may initiate the request for a network address after receiving an authorization frame from theSTA106. The authorization frame may include the network access identifier used by the network address assignment server. Because the request for a network address is initiated earlier in the communication establishment process than with current methods, the total elapsed time necessary to establish communication may be reduced when compared to current methods. Such a capability may prove advantageous in circumstances where a fast communication setup is desirable, as in the train scenario ofFIG. 3.
The call flow diagram ofFIG. 5B includes several entities which may be associated with a wireless communication network. The call flow includesSTA106,AP104, authentication server (AS)502, and networkaddress assignment server504, illustrated as a DHCP server in this embodiment. TheSTA106 may transmit an authorization frame510 to theAP104. The authorization frame may include a network access identifier. For example, the network access identifier may identify a user who is requesting or has access to a wireless network.
In response to receiving the authorization frame510, the AP may exchange messages with theauthentication server502 to determine whether a network access identifier indicated by the authorization frame510 has access to a wireless network. The results of the authentication process may be transmitted to theSTA106 by theAP104 in theauthorization frame511. In an embodiment, the authentication may be conducted using the Extensible Authentication Protocol (EAP) or EAP-RP format, as shown. TheAP104 may further utilize a Remote Authentication Dial In User Service (RADIUS) networking protocol to conduct the authentication.
Assuming the authorization was successful, theAP104 may request a network address for theSTA106 from the network address assignment server504 (DHCP server) and receive a response viamessage exchange516. TheSTA106 may then send anassociation request512 to theAP104. Note that whileFIG. 5B shows the association request arriving at theAP104 after themessage exchange516 has been completed, in some aspects, theassociation request512 may be received by theAP104 before a response is received from the networkaddress assignment server504.
TheAP104 may transmit anassociation response520 to theSTA106 after receiving theassociation request512. In some aspects, theassociation response520 may indicate a network address assigned to theSTA106 by theAP104 and/or the networkaddress assignment server504. In some aspects, the assignment of the network address may be based on a network access identifier indicted in the authorization frame510 transmitted from the station.
FIG. 6 shows a call flow diagram for an example message exchange between aSTA106, anAP104, and a network address assignment server504 (shown as a DHCP server in the illustrated embodiment) that implements one of the disclosed embodiments. Specifically, the embodiment illustrated inFIG. 6 may provide for reduced latency when establishing communication on a wireless network by enabling anAP104 to determine whether a network address requested for use by aSTA106 can be assigned to theSTA106 without requiring an independent query of a network address assignment server. This may again be desirable in situations where fast communications link setup is required, for example, a movingSTA106 or an individual with a wireless device (STA106) aboard atrain308.
The call flow begins with a mapping message transmitted from the network address assignment server504 (DHCP server) to theAP104. The mapping message may indicate one or more mappings of network addresses (or various wireless devices, e.g., STA106) to corresponding network access identifiers. In some aspects, the network addresses may be IP version-4 (IPv4) and/or IPv6 addresses. In some aspects, the mapping message may map one or more network addresses to corresponding subscription identifiers, or corresponding identifiers used for authentication of theSTA106 on the wireless network. The mappings may also indicate a time to live value for each mapping. WhileFIG. 6 shows the mapping message being transmitted by a network address assignment server, in some other aspects, the mapping message may be transmitted by a gateway (not shown), or one or more of a set of APs within a vicinity of the STA.
TheAP104 may then receive anauthorization request frame604 from theSTA106. After exchangingmessages607 with theauthentication server502, an authorization response frame is transmitted to theSTA106. TheSTA106 may then transmit anassociation request frame608 to the AP. Theassociation request frame608 indicates a requested network address (e.g., an IP address). Upon receiving theassociation request frame608, theAP104 may search the mapping provided by the networkaddress assignment server504 inmessage602 for the requested network address. If it is found in the mapping, theAP104 may then determine whether the mapping maps the requested network address to a network access identifier provided by theSTA106 in theauthorization request frame604. In some aspects, whether the requested network address is mapped to a network access identifier may be based on a time to live field in the mapping. For example, if a mapping entry has expired based on the time to live field, the mapping may not be considered by theAP104.
If theAP104 determines that the requested network address is mapped to the network access identifier specified in theauthorization request frame604 by the mapping provided inmapping message602, then theAP104 may transmit anassociation response frame610 to theSTA106 that includes an assigned network address equivalent to the requested network address. Otherwise, the assigned network address may be different than the requested network address.
FIG. 7 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, theprocess700 may be implemented in a STA, e.g.,STA106. In some aspects, by receiving an interface identifier from anAP104 instead of generating the interface identifier itself, aSTA106 may avoid performing a duplicate address detection process after determining a network address to be used for network communication. Because theAP104 assigns the interface identifier to theSTA106, theAP104 may ensure no duplicate interface identifiers are provided toSTAs106.
The process begins atblock705, where an association request is transmitted by a station to an access point. Inblock710, an association response is received from the access point. The association response indicates an interface identifier assigned to the station by the access point.
Inblock715, a network address is determined based on the interface identifier. In some aspects the network address may be an IPv6 address. In these aspects, the network address may comprise a prefix portion and an interface identifier portion. The interface identifier portion may be comprised of the interface identifier assigned to the station by the access point. The prefix portion may be obtained from a beacon signal transmitted by the access point. Note that in some implementations ofprocess700, block715 may not be performed.
Inblock720, a message is transmitted. The transmitted message utilizes the determined network address. For example, the message may utilize the determined network address as a network address for routing the message through the internet from a transmitting station to a destination node. Note that in some implementations ofprocess700, block720 is not performed.
The signals transmitted and/or received byprocess700 may be similar to those shown in the call flows ofFIG. 4A.
FIG. 8 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in an AP,e.g. AP104. In some aspects, by assigning an interface identifier instead of having each station generate its own interface identifier, an access point can prevent the need for a station to perform a duplicate address detection process after the station determines a network address to be used for network communication. Because the access point assigns the interface identifier to the station, the access point may ensure no duplicate interface identifiers are provided to stations.
The process begins atblock805 where an association request is received by an access point. The association request is transmitted by a station. Inblock810, an interface identifier is assigned to the station. In some aspects, an interface identifier forms a portion of a network address of the station (e.g., IPv6 addressing). In some aspects, an access point may maintain a pool of interface identifiers for assignment to the stations in the network. The access point may ensure that duplicate interface identifiers are not provided to different stations. Inblock815, an association response is transmitted by the access point to the station. The association response indicates the assigned interface identifier fromblock810. In some aspects, the station may then form a network address based on the interface identifier. For example, the station may form an IPv6 address using the assigned interface identifier. The signals transmitted and/or received inprocess800 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 4A.
FIG. 9 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in a STA, e.g.STA106. In some aspects, by receiving a network address of a DNS server as part of an association response message, a STA may not need to initiate separate signaling to obtain the network address information. This may enable the STA to initiate communication with the DNS server earlier in the communication establishment process when compared to existing methods.
Theprocess900 begins atblock905 where an association request is transmitted by a station to an access point. Inblock910, the station receives an association response from the access point. The association response may indicate a network address of a DNS server. In some aspects, the network address is an IP address. In some of these aspects, the network address is an IPv4 address. In some other of these aspects, the network address is IPv6 address. In some aspects, the association response also includes a MAC address for the DNS server. In some other aspects, the association response may include a network address and/or a MAC address of a gateway that can be used by the station to communicate with a DNS server. In some aspects,process900 may further include transmitting a DNS query to the DNS server based on the network address. In some of these aspects, the DNS query may also be transmitted based on the DNS server MAC address. The signals transmitted and/or received inprocess900 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 4B.
FIG. 10 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in an AP,e.g. AP104. In some aspects, by transmitting a network address of a DNS server as part of an association response message, an AP can prevent the need for a STA to initiate separate signaling to obtain the network address information. This may enable the STA to initiate communication with the DNS server earlier in the communication establishment process when compared to existing methods.
Theprocess1000 begins atblock1005, where an association request from a station is received by an access point. Inblock1010, an association response is transmitted by the access point to the station. The association response indicates a network address of a DNS server. In some aspects, the network address may be included in the association response. In some other aspects, the association response may also indicate a MAC address of the DNS server. In some of these aspects, the MAC address may be included in the association response. In some aspects, network address information for a plurality of DNS servers may be indicated by the association response message. In some aspects, the association response may indicate a network address and/or MAC address of a gateway that can be used by the station to communicate with a DNS server. In some of these aspects, the association response may not include a network address or MAC address of a DNS server. The signals transmitted and/or received byprocess1000 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 4B.
FIG. 11 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in a STA, e.g.STA106. In some aspects, by receiving a mapping of a second stations network address to the second station's MAC address, astation performing process1100 may not need to perform separate signaling to perform address resolution when communicating with the second station. This may enable the STA to initiate communication with the second station with less latency when compared to existing methods.
Theprocess1100 begins atblock1105, where a station receives a mapping of a second station's network address to the second station's MAC address from an access point. In some aspects, the network address is an IP address.
Inblock1110, a message is transmitted to the second station based on the MAC address contained in the mapping. In some aspects, a mapping of one or more stations network address to station or MAC address may be received periodically from the access point. The signals transmitted and/or received inprocess1100 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 5A.
FIG. 12 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in an AP,e.g. AP104. In some aspects, by transmitting a mapping of a station's network address to the station's MAC address, another station may not need to perform separate signaling to accomplish address resolution when communicating with the first station. This may enable the other STA to initiate communication with the first station with less latency when compared to existing methods.
Theprocess1200 begins atblock1205, where an access point determines a mapping of a station's network address to the station's MAC address. In some aspects, the station's network address is an IP address. The mapping may be determined when a network address is assigned to the station, either by the access point, or by a network address assignment server. Inblock1210, the mapping is transmitted to at least a second station. The second station is a different station than the station discussed with respect to block1205. In some aspects, the mapping may be broadcast or multicast to a plurality of stations within a basic service set. The signals transmitted and/or received inprocess1200 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 5A.
FIG. 13 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in a STA, e.g.STA106. In some aspects, by receiving an assigned IP address as part of an association response, astation performing process1300 may not need to perform separate signaling to obtain a network address. This may enable the STA to initiate communication over a wireless network with less latency when compared to existing methods.
Theprocess1300 begins atblock1305, where a station transmits an association request to an access point. Inblock1310, an association response message is received by the station from the access point, the association response indicating an assigned network address. In some aspects, the assigned network address is an IP address. The signals transmitted and/or received inprocess1300 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 5B.
FIG. 14 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in an AP,e.g. AP104. In some aspects, by transmitting a request for a network address for a station before receiving an association request from the station, the network address may be provided to the station earlier than was possible in existing methods. This may enable theSTA106 to initiate communication over a wireless network with less latency when compared to existing methods.
Theprocess1400 begins atblock1405, where an access point receives an authentication request from a station. Inblock1410, a request for a network address for the station is transmitted to a network address assignment server. In some aspects, the request is transmitted in response to reception of the authentication request ofblock1405. Inblock1415, an association request is received from the station. The association request is received after the request for the network address has been transmitted.
Some aspects ofprocess1400 further include receiving a response from the network address assignment server indicating an assigned network address for the station. Theprocess1400 may then further include transmitting an association response to the station indicating the assigned network address. In some aspects ofprocess1400, the network address assignment server is a dynamic host configuration protocol (DHCP) server. In some aspects, the network address is an IP address. The signals transmitted and/or received inprocess1400 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 5B.
FIG. 15 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in a STA, e.g.,STA106. In some aspects, by transmitting a request for a network address for a station before receiving an association request from the station, the network address may be provided to the station earlier than was possible in existing methods. This may enable theSTA106 to initiate communication over a wireless network with less latency when compared to existing methods.
Theprocess1500 begins atblock1505, where an association request is transmitted by a station to an access point. The association request indicates a requested network address. In some aspects, the requested network address is an IP address. In some aspects, the station may have been previously assigned the requested network address. The station may have established one or more connections or sessions while utilizing the network address. If the station may be reassigned the same network address as it used previously, these established connections or sessions may be maintained. If a new network address is assigned to the station, any connections or sessions established based on the previous or requested network address may be terminated.
Inblock1510, an association response is received by the station from the access point, the association response indicating a network address assigned to the station. In some aspects, the assigned network address is the requested network address. In some other aspects, the assigned network address may be a network address that is different than the requested network address. In some aspects, the assigned network address is an IP address. The signals transmitted and/or received inprocess1500 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 6.
FIG. 16 shows a process flow diagram for a method of reducing latency associated with establishing communication using a wireless communication system. The process shown may be performed in whole or in part by the devices described herein, such as that shown inFIG. 2 above orFIG. 17 below. In some implementations, the process may be implemented in an AP,e.g. AP104. In some aspects, by receiving a mapping of assigned network addresses to corresponding network access identifiers, anAP104 may more efficiently determine whether aSTA106 may be assigned a requested network address. This may enable theSTA106 to initiate communication over a wireless network with less latency when compared to existing methods.
Theprocess1600 begins atblock1605, where a mapping of assigned network addresses to corresponding network access identifiers is received from an address assignment server. Each network address identifier identifies a user with access to a wireless communication system. In some other aspects ofprocess1600, the mapping includes one or more mappings of network addresses to corresponding subscription identifiers, or corresponding identifiers used for authentication of theSTA106 on the wireless network. In some aspects, the mapping is received from a network node that is not a network address assignment server, but has access to the mapping information. For example, in one aspect, the message may be received from a gateway. In another aspect, the message may be received from anAP104 within a vicinity of theSTA106.
Inblock1610, an association request is received from a station indicating a requested network address to be assigned to the station. Inblock1615, a network address is assigned to the station based on the requested network address and the mapping. For example, in some aspects, if the mapping indicates that the requested network address is currently assigned to the station, the requested network address is assigned to the station by the access point. If the mapping does not indicate the requested network address is assigned to the station, or the requested network address is assigned to a different station, then a second network address may be assigned to the station, where the second network address is different than the requested network address. In some aspects, the requested and/or assigned network addresses are IP addresses. Inblock1620, an association response is transmitted to the station indicating the assigned network address. The signals transmitted and/or received inprocess1600 may be implemented in aSTA106 orAP104, similar to those shown in the call flows ofFIG. 6.
Referring now toFIG. 17, a functional block diagram of awireless communication apparatus1700 of the present disclosure is shown. Wireless communication apparatus may be representative of aSTA106 or anAP104 in certain embodiments. Those skilled in the art will appreciate that a wireless communication apparatus may have more components than the simplifiedwireless communication apparatus1700 shown inFIG. 17. Thewireless communication apparatus1700 shown includes various components useful for describing some prominent features of implementations within the scope of this disclosure and the claims. Thewireless communication apparatus1700 may include atransmitting circuit1702, a receivingcircuit1704, anassignment circuit1706, a determination circuit1708, and amapping circuit1710, among other possible features. In an embodiment ofAP104, all five components shown (transmittingcircuit1702, receivingcircuit1704,assignment circuit1706, determination circuit1708, and mapping circuit1710) may be implemented for use in one or more of the processes disclosed herein. Conversely, aSTA106 may not require the use ofassignment circuit1706, determination circuit1708, andmapping circuit1710. As such,assignment circuit1706, determination circuit1708, andmapping circuit1710 are shown in dashed lines indicating their use predominantly with adevice1700 implemented as anAP104. It should be appreciated by those skilled in the art, however that in certain embodiments, theassignment circuit1706, determination circuit1708, andmapping circuit1710 may be required for use in anSTA106.
In some implementations, the transmittingcircuit1702, as implemented in aSTA106, may be configured to transmit an association request to anAP104 as discussed with respect toFIG. 7 andFIG. 9. The transmitting circuit may be further configured to transmit a message utilizing a network address determined by the determination circuit1708, discussed below.
In some implementations, the transmittingcircuit1702, as implemented in anAP104, may be configured to transmit an association response to aSTA106 as noted with respect toFIG. 8. The association response may indicate an assigned interface identifier.
In some implementations, the transmittingcircuit1702 may be configured to transmit an association response to aSTA106, indicating a network address of a DNS server as discussed with respect toFIG. 10. The transmittingcircuit1702 may further be configured to transmit a message to aSTA106 based on a MAC address of theSTA106 received from anAP104, as discussed with respect toFIG. 11.
In some implementations, the transmittingcircuit1702 may be configured to map the network address of each associated station to a corresponding MAC address, and transmit the mapping to another,different STA106, as discussed with respect toFIG. 12.
In some implementations, the transmittingcircuit1702 may be configured to transmit a request for a network address for a station to a network address assignment server as noted in the discussion ofFIG. 14.
In some implementations, the transmittingcircuit1702 of a station may be configured to transmit an association request to anAP104 requesting a network address, as noted in the discussion ofFIG. 15.
In some implementations, the transmittingcircuit1702 of anAP104 may be configured to transmit an association response to aSTA106 indicating an assigned network address.
The transmittingcircuit1702 may include one or more of a transmitter, an antenna, a data network interface, and a memory. For example, the transmittingcircuit1702 may include thetransmitter210 ofFIG. 2. In some implementations, the means for transmitting may include thetransmitting circuit1702. In an embodiment, the transmittingcircuit1702 may be configured to perform one or more of the “transmitting” functions described above with respect to blocks in the foregoing figures (e.g., block705,720,815,905,1010,1110,1210,1305,1410,1505,1620).
In some implementations, the receivingcircuit1704 may be configured to receive an association response from anAP104 as referred to inFIG. 7. The association response may indicate a network address of a DNS server as discussed with respect toFIG. 9. The association response may indicate an interface identifier assigned to theSTA106 by theAP104. The association response may additionally or alternatively indicate an assigned network address as noted in the discussion ofFIG. 13.
In some implementations, the receivingcircuit1704 of anAP104 may be configured to receive an association request from aSTA106 as discussed with respect toFIG. 8 andFIG. 10.
In some implementations, the receivingcircuit1704 may be configured to receive a mapping of a station's network address to MAC address from anAP104 as discussed with respect toFIG. 11.
In some implementations, the receivingcircuit1704 may be configured to receive an authentication request from aSTA106 as noted in the discussion ofFIG. 14. The receivingcircuit1704 may be further configured to receive an association request from theSTA106 after a request for a network address for theSTA106 has been transmitted. The association response may indicate a network address assigned by theAP104.
In some implementations, the receiving circuit1554 may be configured to receive an association response from anAP104 indicating a network address assigned to aSTA106, as noted in the discussion ofFIG. 15.
In some implementations, the receivingcircuit1704 may be configured to receive an association request from aSTA106 indicating a requested network address to be assigned to theSTA106 as noted in the discussion ofFIG. 16. In some implementations the receivingcircuit1704 may be further configured to receive a mapping of assigned network addresses to corresponding network access identifiers from a network address assignment server.
The receivingcircuit1704 may include one or more of a receiver, an antenna, a signal processor, and a memory similar to previous embodiments disclosed herein and those described with respect toFIG. 2. For example, the receivingcircuit1704 may include thereceiver212 ofFIG. 2. In some implementations, the means for receiving may include the receivingcircuit1704. In an embodiment, the receivingcircuit1704 may be configured to perform one or more of the “receiving” functions described above with respect to blocks in the foregoing figures (e.g., blocks710,805,910,1005,1105,1310,1405,1415,1510.1605 and/or1610).
In some implementations, theassignment circuit1706 may be configured to assign an interface identifier to aSTA106. Theassignment circuit1706 may include one or more of a receiver, an antenna, a signal processor, and a memory. For example, theassignment circuit1706 may include thereceiver212 ofFIG. 2. In some implementations, the means for receiving may include theassignment circuit1706. In an embodiment, theassignment circuit1706 may be configured to perform one or more of the “assigning” functions described above with respect to foregoing figures (e.g., block810,1615).
In some implementations, the determination circuit1708 may be configured to determine a network address based on an interface identifier as referred to inFIG. 7. The determination circuit1708 may include one or more of a programmable chip, a processor, a memory, and a network interface. For example, the determination circuit1708 may include one or more processor unit(s)204. In some implementations, a means for determining a network address may include the determination circuit1708.
In some implementations, themapping circuit1710 may be configured to determine a mapping of a station's network address to MAC address as described with respect toFIG. 12. Themapping circuit1710 may include one or more of a receiver, an antenna, a signal processor, and a memory. For example, themapping circuit1710 may include thereceiver212 ofFIG. 2. In some implementations, the means for determining a mapping may include themapping circuit1710. In an embodiment, themapping circuit1710 may be configured to perform one or more of the “mapping” functions described above with respect to blocks in the foregoing figures (e.g., block1205).
As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing, and the like. Further, a “channel width” as used herein may encompass or may also be referred to as a bandwidth in certain aspects.
As used herein, a phrase referring to “at least one” of a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c.
The various operations of methods described above may be performed by any suitable means capable of performing the operations, such as various hardware and/or software component(s), circuits, and/or module(s). Generally, any operations illustrated in the Figures may be performed by corresponding functional means capable of performing the operations.
The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media). In addition, in some aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable media.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
Thus, certain aspects may comprise a computer program product for performing the operations presented herein. For example, such a computer program product may comprise a computer readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein. For certain aspects, the computer program product may include packaging material.
Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.
Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes, and variations may be made in the arrangement, operation, and details of the methods and apparatus described above without departing from the scope of the claims.
While the foregoing is directed to aspects of the present disclosure, other and further aspects of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
The following are various embodiments of the present disclosure:
In one innovative aspect, a system and method for reducing latency in establishing wireless communication is disclosed. This aspect includes transmitting, by a station, an association request to an access point, receiving an association response from the access point, the association response indicating an interface identifier assigned to the station by the access point, determining a network address based on the interface identifier; and transmitting a message on the wireless network, the message utilizing the determined network address. In some embodiments, the association request indicates a number of interface identifiers requested by the station. This aspect also includes a computer readable medium configured to implement the method.
Another aspect disclosed is a system and method of reducing latency in establishing wireless communication. The method includes receiving by an access point, an association request from a station, assigning an interface identifier to the station, and transmitting an association response indicating the assigned interface identifier. In some aspects, the association request indicates a number of interface identifiers requested by the station.
Another aspect disclosed is a system and method of reducing latency in establishing wireless communication. The method includes transmitting, by a station, an association request to an access point; and receiving, by a station, an association response from the access point, the association response indicating a network address of a DNS server. In some aspects, the association response further indicates a MAC address of the DNS server.
Another aspect disclosed is a system and method of reducing latency in establishing wireless communication. The method includes receiving, by an access point, an association request from a station, and transmitting, by the access point, an association response to the station, the association response indicating a network address of a DNS server. In some aspects, the association response further indicates a MAC address of the DNS server.
Another aspect disclosed is a system and method of reducing latency in wireless communication. The method includes receiving, by a station, a mapping of a second station's network address to the second station's MAC address from an access point; and transmitting a message to the second station based on the MAC address. In some aspects, the mapping is included in an address resolution protocol message. In some aspects, the network address is an IPv4 address. In some aspects, the mapping is included in a NDP message. In some aspects, the network address is an IPv6 address.
Another aspect disclosed is a system and method of reducing latency in wireless communication. The method includes determining, by an access point, a mapping of a station's network address to the station's MAC address, transmitting, by the access point, the mapping to at least a second station. In some aspects, the method further includes assigning the network address to the station, wherein the determining is in response to the assigning. In some aspects, the mapping is transmitted in an address resolution protocol message. In some aspects, the network address is an IPv4 address. In some aspects, the mapping is transmitted in a NDP message. In some aspects, the network address is an IPv6 address.
Another aspect disclosed is a method of reducing latency in wireless communication. The method includes transmitting, by a station, an association request to an access point, and receiving, by the station, an association response from the access point, the association response indicating an assigned network address. In some aspects, the association request indicates a type of network address requested by the station.
Another aspect disclosed is a method of reducing latency in wireless communication. The method includes receiving, by an access point, an authentication request frame from a station, transmitting a request for a network address for the station to a network address assignment server in response to the authentication request frame, and receiving an association request from the station after the request for the network address has been transmitted. In some aspects, the method also includes receiving a response to the request for a network address, the response indicating a network address assigned to the station, and transmitting an association response to the station, the association response indicating the assigned network address.
Another aspect disclosed is a system and method of reducing latency in wireless communication. The method includes transmitting, by a station, an association request to an access point, the association request indicating a requested network address, and receiving, by the station, an association response from the access point, the association response indicating a network address assigned to the station. In some aspects, the method also includes transmitting a message using the requested network address prior to the transmission of the association request.
Another aspect disclosed is a system and method of reducing latency on a wireless communication network. The method includes receiving, from a network address assignment server, a mapping of assigned network addresses to corresponding network access identifiers, wherein each network access identifier identifies a user with access to the wireless communication network, receiving, from a station, an association request indicating a requested network address to be assigned to the station, assigning a network address to the station based on the requested network address and the mapping, and transmitting an association response to the station indicating the assigned network address. In some aspects, the method also includes requesting that an IP address be assigned to the station by the network address assignment server if the requested network address is not mapped to a network access identifier of the station by the mapping. In some aspects, the assigned network address is the requested network address if the mapping maps the requested network address to a network access identifier of the station. In some aspects, the network access identifier of the station is indicated by an authentication request frame received from the station.