WO2022056081A1 - A wireless device and a method for automatic recovery from failures - Google Patents

A wireless device and a method for automatic recovery from failures Download PDF

Info

Publication number
WO2022056081A1
WO2022056081A1 PCT/US2021/049592 US2021049592W WO2022056081A1 WO 2022056081 A1 WO2022056081 A1 WO 2022056081A1 US 2021049592 W US2021049592 W US 2021049592W WO 2022056081 A1 WO2022056081 A1 WO 2022056081A1
Authority
WO
WIPO (PCT)
Prior art keywords
wireless device
priority
module
restarting
processor
Prior art date
Application number
PCT/US2021/049592
Other languages
French (fr)
Inventor
Jianming Liang
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
Publication of WO2022056081A1 publication Critical patent/WO2022056081A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0609Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on severity or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • H04L41/0863Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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

  • the present disclosure relates to the technical field of wireless communication, more specifically, a wireless device and a method for automatic recovery from wireless connection failures.
  • a wireless access point may be an individual device connected with a wireless device or integrated in the wireless device. In case of failure of the wireless device, its wireless connection with the user device may be interrupted, causing the user to be unable to successfully access the wireless network.
  • a wireless device for automatic recovery from failures comprises one or a plurality of processors and a memory unit; the memory unit is coupled to said one or a plurality of
  • SUBSTITUTE SHEET processors and stores executable instructions in it; when loaded on said one or a plurality of processors, said executable instructions cause said wireless device to execute the following operations: detecting whether said wireless device has failures; in response to detecting the failures of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within a predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
  • the module of the wireless device with the first priority comprise a wireless driver
  • restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
  • detecting whether the status of the module of the wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
  • the module of the wireless device with the second priority comprises a processor with a wireless driver operating therein.
  • the wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol. Furthermore, a RPC server is running on the first processor, and a RPC client is running on the second processor.
  • said executable instructions when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within the predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third
  • SUBSTITUTE SHEET (RULE 26) priority wherein restarting the module with the third priority automatically restarts the module with the second priority, and wherein, the second priority comprises the first processor and the module with the third priority comprises the second processor.
  • the module of the wireless device with the first priority comprises said RPC server.
  • the first processor comprises an ATOM processor and the second processor comprises an ARM processor.
  • said executable instructions when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within the predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the third priority, transmitting an instruction of restarting said wireless device to the user or the external device, wherein restarting said wireless device automatically restarts the module with the third priority.
  • the wireless device comprises a Wi-Fi device.
  • a method for a wireless device to automatically recover from failures includes: detecting whether said wireless device has failures; in response to detecting the failure of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within the predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
  • the module of said wireless device with the first priority comprise a wireless driver
  • restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
  • detecting whether the status of the module of the wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
  • the module of said wireless device with the second priory comprises a processor with a wireless driver operating therein.
  • the wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol. Furthermore, a RPC server is running on the first processor, and a RPC client is running on the second processor.
  • said method further includes: within the predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third priority, wherein restarting the module with the third priority automatically restarts the module with the second priority and wherein, the module with the second priority comprises the first processor and the module with the third priority comprises the second processor.
  • the module of said wireless device with the first priority comprises said RPC server.
  • the first processor comprises an ATOM processor
  • the second processor comprises an ARM processor
  • said method further includes: within the predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the third priority, transmitting an instruction of restarting said wireless device to the user or the external device, wherein restarting said wireless device automatically restarts the module with the third priority.
  • said wireless device comprises a Wi-Fi device.
  • a non-transitory computer readable storage medium including an executable instruction stored therein is provided,
  • SUBSTITUTE SHEET (RULE 26) wherein the executable instruction, when executed by one or more processors, causes said one or a plurality of processors to execute the method according to the present disclosure.
  • an apparatus including components for executing the method according to the present disclosure is provided.
  • Figure 1 is a schematic diagram of an example of the network environment according to an embodiment of the present disclosure.
  • Figure 2 is a schematic diagram of a wireless device according to an embodiment of the present disclosure.
  • Figure 3 is a schematic diagram of a portion of the wireless device according to an embodiment of the present disclosure.
  • Figure 4 is a process diagram of the method for the wireless device to automatically recover from failures according to an embodiment of the present disclosure
  • Figure 5 is a process diagram of the method for the wireless device to automatically recover from failures according to a preferred embodiment of the present disclosure.
  • Figure l is a schematic diagram showing an exemplary network environment 100 according to an embodiment of the present disclosure.
  • the exemplary network environment 100 may comprise one or a plurality of user devices 110-1, 110-2, and 110-3 (for the sake of brevity, collectively referred to as the user device 110 below), a wireless device 120, and a network 130.
  • the user device 110 accesses the network 130 via the wireless device 120.
  • the wireless device 120 may receive/route various types of communications from the user device 110 and/or transmit/route various types of communication [signals] to the user device 110.
  • one or a plurality of user devices 110 may receive one or a plurality of data services, one or a plurality of audio/video services, and/or other services via the wireless device 120.
  • the user device 110 may include various types of devices, including but not limited to a desktop computer, a laptop computer, a sub-notebook/netbook, a server, a computer, a mainframe computer, a cloud-based computer, a tablet computer, a smart phone, a cellular phone, a smart watch, a wearable device, a consumer electronic device, a portable computing device, a communication device, a test device, and/or other electronic devices.
  • Some of these user devices usually need to maintain the connection with the network to make it easy for users to access data and services in the network at all times.
  • a user may use a laptop computer to download office files for processing via a wireless network.
  • a user may use a smart phone to play online games with other gamers via a wireless network.
  • the wireless device 120 may include various types of wireless devices that can transmit communication signals between the user device 110 and the network 130, for example, a wireless access point, a gateway, a router (for example, a wireless router and a mobile hotspot router), and a device integrating one or a plurality of the above (for example, a cable modem).
  • the network 130 may include various types of networks, for example, a Wide Area Network (WAN), a Local Area Network (LAN), a mobile network, a
  • WAN Wide Area Network
  • LAN Local Area Network
  • mobile network a mobile network
  • SUBSTITUTE SHEET (RULE 26) fiber optic network, and the Internet. It should be noted that the present disclosure has not specifically limited the type of the network 130.
  • an embodiment of the present disclosure has proposed a method to promptly detect the status of the module in the device once the wireless device has a failure and restart the corresponding module to recover from the failure so that the wireless connection can be highly efficiently and automatically restored without user involvement.
  • Figure 2 is a schematic diagram of an exemplary configuration of a wireless device according to an embodiment of the present disclosure.
  • the wireless device 200 for example, corresponds to the wireless device 102 in Figure 1.
  • the wireless device 200 may be a hardware wireless device combining one or a plurality of functions of a modem, access point, gateway, and/or router.
  • the present disclosure also envisions that the wireless device 200 may comprise, but not be limited to, functions of an IP/QAM set top box (STB) or a smart media device (SMD); the IP/QAM set top box or smart media device can decode audio/video contents and play contents provided by the Over The Top (OTT) or multiple system operator (MSO).
  • STB IP/QAM set top box
  • SMD smart media device
  • OTT Over The Top
  • MSO multiple system operator
  • the wireless device 200 comprises a user interface 201, a network interface 203, a power supply 205, a WAN interface 207, a memory unit 209, and a processor 211.
  • the user interface 201 may comprise, but not be limited to a button, a keyboard, a small keyboard, a liquid crystal display (LCD), a cathode ray tube (CRT), a thin film transistor (TFT), a light emitting diode (LED), a high definition (HD) display, or other similar display devices, including display devices with the touchscreen capability to enable the interaction between the user and the gateway device.
  • the network interface 203 may comprise
  • SUBSTITUTE SHEET (RULE 26) various types of network cards and circuit systems realized by software and/or hardware so that it can communicate with a wireless extender device and a client device via wireless protocols;
  • a wireless protocol may be any IEEE 802.11 Wi-Fi protocol, Bluetooth protocol, Bluetooth low energy (BLE) or other short-distance protocols operating according to the wireless technology standards, for exchanging data in a short distance using any approved or unapproved frequency band (for example, the citizens broadband radio service (CBRS) frequency band, 2.4 GHz frequency band, 5 GHz frequency band, or 6 GHz frequency band), RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
  • CBRS citizens broadband radio service
  • the power supply 205 provides power to internal components of the wireless device 200 through an internal bus 213.
  • the power supply 205 may be self-powered, for example, a battery pack; its interface is charged by a charger connected (for example, directly or via another device) to an outlet.
  • the power supply 205 may also comprise a rechargeable battery, which is removable for replacement, for example, a NiCd, NiMH, Li-ion, or Li-pol battery.
  • the WAN interface 207 may comprise various types of network cards and circuit systems realized by software and/or hardware, to realize the communication between the wireless device and the Internet service provider or multi-system operator (MSO).
  • MSO multi-system operator
  • the memory unit 209 comprises a single memory unit or one or a plurality of memory units or memory locations, including but not limited to the random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read only memory (ROM), EPROM, EEPROM, flash memory, FPGA logic block, hard drive, or any other layers of a memory hierarchy.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • ROM read only memory
  • EPROM EPROM
  • EEPROM electrically erasable programmable read only memory
  • flash memory FPGA logic block
  • hard drive or any other layers of a memory hierarchy.
  • the memory unit 209 may be used to store any type of instructions, software or algorithms, including software 215 for controlling general functions and operations of the wireless device 200.
  • the processor 211 processes and controls the general operations of the wireless device 200 and executes the administrative functions related to other devices in the network (for example, extenders and client devices).
  • the processor 211 may include, but is not limited to, a CPU, a hardware microprocessor, a hardware processor, a multi-core processor, a singlecore processor, a microcontroller, an application-specific integrated circuit (ASIC), a DSP, or other similar processing devices, which can execute any type of instructions, algorithms, or software for controlling the operations and functions of the wireless device 200 according to the embodiments described in the present disclosure.
  • the processor 211 may be various implementations of a digital circuit system, an analog circuit system, or a mixed signal
  • the processor 211 may include, for example, an integrated circuit (IC), a part or circuit of a separate processor core, an entire processor core, an individual processor, a programmable hardware device such as a field programmable gate array (FPGA), and/or a system including a plurality of processors.
  • IC integrated circuit
  • FPGA field programmable gate array
  • the internal bus 213 may be used to establish communication among the components of the wireless device 200 (for example, 201, 203, 205, 209, and 211).
  • FIG. 3 is a schematic diagram of a portion of the wireless device 200 according to an embodiment of the present disclosure.
  • the wireless device 200 may comprise one or a plurality of processors (for example, the processor 211 in Figure 2).
  • Figure 3 shows that the wireless device 200 comprises two processors: examples of the ATOM processor (also hereinafter referred to as the first processor) and the ARM processor (also hereinafter referred to as the second processor).
  • the terms “first” and “second” are merely used to differentiate components or steps, but are not intended to indicate the time sequence or importance.
  • the first processor and second processor may also be any other appropriate type of processors.
  • the ATOM processor and ARM processor may communicate via the remote procedure call (RPC) protocol.
  • the RPC protocol may use the server-client model, wherein the RPC server and RPC client run on different processors, respectively.
  • Figure 3 of the present disclosure shows that the RPC server runs on the ATOM processor and the RPC client runs on the ARM processor.
  • the RPC client may execute tasks, and the RPC server may provide the RPC client with backend services.
  • the ARM processor may instruct the ATOM processor to execute parameter configuration and other operations via the RPC protocol.
  • the wireless driver may also run on the ATOM processor.
  • a wireless access point (operating at the ATOM processor side) can operate normally only when it is driven by the wireless driver.
  • the wireless device is a Wi-Fi device
  • the wireless driver is a Wi-Fi driver.
  • SUBSTITUTE SHEET (RULE 26) embodiment of the present disclosure
  • services loaded on the processor in the wireless device may be used to detect whether the status of a particular module is abnormal, and the corresponding module is restarted according to the priority.
  • the components can be considered as three modules each having a different priority; a module having a first priority comprises the wireless driver and RPC server; a module having a second priority comprises the ATOM processor; and a module having a third priority comprises the ARM processor.
  • the priority in the present disclosure refers to the priority of restarting the module, wherein the second priority is lower than the first priority and the third priority is lower than the second priority.
  • the wireless device under the circumstance that it is detected that the wireless device has failures and as a result the wireless connection is interrupted or abnormal, first detect whether the status of the module with the first priority is abnormal and restart the corresponding module if abnormality is detected. For example, under the circumstance that it is detected that the status of the wireless driver is abnormal, only the wireless router needs to be restarted. Thus, it may take less time for the automatic recovery from the failure of the wireless connection. If it is detected that the wireless device still has failures within the predetermined time period (the predetermined time period may be a value predetermined based on experience) after restarting the module with the first priority, the module with the second priority may be restarted, for example, the ATOM processor may be restarted.
  • the predetermined time period may be a value predetermined based on experience
  • the module with the third priority may be restarted, for example, the ARM processor may be restarted.
  • restarting the ATOM processor may automatically restart the wireless driver and RPC server running thereon, and restarting the ARM processor may automatically restart the ATOM processor.
  • restarting the module with the higher priority will avoid interrupting and even terminating more programs, which saves more time and results in the better user experience.
  • FIG. 3 only shows an example of the wireless device 200.
  • the wireless device 200 may comprise more or less processors, and these processors may adopt structures and instruction sets other than the ATOM processor and ARM
  • the wireless device 200 may only comprise a processor (the processor may be the ATOM processor, ARM processor, or any other appropriate processor); a wireless driver runs on the processor, and there is no RPC server or RPC client. Under such circumstance, there are only a module with the first priority and a module with the second priority, and there is no module with the third priority. Moreover, under the circumstance that the wireless device has more processors, there may be more modules with priorities.
  • FIG 4 is a process diagram 400 of the method for the wireless device to automatically recover from failures according to an embodiment of the present disclosure.
  • this method may be executed by a service (for example, the watchdog service) loaded on the processor in the wireless device 200 shown in Figure 2.
  • a service for example, the watchdog service
  • the module with the first priority comprises a wireless driver and RPC server.
  • the step S403 in response to the abnormal status of the module of the wireless device with the first priority, restart the module with the first priority.
  • the step S404 within the predetermined time period after restarting the module with the first priority, detect whether the wireless device has failures. Moreover, in the step S405, in response to the continued failure of the wireless device within the predetermined time period after restarting the module with the first priority, restart the module with the second priority, which is lower than the first priority.
  • the module with the second priority comprises a processor of the wireless driver running thereon (for example, the ATOM processor), and restarting the module with the second priority automatically restarts the module with the first priority.
  • said predetermined time period may be a time period predetermined by the user according to experience or relevant protocols. If it is detected that the wireless device has failures after said predetermined time period, the operations of detecting the status of the module with the first priority and restarting may be executed again.
  • FIG. 5 is a process diagram 500 of the method for the wireless device to automatically recover from failures according to a preferred embodiment of the present disclosure.
  • the structure of the processor in the wireless device corresponds to the structure shown in Figure 3, i.e. the module with the first priority comprises the wireless driver and RPC server; the module with the second priority comprises
  • SUBSTITUTE SHEET (RULE 26) the ATOM processor; the module with the third priority comprises the ARM processor.
  • the second priority is lower than the first priority, and the third priority is lower than the second priority.
  • the two abnormal circumstances and corresponding operations of detection and restarting are described in detail as follows:
  • connection-disconnection incident may occur as a result.
  • the ATOM processor side may report the connection-disconnection event (via information in the text format) to the service loaded on the ATOM processor.
  • the service saves, collects, and analyzes said connection information, it may determine that the status of the wireless driver running on the ATOM processor is abnormal and restart the wireless driver.
  • restarting the wireless driver may include soft restarting the wireless driver, i.e. the service loaded on the ATOM processor may run a section of instructions to restart the wireless driver.
  • restarting the wireless driver may also comprise reloading the wireless driver, i.e. the service removes the original wireless driver, reloads, and then executes the operation of initialization.
  • restarting the wireless driver may also comprise returning the version of the wireless driver to the previous, earlier version.
  • the service loaded on the ARM processor receives the RPC call timeout event (via information in the text format).
  • the service on the ARM processor may instruct the service on the ATOM processor to detect the RPC server running on the ATOM processor.
  • the service on the ARM processor may also instruct the service on the ATOM processor to detect the wireless driver running on the ATOM processor. Because the RPC server needs to extract information from
  • the abnormal status of the wireless driver may also result in the occurrence of the RPC call timeout event.
  • the detection and restarting operations of two modules with the first priority in case of the RPC call timeout event are described in detail as follows:
  • the service on the ATOM processor may detect whether the status of the RPC server is abnormal. For example, the service may initiate a conversation with the RPC server running on the ATOM processor. If there is no response within the maximum threshold time of response, it indicates that the status of the RPC server is abnormal, and thus the service may restart the RPC server. Otherwise, if the service receives a response, it indicates that the status of the RPC server is normal, and the service may then detect whether the status of the wireless driver is abnormal. Alternatively, the service may also directly restart the wireless driver.
  • the service on the ATOM processor may detect whether the status of the wireless driver is abnormal. For example, the service may request the operation parameters from the wireless driver running on the ATOM processor via instructions. If there is no response within the maximum threshold time of response, it indicates that the status of the wireless driver is abnormal, and thus the service may restart the wireless driver. Otherwise, if the service receives a response, it indicates that the status of the wireless driver is normal, and the service may then detect whether the status of the RPC server is abnormal. Alternatively, the service may also directly restart the RPC server.
  • the service loaded on the ATOM processor may execute said detection operation through implementation of an application programming interface (API) so as to acquire the status of the wireless driver and RPC server.
  • API application programming interface
  • the detection of the status of the RPC server and/or wireless driver may be executed multiple times.
  • the service on the ATOM processor may initiate multiple (for example, five times) conversations within a period of time (for example, five minutes); if there is still no response, it indicates that the RPC server experiences abnormality with the great probability; thus, the service may execute the operation to automatically restart the RPC server.
  • the module with the second priority may be restarted directly (including the ATOM processor in the preferred embodiment).
  • the module with the first priority may be restarted directly (including the ATOM processor in the preferred embodiment).
  • SUBSTITUTE SHEET (RULE 26) priority may also be restarted in sequence, because the cost of doing so is very low and it is likely to recover from the failures.
  • the detection of whether the wireless device has failures within the predetermined time period may continue.
  • the service on the ATOM processor may restart the module with the second priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
  • the detection of whether the wireless device has failures within the predetermined time period may continue.
  • the service on the ARM processor may restart the module with the third priority (the ARM processor is included in the present preferred embodiment), wherein restarting the module with the third priority automatically restarts the module with the second priority.
  • the wireless device can automatically recover from failures.
  • the wireless connection is still interrupted under very rare circumstances.
  • whether the wireless device has failures can be detected within the predetermined time period after restarting the module with the third priority.
  • the service on the server may send an instruction of restarting the wireless device to the user, wherein restarting the wireless device automatically restarts the module with the third priority.
  • the service on the processor may also send an instruction of restarting the wireless device to an external device of the wireless device so that the external device automatically restarts the wireless device by powering off and powering on again according to the instruction without user involvement.
  • the operations of detection and restarting may start from the module with the first module according to the sequence of priorities.
  • the instruction of restarting the wireless device may also be sent directly to the user or external device.
  • the service loaded on the processor may collect device parameters under the abnormal status, such as, the wireless parameter configuration, CPU utilization rate, and memory utilization rate. Storing and analyzing the differences between the device parameters under such abnormal statuses and the device parameters under the normal status can facilitate future resolution of issues of failure detection and recovery.
  • an interface between the wireless device and the device of the mobile operator as described in the present disclosure may be provided to initiate or prohibit the method for automatic recovery of the wireless device from failures provided in the present disclosure.
  • the method and device provided in the present disclosure can support the automatic recovery of the wireless device from failures.
  • the method provided in the present disclosure does not require user involvement and is able to automatically detect failures and automatically recover, which is particularly beneficial in case of frequent interruption of the wireless connection.
  • it saves a lot of time for recovery from failures, and the entire process is very convenient and robust, which results in a good wireless connection environment and good user experience.
  • the present disclosure may be implemented as any combination of devices, systems, integrated circuits, and computer programs on non-transitory computer-readable media.
  • One or a plurality of processors may be implemented as an integrated circuit (IC), an application specific integrated circuit (ASIC) or a large-scale integrated circuit (LSI), a system LSI, a super LSI, or an ultra LSI component that performs some or all of the functions
  • the present disclosure includes the use of software, applications, computer programs, or algorithms.
  • Software, application programs, computer programs or algorithms can be stored on a non-transitory computer readable medium, so that a computer with one or a plurality of processors can execute said steps and the steps described in the drawings.
  • one or a plurality of memory units store software or algorithms via executable instructions, and one or a plurality of processors may associate a set of instructions for executing the software or algorithms.
  • Software and computer programs include machine instructions for programmable processors, and may be realized in high-level procedural languages, object-oriented programming languages, functional programming languages, logic programming languages, or assembly languages or machine languages.
  • computer-readable medium refers to any computer program product, apparatus or device used to provide machine instructions or data to the programmable data processor, such as magnetic disks, optical disks, solid-state storage devices, memories, and programmable logic devices (PLD), including computer-readable media that receive machine instructions as computer-readable signals.
  • the computer-readable medium may include the dynamic random access memory (DRAM), random access memory (RAM), read only memory (ROM), electrically erasable read only memory (EEPROM), compact disk read only memory (CD- ROM) or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store the required computer- readable program codes in the form of instructions or data structures and can be accessed by a general or special computer or a general or special processor.
  • DRAM dynamic random access memory
  • RAM random access memory
  • ROM read only memory
  • EEPROM electrically erasable read only memory
  • CD- ROM compact disk read only memory
  • CD- ROM compact disk read only memory
  • magnetic disks or disks include compact discs (CDs), laser disks, optical disks, digital versatile discs (DVDs), floppy disks, and Blu-ray disks, wherein magnetic disks usually copy data magnetically, and disks copy data optically via laser. Combinations of the above are also included in the scope of computer-readable media.
  • the use of the words “able”, “can”, “operable as” or “configured as” refers to some devices, logics, hardware and/or components designed to be used in a specified manner.
  • the subject matter of the present disclosure is provided as an example of the apparatus, system, method, and program for performing the
  • SUBSTITUTE SHEET (RULE 26) features described in the present disclosure. However, in addition to the aforementioned features, other features or modifications can be expected. It can be expected that any emerging technology that may replace any of the aforementioned implementation technologies may be used to complete the implementation of the components and functions of the present disclosure.

