Patent Description:
<CIT> provides a prior art example of a method and system for wireless extender onboarding.

<CIT> and <CIT> provide further examples of prior art.

The invention shall be defined by the appended set of claims.

Aspects of the present invention are drawn to a client device for use with a main access point device (APD), and an extender device, the client device including: a memory; a graphic user interface (GUI); and a processor configured to execute instructions stored on the memory to cause the client device to: instruct the GUI to display an onboarding menu including a user selectable onboard extender icon; instruct, by way of the second dedicated haul, the extender device to onboard onto the main APD, by way of a first dedicated haul, in response to a user selection of the user selectable onboard extender icon; instruct the GUI to enable the user to use the client device while the extender device performs the onboarding onto the main APD; access a host table stored in the main APD; determine whether the extender device onboards onto the main APD within a predetermined period of time by identifying the extender device on the host table in two consecutive instances within the predetermined period of time; instruct the GUI to display a successful onboarding indication if the extender device onboards onto the main APD within the predetermined period of time; and instruct the GUI to display a failure onboarding indication if the extender device does not onboard onto the main APD within the predetermined period of time.

In some embodiments, the processor is configured to execute instructions stored on the memory to additionally cause the client device to instruct the extender device to onboard onto the main APD wirelessly.

In some embodiments, the processor is configured to execute instructions stored on the memory to additionally cause the client device to instruct the GUI to additionally display troubleshooting instructions if the extender device does not onboard onto the main APD within the predetermined period of time.

Other aspects of the present disclosure are drawn to a method of using a client device with a main access point device (APD), and an extender device, the method including: instructing, via a processor configured to execute instruction stored on a memory, the GUI to display an onboarding menu including a user selectable onboard extender icon; instructing, via the processor, by way of a second dedicated haul, the extender device to onboard onto the main APD, by way of a first dedicated haul, in response to a user selection of the user selectable onboard extender icon; instructing, via the processor, the GUI to enable the user to use the client device while the extender device performs the onboarding onto the main APD; accessing a host table stored in the main APD; determining whether the extender device onboards onto the main APD within a predetermined period of time by identifying the extender device on the host table in two consecutive instances within the predetermined period of time; instructing, via the processor, the GUI to display a successful onboarding indication if the extender device onboards onto the main APD within the predetermined period of time; and instructing, via the processor, the GUI to display a failure onboarding indication if the extender device does not onboard onto the main APD within the predetermined period of time.

In some embodiments, the method includes instructing, via the processor, the extender device to onboard onto the main APD comprises instructing the extender device to onboard onto the main APD wirelessly.

In some embodiments, the method includes instructing, via the processor, the GUI to additionally display troubleshooting instructions if the extender device does not onboard onto the main APD within the predetermined period of time.

Other aspects of the present disclosure are drawn to a non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions when executed by a processor of a client device, cause the client device to o perform the method including: instructing, via a processor configured to execute instruction stored on a memory, the GUI to display an onboarding menu including a user selectable onboard extender icon; instructing, via the processor, by way of a second dedicated haul, the extender device to onboard onto the main APD, by way of a first dedicated haul, in response to a user selection of the user selectable onboard extender icon; instructing, via the processor, the GUI to enable the user to use the client device while the extender device performs the onboarding onto the main APD; accessing, via the processor, a host table stored in the main APD; determining, via the processor, whether the extender device onboards onto the main APD within a predetermined period of time by identifying the extender device on the host table in two consecutive instances within the predetermined period of time; instructing, via the processor, the GUI to display a successful onboarding indication if the extender device onboards onto the main APD within the predetermined period of time; and instructing, via the processor, the GUI to display a failure onboarding indication if the extender device does not onboard onto the main APD within the predetermined period of time.

In some embodiments, the computer-readable instructions are capable of instructing, via the processor, the extender device to onboard onto the main APD includes instructing the extender device to onboard onto the main APD wirelessly.

In some embodiments, the computer-readable instructions are capable of instructing the client device to perform the method further including instructing, via the processor, the GUI to additionally display troubleshooting instructions if the extender device does not onboard onto the main APD within the predetermined period of time.

