WO2021237694A1 - Self-recovery from faulty ap service - Google Patents

Self-recovery from faulty ap service Download PDF

Info

Publication number
WO2021237694A1
WO2021237694A1 PCT/CN2020/093357 CN2020093357W WO2021237694A1 WO 2021237694 A1 WO2021237694 A1 WO 2021237694A1 CN 2020093357 W CN2020093357 W CN 2020093357W WO 2021237694 A1 WO2021237694 A1 WO 2021237694A1
Authority
WO
WIPO (PCT)
Prior art keywords
candidate list
client devices
response time
ping response
wireless client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2020/093357
Other languages
French (fr)
Inventor
Liang Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Enterprises LLC
Original Assignee
Arris Enterprises LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arris Enterprises LLC filed Critical Arris Enterprises LLC
Priority to PCT/CN2020/093357 priority Critical patent/WO2021237694A1/en
Publication of WO2021237694A1 publication Critical patent/WO2021237694A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Definitions

  • Embodiments of the present disclosure relate to Wi-Fi access point devices.
  • an access point device for use with a plurality of wireless client devices over a wireless local area network
  • the access point device comprising: a memory; a processor configured to execute instructions stored on the memory to cause the access point device to: create a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time; determine at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and reset the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  • the processor is further configured to cause the access point device to remove, from the candidate list, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  • the processor is further configured to cause the access point device to override the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  • the processor is further configured to cause the access point device to create a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determine at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and not resetting, for a predetermined period of time, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  • aspects of the present disclosure are drawn to a method of operating an access point device for use with a plurality of wireless client devices over a wireless local area network, the method comprising: creating, via a processor configured to execute instructions stored on a memory, a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time; determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  • the method is further comprised to remove from the candidate list, via the processor, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  • the method is further comprised to override, via the processor, the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  • the method is further comprised to create, via the processor, a second candidate list of each of the plurality of wireless client devices having a received signal strength indicator at a second time, respectively, that is greater than the received signal strength indicator threshold; determining, via the processor, at least one of an second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  • aspects of the present disclosure are drawn to a non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by an access point device for use with a plurality of wireless client devices over a wireless local area network, wherein the computer-readable instructions are capable of instructing the access point device to perform the method comprising: creating, via a processor configured to execute instructions stored on a memory, a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable
  • the computer-readable instructions are capable of instructing the access point device to perform the method further comprising removing from the candidate list, via the processor, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  • the computer-readable instructions are capable of instructing the access point device to perform the method further comprising overriding, via the processor, the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  • the computer-readable instructions are capable of instructing the access point device to perform the method further comprising: creating, via the processor, a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determining, via the processor, at least one of an second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  • FIG. 1 illustrates structural components implementing an electronic communication network
  • FIG. 2 illustrates an exploded view of a gateway device, an access point device (APD) , and a client device of FIG. 1;
  • APD access point device
  • FIG. 3A illustrates a communication system at time t 1 ;
  • FIG. 3B illustrates communication system of FIG. 3A at time t 2 ;
  • FIG. 4 illustrates a communication system in accordance with aspects of the present disclosure
  • FIG. 5 illustrates an example method for determining whether a wireless access point is faulty, in accordance with aspects of the present disclosure
  • FIG. 6 illustrates an exploded view of a gateway device, an APD, and a client device of FIG. 4;
  • FIG. 7 illustrates a table having a column that lists example clients and a column that lists corresponding received signal strength indicator (RSSI) values;
  • RSSI received signal strength indicator
  • FIG. 8A illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values
  • FIG. 8B illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values
  • FIG. 8C illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values
  • FIG. 9A illustrates a table having a column that lists example clients with an average ping response time that is below the acceptable ping threshold and a column that lists the corresponding ping response times;
  • FIG. 9B illustrates a table having a column that lists example clients with an average ping response time that is above the acceptable ping threshold and a column that lists the corresponding ping response times;
  • FIG. 10 illustrates an example method for determining if a wireless access point is faulty, in accordance with aspects of the present disclosure.
  • Access point devices are used within wireless local area networks (WLANs) to connect client devices to networks and services outside the WLANs.
  • WLANs wireless local area networks
  • a defective APD can prevent a user from connecting to a network or service outside of a WLAN.
  • FIG. 1 illustrates structural components implementing an electronic communication network 100, which includes: a gateway device 102; a plurality of client devices, a sample of which are illustrated as a client device 104 and a client device 108; a plurality of access point devices (APDs) , a sample of which is illustrated as an APD 106, an APD 112, and an APD 114; a mobile device 110; a communication channel 115; a service provider 116; an external network 124, e.g., the Internet; and a wireless local area network (WLAN) 128.
  • WLAN wireless local area network
  • a gateway device 102 also referred to as a gateway, residential gateway, or RG, 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 or business of a user.
  • the terms home and premises may be used synonymously herein.
  • a gateway device such as gateway device 102 or a gateway device 318 as will be discussed below, is configured to additionally perform functions of a APD.
  • Gateway device 102 may be any device or system that is operable to allow data to flow from one discrete network to another, which in this example is from WLAN 128 in FIG. 1 to external network 124, e.g., the Internet, via service provider 116.
  • Gateway device 102 may perform such functions as inroute bandwidth allocation and load balancing, outroute prioritization, 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.
  • 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)
  • Gateway device 102 establishes, or is part of, WLAN 128, using Wi-Fi for example, such that client devices 104, 108, mobile device 110, and APDs 106, 112, and 114 are able to communicate wirelessly with gateway device 102.
  • gateway device 102 is able to communicate wirelessly directly with client device 104, mobile device 110, and APDs 106 and 112.
  • gateway device 102 is able to communicate wirelessly with APD 114 via APD 112 and is able to communicate wirelessly with client device 108 via APD 112 and APD 114.
  • Wi-Fi as used herein may be considered to refer to any of Wi-Fi 4, 5, 6, 6E, or any variation thereof.
  • gateway device 102 is able to communicate with external network, e.g., the Internet124, via service provider 116.
  • Service provider 116 includes head-end equipment such as server computers (e.g., automatic configuration server ACS) 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) through communication channel 115 between gateway device 102 and external network 124.
  • server computers e.g., automatic configuration server ACS
  • a content provider such as a cable television provider, a satellite television provider, an internet service provider, or multiple-systems operator (MSO)
  • MSO multiple-systems operator
  • Communication channel 115 may be physical media/wiring, such as a coaxial network, an optical fiber network, and/or DSL, or wireless network, such as a satellite or terrestrial antenna implemented network or a combination of any of these examples or their equivalents.
  • the data communicated on communication channel can be implemented using a variety of protocols on a network such as 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) or 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 2G, 3G, 4G or 5G network, for example.
  • WAN wide area network
  • VPN virtual private network
  • MANs metropolitan area networks
  • SANs system area networks
  • Gateway device 102 serves as a gateway or access point to service provider 116 and eventually to external network 124, e.g., the Internet (or otherwise as mentioned above) , for one or more electronic devices, referred to generally herein as client devices 104 and 108 and mobile device 110 that wirelessly communicate with gateway device 102 via, e.g., Wi-Fi.
  • client devices 104 and 108 and mobile device 110 can be desk top computers, laptop computers, electronic tablet devices, smart phones, appliances, or any other so-called internet of things equipped devices that are equipped to communicate information via WLAN 128.
  • APDs 106, 112, and 114 can be paired with gateway device 102 in order to communicate wirelessly with gateway device 102 and extend the coverage area of WLAN 128. Any of the client devices 104 and 108 and mobile device 110 can be in communication with gateway device 102 or any of APDs 106, 112, and 114.
  • Gateway device 102 has the capability of wirelessly communicating with plural electronic user devices over respective communication avenues.
  • one or more APDs may be added, such as for example any of APDs 106, 112, and 114.
  • the establishment of the operative communications between APD 112 and gateway device 102 (or between APD 114 and an already established APD 112) is referred to as onboarding the extender.
  • the APDs 106, 112, and 114 can communicate wirelessly with gateway device 102.
  • a dedicated avenue of communication may be established, at least at some times, between the APD and gateway device 102. This dedicated avenue is referred to as a backhaul.
  • a station (abbreviated as STA) is a device that has the capability to use the 802.11 protocol.
  • STA may be fixed, mobile or portable.
  • 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 802.11-2012 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) .
  • MAC medium access control
  • PHY physical layer
  • a wireless access point 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 is an identification (in IEEE 802.11) 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 32 bytes, and can be in a natural language, such as English.
  • gateway device 102 access points 106, 112 and 114 are access points for WLAN 128.
  • gateway device 102 APD 112
  • client device 108 A more detailed description of gateway device 102, APD 112, and client device 108 will now be described with reference to FIG. 2.
  • FIG. 2 illustrates an exploded view of gateway device 102, APD 112, and client device 108 of FIG. 1.
  • gateway device 102 includes: a controller 202; a memory 204, which has stored therein stored data 206; at least one radio, a sample of which is illustrated as a radio 208; and an interface circuit 212.
  • controller 202, memory 204, radio 208, and interface circuit 212 are illustrated as individual devices. However, in some embodiments, at least two of controller 202, memory 204, radio 208, and interface circuit 212 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 202, memory 204, radio 208, and interface circuit 212 may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller 202, memory 204 and interface circuit 212 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 includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc.
  • Combinations of the above are also included within the scope of computer-readable media.
  • a network or another communications connection either hardwired, wireless, or a combination of hardwired or wireless
  • the computer may properly view the connection as a computer-readable medium.
  • any such connection may be properly termed a computer-readable medium.
  • Combinations of the above should also be included within the scope of computer-readable media.
  • 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.
  • 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.
  • the processor and the tangible computer-readable media may reside as discrete components.
  • Example tangible computer-readable media may be also be 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.
  • program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
  • 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.
  • bus 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 202 can include a dedicated control circuit, CPU, microprocessor, etc. Controller 202 controls the circuits of gateway device 102.
  • Memory 204 can store various programming, and user content, and data.
  • Interface circuit 212 can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas.
  • Interface circuit 212 receives content from service provider 116 (as shown in FIG. 1) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above.
  • gateway device 102 receives an input signal, including data and/or audio/video content, from service provider 116 and can send data to service provider 116.
  • Radio 208 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 devices 104 and 108, with mobile device 110 and with APDs 106, 112, and 114.
  • Radio 208 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols.
  • Gateway device 102 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz.
  • at least one of the radios can be a radio meeting a Radio Frequency For Consumer Electronics (RF4CE) protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
  • RF4CE Radio Frequency For Consumer Electronics
  • APD 112 includes: a controller 214; a memory 216, which has stored therein stored data 218; and at least one radio, a sample of which is illustrated as a radio 220. It should be noted that additional APDs, including APD 106 and APD 114, have similar structure and operation to that of APD 112.
  • controller 214, memory 216 and radio 220 are illustrated as individual devices. However, in some embodiments, at least two of controller 214, memory 216 and radio 220 may be combined as a unitary device. Further, in some embodiments, at least one of controller 214 and memory 216 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Radio 220 such as a Wi-Fi WLAN interface radio transceiver, is operable to communicate with client devices 104 and 108, with mobile device 110 and with gateway device 102, as shown in FIG. 1.
  • Radio 220 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols.
  • APD 112 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz.
  • a radio can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
  • Client device 108 includes: a controller 222; a memory 224, which has stored therein stored data 226; and at least one radio, a sample of which is illustrated as a radio 228; an interface 230 and a display 232.
  • controller 222, memory 224, radio 228, interface 230 and display 232 are illustrated as individual devices. However, in some embodiments, at least two of controller 222, memory 224, radio 228, interface 230 and display 232 may be combined as a unitary device. Further, in some embodiments, at least one of controller 222 and memory 224 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Controller 222 which can include a dedicated control circuit, CPU, microprocessor, etc., controls the circuits of client device 108.
  • Memory 224 can store various programming, and user content, and data.
  • Radio 228, may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with client devices 104 and 108, with APDs 106, 112, and 114 and with gateway device 102, as shown in FIG. 1.
  • Radio 228 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols.
  • Client device 108 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz.
  • a radio can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
  • any of the client devices within WLAN 128 may be a mobile device similar to client device 108.
  • a client device within WLAN 128 may still include: a controller, which can include a dedicated control circuit, CPU, microprocessor, etc., and that controls the circuits of the client device; a memory, which has stored therein an onboarding program, that is similar to memory 224 and stored data 226, respectively, of client device 108 discussed above; a radio similar to radio 228 of client device 1080 discussed above; in additional to further functional circuitry.
  • any of the client devices may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with other client devices, with APDs 106, 112 and 114 and with gateway device 102, as shown in FIG. 1.
  • any of the client devices may include a radio that is similar to radio 228 of client device 108 discussed above.
  • any of the client devices may be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, or with a radio meeting RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band, in a manner similar to client device 108 discussed above.
  • gateway device 102 provides connection to service provider 116, such as an MSO
  • gateway device 102 can be equipped with connectors to connect with a television or display device, and can also include programming to execute an electronic program guide and/or other suitable graphical user interface (GUI) , and can with such configuration be referred to as a so called set top box.
  • GUI graphical user interface
  • Such a set top box can be included in the system shown in FIG. 1 as gateway device 102 or in addition thereto.
  • gateway device can enable the gateway device to be a so called smart media device.
  • far-field microphones for e.g., voice command and/or presence recognition, and/or telephone communication
  • cameras for e.g., gesture and/or presence recognition, and/or video telephone communication
  • speakers and associated programming
  • client device 108 in order for client device 108 to connect to service provider 116, client device 108 has to connect to APD 114, APD 112, gateway device 102, and external network 124. If there is a failure in APD 114 or APD 112 or gateway device 102 or external network 124, then client device 108 will not be able to connect to service provider 116. For purposes of this discussion, it will be assumed that APD 112 is defective, but APD 114, gateway device 102 and external network 124 are not defective.
  • client device 108 If APD 112 is defective, client device 108 will not be able to connect to gateway device 102, and as a result, the user of client device 108 will not be able to connect to service provider 116 or external network 124.
  • FIGs. 3A-B illustrate structural components of a communication system 300 consisting of a WLAN containing several client devices that connect to an outside network through an access point device.
  • Communication system 300 is illustrated at time t 1 in FIG. 3A and at time t 2 in FIG. 3B.
  • FIG 3A illustrates a communication system 300 at time t 1 .
  • communication system 300 includes a gateway device 318, APD 112, a client device 304, a client device 306, a client device 308, a client device 310, a client device 312, a client device 314, a client device 316, a wireless local area network (WLAN) 302, service provider 116, and external network 124.
  • WLAN wireless local area network
  • Gateway device 318 is arranged to communicate with APD 112 and service provider 116 by way of external network 124.
  • APD 112 is additionally arranged to communicate with client device 304, client device 306, client device 308, client device 310, client device 312, client device 314, and client device 316.
  • a user may attempt to connect one or more client devices, (indicated by client device 304, 306, 308, 310, 312, 314, and/or 316) to external network 124 by way of access point 112, gateway device 318, and service provider 116 outside of WLAN 302.
  • client device 304, 306, 308, 310, 312, 314, and/or 316 The connection between client device 304, 306, 308, 310, 312, 314, and/or 316 to APD 112 is successful at time t 1 as indicated by the solid arrows between client device 304, 306, 308, 310, 312, 314, and/or 316 to APD 112. Assuming that all other connections are successful, as indicated by the solid arrows in FIG.
  • the user is able to successfully connect client device 304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 1 .
  • client device 304 the user is able to successfully connect client device 304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 1 .
  • service provider 116 the user is able to successfully connect client device 304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 1 .
  • APD 112 APD 112.
  • FIG 3B illustrates communication system 300 of FIG. 3A at time t 2 .
  • a user may attempt to connect one or more client devices, (indicated by client device 304, 306, 308, 310, 312, 314, and/or 316) to external network 124 by way of access point 112, gateway device 318, and service provider 116 outside of WLAN 302.
  • client device 304, 306, 308, 310, 312, 314, and/or 316 The connection between client device 304, 306, 308, 310, 312, 314, and/or 316 to APD 112 is not successful at time t 2 as indicated by the broken arrows between client device 304, 306, 308, 310, 312, 314, and/or 316 to APD 112.
  • this lack of connection be due to APD 112 being defective, as indicated by the broken border of APD 112 in FIG 3B.
  • client device 304 As a result, the user is not able to connect client device 304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 2 .
  • client device 304, 306, 308, 310, 312, 314, and/or 316 are defective, which prevents connection.
  • the company operating service provider 116 would need to send a technician to the residence (or office) that houses APD 112 so that the technician may run diagnostics on APD 112.
  • What is needed is a system and method for determining whether or not an APD is faulty without a need to send a technician to the APD to run diagnostics.
  • a system and method in accordance with the present disclosure determines whether or not an APD is faulty, thereby eliminating the need to send a technician to the APD.
  • the APD when a user is attempting to connect to a service provider outside the WLAN, if there is a problem connecting to the APD, first the APD selects some of the client devices in the WLAN with the strongest signals. Then the APD determines either the average ping response time or the lowest ping response time for those selected client devices, depending on how a system in accordance with the present disclosure is implemented. Then, if the APD determines that the average ping response time or the lowest ping response time is too long, the APD resets itself. After the APD resets itself, this process stops.
  • a ping is a signal sent to client device that requests a response. It serves two primary purposes: 1) to check if the client device is available and 2) to measure how long the response takes, i.e., the ping response time.
  • a ping request can be performed using a ping command, which is a standard command in most command line interfaces.
  • a ping command which is a standard command in most command line interfaces.
  • the APD checks the strength of the client device signals again. If any of those client signals are too weak, the APD changes the group of clients that it is monitoring and restarts the process of checking the ping response time of the signals of those client devices. If those client device signals are not too weak, the APD checks the average ping response time or lowest ping response time of those selected client devices.
  • the present disclosure provides an improved networking experience because it provides an efficient way to reset a faulty APD device without the user having to reset it manually.
  • FIG. 4 illustrates a communication system 400 in accordance with aspects of the present disclosure.
  • communication system 400 includes a gateway device 404, an APD 406, client device 304, client device 306, client device 308, client device 310, client device 312, client device 314, client device 316, a WLAN 402, service provider 116, and external network 124.
  • Gateway device 404 is arranged to communicate with APD 406 and external network 124 by way of service provider 116.
  • APD 406 is additionally arranged to communicate with client device 304, client device 306, client device 308, client device 310, client device 312, client device 314, and client device 316.
  • FIG. 5 illustrates an example algorithm 500 to be executed by a processor for determining whether a wireless access point is faulty, in accordance with aspects of the present disclosure.
  • algorithm 500 starts (S502) , and the received signal strength indicators (RSSIs) are found (S504) .
  • RSSIs received signal strength indicators
  • APD 406 determines the RSSI’s. This will be described in greater detail with reference to FIG. 6.
  • APD 406 will receive packets from each of client devices 304, 306, 308, 310, 312, 314, and 316, and it will determine the RSSI for each received packet.
  • FIG. 6 illustrates an exploded view of gateway device 404, APD 406, and client device 304 of FIG. 4.
  • gateway device 404 includes: a controller 602; a memory 604, which has stored therein stored data 620; at least one radio, a sample of which is illustrated as radio 208; and interface circuit 212.
  • controller 602, memory 604, radio 208, and interface circuit 212 are illustrated as individual devices. However, in some embodiments, at least two of controller 602, memory 604, radio 208, and interface circuit 212 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 602, memory 604, radio 208, and interface circuit 212 may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller 602, memory 604 and interface circuit 212 may be implemented as a computer having non- transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Controller 602 can include a dedicated control circuit, CPU, microprocessor, etc. Controller 602 controls the circuits of gateway device 404.
  • Memory 604 can store various programming, and user content, and data.
  • Interface circuit 212 can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas.
  • Interface circuit 212 receives content from service provider 116 (as shown in FIG. 4) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above.
  • gateway device 404 receives an input signal, including data and/or audio/video content, from service provider 116 and can send data to service provider 116.
  • Radio 208 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 devices 304, 306, 308, 310, 312, 314, and 316 and with access point 406.
  • Radio 208 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols.
  • Gateway device 404 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz.
  • at least one of the radios can be a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
  • APD 406 includes: a controller 606; a memory 608, which has stored therein stored data 630; and at least one radio, a sample of which is illustrated as a radio 220. It should be noted that additional APDs have similar structure and operation to that of APD 406.
  • controller 606, memory 608 and radio 220 are illustrated as individual devices. However, in some embodiments, at least two of controller 606, memory 608 and radio 220 may be combined as a unitary device. Further, in some embodiments, at least one of controller 606 and memory 608 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Controller 606 which can include a dedicated control circuit, CPU, microprocessor, etc., controls the circuits of APD 406.
  • Memory 608 can store various programming, and user content, and data as stored data 630.
  • stored data 630 includes instructions that may be used by controller 606 to cause APD 406 to create a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time.
  • Stored data 630 additionally includes instructions that may be used by controller 606 to cause APD 406 to determine at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list.
  • Stored data 630 additionally includes instructions that may be used by controller 606 to reset APD 406 when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  • stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to remove, from the candidate list, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  • stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to override the resetting of APD 406 when a utilization of WLAN 402 is greater than a predetermined utilization threshold.
  • stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to create a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time.
  • Stored data 630 additionally includes instructions that may be used by controller 606 to cause APD 406 to determine at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list.
  • Stored data 630 additionally includes instructions that may be used by controller 606 to reset APD 406, for a predetermined period of time, based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  • Radio 220 such as a Wi-Fi WLAN interface radio transceiver, is operable to communicate with client devices 304, 306, 308, 310, 312, and 314 and with gateway device 404, as shown in FIG. 4.
  • Radio 220 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols.
  • APD 406 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz.
  • at least one of the radios can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
  • gateway device 404 provides connection to service provider 116, such as an MSO
  • gateway device 404 can be equipped with connectors to connect with a television or display device, and can also include programming to execute an electronic program guide and/or other suitable GUI, and can with such configuration be referred to as a so called set top box.
  • Such a set top box can be included in the system shown in FIG. 4 as gateway device 404 or in addition thereto.
  • gateway device can enable the gateway device to be a so called smart media device.
  • far-field microphones for e.g., voice command and/or presence recognition, and/or telephone communication
  • cameras for e.g., gesture and/or presence recognition, and/or video telephone communication
  • speakers and associated programming
  • RSSIs are often determined in the intermediate frequency (IF) stage before the IF amplifier. In zero-IF systems, RSSI's are derived in the baseband signal chain, before the baseband amplifier. RSSI values are often a DC analog level. They can also be sampled by an internal analog-to-digital converter (ADC) and the resulting codes available directly or via peripheral or internal processor bus.
  • ADC analog-to-digital converter
  • the RSSI values may be stored in any known manner. An example of gathered RSSI values will now be described with reference to FIG. 7.
  • FIG. 7 illustrates a table 700 having a column 702 that lists example clients and a column 704 that lists corresponding RSSI values. For example, in table 700, the following RSSI values are gathered.
  • Client 304 has value –35 dB.
  • Client 306 has value –37 dB.
  • Client 308 has value –75 dB.
  • Client 310 has value –60 dB.
  • Client 312 has value –72 dB.
  • Client 316 has value –58 dB.
  • a candidate list is created (S506) .
  • APD 406 creates a candidate list. This will be described in greater detail with respect to FIGs. 8A-C.
  • the candidate list values may be stored in any known manner.
  • An example of gathered RSSI values for the clients on the candidate list will now be described with reference to FIG. 8A-C.
  • FIG. 8A illustrates a table 800 having a column 802 that lists example clients on a candidate list and a column 804 that lists corresponding RSSI values.
  • the RSSI threshold for determining a candidate list was set by controller 606 to be -70 dB.
  • clients 304, 306, 310, and 316 are candidates.
  • client 308, as shown in FIG. 7, had an RSSI of -75 dB, which is less than the RSSI threshold of -60 dB as set by controller 606 for purposes of this example. Therefore, client 308 is not on the candidate list in table 800 in FIG. 8A.
  • client 312 had an RSSI value of -72 dB, which is less than the RSSI threshold of -60 dB as set by controller 606 for purposes of this example. Therefore, client 312 is also not on the candidate list in table 800 of FIG. 8A.
  • the average ping response time for the candidate list is found (S508) .
  • APD 406 finds the average ping response time of the clients on the candidate list. This will be described in greater detail with respect to FIG. 9A.
  • the ping response time values may be stored in any known manner. An example of gathered ping response time values that are below the acceptable ping threshold will now be described with reference to FIG. 9A.
  • FIG. 9A illustrates a table 900 having a column 902 that lists example clients with an average ping response time that is below the acceptable ping threshold and a column 904 that lists the corresponding ping response times.
  • the acceptable ping threshold was set by controller 606 to be 10 ms.
  • client 304 has a ping response time of 4.34 ms.
  • Client 306 has a ping response time of 7.69 ms.
  • Client 310 has a ping response time of 2.02 ms.
  • Client 316 has a ping response time of 9.19 ms.
  • the average ping response time for the clients in table 900 is 5.81 ms.
  • APD 406 determines whether or not the average ping response time is greater than an acceptable ping threshold. This will be described in greater detail with respect to FIG. 9B.
  • the ping response time values may be stored in any known manner. An example of gathered ping response time values that are above the acceptable ping threshold will now be described with reference to FIG. 9B.
  • FIG. 9B illustrates a table 920 having a column 922 that lists example clients with an average ping response time that is above an acceptable ping threshold and a column 924 that lists the corresponding ping response times.
  • the acceptable ping threshold was set by controller 606 to be 10 ms.
  • client 304 has a ping response time of 400.34 ms.
  • Client 306 has a ping response time of 549.32 ms.
  • Client 310 has a ping response time of 99.70 ms.
  • Client 316 has a ping response time of 34.44 ms.
  • the average ping response time for the clients in table 920 is 290.75 ms. Therefore, APD 406 would determine that the average ping response time at 290.75 ms is greater than the acceptable ping response threshold of 10 ms.
  • the average ping response time is used to decide whether or not the APD needs to be reset. If the average ping response time is greater than the acceptable ping threshold, the APD will be determined to be faulty and will be automatically reset. If the average ping response time is not greater than the acceptable ping threshold, then the APD is determined not to be faulty. This will be described in greater detail with respect to FIGs. 9A-B.
  • the APD is reset (S518) if it is determined that the average ping response time is greater than the acceptable ping threshold. For example, if the average ping response time is greater than the acceptable ping threshold, APD 406 is reset. This will be described in greater detail with respect to FIG. 9B.
  • FIG. 9B illustrates a table 920 having a column 922 that lists example clients with an average ping response time of 290.75 ms which is above 10 ms. Therefore, under the conditions of FIG. 9B, APD 406 would be reset.
  • algorithm 500 stops (S520) .
  • algorithm 500 stops.
  • table 900 For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms.
  • the average ping response time for the clients in FIG. 9A, table 900 is 5.81 ms.
  • table 900, APD 406 would find candidate RSSIs.
  • a second RSSI threshold is used to determine whether or not the candidate list needs to be modified. Candidates with only minor fluctuations in RSSI value are retained on the list. Candidates with major fluctuations in RSSI value are removed, and a second candidate list is created. This will be described in greater detail with respect to FIGs. 5, 8B, and 8C.
  • a second candidate list is created (S516) . For example, if APD 406 determines that any of the candidate RSSI’s are less than a second RSSI threshold, then APD 406 creates a second candidate list. This will be described in greater detail with respect to FIG. 8B.
  • FIG. 8B illustrates a table 820 having a column 822 that lists example clients on a candidate list and a column 824 that lists corresponding RSSI values.
  • a -63 dB acceptable average RSSI value is slightly lower than the initial acceptable average RSSI value of -60 dB set previously (S504) .
  • this slightly lower acceptable average RSSI value takes into account minor variations in signal noise that an APD may encounter during normal operations but does not account for larger drops in signal noise that might reflect a faulty operational APD.
  • table 820, client 310 is determined to have an RSSI value of -90 dB.
  • the RSSI value of client 310 is significantly lower than the second RSSI threshold of -63 dB. Therefore, under the conditions presented in FIG. 8B, table 820, APD 406 would create a second candidate list by removing client 310 from the candidate list created previously (S504) . This will be described in greater detail with respect to FIG. 8C.
  • FIG. 8C illustrates a table 840 having a column 842 that lists example clients on an updated candidate list and a column 844 that lists corresponding RSSI values.
  • the RSSI value of client 310 has been removed.
  • FIG. 10 illustrates an example algorithm 1000 to be executed by a processor for determining if a wireless access point is faulty.
  • algorithm 1000 starts (S502) , and the RSSIs are found (S504) .
  • APD 406 determines the RSSI’s.
  • a candidate list is created (S506) .
  • APD 406 creates a candidate list.
  • the lowest ping response time for the candidate list is found (S1008) .
  • APD 406 finds the lowest ping response time of the clients on the candidate list. This will be described in greater detail with respect to FIG. 9A.
  • the ping response time values may be stored in any known manner.
  • An example of gathered ping response time values that are collected from the clients on the previously established candidate list (S506) will now be described with reference to FIG. 9A.
  • FIG. 9A illustrates a table 900 having a column 902 that lists example clients with various ping response times.
  • client 304 has a ping response time of 4.34 ms.
  • Client 306 has a ping response time of 7.69 ms.
  • Client 310 has a ping response time of 2.02 ms.
  • Client 316 has a ping response time of 9.19 ms.
  • the lowest ping response time for the clients in table 900 is the ping response of client 310, which is 2.02 ms.
  • the lowest ping response time for the candidate list is found (S1008) , it is determined whether the lowest ping response time is greater than an acceptable ping threshold (S1010) .
  • APD 406 determines whether or not the best ping response time is greater than an acceptable ping threshold. This will be described in greater detail with respect to FIG. 9B.
  • the ping response time values may be stored in any known manner.
  • An example of gathered ping response time values that are collected from the clients on the previously established candidate list (S506) will now be described with reference to FIG. 9B.
  • FIG. 9B illustrates a table 920 having a column 922 that lists example clients and a column 924 that lists the corresponding ping response times.
  • the acceptable ping threshold was set by controller 606 to be 10 ms.
  • client 316 with a ping response time of 34.44 ms, has the lowest ping response time of all the clients in table 920.
  • 34.44 ms is greater than the ping response threshold of 10 ms.
  • the lowest ping response time is used to decide whether or not the APD needs to be reset.
  • the theory of this embodiment being that if a ping response time of at least one client is lower than the acceptable ping response time threshold, then at least one client is successfully communicating with the APD. Therefore, the APD need not be reset. However if no client has a ping response time that is lower than the acceptable ping response time threshold, then no clients are successfully communicating with the APD. In such a case, the APD needs to be reset.
  • a simple method therefore to test whether the APD needs to be reset is by first determining whether the lowest ping response time of all the clients is lower than the acceptable ping response time threshold.
  • the APD is reset (S518) if it is determined that the lowest ping response time is greater than the acceptable ping threshold, (Y at S1010) .
  • the APD is reset (S518) if the lowest ping response time is greater than the acceptable ping threshold.
  • APD 406 is reset. This operation may be performed in a manner as discussed above with reference to FIG. 9B.
  • the acceptable ping threshold was set by controller 606 to be 10 ms.
  • client 316 with a ping response time of 34.44 ms, has the lowest ping response time of all of the clients in table 920. Since 34.44 ms is greater than the ping response threshold of 10 ms, under the conditions of FIG. 9B, APD 406 would be reset.
  • algorithm 1000 stops (S520) .
  • the APD is determined to be not faulty, and candidate RSSI’s are found (S512) .
  • the APD is determined to be not faulty, and candidate RSSI’s are found (S512) .
  • the APD is determined not to be faulty and the candidate RSSIs are found. For example, if the lowest ping response time is not greater than the acceptable ping threshold, then APD 406 finds candidate RSSI’s. This operation may be performed in a manner as discussed above with reference to FIG. 9A.
  • the acceptable ping threshold was set by controller 606 to be 10 ms.
  • client 310 with a ping response time of 2.02 ms, has the lowest ping response time for the clients in table 900.
  • APD 406 would find candidate RSSIs.
  • a second candidate list is created (S516) . This operation may be performed in a manner as discussed above with reference to FIG. 5.
  • an operating service provider would send a technician to the residence (or office) that houses the APD that the technician may run diagnostics on the APD. This is inconvenient for the operating service provider and is inconvenient (and expensive) for the end user.
  • a system and method in accordance with the present disclosure determines whether or not an APD and may reset the APD, thereby eliminating the need to send a technician to the APD.
  • the APD may automatically diagnose itself and reset if needed. First the APD selects some of the client devices in the WLAN with the strongest signals.Then the APD determines either the average ping response time or the lowest ping response time for those selected client devices, depending on how a system in accordance with the present disclosure is implemented. Then, if the APD determines that the average ping response time or the lowest ping response time is too long, the APD resets itself.
  • the self-diagnostic process, and self-reset eliminates the need of a technician, which is more convenient and more cost effective for an end user.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A system and a method are provided for use with wireless candidate devices connected to an access point device on wireless local area network. The access point device is configured to create a candidate list consisting of the wireless client devices within the wireless local area network with received signal strength indicators that are greater than a first received signal strength indicator threshold, to determine either the average ping response time or the lowest ping response time for the client devices on the candidate list, and to reset itself when either the average ping response time or the lowest ping response time is greater than an acceptable ping threshold.