Abstract

The present disclosure relates to a wireless device and a method for automatic recovery from failures. Failures of a wireless devices are detected. In response to detecting the failures of the wireless device, an abnormal status of the module of the wireless device with a first priority is detected. The module with the first priority is restarted. Within a predetermined time period after restarting the module with the first priority, detect whether the wireless device has continued failures. In response to detecting continued failures of the wireless device within the predetermined time period after restarting the module with the first priority, a module with a second priority is restarted. The second priority is lower than the first priority. The module with the first priority automatically restarts based on the module with the second priority restarting.

Description

A wireless device and a method for automatic recovery from failures
Technical field
[0001] The present disclosure relates to the technical field of wireless communication, more specifically, a wireless device and a method for automatic recovery from wireless connection failures.
Background art
[0002] With the development of communication technology, users have been able to use the user devices to communicate with wireless devices in order to access wireless networks via wireless protocols (such as the IEEE 802.11 Wi-Fi Protocol). These wireless devices include cable modems (CM), etc. A wireless access point may be an individual device connected with a wireless device or integrated in the wireless device. In case of failure of the wireless device, its wireless connection with the user device may be interrupted, causing the user to be unable to successfully access the wireless network.
Summary of the invention
[0003] In the actual application scenario of wireless communication, when the wireless device has a failure, causing its wireless connection with the user device to be interrupted, the user usually has to manually restart the wireless device, i.e. powering off the wireless device and powering it on again. As the aforementioned restarting process causes interruption and restarting of a great number of programs and processes, it results in relatively poor user experience and low user satisfaction. Furthermore, every time the wireless connection is interrupted, it requires the user to manually restart the wireless device; in the event of multiple failures, the user has to frequently carry out operations, which takes a lot of time and effort. Thus, a highly efficient and intelligent device and a method that enable the wireless device to automatically recover from failures are needed.
[0004] According to some aspects of the present disclosure, a wireless device for automatic recovery from failures is provided. The wireless device comprises one or a plurality of processors and a memory unit; the memory unit is coupled to said one or a plurality of
SUBSTITUTE SHEET (RULE 26) processors and stores executable instructions in it; when loaded on said one or a plurality of processors, said executable instructions cause said wireless device to execute the following operations: detecting whether said wireless device has failures; in response to detecting the failures of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within a predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
[0005] In some embodiments, regarding said wireless device, the module of the wireless device with the first priority comprise a wireless driver, and restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
[0006] In some embodiments, regarding said wireless device, detecting whether the status of the module of the wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
[0007] In some embodiments, regarding said wireless device, the module of the wireless device with the second priority comprises a processor with a wireless driver operating therein.
[0008] In some embodiments, regarding said wireless device, the wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol. Furthermore, a RPC server is running on the first processor, and a RPC client is running on the second processor.
[0009] In some embodiments, regarding said wireless device, when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within the predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third
SUBSTITUTE SHEET (RULE 26) priority, wherein restarting the module with the third priority automatically restarts the module with the second priority, and wherein, the second priority comprises the first processor and the module with the third priority comprises the second processor.
[0010] In some embodiments, regarding said wireless device, the module of the wireless device with the first priority comprises said RPC server.
[0011] In some embodiments, regarding said wireless device, the first processor comprises an ATOM processor and the second processor comprises an ARM processor.
[0012] In some embodiments, regarding said wireless device, when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within the predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the third priority, transmitting an instruction of restarting said wireless device to the user or the external device, wherein restarting said wireless device automatically restarts the module with the third priority.
[0013] In some embodiments, regarding said wireless device, the wireless device comprises a Wi-Fi device.
[0014] According to other aspects of the present disclosure, a method for a wireless device to automatically recover from failures is provided. The method includes: detecting whether said wireless device has failures; in response to detecting the failure of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within the predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
[0015] In some embodiments, in said method, the module of said wireless device with the first priority comprise a wireless driver, and restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
SUBSTITUTE SHEET (RULE 26) [0016] In some embodiments, in said method, detecting whether the status of the module of the wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
[0017] In some embodiments, in said method, the module of said wireless device with the second priory comprises a processor with a wireless driver operating therein.
[0018] In some embodiments, in said method, the wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol. Furthermore, a RPC server is running on the first processor, and a RPC client is running on the second processor.
[0019] In some embodiments, said method further includes: within the predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third priority, wherein restarting the module with the third priority automatically restarts the module with the second priority and wherein, the module with the second priority comprises the first processor and the module with the third priority comprises the second processor.
[0020] In some embodiments, in said method, the module of said wireless device with the first priority comprises said RPC server.
[0021] In some embodiments, in said method, the first processor comprises an ATOM processor, and the second processor comprises an ARM processor.
[0022] In some embodiments, said method further includes: within the predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failure of said wireless device within the predetermined time period after restarting the module with the third priority, transmitting an instruction of restarting said wireless device to the user or the external device, wherein restarting said wireless device automatically restarts the module with the third priority.
[0023] In some embodiments, in said method, said wireless device comprises a Wi-Fi device.
[0024] According to other aspects of the present disclosure, a non-transitory computer readable storage medium including an executable instruction stored therein is provided,
SUBSTITUTE SHEET (RULE 26) wherein the executable instruction, when executed by one or more processors, causes said one or a plurality of processors to execute the method according to the present disclosure.
[0025] According to other aspects of the present disclosure, an apparatus including components for executing the method according to the present disclosure is provided.
Description of Attached Drawings
[0026] For a better understanding of the present disclosure and to show how to implement the present disclosure, examples will be herein described with reference to the Attached Drawings, wherein:
[0027] Figure 1 is a schematic diagram of an example of the network environment according to an embodiment of the present disclosure;
[0028] Figure 2 is a schematic diagram of a wireless device according to an embodiment of the present disclosure;
[0029] Figure 3 is a schematic diagram of a portion of the wireless device according to an embodiment of the present disclosure;
[0030] Figure 4 is a process diagram of the method for the wireless device to automatically recover from failures according to an embodiment of the present disclosure;
[0031] Figure 5 is a process diagram of the method for the wireless device to automatically recover from failures according to a preferred embodiment of the present disclosure.
[0032] It should be noted that throughout the drawings, similar reference numerals and signs refer to corresponding parts. In addition, multiple instances of the same part are designated by a common prefix separated from the instance number by a dash.
Specific embodiments
[0033] The following detailed description is made with reference to the Attached Drawings, and the following detailed description is provided to facilitate comprehensive understanding of various exemplary embodiments of the present disclosure. The following description includes various details for facilitation of understanding. However, these details are merely considered as examples, not for limiting the present disclosure. The present disclosure is limited by the attached claims and their equivalents. The words and phrases used in the following description are only used to enable a clear and consistent understanding of the
SUBSTITUTE SHEET (RULE 26) present disclosure. In addition, for clarity and brevity, descriptions of well-known structures, functions, and configurations may be omitted. Those of ordinary skill in the art will realize that various changes and modifications can be made to the examples described in the present specification without departing from the gist and scope of the present disclosure.
[0034] Figure l is a schematic diagram showing an exemplary network environment 100 according to an embodiment of the present disclosure.
[0035] In some embodiments, the exemplary network environment 100 may comprise one or a plurality of user devices 110-1, 110-2, and 110-3 (for the sake of brevity, collectively referred to as the user device 110 below), a wireless device 120, and a network 130. In some embodiments, the user device 110 accesses the network 130 via the wireless device 120. In some embodiments, the wireless device 120 may receive/route various types of communications from the user device 110 and/or transmit/route various types of communication [signals] to the user device 110. For examples, one or a plurality of user devices 110 may receive one or a plurality of data services, one or a plurality of audio/video services, and/or other services via the wireless device 120.
[0036] In some embodiments, the user device 110 may include various types of devices, including but not limited to a desktop computer, a laptop computer, a sub-notebook/netbook, a server, a computer, a mainframe computer, a cloud-based computer, a tablet computer, a smart phone, a cellular phone, a smart watch, a wearable device, a consumer electronic device, a portable computing device, a communication device, a test device, and/or other electronic devices. Some of these user devices usually need to maintain the connection with the network to make it easy for users to access data and services in the network at all times. In an example, when working from home, a user may use a laptop computer to download office files for processing via a wireless network. In another example, when relaxing at home, a user may use a smart phone to play online games with other gamers via a wireless network.
[0037] In some embodiments, the wireless device 120 may include various types of wireless devices that can transmit communication signals between the user device 110 and the network 130, for example, a wireless access point, a gateway, a router (for example, a wireless router and a mobile hotspot router), and a device integrating one or a plurality of the above (for example, a cable modem).
[0038] In some embodiments, the network 130 may include various types of networks, for example, a Wide Area Network (WAN), a Local Area Network (LAN), a mobile network, a
SUBSTITUTE SHEET (RULE 26) fiber optic network, and the Internet. It should be noted that the present disclosure has not specifically limited the type of the network 130.
[0039] In the network environment 100 as shown in Figure 1, if those user devices, which should maintain the connection with the network, are disconnected, that will cause a lot of inconvenience to users. According to the state of the art, once a user device is disconnected from, for example, a wireless network, the user may not be able to discover the issue promptly, and thus it is difficult to promptly restore the connection between them. Even if the user discovers the interruption of the wireless connection and manually restarts the wireless device 120, this process will result in the interruption and even termination of the programs or processes that are running (for example, the downloading process of a file and the real-time progress of a game). Thus, with regard to these issues, an embodiment of the present disclosure has proposed a method to promptly detect the status of the module in the device once the wireless device has a failure and restart the corresponding module to recover from the failure so that the wireless connection can be highly efficiently and automatically restored without user involvement.
[0040] Figure 2 is a schematic diagram of an exemplary configuration of a wireless device according to an embodiment of the present disclosure.
[0041] The wireless device 200, for example, corresponds to the wireless device 102 in Figure 1.
[0042] The wireless device 200, for example, may be a hardware wireless device combining one or a plurality of functions of a modem, access point, gateway, and/or router. The present disclosure also envisions that the wireless device 200 may comprise, but not be limited to, functions of an IP/QAM set top box (STB) or a smart media device (SMD); the IP/QAM set top box or smart media device can decode audio/video contents and play contents provided by the Over The Top (OTT) or multiple system operator (MSO).
[0043] As shown in Figure 2, the wireless device 200 comprises a user interface 201, a network interface 203, a power supply 205, a WAN interface 207, a memory unit 209, and a processor 211. The user interface 201 may comprise, but not be limited to a button, a keyboard, a small keyboard, a liquid crystal display (LCD), a cathode ray tube (CRT), a thin film transistor (TFT), a light emitting diode (LED), a high definition (HD) display, or other similar display devices, including display devices with the touchscreen capability to enable the interaction between the user and the gateway device. The network interface 203 may comprise
SUBSTITUTE SHEET (RULE 26) various types of network cards and circuit systems realized by software and/or hardware so that it can communicate with a wireless extender device and a client device via wireless protocols; a wireless protocol may be any IEEE 802.11 Wi-Fi protocol, Bluetooth protocol, Bluetooth low energy (BLE) or other short-distance protocols operating according to the wireless technology standards, for exchanging data in a short distance using any approved or unapproved frequency band (for example, the citizens broadband radio service (CBRS) frequency band, 2.4 GHz frequency band, 5 GHz frequency band, or 6 GHz frequency band), RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
[0044] The power supply 205 provides power to internal components of the wireless device 200 through an internal bus 213. The power supply 205 may be self-powered, for example, a battery pack; its interface is charged by a charger connected (for example, directly or via another device) to an outlet. The power supply 205 may also comprise a rechargeable battery, which is removable for replacement, for example, a NiCd, NiMH, Li-ion, or Li-pol battery. The WAN interface 207 may comprise various types of network cards and circuit systems realized by software and/or hardware, to realize the communication between the wireless device and the Internet service provider or multi-system operator (MSO).
[0045] The memory unit 209 comprises a single memory unit or one or a plurality of memory units or memory locations, including but not limited to the random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read only memory (ROM), EPROM, EEPROM, flash memory, FPGA logic block, hard drive, or any other layers of a memory hierarchy. The memory unit 209 may be used to store any type of instructions, software or algorithms, including software 215 for controlling general functions and operations of the wireless device 200.
[0046] The processor 211 processes and controls the general operations of the wireless device 200 and executes the administrative functions related to other devices in the network (for example, extenders and client devices). The processor 211 may include, but is not limited to, a CPU, a hardware microprocessor, a hardware processor, a multi-core processor, a singlecore processor, a microcontroller, an application-specific integrated circuit (ASIC), a DSP, or other similar processing devices, which can execute any type of instructions, algorithms, or software for controlling the operations and functions of the wireless device 200 according to the embodiments described in the present disclosure. The processor 211 may be various implementations of a digital circuit system, an analog circuit system, or a mixed signal
SUBSTITUTE SHEET (RULE 26) (combination of analog and digital) circuit system that executes functions in a computing system. The processor 211 may include, for example, an integrated circuit (IC), a part or circuit of a separate processor core, an entire processor core, an individual processor, a programmable hardware device such as a field programmable gate array (FPGA), and/or a system including a plurality of processors.
[0047] The internal bus 213 may be used to establish communication among the components of the wireless device 200 (for example, 201, 203, 205, 209, and 211).
[0048] Figure 3 is a schematic diagram of a portion of the wireless device 200 according to an embodiment of the present disclosure. According an embodiment of the present disclosure, the wireless device 200 may comprise one or a plurality of processors (for example, the processor 211 in Figure 2). As an example, Figure 3 shows that the wireless device 200 comprises two processors: examples of the ATOM processor (also hereinafter referred to as the first processor) and the ARM processor (also hereinafter referred to as the second processor). It should be understood that in the present disclosure, the terms “first” and “second” are merely used to differentiate components or steps, but are not intended to indicate the time sequence or importance. The first processor and second processor may also be any other appropriate type of processors.
[0049] The ATOM processor and ARM processor may communicate via the remote procedure call (RPC) protocol. The RPC protocol may use the server-client model, wherein the RPC server and RPC client run on different processors, respectively. As an example, Figure 3 of the present disclosure shows that the RPC server runs on the ATOM processor and the RPC client runs on the ARM processor. The RPC client may execute tasks, and the RPC server may provide the RPC client with backend services. In other words, the ARM processor may instruct the ATOM processor to execute parameter configuration and other operations via the RPC protocol. Moreover, as shown in Figure 3, the wireless driver may also run on the ATOM processor. A wireless access point (operating at the ATOM processor side) can operate normally only when it is driven by the wireless driver. According to an example of the present disclosure, provided that the wireless device is a Wi-Fi device, the wireless driver is a Wi-Fi driver.
[0050] In the present disclosure, for ease of description, various combinations of the ATOM processor, the ARM processor, the wireless driver, and the RPC server running on the corresponding processors can be referred to as a module or modules. According to an
SUBSTITUTE SHEET (RULE 26) embodiment of the present disclosure, when the wireless device has failures, to replace the direct manual restarting of the entire wireless device in the conventional method, services loaded on the processor in the wireless device may be used to detect whether the status of a particular module is abnormal, and the corresponding module is restarted according to the priority. Specifically for example, according to an embodiment of the present disclosure, the components can be considered as three modules each having a different priority; a module having a first priority comprises the wireless driver and RPC server; a module having a second priority comprises the ATOM processor; and a module having a third priority comprises the ARM processor. The priority in the present disclosure refers to the priority of restarting the module, wherein the second priority is lower than the first priority and the third priority is lower than the second priority.
[0051] According to an embodiment of the present disclosure, under the circumstance that it is detected that the wireless device has failures and as a result the wireless connection is interrupted or abnormal, first detect whether the status of the module with the first priority is abnormal and restart the corresponding module if abnormality is detected. For example, under the circumstance that it is detected that the status of the wireless driver is abnormal, only the wireless router needs to be restarted. Thus, it may take less time for the automatic recovery from the failure of the wireless connection. If it is detected that the wireless device still has failures within the predetermined time period (the predetermined time period may be a value predetermined based on experience) after restarting the module with the first priority, the module with the second priority may be restarted, for example, the ATOM processor may be restarted. Similarly, if it is detected that the wireless device still has failures within the predetermined time period after restarting the module with the second priority, the module with the third priority may be restarted, for example, the ARM processor may be restarted. It should be understood that restarting the ATOM processor may automatically restart the wireless driver and RPC server running thereon, and restarting the ARM processor may automatically restart the ATOM processor. Thus, restarting the module with the higher priority will avoid interrupting and even terminating more programs, which saves more time and results in the better user experience.
[0052] It should be understood that Figure 3 only shows an example of the wireless device 200. The wireless device 200 may comprise more or less processors, and these processors may adopt structures and instruction sets other than the ATOM processor and ARM
SUBSTITUTE SHEET (RULE 26) processor. For example, the wireless device 200 may only comprise a processor (the processor may be the ATOM processor, ARM processor, or any other appropriate processor); a wireless driver runs on the processor, and there is no RPC server or RPC client. Under such circumstance, there are only a module with the first priority and a module with the second priority, and there is no module with the third priority. Moreover, under the circumstance that the wireless device has more processors, there may be more modules with priorities.
[0053] Figure 4 is a process diagram 400 of the method for the wireless device to automatically recover from failures according to an embodiment of the present disclosure. As an example, this method may be executed by a service (for example, the watchdog service) loaded on the processor in the wireless device 200 shown in Figure 2. In the step S401, detect whether the wireless device has failures. Afterward, in the step S402, in response to the failure of the wireless device, detect whether the status of the module of the wireless device with the first priority is abnormal. For example, the module with the first priority comprises a wireless driver and RPC server. In the step S403, in response to the abnormal status of the module of the wireless device with the first priority, restart the module with the first priority. Afterward, in the step S404, within the predetermined time period after restarting the module with the first priority, detect whether the wireless device has failures. Moreover, in the step S405, in response to the continued failure of the wireless device within the predetermined time period after restarting the module with the first priority, restart the module with the second priority, which is lower than the first priority. For example, the module with the second priority comprises a processor of the wireless driver running thereon (for example, the ATOM processor), and restarting the module with the second priority automatically restarts the module with the first priority.
[0054] It should be understood that said predetermined time period may be a time period predetermined by the user according to experience or relevant protocols. If it is detected that the wireless device has failures after said predetermined time period, the operations of detecting the status of the module with the first priority and restarting may be executed again.
[0055] Furthermore, Figure 5 is a process diagram 500 of the method for the wireless device to automatically recover from failures according to a preferred embodiment of the present disclosure. In the preferred embodiment, the structure of the processor in the wireless device corresponds to the structure shown in Figure 3, i.e. the module with the first priority comprises the wireless driver and RPC server; the module with the second priority comprises
SUBSTITUTE SHEET (RULE 26) the ATOM processor; the module with the third priority comprises the ARM processor. Wherein, the second priority is lower than the first priority, and the third priority is lower than the second priority.
[0056] According to the preferred embodiment of the present disclosure, first detect whether the wireless device has failures. If there are failures, detect whether the status of the module of the wireless device with the first priority is abnormal and restart the corresponding module with the first priority once the abnormal status is detected. As an example, the two abnormal circumstances and corresponding operations of detection and restarting are described in detail as follows:
[0057] 1. Abnormal connection between the user device and wireless access point
[0058] In case of frequent interruption of the connection between the user device and wireless device, a connection-disconnection incident may occur as a result. Thus, the ATOM processor side may report the connection-disconnection event (via information in the text format) to the service loaded on the ATOM processor. Once the service saves, collects, and analyzes said connection information, it may determine that the status of the wireless driver running on the ATOM processor is abnormal and restart the wireless driver.
[0059] It should be understood that in an example, restarting the wireless driver may include soft restarting the wireless driver, i.e. the service loaded on the ATOM processor may run a section of instructions to restart the wireless driver. In another example, restarting the wireless driver may also comprise reloading the wireless driver, i.e. the service removes the original wireless driver, reloads, and then executes the operation of initialization. In yet another example, restarting the wireless driver may also comprise returning the version of the wireless driver to the previous, earlier version.
[0060] 2. RPC call timeout abnormality
[0061] Once the ARM processor initiates a conversation with the ATOM processor, if there is no response for a long period of time (for example, exceeding the maximum threshold time of response), the service loaded on the ARM processor receives the RPC call timeout event (via information in the text format). In response to the receipt of the RPC call timeout event, the service on the ARM processor may instruct the service on the ATOM processor to detect the RPC server running on the ATOM processor. In addition, the service on the ARM processor may also instruct the service on the ATOM processor to detect the wireless driver running on the ATOM processor. Because the RPC server needs to extract information from
SUBSTITUTE SHEET (RULE 26) the wireless driver, the abnormal status of the wireless driver may also result in the occurrence of the RPC call timeout event. The detection and restarting operations of two modules with the first priority in case of the RPC call timeout event are described in detail as follows:
[0062] 2-1. RPC server
[0063] The service on the ATOM processor may detect whether the status of the RPC server is abnormal. For example, the service may initiate a conversation with the RPC server running on the ATOM processor. If there is no response within the maximum threshold time of response, it indicates that the status of the RPC server is abnormal, and thus the service may restart the RPC server. Otherwise, if the service receives a response, it indicates that the status of the RPC server is normal, and the service may then detect whether the status of the wireless driver is abnormal. Alternatively, the service may also directly restart the wireless driver.
[0064] 2-2. Wireless driver
[0065] The service on the ATOM processor may detect whether the status of the wireless driver is abnormal. For example, the service may request the operation parameters from the wireless driver running on the ATOM processor via instructions. If there is no response within the maximum threshold time of response, it indicates that the status of the wireless driver is abnormal, and thus the service may restart the wireless driver. Otherwise, if the service receives a response, it indicates that the status of the wireless driver is normal, and the service may then detect whether the status of the RPC server is abnormal. Alternatively, the service may also directly restart the RPC server.
[0066] It should be understood that the service loaded on the ATOM processor may execute said detection operation through implementation of an application programming interface (API) so as to acquire the status of the wireless driver and RPC server. Furthermore, to improve the detection accuracy, the detection of the status of the RPC server and/or wireless driver may be executed multiple times. As an example, if the service on the ATOM processor does not receive a response while detecting the RPC server, it may initiate multiple (for example, five times) conversations within a period of time (for example, five minutes); if there is still no response, it indicates that the RPC server experiences abnormality with the great probability; thus, the service may execute the operation to automatically restart the RPC server.
[0067] It should be understood that if no abnormal status of the module with the first priority is detected, the module with the second priority may be restarted directly (including the ATOM processor in the preferred embodiment). Alternatively, the module with the first
SUBSTITUTE SHEET (RULE 26) priority may also be restarted in sequence, because the cost of doing so is very low and it is likely to recover from the failures.
[0068] After restarting the module with the first priority, the detection of whether the wireless device has failures within the predetermined time period may continue. Under the circumstance that the wireless device still has failures within the predetermined time period after restarting the module with the first priority, the service on the ATOM processor may restart the module with the second priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
[0069] Similarly, after restarting the module with the second priority, the detection of whether the wireless device has failures within the predetermined time period may continue. Under the circumstance that the wireless device still has failures within the predetermined time period after restarting the module with the second priority, the service on the ARM processor may restart the module with the third priority (the ARM processor is included in the present preferred embodiment), wherein restarting the module with the third priority automatically restarts the module with the second priority.
[0070] It should be understood that according to the method described above, it is with great probability that the wireless device can automatically recover from failures. However, it is possible that the wireless connection is still interrupted under very rare circumstances. Under such circumstance, whether the wireless device has failures can be detected within the predetermined time period after restarting the module with the third priority. In response to the continued failure of the wireless device within the predetermined time period after restarting the module with the third priority, the service on the server may send an instruction of restarting the wireless device to the user, wherein restarting the wireless device automatically restarts the module with the third priority. Alternatively or additionally, the service on the processor may also send an instruction of restarting the wireless device to an external device of the wireless device so that the external device automatically restarts the wireless device by powering off and powering on again according to the instruction without user involvement.
[0071] It should also be understood that when the wireless device only comprises one processor, said operations of detecting whether the wireless device has failures and sending the instruction of restarting the wireless device to the user or external device in response to the failure of the wireless device may be executed after restarting the module with the second priority.
SUBSTITUTE SHEET (RULE 26) [0072] Once the predetermined time period after restarting the modules is expired, the operations of detection and restarting may start from the module with the first module according to the sequence of priorities. In some embodiments, under the circumstance that the number of failures of the wireless device within a time period exceeds the predetermined threshold, the instruction of restarting the wireless device may also be sent directly to the user or external device.
[0073] It should be understood that after detecting the abnormal status of the module of the wireless device and before restarting the module for automatic recovery from failures, the service loaded on the processor (for example, the ATOM processor) may collect device parameters under the abnormal status, such as, the wireless parameter configuration, CPU utilization rate, and memory utilization rate. Storing and analyzing the differences between the device parameters under such abnormal statuses and the device parameters under the normal status can facilitate future resolution of issues of failure detection and recovery.
[0074] It should be understood that an interface between the wireless device and the device of the mobile operator as described in the present disclosure may be provided to initiate or prohibit the method for automatic recovery of the wireless device from failures provided in the present disclosure.
[0075] According to an embodiment of the present disclosure, the method and device provided in the present disclosure can support the automatic recovery of the wireless device from failures. Compared with the requirement for the user to manually restart the wireless device in the conventional system (including powering off and powering on again the wireless device), the method provided in the present disclosure does not require user involvement and is able to automatically detect failures and automatically recover, which is particularly beneficial in case of frequent interruption of the wireless connection. Furthermore, by prioritizing the modules in the wireless device and executing the detection and restarting by priorities, it saves a lot of time for recovery from failures, and the entire process is very convenient and robust, which results in a good wireless connection environment and good user experience.
[0076] The present disclosure may be implemented as any combination of devices, systems, integrated circuits, and computer programs on non-transitory computer-readable media. One or a plurality of processors may be implemented as an integrated circuit (IC), an application specific integrated circuit (ASIC) or a large-scale integrated circuit (LSI), a system LSI, a super LSI, or an ultra LSI component that performs some or all of the functions
SUBSTITUTE SHEET (RULE 26) described in the present disclosure.
[0077] The present disclosure includes the use of software, applications, computer programs, or algorithms. Software, application programs, computer programs or algorithms can be stored on a non-transitory computer readable medium, so that a computer with one or a plurality of processors can execute said steps and the steps described in the drawings. For example, one or a plurality of memory units store software or algorithms via executable instructions, and one or a plurality of processors may associate a set of instructions for executing the software or algorithms.
[0078] Software and computer programs (also called programs, software applications, applications, components, or codes) include machine instructions for programmable processors, and may be realized in high-level procedural languages, object-oriented programming languages, functional programming languages, logic programming languages, or assembly languages or machine languages. The term "computer-readable medium" refers to any computer program product, apparatus or device used to provide machine instructions or data to the programmable data processor, such as magnetic disks, optical disks, solid-state storage devices, memories, and programmable logic devices (PLD), including computer-readable media that receive machine instructions as computer-readable signals.
[0079] For example, the computer-readable medium may include the dynamic random access memory (DRAM), random access memory (RAM), read only memory (ROM), electrically erasable read only memory (EEPROM), compact disk read only memory (CD- ROM) or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store the required computer- readable program codes in the form of instructions or data structures and can be accessed by a general or special computer or a general or special processor. As used herein, magnetic disks or disks include compact discs (CDs), laser disks, optical disks, digital versatile discs (DVDs), floppy disks, and Blu-ray disks, wherein magnetic disks usually copy data magnetically, and disks copy data optically via laser. Combinations of the above are also included in the scope of computer-readable media.
[0080] In one or a plurality of embodiments, the use of the words "able", "can", "operable as" or "configured as" refers to some devices, logics, hardware and/or components designed to be used in a specified manner. The subject matter of the present disclosure is provided as an example of the apparatus, system, method, and program for performing the
SUBSTITUTE SHEET (RULE 26) features described in the present disclosure. However, in addition to the aforementioned features, other features or modifications can be expected. It can be expected that any emerging technology that may replace any of the aforementioned implementation technologies may be used to complete the implementation of the components and functions of the present disclosure.
[0081] In addition, the above description provides examples without limiting the scope, applicability, or configuration set forth in the claims. Without departing from the spirit and scope of the present disclosure, changes may be made to the functions and layouts of the discussed components. Various embodiments may omit, substitute, or add various processes or components as appropriate. For example, features described with respect to some embodiments may be combined in other embodiments.
[0082] Similarly, although operations are depicted in a specific order in the Attached Drawings, this should not be understood as a requirement that such operations should be executed in the specific order shown or in the sequential order, or that all illustrated operations be executed to achieve the desired result. In some cases, multi-tasking and parallel processing can be advantageous.
SUBSTITUTE SHEET (RULE 26)

