Patent Publication Number: US-10327184-B2

Title: Handoffs between access points in a Wi-Fi environment

Description:
RELATED APPLICATIONS 
     This application is a continuation of earlier filed U.S. patent application Ser. No. 14/658,604 entitled “HANDOFFS BETWEEN ACCESS POINTS IN A WI-FI ENVIRONMENT,” filed on Mar. 16, 2015, the entire teachings of which are incorporated herein by this reference. 
     U.S. patent application Ser. No. 14/658,604 is a continuation of earlier filed U.S. patent application Ser. No. 13/445,500 entitled “HANDOFFS BETWEEN ACCESS POINTS IN A WI-FI ENVIRONMENT,” now U.S. Pat. No. 9,008,045, filed on Apr. 12, 2012, the entire teachings of which are incorporated herein by this reference. 
    
    
     BACKGROUND 
     The present disclosure relates to wireless connectivity of electronic devices, and relates particularly to exchanging data wirelessly over a computer network using Wi-Fi™ technology. 
     Wi-Fi™ is a technology that enables computerized devices to wirelessly transmit data and connect to a computer network. Wi-Fi™ technology is defined by specifications from the Institute of Electrical and Electronics Engineers&#39; (IEEE) 802.11 standards. Computerized devices such as laptop computers, mobile phones, tablet computers, etc., can connect to a computer network using a Wi-Fi access point. An access point is a device that sends and receives radio signals to enable computerized devices to connect to a wired network, such as a Local Area Network or the Internet. Access points typically have a wireless connectivity range of approximately 100 feet. 
     Wi-Fi™ technology has evolved to a hotspot model, that is, network connectivity exits within relative distinct, isolated, or segmented locations. For example, Wi-Fi™ connection areas are commonly found within homes of consumers, cafes, businesses, schools, etc. Users operating a laptop, cell phone, or other electronic device that connects to a wireless router or WLAN access point for wireless connectivity. Once connected, devices can be moved around within range of that given WLAN. Unlike cellular telecommunication technologies however, Wi-Fi does not have any specified handoff intelligence or protocols. This is because Wi-Fi was not designed to be or meant to be a mobility technology. 
     SUMMARY 
     Internet service providers, including cable and DSL providers, have begun to provide relatively large Wi-Fi™ networks across various locations. For example, in some installations, thousands of access points are deployed on or along cable strands and roads carrying communication lines. Other installations provide many access points within a particular location, such as within a shopping center, commercial buildings, public transportation systems, and so forth. Such larger Wi-Fi networks are a result of the growing demand for Wi-Fi™ connectivity. 
     Though Wi-Fi™ networks are enormously popular, they have some challenges. One challenge with Wi-Fi™ technology is that there is no handoff mechanism like those that exist with cellular telecommunications systems. Cellular telecommunication systems specify, for example, when a given electronic device should detach from one cell tower and connect with another cell tower. In contrast, with a Wi-Fi network, a given access point will maintain a connection with a given Wi-Fi enabled device, even though the given Wi-Fi™ enabled device is closer to another access point, is receiving a substantially stronger signal from another access point, or is losing many transmitted packets. Thus, a computerized device with a connection to a first access point and wherein this device is moving away from the first access point, will remained connected to this first access point until corresponding radio signals are no longer detectable. 
     Techniques disclosed herein include systems and methods for providing handoffs of Wi-Fi™ enabled devices within a given wireless local area network (WLAN). Techniques include forcing the Wi-Fi™ network to disconnect the Wi-Fi™ enabled device. A forced disconnect can be based on various criteria including low-power or lost packet thresholds triggering the forced disconnect. For example, when a measured power level drops below a power threshold, or when a number or rate of packets being dropped exceeds a loss threshold, logic within the Wi-Fi™ network or access point device can force a disconnection between the Wi-Fi™ enabled device and a corresponding access point. The Wi-Fi™ network can identify a location of other access points to facilitate a smooth transition and know when forced disconnection would be beneficial, such as within a geographic area having multiple potential access points. 
     One embodiment includes a wireless connectivity manager that executes a wireless connectivity process or system. The wireless connectivity manager receives a request from a client device to establish a wireless data link between the client device and a first access point device. The first access point device provides a connection to a computer network, such as the Internet. The first access point device establishes the wireless data link between the client device and the first access point device on a radio frequency communication channel. The wireless data link is used to transmit data packets between the client device and the first access point device. The system monitors at least one parameter of the wireless data link between the client device and the first access point device, such as radio signal strength. In response to determining that the at least one parameter meets a predetermined criterion, the access point device transmits a disassociate message to the client device. This disassociate message causes the client device to end the wireless data link. 
     Such techniques cause a Wi-Fi™ enabled device to disconnect from one access point and connect to another access point before a connection quality deteriorates to a point that causes noticeable interruptions in connectivity or a generally poor experience. 
     Yet other embodiments herein include software programs to perform the steps and operations summarized above and disclosed in detail below. One such embodiment comprises a computer program product that has a computer-storage medium (e.g., a non-transitory, tangible, computer-readable media, disparately located or commonly located storage media, computer storage media or medium, etc.) including computer program logic encoded thereon that, when performed in a computerized device having a processor and corresponding memory, programs the processor to perform (or causes the processor to perform) the operations disclosed herein. Such arrangements are typically provided as software, firmware, microcode, code data (e.g., data structures), etc., arranged or encoded on a computer readable storage medium such as an optical medium (e.g., CD-ROM), floppy disk, hard disk, one or more ROM or RAM or PROM chips, an Application Specific Integrated Circuit (ASIC), a field-programmable gate array (FPGA), and so on. The software or firmware or other such configurations can be installed onto a computerized device to cause the computerized device to perform the techniques explained herein. 
     Accordingly, one particular embodiment of the present disclosure is directed to a computer program product that includes one or more non-transitory computer storage media having instructions stored thereon for supporting operations such as: receiving a request from a client device to establish a wireless data link between the client device and a first access point device, the first access point device providing a connection to a computer network; establishing the wireless data link between the client device and the first access point device on a radio frequency communication channel, the wireless data link used to transmit data packets between the client device and the first access point device; monitoring at least one parameter of the wireless data link between the client device and the first access point device; and in response to determining that the at least one parameter meets a predetermined criterion, transmitting a disassociate message to the client device, the disassociate message causing the client device to end the wireless data link. The instructions, and method as described herein, when carried out by a processor of a respective computer device, cause the processor to perform the methods disclosed herein. 
     Other embodiments of the present disclosure include software programs to perform any of the method embodiment steps and operations summarized above and disclosed in detail below. 
     Of course, the order of discussion of the different steps as described herein has been presented for clarity sake. In general, these steps can be performed in any suitable order. 
     Also, it is to be understood that each of the systems, methods, apparatuses, etc. herein can be embodied strictly as a software program, as a hybrid of software and hardware, or as hardware alone such as within a processor, or within an operating system or within a software application, or via a non-software application such a person performing all or part of the operations. Example embodiments as described herein may be implemented in products and/or software applications such as those manufactured by Time Warner Cable, New York City, N.Y. 
     As discussed above, techniques herein are well suited for use in software applications supporting Wi-Fi™ connectivity. It should be noted, however, that embodiments herein are not limited to use in such applications and that the techniques discussed herein are well suited for other applications as well. 
     Additionally, although each of the different features, techniques, configurations, etc. herein may be discussed in different places of this disclosure, it is intended that each of the concepts can be executed independently of each other or in combination with each other. Accordingly, the present invention can be embodied and viewed in many different ways. 
     Note that this summary section herein does not specify every embodiment and/or incrementally novel aspect of the present disclosure or claimed invention. Instead, this summary only provides a preliminary discussion of different embodiments and corresponding points of novelty over conventional techniques. For additional details and/or possible perspectives of the invention and embodiments, the reader is directed to the Detailed Description section and corresponding figures of the present disclosure as further discussed below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The foregoing and other objects, features, and advantages of the invention will be apparent from the following more particular description of preferred embodiments herein as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, with emphasis instead being placed upon illustrating the embodiments, principles and concepts. 
         FIG. 1  is a block diagram of a computerized device with wireless connectivity in a Wi-Fi environment according to embodiments herein. 
         FIG. 2  is a block diagram of a computerized device with wireless connectivity in a Wi-Fi environment supporting mobility according to embodiments herein. 
         FIG. 3  is a block diagram of a computerized device with wireless connectivity in a Wi-Fi environment supporting ad hoc access point communication according to embodiments herein. 
         FIG. 4  is a block diagram of a computerized device with wireless connectivity in a Wi-Fi environment supporting access point communication via a central controller according to embodiments herein. 
         FIG. 5  is a flowchart illustrating an example of a process supporting Wi-Fi mobility according to embodiments herein. 
         FIGS. 6-7  are a flowchart illustrating an example of a process supporting Wi-Fi mobility according to embodiments herein. 
         FIG. 8  is an example block diagram of a wireless connectivity manager operating in a computer/network environment according to embodiments herein. 
     
    
    
     DETAILED DESCRIPTION 
     Techniques disclosed herein include systems and methods for providing active mobility of Wi-Fi™ enabled devices within a given wireless local area network (WLAN). In general, techniques include dynamically commanding or messaging Wi-Fi™ enabled devices to disconnect from a corresponding access point in response to meeting predetermined conditions. A forced disconnect can be based on various criteria, such as low-power or lost packet thresholds triggering the forced disconnect. For example, when a measured power level or radio signal strength drops below a specific threshold, or when a number or rate of packets being dropped exceeds a loss threshold, then logic within the Wi-Fi™ network or access point device can transmit a disconnect command or message to the Wi-Fi™ enabled device and a corresponding access point. 
     One challenge in providing Wi-Fi™ mobility is that from the perspective of device chipsets and the Wi-Fi specification itself (802.11), once a Wi-Fi device attaches to an access point or wireless router, there is no standard built into the Wi-Fi specification that causes devices to continue to scan for access points or scan for a better signal after a Wi-Fi enabled device attaches to a given access point, and also to initiate transfer to a particular access point having a better signal. Conventionally, once a Wi-Fi enabled device attaches to (establishes a communication link with) a Wi-Fi access point, the Wi-Fi enabled device remains attached to the given access point—even if the Wi-Fi enabled device passes other closer access points. For example, a user may be traveling along a road that has access points spaced at intervals along the road. A user&#39;s Wi-Fi enabled device then attaches to a first access point. In this example, as the user travels along the road, the user may pass a second or third access point, but the Wi-Fi enabled device would keep its connection to the first access point until it can no longer support any radio communications with the first access point. Thus, even though signal strength from the first access point decreases while signal strength from the second or third access point increases, the Wi-Fi enabled device with remain connected to (stick with) the first access point as long as possible. That is, there is no active mechanism in Wi-Fi for handoffs to thereby provide mobility in a Wi-Fi environment. Because of this “stickiness” of Wi-Fi devices, there is no handover among access points. This stickiness, in mobile scenarios, causes loss of packets, delay, and a generally poor connectivity experience. 
     It is essentially impractical to modify or create a new Wi-Fi standard that specifies how wireless devices provide mobility (active mobility) across access points. This impracticality is in part due to the existence of millions and millions of Wi-Fi enabled devices that are currently in use. Changing the logic and chipsets in all of these devices would be impractical and cost prohibitive. Techniques disclose herein, however, provide mobility across access points via a network-based approach. According to such techniques, access points and other network devices are modified to look for and move wireless devices to new or different access points to improve mobility. 
       FIGS. 1 and 2  show a simplified Wi-Fi environment that includes Wi-Fi enabled device  105 , first access point device  110  and second access point device  120 . Each access point provides wireless connectivity to a wired network via Wi-Fi technology. Access point devices, also known as wireless access points (WAP), can relay data between wireless devices and a router. Some access point devices can also include routing functionality. Wi-Fi enabled device  105  is connected to access point  110  in both  FIG. 1  and  FIG. 2 , in that Wi-Fi enabled device  105  and access point  110  have established a communication channel with each other for sending and receiving data and accessing remote network resources through a wired network. Wi-Fi enabled device  105  can also be identified as a wireless device or client device (with wireless functionality). Note that wireless devices, as used herein, refer to any devices that include functionality to transmit data and signals wirelessly, even though they may also include an interface for wired connectivity. 
     In  FIG. 1 , device  105  and access point  110  have good radio signal strength, while radio signal strength between device  105  and access point  120  is poor.  FIG. 2  shows that device  105  has moved physically closer to access point  120 . As a result of this move, there is now good radio signal strength between access point  120  and device  105 , while radio signal strength between access point  110  and device  105  has become poor. Note that despite having poor radio signal strength between access point  110  and device  105 , wireless device  105  is still connected to access point  110 . 
     Conventionally, client devices that are connected to a particular access point will remain connected to that access point, irrespective of the status in an uplink transmission (signal sent by the client device to access point), and can remain connected even until the client device looses a downlink connection (signal sent by access point to client device). Once a client device looses the connection in the downlink, the client device will begin rescanning for available access points and will request a connection to a best available access point based on priority, best downlink signal, and/or other related factors. 
     Techniques disclosed herein provide a handover process that primarily executes on the network side, that is, functionality that is executed by the access point devices and/or corresponding network controllers. The handover process can be triggered by sending a disconnect message to the client device under certain received signal strength indicator (RSSI) conditions, under certain uplink error rate conditions, or under other factors related to quality of a specific wireless connection. 
     In one embodiment, access point (AP)  110  is measuring a radio receive level from the Wi-Fi enabled device  105 . Likewise, access point  120  is also measuring a radio receive level from device  105 , even though device  105  is not currently connected to access point  120 . Optionally, the two access points can use a common location where this radio information can be shared across the access points. Such sharing can be via a centralized Wi-Fi network, or an ad hoc network, and will be discussed more in the following figures. Regardless of whether the access points are communicating with each other (directly or indirectly), it is helpful for a given access point to know that there are other peer or neighboring access points with which the device  105  can establish a connection. With no neighboring access point devices, the device  105 —after disconnecting from a given access point—will continuously try to reconnect with the given access point. 
     Knowing that there are other Wi-Fi connection options available in a particular area can be beneficial because Wi-Fi enabled devices do not actively or continuously scan for access points as long as the Wi-Fi enabled device is attached to one access point. Note that some Wi-Fi enabled devices can scan for other access points and record these additional access points (even when connected to a first access point), but these Wi-Fi enabled device nevertheless do not move to the other access points even when there is a stronger signal from the other access points. Also, the Wi-Fi enabled devices do not report results of their scans upstream to any central management server or controller. Connectivity is often maintained even if connectivity of the uplink signal is lost. Until a Wi-Fi enabled device is disconnected in the downlink, the device will remain connected to the current access point, even if there is a substantially stronger signal from another access point. 
       FIG. 2  also illustrates an example handover situation in which the access points are autonomous in that access point  110  and access point  120  may have no knowledge of each other, or are at least not sharing information. In such an embodiment, a decision to disassociate depends on an access point&#39;s own measurements and analysis. Access point  110  measures the uplink or receive signal and, upon meeting a particular threshold, the connected access point  110  will push the client device  105  out of the network or out of connectivity with the first access point. In this scenario, access point  110  can detect that the RSSI has dropped below a predetermined threshold, and in response transmits a disassociate command to the device  105 . In response to receiving this command, the device  105  ends a wireless connection with access point  110 . After ending the wireless connection, the device  105  begins scanning for radio signals or accesses a recent report of scanned signals from candidate access points, and then requests a connection (typically) to an access point having a best signal. In other words, the client device will try to re-associate with another access point having the best signal available, which can be based on a priority list maintained at the client. In the  FIG. 2  example, with device  105  being physically closer to access point  120 , device  105  will most likely detect that the radio signal strength to access point  120  is substantially stronger than a signal received from access point  110 . Thus, after access point  110  transmits the disassociate command, it is expected that device  105  will subsequently establish a connection with access point  120 . In the Wi-Fi interface there exists a message called “disassociate.” This is a message that the network can send to a given Wi-Fi enabled device, according to the Wi-Fi specification. This message is rarely used and included as essentially an emergency resource, such as when an access point is being shut down for maintenance. By using a standards-based message, there is no need to change the millions and millions of Wi-Fi enabled devices. Thus, there is no burden of adding new protocols to existing client devices, yet mobility can be provided to mobile Wi-Fi enabled devices. 
     Thus, the access point or corresponding network can measure one or more radio frequency parameters or other connection parameters corresponding to a particular Wi-Fi enabled device or wireless connection to the Wi-Fi enabled device. In response to meeting (or falling below) a particular threshold of connection parameters, the access point or corresponding network controller sends explicit instructions for the Wi-Fi enabled device to disassociate with its connected access point. Such disassociation then initiates a process in the device  105  to look for another access point with which to connect. The system herein essentially spurs the device  105  to connect to a second or different access point, despite the client device lacking such mobility intelligence. To facilitate this change and ensure connection to a different access point, the disassociate message can be sent at a threshold that would not result in re-association with the first access point. For example, a first access point is receiving a radio signal from a client device at a power of −75 db, which is a relatively low power, and consider for this example that a second access point is at a power of −50 db. In this example the first access point sends a disassociate message to the client device and the client device disassociates from the first access point. At this point the client device executes a quick scan of access points and discovers that the second access point has better power and so the client device will connect to the second access point. Such disconnection and reconnection can happen sufficiently fast such that there is no noticeable interruption in calls, downloads, or other data transfers. If however, the first access point was receiving moderate signal strength from the client device, then the first access point may wait until signal strength degrades to a point where the client device would most likely find a neighboring access point having a higher signal strength. Associating with the second access point can include any expected credentialing for a given WLAN. Such a handover technique can work on a same service set identifier (SSID). Thus, instead of moving to another SSID and restarting a scan, the device  105  tries to move to another access point with the same SSID. 
     The access point can measure several parameters. For example, access points can measure a receive level or radio power level, a packet error rate, a packet loss rate, and so forth. For example, the system can detect that the power level is sufficient, but that there may be too much radio frequency noise such that there are packet collisions on a specific channel. In response, the access point can cause a disassociation, especially when identifying that a second access point will likely connect with the client device. If the second access point has a substantially lower power, then sending a disassociation command would accomplish little because the client device would most likely try to reconnect with the first access point. Note that with Wi-Fi technology, establishing a wireless connection is initiated by the client device instead of by the access point. A connection request can be based on the priority defined in a client list of access points, in that the client device makes a selection and initiates establishing a wireless connection. 
       FIG. 3  illustrates an example Wi-Fi environment in which access point  110  and access point  120  use an ad hoc communication mechanism. With such direct communication, access point  110  and access point  120  can share information directly, without any central or upstream system. Access point  120  passively listens on the packets from client device  105 , and shares that knowledge with access point  110  directly. Such information and corresponding measurements give enough information for access point  110  to determine when to issue the disassociate message. 
       FIG. 4  illustrates an example Wi-Fi environment in which access point  110  and access point  120  use an upstream controller  155 . Controller  155  can be local device, or remote server computer accessible via a wired network. With such indirect communication, access point  110  and access point  120  can share information. Access point  120  passively listens on the packets from client device  105 , and shares that knowledge with controller  155 . Access point  110  active listens and measures RSSI and other parameters and transmits this information to controller  155 . Such information and corresponding measurements give enough information for controller  155  to determine when to issue the disassociate message. 
     Because client device  105  is transmitting packets to first access point  110  via radio frequency transmission, some of those packets can be received or detected at second access point  120 . The access point  120  would not need to read these packets, but logic is extended such that the second access point  120  can see those packets, measure associated parameters, and send that knowledge to a central controller. Thus, the second access point  120  can passively monitor the client device  105  even though the client device is not connected to that access point. The second access point  120  can then send this information to a central server or controller  155  or designated peer device. The controller  155  can then determine that the second access point  120  is receiving a substantially stronger signal, and, in response, direct the first access point  110  to send a disassociate message to the client device  105  so that the client device is free to establish a wireless connection with the second access point. 
     In one embodiment, the network can share information with adjacent/neighboring access points, and then a central server/controller can contact the adjacent access points and request those adjacent access points to scan for a specific channel and MAC address corresponding to the client device  105  connected to the first access point  110 . This can reduce the burden on adjacent access points so that they only listen for specific client devices that could be potential handover candidates. Otherwise, the neighboring access points could be monitoring too many devices, which could slow performance. This logic can be embedded in an access point or operate at the controller device  155 . 
     The system can maintain the same IP address of the client device  105  to keep the handover transition between access points seamless. The higher level controller or server can then transmit packets to the second access point  120  after a transition so that the second access point immediately begins sending packets to the client device  105 . A handover threshold amount can be selected such as to be sufficient that the client device  105  would not want to flip-flop between access points, such as when the client device is about halfway between the two access points. In addition, after a given access point sends a disassociate command, that access point can wait several seconds before allowing the Wi-Fi enabled device to reconnect, as a means to nudge the client device to request a connection with a different access point. 
       FIG. 8  illustrates an example block diagram of a wireless connectivity manager  140  operating in a computer/network environment according to embodiments herein. Computer system hardware aspects of  FIG. 8  will be described in more detail following a description of the flow charts. 
     Functionality associated with wireless connectivity manager  140  will now be discussed via flowcharts and diagrams in  FIG. 5  through  FIG. 7 . For purposes of the following discussion, the wireless connectivity manager  140  or other appropriate entity performs steps in the flowcharts. 
     Now describing embodiments more specifically,  FIG. 5  is a flow chart illustrating embodiments disclosed herein. In step  510 , the wireless connectivity manager receives a request from a client device to establish a wireless data link between the client device and a first access point device. The first access point device provides a connection to a computer network, such as the Internet or other wired network. 
     In step  520 , the wireless connectivity manager establishes the wireless data link between the client device and the first access point device on a radio frequency communication channel. The wireless data link is used to transmit data packets between the client device and the first access point device. By way of a non-limiting example, a mobile phone or tablet computer makes a request to establish an Internet connection at a given hotspot or access point provided by an Internet Service Provider. 
     In step  530 , the wireless connectivity manager monitors at least one parameter of the wireless data link between the client device and the first access point device. Parameters can include various connectivity statistics and metrics. 
     In step  540 , the wireless connectivity manager (or access point device) transmits a disassociate message to the client device in response to determining that the at least one parameter meets a predetermined criterion. The disassociate message causes the client device to end the wireless data link. For example, the wireless connectivity manager determines that wireless signal strength is relatively weak. 
       FIGS. 6-7  include a flow chart illustrating additional and/or alternative embodiments and optional functionality of the wireless connectivity manager  140  as disclosed herein. 
     In step  510 , the wireless connectivity manager receives a request from a client device to establish a wireless data link between the client device and a first access point device. The first access point device provides a connection to a computer network. 
     In step  512 , the access point device receives a request to establish a Wi-Fi data link, with the client device being a Wi-Fi enabled device. 
     In step  514 , the first access point device is in network communication with a second access point device. The first and second access point devices providing Wi-Fi connectivity to the computer network via a same service set identifier (SSID). By way of a non-limiting example, the access points could be part of an array of access points provided by an ISP in a given geographical area such that client devices can be within radio communication range of two or more access points simultaneously. 
     In step  520 , the wireless connectivity manager establishes the wireless data link between the client device and the first access point device on a radio frequency communication channel. The wireless data link is used to transmit data packets between the client device and the first access point device. 
     In step  530 , the wireless connectivity manager monitors at least one parameter of the wireless data link between the client device and the first access point device. 
     In step  531 , the wireless connectivity manager monitors radio signal strength. In step  532 , the wireless connectivity manager determines that a received signal strength indicator (RSSI) of the wireless data link is less than a predetermined amount. 
     In step  534 , the wireless connectivity manager monitors a rate of packet errors in uplink data transmission, and transmits the disassociate message to the client device in response to the rate of packet errors exceeding a predetermined packet error rate. For example, in some situations, the client device may have about a same signal strength of two access points, but because of packet errors or noise, the wireless connectivity manager can determine to close the connection to either have the client device reconnect with a different access point or with the same access point on a different channel. 
     In step  536 , the wireless connectivity manager monitors radio signal strength of the client device via the second access point device. For example, the second access point can acquire a MAC address of the client device, and then passively measure signal strength. 
     In step  540 , the wireless connectivity manager (or access point device) transmits a disassociate message to the client device in response to determining that the at least one parameter meets a predetermined criterion. The disassociate message causes the client device to end the wireless data link. 
     In step  542 , the wireless connectivity manager identifies that received radio signal strength of the client device at the second access point device is greater than received radio signal strength of the client device at the first access point device. This knowledge can assist in a decision to send a disassociate message. 
     In step  560 , the first access point device rejects, for a predetermined period of time, subsequent connectivity requests from the client device to re-establish the wireless data link. For example, after transmitting the disassociate message, the first access point device can refuse to credential the client device for ten seconds as a technique to nudge the client device to request a connection from another access point device. 
     In step  570 , the second access point device receives a request from the client device to establish a second wireless data link between the client device and the second access point device in response to transmitting the disassociate message to the client device. In step  580 , the second access point device establishes the second wireless data link between the client device and the second access point device on a radio frequency communication channel. The second wireless data link uses the same SSID. The second wireless data link is used to transmit data packets between the client device and the second access point device. The client device maintains a same Internet Protocol (IP) address as used with the first access point device. Keeping a same SSID and IP address assists with a seamless transition between access points. 
     In step  582 , the first access point device and the second access point device transmit data to each other corresponding to the at least one parameter of the wireless data link via ad hoc connectivity between the first access point device and the second access point device. 
     In step  584 , the first access point device and the second access point device transmit data to each other corresponding to the at least one parameter of the wireless data link via an upstream server computer or controller device. 
     In step  585 , an upstream server computer causes the first access point device to transmit the disassociate message to the client device. 
     In another embodiment, the system can identify a geographic location of the client device relative to the first access point device and the second access point device, such as with triangulation. In such an embodiment, transmitting the disassociate message can also be in response to the geographic location of the client device. For example, the system can detect that the client device is moving in a particular direction or towards a particular access point and can send a disassociate message at a point that will enable seamless transition between access points. 
     Continuing with  FIG. 8 , the following discussion provides a basic embodiment indicating how to carry out functionality associated with the wireless connectivity manager  140  as discussed above. It should be noted, however, that the actual configuration for carrying out the wireless connectivity manager  140  can vary depending on a respective application. For example, computer system  149  can include one or multiple computers that carry out the processing as described herein. 
     In different embodiments, computer system  149  may be any of various types of devices, including, but not limited to, a cell phone, a personal computer system, desktop computer, laptop, notebook, or netbook computer, mainframe computer system, handheld computer, workstation, network computer, router, network switch, bridge, application server, storage device, a consumer electronics device such as a camera, camcorder, set top box, mobile device, video game console, handheld video game device, or in general any type of computing or electronic device. 
     Computer system  149  is shown connected to display monitor  130  for displaying a graphical user interface  133  for a user  136  to operate using input devices  135 . Repository  138  can optionally be used for storing data files and content both before and after processing. Input devices  135  can include one or more devices such as a keyboard, computer mouse, microphone, etc. 
     As shown, computer system  149  of the present example includes an interconnect  143  that couples a memory system  141 , a processor  142 , I/O interface  144 , and a communications interface  145 . 
     I/O interface  144  provides connectivity to peripheral devices such as input devices  135  including a computer mouse, a keyboard, a selection tool to move a cursor, display screen, etc. 
     Communications interface  145  enables the wireless connectivity manager  140  of computer system  149  to communicate over a network and, if necessary, retrieve any data required to create views, process content, communicate with a user, etc. according to embodiments herein. 
     As shown, memory system  141  is encoded with wireless connectivity manager  140 - 1  that supports functionality as discussed above and as discussed further below. Wireless connectivity manager  140 - 1  (and/or other resources as described herein) can be embodied as software code such as data and/or logic instructions that support processing functionality according to different embodiments described herein. 
     During operation of one embodiment, processor  142  accesses memory system  141  via the use of interconnect  143  in order to launch, run, execute, interpret or otherwise perform the logic instructions of the wireless connectivity manager  140 - 1 . Execution of the wireless connectivity manager  140 - 1  produces processing functionality in wireless connectivity manager process  140 - 2 . In other words, the wireless connectivity manager process  140 - 2  represents one or more portions of the wireless connectivity manager  140  performing within or upon the processor  142  in the computer system  149 . 
     It should be noted that, in addition to the wireless connectivity manager process  140 - 2  that carries out method operations as discussed herein, other embodiments herein include the wireless connectivity manager  140 - 1  itself (i.e., the un-executed or non-performing logic instructions and/or data). The wireless connectivity manager  140 - 1  may be stored on a non-transitory, tangible computer-readable storage medium including computer readable storage media such as floppy disk, hard disk, optical medium, etc. According to other embodiments, the wireless connectivity manager  140 - 1  can also be stored in a memory type system such as in firmware, read only memory (ROM), or, as in this example, as executable code within the memory system  141 . 
     In addition to these embodiments, it should also be noted that other embodiments herein include the execution of the wireless connectivity manager  140 - 1  in processor  142  as the wireless connectivity manager process  140 - 2 . Thus, those skilled in the art will understand that the computer system  149  can include other processes and/or software and hardware components, such as an operating system that controls allocation and use of hardware resources, or multiple processors. 
     Those skilled in the art will also understand that there can be many variations made to the operations of the techniques explained above while still achieving the same objectives of the invention. Such variations are intended to be covered by the scope of this invention. As such, the foregoing descriptions of embodiments of the invention are not intended to be limiting. Rather, any limitations to embodiments of the invention are presented in the following claims.