Device reconnection
A server system and user terminal facilitate efficient reconnection of household appliances by establishing direct communication links and using tokens for authorization, addressing the cumbersome nature of existing reconnection methods.
Patent Information
- Application Number
- PCT/EP2024/061207
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-24
- Publication Date
- 2025-10-30
Smart Images

Figure EP2024061207_30102025_PF_FP_ABST
Abstract
Description
[0001] DEVICE RECONNECTION
[0002] Technical Field
[0003] The present disclosure relates to connection of devices to a network. More specifically, the present disclosure relates to techniques for an improved reconnection of household appliances disconnected from a network.
[0004] Background
[0005] With the advance of Intemet-of-Things (loT), it is becoming increasingly popular to include network communication capability in household appliances and to establish smart homes with several communicatively connected household appliances.
[0006] The process of getting loT devices connected and ready to work is referred to as onboarding, provisioning or network set up and it consists of at least one out of i) connecting the device (e.g. household appliance) to the wireless local area network (e.g., the home Wi-Fi network) ii), registering the loT device with a server over the Internet or other network and iii) associating it with a user account. Various techniques have been proposed in the existing art to simplify this initial configuration, but techniques, systems and processes for recovering a connected state in case the credentials needed to join the network are changed are unsatisfactory. This can for example happen in many different cases, for example, because the secret (e.g., a password or a Personal Identification Number (PIN) code) is compromised or because a new access point managing the network is used to replace an old or broken access point. Furthermore, the network name can be changed to better specify a function or add details regarding the area of service in the exposed network name (e.g., SSID for Wi-Fi) for a better association and management of the network itself. In many known loT systems, the user wanting to reconnect the devices has to re-configure each of them, one by one, repeating the same initial set up process. This can be perceived as cumbersome and time consuming. Furthermore, since this process is oftentimes complicated, the user may struggle to remember how to perform this process and may have to consult the user manual to get this done properly. Summary
[0007] The present disclosure recognizes that there is a need for alternatives to (e.g. improvement of) the existing art described above. It is an object of some embodiments to solve, mitigate, alleviate, or eliminate at least some of the above or other disadvantages.
[0008] An object of the present disclosure is therefore to provide a novel approach for reconnection of one or more household appliances disconnected from a network.
[0009] In a first of its aspects, a server system for monitoring and / or remotely controlling household appliances via a network is disclosed. The server system comprises one or more servers comprising respective processor(s) and memory. The memory is configured to store user account data whereby terminals (e.g., user terminals) are linked to household appliances to allow remote control and / or monitoring by authorized terminals of linked household appliances. The memory comprises instructions executable by the processor(s) whereby the server system is operative to obtain information indicative of a network connection failure of a household appliance; responsive to obtaining said information, transmit a message to a terminal having an association with a user account linked to said household appliance, said message prompting the terminal to initiate a process to establish a direct communication link between the terminal and the household appliance and to transmit new network credentials for reconnecting the household appliance to the network; and re-establish a connection with said household appliance subsequent to a verification by the household appliance that it is permitted to accept the new network credentials from the terminal.
[0010] Re-establishing a connection with said household appliance may comprise receiving a connection request from the household appliance.
[0011] In some embodiments, the memory comprises instructions executable by the processor(s) whereby the server system is operative to transmit a message to said terminal responsive to obtaining said information, said message prompting the terminal to initiate a transmission of a token associated with reconnecting the household appliance to the network; and re-establish a connection with said household appliance subsequent to a decision by the household appliance to accept said token from the terminal. The message may be the same message as the message prompting the user terminal to initiate a process to establish a direct communication link. In some embodiments, said token has been generated by the server system or by the household appliance during an initial configuration process. In other words, the server system may be operative to, in the initial configuration process, generate the token and distribute it to the household appliance or the linked terminals.
[0012] Additionally, or alternatively, the server system may be operative to, in the initial configured process, receive a token generated by the household appliance and distribute it to the linked terminal.
[0013] In some embodiments, said token has been distributed to authorized terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
[0014] The user account data may comprise identification information for user account and an associated user, group of users and / or user terminal. The user account data may further comprise, and / or the memory may further store, identifying information of appliances associated with the user group, user and / or user terminal. A user terminal may be considered linked or associated with an appliance if a user having a user account linked to the appliance in server memory has logged in, or otherwise authenticated themselves, from the user terminal.
[0015] In some embodiments, the memory comprises instructions executable by the processor(s) whereby the server system is operative to determine that a connection failure of a household appliance from the network has occurred in response to a pre-determined period of inactivity during which period of inactivity the server system has not received any message from the household appliance.
[0016] In a second of its aspects, a terminal (e.g., a user terminal) is disclosed. The terminal comprises a processor; and memory comprising instructions executable by the processor whereby the terminal is operative to: receive, from a server system, an indication that a household appliance has lost its connection to a network, wherein said terminal has an association with a user account to which said household appliance is linked; in response thereto, initiate a process to establish a direct communication link between the terminal and said household appliance; and once established, transmit, via the established direct communication link, new network credentials to the household appliance and information allowing the household appliance to verify that the terminal is authorized to provide new network credentials.
[0017] In some embodiments, the information may comprise a token. In one embodiment, the memory comprises instructions executable by the processor whereby the terminal is operative to: in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance, receive a message from the household appliance prompting the terminal to provide the new network credentials; and in response thereto, transmit the new network credentials.
[0018] In one embodiment, the memory comprises instructions executable by the processor whereby the terminal is operative to transmit the new network credentials associated with the selected network to one or more additional household appliances being associated with the user account. The indication from the server system may identify the one or more additional household appliances. The memory may comprise instructions executable by the processor whereby the user terminal is operative to receive a confirmation from the user, via a user interface of the user terminal, to transmit the new network credentials to the one or more additional household appliances.
[0019] In one embodiment, the memory comprises instructions executable by the processor whereby the terminal is operative to: prompt a user to select a network and to provide new security information associated with a selected network; and transmit a message including information identifying a selected network as well as the new security information associated with the selected network, said new network credentials comprising the information identifying the selected network and the new security information. Additionally, the memory may comprise instructions executable by the processor whereby the terminal is operative to transmit the new network credentials to one or more additional household appliances being associated with the user account.
[0020] In some embodiments, the memory comprises instructions executable by the processor whereby the terminal is operative to terminate a direct communication link between the terminal and the household appliance after transmitting new network credentials to the household appliance.
[0021] In some embodiments where a token is used, the token has been generated by the server system or by the household appliance during an initial configuration process. In some embodiments, said token has been distributed to authorized terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
[0022] As used herein, the terminal may be a user terminal, i.e. a terminal which can be interacted with and / or operated by a user. The terminal may be a device selected from the group consisting of: a mobile communication device (e.g., a smartphone, a mobile telephone, a tablet computer, or a laptop computer) and a stationary communication device (e.g., a desktop computer).
[0023] According to a third aspect of this disclosure, a household appliance is disclosed. The household appliance comprises a processor; and memory comprising instructions executable by the processor whereby the household appliance is operative to implement a reconnection process comprising: in response to a network connection failure, initiate a process to establish a direct communication link between a terminal (e.g., a user terminal) and the household appliance; and once established receive, via the established direct communication link, from the user terminal new network credentials and information from the terminal allowing the household appliance to verify that the terminal is authorized to provide new network credentials.
[0024] In some embodiments, the information may comprise an authorization token. In some embodiments, the memory comprises instructions executable by the processor whereby the household appliance is operative to: compare the received token with one or more stored token(s); and in response to finding a match between the received token and one of the one or more stored tokens, transmit a message to the terminal prompting the terminal to provide new network credentials associated with a selected network.
[0025] In some embodiments, the memory comprises instructions executable by the processor whereby the household appliance is operative to: scan for available networks; and transmit a message to the terminal, the message including information related to a list of available networks found during said scan.
[0026] As used herein, the household appliance which is sometimes also referred to as a domestic appliance, a home appliance or an electric appliance is a device or machine which assists in household functions such as cooking, cleaning, and food preservation. Examples of household appliances include, but are not limited to, refrigerators, freezers, dishwashers, cookers, ovens, microwave ovens, washing machines, tumble dryers, vacuum cleaners, air conditioners.
[0027] According to a fourth aspect of this disclosure, a system is disclosed. The system is a system for implementing a reconnection service. The system may comprise a server system according to the first aspect, a terminal according to the second aspect; and a household appliance according to the third aspect.
[0028] According to a fifth aspect of this disclosure, a method performed by a server system for monitoring and remotely controlling household appliances via a network is disclosed. The server system comprises one or more servers comprising respective processor(s) and memory, wherein said memory is configured to store user account data whereby terminals (e.g., user terminals) are linked to household appliances to allow remote control and / or monitoring by authorized terminals of linked household appliances. The method comprises obtaining information indicative of a connection failure of a household appliance from a network; transmitting a message to a user terminal having an association with a user account linked to said household appliance, said message prompting the terminal to initiate a process to establish a direct communication link between the terminal and the household appliance and to transmit new network credentials for reconnecting the household appliance to the network; and re-establishing a connection with said household appliance subsequent to a verification by the household appliance that it is permitted to accept the new network credentials from the terminal.
[0029] In some embodiments, re-establishing a connection with said household appliance subsequent to said verification may comprise re-establishing a connection with said household appliance subsequent to a decision by the household appliance to accept a token received from the user terminal via the direct communication link.
[0030] In some embodiments, said token has been generated by the server system or by the household appliance during an initial configuration process.
[0031] In some embodiments, said token has been distributed to authorized terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process. Obtaining information indicative of a connection failure may comprise obtaining information about a pre-determined period of inactivity during which period of inactivity the server system has not received any message from the household appliance.
[0032] According to a sixth aspect of the present disclosure, a method performed by a terminal (e.g., a user terminal) is disclosed. The method comprises receiving, from a server system, an indication that a household appliance has lost its connection to a network, wherein said terminal has an association with a user account to which said household appliance is linked; in response thereto, initiating a process to establish a direct communication link between the terminal and said household appliance; and once established transmitting, via the established direct communication link, new network credentials to the household appliance and information allowing the household appliance to verify that the terminal is authorized to provide new network credentials.
[0033] For example, the information may comprise an authorization token.
[0034] In some embodiments, the method may further comprise in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance, receiving a message from the household appliance prompting the terminal to provide the new network credentials.
[0035] In some embodiments, the method comprises transmitting the new network credentials to one or more additional household appliances linked with the user account.
[0036] In some embodiments, the method further comprises: causing a user interface of the user terminal to prompt a user to select a network and to provide new security information associated with a selected network. In some embodiments, the method comprises transmitting a message including an indication of the selected network to one or more additional household appliances linked with the user account.
[0037] In some embodiments, the method comprises terminating a direct communication link between the terminal and the household appliance after transmitting said new network credentials to the household appliance.
[0038] In some embodiments, said acquired token has been generated by the server system or by the household appliance during an initial configuration process. In some embodiments, said token has been distributed to authorized terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
[0039] According to a seventh aspect of the present disclosure, a method performed by a household appliance is disclosed. The method comprises: in response to detecting a network connection failure, initiating a process to establish a direct communication link between a terminal (e.g., a user terminal) and the household appliance; and once established receiving, from the user terminal, via the established direct communication link, new network credentials and information allowing the household appliance to verify that the terminal is authorized to provide new network credentials.
[0040] The information may comprise an authorization token. In some embodiments, the method may comprise: comparing the received token with one or more stored tokens; and in response to finding a match between the received token and one or more stored tokens, transmitting a message to the terminal prompting the user terminal to provide new network credentials.
[0041] In some embodiments, the method comprises: scanning for available networks; and transmitting a message to the user terminal, the message including information related to a list of available networks found during said scan.
[0042] According to an eighth aspect of the present disclosure, a computer program is disclosed. The computer program comprises instructions which, when executed on one or more processors, cause the one or more processors to carry out the method according to any one the fifth, sixth and seventh aspects.
[0043] According to a ninth aspect of the present disclosure, a carrier is disclosed. The carrier comprises the computer program according to the eight aspect and the carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium.
[0044] According to a tenth aspect, a device is provided comprising: communication interface operable to connect to a wireless network; and a processor configured to receive a signal from the communication interface indicative of a failure to connect to a wireless communication network to which it was previously connected and, in response thereto, initiate a reconnection process comprising: controlling the communication interface to establish a direct wireless communication link with a user terminal; receiving a token from the user terminal over the direct wireless communication link; receiving new network credentials over the direct wireless communication link; and in response to authenticating the user terminal based on the token, controlling the communication interface, based on the new network credentials, to connect to a new network or said network to which it was previously connected. The method may further comprise before reception of the signal indicative of a failure, generating the token and distributing the token to the user terminal, via a direct wireless communication link between the device and the user terminal or via a network and a server system.
[0045] According to an eleventh aspect, there is provided a user terminal for assisting a device to connect to a wireless communication network comprising: a communication interface for communicating with one or more networks; a user interface to receive, from a user, network credentials for a wireless network of the one or more networks; and a processor configured to, in response to reception of an indication of a network connection failure of a device, control the communication interface to establish a direct wireless connection to said device; and transmit to said device, over the direct wireless connection, network credentials for a wireless network of the one or more networks, received via the user interface, and a token, proving to the device that the user terminal is authorized to provide new network credentials to the device.
[0046] The token may have been generated by said device in connection with an initial network connection process.
[0047] According to a twelfth aspect, there is provided a computer program for a user terminal for assisting a device to connect to a wireless communication network, the user terminal comprising a communication interface, a user interface and one or more processors and the computer program comprising instructions which when executed by the one or more processors of the user terminal cause the user terminal to: in response to obtaining an indication of a network connection failure of the device, cause the communication interface of the user terminal to establish a direct wireless connection to the device; and cause the communication interface of the user terminal to transmit, over the direct wireless connection, network credentials for a wireless communication network, received via the user interface of the user terminal, and a token, proving to the device that the user terminal is authorized to provide new network credentials to the device.
[0048] The various aspects and embodiments described throughout this disclosure allow for a novel approach for reconnection of one or more disconnected household appliances from a network. For example, the present disclosure recognizes the fact that it may be advantageous that the server system is involved in the discovery process of the household appliance being offline and notifying a linked terminal to re-start provisioning to subsequently enable the re-establishment of a connection with said household appliance. In certain embodiments, it is also possible to re-provision more than one household appliance in one step or a small number of steps (from the user point of view).
[0049] Brief Description of the Drawings
[0050] These and other aspects, features and advantages will be apparent and elucidated from the following description of various embodiments, reference being made to the accompanying drawings, in which:
[0051] FIG. 1 illustrates an operating environment for the provisioning and reprovisioning, in accordance with some aspects;
[0052] FIG. 2 is a signalling diagram illustrating the generation and distribution of a token in accordance with an aspect;
[0053] FIG. 3 is a signalling diagram illustrating the generation and distribution of a token in accordance with another aspect;
[0054] FIG. 4 is a signalling diagram illustrating the generation and distribution of a token in accordance with yet another aspect;
[0055] FIG. 5 is a flowchart illustrating a method performed by, or otherwise executed in, a server system according to an aspect;
[0056] FIG. 6 is a flowchart illustrating a method performed by, or otherwise executed in, a terminal according to an aspect;
[0057] FIG. 7 is a flowchart illustrating a method performed by, or otherwise executed in, a household appliance;
[0058] FIG. 8 is a signalling diagram illustrating an example implementation of a reconnection process; and FIG. 9 is a flowchart illustrating a method performed by, or otherwise executed, in a terminal according to an aspect.
[0059] Detailed Description of Embodiments
[0060] The present invention will now be described more fully hereinafter. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those persons skilled in the art. Like reference numbers refer to like elements throughout the description.
[0061] As described earlier, some existing solutions for reconnection of one or more household appliances disconnected from a network may be perceived as inadequate by some users. For example, existing solutions for reconnecting a disconnected household appliance may be perceived as unnecessarily time-consuming or cumbersome by some users. In turn, this may be perceived as frustrating. Furthermore, this frustration may be even more prevalent in situations where the user wishes to reconnect multiple disconnected household appliances quickly.
[0062] It is therefore a general object of aspects and embodiments described herein to allow for an alternative (e.g., improved) reconnection of one or more disconnected household appliances from a network.
[0063] To address this, in accordance with one aspect, the present disclosure provides that a remotely located server system can be involved in the discovery process of the household appliance being offline and, further, e.g. prompts an application running on a user terminal to re-start a provisioning process with the disconnected household appliance.
[0064] Turning now to the figures, various embodiments of the invention will be described in further detail. FIG. 1 shows an operating environment for the provisioning and the re-provisioning, in accordance with some aspects. The operating environment comprises one or more household appliances 400. As an example, the household appliance 400 may be an any appliance performing or assisting in household functions such as a refrigerator, a freezer, a washing machine, a dryer, a microwave, an oven, a cooker, a vacuum cleaner or a fan. Each household appliance 400 may include a communication module 420, which may be configured to allow the household appliance to communicate with other devices, using one or more different communication technologies. As such, it may comprise one or more communication units 421, 422, the communication units comprising hardware and software for communicating according to one or more communications technology standards. For example, it may comprise a WiFi unit and short-range communication unit or it may comprise two Wi-Fi communication units. As shown in Figure 1, the communication interface is configured to communicate with a first network 100 and a second network 110. The communication interface 420 may control the first communication unit 421 to connect to the first network 100. The first network may comprise more than one network. For example, it may comprise a home network, such as a Wi-Fi network, and the Internet. In that case, the first network may also comprise a router, implementing a Wi-Fi access point for communicating with devices in the household, including the household appliance, and a modem for communicating with the Internet. However, it will be appreciated that the above is just one example and the first network can include any wireless or wired network including Wide Area Networks (WANs), Local Area Networks (LANs) and Personal Area Networks (PANs). It may include a telecoms network, such as a 4G, 5G or 6G network. It may include a home hub.
[0065] The communication interface 420 may control the second communication unit 422 to establish the second network 110. The communication interface may alternatively control the first communication unit 421 to establish the second communication network. The second network 110 may be a short-range network such as a Bluetooth™ network, for example a Bluetooth Low Energy (BLE) network. One out of the appliance and the user terminal may act as a central device and the other one out of the appliance and the user terminal may act as a peripheral device. Alternatively, the second network may be a Wi-Fi network established by one out of the appliance and the user terminal activating a software access point (SoftAP) mode and the other out of the appliance and the user terminal adopting station mode (STA). However, it will be appreciated that any suitable wireless communication technology may be used for the second network including, for example, Near Field Communication (NFC) technology or ZigBee communication technology as an alternative to Bluetooth or Wi-Fi as described above. Even further, although the second network has been described as a wireless network above, it could be any suitable communication link including a wired communication link, such as a Universal Serial Bus (USB) cable, Ethernet cable, and / or other type of wired data connection. Although the communication module has been described to comprise two communication units, in some embodiment it may include additional communication units or a single communication unit. It may comprise a Wi-Fi unit for connecting to both the first and the second network. In some implementations, the single Wi-Fi unit may support two independent concurrent channels, e.g. access point and station).
[0066] Additionally, the household appliance 400 may include a user interface 430. The user interface 430 may include an audio output 432 capable of producing a variety of beeps or other sounds, as well as a visual output 433 that may include an indicator light, display screen, and / or the like. In some embodiments, the user interface 430 of the household appliance 400 may include a user input 431. The user input 431 may include a button, dial, switch, and / or the like to allow a user 201 to provide input to the household appliance 400. The household appliance also comprises a processor 440 and a memory 410. The processor 440 is coupled to the communication interface 420, user interface 430 and memory 410. The processor may comprise one or more processors, such as microprocessors. When the processor comprises more than one processor, they may be co-located or in different locations within the household appliance. The memory 410 may comprise at least one volatile memory, at least one non-volatile memory and / or at least one data storage unit. The volatile memory, non-volatile memory and / or data storage unit may be configured to store computer-readable information and / or instructions for use / execution by the processor. Portions of the memory may be internal memory of the processor, the communication interface and / or user interface. The memory may store one or more tokens for a reconnection process, as will be described in more detail below.
[0067] The user terminal 200 is separate and distinct from the household appliance 400. The user terminal 200 may be an external electronic device owned and / or operated by a user 201. The user may be a consumer, having bought the appliance from an appliance manufacturer, and the user terminal may be a mobile telephone. However, the user could alternatively be a technician associated with the manufacturer or a service company. As other examples, the user terminal 200 may be a laptop or desktop computer, smartphone, tablet, smart device, Internet-of-Things (loT) device, single-board computer (SBC), and / or the like. The user terminal 200 may be in operative communication with the communication interface 420 via the second network 110, which as described above may be a Wi-Fi, Bluetooth or NFC connection, and / or the like. In some embodiments, the user terminal 200 may be in operative communication with the communication module 420 via a wired communication link, such as a Universal Serial Bus (USB) cable, Ethernet cable, and / or other type of wired data connection. In this way, the user 201 may use the user terminal 200 to configure the household appliance 400. A direct communication link between the user terminal 200 and the communication module 420, providing the second network 110, may be maintained independently of the status of the connection between the household appliance 400 and the first network 100.
[0068] The user terminal 200 may include a communication module 220, a processor 240, and a memory 210. The communication interface 220 may comprise one or more communication units for communicating with external devices. The communication units may comprise hardware and software for communicating according to one or more communications standards. For example, it may comprise a communication unit, such as a Wi-Fi unit, to communicate with a home Wi-Fi router. The Wi-Fi unit could also be used to establish a direct communication link, providing the second network 110, to the household appliance. Additionally or alternatively, the communication interface 220 may comprise a second communication unit, such as a BLE unit, to communicate directly with the household appliance. As indicated above, BLE is just one example and the second communication unit could operate according to other communication technologies. It could for example include a connector for a wired connection to the appliance. The communication interface may comprise an additional communication unit, for communicating via a telecoms network, such as a 4G, 5G or 6G network. As such, the communication unit could include or be configured to receive a SIM card. Using such a communication unit, the user terminal may connect to the Internet without going through a home network, allowing it to communicate with the remote server even when it is not in the home. The user terminal 200 may include a user interface 230 which serves to interact with the user 201 such that the user 201 can operate the user terminal 200. The processor is coupled to the communication interface 220, user interface 230 and memory 210. The memory may comprise at least one volatile memory, at least one non-volatile memory and / or at least one data storage unit. The volatile memory, non-volatile memory and / or data storage unit may be configured to store computer-readable information and / or instructions for use / execution by the processor. Portions of the memory may be internal memory of the processor and / or the communication interface and / or user interface. The memory may store one or more tokens for a reconnection process, as will be described in more detail below. When the user terminal is a mobile phone, the processor 405 may run an operating system such as Android™ or iOS™, interacting with a number of software applications (“apps”) of the user terminal. The operating system and the apps may be stored in memory. The apps may be loaded into volatile memory for execution by the operating system, run by the processor, when the user launches the apps. The apps may comprise an app, provided by the appliance manufacturer and downloaded from a third- party service, or otherwise obtained, which can help the user connect the appliance to the first network 100. The app may also allow a user to monitor or control the household appliance.
[0069] The user interface 230 may include the hardware and software components to accept input from and provide output to the user 201. Accordingly, the user interface 230 may include hardware, such as a display, audio output devices, projectors, and / or the like, or input devices, such as keyboards, mice, sensors, cameras, microphones, biometric input devices (e.g., fingerprint readers), and / or the like. The user interface 230 may include software such as a graphical or command-line interface through which the user may provide inputs and / or receive outputs from the user terminal 200. The user interface 230 may include an integrated display (e.g., a tablet or smartphone screen) within the user terminal 200, such as a touchscreen, an external display device (e.g., a computer monitor or television), and / or the like.
[0070] A server system 300 may be operated by the household appliance manufacturer or a third party and may be connected to the household appliance 400 via the one or more networks 100. The server system 300 is separate and distinct from the household appliance 400. The server system 300 is typically also located remotely from the household appliance. Therefore, the server system 300 may be referred to as a remote server system 300. The server system may form part of a data storage and processing cloud providing remote data storage and processing services. The server system may comprise one or more processors 320 and memory 310. The memory may comprise at least one volatile memory, at least one non-volatile memory and / or at least one data storage unit. The volatile memory, non-volatile memory and / or data storage unit may be configured to store computer-readable information and / or instructions for use / execution by the one or more processors. Portions of the memory may be internal memory of the one or more processors. The server system would also comprise one or more network interfaces to communicate with the appliance and the user terminal, such as a network interface of an Internet of Things (loT) Server and / or a push notification server. As mentioned above, the server system may be configured to communicate with the user terminal and the appliance via the first network which may refer to a global area network (GAN), such as the Internet, a wide area network (WAN), a local area network (LAN), other types of network, and / or the like. It may for example comprise Wi-Fi networks, a telecoms networks such as 4G, 5G and 6G networks, and the Internet. The network 100 may provide for wireline, wireless, and / or a combination wireline and wireless communication between devices on the network. The user terminal can connect to the server system and communicate with the appliance via the server system to monitor and / or remotely control the appliance. The user terminal can also establish a direct communication link with the appliance, over the second network 110, to provision the appliance, including aiding the appliance to connect to the first network 100. In some implementations, the user terminal may also monitor and remotely control the appliance processes using the direct communication channel provided by the second network 110.
[0071] The memory 310 of the server 300 may store user account data identifying users of the system. The user account data may store identifying data for the user account and identifying data for one or more users and / or groups of users associated with the user account. Each user account, or one or more linked user accounts, may be associated with a user domain associated with a group of users. The user account data may additionally, or alternatively, store identifying data for one or more user terminals associated with the user account. The memory may also store appliance data comprising identifying data for appliances and key information about each appliance for remotely monitoring and / or controlling the appliance. The memory may also store data linking each appliance to one or more user accounts. By linking one or more appliances to a user account, the one or more appliances can be permitted to be monitored and / or controlled by the one or more users, user groups and or user terminals linked to the user account. The data linking appliances to a user account may be stored as part of a user account data structure or it may be stored separately, for example as part of an appliance data structure or as part of an appliance-user linking data structure forming part of a relational database. The memory may store different permissions for different users / users groups / user terminals to provide different levels of authorization with respect to monitoring and / or control of the appliances and / or all users / user groups / user terminals may have the same level of authorization. In other words, all users linked to a user account may be authorized to monitor and / or control appliances linked to the user account. The user account data may also comprise security information, such as a password, for the linked users to allow users to authenticate themselves to the system. The users may for example authenticate themselves to the system every time they log-in to an app on their user terminal. In some implementations, the user account data may also comprise, and / or the memory 310 may otherwise store, one or more tokens for a reconnection process as will be described in more detail below.
[0072] Before turning to the proposed reconnection, or re-provisioning process, proposed in this disclosure an example of a high-level process of provisioning a household appliance 400, including connection to a home network and then via the home network and the Internet to a remote server, will be briefly described to give better context to the various aspects and embodiments that are outlined later in this disclosure.
[0073] 1. Firstly a user terminal 200 sets up a direct connection between the user terminal 200 and the household appliance 400 via Bluetooth or Wi-Fi. In some implementations, this would be preceded by the user terminal, under the control of a user, downloading, opening and / or using a software application (“app”) associated with the manufacturer or other third party to allow the user terminal to then follow the instructions in the app to set up a connection between the appliance and the user terminal and configure the appliance to connect to the network 100 and remote server system 300. The user may, at the time of downloading the app, before or after, create a user account, by sharing for example an email address and a password with the server system, over the first network 100. The user account may be created via the app or otherwise. As briefly indicated above, the direct connection could be realised by the user selecting an option in the app to add a new household appliance and, if Wi-Fi is used, the household appliance activating SoftAP mode and the user terminal activating station mode, a user entering a Wi-Fi SSID (Service Set Identifier) corresponding to the household appliance in the app or selecting the Wi-Fi SSID by navigating to Settings>Wi-Fi on a display of the user interface of the user terminal (or informing the user terminal of the SSID of the appliance in other suitable ways), and the user terminal sending a request to connect to the appliance using the SSID. Alternatively, if Bluetooth is used, the user may see a popup on a display screen 230, informing that an appliance has been found and asking the user to confirm that a provisioning process for the appliance should be started whereby the user terminal adopts the role of a central device and connects to the appliance as a peripheral device, starting a Bluetooth pairing process between the devices. It will be appreciated that the above are just examples and other processes, including additional or fewer operations, are possible. For example, if the Wi-Fi communication module and / or the BLE communication module is not powered on, the establishment of the direct connection may be preceded by the app guiding the user to turn on the Wi-Fi / BLE module, for example by prompting the user to push a button on the appliance or navigate to a certain place in a menu displayed on the user interface of the user terminal. The household appliance 400 scans for available networks Wi-Fi networks and sends a list to the user terminal 200. The user 201 operates the user terminal 200 to select the home network 100 from the received list and enters the password (alternatively, the user terminal 200 recognises the home network from the list based on previously used information and retrieves a stored password). The user terminal 200 sends the SSID and password of the home network 100 to the household appliance 400. The household appliance 400 connects to the home network 100 using the received credentials. The household appliance 400 then connects to a remote server system 300 via the home network 100 and the Internet. The household appliance 400 informs the user terminal 200 (via the direct connection) that the connection was successful. The direct link between the household appliance 400 and the user terminal 200 ends. Future communication between the household appliance 400 and the user terminal is via the remote server system 300. The remote server system 300 stores information about which household appliances belong to the user. A link between a household appliance and a user can be created by a user registering the household appliance 400 to themselves at some point, for example as an additional operation in the process described above. The registration can be accomplished by the user terminal sending a message to the server with identifying data for the user terminal and / or user and the appliance, or the user terminal sending identifying data for the user terminal and / or user to the appliance for the appliance to forward to the server system together with its own identification data, and the server storing a link between the identifying data of the appliance and the user in memory. The server system may link the appliance to more than one user terminal or user, for example by each user terminal or user being associated with a user account linked to the appliance in server memory. On receipt of the identifying data for the appliance and the user / user terminal, the server may store an association, in memory, between the appliance and the user account to which the user / user terminal belongs. As already mentioned above, this may be stored as part of user account data or separately. It will of course be realised that modifications to the process above can be made. For example, additional or fewer operations may be carried out or the operations may be carried out in a different order. The appliance may carry out an additional scan for networks to identify the selected network once it has received the selection from the user terminal. If the home network, or other network to which the user wants to connect the appliance, is a hidden network, the user may not select the network as indicated in operation 3 and / or the appliance may not even scan for networks in operation 2. The user may instead just enter the details of the network on the user interface of the user terminal and the user terminal may send the SSID and password to the appliance. As another example, the appliance may not send a list of networks to the user terminal but just receive an instruction to connect to a particular network from the user terminal and may report back to the user terminal if it cannot find it. Moreover, various additional messages may be exchanged to trouble-shoot, or inform the user terminal / user about progress. An example of a provisioning process, including some of the operations mentioned above, is also disclosed in the international patent application publication WO2016172538.
[0074] This disclosure provides for that a token is additionally generated and distributed during the initial configuration process, or the initial provisioning process or at some point afterwards. As will be appreciated more fully by the below disclosure, the generated and distributed token can be used in later reconnection processes, or re-provisioning processes. The token is a “secret” that is used as ad hoc authorization in case an update of the network configuration is needed. In some implementations, possession of the token by the user terminal is mandatory for the household appliance to accept the new credentials sent by the user terminal. In other words, the possession of the token by user terminal indicates that the user terminal has permission to provide new network credentials to the appliance in the case of disconnection from a network. As will be described in more detail below, alternative ways of indicating permission are also contemplated. It will be appreciated that hereinafter when we refer to embodiments using a token, the use of the token can be replaced with alternative ways of indicating permission. Reference is now made to three different signalling diagrams in FIGs. 2-4, which illustrate various conceivable examples of the generation and distribution of the token. The initial configuration process is basically the same as operations 1-9 described above with the added feature of generating and distributing the token. In some implementations, the household appliance 400 is operable to generate the token. For example, FIG. 2 illustrates an example where the household appliance 400 generates the token, but the remote server system 300 distributes the token to user terminal(s) linked to the household appliance 400 that generated the token. In other implementations, the household appliance 400 is operable to both generate the token and to distribute the token as is illustrated in FIG. 3. In still other implementations, the remote server system 300 is operable to generate and distribute the token as can be seen in FIG. 4. The token may be an alphanumeric string. It may be generated randomly by the processor of the communication module of the household appliance or it may be generated in the cloud, for example by a processor of the server system.
[0075] In each of the examples, in addition to distributing the token to the user terminal that provided the network credentials, the server system (and / or household appliance) may distribute the token to one or more (or all) other user terminals associated with the household appliance. As already described above, the remote server system may store user account data including identification data for users, user groups and / or user terminals and further data (as part of the user account data or separately) indicating with which appliances the users, user groups and / or users are linked. The remote server may also store special permissions for some users and / or some user terminals, such as special permission to configure, including re-configure, an appliance. For example, the “owner” of a user domain, user account and / or an appliance may have such special permissions. Specifically, the token may be distributed to all authorized user terminals, wherein user terminal authorized to receive a token is a user terminal having an association with the appliance or a user terminal having an association with the appliance and also indicated to have special permissions to configure the appliance based on data stored in server memory. In some implementations, a user terminal may be considered linked or to have an association with an appliance if a user having a user account linked to the appliance in server memory (or other memory) has logged-in, or otherwise authenticated themselves, from the user terminal. In at least some of those implementations, a user terminal may be considered to be indicated to have special permissions if a user indicated to have special permissions in server memory (or other memory) has logged in, or otherwise authenticated themselves, from the user terminal. The token may be encrypted. For example, the user terminal, for example the app of the user terminal, may generate an asymmetric key pair and deliver, directly or via cloud, the public part to the appliance to have the token encrypted and hence visible only to the mobile app. If the server generates the token, the public part of the key pair may be delivered to the server. The use of the token prevents any non-authorized person and / or entity to hijack the appliance when the network is temporarily not available. As such, it is preventing any unauthorized access to the device.
[0076] It will be appreciated that the order of some of the operations in these diagrams can be varied. Moreover some of the steps are optional such as the step in FIG. 3 for sending the token to the remote server. Moreover, the process may comprise additional operations. For example, in addition to the authorization token, the server system or the appliance can deliver to the (mobile app of the) user terminal also other parameters to simply the configuration for example the name / address / URL of the service to be called for the credential update or the name of the access point (such as SSID or BLE name) to be temporarily activated by the appliance for the sharing of the new credentials information. The sharing of the token, and later use of the token, may be transparent to the user. Specifically, the user may not be aware that the user terminal receives and stores a token and that the token is later sent to the appliance for validation. Although it has been indicated above that the token is generated and shared as part of the initial provisioning process, the token may not be generated, or at least shared, until some time afterwards. In fact, if the server system generates the token itself, or receives the token from the appliance and then stores the token, the token may not be shared, by the server system, until network credentials need to be updated. The user terminal may request the token from the server system when needed or at another appropriate time.
[0077] In the following, a proposed reconnection, or reprovisioning, process will be described in further detail with reference to flow charts schematically illustrating actions, or method steps, executed by the different apparatuses or components involved in this process. Reference is now made to FIG. 5, which shows a flow chart illustrating an example of a method 500 of monitoring and / or remotely controlling household appliances via a network 100. The method 500 is computer-implemented. In some implementations, the method 500 is performed by, or otherwise executed in, the server system 300, for example by the one or more processors 320 and network interfaces of the server system. As mentioned above, the server system may comprise one single server, or alternatively, several servers in a distributed server environment, such as a “cloud”. The server(s) comprise(s) respective processor(s) and memory, as shown in Figure 1, and said memory is configured to store user account data, whereby user terminal(s) 200 are associated with household appliance(s) 400 to allow remote control and / or monitoring by authorized user terminals of linked household appliances. A user terminal may be considered linked or associated with an appliance if a user having a user account linked to the appliance in server memory has logged in or otherwise authenticated themselves, using the user terminal. In some implementations, all user terminals and / or users associated with an appliance may be authorised to remote control and / or monitor linked appliances. In other implementations, different user terminals and / or users may have different permissions with respect to how to interact with the appliances and the server memory may store an indication of the permissions for each user and / or user terminal. For example, the server memory may store data or flags indicating which users (and / or user terminals) are permitted to monitor linked appliances and which users (and / or user terminals) are permitted to control linked appliances. More specifically, the server memory may store data or flags indicating which users (and / or user terminals) have permission to configure linked appliances such as permission to provide network credential data for connecting linked appliances to networks. Tokens to be used in reconnection processes, as described herein, may in some implementations only be distributed to user terminals indicated to have permission to provide network credentials for connecting linked appliances based on the records in server memory.
[0078] Action 510: Information about a connection failure of a household appliance from a network is obtained. The information may be information of an occurrence indicative of a connection failure. In some embodiments, the server system 300 determines 512 that a connection failure of a household appliance 400 from the network has occurred in response to a pre-determined period of inactivity during which period of inactivity the server system 300 has not received any messages from the household appliance 400. For example, the server system may be programmed to detect if the time since it has received a communication, for example reporting status and / or operational information, from an appliance has exceeded a predetermined threshold time and, when it does, generate an event communicated to another part of the server system. The occurrence of the event indicates a connection failure. The server may make the determination that a connection failure has occurred based on typical or average times expected between messages from the appliance. For example, if the time since the last message from the appliance is n times the average or typical time, where n can be 2, 3, 4, 5, 6 or a higher number, it may determine that there has been a connection failure. Additionally, the server may take into connection information for other appliances in the household. For example, if the time since a dishwasher sent a message is 3-5 times the truncated mean time between previous messages from the dishwasher, and no messages from other appliances in the household, or all (or most) appliances linked to the same user account, have been received in the last H hours (or minutes), the server system may determine that a connection failure has occurred. The determination may be made based on a comparison with one or more thresholds and the thresholds may be set based on one or more of the type of appliance and the habits of the particular user associated with the appliance. As an alternative example, if the household appliance is configured to respond to messages from the server with acknowledgements, the period of inactivity may be a period of inactivity in which the server system has not received any acknowledgement messages. The server may determine that a connection failure of the household appliance 400 from the network has occurred in response to a determination that an acknowledgement message has not been received. As above, a timer may be used and the server may be programmed to detect if the time since it sent a message, to which it would expect an acknowledgement, has exceeded a predetermined threshold, and when it does generate an event communicated to another part of the server system. The occurrence of the event indicates a connection failure. As yet another alternative, if the household appliance is configured to send keepalive messages to keep a communication channel with the server open, the period of inactivity may be a period in which no keepalive messages have been sent. The server may determine that a connection failure of the household appliance 400 from the network has occurred in response to a determination that a keepalive message has not been received. As above, a timer may be used and the server may be programmed to detect if the time since the last keepalive message has exceeded a predetermined threshold based on the keepalive interval set for the connection with the household appliance and / or by the communication technology used, and when the threshold is exceeded generate a connection failure event. The occurrence of the event indicates a connection failure.
[0079] Additionally, or alternatively, the server system 300 may obtain information indicative of a connection failure of a household appliance from a network by receiving a notification message notifying the server system 300 about the connection failure. For example, the server system may receive such information from the linked user terminals 200 or from a third-party service. For example, a user 201 may himself / herself discover a connection failure and transmit a trouble-shoot request message to the server system 300. Alternatively, the server system may send a message to the user terminal causing the user terminal to display a message to the user asking the user if the home network is down or if the home network router or password has been changed. The user terminal may return the user’s response and the server system may obtain information about (occurrence of) a positive or a negative response and determine 512 whether a connection failure has occurred or not based on the response. It will be appreciated that there may be other information indicative of a connection failure and the information may not be information about an occurrence. Instead, it may be information about the absence of an occurrence, for example the absence of a message from the appliance.
[0080] Action 520: Responsive to obtaining the information about connection failure in action 510, the server system 300 transmits a message to a user terminal 200 having an association with a user account linked to said household appliance 400. The message may be a push notification. This message prompts the user terminal 200 to initiate a process to establish a direct communication link between the user terminal 200 and the household appliance 400 and to transmit new network credentials for reconnecting the household appliance 400 to the network 100. The server system may first look up, in memory, a user account linked to the one or more appliances which have lost connection and one or more user terminals linked to that user account. For example, it may send the message to one or more user terminals associated with users with special permissions to configure the appliance, such as the owners of the appliances or the user accounts, and / or user terminals indicated as primary user terminals for that account, or it may send it to all user terminals linked to the appliance.
[0081] Optionally, the server system 300 transmits 522 an initial message to the user terminal 200, wherein the initial message informs the user that a connection failure is suspected and asks the user whether he / she has changed network credential s / router.
[0082] The messages may be sent as one single message, i.e. being the same message. Alternatively, the messages may be sent as two separate messages. The message that prompts the user terminal to initiate a process to establish a direct communication link may not be sent until the user has acknowledged that the network credentials have changed. The message may simply cause instructions pre- stored in a mobile app to be executed. The one or more message transmitted to the one or more user terminals may include identifying information of the appliance, such as, but not limited to a serial number and / or model number. Alternatively, it may just inform the user terminal that all appliances linked to the relevant user account have lost connection.
[0083] In embodiments in which a token is used, the message that prompts the user to initiate a process to establish a direct communication link to the appliance and transmit new network credentials may also cause the user terminal to send a token associated with reconnection of the household appliance to the appliance. The message may additionally or alternative include the token, if the token was not distributed earlier. Instructions to return the token may be part of the computer program instructions implemented in an app, for example the app already mentioned, for reconnecting the appliance, including submitting new network credentials. The message from the server system may simply cause instructions in the app, to initiate a process to establish the direct communication link and to send the token and new credentials via the direct communication link, to be executed. As discussed earlier, the token has been generated by the server system 300 or by the household appliance 400 during an initial configuration process. The token has been distributed to the authorized user terminal(s) associated with a user account linked to the household appliance 400 during the initial configuration process or at another appropriate time. If the token has not been previously stored in memory 210 of the user terminal, but the token is stored in the server, the user terminal may request the token from the server system at this stage. Action 530: A connection with said household appliance is re-established. Typically, the connection is re-established subsequent to a verification by the household appliance 400 that it is permitted to accept the new network credentials from the user terminal 200. Re-establishment of the connection may involve receiving an open connection request from the appliance and accepting the connection request. It may also involve analysing information in the connection request to determine if the household appliance has the right to connect to the server system. This information may comprise another authorization token previously issued by an authorization server of the server system.
[0084] In embodiments in which a token is used, the connection with said household appliance is re-established subsequent to a decision by the household appliance 400 that a token received from the user terminal 200 is a valid token. For example, the household appliance 400 may compare the token to a token stored in memory and only attempt to reconnect to the home network, and via the home network (and other networks) to the remote server, if there is a match between the received token and the stored token.
[0085] Reference is now made to FIG. 6, which shows a flow chart illustrating an example of a method 600. The method 600 is computer-implemented. In some implementations, the method 600 is performed by, or otherwise executed in, the user terminal 200, which is operated and interacted with by user 201 (see FIG. 1), for example by the processor 240 and communication interface 220 of the user terminal. The method 600 can be used for assisting in reconnecting one or more household appliances after a connection failure has occurred. The user terminal 200 comprises a processor; and memory comprising instructions executable by the processor whereby the user terminal is operative to perform the herein described actions, or method steps.
[0086] Action 610: The user terminal 200 receives an indication that a household appliance 400 has lost its connection to a network, wherein the user terminal 200 has an association with a user account to which this household appliance 200 is linked. The indication may be received from a server system. The indication may include identifying information for the appliance, such as, but not limited to, a serial number and / or model number. Alternatively, it may include information informing the user terminal that all appliances linked to the user account have lost connection. Action 620: The user terminal may display a notification or message on the user interface of the user terminal, for example in the app, and receive a confirmation from the user, via the user interface, that the user terminal should start a reconnection process. It is contemplated that the indication of a connection failure may be shown on the user interface of the user terminal as a pop-up notification and clicking on the notification opens the app (if not already open) and displays an option to the user to start the reconnection process. The app may first display a message asking the user if credentials / the router has been changed and may not start the reconnection process until the user confirms that the reconnection process should be started. If the user terminal is not within range of the appliance(s), the user terminal may wait to alert the user of the connection failure, or at least wait to ask the user to confirm that the reconnection process shall be started, until it is within range. As such, the app may be configured to remind the user later.
[0087] Action 630: The method may comprise acquiring a token. The token may for example be acquired from a memory module 210 of the user terminal 200 or, alternatively, from a memory or other storage located remotely from the user terminal 200. It could for example request and / or receive it from the server as discussed with respect to Fig. 5 above. The app may not retrieve the token until the user terminal has received an instruction from the user, via the user interface, that the user wants to proceed with the reconnection process.
[0088] Specifically, as already mentioned, the acquired token may have been generated by the server system 300 or by the household appliance 400 during an initial configuration process. In some implementations, the acquired token has been distributed to authorized user terminal(s) associated with a user account linked to the household appliance 400 by the server system 300 or by the household appliance 400 during the initial configuration process.
[0089] Action 640: In response to receiving the indication of connection failure and instruction to start the reconnection process, the user terminal 200 initiates a process to establish a direct communication link between the user terminals 200 and said household appliance 400. If more than one appliance is linked to the user account and have lost connection, the user terminal for example initiates a process to establish a direct communication link to a selected first appliance indicated in the indication from the server or to a first appliance stored as part of a list of appliances in memory. The process to establish a direct communication link would include some of the actions from the process described with respect to the first operation of the initial provisioning process above, although the user would not need to create a user account or need to download / open the app again. Similarly, if the user terminal has stored the SSID, Bluetooth name or other identifying information for the appliance for establishing a connection with the appliance, or is otherwise able to obtain it without input from the user, the user will not be prompted to input or otherwise provide the information to the user terminal. For example, in some implementations it may obtain the SSID or Bluetooth name, or any identifying information of the appliance for obtaining the SSID or Bluetooth name, from memory or from the server. For example, a list of appliances linked to the user account, including identifying information and SSID / Bluetooth name information may be stored in the app memory. In some implementations, no further input or action from the user is needed. However, in some circumstances or implementations, the process may include guiding the user, via the app, to turn on wireless communication units, for example a BLE communication unit, in the user terminal and / or the appliance. As such, in some implementations, the user is asked to carry out a reduced number of actions compared to the actions in the full provisioning process carried out the first time the appliance was connected.
[0090] Action 650: Once established, the user terminal 200 transmits, via the established direct communication link, new network credentials to the household appliance together with the token allowing the household appliance to verify that the user terminal is authorized to provide new network credentials. The new credentials may be stored in memory, for example because the user terminal has previously connected to the new router, and be automatically retrieved from memory, or the user may be prompted to enter the new credentials via the user interface.
[0091] In some embodiments, the user terminal 200 is operative to receive 610 said indication of a connection failure as part of a message with instructions from the server system and the instructions may include instructions to the user terminal 200 to initiate a retrieval and transmission of a token associated with reconnecting the household appliance to the network and obtainment of the new credentials. Alternatively, if an app on the user terminal is used, the app may already be configured to retrieve and / or transmit the token, and obtain the new credentials, without further instructions from the server. As mentioned above, if the user terminal is not in possession of a token, but the token is stored in the server, it may receive it from the server system. The token and the credentials may be transmitted in the same message or in different messages to the appliance. In some implementations, the user terminal may transmit 652 the acquired token to said household appliance; and in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance 400, receive 652 a message from the household appliance prompting the user terminal to provide new network credentials associated with a selected network; and in response thereto, transmit 650 new network credentials associated with the selected network to the household appliance. The new network credentials may include at least a name of the network, such as an SSID, and / or security information, such as a password. For example, in addition to a new password, the user terminal may also select a new network, based on information from the user, and inform the appliance of the selected network. For example, this may be the case if the router has been changed or if the network name, e.g. SSID, of the network and / or appliance has changed. The user may be asked if it wants to select a new network or merely enter a new password for the old network. Alternatively, if the appliance is able to determine the type of connection failure, it may request different information from the user terminal based on the connection failure. For example, if the appliance determines that the password is incorrect, it may just request a new password from the user terminal. If the appliance instead determines that the old network has disappeared, it may ask the user terminal for a new network selection as well. In some circumstances or implementations, the appliance may scan for available networks and send the user terminal a list of available networks and transmitting the credentials may include transmitting a selection from the list and a password for the network selected from the list.
[0092] As such, in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance, the user terminal 200 may receive a message from the household appliance causing the user terminal to prompt the user terminal to select, or enter information identifying, a network and to provide new security information associated with the network. In response thereto, the user terminal 200 transmits 640 a message including information related to a selected network as well as the new security information associated with the selected network. It will be appreciated that a different order can be used and the network credentials can be transmitted before the token or at the same time as the token in which case the appliance may only use the network credentials if there is a match between a stored token and the received token.
[0093] Action 660: After the exchange of new credentials, the direct communication link between the user terminal 200 and the household appliance 400 can be terminated.
[0094] Optionally, the user terminal 200 may be operable to transmit the new network credentials associated with the selected network to one or more additional household appliances 400 being associated with the user terminal 200. For example, when the user is informed of the connection failure of the household appliance 610 they may be informed about the connection failure of more than one household appliance and the instruction to start the reconnection process 615 may be an instruction to start the reconnection process for each of the more than one household appliances. For example, the instruction to start the reconnection process 615 may be an instruction to start the reconnection process for all household appliances linked to a user account. This way, a plurality of linked household appliance may be reconnected as part of one process, started using a single, or a small number of, user inputs. Alternatively, the user may be separately notified and provide instructions / confirmation for each appliance that has lost connection. Operations 630 to 660 can be repeated for each appliance which has lost connection but the network credentials would only need to be input once by the user. Accordingly, the user would not be asked to repeat the time-intensive and laborious full provisioning process again for each appliance. Further, in implementations in which the user is only asked to enter the password once for more than one appliance and / or the user can give permission for the reconnection process to be started with a single action for all the appliances concerned, the user would carry out a reduced number of actions compared to the number of actions needed if the re-connection process was carried out for each application separately. Also, since fewer user inputs are needed, the amount of computational processing is reduced, not least because the risk for user input errors is reduced. The user terminal may store a different token for each of the one or more additional household appliance and the correct token is retrieved and transmitted to the correct household appliance. For example, the user terminal may store a list of identifiers for household appliances linked to the associated user account together with their respective tokens. By reducing the number of inputs needed from the user in some implementations, the reconnection process is more user-friendly. A process for reconnecting more than one household appliance will be described in more detail later with respect to FIG. 9.
[0095] Reference is now made to FIG. 7, which shows a flow chart illustrating an example of a method 700. The method 700 is computer-implemented. In some implementations, the method 600 is performed by, or otherwise executed in, the household appliance (see FIG. 1), for example by the processor 440 and communication interface 420 of the household appliance. The household appliance 700 comprises a processor and memory, as shown in FIG. 1, comprising instructions executable by the processor whereby the user terminal is operative to implement a reconnection process and hence perform the herein described actions, or method steps.
[0096] Action 710: The household appliance detects a connection failure. For example, it may search for the current network but not find it. This could include searching for messages and / or beacons from the access point, provided by the router, and / or not receiving responses to messages transmitted. The communication interface or the processor of the appliance could be configured to monitor if the communication interface has been searching for a network, without finding it, for a period of time longer than a threshold time period and determine that a connection failure has occurred if the threshold time period is exceeded. For example, it could additionally or alternatively be configured to monitor error messages from the access point or indications that the access point cannot understand or accept messages from the household appliance and determine that a connection failure has occurred based on the error messages or indications. Further, it may determine that it cannot decrypt messages from the access point, for example because of an encryption key linked to the network password is not working. As a specific example, in case of a Wi-Fi network, the access point may send out a Wi-Fi beacon typically every 100ms to verify that all accepted stations are still there. If the appliance does not receive any beacons for a period of time exceeding a threshold period of time, for example if n or more expected beacons are missed where n may be 3 to 10, the appliance may determine that the connection has failed. In circumstances where only the password has changed, but the SSID remains the same, the stations may still detect the Wi-Fi network, for example it may pick up a SSID broadcast with the old SSID, and may attempt to formally reconnect, with security handshake, but since the household appliance is not in possession of the new password it will not be granted access. The household appliance may also determine the type of connection failure. For example, if the household appliance cannot find the network, for example, in the case of Wi-Fi, no SSID broadcast messages corresponding to the SSID of the network to which it was previously connected can be detected, this may indicate that the name of the router / access point has changed and / or that the router has been changed. If the household appliance can detect the previous network but is not granted access, receives error messages from the router and / or cannot decrypt messages, this may indicate that the password has been changed.
[0097] Action 720 In response to the detection of a connection failure, a process to establish a direct communication link between a user terminal 200 and the household appliance 400 is initiated. This could involve activating a SoftAP mode of the communication interface 420 and starting to broadcast the SSID of the access point activated by the appliance. It could additionally or alternatively involve broadcasting BLE advertising messages. In some implementations, it may involve turning on a BLE module or prompting a user to do so via the appliance user interface. It may also include accepting a request to connect from the user terminal acting in station mode or central device mode. Of course, it is contemplated that the user terminal may activate a SoftAP mode or act as a peripheral BLE device in which case operation 720 may involve sending a request to connect.
[0098] Action 730: Once the direct communication link is established, the household appliance 400 may receive a token from the user terminal 200 via the direct communication link.
[0099] Action 740: The household appliance 400 compares the received token with a stored list of token(s) until a match is found between the received token and one token from a stored list of token(s). For example, in some implementations the appliance may store more than one token, where different tokens may be associated with different users, groups of users, user terminals and / or groups of user terminals. If the received token does not match any stored tokens, the household appliance may send a message to the user terminal to inform the user terminal and / or the user. As mentioned above, the user may not be aware that the token is sent to the appliance. If the token is not authorized, the user terminal may automatically request a new token from the server or the user may be informed and guidance on next steps may be provided.
[0100] Action 750: In response to finding a match of the received token and a stored token, the household appliance 400 transmits a message to the user terminal 200 causing the user terminal 200 to prompt a user to provide new network credentials associated with a selected network. This message could simply be a list of available networks obtained in a scan or a message indicating that the token was validated. Alternatively, it could be a message requesting specific information. As mentioned with respect to FIG. 6, the information requested may depend on the type of the network failure detected.
[0101] Action 760: The household appliance then receives the new network credentials. In some implementations, as indicated above, the household appliance 400 may inform the user terminal of available networks. For example, in some implementations, the household appliance 400 scans for available networks and transmits a message to the user terminal, the message including information related to a list of available networks found during said scan. The new network credentials received may comprise a selection from the previously sent list and security information such as a password. Alternatively, it may only comprise a new password for the network to which it was previously connected. The appliance may scan for available networks when it receives the network credentials from the user terminal to identify the selected network to which to connect.
[0102] Actions 770: The household appliance then connects to a new or the old network using the received credentials. It then re-establishes the connection with the remote server via the network. The reconnection may involve sending an open connection request to the server system. The connection request may include another authorization token, previously issued by an authorization server of the server system, or other data proving that it has permission to connect to the server system. The household appliance may report back network connection status to the user terminal via the direct link and if the network connection and remote server connection was successful, end the direct communication link to the user terminal.
[0103] The appliance may be configured to continue to search for the old network throughout the process described with FIG. 7. If the old network is found, for example because the router had been switched off but was later turned on again, the appliance may simply reconnect using the old credentials and end the reconnection process, including terminating the direct link. It may send a message notifying the user terminal that it has managed to reconnect before terminating the direct link.
[0104] It will be appreciated that although a certain order has been described with respect to FIG. 7, a different order of operations may be used. For example, the household appliance may receive the updated credentials together with the token. The household appliance may receive the token in a message received before the message including the network credentials. Moreover, fewer, additional or modified operations may be used. In some implementations, the household appliance may not prompt the user terminal, or the user, to provide new credentials but the user terminal may transmit them without being prompted, from memory or upon receiving them from the user via the user interface of the user terminal.
[0105] As already indicated for some of the methods, although the methods described in conjunction with FIGs. 5-7 describe actions, or method steps, in a specific order it should be appreciated that the actions, or method steps, may be performed or otherwise executed in different orders too.
[0106] Reference is now made to FIG. 8, which is a signalling diagram of an exemplary implementation process for reconnecting one or more disconnected household appliances 400 from a network 100. The system is suitable for implementing a reconnection service and comprises a server system 300, a user terminal 200 and a household appliance 400 (FIG. 1). As will be appreciated by those skilled in the art, modifications and other variants of the described implementation example will come to mind to one skilled in the art having benefit of these teachings in conjunction with FIG. 8. Therefore, it is to be understood that FIG. 8 represents only an example and that modifications and other variants are intended to be included within the scope of this disclosure. For example, the different actions do not have to be performed in the exact order as illustrated in FIG. 8.
[0107] The household appliance detects, or otherwise senses, that there is no access to the home network 100. At about the same or similar time, the server system 300 detects that no responses, or messages, are communicated between the server system 300 and the household appliance 400. In other words, it can be determined that a connection failure between the household appliance 400 from the network 100 has occurred in response to a pre-determined period of inactivity during which period of inactivity the server system 300 has not received any messages from the household appliance 400.
[0108] Once the connection failure has been determined, the server system 300 may transmit a notification message to the user terminal 200. The notification message notifies, or otherwise, informs a user 201 of the user terminal 200 that the household appliance 400 has experienced or experiences a connection failure from the home network 100. The reconnection process can be completed if the user terminal is within a range that allows a direct connection between the appliance and the user terminal. The user terminal may not be in the home when the notification is received. Consequently, the notification may advise the user that if the user is not currently close to the appliance, they should return to the app when the user is close to the appliance. After the user 201 has received this prompting message, or if the user is not in the vicinity of the appliance but returns to the app at a later time when they are back in the vicinity of the appliance, the user can confirm in the app that it wants the reconnection process to start. The user terminal can receive the user confirmation via a user interface of the user terminal. In response to the confirmation, the user terminal 200 and the disconnected household appliance establish a direct communication link between each other. Once said direct communication link is established, the user terminal 201 transmits a token to the household appliance 200 over the established direct communication link. The token can be automatically transmitted by the user terminal. In other words, the user may not be aware of the retrieval of the token and the transmission of the token to the appliance. The household appliance 400 compares the received token against a stored token or a list of stored tokens to check if a match is found. Once a match is found, the household appliance 400 can scan for available networks and send a list of available networks to the user terminal 200. If the original network is not available, the user 201 of the user terminal 200 may be prompted (e.g. through said app running on the user terminal 200) to select one network from the list of available home networks, enter a password for the selected network and, additionally, send the new credentials to the household appliance 400. Alternatively, if the original network is available, for example if a network with the SSID corresponding to the network to which the appliance was previously connected, before the connection failure, is found in the scan by the appliance, the user terminal may only ask the user for the new password. In some implementations, the user terminal may determine whether to ask the user to select a new network or whether to just ask the user to enter a new password, based on information from the appliance or based on whether the user terminal is able to connect to a given network. In other implementations, the appliance may make that determination. As such, if the network to which the appliance was previously connected is available, it may not send a list of networks found but only a request for a new password. Once the new credentials, including at least the new password, are received by the household appliance 400, the household appliance 400 is operable to connect to the home network and subsequently to the server system 300. Thereafter, the established direct communication link can be terminated.
[0109] In some implementations, the appliance may generate and share a new token with the user terminal before the connection is severed. Alternatively, the new token may be shared via the server system and / or the token may be generated by the server system instead of the appliance. The new token may be used in a future reconnection process. In other implementations, the same token can be used for more than one reconnection process.
[0110] Similarly, in some implementations, if an appliance is re-provisioned, for example because it is reset and / or sold second hand, a new token may be created and shared. Accordingly, when an appliance is sold, rights to modify credentials can be removed from the former owner.
[0111] When new user terminals are registered to the user account, for example because a user changes his or her mobile phone, the server system may share the token generated during, or after, the provisioning process of the appliance. If the server is not in possession of a token, it may request the token from the appliance and share it on receipt. For example, in some embodiments in which the appliance generates the token and shares it with the server, the server may not store the token for privacy reasons. Accordingly, it would request the token from the appliance when needed by a new user terminal, for example on user terminal registration or user account linking. Alternatively, the server may generate the token itself and share it with the appliance and the user terminal. Yet as another alternative, the household appliance may share the token with a new user terminal via a direct link, in other words not via the server. The server may require that the new user terminal is authenticated before the token is shared with the new user terminal. The token may be delivered automatically or upon request by the user terminal. A different token may be generated for each user terminal authorized to send new network credentials to the appliance or the same token may be used for all of the authorized user terminals.
[0112] As mentioned above, once new network credentials have been received by the user terminal 200, the new credentials can be used to reconnect more than one appliance, with no or limited further input by the user. Once the network credentials have been sent to a first appliance and the direct communication link to the first appliance has been terminated, the user terminal 200 may automatically establish direct connection with a second household appliance linked to the same user account and share the new credentials. In some implementations, the user terminal may ask for permission to share the credentials for each disconnected appliance. This may be asked for each appliance using for example a toggle or check box for each disconnected appliance in a list, as part of a series of screens on the user interface of the user terminal or as a single input / confirmation for a group of appliances. Reference is now made to FIG. 9, which shows a process 900 specifically for reconnecting more than one appliance. As shown, the user terminal selects a first appliance to be reconnected 910. The first appliance can be selected from a list received from the server or from a list stored in the app. The user terminal takes steps to establish direct communication with the first selected household appliances 920 as has been described above. This may involve looking up the SSID or Bluetooth name of the appliance to identify messages from the appliance, for example broadcast messages from the appliance acting as a soft Wi-Fi access point or broadcast advertising messages from the appliance acting as a peripheral Bluetooth device. The user terminal retrieves the token for the selected appliance 930 and transmits the token and the new network credentials to the selected appliance 940. As indicated above, the network credentials and the token may be transmitted in separate messages or together. The appliance may check the token first and only if the token matches a stored token will it request, receive and / or accept the new credentials. The user terminal then checks if there are any other appliances to be reconnected 950. If there are additional appliances, the user terminal selects the next appliance and repeats actions 920 to 950 for the next appliance. Different types of communication technology may be used to establish direct connection to different appliances. For example, the user terminal may establish a direct communication link to a first appliance using Wi-Fi and may establish a direct communication to a second appliance using BLE. FIG. 9 shows that a token is retrieved for each appliance to be reconnected. However, in some implementations, the same token may be used for all of the appliances linked to a user account. If additional appliances are to be reconnected, the actions 920 to 950 are repeated until all appliances have been reconnected. When there are no more appliances to be reconnected, the process ends 970. Each reconnected appliance may provide feedback and confirm that the connection to the home network and remote server has been successful and ending the process may involve displaying a message to the user that all reconnection processes have been successful. In the process of FIG. 9, a user would have entered the new credentials, or the credentials would be retrieved from memory, only once, for example before the process shown in FIG. 9 starts or after the first appliance is selected. The user would not need to select a home network and / or the appliance would not need to send the user terminal a list of available networks for each appliance because the user terminal already knows which is the new network after it has reconnected the first appliance. Similarly, if only the password has changed, and the user needs to provide the new password, the user would not need to provide a new password for each appliance because the user terminal already knows which is the new password after it has reconnected the first appliance. In other implementations, the user may be asked for additional input, including selecting the network and entering the password more than once.
[0113] The above reconnection process requires fewer steps, and less processing, compared to existing reconnection processes. Since it requires fewer steps, less processing power is used. Compared to known processes wherein a password is entered for each disconnected appliance in the home, the new method also is less prone to input errors and rejected passwords and therefore reduces the number of messages sent through the network. The above example implementation thus allows for an easier and smoother reconnection process. Also, because a token is used to prove to the appliance that the user terminal has permission to re-configure the appliance, security is improved.
[0114] It is contemplated that the appliances which can be reconnected in the described way do not necessarily need to belong to the same loT cloud. The app may attempt to distribute the new password to any devices within range, for example any device in the household which is discoverable using Bluetooth technology. As such, the processes may be used to reconnect a plurality of appliances belonging to two of more user accounts, the user accounts being associated with different loT clouds. The one or more tokens provided to the appliances by the user terminal, to prove to each of the appliances that they are permitted to accept the new network credentials from the user terminal, may be associated with the different loT clouds and / or user accounts.
[0115] Although it has been described that a token is used to determine that the user terminal has permission to reconfigure the household appliance, other methods and data may be used to allow verification by the household appliance that it is permitted to accept the new network credentials from the user terminal. For example, the household appliance may store a list of user terminals from which it is permitted to accept new network credentials. The list may for example comprise a list of the MAC addresses, or other identifying data such as Bluetooth names, of user terminals from which it is permitted to accept new network credentials. Alternatively, the new credentials may be encrypted and the appliance may determine that it is permitted to accept new network credentials if it is able to decrypt the credentials. The user terminal may store the encryption key to be used or it may receive it from the server with the notification that a connection failure has occurred. It will be appreciated that the above are just a few examples and other methods are possible.
[0116] As described herein, the various aspects and embodiments described throughout this disclosure allow for a novel approach for reconnection of one or more disconnected household appliances from a network. For example, the present disclosure recognizes the fact that it may be advantageous that the server system is involved in the discovery process of the household appliance being offline and notifying a linked terminal to restart provisioning to subsequently enable the re-establishment of a connection with said household appliance. In certain embodiments, it is also possible to re-provision more than one household appliance in one step, or a small number of steps (from the user point of view).
[0117] As will be appreciated by those skilled in the art, modifications and other variants of the described aspects and embodiments will come to mind to one skilled in the art having benefit of the teachings presented in the foregoing description and associated drawings. Therefore, it is to be understood that the embodiments are not limited to the specific example embodiments described in this disclosure and that modifications and other variants are intended to be included within the scope of this disclosure.
[0118] For example, it will be appreciated that although the above disclosure has referred to household appliances throughout, this is just an example, and the methods described can also be used for other types of devices. The reconnection methods described can be used to reconnect any type of device which is able to connect to network.
[0119] Moreover, although it has been described that the server system triggers the reconnection process by sending a message to the user terminal, implementations are contemplated wherein no such messages are sent from the server system but the reconnection process is instead started by a user realising that the appliance (or other device) is not connected to a network.
[0120] Furthermore, although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. Therefore, a person skilled in the art would recognize numerous variations to the described embodiments that would still fall within the scope of the appended claims. As used herein, the terms “comprise / comprises” or “include / includes” do not exclude the presence of other elements or steps. Furthermore, although individual features may be included in different claims, these may possibly advantageously be combined, and the inclusion of different claims does not imply that a combination of features is not feasible and / or advantageous. In addition, singular references do not exclude a plurality.
Claims
CLAIMS1. A server system for monitoring and remotely controlling household appliances via a network, the server system comprising: one or more servers comprising respective processor(s) and memory, wherein said memory is configured to store user account data whereby user terminals are associated with household appliances to allow remote control and / or monitoring by authorized user terminals of linked household appliances, and wherein the memory comprises instructions executable by the processor(s) whereby the server system is operative to: obtain information indicative of a connection failure of a household appliance; responsive to obtaining said information, transmit a message to a user terminal having an association with a user account linked to said household appliance, said message prompting the user terminal to initiate a process to establish a direct communication link between the user terminal and the household appliance and to transmit new network credentials for reconnecting the household appliance to the network; and re-establish a connection with said household appliance subsequent to a verification by the household appliance that it is permitted to accept the new network credentials from the user terminal.
2. The server system according to claim 1, wherein the memory comprises instructions executable by the processor(s) whereby the server system is operative to: responsive to obtaining said information, transmit a message to said user terminal, said message prompting the user terminal to initiate a transmission of a token associated with reconnecting the household appliance to the network; andre-establish a connection with said household appliance subsequent to a decision by the household appliance to accept said token from the user terminal.
3. The server system according to claim 2, wherein said token has been generated by the server system or by the household appliance during an initial configuration process.
4. The server system according to claim 2 or 3, wherein said token has been distributed to authorized user terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
5. The server system according to any one of the claims 1-4, wherein the memory comprises instructions executable by the processor(s) whereby the server system is operative to: determine that a connection failure of a household appliance from the network has occurred in response to a pre-determined period of inactivity during which period of inactivity the server system has not received any message from the household appliance.
6. A user terminal, comprising: a processor; and memory comprising instructions executable by the processor whereby the user terminal is operative to: receive, from a server system, an indication that a household appliance has lost its connection to a network, wherein said user terminal has an association with a user account to which said household appliance is linked; in response thereto, initiate a process to establish a direct communication link between the user terminal and said householdappliance; and once established, transmit, via the established direct communication link, new network credentials to the household appliance and information allowing the household appliance to verify that the user terminal is authorized to provide new network credentials.
7. The user terminal according to claim 6, wherein said information comprises a token.
8. The user terminal according to claim 7, wherein the memory comprises instructions executable by the processor whereby the user terminal is operative to: in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance, receive a message from the household appliance prompting the user terminal to provide the new network credentials; and transmit the new network credentials in response to said message.
9. The user terminal according to claim 8, wherein the memory comprises instructions executable by the processor whereby the user terminal is operative to: transmit the new network credentials associated with the selected network to one or more additional household appliances being associated with the user account.
10. The user terminal according to claim 8, wherein the indication from the server system identifies the one or more additional household appliances, and wherein the memory comprises instructions executable by the processor whereby the user terminal is operative to receive a confirmation from the user, via a user interface of the user terminal, to transmit the newnetwork credentials to the one or more additional household appliances.
11. The user terminal according to claim 7, wherein the memory comprises instructions executable by the processor whereby the user terminal is operative to: prompt a user to select a network and to provide new security information associated with a selected network; and transmit a message including information identifying the selected network as well as the new security information associated with the selected network, said new network credentials comprising the information identifying the selected network and the new security information.
12. The user terminal according to any one of the claims 7 - 11, wherein the memory comprises instructions executable by the processor whereby the terminal is operative to: terminate said direct communication link between the user terminal and the household appliance after transmitting said new network credentials to the household appliance.
13. The user terminal according to any one of the claims 7 - 12, wherein said acquired token has been generated by the server system or by the household appliance during an initial configuration process.
14. The user terminal according to any one of claims 7-13, wherein said token has been distributed to authorized user terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
15. A household appliance, comprising: a processor; andmemory comprising instructions executable by the processor whereby the household appliance is operative to implement a reconnection process comprising: in response to a network connection failure, initiate a process to establish a direct communication link between a user terminal and the household appliance; and once established receive, via the established direct communication link, from the user terminal new network credentials and information allowing the household appliance to verify that the user terminal is authorized to provide new network credentials.
16. The household appliance according to claim 15, wherein the information comprises a token and the memory comprises instructions executable by the processor whereby the household appliance is operative to: compare the received token with one or more stored token(s);and in response to finding a match between the received token and one out of the one or more stored tokens, transmit a message to the user terminal prompting the user terminal to provide new network credentials associated with a selected network.
17. The household appliance according to claim 16, wherein the token was previously generated by the household appliance, during a provisioning process, and distributed to the user terminal.
18. A system for implementing a reconnection service, the system comprising: a server system according to any one of the claims 1-5; a user terminal according to any one of the claims 6-14; and a household appliance according to any one of the claims 15-17.
19. A method performed by a server system for monitoring and remotely controlling household appliances via a network, the server systemcomprising one or more servers comprising respective processor(s) and memory, wherein said memory is configured to store user account data whereby user terminals are linked to household appliances to allow remote control and / or monitoring by authorized user terminals of linked household appliances, and wherein method comprises: obtaining information indicative of a connection failure of a household appliance from a network; transmitting a message to a user terminal having an association with a user account linked to said household appliance, said message prompting the user terminal to initiate a process to establish a direct communication link between the user terminal and the household appliance and to transmit new network credentials for reconnecting the household appliance to the network; and re-establishing a connection with said household appliance subsequent to a verification by the household appliance that it is permitted to accept the new network credentials from the user terminal.
20. The method according to claim 19, wherein re-establishing a connection with said household appliance subsequent to said verification comprises re-establishing a connection with said household appliance subsequent to a decision by the household appliance to accept a token received from the user terminal via the direct communication link.
21. The method according to claim 20, wherein said token has been generated by the server system or by the household appliance during an initial configuration process.
22. The method according to claim 20 or 21, wherein said token has been distributed to authorized user terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
23. The method according to any one of the claims 19-22, wherein information indicative of a connection failure comprises information about a pre-determined period of inactivity during which period of inactivity the server system has not received any message from the household appliance.
24. A method performed by a user terminal, the method comprising: receiving, from a server system, an indication that a household appliance has lost its connection to a network, wherein said user terminal has an association with a user account to which said household appliance is linked; in response thereto, initiating a process to establish a direct communication link between the user terminal and said household appliance; and once established transmitting, via the established direct communication link, new network credentials to the household appliance and information allowing the household appliance to verify that the user terminal is authorized to provide new network credentials.
25. The method according to claim 24, wherein said information comprises a token.
26. The method according to claim 25, wherein the method further comprises: in response to the household appliance having found a match between the transmitted token and a token stored at the household appliance, receiving a message from the household appliance prompting the user terminal to provide the new network credentials.
27. The method according to claim 24, 25 or 26, comprising: further transmitting the new network credentials to one or more additional household appliances linked with the user account.
28. The method according to claim 24, 25, 26 or 27, comprising: causing a user interface of the user terminal to prompt a user to select a network and to provide new security information associated with a selected network.
29. The method according to any one of the claims 24-28, comprising: terminating said direct communication link between the user terminal and the household appliance after transmitting said new network credentials to the household appliance.
30. The method according to claim 25 or 26, wherein said token has been generated by the server system or by the household appliance during an initial configuration process.
31. The method according to claim 25, 26 or 30, wherein said token has been distributed to authorized user terminal(s) associated with a user account linked to the household appliance by the server system or by the household appliance during an initial configuration process.
32. A method performed by a household appliance, comprising: in response to detecting a network connection failure, initiating a process to establish a direct communication link to a user terminal; and once established; receiving from the user terminal, via the established direct communication link, new network credentials and information allowing the household appliance to verify that the user terminal is authorized to provide new network credentials.
33. The method according to claim 32, wherein said information comprises a token; and the method further comprises: comparing the received token with one or more stored token; andin response to finding a match between the received token and one of the one or more stored token, transmitting a message to the user terminal prompting the user terminal to provide new network credentials.
34. The method according to claim 32 or 33, comprising: scanning for available networks; and transmitting a message to the user terminal, the message including information related to a list of available networks found during said scan.
35. Computer program comprising instructions which, when executed on one or more processors, cause the one or more processors to carry out the method according to any one of the claims 19-34.
36. A carrier comprising the computer program according to claim 35, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium.
37. A device comprising: a communication interface operable to connect to a wireless communication network; a processor configured to receive a signal from the communication interface indicative of a failure to connect to a wireless communication network to which it was previously connected and, in response thereto, initiate a reconnection process comprising: controlling the communication interface to establish a direct wireless communication link with a user terminal; receiving a token from the user terminal over the direct wireless communication link; receiving new network credentials over the direct wireless communication link; andin response to authenticating the user terminal based on the token, controlling the communication interface, based on the new network credentials, to connect to a new network or said network to which it was previously connected.
38. A user terminal for assisting a device to connect to a wireless communication network comprising: a communication interface for communicating with one or more networks; a user interface to receive, from a user, network credentials for a wireless network of the one or more networks; and a processor configured to in response to reception of an indication of a network connection failure of a device, control the communication interface to establish a direct wireless connection to said device; and transmit to said device, over the direct wireless connection, network credentials for a wireless network of the one or more networks, received via the user interface, and a token, proving to the device that the user terminal is authorized to provide new network credentials to the device.
Citation Information
Patent Citations
Provisioning an appliance for network connectivity
WO2016172538A1
Process for managing reconnections of devices in a network
US11368994B1
Wireless Network Access
US20190245840A1
Home appliance, network connection system for home appliance and network connection method of home appliance
US20200153650A1