Partially connected devices
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-23
- Publication Date
- 2026-03-30
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
When managing multiple IoT devices, the prior art faces the problems of Internet connection limitations and limited network controller connections, making it difficult to effectively manage all IoT devices in large office environments.
By providing a device that can switch between proxy mode and client mode, connect to the wireless network using a first wireless communication protocol, and receive and transmit broadcast messages through a second wireless communication protocol, thereby dynamically managing the number of connected devices in the wireless network.
The management of an almost unlimited number of devices is achieved, avoiding the need for network architecture pre-planning and manual management of the number of devices, and improving the flexibility and scalability of the system.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to managing devices using a combination of wireless networks and direct device-to-device communication. [Background technology]
[0002] A smart device is a device, such as a light valve, a smart plug, a switch, etc., that can be controlled remotely via a device such as a smartphone. Such devices are sometimes referred to as Internet of Things (IoT) devices. An IoT device is a device that includes at least one component (e.g., a light valve or an actuator, etc.) that can be remotely operated via operational instructions. The operational instructions may be delivered wirelessly, for example, via a wireless network.
[0003] US patent application US2013 / 0083722 A1 discloses a method for extending the coverage area of a cellular network to allow a user of a wireless device to control electrical appliances such as lights, etc. For this purpose, it is proposed that a wireless device (e.g. a cellular phone) communicates with a base station in a cell of the cellular network over a non-cellular interface via another wireless device in the cell by using multi-hopping.
[0004] European patent application EP3955642 A1 discloses another method of extending the coverage area of a cellular network, in which a first user equipment has a relay role, relaying communications between a second user equipment in a cell and a base station, and reversing the roles of the user equipment when signal conditions change. Also disclosed is a combined role reversal of the user equipment in combination with handover.
[0005] A wide variety of IoT devices are available, with varying functionality. Many such devices require a connection to the Internet in order to be controlled remotely. For example, in use, a smart device (https: / / www.mobileprocessing.org / ) may be connected to a Wi-Fi network to access the Internet and receive operational instructions.
[0006] A problem can arise when a user wants to install a large number of IoT devices in one location, for example, a home or an office. Each of these devices generally requires an Internet connection to function. As mentioned above, this is usually in the form of a wireless connection to a Wi-Fi Access Point (AP). A consumer-grade AP can only maintain connections to a relatively small number of devices at the same time, with a typical maximum being 30-50 devices at the same time. In a small office situation, for example, with 10 employees each having a computer and a smart device each connected to the AP, the AP will approach the maximum number of connections it can maintain. This can result in a maximum of 5-10 IoT devices being able to connect to the AP without risking a situation where employees are unable to connect their own devices.
[0007] In a large office where many lighting devices, switches and plugs need to be connected to the network, it is clear that even an enterprise AP may not be able to maintain a sufficient number of connections so that all IoT devices can maintain an active connection. Therefore, a technical problem arises on how to manage a large number of IoT devices. Therefore, there is a need to provide an alternative way to manage IoT devices.
[0008] Existing solutions exist, such as the use of Zigbee networks. Zigbee networks use a Zigbee coordinator that maintains an Internet connection (usually via a wireless connection to a Wi-Fi AP) and broadcasts the Zigbee network. End devices are authenticated and connected to the Zigbee network and receive instructions over the network. Zigbee networks are similar to Wi-Fi networks, but use the IEEE 802.15.4 technology standard to define the operation of low-rate wireless personal area networks (LR-WPANs). Summary of the Invention [Problem to be solved by the invention]
[0009] Existing solutions, such as the Zigbee system mentioned above, reduce the number of devices directly connected to a Wi-Fi AP, but the Zigbee network controller itself also has a limit on the number of end devices that can be connected simultaneously. Thus, the structure of such a system must be planned in advance to ensure that a sufficient number of network controllers are used to manage the end devices. Furthermore, care must be taken to ensure that existing controllers can maintain connections when new devices are added to the system.
[0010] Disclosed herein are devices, systems, and methods that provide an improved way of providing operational instructions to devices, such as IoT devices. The disclosure allows an essentially unlimited number of devices to be controlled over a wireless network. The disclosure does not require pre-planning of the network architecture, nor does the number of control devices and end devices need to be manually managed or maintained. [Means for solving the problem]
[0011] According to a first aspect disclosed herein, there is provided a first device for use as one of a set of devices, the first device including: an application component configured to be operable by a remote operator via one or more operating instructions; a controller; and a wireless interface for connecting to a wireless network using a first wireless communication protocol and for receiving and transmitting broadcast messages using a second wireless communication protocol.
[0012] According to a first aspect, a first device is configured, in use, to be able to function interchangeably in either a proxy mode or a client mode to receive operational instructions, where in the proxy mode the first device is configured to connect to a wireless network using a first wireless communications protocol such that, in use, operational instructions are received via the wireless network connected using the first wireless communications protocol, and when switching to the client mode the first device is configured to disassociate from the wireless network using the first wireless communications protocol, and where in either the proxy mode or the client mode the first device is configured, in use, such that operational instructions are received via one or more incoming broadcast messages using a second wireless communications protocol.
[0013] According to a first aspect, the first device is further configured, in use, in response to receiving an operational instruction using the first wireless communications protocol or the second wireless communications protocol, the operational instruction is transmitted onwards by the first device in one or more outgoing broadcast messages using the second wireless communications protocol, and when the first device is operating in the proxy mode, the controller switches the first device to operate in the client mode in response to at least one of determining that a threshold number of other devices are connected to the wireless network using the first wireless communications protocol and the first device receiving an operational instruction addressed to the first device to switch to the client mode using the first wireless communications protocol.
[0014] According to a second aspect disclosed herein, there is provided a corresponding method of operating a first device according to the first aspect.
[0015] According to a third aspect disclosed herein, there is provided a system including a device according to the first aspect functioning in a proxy mode and a device according to the first aspect functioning in a client mode, wherein, in use, the device operating in the proxy mode receives an operational instruction over a connected wireless network using a first wireless communication protocol, and in response to receiving the operational instruction, sends the operational instruction in one or more outgoing broadcast messages over a second wireless communication protocol, the device operating in the client mode receives one or more incoming broadcast messages over the second wireless communication protocol, the one or more incoming broadcast messages corresponding to one or more outgoing broadcast messages including the operational instruction broadcasted by the first device over the second wireless communication protocol, and the device operating in the client mode in response to receiving the operational instruction forwards the operational instruction in one or more outgoing broadcast messages over the second wireless communication protocol.
[0016] According to some embodiments disclosed herein, a device may initially operate in "legacy mode" as a regular Wi-Fi STA or alternatively as a Wi-Fi Soft AP. When operating in legacy mode as a STA, the device needs to be provisioned, i.e., provided with network credentials that allow the device to connect to a Wi-Fi AP. The device may operate in legacy mode as a default startup. A provisioning process, for example by a user using wired access or other conventional provisioning process, may provide the device with login credentials necessary to connect to a Wi-Fi AP, such as the AP's basic service set identifier (BSSID) and password. Alternatively, a device may initially start in "legacy mode" as a Soft AP, which facilitates a provisioning device, such as a mobile phone or tablet, to connect to and communicate with the Soft AP. The provisioning device may provide the device with the network credentials of a Wi-Fi (infrastructure) AP. Thus, the provisioning process may be performed using the Wi-Fi protocol, the Wi-Fi Direct protocol, or more alternatively, using the Bluetooth protocol.
[0017] A device operating in legacy mode may switch to operate in proxy / client mode (as described in the disclosed aspects above) in response to instructions provided from a remote server (e.g., in the cloud), in response to determining that a threshold number of other devices connected to the Wi-Fi AP are also operating in legacy mode after being triggered by a user, and / or by detecting that within a threshold range, one or more other devices can operate in proxy / client mode. In the case of a Wi-Fi system, the number of devices associated with the Wi-Fi AP can be reduced by switching the device (STA) to client mode and disconnecting from the Wi-Fi AP, and a second wireless communication protocol may be used to forward operating instructions from a remote operator to the client device.
[0018] According to some embodiments disclosed herein, a device operating in a client mode may intermittently connect to a wireless network using a first wireless communication protocol to download firmware updates. This connection may be triggered after a pre-configured time period has elapsed since the last connection, or in response to an instruction received from a remote server or a user. Optionally, the proxy device and the client device, or alternatively the client device, may coordinate the time of joining / associating with the first wireless network to avoid too many devices associating at one time. As a simple solution, a round robin scheme, or a time slot allocation may be considered.
[0019] According to some embodiments, the first wireless communications protocol is IEEE 802.11 operating in infrastructure mode, with one or more access points using a basic service set (BSS) or an extended service set (ESS).
[0020] According to some embodiments, the second wireless communication protocol is Wi-Fi Direct based, with the IEE 802.11 protocol being used together with a peer-to-peer extension from Wi-Fi Direct. [Brief description of the drawings]
[0021] To assist in understanding the present disclosure and to show how embodiments may be practiced, reference is made to the accompanying drawings, by way of example. [Figure 1] 1 illustrates diagrammatically a device according to the invention; [Diagram 2] 1 illustrates a schematic diagram of a system according to the present invention, including a device operating in proxy mode and a device operating in client mode. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] In the following, devices configured to operate in either proxy mode or client mode are described. Also described are methods of operating such devices and systems including two or more such devices. By being able to operate interchangeably in either proxy mode or client mode, the present disclosure provides a solution in which the number of devices connected to a wireless network (such as a Wi-Fi network provided by a Wi-Fi AP) can be dynamically changed without the need to change the number or type of devices in the system. Devices can change between operating in proxy mode and operating in client mode automatically or in response to instructions sent by a remote operator. This solution is advantageous because it allows an almost unlimited number of devices according to the present disclosure to be part of the system of devices without imposing requirements on the type of devices required in the wireless network or in the system.
[0023] 1 illustrates an example of a device 100 according to embodiments disclosed herein. The device 100 includes an application component 102, a controller 104, and a wireless interface 106. In some examples, the device 100 may further include a memory 108 configured to store information.
[0024] An application component 102 according to the present disclosure is a component configured to be operable by a remote operator via one or more operational instructions. In some examples, a device may include more than one application component 102. The remote operator may be, for example, a cloud-based control system that manages a network of on-premise application devices installed in a residential or office environment. An application component may be for a single application, such as a lighting application, including actuators, sensors (wireless presence sensors, daylight sensors), and controllers (wireless switches) associated with wireless light bulbs or wirelessly connected lighting fixtures. However, the application may extend beyond a lighting application and may include, for example, an HVAC application, a localization application, and / or an asset tracking application (which may use RF sensing to detect people or devices (asset tracking)), a security camera application, a wireless sensor application, a wireless actuator application. An application component may actually include devices for a variety of applications.
[0025] The controller 104 may be one or more computer chips. In some examples, the controller 104 may be a computer processor. In some examples, the controller 104 is configured to control the device 100 to perform various functions, as described in more detail below.
[0026] The wireless interface 106 is configured to communicate using at least two wireless communication protocols: a first wireless communication protocol and a second wireless communication protocol. The first wireless communication protocol is for connecting to a wireless network to receive operational instructions from a remote operator. The second wireless communication protocol is for sending and receiving broadcast messages to receive and / or relay operational instructions to / from other devices.
[0027] In some examples, the device 100 further includes a memory 108. The memory 108 may be any suitable memory for storing information. The memory 108 may be a non-volatile memory such that information can be retained in the memory 108 even when the device 100 is powered down.
[0028] The device 100 is configured to be able to function in a proxy mode or a client mode. When operating in the proxy mode, the device 100 is configured to connect to a wireless network using the wireless interface 106 and thereby receive operational instructions from a remote operator. When switching to operate in the client mode, the device 100 is configured to be disconnected from the wireless network such that the device 100 is not connected to the wireless network using the first wireless communication protocol. In some examples, the device 100 may not be connected to the wireless network, for example, once it has been instructed to operate in the client mode and has been disconnected. In such examples, the device 100 is not "connected" or associated with the wireless network, in other words, the device does not attempt to transmit packets / messages within the network and thus cannot be disconnected from the wireless network. In such examples, the device 100 would rather not attempt to connect to the wireless network using the first wireless communication protocol.
[0029] The device 100 is configured to receive operational instructions when operating in a proxy mode or a client mode. When operating in a proxy mode, the operational instructions may be received over a wireless network using a first wireless communication protocol or via one or more broadcast messages received using a second wireless communication protocol. When operating in a client mode, the device 100 can only receive operational instructions via one or more broadcast messages received via a second wireless communication protocol. When operating in either mode, if the device 100 receives an operational instruction, the device 100 is configured to relay the received operational instruction by sending the received operational instruction via one or more broadcast messages using the second wireless communication protocol. Thus, the broadcast message represents a form of communication that allows a reduction in the impact of the application components on the first wireless network resources (such as the number of devices that need to be associated with an AP). Furthermore, further reduction in impact can be achieved if the broadcast communication is performed out of band, for example, using a different frequency band and / or channel, or even using a different radio.
[0030] When the device 100 is operating in the proxy mode, the controller 104 is configured to switch the device from operating in the proxy mode to operating in the client mode. In some examples, the controller 104 is configured to switch the device in this manner in response to determining that a threshold number of devices are connected to the wireless network using the first wireless communication protocol. Additionally or alternatively, the controller 104 is configured to switch the device in this manner in response to the device 100 receiving an operational instruction addressed to the device 100 to switch to the client mode using the first wireless communication protocol.
[0031] In some examples, the determination that a threshold number of devices are connected to the wireless network may be made by the device's controller 104. For example, the controller 104 may detect that a certain number of other devices according to the present disclosure are also connected to the wireless network and therefore one or more of these devices should switch to client mode such that fewer devices are connected to the wireless network.
[0032] In some examples, the determination that a threshold number of devices are connected to the wireless network may be made by a remote operator, such as a server located in the cloud. In some examples, the determination may be made by a user.
[0033] FIG. 2 illustrates a schematic diagram of an example of a system according to an embodiment disclosed herein. The system includes a first device 100 operating in a proxy mode and a second device 200 operating in a client mode. In the illustrated example, the first device 100 may be referred to as a proxy device, and the second device 200 may be referred to as a client device. The first device 100 is connected to a wireless network using a first wireless communication protocol. In this example, the wireless network is formed and managed by a wireless network controller 300. The wireless network controller 300 may be, for example, a Wi-Fi wireless access point (WAP). Although the system according to the present disclosure requires at least one device operating in a proxy mode and at least one device operating in a client mode, it should be understood that the system may include any number of additional devices operating in a proxy mode and any number of additional devices operating in a client mode. FIG. 2 illustrates only one example of each for simplicity.
[0034] 2, the first device 100 maintains a connection 302 with the wireless network controller 300 using a first wireless communication protocol. The second device 200 does not maintain a connection with the wireless network controller 300. However, as described in more detail below, the second device 200 may periodically connect (304) to a wireless network managed by the wireless network controller 300, for example to download firmware updates. When connected to the wireless network controller 300, the second device 200 may remain in a client mode (and thus not receive operational instructions via the network controller 300) or may switch to operate in a proxy mode.
[0035] In some examples, the connection 302 between the first device 100 using the first wireless communication protocol and the wireless network controller 300 is a wireless local area network formed and managed by the wireless network controller 300. In some examples, to connect to the wireless network, the first device must request to join the wireless network and must provide authentication information (e.g., a password) to be granted access to the network. In some examples, if the connection is authenticated, the wireless network controller 300 stores the identification information of the first device 100 so that the wireless network controller 300 knows that the first device 100 has been granted access to the network. Similarly, after access is granted, the first device 100 may store in the memory 108 that the device 100 is connected to the wireless network. When connected to the wireless network, the device 100 and the wireless network controller 300 may be able to share information over the bidirectional communication link 302 without requiring further authentication. In some examples, after establishing the connection 302 to the wireless network controller 300, the device 100 may establish a secure connection to a remote server 400. In some examples, the remote server 400 may be connected to the wireless network controller 300 via a local area network connection, and in other examples, the remote server 400 may be connected to the wireless network controller 300 via an Internet connection, which is described in more detail below.
[0036] In some examples, when disconnecting from a wireless network (e.g., when the first device 100 switches from a proxy mode to a client mode), the first device notifies the wireless network controller 300 that the first device is disconnecting from the wireless network. In some examples, disconnecting may be referred to as disassociating from the network. In response, the wireless network controller 300 may de-authenticate the device 100, for example, by removing stored information indicating that the device 100 is authenticated. At a future point in time, if the device 100 attempts to reconnect to the wireless network using the first wireless communication protocol, the device 100 may need to provide authentication information to the network using the same association procedure used for new devices in order to be allowed to reconnect to the wireless network.
[0037] In use, the first device 100 receives an operational instruction (not shown) sent over the wireless network 302 using a first wireless communication protocol. In some examples, the operational instruction may be sent from a server 400 connected to a wireless network controller via a network connection and / or via the Internet. As described above in connection with FIG. 1, when the first device 100 receives the operational instruction, the first device 100 is configured to relay the received operational instruction by sending the received operational instruction via one or more broadcast messages 110 using a second wireless communication protocol. Also, when the second device 200 receives the operational instruction, the second device 200 is configured to relay the received operational instruction by sending the received operational instruction via one or more broadcast messages 210 using a second wireless communication protocol.
[0038] Further examples of the functionality of devices according to the present disclosure will now be described in more detail.
[0039] In some examples, the operational instructions may include or consist of application layer commands, which may include two or more of on, off, and / or power save.
[0040] In some examples, the controller 104 may cause the device 100 to send a switching message to other devices connected to the wireless network. The switching message may enable the devices to coordinate the decision to switch from proxy mode to client mode to prevent all devices from switching from proxy mode to client mode (because at least one device must remain connected to the wireless network and function in proxy mode to relay operational instructions to other devices via one or more broadcast messages using the second wireless communication protocol). In some examples, the switching message may cause the other devices to temporarily delay switching modes to allow the device 100 to switch from proxy mode to client mode. In such examples, the other devices may reevaluate whether the threshold number of devices operating in proxy mode has still been reached after the first device 100 switches to operating in client mode. In some examples, upon receiving the switching message while operating in proxy mode, the device 100 may wait a period of time before determining whether the threshold number of devices has been reached. In some examples, this waiting period may be a period of time that is randomly determined between a preset upper and lower limit. This may be advantageous because it may prevent multiple devices from simultaneously evaluating whether a threshold amount has been reached. In another example, the switch message may inform the other devices that the first device 100 is to remain in proxy mode and that one of the other devices should switch instead.
[0041] In some examples, the threshold number of devices connected to the wireless network operating in proxy mode may be a pre-set number of devices. In other examples, the threshold number of devices may be determined as a ratio between the number of devices operating in proxy mode and the number of devices that have switched to operating in client mode. In some examples, the proxy / client device ratio may be determined by a remote operator, such as a server operating in the cloud.
[0042] In some examples, the device may be configured such that when the device 100 is turned on for the first time, the device must be provisioned. Provisioning involves providing authentication information to the device 100 to connect to a wireless network using a first wireless communication protocol. In some examples in which the device 100 includes a memory 108, the authentication information may be stored in the memory 108 such that after provisioning, the device can connect to a wireless network via the first wireless communication protocol at any time using the access credentials stored in the memory 108.
[0043] Provisioning may be performed by a user using a device such as, for example, a smartphone. Provisioning may be performed using one or more broadcast messages received using a second wireless communication protocol. In some examples, the device 100 may transmit a broadcast message using the second wireless communication protocol to notify other devices that the device 100 requires provisioning information. In some examples, the device 100 may be configured to transmit such a broadcast message periodically until the provisioning information is provided. In some examples, the device 100 may be configured to transmit the provisioning information stored in the memory 108 of the device 100 via one or more broadcast messages over the second wireless communication protocol upon receiving one or more broadcast messages from another device requesting the provisioning information.
[0044] In some examples, the device 100 may be configured to connect to a wireless network using a first wireless communication protocol after provisioning information is provided to the device 100. In some examples, the device 100 may be configured to operate in a "legacy mode" after initially connecting to a wireless network. In the legacy mode, the device receives operational instructions over the wireless network using the first wireless communication protocol, but does not relay the operational instructions. When operating in the legacy mode, the device functions similarly to other known devices. The device 100 may then be switched to operate in either a proxy mode or a client mode. The device 100 may switch from the legacy mode to the proxy / client mode in response to an instruction received by a remote operator or in response to a determination that a threshold number of devices are connected to the wireless network using the first wireless communication protocol. In some examples, the determination may be made by the remote operator or by the controller 104.
[0045] An application component 102 according to the present disclosure may be any component configured to be operable by a remote operator via one or more operational instructions. A device including such a component may be referred to as an IoT device in some cases. In some examples, the application component 102 of the device 100 may be selected from a group including an illumination device, a light sensor, a smart plug, an HVAC device, an actuator, a space heater, a disinfection unit, an air-purifier, an audio speaker, a video playback unit, a garage door opener, an alarm system, and an electronic lock. Other examples of application components are also contemplated.
[0046] In some examples, each operational instruction received by device 100 via either the first wireless communication protocol or the second wireless communication protocol includes a unique identifier. The unique identifier is unique to each operational instruction. The unique identifier allows the device to distinguish between the operational instructions it receives.
[0047] In some examples in which the device 100 further includes a memory 108 , the controller 104 of the device 100 may be configured to store in the memory 108 of the device 100 a unique identifier for each operational instruction received by the device 100 .
[0048] In some examples where the controller 104 of the device 100 is configured to store a unique identifier of an operational instruction, the controller 104 of the device is configured such that when an operational instruction is received by the device, the controller 104 compares the unique identifier of the operational instruction with a unique identifier stored in the memory 108 of the device 100. This allows the controller 104 to determine whether the device 100 has previously received an operational instruction having the same unique identifier, and thus whether the operational instruction has already been received.
[0049] In some examples, if the controller 104 determines that a received operation instruction has the same unique identifier as a previously received operation instruction, the controller 104 is configured to prevent the operation instruction from being resent via one or more broadcast messages using the second wireless communication protocol. In effect, this prevents the same operation instruction from being relayed multiple times through a system including multiple devices. Alternatively, or in addition, the broadcast message may be tagged with a Time-To-Live counter that is decremented with each hop and is not resent when the hop count reaches zero.
[0050] In some examples, the controller 104 of the device 100 may be configured to store only a limited number of unique identifiers in the memory 108. In such examples, the controller 104 stores the unique identifiers in the memory 108 such that the chronological order of the operational instructions that include the unique identifiers can be determined (e.g., by operating the memory as a FIFO). If the controller 104 determines that a preset number of unique identifiers stored in the memory 108 has been reached, then, like a FIFO, the oldest unique identifiers stored in the memory 108 are removed. The preset number of unique identifiers to be stored in the memory is determined such that repeated relaying of operational instructions with the same unique identifier is avoided, while also preventing the need for a large amount of memory 108 to be provided. Optionally, entries in the memory may also be associated with a timestamp, thereby enabling pruning / removal of FIFO memory entries that are old and no longer relevant. For this purpose, a predefined maximum-in-FIFO lifetime may be used, which is used as a threshold for removal of old FIFO memory entries.
[0051] In some examples, the operational instructions may include a device identifier. Such a device identifier may include, for example, a MAC address of the device. In such examples, the device identifier may enable the intended recipient device(s) of the operational instructions to be identified.
[0052] In one such example, the device identifier may identify the device to which the operational instruction is intended to be delivered. In such an example, upon receiving the operational instruction, the device 100 may operate the application component 102 in response to the controller 104 determining that the operational instruction includes a device identifier corresponding to the device 100. In some examples, if the controller 104 determines that the operational instruction includes a device identifier corresponding to the device 100, the controller 104 may prevent the device 100 from relaying the operational instruction.
[0053] In another example, the device identifier may identify a device (referred to herein as a sending device) that sent an operational instruction via one or more broadcast messages. In such an example, other devices (referred to herein as receiving devices) may be configured to operate their respective application components upon receiving an operational instruction that includes a device identifier corresponding to the sending device. Such an example may enable devices to operate in groups of devices rather than as individual devices.
[0054] In some examples, when operating in client mode, the controller 104 may be configured to connect the device 100 to a wireless network using a first wireless communication protocol to check for availability of a firmware update. If the controller 104 determines that a firmware update is available, the controller 104 causes the device 100 to download and install the firmware update over the wireless network using the first wireless communication protocol. In some examples, when connected to the wireless network using the first wireless communication protocol, the device 100 may switch to operate in a proxy mode or may continue to operate in a client mode. If the device 100 continues to operate in client mode, the device 100 does not receive operational instructions over the wireless network using the first wireless communication protocol.
[0055] In response to receiving an update indication via a broadcast message received using the second wireless communication protocol, the controller 104 may cause the device 100 to connect to a wireless network using the first wireless communication protocol to check for firmware updates. Alternatively, the controller 104 may cause the device 100 to connect to a wireless network using the first wireless communication protocol to check for firmware updates after a preset period of time has elapsed. The preset period of time may be determined from the last time the controller 104 checked for a firmware update.
[0056] In some examples, when the device 100 is operating in a client mode, operational instructions received via one or more broadcast messages received using a second wireless communication protocol may request that the device 100 connect to a wireless network using a first wireless communication protocol. This may be because, for example, operation of the application component 102 requires use of the wireless network. In such examples, the device 100 may continue to operate in the client mode or may switch to operation in a proxy mode. In examples where the device switches to operation in a proxy mode, the controller 104 may send a message to notify other devices connected to the wireless network that the device 100 needs to connect to the wireless network to enable the application component 102 to use the wireless network. In such examples, the sent message may cause one or more of the other devices to switch from the proxy mode to the client mode if a threshold number of devices is determined to have been reached. Similarly, when the device 100 is operating in a proxy mode and receives a message indicating that another device previously operating in a client mode needs to switch to the proxy mode, the controller 104 may cause the device 100 to switch to operation in a client mode if a threshold number of devices operating in a proxy mode is determined to have been reached.
[0057] In some examples, the first wireless communication protocol may be any wireless networking protocol suitable for connecting the device 100 to the Internet via a wireless networking protocol. In some examples, the first wireless communication protocol may be a wireless network using the IEEE 802.11 protocol. Such a wireless network may use the IEEE 802.11 protocol operating in infrastructure mode, with one or more access points using a basic service set (BSS) or an extended service set (ESS). In some examples, the wireless network to which the device 100 connects using the first wireless communication protocol may be a wireless network formed and managed by one or more wireless access points (WAPs). In such a network, one or more WAPs may form and manage the wireless network and provide Internet access to devices connected to the wireless network. This type of wireless network is beneficial because it allows for a high bandwidth connection between the device and the Internet. In other examples, the first wireless communication protocol may be, for example, a Bluetooth network.
[0058] In some examples, the second wireless communication protocol may be any wireless peer-to-peer protocol suitable for transmitting broadcast messages. According to some examples, the second wireless communication protocol is Wi-Fi Direct based, and the IEE 802.11 protocol is used with a peer-to-peer extension from Wi-Fi Direct. In some examples, the broadcast messages may be P2P Public Action Frames as defined in the Wi-Fi Direct standard. In other examples, the second wireless communication protocol may use, for example, Bluetooth, Bluetooth Low Energy, or Zigbee inter-PAN broadcast messages.
[0059] In some examples, the broadcast message and / or the operating instructions may be encrypted. The encryption may be performed by the device and / or by the remote server 400. The device may be configured such that only encrypted operating instructions / broadcast messages are acted upon and / or relayed. The encryption may use, for example, public / private key pair type encryption. In such examples, the encryption is performed by a trusted device using the private part of the public / private key pair. After receiving the encrypted command / message, the controller 104 of the device 100 can decrypt the encrypted message using the public part of the public / private key pair. The method using the public / private key pair is beneficial because it allows any device (trusted or not) to decrypt the broadcast message, but only trusted devices can encrypt the command / message.
[0060] In some instances where encryption is used, the encryption method may include a time-based unique value that allows repeated messages to be identified, thereby preventing unauthorized users / devices from resending encrypted messages at a later date (replay attacks).
[0061] In some examples, the controller 104 may be configured to cause the device 100 to periodically transmit a heartbeat signal via one or more broadcast messages using a second wireless communication protocol. The device 100 uses the second wireless communication protocol to send and receive broadcast messages. Unlike the first wireless communication protocol, the device does not connect to a network or maintain connections with other devices using the second wireless communication protocol. Instead, the heartbeat signal may be used to allow the device to recognize other devices operating within range of the broadcast messages.
[0062] In some examples, device 100 may transmit a heartbeat signal at a preset interval. In some examples, the heartbeat signal may include device identification information such that another device, upon receiving the heartbeat signal, may determine which device transmitted the heartbeat signal. In some examples, the device identification information may include a MAC address of the device transmitting the heartbeat signal.
[0063] In some examples, the heartbeat signal transmitted by the device 100 may include information identifying whether the device 100 is functioning in a proxy mode or a client mode. In some examples, when the device 100 is operating in a client mode, if the device 100 does not receive a heartbeat signal from another device operating in a proxy mode after a predetermined time period, the controller 104 may switch the device 100 from operating in a client mode to operating in a proxy mode. In a situation where a first device operating in a proxy mode ceases to function (e.g., the first device may suffer a power loss or mechanical failure), the first device will stop transmitting a heartbeat signal. A second device operating in a client mode that previously received operational instructions relayed from the first device will determine that a predetermined time period has elapsed since a heartbeat signal from the first device was received. This causes the second device to determine that the first device is no longer functioning, and thus the controller of the second device may cause the second device to switch to operating in a proxy mode.
[0064] In some examples, the second device may not switch to operating in proxy mode if, during a predetermined time period, the second device receives one or more heartbeat signals from additional devices operating in proxy mode. In some examples, the second device switches to operating in proxy mode only if no heartbeat signals are received within a predetermined time period from other devices operating in proxy mode. In some examples, after determining that one or more devices operating in proxy mode have stopped sending heartbeat signals, the second device may wait a randomly determined time period before switching to operating in proxy mode. This may be beneficial as it may prevent multiple devices operating in client mode from switching to proxy mode at the same time, which may disrupt operation of the wireless network.
[0065] In some examples, the device 100 operating in client mode may periodically transmit a heartbeat signal via one or more broadcast messages using the second wireless communications protocol. In some examples, the heartbeat signal may be transmitted in response to receiving a heartbeat signal transmitted by a device operating in proxy mode.
[0066] In some examples where a device operating in client mode transmits a heartbeat signal, the device 100 operating in proxy mode, in response to receiving a heartbeat signal from another device operating in client mode, may send information regarding the received heartbeat signal to a remote operator over a wireless network using a first wireless communication protocol. In some examples, the remote operator may be a server 400 connected to the wireless network controller 300 over a network connection and / or over the Internet. In some examples, the transmitted information regarding the received heartbeat signal may enable the remote operator to determine which devices may receive operational instructions.
[0067] In some examples, when the device 100 is operating in proxy mode, the controller 104 may cause the device 100 to switch to operation in client mode if the controller 104 determines that the received heartbeat signal indicates that the number of other devices operating in proxy mode meets a threshold. In some examples, after determining that the number of devices operating in proxy mode meets a threshold, the controller 104 may wait a randomly determined period of time before switching the device to operation in proxy client mode. This may be beneficial because it may prevent multiple devices operating in proxy mode from switching to proxy client mode at the same time (which may prevent reception of operational instructions over a wireless network using the first wireless communication protocol).
[0068] In some examples, after the device 100 is connected to the wireless network using the first connection, the device 100 may establish a connection to a remote server 400. In some examples, the server may be connected to the wireless network via an additional network connection and / or via the Internet. In some examples, the device 100 establishes a secure connection with the server 400 using server authentication credentials. In some examples, the server authentication credentials are hard-coded into the device 100 when the device is manufactured. In other examples, the server authentication credentials may be configured into the device 100 at a later point in time, such as during or after provisioning.
[0069] In some examples, the remote server 400 may be connected to the wireless network controller via a local network or via the Internet. In some examples, the remote server 400 may be one or more cloud-based servers. In some examples, the remote server 400 may run a publish-subscribe network protocol, such as Message Queuing Telemetry Transport (MQTT). After establishing a connection to the remote server 400, the device may subscribe to one or more mailboxes hosted on the remote server. After subscribing to one or more mailboxes, the device may thereby receive control messages including operational instructions that are delivered to the one or more mailboxes. The received operational instructions are relayed to other devices in the system as described in the above examples.
[0070] In such an example, a user may indicate a desire to operate an application component 102 of the device 100, for example, using a smartphone. Operational instructions for operating the application component 102 are transmitted to the remote server 400 and sent in a control message to an associated mailbox. The device 100, operating in a proxy mode, which is subscribed to the mailbox, receives the control message including the operational instructions from the server 400 over a wireless network using a first wireless communication protocol. The operational instructions may then be relayed via one or more broadcast messages using a second wireless communication protocol. Using such a subscription-based model is advantageous because even if the device's access credentials are compromised by a third party, the third party can only receive the transmitted control message, not issue unauthorized instructions.
[0071] MQTT is a preferred messaging protocol for use by the remote server 400 to send operational instructions to one or more devices 100 of the present disclosure, although other protocols may also be used. Some further examples of protocols that may be used are Constrained Application Protocol (CoAP), Extensible Messaging and Presence Protocol (XMPP), Advanced Message Queuing Protocol (AMQP), and Data Distribution Service (DDS).
[0072] It should be understood that the above-described embodiments are presented by way of example only.
[0073] More generally, according to one aspect disclosed herein, there is provided a first device for use as one of a set of devices, the first device including an application component configured to be operable by a remote operator via one or more operational instructions, a controller, and a wireless interface for connecting to a wireless network using a first wireless communications protocol and for receiving and transmitting broadcast messages using a second wireless communications protocol, the first device configured such that, in use, the first device can function interchangeably in either a proxy mode or a client mode to receive operational instructions, where in the proxy mode the first device is configured to connect to a wireless network using the first wireless communications protocol such that, in use, operational instructions are received via the wireless network connected using the first wireless communications protocol, and when switching to the client mode the first device is configured to and in a proxy mode or a client mode, the first device is configured, in use, for receiving operational instructions via one or more incoming broadcast messages using a second wireless communication protocol, and the first device is configured, in use, for in response to receiving an operational instruction using the first wireless communication protocol or the second wireless communication protocol, for the operational instruction to be forwarded by the first device in one or more outgoing broadcast messages using the second wireless communication protocol, and the first device is configured, in use, for in response to receiving an operational instruction using the second wireless communication protocol, for the operational instruction to be forwarded by the first device in one or more outgoing broadcast messages using the second wireless communication protocol, and when the first device is operating in a proxy mode, the controllerA first device is provided that is configured to switch the first device to operate in a client mode in response to at least one of determining that a threshold number of other devices are connected to a wireless network using a first wireless communication protocol and the first device receiving an operational instruction addressed to the first device to switch to the client mode using the first wireless communication protocol.
[0074] According to a second aspect disclosed herein, there is provided a first device according to the first aspect, wherein each operational instruction includes a unique identifier, the unique identifier being unique to the operational instruction.
[0075] According to a third aspect disclosed herein, there is provided a first device according to the second aspect, wherein the first device further includes a memory configured to store a unique identifier of each operational instruction received by the first device.
[0076] According to a fourth aspect disclosed herein, there is provided a first device according to the third aspect, wherein the controller is configured, upon receiving an operational instruction received in one or more broadcast messages via a second wireless communication protocol, to: compare a unique identifier of the operational instruction with unique identifiers previously stored in the memory; and send the operational instruction in one or more broadcast messages using the second wireless communication protocol only if the unique identifier of the operational instruction does not match another unique identifier previously stored in the memory.
[0077] According to a fifth aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein, when the first device is operating in a client mode, the controller is configured to, in response to at least one of receiving an update instruction via one or more incoming broadcast messages received using a second wireless communication protocol and a predetermined period of time having elapsed since the first device was disconnected from the wireless network, cause the controller to connect the first device to the wireless network using the first wireless communication protocol to obtain the firmware update.
[0078] According to a sixth aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein the component configured to be operable by a remote operator is selected from the group consisting of an illumination device, a light sensor, a smart plug, an HVAC device, an actuator, a space heater, a disinfection unit, an air purifier, an audio speaker, a video playback unit, a garage door opener, an alarm system, and an electronic lock.
[0079] According to a seventh aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein the first wireless communication protocol includes an IEEE 802.11 protocol and / or a Bluetooth protocol.
[0080] According to an eighth aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein the second wireless communication protocol includes a wireless peer-to-peer protocol and / or a Bluetooth protocol.
[0081] According to a ninth aspect disclosed herein, there is provided a first device according to the eighth aspect, wherein the second wireless communication protocol includes Wi-Fi Direct P2P Public Action Frames.
[0082] According to a tenth aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein the controller is configured such that when the first device is operating in a proxy mode, the first device transmits a first heartbeat signal via one or more broadcast messages using a second wireless communication protocol at a first interval.
[0083] According to an eleventh aspect disclosed in the present specification, there is provided a first device according to any of the previous aspects, wherein the controller is configured to switch the first device to operate in a proxy mode when a first heartbeat signal is not received via one or more broadcast messages using a second wireless communication protocol during a first time period when the first device is operating in a client mode.
[0084] According to a twelfth aspect disclosed herein, there is provided a first device according to any of the previous aspects, wherein the controller, when operating in a client mode, is configured to, if the first heartbeat signal is received via one or more broadcast messages using a second wireless communication protocol, the first device transmits a second heartbeat signal via one or more broadcast messages using a second wireless communication protocol, the second heartbeat signal including a first device identifier associated with the first device.
[0085] According to a thirteenth aspect disclosed in the present specification, there is provided a first device according to any of the previous aspects, wherein the controller is configured to store a second device identifier when a second heartbeat signal including the second device identifier is received via one or more broadcast messages using a second wireless communication protocol when the first device is operating in a proxy mode.
[0086] According to a fourteenth aspect disclosed herein, there is provided a method of operating a first device according to any of the preceding aspects, wherein, when operating in a proxy mode, the first device is connected to a wireless network using a first wireless communication protocol and an operation instruction is received via the wireless network connected using the first wireless communication protocol; when switching to a client mode, the first device is disconnected from the wireless network using the first wireless communication protocol; when operating in either the proxy mode or the client mode, the operation instruction is received via one or more incoming broadcast messages using a second wireless communication protocol; and in response to receiving the operation instruction using the first wireless communication protocol or the second wireless communication protocol, the operation instruction is forwarded by the first device in one or more outgoing broadcast messages using the second wireless communication protocol; and when the first device is operating in the proxy mode, in response to at least one of determining that a threshold number of other devices are connected to the wireless network using the first wireless communication protocol and the first device receiving an operation instruction addressed to the first device to switch to the client mode using the first wireless communication protocol, the method switches the first device to operate in the client mode.
[0087] According to a fifteenth aspect disclosed in the present specification, there is provided a system including a device as described in any one of claims 1 to 13 functioning in a proxy mode and a device as described in any one of claims 1 to 13 functioning in a client mode, wherein, in use, the device operating in the proxy mode receives an operational instruction via a wireless network connected using a first wireless communication protocol, and in response to receiving the operational instruction, sends the operational instruction in one or more outgoing broadcast messages via a second wireless communication protocol, the device operating in the client mode receives one or more incoming broadcast messages via the second wireless communication protocol, the one or more incoming broadcast messages corresponding to one or more outgoing broadcast messages including the operational instruction broadcasted by the first device via the second wireless communication protocol, and the device operating in the client mode in response to receiving the operational instruction, forwards the operational instruction in one or more outgoing broadcast messages via the second wireless communication protocol.
[0088] Other variations to the disclosed embodiments can be understood by those skilled in the art upon study of the drawings, the disclosure, and the appended claims, and can be implemented in practicing the claimed invention. In the claims, the word "comprises" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain means are recited in mutually different dependent claims does not indicate that a combination of these means cannot be used to advantage. The computer program may be stored / distributed in a suitable medium, such as an optical storage medium or a solid-state medium, provided together with or as part of other hardware, but also distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be interpreted as limiting the scope.
Claims
1. A lighting device for use as one of a set of devices, wherein the lighting device is An application component configured to be operable by a remote operator via one or more operation commands, and an application component for on-premises use in a lighting application, Controller and A wireless interface for connecting to a wireless network using a first wireless communication protocol, and for receiving and transmitting broadcast messages using a second wireless communication protocol, wherein the first wireless communication protocol includes the IEEE 802.11 protocol, Includes, The lighting device is configured to be interchangeable between proxy mode and client mode when in use to receive operation instructions. In the proxy mode, the lighting device is configured to connect to a wireless network using the first wireless communication protocol so that, when in use, it receives operation instructions via the wireless network connected using the first wireless communication protocol. When switching to the client mode, the lighting device is configured to disconnect from the wireless network using the first wireless communication protocol. When operating in the proxy mode and when operating in the client mode, the lighting device is configured to receive operation instructions via one or more incoming broadcast messages using the second wireless communication protocol when in use. The lighting device is configured such that, when in use, it receives an operation instruction using the first wireless communication protocol, and the operation instruction is forwarded by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. The lighting device is configured such that, when in use, it receives an operation instruction using the second wireless communication protocol, and the operation instruction is forwarded by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. A lighting device, wherein, when the lighting device is operating in proxy mode, the controller is configured to switch the lighting device to operate in client mode in response to a determination that a threshold number of other devices are connected to the wireless network using the first wireless communication protocol.
2. A lighting device for use as one of a set of devices, wherein the lighting device is An application component configured to be operable by a remote operator via one or more operation commands, and an application component for on-premises use in a lighting application, Controller and A wireless interface for connecting to a wireless network using a first wireless communication protocol, and for receiving and transmitting broadcast messages using a second wireless communication protocol, wherein the first wireless communication protocol includes the IEEE 802.11 protocol, Includes, The lighting device is configured to be interchangeable between proxy mode and client mode when in use to receive operation instructions. In the proxy mode, the lighting device is configured to connect to a wireless network using the first wireless communication protocol so that, when in use, it receives operation instructions via the wireless network connected using the first wireless communication protocol. When switching to the client mode, the lighting device is configured to disconnect from the wireless network using the first wireless communication protocol. When operating in the proxy mode and when operating in the client mode, the lighting device is configured to receive operation instructions via one or more incoming broadcast messages using the second wireless communication protocol when in use. The lighting device is configured such that, when in use, it receives an operation instruction using the first wireless communication protocol, and the operation instruction is forwarded by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. The lighting device is configured such that, when in use, it receives an operation instruction using the second wireless communication protocol, and the operation instruction is forwarded by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. A lighting device, wherein, when the lighting device is operating in proxy mode, the controller is configured to switch the lighting device to operate in client mode in response to the lighting device receiving an operational instruction addressed to the lighting device to switch to client mode using the first wireless communication protocol.
3. The lighting device according to claim 1 or 2, wherein each operation instruction includes a unique identifier, and the unique identifier is specific to the operation instruction.
4. The lighting device according to claim 3, wherein the lighting device includes a memory configured to store a unique identifier for each operation instruction received by the lighting device, or a unique identifier for up to N operation instructions received last, where N is a predetermined integer.
5. When the controller receives an operation instruction in one or more broadcast messages via the second wireless communication protocol, the controller: The unique identifier of the operation instruction is compared with a unique identifier previously stored in the memory, and The second wireless communication protocol is used to send the operation instruction in one or more broadcast messages only if the unique identifier of the operation instruction does not match another unique identifier previously stored in the memory. The lighting device according to claim 4, configured as described above.
6. The controller, when the lighting device is operating in the client mode, Receiving update instructions via one or more incoming broadcast messages that can be received using the second wireless communication protocol, and The lighting device has been disconnected from the wireless network for a predetermined period of time. In response to at least one of the following, The controller causes the lighting device to connect to the wireless network using the first wireless communication protocol in order to obtain a firmware update. A lighting device according to claim 1 or 2, configured as described above.
7. The lighting device according to claim 1 or 2, wherein the application component configured to be operable by a remote operator is selected from the group consisting of an illumination device and a light sensor.
8. The lighting device according to claim 1 or 2, wherein the second wireless communication protocol includes a wireless peer-to-peer protocol and / or Bluetooth®.
9. The lighting device according to claim 8, wherein the second wireless communication protocol includes Wi-Fi® Direct P2P Public Action Frames.
10. The lighting device according to claim 1 or 2, wherein the controller is configured such that, when the lighting device is operating in proxy mode, the lighting device transmits a first heartbeat signal via one or more broadcast messages using the second wireless communication protocol at first intervals.
11. The lighting device according to claim 1 or 2, wherein the controller is configured to switch the lighting device to operate in proxy mode if, while the lighting device is operating in client mode, a first heartbeat signal is not received via one or more broadcast messages using the second wireless communication protocol during a first time period.
12. The lighting device according to claim 1 or 2, wherein, when the controller is operating in the client mode, if a first heartbeat signal is received via one or more broadcast messages using the second wireless communication protocol, the lighting device transmits a second heartbeat signal via one or more broadcast messages using the second wireless communication protocol, the second heartbeat signal includes a lighting device identifier associated with the lighting device.
13. The lighting device according to claim 1 or 2, wherein the controller is configured to store the second device identifier when the lighting device is operating in the proxy mode and a second heartbeat signal including the second device identifier is received via one or more broadcast messages using the second wireless communication protocol.
14. A method for operating the lighting device described in claim 1, When operating in the proxy mode, the lighting device is connected to a wireless network using the first wireless communication protocol, and operation instructions are received via the connected wireless network using the first wireless communication protocol. When switching to the client mode, the lighting device is disconnected from the wireless network using the first wireless communication protocol. When operating in the proxy mode and when operating in the client mode, an operation instruction is received via one or more incoming broadcast messages using the second wireless communication protocol. In response to receiving an operation instruction using the first wireless communication protocol, the operation instruction is sent forward by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. In response to receiving an operation instruction using the second wireless communication protocol, the operation instruction is sent forward by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. A method for switching the lighting device to operate in client mode in response to a determination that a threshold number of other devices are connected to the wireless network using the first wireless communication protocol, when the lighting device is operating in proxy mode.
15. A method for operating the lighting device described in claim 2, When operating in the proxy mode, the lighting device is connected to a wireless network using the first wireless communication protocol, and operation instructions are received via the connected wireless network using the first wireless communication protocol. When switching to the client mode, the lighting device is disconnected from the wireless network using the first wireless communication protocol. When operating in the proxy mode and when operating in the client mode, an operation instruction is received via one or more incoming broadcast messages using the second wireless communication protocol. In response to receiving an operation instruction using the first wireless communication protocol, the operation instruction is sent forward by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. In response to receiving an operation instruction using the second wireless communication protocol, the operation instruction is sent forward by the lighting device in one or more outgoing broadcast messages using the second wireless communication protocol. A method for switching the lighting device to operate in client mode when the lighting device is operating in proxy mode, in response to the lighting device receiving an operational instruction addressed to the lighting device using the first wireless communication protocol to switch to client mode.