The accompanying drawings, which are incorporated in and form a part of the specification, illustrate example embodiments and, together with the description, serve to explain the principles of the invention. In the drawings:.

When a user purchases a new Wi-Fi extender for the residence, they must onboard it to their existing network. Through the use of a client device, a user may begin onboarding the extender to the network of their main APD. The client device will connect these two devices through a backhaul. One connected, the new Wi-Fi extender will disconnect and reconnect multiple times, as it will be rebooting while updating its software. The client device waits for an unpredictably long duration of time until the Wi-Fi extender completes multiple reboots after upgrading its firmware. During this wait time, the client device cannot be used for any other tasks. This creates a poor user experience.

The idea here is to come up with a novel approach that employs the mobile app and its capabilities to provide better Wi-Fi extender onboarding user experience. The proposal in this disclosure is to use a novel technique to eliminate the long waiting time for the user while the Wi-Fi extender is completing the onboarding process in the background and thus preventing a bad user experience in terms of long wait time.

<FIG> illustrates a communication network <NUM>.

As shown in the figure, communication network <NUM> includes a residence <NUM>, a service provider server <NUM>, an external network <NUM>, a user <NUM>, a client device <NUM>, a main APD <NUM>, a Wi-Fi extender <NUM>, physical media/wiring <NUM>, a wireless local area network (WLAN) <NUM>, and communication channels <NUM>, <NUM>, <NUM>, and <NUM>.

Main APD <NUM> is an electronic device that is to be located so as to establish a local area network (LAN) at a consumer premises. The consumer premises can include a residential dwelling, office, or any other business space of a user. The terms home, office, and premises may be used synonymously herein.

Main APD <NUM> may be any device or system that is operable to allow data to flow from one discrete network to another. Main APD <NUM> may perform such functions as web acceleration and HTTP compression, flow control, encryption, redundancy switchovers, traffic restriction policy enforcement, data compression, TCP performance enhancements (e.g., TCP performance enhancing proxies, such as TCP spoofing), quality of service functions (e.g., classification, prioritization, differentiation, random early detection (RED), TCP/UDP flow control), bandwidth usage policing, dynamic load balancing, and routing.

Main APD <NUM> establishes, or is part of, communication network <NUM>, using Wi-Fi for example, such that client device <NUM> and Wi-Fi extender <NUM> are able to communicate wirelessly with main APD <NUM>. In particular, main APD <NUM> is able to communicate wirelessly directly with client device <NUM> and Wi-Fi extender <NUM>. Further, main APD <NUM> is able to communicate wirelessly with Wi-Fi extender <NUM> via communication channel <NUM> and is able to communicate wirelessly with client device <NUM> via communication channel <NUM>. The term Wi-Fi as used herein may be considered to refer to any of Wi-Fi <NUM>, <NUM>, <NUM>, 6E, or any variation thereof.

Further, it should be noted that main APD <NUM> is able to communicate with service provider server <NUM> via physical media/wiring <NUM>, which may optionally be a wireless communication system, such as <NUM>, or <NUM>, and further is able to connect to external network <NUM>, e.g., the Internet, via service provider server <NUM>.

Service provider server <NUM> includes head-end equipment such as server computers (e.g., automatic configuration server ACS, cable modem termination system (CMTS)) that enable a content provider, such as a cable television provider, a satellite television provider, an internet service provider, or multiple-systems operator (MSO), to provide content (such as audio/video content and/or internet service) either through physical media/wiring <NUM>, such as a coaxial network, an optical fiber network, and/or DSL, or external network <NUM>, such as a satellite or terrestrial antenna implemented network or a combination of any of these examples or their equivalents. The data communicated on such network can be implemented using a variety of protocols on a network such as a wide area network (WAN), a virtual private network (VPN), metropolitan area networks (MANs), system area networks (SANs), a DOCSIS network, a fiber optics network (e.g., FTTH (fiber to the home), FTTX (fiber to the X), or hybrid fiber-coaxial (HFC)), a digital subscriber line (DSL), a public switched data network (PSDN), a global Telex network, or a <NUM>, <NUM>, <NUM> or <NUM>, for example.