Description

SELF-RECOVERY FROM FAULTY AP SERVICE BACKGROUND
Embodiments of the present disclosure relate to Wi-Fi access point devices.
SUMMARY
Aspects of the present disclosure are drawn to an access point device for use with a plurality of wireless client devices over a wireless local area network, the access point device comprising: a memory; a processor configured to execute instructions stored on the memory to cause the access point device to: create a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time; determine at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and reset the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
In some embodiments, the processor is further configured to cause the access point device to remove, from the candidate list, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
In some embodiments, the processor is further configured to cause the access point device to override the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
In some embodiments, the processor is further configured to cause the access point device to create a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determine at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a  lowest ping response time for the plurality of wireless client devices on the second candidate list; and not resetting, for a predetermined period of time, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
Aspects of the present disclosure are drawn to a method of operating an access point device for use with a plurality of wireless client devices over a wireless local area network, the method comprising: creating, via a processor configured to execute instructions stored on a memory, a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time; determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
In some embodiments, the method is further comprised to remove from the candidate list, via the processor, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
In some embodiments, the method is further comprised to override, via the processor, the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
In some embodiments, the method is further comprised to create, via the processor, a second candidate list of each of the plurality of wireless client devices having a received signal strength indicator at a second time, respectively, that is greater than the received signal strength indicator threshold; determining, via the processor, at least one of an second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second  candidate list; and not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
Aspects of the present disclosure are drawn to a non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by an access point device for use with a plurality of wireless client devices over a wireless local area network, wherein the computer-readable instructions are capable of instructing the access point device to perform the method comprising: creating, via a processor configured to execute instructions stored on a memory, a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
In some embodiments, the computer-readable instructions are capable of instructing the access point device to perform the method further comprising removing from the candidate list, via the processor, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
In some embodiments, the computer-readable instructions are capable of instructing the access point device to perform the method further comprising overriding, via the processor, the resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
In some embodiments, the computer-readable instructions are capable of instructing the access point device to perform the method further comprising: creating, via the processor,  a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time; determining, via the processor, at least one of an second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
BRIEF SUMMARY OF THE DRAWINGS
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 present disclosure. In the drawings:
FIG. 1 illustrates structural components implementing an electronic communication network;
FIG. 2 illustrates an exploded view of a gateway device, an access point device (APD) , and a client device of FIG. 1;
FIG. 3A illustrates a communication system at time t 1;
FIG. 3B illustrates communication system of FIG. 3A at time t 2;
FIG. 4 illustrates a communication system in accordance with aspects of the present disclosure;
FIG. 5 illustrates an example method for determining whether a wireless access point is faulty, in accordance with aspects of the present disclosure;
FIG. 6 illustrates an exploded view of a gateway device, an APD, and a client device of FIG. 4;
FIG. 7 illustrates a table having a column that lists example clients and a column that lists corresponding received signal strength indicator (RSSI) values;
FIG. 8A illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values;
FIG. 8B illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values;
FIG. 8C illustrates a table having a column that lists example clients on a candidate list and a column that lists corresponding RSSI values;
FIG. 9A illustrates a table having a column that lists example clients with an average ping response time that is below the acceptable ping threshold and a column that lists the corresponding ping response times;
FIG. 9B illustrates a table having a column that lists example clients with an average ping response time that is above the acceptable ping threshold and a column that lists the corresponding ping response times; and
FIG. 10 illustrates an example method for determining if a wireless access point is faulty, in accordance with aspects of the present disclosure.
DETAILED DESCRIPTION
Access point devices (APDs) are used within wireless local area networks (WLANs) to connect client devices to networks and services outside the WLANs. A defective APD can prevent a user from connecting to a network or service outside of a WLAN.
FIG. 1 illustrates structural components implementing an electronic communication network 100, which includes: a gateway device 102; a plurality of client devices, a sample of which are illustrated as a client device 104 and a client device 108; a plurality of access point devices (APDs) , a sample of which is illustrated as an APD 106, an APD 112, and an APD 114; a mobile device 110; a communication channel 115; a service provider 116; an external network 124, e.g., the Internet; and a wireless local area network (WLAN) 128.
gateway device 102, also referred to as a gateway, residential gateway, or RG, 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 or business of a user. The terms home and premises may be used synonymously herein. Further, as  discussed herein, a gateway device, such as gateway device 102 or a gateway device 318 as will be discussed below, is configured to additionally perform functions of a APD.
Gateway device 102 may be any device or system that is operable to allow data to flow from one discrete network to another, which in this example is from WLAN 128 in FIG. 1 to external network 124, e.g., the Internet, via service provider 116. Gateway device 102 may perform such functions as inroute bandwidth allocation and load balancing, outroute prioritization, 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.
Gateway device 102 establishes, or is part of, WLAN 128, using Wi-Fi for example, such that  client devices  104, 108, mobile device 110, and  APDs  106, 112, and 114 are able to communicate wirelessly with gateway device 102. In particular, gateway device 102 is able to communicate wirelessly directly with client device 104, mobile device 110, and APDs 106 and 112. Further, gateway device 102 is able to communicate wirelessly with APD 114 via APD 112 and is able to communicate wirelessly with client device 108 via APD 112 and APD 114. The term Wi-Fi as used herein may be considered to refer to any of Wi-Fi 4, 5, 6, 6E, or any variation thereof.
Further, it should be noted that gateway device 102 is able to communicate with external network, e.g., the Internet124, via service provider 116.
Service provider 116 includes head-end equipment such as server computers (e.g., automatic configuration server ACS) 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) through communication channel 115 between gateway device 102 and external network 124.
Communication channel 115 may be physical media/wiring, such as a coaxial network, an optical fiber network, and/or DSL, or wireless network, such as a satellite or terrestrial antenna implemented network or a combination of any of these examples or their  equivalents. The data communicated on communication channel can be implemented using a variety of protocols on a network such as 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) or 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 2G, 3G, 4G or 5G network, for example.
Gateway device 102 serves as a gateway or access point to service provider 116 and eventually to external network 124, e.g., the Internet (or otherwise as mentioned above) , for one or more electronic devices, referred to generally herein as  client devices  104 and 108 and mobile device 110 that wirelessly communicate with gateway device 102 via, e.g., Wi-Fi.  Client devices  104 and 108 and mobile device 110 can be desk top computers, laptop computers, electronic tablet devices, smart phones, appliances, or any other so-called internet of things equipped devices that are equipped to communicate information via WLAN 128.
APDs  106, 112, and 114 can be paired with gateway device 102 in order to communicate wirelessly with gateway device 102 and extend the coverage area of WLAN 128. Any of the  client devices  104 and 108 and mobile device 110 can be in communication with gateway device 102 or any of  APDs  106, 112, and 114.
Gateway device 102 has the capability of wirelessly communicating with plural electronic user devices over respective communication avenues. In order to extend the area in which WLAN 120 is effective, beyond the radio reach of gateway device 102, one or more APDs may be added, such as for example any of  APDs  106, 112, and 114. The establishment of the operative communications between APD 112 and gateway device 102 (or between APD 114 and an already established APD 112) is referred to as onboarding the extender. The  APDs  106, 112, and 114 can communicate wirelessly with gateway device 102. 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 the APD and gateway device 102. This dedicated avenue is referred to as a backhaul.
Within WLAN 128, electronic devices are often referred to as being stations in WLAN 128. In IEEE 802.11 (Wi-Fi) terminology, a station (abbreviated as STA) is a device  that has the capability to use the 802.11 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 802.11-2012 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 802.11) 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 32 bytes, and can be in a natural language, such as English. In WLAN 128, gateway device 102,  access points  106, 112 and 114 are access points for WLAN 128.
A more detailed description of gateway device 102, APD 112, and client device 108 will now be described with reference to FIG. 2.
FIG. 2 illustrates an exploded view of gateway device 102, APD 112, and client device 108 of FIG. 1.
As shown in FIG. 2, gateway device 102 includes: a controller 202; a memory 204, which has stored therein stored data 206; at least one radio, a sample of which is illustrated as a radio 208; and an interface circuit 212.
In this example, controller 202, memory 204, radio 208, and interface circuit 212 are illustrated as individual devices. However, in some embodiments, at least two of controller 202, memory 204, radio 208, and interface circuit 212 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 202, memory 204, radio 208, and interface circuit 212 may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller 202, memory 204 and interface circuit 212 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. Combinations of the above are also included within the scope of computer-readable media. 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. Combinations of the above should also be included within the scope of computer-readable media.
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 be 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 202 can include a dedicated control circuit, CPU, microprocessor, etc. Controller 202 controls the circuits of gateway device 102. Memory 204 can store various programming, and user content, and data. Interface circuit 212 can include one or more  connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas. Interface circuit 212 receives content from service provider 116 (as shown in FIG. 1) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above. Through interface circuit 212, gateway device 102 receives an input signal, including data and/or audio/video content, from service provider 116 and can send data to service provider 116.
Radio 208, (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 devices  104 and 108, with mobile device 110 and with  APDs  106, 112, and 114. Radio 208 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols. Gateway device 102 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz. As an alternative, at least one of the radios can be a radio meeting a Radio Frequency For Consumer Electronics (RF4CE) protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
APD 112 includes: a controller 214; a memory 216, which has stored therein stored data 218; and at least one radio, a sample of which is illustrated as a radio 220. It should be noted that additional APDs, including APD 106 and APD 114, have similar structure and operation to that of APD 112.
In this example, controller 214, memory 216 and radio 220 are illustrated as individual devices. However, in some embodiments, at least two of controller 214, memory 216 and radio 220 may be combined as a unitary device. Further, in some embodiments, at least one of controller 214 and memory 216 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 214, which can include a dedicated control circuit, CPU, microprocessor, etc., controls the circuits of APD 112. Memory 216 can store various programming, and user  content, and data. Radio 220, such as a Wi-Fi WLAN interface radio transceiver, is operable to communicate with  client devices  104 and 108, with mobile device 110 and with gateway device 102, as shown in FIG. 1. Radio 220 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols. APD 112 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz. As an alternative, at least one of the radios can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
Client device 108 includes: a controller 222; a memory 224, which has stored therein stored data 226; and at least one radio, a sample of which is illustrated as a radio 228; an interface 230 and a display 232.
In this example, controller 222, memory 224, radio 228, interface 230 and display 232 are illustrated as individual devices. However, in some embodiments, at least two of controller 222, memory 224, radio 228, interface 230 and display 232 may be combined as a unitary device. Further, in some embodiments, at least one of controller 222 and memory 224 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 222, which can include a dedicated control circuit, CPU, microprocessor, etc., controls the circuits of client device 108. Memory 224 can store various programming, and user content, and data. Radio 228, may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with  client devices  104 and 108, with  APDs  106, 112, and 114 and with gateway device 102, as shown in FIG. 1. Radio 228 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols. Client device 108 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz. As an alternative, at least one of the radios can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
Any of the client devices within WLAN 128 may be a mobile device similar to client device 108. In the event that a client device within WLAN 128 is not a client device similar to client device 108, such a client device may still include: a controller, which can include a dedicated control circuit, CPU, microprocessor, etc., and that controls the circuits of the client device; a memory, which has stored therein an onboarding program, that is similar to memory 224 and stored data 226, respectively, of client device 108 discussed above; a radio similar to radio 228 of client device 1080 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  APDs  106, 112 and 114 and with gateway device 102, as shown in FIG. 1. Further, any of the client devices may include a radio that is similar to radio 228 of client device 108 discussed above. Still further, any of the client devices may be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, or with a radio meeting RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band, in a manner similar to client device 108 discussed above.
Insofar as gateway device 102 provides connection to service provider 116, such as an MSO, gateway device 102 can be equipped with connectors to connect with a television or display device, and can also include programming to execute an electronic program guide and/or other suitable graphical user interface (GUI) , and can with such configuration be referred to as a so called set top box. Such a set top box can be included in the system shown in FIG. 1 as gateway device 102 or in addition thereto. Moreover, inclusion of one or more of far-field microphones, (for e.g., voice command and/or presence recognition, and/or telephone communication) , cameras, (for e.g., gesture and/or presence recognition, and/or video telephone communication) , and speakers, and associated programming, can enable the gateway device to be a so called smart media device.
For purposes of this discussion, consider a situation where a user of a WLAN wants to connect to a service provider outside of the WLAN. For example, consider a situation where a user is using a laptop computer inside of a WLAN and wants to connect to a server hosting a specific website outside of the WLAN. One problem that may prevent a user from being able to connect to a server outside of the WLAN is a faulty APD. This will be discussed with reference to FIG. 1.
As shown in FIG. 1, in order for client device 108 to connect to service provider 116, client device 108 has to connect to APD 114, APD 112, gateway device 102, and external network 124. If there is a failure in APD 114 or APD 112 or gateway device 102 or external network 124, then client device 108 will not be able to connect to service provider 116. For purposes of this discussion, it will be assumed that APD 112 is defective, but APD 114, gateway device 102 and external network 124 are not defective.
If APD 112 is defective, client device 108 will not be able to connect to gateway device 102, and as a result, the user of client device 108 will not be able to connect to service provider 116 or external network 124.
A method for determining whether or not an access point device is faulty will now be described with reference to FIGs. 3A-B.
FIGs. 3A-B illustrate structural components of a communication system 300 consisting of a WLAN containing several client devices that connect to an outside network through an access point device. Communication system 300 is illustrated at time t 1 in FIG. 3A and at time t 2 in FIG. 3B.
FIG 3A. illustrates a communication system 300 at time t 1.
As shown in the figure, communication system 300 includes a gateway device 318, APD 112, a client device 304, a client device 306, a client device 308, a client device 310, a client device 312, a client device 314, a client device 316, a wireless local area network (WLAN) 302, service provider 116, and external network 124.
Gateway device 318 is arranged to communicate with APD 112 and service provider 116 by way of external network 124. APD 112 is additionally arranged to communicate with client device 304, client device 306, client device 308, client device 310, client device 312, client device 314, and client device 316.
In operation, at time t 1, a user may attempt to connect one or more client devices, (indicated by  client device  304, 306, 308, 310, 312, 314, and/or 316) to external network 124 by way of access point 112, gateway device 318, and service provider 116 outside of WLAN 302. The connection between  client device  304, 306, 308, 310, 312, 314, and/or 316 to APD  112 is successful at time t 1 as indicated by the solid arrows between  client device  304, 306, 308, 310, 312, 314, and/or 316 to APD 112. Assuming that all other connections are successful, as indicated by the solid arrows in FIG. 3A, the user is able to successfully connect  client device  304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 1. However, there may be situations where at least one client is unable to connect to, or stay connected to, APD 112. This will be described with reference to FIG. 3B.
FIG 3B. illustrates communication system 300 of FIG. 3A at time t 2.
In operation, at time t 2, a user may attempt to connect one or more client devices, (indicated by  client device  304, 306, 308, 310, 312, 314, and/or 316) to external network 124 by way of access point 112, gateway device 318, and service provider 116 outside of WLAN 302. The connection between  client device  304, 306, 308, 310, 312, 314, and/or 316 to APD 112 is not successful at time t 2 as indicated by the broken arrows between  client device  304, 306, 308, 310, 312, 314, and/or 316 to APD 112. For purposes of discussion, let this lack of connection be due to APD 112 being defective, as indicated by the broken border of APD 112 in FIG 3B. As a result, the user is not able to connect  client device  304, 306, 308, 310, 312, 314, and/or 316 to service provider 116 at time t 2. However, it is possible that each of  client device  304, 306, 308, 310, 312, 314, and/or 316 are defective, which prevents connection.
In order to determine whether APD 112 is defective or whether the client devices are defective, the company operating service provider 116 would need to send a technician to the residence (or office) that houses APD 112 so that the technician may run diagnostics on APD 112.
What is needed is a system and method for determining whether or not an APD is faulty without a need to send a technician to the APD to run diagnostics.
A system and method in accordance with the present disclosure determines whether or not an APD is faulty, thereby eliminating the need to send a technician to the APD.
In accordance with the present disclosure, when a user is attempting to connect to a service provider outside the WLAN, if there is a problem connecting to the APD, first the APD selects some of the client devices in the WLAN with the strongest signals. Then the  APD determines either the average ping response time or the lowest ping response time for those selected client devices, depending on how a system in accordance with the present disclosure is implemented. Then, if the APD determines that the average ping response time or the lowest ping response time is too long, the APD resets itself. After the APD resets itself, this process stops.
A ping is a signal sent to client device that requests a response. It serves two primary purposes: 1) to check if the client device is available and 2) to measure how long the response takes, i.e., the ping response time. A ping request can be performed using a ping command, which is a standard command in most command line interfaces. Several network utilities provide a ping feature, which allows you to ping a client device by simply entering the IP address.
If the APD has determined that the average ping response time or the lowest ping response time for the selected group of client devices is not too long, the APD checks the strength of the client device signals again. If any of those client signals are too weak, the APD changes the group of clients that it is monitoring and restarts the process of checking the ping response time of the signals of those client devices. If those client device signals are not too weak, the APD checks the average ping response time or lowest ping response time of those selected client devices.
The present disclosure provides an improved networking experience because it provides an efficient way to reset a faulty APD device without the user having to reset it manually.
An example system and method for determining whether or not an APD is defective in accordance with aspects of the present disclosure will now be described in greater detail with reference to FIGs. 4-10.
FIG. 4 illustrates a communication system 400 in accordance with aspects of the present disclosure.
As shown in the figure, communication system 400 includes a gateway device 404, an APD 406, client device 304, client device 306, client device 308, client device 310, client  device 312, client device 314, client device 316, a WLAN 402, service provider 116, and external network 124.
Gateway device 404 is arranged to communicate with APD 406 and external network 124 by way of service provider 116. APD 406 is additionally arranged to communicate with client device 304, client device 306, client device 308, client device 310, client device 312, client device 314, and client device 316.
An example embodiment of determining whether or not APD 406 is defective with the system of FIG. 4 will now be described in greater detail with reference to FIG. 5.
FIG. 5 illustrates an example algorithm 500 to be executed by a processor for determining whether a wireless access point is faulty, in accordance with aspects of the present disclosure.
As shown in the figure, algorithm 500 starts (S502) , and the received signal strength indicators (RSSIs) are found (S504) . For example, as shown in FIG. 4, APD 406 determines the RSSI’s. This will be described in greater detail with reference to FIG. 6.
APD 406 will receive packets from each of  client devices  304, 306, 308, 310, 312, 314, and 316, and it will determine the RSSI for each received packet.
FIG. 6 illustrates an exploded view of gateway device 404, APD 406, and client device 304 of FIG. 4.
As shown in FIG. 6, gateway device 404 includes: a controller 602; a memory 604, which has stored therein stored data 620; at least one radio, a sample of which is illustrated as radio 208; and interface circuit 212.
In this example, controller 602, memory 604, radio 208, and interface circuit 212 are illustrated as individual devices. However, in some embodiments, at least two of controller 602, memory 604, radio 208, and interface circuit 212 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 602, memory 604, radio 208, and interface circuit 212 may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller 602, memory 604 and interface circuit 212 may be implemented as a computer having non- transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 602 can include a dedicated control circuit, CPU, microprocessor, etc. Controller 602 controls the circuits of gateway device 404. Memory 604 can store various programming, and user content, and data. Interface circuit 212 can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas. Interface circuit 212 receives content from service provider 116 (as shown in FIG. 4) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above. Through interface circuit 212, gateway device 404 receives an input signal, including data and/or audio/video content, from service provider 116 and can send data to service provider 116.
Radio 208, (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 devices  304, 306, 308, 310, 312, 314, and 316 and with access point 406. Radio 208 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols. Gateway device 404 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz. As an alternative, at least one of the radios can be a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
APD 406 includes: a controller 606; a memory 608, which has stored therein stored data 630; and at least one radio, a sample of which is illustrated as a radio 220. It should be noted that additional APDs have similar structure and operation to that of APD 406.
In this example, controller 606, memory 608 and radio 220 are illustrated as individual devices. However, in some embodiments, at least two of controller 606, memory 608 and radio 220 may be combined as a unitary device. Further, in some embodiments, at least one of controller 606 and memory 608 may be implemented as a computer having  tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 606, which can include a dedicated control circuit, CPU, microprocessor, etc., controls the circuits of APD 406.
Memory 608 can store various programming, and user content, and data as stored data 630. As will be described in more detail below, stored data 630 includes instructions that may be used by controller 606 to cause APD 406 to create a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time. Stored data 630 additionally includes instructions that may be used by controller 606 to cause APD 406 to determine at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list. Stored data 630 additionally includes instructions that may be used by controller 606 to reset APD 406 when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
As will be described in more detail below, stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to remove, from the candidate list, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
As will be described in more detail below, stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to override the resetting of APD 406 when a utilization of WLAN 402 is greater than a predetermined utilization threshold.
As will be described in more detail below, stored data 630 further includes instructions that may be used by controller 606 to cause APD 406 to create a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at  a second time. Stored data 630 additionally includes instructions that may be used by controller 606 to cause APD 406 to determine at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list. Stored data 630 additionally includes instructions that may be used by controller 606 to reset APD 406, for a predetermined period of time, based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
Radio 220, such as a Wi-Fi WLAN interface radio transceiver, is operable to communicate with  client devices  304, 306, 308, 310, 312, and 314 and with gateway device 404, as shown in FIG. 4. Radio 220 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or at the appropriate band and bandwidth to implement the Wi-Fi 4, 5, 6, or 6E protocols. APD 406 can also be equipped with a radio to implement a Bluetooth interface radio transceiver and antenna, which communicates wirelessly in the ISM band, from 2.400 to 2.485 GHz. As an alternative, at least one of the radios can be a radio meeting a RF4CE protocol, ZigBee protocol, and/or IEEE 802.15.4 protocol, which also communicates in the ISM band.
Insofar as gateway device 404 provides connection to service provider 116, such as an MSO, gateway device 404 can be equipped with connectors to connect with a television or display device, and can also include programming to execute an electronic program guide and/or other suitable GUI, and can with such configuration be referred to as a so called set top box. Such a set top box can be included in the system shown in FIG. 4 as gateway device 404 or in addition thereto. Moreover, inclusion of one or more of far-field microphones, (for e.g., voice command and/or presence recognition, and/or telephone communication) , cameras, (for e.g., gesture and/or presence recognition, and/or video telephone communication) , and speakers, and associated programming, can enable the gateway device to be a so called smart media device.
RSSIs are often determined in the intermediate frequency (IF) stage before the IF amplifier. In zero-IF systems, RSSI's are derived in the baseband signal chain, before the baseband amplifier. RSSI values are often a DC analog level. They can also be sampled by  an internal analog-to-digital converter (ADC) and the resulting codes available directly or via peripheral or internal processor bus.
The RSSI values may be stored in any known manner. An example of gathered RSSI values will now be described with reference to FIG. 7.
FIG. 7 illustrates a table 700 having a column 702 that lists example clients and a column 704 that lists corresponding RSSI values. For example, in table 700, the following RSSI values are gathered. Client 304 has value –35 dB. Client 306 has value –37 dB. Client 308 has value –75 dB. Client 310 has value –60 dB. Client 312 has value –72 dB. Client 316 has value –58 dB.
Returning to FIG. 5, after the RSSIs are found (S504) , a candidate list is created (S506) . For example, APD 406 creates a candidate list. This will be described in greater detail with respect to FIGs. 8A-C.
The candidate list values may be stored in any known manner. An example of gathered RSSI values for the clients on the candidate list will now be described with reference to FIG. 8A-C.
FIG. 8A illustrates a table 800 having a column 802 that lists example clients on a candidate list and a column 804 that lists corresponding RSSI values. For purposes of discussion, suppose that the RSSI threshold for determining a candidate list was set by controller 606 to be -70 dB. As shown by comparing table 800 of FIG. 8A with table 700 of FIG. 7,  clients  304, 306, 310, and 316 are candidates. More particularly, client 308, as shown in FIG. 7, had an RSSI of -75 dB, which is less than the RSSI threshold of -60 dB as set by controller 606 for purposes of this example. Therefore, client 308 is not on the candidate list in table 800 in FIG. 8A. Similarly, client 312 had an RSSI value of -72 dB, which is less than the RSSI threshold of -60 dB as set by controller 606 for purposes of this example. Therefore, client 312 is also not on the candidate list in table 800 of FIG. 8A.
Returning to FIG. 5, after the candidate list is created (S506) , the average ping response time for the candidate list is found (S508) . For example, APD 406 finds the average ping response time of the clients on the candidate list. This will be described in greater detail with respect to FIG. 9A.
The ping response time values may be stored in any known manner. An example of gathered ping response time values that are below the acceptable ping threshold will now be described with reference to FIG. 9A.
FIG. 9A illustrates a table 900 having a column 902 that lists example clients with an average ping response time that is below the acceptable ping threshold and a column 904 that lists the corresponding ping response times. For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. As shown in table 900, client 304 has a ping response time of 4.34 ms. Client 306 has a ping response time of 7.69 ms. Client 310 has a ping response time of 2.02 ms. Client 316 has a ping response time of 9.19 ms. The average ping response time for the clients in table 900 is 5.81 ms.
Returning to FIG. 5, after the average ping response time is found (S508) , it is determined whether the average ping response time is greater than an acceptable ping threshold (S510) . For example, APD 406 determines whether or not the average ping response time is greater than an acceptable ping threshold. This will be described in greater detail with respect to FIG. 9B.
The ping response time values may be stored in any known manner. An example of gathered ping response time values that are above the acceptable ping threshold will now be described with reference to FIG. 9B.
FIG. 9B illustrates a table 920 having a column 922 that lists example clients with an average ping response time that is above an acceptable ping threshold and a column 924 that lists the corresponding ping response times. For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. As shown in table 920, client 304 has a ping response time of 400.34 ms. Client 306 has a ping response time of 549.32 ms. Client 310 has a ping response time of 99.70 ms. Client 316 has a ping response time of 34.44 ms. The average ping response time for the clients in table 920 is 290.75 ms. Therefore, APD 406 would determine that the average ping response time at 290.75 ms is greater than the acceptable ping response threshold of 10 ms.
After the average ping response time is determined, the average ping response time is used to decide whether or not the APD needs to be reset. If the average ping response time is greater than the acceptable ping threshold, the APD will be determined to be faulty and will  be automatically reset. If the average ping response time is not greater than the acceptable ping threshold, then the APD is determined not to be faulty. This will be described in greater detail with respect to FIGs. 9A-B.
Returning to FIG. 5, if it is determined that the average ping response time is greater than the acceptable ping threshold, (Y at S510) , then the APD is reset (S518) . For example, if the average ping response time is greater than the acceptable ping threshold, APD 406 is reset. This will be described in greater detail with respect to FIG. 9B.
For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. FIG. 9B illustrates a table 920 having a column 922 that lists example clients with an average ping response time of 290.75 ms which is above 10 ms. Therefore, under the conditions of FIG. 9B, APD 406 would be reset.
Returning to FIG. 5, after the APD is reset (S518) , algorithm 500 stops (S520) . For example, after APD 406 is reset, algorithm 500 stops.
Returning to FIG. 5, if it is determined that the average ping response time is not greater than an acceptable ping threshold, (N at S510) , then the APD is determined not to be faulty, and candidate RSSIs are found (S512) . For example, if the average ping response time is not greater than the acceptable ping threshold, then APD 406 finds candidate RSSI’s. This will be described in greater detail with respect to FIG. 9A.
For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. The average ping response time for the clients in FIG. 9A, table 900 is 5.81 ms. Under the conditions presented in FIG. 9A, table 900, APD 406 would find candidate RSSIs.
To account for potential fluctuations in RSSI values, a second RSSI threshold is used to determine whether or not the candidate list needs to be modified. Candidates with only minor fluctuations in RSSI value are retained on the list. Candidates with major fluctuations in RSSI value are removed, and a second candidate list is created. This will be described in greater detail with respect to FIGs. 5, 8B, and 8C.
Returning to FIG. 5, after the candidate RSSIs are found (S512) , it is determined whether any of the candidate RSSI’s found (S512) are less than a second RSSI threshold (S514) . For example, after APD 406 finds the candidate RSSI’s, APD 406 would then determine whether or not any of the found candidate RSSI’s are less than a second RSSI threshold.
Returning to FIG. 5, if it is determined that any of the candidate RSSI’s found (S512) are less than a second RSSI threshold (Y at S514) , a second candidate list is created (S516) . For example, if APD 406 determines that any of the candidate RSSI’s are less than a second RSSI threshold, then APD 406 creates a second candidate list. This will be described in greater detail with respect to FIG. 8B.
FIG. 8B illustrates a table 820 having a column 822 that lists example clients on a candidate list and a column 824 that lists corresponding RSSI values. For purposes of discussion, suppose that the second RSSI threshold set by controller 606 was -63 dB. In this example, a -63 dB acceptable average RSSI value is slightly lower than the initial acceptable average RSSI value of -60 dB set previously (S504) . Again, this slightly lower acceptable average RSSI value takes into account minor variations in signal noise that an APD may encounter during normal operations but does not account for larger drops in signal noise that might reflect a faulty operational APD.
In FIG. 8B, table 820, client 310, is determined to have an RSSI value of -90 dB. At -90 dB, the RSSI value of client 310 is significantly lower than the second RSSI threshold of -63 dB. Therefore, under the conditions presented in FIG. 8B, table 820, APD 406 would create a second candidate list by removing client 310 from the candidate list created previously (S504) . This will be described in greater detail with respect to FIG. 8C.
FIG. 8C illustrates a table 840 having a column 842 that lists example clients on an updated candidate list and a column 844 that lists corresponding RSSI values. In FIG. 8C, the RSSI value of client 310 has been removed.
The above discussed example embodiment with reference to FIG. 5 determined whether or not an APD was defective based on the average ping response time. However, in other embodiments, whether or not an APD is defective may be determined based on a lowest ping response time. This will be described in greater detail with reference to FIG. 10.
FIG. 10 illustrates an example algorithm 1000 to be executed by a processor for determining if a wireless access point is faulty.
As shown in the figure, algorithm 1000 starts (S502) , and the RSSIs are found (S504) . For example, as shown in FIG. 4, APD 406 determines the RSSI’s.
Returning to FIG. 10, after the RSSI’s are found (S504) , a candidate list is created (S506) . For example, APD 406 creates a candidate list.
Returning to FIG. 10, after the candidate list is created (S506) , the lowest ping response time for the candidate list is found (S1008) . For example, APD 406 finds the lowest ping response time of the clients on the candidate list. This will be described in greater detail with respect to FIG. 9A.
The ping response time values may be stored in any known manner. An example of gathered ping response time values that are collected from the clients on the previously established candidate list (S506) will now be described with reference to FIG. 9A.
FIG. 9A illustrates a table 900 having a column 902 that lists example clients with various ping response times. As shown in table 900, client 304 has a ping response time of 4.34 ms. Client 306 has a ping response time of 7.69 ms. Client 310 has a ping response time of 2.02 ms. Client 316 has a ping response time of 9.19 ms. The lowest ping response time for the clients in table 900 is the ping response of client 310, which is 2.02 ms.
Returning to FIG. 10, after the lowest ping response time for the candidate list is found (S1008) , it is determined whether the lowest ping response time is greater than an acceptable ping threshold (S1010) . For example, APD 406 determines whether or not the best ping response time is greater than an acceptable ping threshold. This will be described in greater detail with respect to FIG. 9B.
The ping response time values may be stored in any known manner. An example of gathered ping response time values that are collected from the clients on the previously established candidate list (S506) will now be described with reference to FIG. 9B.
FIG. 9B illustrates a table 920 having a column 922 that lists example clients and a column 924 that lists the corresponding ping response times. For purposes of discussion,  suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. As shown in table 920, client 316, with a ping response time of 34.44 ms, has the lowest ping response time of all the clients in table 920. As further shown in table 920, 34.44 ms is greater than the ping response threshold of 10 ms.
After the lowest ping response time is determined, the lowest ping response time is used to decide whether or not the APD needs to be reset. The theory of this embodiment being that if a ping response time of at least one client is lower than the acceptable ping response time threshold, then at least one client is successfully communicating with the APD. Therefore, the APD need not be reset. However if no client has a ping response time that is lower than the acceptable ping response time threshold, then no clients are successfully communicating with the APD. In such a case, the APD needs to be reset. A simple method therefore to test whether the APD needs to be reset is by first determining whether the lowest ping response time of all the clients is lower than the acceptable ping response time threshold.
Returning to FIG. 10, if it is determined that the lowest ping response time is greater than the acceptable ping threshold, (Y at S1010) , then the APD is reset (S518) . For example, if the lowest ping response time is greater than the acceptable ping threshold, APD 406 is reset. This operation may be performed in a manner as discussed above with reference to FIG. 9B.
For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. As shown in FIG. 9B, client 316, with a ping response time of 34.44 ms, has the lowest ping response time of all of the clients in table 920. Since 34.44 ms is greater than the ping response threshold of 10 ms, under the conditions of FIG. 9B, APD 406 would be reset.
Returning to FIG. 10, after the APD is reset (S518) , algorithm 1000 stops (S520) .
Returning to FIG. 10, if it is determined that the lowest ping response time is not greater than the acceptable ping threshold, (N at S1010) , then the APD is determined to be not faulty, and candidate RSSI’s are found (S512) . In contrast with the previously discussed embodiment in which the average ping response is used to determine whether or not the APD is faulty, in this embodiment, if at least one ping response is less than the acceptable ping threshold, the APD is determined not to be faulty and the candidate RSSIs are found. For  example, if the lowest ping response time is not greater than the acceptable ping threshold, then APD 406 finds candidate RSSI’s. This operation may be performed in a manner as discussed above with reference to FIG. 9A.
For purposes of discussion, suppose that the acceptable ping threshold was set by controller 606 to be 10 ms. As shown in FIG. 9A, client 310, with a ping response time of 2.02 ms, has the lowest ping response time for the clients in table 900. Under the conditions presented in FIG. 9A, APD 406 would find candidate RSSIs.
Returning to FIG. 10, after the candidate RSSIs are found (S512) , it is determined whether any of the candidate RSSI’s are less than a second received signal strength indicator threshold (S514) . This operation may be performed in a manner as discussed above with reference to FIG. 5.
Returning to FIG. 10, if it is determined that any of the candidate RSSIs found (S512) are less than a second received signal strength indicator threshold (Y at S514) , a second candidate list is created (S516) . This operation may be performed in a manner as discussed above with reference to FIG. 5.
Returning to FIG. 10, after a second candidate list is created (S516) , the lowest ping response time for the second candidate list is found (return to S1008) . This operation may be performed in a manner as discussed above with reference to FIG. 5.
Returning to FIG. 10, if it is determined that any of the RSSI’s for the current candidate list (S512) are not less than a second received signal strength indicator threshold (N at S514) , the lowest ping response time for the current candidate list is found (return to S1008) .
Conventionally, in order to determine whether an APD is defective or whether the client devices are defective, an operating service provider would send a technician to the residence (or office) that houses the APD that the technician may run diagnostics on the APD. This is inconvenient for the operating service provider and is inconvenient (and expensive) for the end user.
A system and method in accordance with the present disclosure determines whether or not an APD and may reset the APD, thereby eliminating the need to send a technician to the APD.
In accordance with aspects of the present disclosure, if there is a problem with a client connecting to the APD, the APD may automatically diagnose itself and reset if needed. First the APD selects some of the client devices in the WLAN with the strongest signals.Then the APD determines either the average ping response time or the lowest ping response time for those selected client devices, depending on how a system in accordance with the present disclosure is implemented. Then, if the APD determines that the average ping response time or the lowest ping response time is too long, the APD resets itself. The self-diagnostic process, and self-reset, eliminates the need of a technician, which is more convenient and more cost effective for an end user.
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.
The foregoing description of various preferred embodiments have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present disclosure to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The example embodiments, as described above, were chosen and described in order to best explain the principles of the present disclosure and its practical application to thereby enable others skilled in the art to best utilize a system in accordance with the present disclosure in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the present disclosure be defined by the claims appended hereto.

Claims (12)

  1. An access point device for use with a plurality of wireless client devices over a wireless local area network, said access point device comprising:
    a memory; and
    a processor configured to execute instructions stored on said memory to cause said access point device to:
    create a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time,
    determine at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list, and
    reset said access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  2. The access point device of claim 1, wherein said processor is further configured to cause the access point device to remove, from the candidate list, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  3. The access point device of claim 1, wherein said processor is further configured to cause the access point device to override said resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  4. The access point device for claim 1, wherein said processor is further configured to cause the access point device to:
    create a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time;
    determine at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and
    not resetting, for a predetermined period of time, said access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  5. A method of operating an access point device for use with a plurality of wireless client devices over a wireless local area network, said method comprising:
    creating, via a processor configured to execute instructions stored on a memory, a candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than a received signal strength indicator threshold at a first time;
    determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and
    resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  6. The method of claim 5, further comprising removing from the candidate list, via the processor, any of the plurality of wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  7. The method of claim 5, further comprising overriding, via the processor, said resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  8. The method of claim 5, further comprising:
    creating, via the processor, a second candidate list of each of the plurality of wireless client devices having a received signal strength indicator at a second time, respectively, that is greater than the received signal strength indicator threshold;
    determining, via the processor, at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and
    not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
  9. A non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by an access point device for use with a plurality of wireless client devices over a wireless local area network, wherein the computer-readable instructions are capable of instructing the access point device to perform the method comprising:
    creating, via a processor configured to execute instructions stored on a memory, a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time;
    determining, via the processor, at least one of an average ping response time for the plurality of wireless client devices on the candidate list and a lowest ping response time for the plurality of wireless client devices on the candidate list; and
    resetting, via the processor, the access point device when the at least one of the average ping response time for the plurality of wireless client devices on the candidate list and the lowest ping response time for the plurality of wireless client devices on the candidate list is greater than an acceptable ping threshold.
  10. The non-transitory, computer-readable media of claim 9, wherein the computer-readable instructions are capable of instructing the access point device to perform the method further comprising removing from the candidate list, via the processor, any of the plurality of  wireless client devices on the candidate list having a subsequent received signal strength indicator, respectively, that is less than a second received signal strength indicator threshold.
  11. The non-transitory, computer-readable media of claim 9, wherein the computer-readable instructions are capable of instructing the access point device to perform the method further comprising overriding, via the processor, said resetting when a utilization of the wireless local area network is greater than a predetermined utilization threshold.
  12. The non-transitory, computer-readable media of claim 9, wherein the computer-readable instructions are capable of instructing the access point device to perform the method further comprising:
    creating, via the processor, a second candidate list of each of the plurality of wireless client devices that has a respective received signal strength indicator that is greater than the received signal strength indicator threshold at a second time;
    determining, via the processor, at least one of a second average ping response time for the plurality of wireless client devices on the second candidate list and a lowest ping response time for the plurality of wireless client devices on the second candidate list; and
    not resetting for a predetermined period of time, via the processor, the access point device based on the at least one of the second average ping response time for the plurality of wireless client devices on the second candidate list and the lowest ping response time for the plurality of wireless client devices on the second candidate list.
PCT/CN2020/093357 2020-05-29 2020-05-29 Self-recovery from faulty ap service Ceased WO2021237694A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/093357 WO2021237694A1 (en) 2020-05-29 2020-05-29 Self-recovery from faulty ap service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/093357 WO2021237694A1 (en) 2020-05-29 2020-05-29 Self-recovery from faulty ap service

Publications (1)

Publication Number Publication Date
WO2021237694A1 true WO2021237694A1 (en) 2021-12-02

Family

ID=78745523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/093357 Ceased WO2021237694A1 (en) 2020-05-29 2020-05-29 Self-recovery from faulty ap service

Country Status (1)

Country Link
WO (1) WO2021237694A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011109375A (en) * 2009-11-17 2011-06-02 Kyocera Corp Base station device
CN102917389A (en) * 2012-10-22 2013-02-06 大唐移动通信设备有限公司 Method and device for transmission self-detection of base station in LTE (Long Term Evolution) system
JP2013120972A (en) * 2011-12-06 2013-06-17 Mitsubishi Electric Corp Master terminal, slave terminal, and communication system
CN106559820A (en) * 2015-09-24 2017-04-05 电信科学技术研究院 A kind of link monitoring method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011109375A (en) * 2009-11-17 2011-06-02 Kyocera Corp Base station device
JP2013120972A (en) * 2011-12-06 2013-06-17 Mitsubishi Electric Corp Master terminal, slave terminal, and communication system
CN102917389A (en) * 2012-10-22 2013-02-06 大唐移动通信设备有限公司 Method and device for transmission self-detection of base station in LTE (Long Term Evolution) system
CN106559820A (en) * 2015-09-24 2017-04-05 电信科学技术研究院 A kind of link monitoring method and device

Similar Documents

Publication Publication Date Title
US12302107B2 (en) Functionality to improve extender onboarding prior to country code determination
US11696171B2 (en) Mitigation of excessive client steering attempts in multiple access point networks
US12003482B2 (en) Client device based solution for handling MAC randomization
US12445755B2 (en) Alternate wireless WAN connectivity over 2.4 GHz/5GHz in home routers
US11593840B2 (en) Client driven client steering
US11716642B2 (en) Determination of extender onboarding completion status
WO2021237694A1 (en) Self-recovery from faulty ap service
US12500658B2 (en) Country code or transmission power configuration prior to onboarding an extender
US11903091B2 (en) Method for employing keychain storage in client device to retrieve critical information for reinstalled applications
US11902975B2 (en) Cloud based prompt wireless connection method
US11937108B2 (en) Detection and mitigation of wide band signal jamming
US11755183B2 (en) User friendly targeted methodology for satellite installation using mobile app
US11818692B2 (en) Wi-Fi management frame recorder
US20230239696A1 (en) System and method to save power in an access point device
US20230308165A1 (en) Alternate wireless wan backup on home routers through dedicated 5ghz band
US20240298378A1 (en) Optimizing access point device onboarding completion time using mobile app
US20220109987A1 (en) Using mobile device to fully automate onboarding of router

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20937580

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20937580

Country of ref document: EP

Kind code of ref document: A1