Claims

Claims
1 . A wireless device for automatic recovery from failures, comprising: one or a plurality of processors, and a memory unit, which is coupled to said one or a plurality of processors and comprises executable instructions saved therein; when loaded on said one or a plurality of processors, said executable instructions causes wireless device to execute the following operations: detecting whether said wireless device has failures; in response to detecting the failures of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within a predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
2. The wireless device as described in Claim 1, wherein: the module of said wireless device with the first priority comprises a wireless driver, and restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
3. The wireless device as described in Claim 1, wherein detecting whether the status of the module of said wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
SUBSTITUTE SHEET (RULE 26)
4. The wireless device as described in Claim 2, wherein the module of said wireless device with the second priority comprises a processor with a wireless driver running thereon.
5. The wireless device as described in Claim 1, wherein: said wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol, and a RPC server runs on the first processor, and a RPC client runs on the second processor.
6. The wireless device as described in Claim 5, wherein when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within a predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third priority, wherein restarting the module with the third priority automatically restarts the module with the second priority; the module with the second priority comprises a first processor, and the module with the third priority comprises a second processor.
7. The wireless device as described in Claim 5, wherein the module of said wireless device with the first priority comprises said RPC server.
8. The wireless device as described in Claim 5, wherein the first processor comprises an ATOM processor, and the second processor comprises an ARM processor.
9. The wireless device as described in Claim 6, wherein when loaded on said one or a plurality of processors, said executable instructions further cause said wireless device to execute the following operations: within a predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the third priority, sending an
SUBSTITUTE SHEET (RULE 26) instruction of restarting said wireless device to the user or the external device, wherein restarting the said wireless device automatically restarts the module with the third priority.
10. The wireless device as described in Claim 1, wherein said wireless device comprises a Wi-Fi device
11. A method for a wireless device to automatically recover from failures, said method comprising: detecting whether said wireless device has failures; in response to detecting the failures of said wireless device, detecting whether a status of a module of said wireless device with a first priority is abnormal; in response to detecting an abnormal status of the module of said wireless device with the first priority, restarting the module with the first priority; within a predetermined time period after restarting the module with the first priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the first priority, restarting a module with a second priority, which is lower than the first priority, wherein restarting the module with the second priority automatically restarts the module with the first priority.
12. The method as described in Claim 11, wherein: the module of said wireless device with the first priority comprises a wireless driver, and restarting the module with the first priority comprises one or a plurality of the following: soft restarting the wireless driver, reloading the wireless drivers, and returning the wireless driver to a previous version.
13. The method as described in Claim 11, wherein detecting whether the status of the module of said wireless device with the first priority is abnormal comprises: based on the connection information between said wireless device and the user device, detecting whether the status of the module of said wireless device with the first priority is abnormal.
SUBSTITUTE SHEET (RULE 26) 21
14. The method as described in Claim 12, wherein the module of said wireless device with the second priority comprises a processor with a wireless driver running thereon.
15. The method as described in Claim 11, wherein: the wireless device comprises a first processor and a second processor, and the first processor and the second processor communicate via the RPC protocol, and a RPC server runs on the first processor, and a RPC client runs on the second processor.
16. The method as described in Claim 15, said method also comprising: within a predetermined time period after restarting the module with the second priority, detecting whether said wireless device has failures; and in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the second priority, restarting a module with a third priority, wherein restarting the module with the third priority automatically restarts the module with the second priority; the module with the second priority comprises a first processor, and the module with the third priority comprises a second processor.
17. The method as described in Claim 15, wherein the module of said wireless device with the first priority comprises said RPC server.
18. The method as described in Claim 15, wherein the first processor comprises an ATOM processor, and the second processor comprises an ARM processor.
19. The method as described in Claim 16, further comprising: within a predetermined time period after restarting the module with the third priority, detecting whether said wireless device has failures; in response to detecting continued failures of said wireless device within the predetermined time period after restarting the module with the third priority, sending an instruction of restarting said wireless device to the user or the external device, wherein restarting the said wireless device automatically restarts the module with the third priority.
SUBSTITUTE SHEET (RULE 26) 22
20. The method as described in Claim 11, wherein said wireless device comprises a Wi-Fi device.
21. A non-transitory computer readable storage medium comprising executable instructions stored thereon, wherein said executable instructions, when executed by one or a plurality of processors, cause said one or a plurality of processors to execute the method described in any one of Claims 11 to 20.
22. An apparatus comprising components for carrying out the method described in any one of Claims 11 to 20.
SUBSTITUTE SHEET (RULE 26)
PCT/US2021/049592 2020-09-10 2021-09-09 A wireless device and a method for automatic recovery from failures WO2022056081A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010944756.7A CN114258053A (en) 2020-09-10 2020-09-10 Wireless device and method for automatic recovery from failure
CN202010944756.7 2020-09-10