Main APD <NUM> serves as a gateway or access point to external network <NUM>, e.g., the Internet (or otherwise as mentioned above), for one or more electronic devices, such as client device <NUM>, that wirelessly communicate with main APD <NUM> via, e.g., Wi-Fi. Client device <NUM> can be a desk top computer, laptop computer, electronic tablet device, smart phone, appliance, or any so-called internet of things equipped devices that are equipped to communicate information via WLAN <NUM>.

Wi-Fi extenders <NUM> can be paired with main APD <NUM> in order to communicate wirelessly with main APD <NUM> and extend the coverage area of WLAN <NUM>. Client device <NUM> can be in communication with main APD <NUM> or Wi-Fi extender <NUM>.

Main APD <NUM> has the capability of wirelessly communicating with plural electronic user devices over respective communication avenues. In order to extend the area in which WLAN <NUM> is effective, beyond the radio reach of main APD <NUM>, Wi-Fi extender <NUM> can be added. The establishment of the operative communications between Wi-Fi extender <NUM> and main APD <NUM> is referred to as onboarding the extender. Wi-Fi extender <NUM> can communicate wirelessly with main APD <NUM>. However, rather than using one of the communication avenues that are allocated for communication with user devices, a dedicated avenue of communication may be established, at least at some times, between Wi-Fi extender <NUM> and main APD <NUM>. This dedicated avenue is referred to as a backhaul.

Within WLAN <NUM>, electronic devices are often referred to as being stations in WLAN <NUM>. In IEEE <NUM> (Wi-Fi) terminology, a station (abbreviated as STA) is a device that has the capability to use the <NUM> protocol. For example, a station may be a laptop, a desktop PC, PDA, access point or Wi-Fi phone. An STA may be fixed, mobile or portable. Generally in wireless networking terminology, a station, wireless client, and node are often used interchangeably, with no strict distinction existing between these terms. A station may also be referred to as a transmitter or receiver based on its transmission characteristics. IEEE <NUM>-<NUM> defines station as: a logical entity that is a singly addressable instance of a medium access control (MAC) and physical layer (PHY) interface to the wireless medium (WM).

A wireless access point (WAP), or more generally just access point (AP), is a networking hardware device that allows other Wi-Fi devices to connect to a Wi-Fi network. A service set ID (SSID) is an identification (in IEEE <NUM>) that is broadcast by access points in beacon packets to announce the presence of a network access point for the SSID. SSIDs are customizable IDs that can be zero to <NUM> bytes, and can be in a natural language, such as English. In WLAN <NUM>, main APD <NUM> and Wi-Fi extender <NUM> are access points for WLAN <NUM>.

Consider the situation where user <NUM> purchases Wi-Fi extender <NUM> for residence <NUM>. Using client device <NUM>, user <NUM> would like to connect Wi-Fi extender <NUM> to WLAN <NUM>. To do this, Wi-Fi extender <NUM> must be onboarded to main APD <NUM>. So, user <NUM> onboards Wi-Fi extender <NUM> onto main APD <NUM> using client device <NUM>. This will be described in greater detail with reference to <FIG>.

<FIG> illustrates a GUI <NUM> displayed on client device <NUM>.

As shown in the figure, <FIG> illustrates GUI <NUM> being displayed on a display <NUM> of client device <NUM>. On display <NUM> is icon <NUM>.

Referencing the situation above, user <NUM> has begun onboarding Wi-Fi extender <NUM> onto main APD <NUM>. As shown in <FIG>, client device <NUM> has icon <NUM> displayed on display <NUM>. This icon lets the user know that Wi-Fi extender <NUM> is currently onboarding main APD <NUM>. This process may take anywhere from <NUM> to <NUM> minutes. However, in this time frame, user <NUM> cannot use client device <NUM>. If user <NUM> wants to complete a task using client device <NUM>, they now have to wait for the onboarding process to complete, or they can close the application which will impact the onboarding process. This process creates a poor customer experience.

What is needed is a system and method for optimizing the installation process of Wi-Fi extenders.

A system and method in accordance with the present disclosure optimizes the installation process of Wi-Fi extenders.

In accordance with the present disclosure, a user will use a client device to onboard a new Wi-Fi extender. Initially, the Wi-Fi extender will connect to a main APD by a backhaul. During this process, the extender will be connected and disconnected periodically, due to the extender updating software. This process can take anywhere from <NUM> to <NUM> minutes. While this process is going on, the user is free to use their client device however they want as the onboarding process will be happening in the background, no longer preventing the user from using their client device. When the process is complete, the user will receive a notification alerting them of the onboarding process being a success or failure.

Onboarding an extender to a main APD may be performed in any known manner, a non-limiting example of which is disclosed in <CIT>.

An example system and method for optimizing the installation process of Wi-Fi extenders in accordance with aspects of the present disclosure will now be described in greater detail with reference to <FIG>.

<FIG> illustrates a communication network <NUM> in accordance with aspects of the present disclosure.

As shown in the figure, communication network <NUM> includes a residence <NUM>, a service provider server <NUM>, an external network <NUM>, a user <NUM>, a client device <NUM>, a main APD <NUM>, a Wi-Fi extender <NUM>, physical media/wiring <NUM>, a WLAN <NUM>, and communication channels <NUM>, <NUM>, <NUM>, and <NUM>.

Consider the situation where user <NUM> purchases Wi-Fi extender <NUM> for residence <NUM>. Using client device <NUM>, user <NUM> would like to connect Wi-Fi extender <NUM> to external network <NUM>. To do this, Wi-Fi extender <NUM> must be onboarded to main APD <NUM>. So, user <NUM> onboards Wi-Fi extender <NUM> onto main APD <NUM> using client device <NUM>. This will be described in greater detail with reference to <FIG>.

<FIG> illustrates an algorithm <NUM> to be executed by a processor for optimizing Wi-Fi extender installation using a mobile app in accordance with aspects of the present disclosure.

As shown in the figure, algorithm <NUM> starts (S402) and the onboarding GUI is displayed (S404). This will be discussed in greater detail with reference to <FIG> and <FIG>.

<FIG> illustrates an exploded view of main APD <NUM>, Wi-Fi extender <NUM>, and client device <NUM>.

As shown in <FIG>, main APD <NUM> includes: a controller <NUM>; a home network controller (HNC) <NUM>; a memory <NUM>, which has stored therein an onboarding program <NUM>; at least one radio, a sample of which is illustrated as a radio <NUM>; and an interface circuit <NUM>.

In this example, controller <NUM>, memory <NUM>, radio <NUM>, and interface circuit <NUM> are illustrated as individual devices. However, in some embodiments, at least two of controller <NUM>, memory <NUM>, radio <NUM>, and interface circuit <NUM> may be combined as a unitary device. Whether as individual devices or as combined devices, controller <NUM>, memory <NUM>, radio <NUM>, and interface circuit <NUM> may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller <NUM>, memory <NUM> and interface circuit <NUM> may be implemented as a computer having non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable recording medium refers to any computer program product, apparatus or device, such as a magnetic disk, optical disk, solid-state storage device, memory, programmable logic devices (PLDs), DRAM, 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 computer-readable program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Disk or disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc. For information transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer may properly view the connection as a computer-readable medium. Thus, any such connection may be properly termed a computer-readable medium.

Example tangible computer-readable media may be coupled to a processor such that the processor may read information from, and write information to the tangible computer-readable media. In the alternative, the tangible computer-readable media may be integral to the processor. The processor and the tangible computer-readable media may reside in an integrated circuit (IC), an application specific integrated circuit (ASIC), or large scale integrated circuit (LSI), system LSI, super LSI, or ultra LSI components that perform a part or all of the functions described herein. In the alternative, the processor and the tangible computer-readable media may reside as discrete components.

Example tangible computer-readable media may be also coupled to systems, non-limiting examples of which include a computer system/server, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.

Such a computer system/server may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Further, such a computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

Components of an example computer system/server may include, but are not limited to, one or more processors or processing units, a system memory, and a bus that couples various system components including the system memory to the processor.

The bus represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.

A program/utility, having a set (at least one) of program modules, may be stored in the memory by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. The program modules generally carry out the functions and/or methodologies of various embodiments of the application as described herein.

Controller <NUM> may be implemented as a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of the main APD <NUM> in accordance with the embodiments described in the present disclosure.