Publications (1)

Publication Number Publication Date
WO2022056081A1 true WO2022056081A1 (en) 2022-03-17

Family

ID=78078412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/049592 WO2022056081A1 (en) 2020-09-10 2021-09-09 A wireless device and a method for automatic recovery from failures

Country Status (2)

Country Link
CN (1) CN114258053A (en)
WO (1) WO2022056081A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037601A (en) * 2022-06-09 2022-09-09 国能朔黄铁路发展有限责任公司 Network recovery method, system, medium and electronic device for vehicle-mounted network interface device
CN116546551A (en) * 2023-07-06 2023-08-04 深圳市华曦达科技股份有限公司 Wireless network equipment detection method, device and system
CN116761196A (en) * 2023-08-21 2023-09-15 深圳市华曦达科技股份有限公司 Recovery method and device for abnormal work of Bluetooth module
CN116827759A (en) * 2023-08-29 2023-09-29 北京中科网芯科技有限公司 Method and device for processing restarting instruction of converging current divider

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406491A (en) * 2016-09-22 2017-02-15 杭州龙境科技有限公司 A processor unit restart controlling method and device for a server and a server
US20170060707A1 (en) * 2015-08-25 2017-03-02 International Business Machines Corporation High availability dynamic restart priority calculator
CN106161109B (en) * 2016-08-30 2020-04-17 西安诺瓦星云科技股份有限公司 Network abnormity self-recovery method
US20200213400A1 (en) * 2016-10-20 2020-07-02 R&D Industries, Inc. Devices, Systems And Methods For Internet And Failover Connectivity And Monitoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060707A1 (en) * 2015-08-25 2017-03-02 International Business Machines Corporation High availability dynamic restart priority calculator
CN106161109B (en) * 2016-08-30 2020-04-17 西安诺瓦星云科技股份有限公司 Network abnormity self-recovery method
CN106406491A (en) * 2016-09-22 2017-02-15 杭州龙境科技有限公司 A processor unit restart controlling method and device for a server and a server
US20200213400A1 (en) * 2016-10-20 2020-07-02 R&D Industries, Inc. Devices, Systems And Methods For Internet And Failover Connectivity And Monitoring

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037601A (en) * 2022-06-09 2022-09-09 国能朔黄铁路发展有限责任公司 Network recovery method, system, medium and electronic device for vehicle-mounted network interface device
CN115037601B (en) * 2022-06-09 2023-07-14 国能朔黄铁路发展有限责任公司 Network recovery method, system, medium and electronic device for vehicle-mounted network interface device
CN116546551A (en) * 2023-07-06 2023-08-04 深圳市华曦达科技股份有限公司 Wireless network equipment detection method, device and system
CN116546551B (en) * 2023-07-06 2023-10-27 深圳市华曦达科技股份有限公司 Wireless network equipment detection method, device and system
CN116761196A (en) * 2023-08-21 2023-09-15 深圳市华曦达科技股份有限公司 Recovery method and device for abnormal work of Bluetooth module
CN116761196B (en) * 2023-08-21 2023-12-22 深圳市华曦达科技股份有限公司 Recovery method and device for abnormal work of Bluetooth module
CN116827759A (en) * 2023-08-29 2023-09-29 北京中科网芯科技有限公司 Method and device for processing restarting instruction of converging current divider
CN116827759B (en) * 2023-08-29 2023-11-03 北京中科网芯科技有限公司 Method and device for processing restarting instruction of converging current divider