Memory <NUM> can store various programming, and user content, and data including onboarding program <NUM>. Onboarding program <NUM>, as will be described in greater detail below, has instructions stored thereon to be executed by HNC <NUM> to cause main AD <NUM> to effectuate the onboarding of extender <NUM>.

Interface circuit <NUM> can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as <NUM> circuitry and one or more antennas. Interface circuit <NUM> receives content from service provider server <NUM> (as shown in <FIG>) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or <NUM> as discussed above. Through interface circuit <NUM>, main APD <NUM> receives an input signal, including data and/or audio/video content, from service provider server <NUM> and can send data to service provider server <NUM>.

Radio <NUM>, (and preferably two or more radios), may also be referred to as a wireless communication circuit, such as a Wi-Fi WLAN interface radio transceiver and is operable to communicate with client device <NUM> and with Wi-Fi extender <NUM>. Radio <NUM> includes one or more antennas and communicates wirelessly via one or more of the <NUM> band, the <NUM> band, the <NUM> band, and the <NUM> band, or at the appropriate band and bandwidth to implement any IEEE <NUM> Wi-Fi protocols, such as the Wi-Fi <NUM>, <NUM>, <NUM>, or 6E protocols. Main APD <NUM> can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE), or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, <NUM> bands, <NUM> bands, <NUM> bands, or <NUM> bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE <NUM>. <NUM> protocol.

Wi-Fi extender <NUM> includes: a controller <NUM>; a main memory <NUM>, which has stored therein an onboarding program <NUM>; at least one radio, a sample of which is illustrated as a radio <NUM>; and an interface <NUM>. It should be noted that additional Wi-Fi extenders have similar structure and operation to that of Wi-Fi extender <NUM>.

In this example, controller <NUM>, main memory <NUM>, radio <NUM> and interface <NUM> are illustrated as individual devices. However, in some embodiments, at least two of controller <NUM>, main memory <NUM>, radio <NUM> and interface <NUM> may be combined as a unitary device. Further, in some embodiments, at least one of controller <NUM> and main memory <NUM> may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.

Controller <NUM> may be implemented as hardware circuitry such as a dedicated control circuit, CPU, a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of the Wi-Fi extender <NUM> in accordance with the embodiments described in the present disclosure.

Memory <NUM> can store various programming, and user content, and data including onboarding program <NUM>. Onboarding program <NUM>, as will be described in greater detail below, has instructions stored thereon to be executed by controller <NUM> to cause controller <NUM> to effectuate the onboarding of extender <NUM> onto main APD <NUM>.

Radio <NUM>, such as a WLAN interface radio transceiver, is operable to communicate with client device <NUM> and with main APD <NUM>, as shown in <FIG>. Radio <NUM> includes one or more antennas and communicates wirelessly via one or more of the <NUM> band, the <NUM> band, the <NUM> band, and the <NUM> band, or at the appropriate band and bandwidth to implement any IEEE <NUM> Wi-Fi protocols, such as the Wi-Fi <NUM>, <NUM>, <NUM>, or 6E protocols. Wi-Fi extender <NUM> can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE), or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, <NUM> bands, <NUM> bands, <NUM> bands, or the <NUM> bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE <NUM>. <NUM> protocol.

Interface <NUM> can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as <NUM> circuitry and one or more antennas.

Client device <NUM> includes: a controller <NUM>; a memory <NUM>, which has stored therein an onboarding program <NUM>; and at least one radio, a sample of which is illustrated as a radio <NUM>; an interface <NUM> and a display <NUM>.

In this example, controller <NUM>, main memory <NUM>, radio <NUM>, interface <NUM> and display <NUM> are illustrated as individual devices. However, in some embodiments, at least two of controller <NUM>, memory <NUM>, radio <NUM>, interface <NUM> and display <NUM> may be combined as a unitary device. Further, in some embodiments, at least one of controller <NUM> and main memory <NUM> may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.

Controller <NUM> may be implemented as a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of client device <NUM> in accordance with the embodiments described in the present disclosure.

Onboarding program <NUM>, as will be described in greater detail below, has instructions stored thereon to be executed by controller <NUM> to cause client device <NUM> to: instruct a GUI to display an onboarding menu including a user selectable onboard extender icon; instruct, by way of the second dedicated haul, Wi-Fi extender <NUM> to onboard onto main APD <NUM>, by way of a first dedicated haul, in response to a user selection of the user selectable onboard extender icon; instruct the GUI to enable user <NUM> to perform an operation while Wi-Fi extender <NUM> performs the onboarding onto main APD <NUM>; instruct the GUI to display a successful onboarding indication if Wi-Fi extender <NUM> onboards onto main APD <NUM> within a predetermined period of time; and instruct the GUI to display a failure onboarding indication if Wi-Fi extender <NUM> does not onboard onto main APD <NUM> within the predetermined period of time.

Onboarding program <NUM>, as will be described in greater detail below, has additional instructions stored thereon to be executed by controller <NUM> to cause client device <NUM> to instruct Wi-Fi extender <NUM> to onboard onto main APD <NUM> wirelessly.

Onboarding program <NUM>, as will be described in greater detail below, has additional instructions stored thereon to be executed by controller <NUM> to cause client device <NUM> to: access the host table; and determine whether Wi-Fi extender <NUM> onboards onto main APD <NUM> within the predetermined period of time by identifying Wi-Fi extender <NUM> on the host table in two consecutive instances within the predetermined period of time.

Onboarding program <NUM>, as will be described in greater detail below, has additional instructions stored thereon to be executed by controller <NUM> to cause client device <NUM> to instruct the GUI to additionally display troubleshooting instructions if Wi-Fi extender <NUM> does not onboard onto main APD <NUM> within the predetermined period of time.

Radio <NUM>, may include a WLAN interface radio transceiver that is operable to communicate with client devices <NUM> and with Wi-Fi extender <NUM> as shown in <FIG>. Radio <NUM> includes one or more antennas and communicates wirelessly via one or more of the <NUM> band, the <NUM> band, the <NUM> band, and the <NUM> band, or at the appropriate band and bandwidth to implement any IEEE <NUM> Wi-Fi protocols, such as the Wi-Fi <NUM>, <NUM>, <NUM>, or 6E protocols. Radio <NUM> can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE), or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, <NUM> bands, <NUM> bands, <NUM> bands or <NUM> bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE <NUM>. <NUM> protocol.

Display <NUM> may be any known device or system to display an image to the user.

In the event that a client device within a user's WLAN is not a client device similar to client device <NUM>, such a client device may still include: a controller, which can include a dedicated hardware circuitry such as a dedicated control circuit, CPU, microprocessor, etc., and that controls the circuits of the client device; a main memory, which has stored therein an onboarding program, that is similar to main memory <NUM> and onboarding program <NUM>, respectively, of client device <NUM> discussed above; a radio similar to radio <NUM> of mobile device <NUM> discussed above; in additional to further functional circuitry. Accordingly, any of the client devices may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with other client devices, with Wi-Fi extender <NUM> and with main APD <NUM>, as shown in <FIG>. Further, any of the client devices may include a radio that is similar to radio <NUM> of client device <NUM> discussed above. Still further, any of the client devices may be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE), or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, <NUM> bands, <NUM> bands, <NUM> bands or <NUM> bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE <NUM>. <NUM> protocol, in a manner similar to client device <NUM> discussed above.

<FIG> illustrates a GUI <NUM> at a time t<NUM> displayed on client device <NUM>, in accordance with aspects of the present disclosure.

As shown in the figure, <FIG> illustrates GUI <NUM>, being displayed on display <NUM> of client device <NUM>. On display <NUM> is icon <NUM>.

With reference to the example given above, user <NUM> is using client device <NUM> to begin this onboarding process. Referencing <FIG>, user <NUM> will see icon <NUM> on GUI <NUM>, which is displayed on display <NUM>. This icon indicates that the onboarding process has begun.

Returning to <FIG>, after onboarding GUI is displayed (S404), the backhaul settings are configured (S406). For example, main APD <NUM> sends a signal to Wi-Fi extender <NUM>. This will establish communication channel <NUM>, also known as a backhaul. Communication channel <NUM> is a dedicated backhaul between main APD <NUM> and Wi-Fi extender <NUM>, and communication channel <NUM> may be a wired or wireless communication channel. Client device <NUM> may provide user credentials associated with client device <NUM>, non-limiting examples of which include a user ID, a password, and SSID. Main APD <NUM> provides these credentials to Wi-Fi extender <NUM> by way of communication channel <NUM>.