Also Published As

Publication number Publication date
CN114258053A (en) 2022-03-29

Similar Documents

Publication Publication Date Title
WO2022056081A1 (en) A wireless device and a method for automatic recovery from failures
US8868130B2 (en) Apparatus and methods for state suspension in hybrid networks
US9740515B2 (en) Exception handling method, apparatus, and client
US8738094B2 (en) Automatically enabling wireless communication
US20200379749A1 (en) Software Upgrade Management Method, Server, Terminal, Apparatus, and Storage Medium
CN112350981B (en) Method, device and system for switching communication protocol
CN105677433A (en) Hot upgrading method and device for server program
US20110302302A1 (en) Adaptive mobile cloud system using private virtual intance and construction method thereof
US20220197690A1 (en) Application control method and apparatus, terminal, and computer-readable storage medium
CN104244037A (en) Media content caching
WO2017020458A1 (en) Plugin calling method and device
CN110651256A (en) System and method for preventing service interruption during software update
CN111143170A (en) Cloud mobile phone monitoring system and method
CN104468380A (en) Interface communication method of access point device and server interaction
CN112398689A (en) Network recovery method and device, storage medium and electronic equipment
US20230262813A1 (en) Device disconnection processing method and apparatus, mobile terminal, and storage medium
CN107257496A (en) A kind of live control method, device and mobile terminal
CN109413180B (en) Data acquisition method, system and equipment and storage medium
US11812487B2 (en) Method, device, extender, and computer medium for automatically restoring connection
CN103428357A (en) Method and apparatus for realizing local service sharing of mobile terminal operating system
CN107566215B (en) Wireless network cutout detection method, device, storage medium and mobile terminal
US20130044868A1 (en) Dial-up connection method and device of mobile data terminal
EP4304219A1 (en) Data transmission method and system, electronic device, and storage medium
EP3989215A1 (en) Synchronous display blinking
CN109426575B (en) Call service processing method and device

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: 21786699

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: 21786699

Country of ref document: EP

Kind code of ref document: A1