Returning to <FIG>, after the backhaul settings are configured (S406), the extender is connected to the Wi-Fi network (S408). For example, once Wi-Fi extender <NUM> establishes communication channel <NUM>, a backhaul, with main APD <NUM>, then main APD <NUM> is able to connect Wi-Fi extender <NUM> to external network <NUM>. Wi-Fi extender <NUM> is connected to external network <NUM> by way of physical media/wiring <NUM>, through service provider server <NUM>, then up through communication channel <NUM>.

Returning to <FIG>, after the extender is connected to the Wi-Fi network (S408), a timer is started (S410). For example, as shown in <FIG>, once client device <NUM> is at the home screen, a timer is started. As shown in <FIG>, in an example embodiment, controller <NUM> starts and monitors the timer. This timer will continue for a predetermined period of time T to determine if the onboarding process has failed or not.

Returning to <FIG>, after the timer is started (S410), the onboarding GUI is removed (S412). This will be described in greater detail with reference to <FIG>.

<FIG> illustrates a GUI <NUM> at a time t<NUM> displayed on client device <NUM>.

As shown in the figure, <FIG> illustrates GUI <NUM>, being displayed on display <NUM> of client device <NUM>. On display <NUM> are icons <NUM>, <NUM>, and <NUM>.

Returning to the example above, once the timer has been started, icon <NUM> of <FIG> is removed from GUI <NUM>. User <NUM> is free to use client device <NUM> for regular activities, a non-limiting example of which is a phone call.

Returning to <FIG>, after the onbarding GUI is removed (S412), the home screen is launched (S414). For example, as shown in <FIG>, once Wi-Fi extender <NUM> is connected to external network <NUM>, client device <NUM> is able to leave the application and go to the home screen.

Returning to <FIG>, after the home screen is launched (S414), the topology is read (S416). For example, as shown in <FIG>, controller <NUM> of client device <NUM> may read the topology from HNC <NUM> in main APD <NUM>, wherein the topology is created using the host table within memory <NUM> of main APD <NUM> and other platform information.

Returning to <FIG>, after the topology is read (S416), it is determined whether the extender is present in the topology (S418). For example, client device <NUM> will determine if Wi-Fi extender <NUM> is present in the topology of residence <NUM>.

Returning to <FIG>, if it is determined that the extender is not present in the topology (N at S418), then the topology is read again (Return to S416). For example, client device will continue to loop through these steps until Wi-Fi extender <NUM> appears in the topology.

Returning to <FIG>, if it is determined that the extender is present in the topology (Y at S418), then the host table is read (S420). For example, main APD <NUM> will list on the host table all associated devices. Once Wi-Fi extender <NUM> has started onboarding onto main APD <NUM>, Wi-Fi extender <NUM> will be listed on the host table. Client device <NUM> reads the host table of main APD <NUM> to determine if Wi-Fi extender <NUM> is connected.

Returning to <FIG>, after the host table is read (S420), it is determined whether the extender is active consecutively twice in the host table (S422). For example, client device <NUM> will check the host table of main APD <NUM> to see if Wi-Fi extender <NUM> appears. After, client device <NUM> will repeat this process and check the host table again. This is done to ensure that Wi-Fi extender <NUM> is connected and that there are no problems.

Returning to <FIG>, if it is determined that the extender is not active consecutively twice in the host table (N at S422), it is determined if the timer is shorter than T minutes (S424). For example, if client device <NUM> discovers that Wi-Fi extender <NUM> has not appears consecutively twice in the host table check, then client device will check the timer.

Returning to <FIG>, if it is determined that the timer is not shorter than T minutes (N at S424), then display the extender failure and the troubleshoot indication (S426). For example, client device <NUM> will check the timer and determine if it is less than T minutes. A non-limiting example of T minutes is <NUM> minutes. If the timer has continued for over <NUM> minutes, then an icon will appear on display <NUM> of client device <NUM>, alerting user <NUM> of the onboarding failure. This will be discussed in greater detail with reference to <FIG>.

Returning to <FIG>, after displaying the extender failure and the troubleshoot indication (S426), then algorithm <NUM> stops (S432). For example, after user <NUM> is alerted of the onboarding failure of Wi-Fi extender <NUM>, algorithm <NUM> will end.

Returning to <FIG>, if it is determined that the timer is shorter than T minutes (Y at S424), then the host table is read again (Return to S420). For example, if T minutes is <NUM> minutes, and the timer has only been on for <NUM> minutes, then client device <NUM> will begin checking the host table for Wi-Fi extender <NUM> to appear consecutively twice.

Returning to <FIG>, after it is determined that the extender is active consecutively twice in the host table (Y at S422), then the timer is stopped (S428). For example, if client device <NUM> finds Wi-Fi extender <NUM> twice consecutively in the host table, then the timer can stop, as Wi-Fi extender <NUM> has successfully onboarded.

Returning to <FIG>, after the timer is stopped (S428), display that extender is successfully connected (S430). This will be described in greater detail with reference to <FIG>.

As shown in the figure, <FIG> illustrates GUI <NUM>, being displayed on display <NUM> of client device <NUM>. On display <NUM> are icons <NUM>, <NUM>, <NUM>, and <NUM>.

Returning to the example above, assume user <NUM> is using their phone to do a task, a non-limiting example of which is a phone call. Once Wi-Fi extender <NUM> is officially onboarded, a message will be relayed to user <NUM>. As shown in <FIG>, icon <NUM> appeared on display <NUM>, alerting user <NUM> that Wi-Fi extender <NUM> onboarded successfully.

In some embodiments, as described above, the onboarding process will fail. With reference to <FIG>, in such embodiments where onboarding fails, icon <NUM> would alert user <NUM> that the onboarding process has failed, not succeeded.

Returning to <FIG>, after displaying that extender successfully connected (S430), algorithm <NUM> ends (S432). For example, once user <NUM> receives the successful onboarding message, algorithm <NUM> stops.

In accordance with the present disclosure, a user will use a client device to onboard a new Wi-Fi extender. Initially, the Wi-Fi extender will connect to a main APD by a backhaul. During this process, the extender will be connected and disconnected periodically, due to the extender updating software. This process can take anywhere from <NUM> to <NUM> minutes. While this process is going on, the user is free to use their client device however they want as the onboarding process will be happening in the background, no longer preventing the user from using their client device. When the process is complete, the user will receive a notification alerting them of the onboarding process being a success of failure.

Thus, the present disclosure as disclosed prevents the user's client device from being affected by the long wait time of onboarding a new extender, and it alerts the user of the outcome of the onboarding process.

The operations disclosed herein may constitute algorithms that can be effected by software, applications (apps, or mobile apps), or computer programs. The software, applications, computer programs can be stored on a non-transitory computer-readable medium for causing a computer, such as the one or more processors, to execute the operations described herein and shown in the drawing figures.

Claim 1:
A client device (<NUM>) for use with a main access point device, APD (<NUM>), and an extender device (<NUM>), said client device (<NUM>) comprising:
a memory (<NUM>);
a graphic user interface, GUI; and
a processor (<NUM>) configured to execute instructions (<NUM>) stored on said memory (<NUM>) to cause said client device (<NUM>) to:
instruct the GUI to display an onboarding menu including a user selectable onboard extender icon;
instruct, by way of a second dedicated haul, the extender device (<NUM>) to onboard onto the main APD (<NUM>), by way of a first dedicated haul, in response to a user selection of the user selectable onboard extender icon;
instruct the GUI to enable the user to use the client device while the extender device (<NUM>) performs the onboarding onto the main APD (<NUM>);
access a host table stored in the main APD (<NUM>);
determine whether the extender device (<NUM>) onboards onto the main APD (<NUM>) within a predetermined period of time by identifying the extender device (<NUM>) on the host table in two consecutive instances within the predetermined period of time;
instruct the GUI to display a successful onboarding indication if the extender device (<NUM>) onboards onto the main APD (<NUM>) within the predetermined period of time; and
instruct the GUI to display a failure onboarding indication if the extender device (<NUM>) does not onboard onto the main APD (<NUM>) within the predetermined period of time.