Methods, systems, and computer-readable media for a first IOT device
Through dynamic role selection and SON protocol coordination of IoT devices, the connectivity and service quality of IoT devices in the network are solved, better wireless coverage and diagnostic efficiency are achieved, and latency and service quality requirements of multiple applications are met. .
Patent Information
- Application Number
- CN202211706887.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-04-11
- Filing Date
- 2018-04-17
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2038-04-17
AI Technical Summary
Dynamic selection of operation roles of Internet of Things (IoT) devices in the network and coordination of ad hoc networks (SON) are difficult to achieve, resulting in poor connectivity and service quality, and the inability of the prior art to effectively manage wireless coverage and diagnosis between IoT devices. Measurement.
IoT devices can dynamically select endpoint roles or relay roles based on the location and connectivity of client devices in the wireless range, and use the SON protocol to coordinate with other IoT devices to adjust their operating roles to optimize wireless coverage and service quality, and also have diagnostic functions. , bridge and service routing through communication links with the local network.
It realizes better connectivity and service quality of IoT devices in the network, expands wireless coverage, improves the network's self-organization capabilities and diagnostic efficiency, and meets the latency and service quality requirements of different applications.
Smart Images

Figure CN116016173B_ABST
Abstract
Description
[0001] This application is a divisional application of a patent application with a filing date of April 17, 2018, entitled “Methods, systems and computer-readable media for a first IOT device” and application number 201880033896.X.
[0002] Related Applications
[0003] This application claims priority to U.S. Patent Application Serial No. 15 / 951,135, filed on April 11, 2018, entitled “DYNAMIC OPERATING ROLES FOR INTERNET OF THINGS (IOT) DEVICES IN A NETWORK” and Indian Provisional Patent Application No. 201741018541, filed on May 26, 2017, entitled “INTERNET OF THINGS (IOT) NETWORK-EDGE DEVICES INSELF-ORGANIZING NETWORKS (SON)”, both of which have been assigned to the assignee of this application. The disclosure of the prior application is deemed to be part of this patent application and is therefore incorporated by reference into this patent application. Technical Field
[0004] The present disclosure generally relates to the field of communications, and more particularly to Internet of Things (IoT) devices in a communication network. Background Art
[0005] The Internet of Things (IoT) refers to the network support of devices that are not traditionally designed to operate in a network. Examples of IoT devices include cameras, drones, wearable devices, home appliances, lighting systems, security system components, speakers, smart refrigerators, televisions, and many more. For example, IoT devices may include "smart" appliances that allow operators to control or automate the operation of the appliances. Some IoT devices are data-consuming or data-producing devices that can be added to a local network. A local network may include one or more access points (APs) that provide connectivity to the local network. Adding IoT devices to a local network can bring opportunities for enhanced connectivity. Summary of the invention
[0006] The systems, methods and devices of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0007] One innovative aspect of the subject matter described in the present disclosure may be implemented as a system, an apparatus, a computer-readable medium, or a method performed by a first Internet of Things (IoT) device. The first IoT device may establish a first communication link between the first IoT device and a first network node of a local network. The first IoT device may select an operational role for the first IoT device in the local network. The operational role may be selected between an endpoint role and a relay role. The first IoT device may dynamically select an operational role based at least in part on a determination of whether the relay role will enhance connectivity of client devices within a wireless range of the first IoT device. After selecting the relay role, the first IoT device may establish a second communication link via a wireless association between the first IoT device and the client device. The first IoT device may bridge services associated with the client device via the first communication link and the second communication link.
[0008] In some implementations, the first IoT device may change an operational role of the first IoT device from an endpoint role to a relay role. The first IoT device may configure itself to operate as a relay node between the first network node and the client device. The first IoT device may bridge the traffic in response to changing the configuration of the first IoT device to operate as a relay node.
[0009] In some implementations, the local network is a self-organizing network (SON). Selecting the operational role may include communicating with the second IoT device using a SON protocol.
[0010] In some implementations, the first IoT device can coordinate between the first IoT device and one or more other IoT devices to select a relay role for the first IoT device based at least in part on a location of the client device relative to the first IoT device and the one or more other IoT devices in a local network.
[0011] In some implementations, the first IoT device may send a message from the first IoT device to one or more network nodes of the local network indicating that the first IoT device is capable of operating in a relay role for the local network.
[0012] In some implementations, the first IoT device may broadcast an advertisement message indicating that the first IoT device is capable of operating in a relay role for a local network. The first IoT device may receive a request from a client device for a wireless association between the first IoT device and the client device. The first IoT device may select the relay role in response to receiving the request from the client device.
[0013] In some implementations, the first IoT device may determine to steer the client device from the first IoT device to a second network node in the local network. The first IoT device may steer the client device to the second network node.
[0014] In some implementations, the second network node may be a second IoT device connected to the local network.
[0015] In some implementations, a first IoT device may determine a first link metric for a first communication link between the first IoT device and a central access point of a local network. The first IoT device may determine a second link metric for a third communication link between a second network node and the central access point. The first IoT device may determine, based at least in part on a comparison of the first link metric and the second link metric, that the second network node will provide a higher quality of service to the client device.
[0016] In some implementations, the first IoT device can reduce power of a wireless coverage area associated with the first IoT device after steering the client device to the second network node.
[0017] In some implementations, after manipulating the client device to the second network node, the first IoT device may determine that no client device is using the relay role of the first IoT device to bridge traffic to the local network. The first IoT device may change the operating role of the first IoT device from a relay role to an endpoint role. The first IoT device may configure itself to operate as an endpoint in the local network.
[0018] In some implementations, a first IoT device may enable a wireless interface of the first IoT device in response to a request received via a first communication link between the first IoT device and a local network, and utilize the wireless interface to obtain diagnostic measurements associated with at least one other device in the local network.
[0019] Another innovative aspect of the subject matter described in the present disclosure can be implemented in a first IoT device. The first IoT device can establish a first communication link between the first IoT device and a first access point of a local network. The first IoT device can be initially configured to operate as an endpoint connected to the local network. The first IoT device can establish a second communication link via a wireless association between the first IoT device and a client device. The first IoT device can bridge services associated with the client device via the first communication link and the second communication link.
[0020] In the drawings and the following description, details of one or more implementations of the subject matter described in the present disclosure are set forth. Other features, aspects, and advantages will become apparent through these descriptions, drawings, and claims. It should be noted that the relative sizes in the drawings are not depicted to scale. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 A system diagram of an exemplary local network including Internet of Things (IoT) devices and client devices is shown.
[0022] Figure 2 A system diagram illustrating an exemplary local network in which IoT devices can dynamically select operational roles.
[0023] Figure 3 A flow diagram illustrating an exemplary IoT device that can bridge traffic for client devices in a local network.
[0024] Figure 4 A system diagram of an exemplary local network showing coordination of two IoT devices is shown.
[0025] Figure 5 A system diagram illustrating an exemplary local network in which a first IoT device may be used for diagnostic measurements.
[0026] Figure 6 A message flow diagram of IoT devices in an exemplary local network is shown.
[0027] Figure 7 A block diagram of an exemplary electronic device for implementing aspects of the present disclosure is shown.
[0028] Like reference numbers and numerals in the various drawings represent like elements. DETAILED DESCRIPTION
[0029] To describe the innovative aspects of the present disclosure, the following description is directed to certain implementations. However, one of ordinary skill in the art will readily recognize that the teachings herein may be applied in a variety of different ways. Certain examples in the present disclosure may be based on wireless local area network (WLAN) communications in accordance with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless standards. However, the described implementations may be implemented in any device, system, or network capable of sending and receiving radio frequency (RF) signals in accordance with any communication standard, such as any of the IEEE 802.11 standards, Standard, Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM / General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunked Radio (TETRA), Wideband CDMA (W-CDMA), Evolution-Data Optimized (EV-DO), 1xEV-DO, EV-DO Rev A, EV-DO Rev B, High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolved High Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals for communicating within a wireless, cellular or Internet of Things (IoT) network, such as a system utilizing 3G, 4G or 5G or further implementations thereof.
[0030] A local network in a home, apartment, business, or other area may include various devices that use the local network to communicate with each other or with devices in another network. For example, a local network may provide access for local devices to communicate with an upstream network (e.g., access to the Internet via a broadband network). A local network may include one or more access points (APs) to provide wireless coverage for the local network. Typically, one of these APs will be referred to as a root AP, and the other APs use the logical topology between each of the other APs and the root AP for automatic path or route selection. A local network that can coordinate between two or more APs to manage topology or aggregate wireless coverage areas may be referred to as a self-organizing network (SON). The SON protocol may be used between two or more APs to coordinate wireless channel configuration or other implementation settings.
[0031] There are several types of devices that can operate in a local network. For example, a local network may include one or more access points, client devices, and IoT devices. Examples of client devices may include mobile devices, laptops, computers, or wearable computing devices. Examples of IoT devices may include appliances, sensors, or other machines that can communicate through a local network and perform other traditional machine functions. In some implementations, IoT devices may not have network capabilities previously. IoT devices can be data consuming devices or data producing devices, and can operate as endpoints connected to a local network. For example, an IoT device can be configured as a station (STA) connected to an AP. When operating as a STA, an IoT device can operate in an endpoint role in the network. However, some IoT devices can operate in a relay role in a local network. In the relay role, an IoT device can provide a wireless connection (as an AP) for a client device and relay services to or from a client device and upstream connections to a local network.
[0032] In the present disclosure, an IoT device may change its operational role based on determining whether a relay role will enhance the connectivity of client devices within the wireless range of the IoT device. In one operational role (e.g., an "endpoint role"), an IoT device may operate as an endpoint in a network. In another operational role (e.g., a "relay role"), an IoT device may operate as a relay node between a client device and a local network. For example, an IoT device may operate as an AP or repeater in a SON and provide wireless access to client devices. An IoT device may bridge services to or from a client device and another access node of the network (e.g., a central access point or another access point). In some implementations, an IoT device may utilize the SON protocol to communicate and coordinate with other APs (or other IoT devices) in a local network to optimize the wireless coverage of a local network or to manage the steering of client devices between APs. In some implementations, each IoT device may independently and dynamically select an operational role for itself.
[0033] In one aspect, the IoT device may advertise the ability to operate in a relay role. The client device may send a request to the IoT device to establish a wireless association between the client device and the IoT device. Thus, the client device may incentivize the IoT device to select the relay role. In response to receiving the request for wireless association, the IoT device may change from the endpoint role to the relay role. In this scenario, the capabilities of the client device and the proximity of the client device to the IoT device may be factors that influence the selection of the operating role by the IoT device.
[0034] In one aspect, the IoT device can coordinate with one or more other IoT devices in the local network. The selection of which IoT device to use the relay role can be based on the location (or movement) of the client device relative to the IoT device. For example, when the client device is in close proximity to the IoT device, the IoT device can change to the relay role to provide wireless connectivity to the client device. As the location of the client device moves, different IoT devices can change to the relay role to provide seamless wireless coverage for the client device. If no client device is close to the IoT device (or the IoT device is not in use), the IoT device can change to the endpoint role to save power and reduce wireless interference.
[0035] In one aspect, the IoT device can temporarily provide a diagnostic role in a local network. In the diagnostic role, the IoT device can enable the wireless interface to obtain diagnostic measurements associated with at least one other device in the local network. For example, the IoT device can measure the wireless environment or another device coupled to the local network. The diagnostic role can be used for troubleshooting or maintenance of other devices. For example, diagnostic information (such as an automatic diagnostic report) can be sent to a server in an upstream network (e.g., a service provider host on the cloud). The diagnostic information can be used for analysis of other IoT devices or for optimizing the SON network.
[0036] Specific implementations of the subject matter described in the present disclosure may be implemented to achieve one or more of the following potential advantages. For example, the wireless coverage of a local network may be extended where an IoT device is deployed. As a result of the IoT device operating as a relay node for a client device, the client device may enjoy better wireless coverage or quality of service. In addition, IoT devices may be coordinated using the SON protocol to manage or adjust the configuration of their coverage areas, thereby providing more complete wireless coverage for client devices in a local network. In addition, IoT devices may be used for diagnostic measurements of another IoT device or AP in the network. In some implementations, integrating IoT devices into SON may improve the communication distance and coverage of SON within a connected home. In addition, service separation and quality of service (QoS) policies may be integrated into the service to route packets between a combination of SON network nodes and IoT devices according to the QoS and latency requirements of a particular application.
[0037] Figure 1A system diagram of an exemplary local network including an Internet of Things (IoT) device and a client device is shown. The network 100 includes a central access point 110 for providing access from the local network to a broadband network 120. A gateway device (not shown) can provide access between the local network and the broadband network 120. For example, the gateway device can be coupled to the broadband network 120 via a cable, optical fiber, power line, Ethernet, or digital subscriber line (DSL) network connection. The central access point 110 in the local network (which is sometimes also referred to as a central AP, CAP, or root AP) can route traffic between the local network and the gateway device. In some implementations, the central access point can be integrated or collocated with the gateway device. There can be multiple access points in the local network. Each AP in the local network can have different hardware capabilities (e.g., 2.4GHz or 5GHz support, dual-band single radio, dual-band dual concurrent radio (DBDC), etc.), which can provide different options for wireless coverage. Typically, each AP utilizes one or more channels within a frequency band. A channel can refer to a frequency (or range) that an AP uses to communicate with a device that has a wireless association with the AP. Similarly, client devices and IoT devices utilize channels to communicate with the AP (via wireless association).
[0038] The central access point 110 may be considered as (or may include) a first AP 115, which provides a wireless coverage area for client devices and IoT devices. For example, a washing machine 190 is an example of an IoT device and has a wireless communication link 192 to the first AP 115. A client device 170 (e.g., a mobile phone) may initially have a wireless communication link 171 to the first AP 115. The central access point 110 may also provide wired access for devices in the network 100. Figure 1 In the example of FIG. 1 , the central access point 110 has an Ethernet connection 162 to a desktop computer 160 and also provides connectivity to IoT devices 152, 154, 156, 158 (smart light bulb, coffee maker, radio, toaster, respectively) using power line communication (PLC) over power line 150. A second AP 135 is communicatively coupled to the central access point 110 via power line 150. In some implementations, the second AP 135 may be referred to as a range extender (RE) to increase the wireless coverage area using a similar AP configuration as the first AP 115. Figure 1 , refrigerator 180 is an example of an IoT device and has a wireless communication link 182 to the second AP 135.
[0039] The central access point 110, the first AP 115, and the second AP 135 may be referred to as network nodes in a local network because they provide connectivity for other devices to access the local network. Figure 1As examples of some of the connectivity options between various IoT devices, client devices, and network nodes, these connectivity options may include wireless connections or wired connections in different implementations. Figure 1 In the example, washing machine 190 and IoT devices 152, 154, 156, 158 can be referred to as endpoints in the local network because Figure 1 In this example, they are not configured to provide network connectivity to any other device. Figure 1 , washing machine 190 and IoT devices 152, 154, 156, 158 have endpoint roles as their operational roles in the local network. In some implementations, the operational roles of the IoT devices can be changed to take on relay roles. In the relay role, the IoT devices can operate as relay nodes and can provide network connectivity for one or more other devices.
[0040] exist Figure 1 , refrigerator 180 may initially operate in an endpoint role. However, client device 170 may move to location 172 where it would be beneficial for the refrigerator to assume a relay role for the local network. In the relay role, refrigerator 180 may provide an area of wireless coverage and establish a wireless communication link 175 to client device 170. Refrigerator 180 may change its configuration so that it may use its upstream wireless communication link 182 to second AP 135 to carry traffic to or from client device 170. For example, second AP 135 may route downstream traffic to client device 170 via wireless communication link 182. Refrigerator 180 may bridge downstream traffic from wireless communication link 182 to wireless communication link 175. In this way, both client device 170 and refrigerator 180 may utilize wireless communication link 182 to access the local network.
[0041] The refrigerator 180 can provide access to the client device 170 in a variety of ways. For example, in some implementations, the refrigerator 180 can be equipped with a second wireless interface that can operate as an AP for the local network. In some other implementations, the refrigerator 180 can alternate between the wireless communication link 182 and the wireless communication link 175 using a single wireless interface. In other implementations, the refrigerator 180 can use a PLC interface (not shown) to join the local network and use the wireless interface to operate as an AP for the wireless communication link 175.
[0042] In some implementations, the use of SON protocols can improve the coordination between IoT devices and other network nodes. Traditionally, SON protocols can be used for self-configuration, self-management, self-repair or self-correction capabilities of SONs with multiple APs. In the present disclosure, the SON protocol can be extended to provide communication between IoT devices and other network nodes (e.g., AP 115, 135). The refrigerator 180 can communicate with the first AP 115 using SON protocol messages. The refrigerator 180 can indicate to the first AP 115 (or the client device 170) that the refrigerator 180 can select a relay role. The first AP 115 (or the client device 170) can send a request to the refrigerator 180 to change the refrigerator 180 to a relay role. In some implementations, a central controller can coordinate the operational roles of various network nodes and IoT devices. The central controller can use the SON protocol to communicate about capabilities and role selection. In the present disclosure, the SON protocol can be implemented as a single protocol specification or not. For example, one or more background programs or software running on multiple APs can implement the SON protocol, or even the SON protocol can be a combination of several communication technologies (possibly from different protocols) to perform automatic AP procedures for onboarding, configuration, or self-management. In some implementations, the SON protocol can be implemented using messages that conform to the IEEE 1905 standard.
[0043] Figure 2 A system diagram of an exemplary local network in which IoT devices can dynamically select an operational role is shown. The network 200 includes Figure 1 For example, the network 200 includes network nodes (central access point 110, first AP 115, second AP 135), client device 170, and IoT devices 152, 154, 156, 158 coupled via power line 150. Figure 2 In the embodiment of the present invention, refrigerator 180 and washing machine 190 may be coupled via power line 150 (or via another network node such as first AP 115 or second AP 135 (not shown)). Central access point 110 provides access to broadband network 120.
[0044] exist Figure 2In the example of FIG. 2 , client device 170 may be moving among the locations where network 200 is deployed. At a first location 272, client device 170 may have a wireless communication link 273 to first AP 115. When client device 170 moves to a second location 274, the signal strength of wireless communication link 273 may decrease. Washing machine 190 may detect client device 170 and determine that washing machine 190 can provide a better wireless connection to client device 170. Washing machine 190 may change from an endpoint role to a relay role in the network. In the relay role, washing machine 190 may establish a wireless coverage area (e.g., an AP) for client device 170. Client device 170 may establish a wireless communication link 275 to washing machine 190. In some implementations, washing machine 190 may select a relay role as a result of receiving a wireless connection request or other message from client device 170 (or from first AP 115).
[0045] continue Figure 2 , client device 170 may continue to move in the location. Moving from second location 274 to third location 276, client device 170 may experience a decrease in the signal strength of wireless communication link 275. Refrigerator 180 may receive the request or detect the presence of client device 170 and change from an endpoint role to a relay role. In the relay role, refrigerator 180 may establish a wireless coverage area in which client device 170 may establish a wireless communication link 277 to refrigerator 180. When client device 170 is located at third location 276, washing machine 190 may determine that it is no longer advantageous for washing machine 190 to operate in the relay role. Washing machine 190 may change back to the endpoint role to save power and reduce wireless interference at that location.
[0046] Figure 3 A flow chart of an exemplary IoT device that can bridge traffic to a client device in a local network is shown. Flowchart 300 begins at block 310. At block 310, a first IoT device can establish a first communication link between the first IoT device and a central access point of the local network. The first IoT device is initially configured as an endpoint role and can operate as an endpoint connected to the local network. The first communication link can be wired or wireless.
[0047] At box 320, the first IoT device can establish a second communication link via a wireless association between the first IoT device and the client device. The first IoT device can select the relay role based on determining that the relay role will enhance the connectivity of client devices within the wireless range of the first IoT device. For example, the first IoT device can operate the wireless interface of the first IoT device as an access point. The first IoT device can broadcast its ability to act as a relay node and receive a wireless association request from the client device. In some implementations, the client device can be a second IoT device attempting to obtain access to a local network via the first IoT device.
[0048] At box 340, in response to changing the configuration of the first IoT device to operate as a relay node, the first IoT device can bridge the traffic associated with the client device via the first communication link and the second communication link. For example, the first IoT device can route the traffic based on a media access control (MAC) address or an Internet Protocol (IP) address associated with the client device. In some implementations, the first IoT device can change the configuration of the first IoT device to perform a relay role (rather than an endpoint role) between the network node and the client device. For example, the first IoT device can send a SON protocol message to another network node in the network to indicate that the first IoT device is providing access to the client device. In some implementations, the first IoT device can obtain the configuration of another AP in the network so that the first IoT device can copy or imitate at least some of these configurations. As an example, the first IoT device can use the same service set identifier (SSID) and passphrase as another AP that already exists in the local network.
[0049] Bridging the traffic may include classification or separation of different traffic types. For example, in some implementations, the local network may utilize traffic classification so that specific types of traffic may be routed through specific IoT devices or via specific virtual local area networks (VLANs). For example, low-latency background application traffic may be routed through a first IoT device rather than through a range extender or other APs in the network. For example, a data device similar to a laptop or tablet device may experience a lower link metric from a traditional range extender, which may benefit from connecting through a first IoT device.
[0050] Figure 4 A system diagram of an exemplary local network for showing coordination of two IoT devices is shown. The network 400 includes Figure 1Similar devices described in network 100 of . For the sake of brevity, some elements of network 100 are removed. In network 400, a central access point 110 couples a broadband network 120 to a PLC subnet of a local network. The PLC subnet includes a refrigerator 180 and a washing machine 190. In network 400, both refrigerator 180 and washing machine 190 are capable of operating as relay nodes and can operate as APs for client devices 170. Refrigerator 180 and washing machine 190 implement the SON protocol for coordination between APs. The SON protocol may include information about wireless configuration, channel selection, signal strength, and manipulation. Manipulation refers to any activity that causes a client device to change its wireless association from a first AP to a second AP. Manipulation may also be referred to as reassociation activity, moving, transferring, relocating, converting, switching, relocating, handing over, and the like. Manipulation does not necessarily involve physical or geographical movement of a device. However, in Figure 4 In the example of FIG. 1 , client device 170 may be moving away from washing machine 190 and toward refrigerator 180. For example, an operator walking in a house where washing machine 190 and refrigerator 180 are located may be holding client device 170.
[0051] As the client device 170 moves away from the washing machine 190 and toward the refrigerator 180, the washing machine 190 and the refrigerator 180 can implement the SON protocol to communicate about the wireless coverage area that each IoT device will provide. For example, when the client device 170 moves close enough to join the wireless coverage area of the refrigerator 180, the washing machine 190 can reduce the signal power of its AP so that the wireless coverage area is reduced (from 491 to 492). Similarly, the refrigerator 180 can increase the signal power of its AP so that the wireless coverage area increases (from 481 to 482). The washing machine 190 and the refrigerator 180 can coordinate to manipulate the client device 170 to discard the previous (to the washing machine 190) wireless communication link 471 and establish a new (to the refrigerator 180) wireless communication link 472. In this way, as the client device 170 moves in the environment, the AP associated with the IoT device can modify the wireless coverage area to best serve the client device 170. The SON protocol can define the message transmission used by the IoT device to communicate about the configuration on the network. For example, the SON protocol may be used to communicate about the wireless channel or power level to be used by each AP (or IoT device acting as an AP).
[0052] In some implementations, when the client device 170 moves out of the coverage area of the washing machine 190, the washing machine 190 may determine whether any other client devices are using the coverage area of the washing machine 190 (or in the vicinity thereof). If there are no other client devices in the vicinity of the washing machine 190 or no other client devices will use the coverage area of the washing machine 190, the washing machine 190 may change its AP interface to a low power mode and revert to being an endpoint in the network. The washing machine 190 may periodically advertise its availability as a relay node and wait for wireless association requests from client devices until the coverage area is re-enabled and changed to operate as a relay node again.
[0053] In some implementations, the decision to steer the client device can be based on quality of service in addition to (or independently of) movement of the client device. For example, the first IoT device can determine to steer the client device from the first IoT device to a second access point in the local network based on an estimated quality of service metric. The second access point can be a second IoT device (e.g., Figure 4 ), or another access point (not shown). The first IoT device can determine a first link metric for a first communication link between the first IoT device and a central access point of the local network. The first IoT device can also determine a second link metric for a third communication link between the second access point and the central access point. If the first IoT device determines, at least in part based on a comparison of the first link metric and the second link metric, that the second access point will provide a higher quality of service (e.g., lower latency, greater throughput, etc.) for the client device, the first IoT device can steer the client device to the second access point.
[0054] In some implementations, application-specific routing can be used in the network to route certain types of traffic (e.g., as specified by QoS requirements) through certain IoT devices. In some implementations, specific IoT devices can implement unique features using application program interfaces (APIs) in the IoT devices.
[0055] Figure 5 A system diagram of an exemplary local network in which a first IoT device can be used for diagnostic measurements is shown. The network 500 includes Figure 1Similar devices are described in connection with network 100 of FIG. 1 . For the sake of brevity, some elements of network 100 are removed. In network 500, a central access point 110 couples a PLC subnet of a local network via a power line 150. Network 500 includes a first AP 115 and a second AP 135. The first AP 115 provides wireless access to a security camera 595. The second AP 135 provides wireless access to a refrigerator 180. Some IoT devices (e.g., security cameras 595) may have the ability to be accessible from a broadband network (e.g., the "cloud") for typical customer use or product diagnostics. Therefore, there are reasons for making measurements about the wireless environment or about devices coupled to the network. In Figure 5 In the example of , the security camera 595 can be within the wireless range 580 of the refrigerator 180. The refrigerator 180 is able to perform remote access or diagnostic measurements 525 of the security camera 595. For example, the refrigerator 180 can change the operation of the refrigerator 180 to become a relay node and use the wireless range 580 to provide a connection to the security camera 595. When the security camera 595 is accessing the network via the refrigerator 180, the refrigerator 180 can perform diagnostic functions on the security camera 595. In some implementations, the refrigerator 180 can simply scan and observe the wireless environment to obtain diagnostic information about the security camera 595. In some implementations, a service provider (e.g., a security system company or a cloud backup service) can use the remote access or diagnostic information to maintain or troubleshoot the security camera 595.
[0056] As IoT devices are deployed in homes and businesses, the operator of the network can use the first IoT device for these diagnostic functions to better understand or troubleshoot a second IoT device or another device in the network. Thus, the first IoT device can perform a diagnostic role in the network. In the diagnostic role, the first IoT device can also simultaneously operate an endpoint role or a relay role for the network. Because the first IoT device can dynamically select its operational role in the network, the first IoT device can provide network edge services that may not be available on the endpoint.
[0057] Figure 6 A message flow diagram of IoT devices in an exemplary local network is shown. Network 600 includes central access point 110, IoT device 680, and client device 170. At 610, IoT device 680 establishes a first communication link to central access point 110. Initially, IoT device 680 may operate as an endpoint in network 600. At 612, client device 170 may also initially have a communication link to central access point 110.
[0058] At 618, the IoT device 680 may "opt-in" to provide services as a relay node. For example, a button, touch screen interface, software API, control application, or other configuration tool may be used to enable the IoT device 680 to operate as a relay node. Alternatively, whenever the IoT device 680 detects the client device 170, the IoT device 680 may enable services for the relay node as an "on-demand" feature. In some implementations, the IoT device 680 may enable these services (as "opt-in" or "on-demand") in real time and dynamically based on channel load, interference, or link metrics associated with one or more APs in the local network. For example, the SON protocol may dynamically enable these services in response to changes in the wireless environment, usage, or location of the client device.
[0059] At 620, the IoT device 680 may advertise its ability to act as a relay node (perform a relay role) for the network. For example, if the IoT device 680 receives a request from the client device 170 (or any other client device in the network), the IoT device 680 may broadcast a message (e.g., a beacon message) to provide for the initiation of a wireless access point at the IoT device 680. In some implementations, the IoT device 680 may use an information element (IE) to advertise the repeater or transponder capabilities. In some implementations, the application program interface (API) of the IoT device 680 may be used to enable the IE. At 630, the IoT device 680 may also send a message to the central access point 110 indicating that the IoT device 680 is capable of joining the SON protocol associated with the local network.
[0060] At 640, the IoT device 680 may receive a request for a wireless association from the client device 170. At 650, the IoT device 680 may change its operational role so that the IoT device 680 will operate as a relay node between the central access point 110 and the client device 170. For example, the IoT device 680 may enable an AP interface at the IoT device 680 and accept a wireless association from the client device 170. At 660, the IoT device 680 may send an indication to the central access point 110 that the client device 170 is utilizing the IoT device 680 as a relay node. For example, the indication may be a SON protocol message or an address resolution protocol (ARP) message. At 671 and 672, the IoT device 680 may bridge traffic from the client device 170 to the central access point 110.
[0061] Figure 7A block diagram of an exemplary electronic device 700 for implementing various aspects of the present disclosure is shown. In some implementations, the electronic device 700 may be an IoT device (e.g., a refrigerator 180, a washing machine 190, or an IoT device 680). The electronic device 700 includes a processor 702 (which may include multiple processors, multiple cores, multiple nodes, or implement multithreading, etc.). The electronic device 700 includes a memory 706. The memory 706 may be any one or more of the possible implementations of the system memory or the machine-readable medium described below. The electronic device 700 may also include a bus 701 (e.g., PCI, ISA, PCI-Express, NuBus, AHB, AXI, etc.). The electronic device may include one or more network interfaces 704, and the network interface 704 may be a wireless network interface (for example, a wireless local area network WLAN interface, Interface, WiMAX interface, Interface, wireless universal serial bus USB interface, etc.) or wired network interface (e.g., power line communication interface, Ethernet interface, etc.). In some implementations, electronic device 700 can support multiple network interfaces 704: each network interface can be configured to couple electronic device 700 to a different communication network.
[0062] The memory 706 includes functions for supporting the various implementations described above. The memory 706 may include one or more functions that facilitate the implementation of the present disclosure. For example, the memory 706 may implement one or more aspects of the refrigerator 180, washing machine 190, or IoT device 680 described above. The memory 706 may enable the above in Figure 1-Figure 7 The electronic device 700 may also include other components 708. For example, other components 708 may include data generation or data consumption components of IoT devices (e.g., sensors, user interface components, output components, etc.).
[0063] The electronic device 700 may include a SON configuration unit 710 and a bridging unit 720. The SON configuration unit 710 may operate the SON protocol used by the electronic device 700 to communicate with other APs in the network. The SON configuration unit 710 may determine the configuration for the network interface 704 based on information collected via the SON protocol. The bridging unit 720 may provide bridging of services between two or more communication links. For example, the bridging unit 720 may bridge services of a client device that has a communication link using the electronic device 700 to access a local network.
[0064] Any of these functions may be implemented partially (or completely) in hardware (e.g., on processor 702). For example, the function may be implemented in a dedicated integrated circuit, in logic implemented in processor 702, in a coprocessor on a peripheral device or card, etc. In addition, the implementation may include Figure 7 Fewer components or additional components not shown (e.g., video cards, audio cards, additional network interfaces, peripherals, etc.) may be provided. Processor 702 and memory 706 may be coupled to bus 701. Although shown as coupled to bus 701, memory 706 may be coupled directly to processor 702.
[0065] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items, including single members. For example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc.
[0066] The various exemplary logics, logic blocks, modules, circuits, and algorithmic processes described in conjunction with the implementations disclosed herein may be implemented as electronic hardware, computer software, or a combination of the two. In order to generally represent the interchangeability between hardware and software, the various exemplary components, blocks, modules, circuits, and processes described above are generally described around their functions. Whether such functions are implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system.
[0067] The hardware and data processing apparatus for implementing the various exemplary logics, logic blocks, modules and circuits described in conjunction with the aspects disclosed herein may be implemented or executed using a general purpose single-chip or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or any combination thereof for performing the functions described herein. A general purpose processor may be a microprocessor, or the processor may be any conventional processor, controller, microcontroller or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, a combination of one or more microprocessors and a DSP core, or any other such structure. In some implementations, specific processes and methods may be performed by circuits specific to a given function.
[0068] In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware (including the structures disclosed in this specification and their structural equivalents), or any combination thereof. Implementations of the subject matter described in this specification may also be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium, to be executed by a data processing device or to control the operation of the data processing device.
[0069] When implemented using software, the function can be stored on a computer-readable medium or sent by one or more instructions or codes on a computer-readable medium. The processing of the method or algorithm disclosed herein can be implemented using a processor-executable software module present on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein the communication media include any medium that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a computer can access. For example, but not limitation, such a computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage or other magnetic storage device, or any other medium that can be used to store the desired program code in the form of an instruction or data structure and can be accessed by a computer. In addition, any connection can be appropriately referred to as a computer-readable medium. As used herein, disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray disks. TM Optical disks, where magnetic disks typically reproduce data magnetically, and optical disks use lasers to reproduce data optically. Combinations of the above should also be included within the scope of protection of computer-readable media. In addition, the operations of the method or algorithm can exist as code and instruction sets or any combination thereof on machine-readable media and computer-readable media, where the machine-readable media and computer-readable media can be incorporated into a computer program product.
[0070] It will be apparent to those skilled in the art that various modifications may be made to the implementations described in the present disclosure, and the general principles defined herein may also be applied to other implementations without departing from the spirit or scope of the present disclosure. Therefore, the present invention is not limited to the implementations shown herein, but is consistent with the broadest scope of the disclosure, principles, and novel features disclosed herein.
[0071] In addition, it should be readily understood by those skilled in the art that, for ease of describing the accompanying drawings, the terms "upper" and "lower" are sometimes used to indicate relative positions corresponding to the orientation of graphics on a properly oriented page, and may not reflect the correct orientation of any device implemented.
[0072] Certain features described in this specification in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented in multiple implementations individually or in any suitable subcombination. In addition, although some features are described above as working in certain combinations (even if initially claimed as such), in some cases, one or more features in a claimed combination may be cut out of the combination, and a claimed combination may be directed to a certain subcombination or variation of a subcombination.
[0073] Similarly, although the operations are described in a specific order in the accompanying drawings, it should not be understood that such operations need to be performed in the specific order or serial order shown, or that all the operations shown need to be performed to obtain the desired result. In addition, the accompanying drawings schematically depict one or more exemplary processes in the form of a flow chart. However, other operations not described can be incorporated into the schematically shown example process. For example, one or more additional operations can be performed before, after, at the same time or between the operations shown. In some environments, multitasking and parallel processing are advantageous. In addition, the division of each system component among the implementations described above should not be understood as requiring such division in all implementations, but it should be understood that the described program components and systems can usually be integrated into a single software product together, or encapsulated into multiple software products. In addition, other implementations also fall within the scope of protection of the attached claims. In some cases, the actions stated in the claims can be performed in different orders, and still obtain the desired results.
Claims
1. A method for wireless communication by a first Internet of Things (IoT) device, comprising: establishing a first communication link between the first IoT device and a first network node of a wireless local area network (WLAN), the first IoT device having an operational role of an endpoint role or a relay role; selecting the relay role as the operational role for the first IoT device in the WLAN to serve client devices; as well as After selecting the relay role: operating the first IoT device as an access point of the WLAN; establishing a second communication link via a wireless association between the first IoT device and the client device; and Traffic associated with the client device is bridged via the first communication link and the second communication link.
2. The method according to claim 1, wherein: Selecting the relay role as the operating role includes: The operational role of the first IoT device is changed from the endpoint role to the relay role.
3. The method according to claim 1, wherein: The WLAN is a Self-Organizing Network (SON), and wherein selecting the relay role as the operational role includes communicating with the second IoT device using a SON protocol.
4. The method according to claim 1, wherein: Selecting the relay role as the operational role for the first IoT device includes: Coordination is performed between the first IoT device and the one or more other IoT devices to select the relay role for the first IoT device based on a location of the client device relative to the first IoT device and the one or more other IoT devices in the WLAN.
5. The method according to claim 1, further comprising: determining to manipulate the client device from the first IoT device to a second network node in the WLAN; as well as The client device is steered to the second network node.
6. The method according to claim 5, wherein: Determining that the client device is manipulated includes: determining a first link metric for the first communication link between the first IoT device and a central access point of the WLAN; determining a second link metric for a third communication link between the second network node and the central access point; and Based at least in part on a comparison of the first link metric and the second link metric, it is determined that the second network node will provide a higher quality of service for the client device.
7. The method according to claim 1, further comprising: Power for a wireless coverage area associated with the first IoT device is reduced.
8. The method according to claim 5, further comprising: After manipulating the client device to the second network node: The operational role of the first IoT device is changed from the relay role to the endpoint role.
9. The method according to claim 1, further comprising: enabling a wireless interface of the first IoT device in response to a request received via the first communication link between the first IoT device and the WLAN; as well as The wireless interface is utilized to obtain diagnostic measurements associated with at least one other device in the WLAN.
10. The method according to claim 1, wherein: The wireless interface of the first IoT device includes a service set identifier or a passphrase of an access point of the WLAN.
11. The method according to claim 1, further comprising: Coordinate with a second IoT device to adjust a configuration of a wireless coverage area associated with the first IoT device.
12. The method according to claim 1, further comprising: A message is sent indicating that the first IoT device is providing access to the client device.
13. An Internet of Things (IoT) device for wireless communication, comprising: one or more memories storing processor-executable code; as well as One or more processors, which are coupled to the one or more memories and are operable, respectively or collectively, to execute the processor executable code to enable the IoT device to perform the following operations: Establishing a first communication link between the IoT device and a first network node of a wireless local area network (WLAN), the IoT device having an operational role of an endpoint role or a relay role; selecting the operation role for the IoT device in the WLAN as the relay role to serve client devices; as well as After selecting the relay role: operating the IoT device as an access point of the WLAN; establishing a second communication link via a wireless association between the IoT device and the client device; and Traffic associated with the client device is bridged via the first communication link and the second communication link.
14. The IoT device according to claim 13, wherein: In order to select the relay role as the operation role, the one or more processors are individually or collectively operable to execute the processor executable code to cause the IoT device to perform the following operations: The operational role of the IoT device is changed from the endpoint role to the relay role.
15. The IoT device according to claim 13, wherein: The WLAN is a self-organizing network (SON), and wherein, in order to select the operating role as the relay role, the one or more processors are individually or collectively operable to execute the processor-executable code to cause the IoT device to perform the following operations: communicate with a second IoT device using a SON protocol.
16. The IoT device according to claim 13, wherein: In order to select the relay role as the operation role, the one or more processors are individually or collectively operable to execute the processor executable code to cause the IoT device to perform the following operations: Coordination is performed between the IoT device and the one or more other IoT devices to select the relay role for the IoT device based at least in part on a location of the client device relative to the IoT device and the one or more other IoT devices in the WLAN.
17. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: The client device is steered from the IoT device to a second network node in the WLAN.
18. The IoT device according to claim 17, wherein: In order to operate the client device, the one or more processors are individually or collectively operable to execute the processor executable code to cause the IoT device to perform the following operations: Reducing power used in a wireless coverage area associated with the IoT device.
19. The IoT device according to claim 17, wherein: In order to operate the client device, the one or more processors are individually or collectively operable to execute the processor executable code to cause the IoT device to perform the following operations: Increasing power for a wireless coverage area associated with the IoT device.
20. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: A message is sent indicating a power level for a wireless coverage area associated with the IoT device.
21. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: A message is received indicating a network configuration associated with a second network node.
22. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: A message is sent to one or more other IoT devices indicating a network configuration associated with the IoT device.
23. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: Obtaining a first link metric for the first communication link between the IoT device and a central access point of the WLAN; obtaining a second link metric for a third communication link between a second network node and the central access point; In association with the comparison of the first link metric and the second link metric, selecting the relay role when the IoT device will provide a higher quality of service to the client device; as well as In association with the comparison of the first link metric and the second link metric, the client device is steered to the second network node when the second network node will provide the client device with the higher quality of service.
24. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: obtaining a request for obtaining diagnostic measurements associated with at least one other device in the WLAN; utilizing a wireless interface of the IoT device to obtain the diagnostic measurement associated with the request; and The diagnostic measurements are provided in response to the request.
25. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: Detecting that the client device is close to the IoT device; obtaining, by the IoT device, link metrics associated with a plurality of communication links of the WLAN; and The relay role is selected in association with the link metric indicating that the IoT device will enhance a quality of service for the client device.
26. The IoT device according to claim 13, wherein: The wireless interface of the IoT device includes a service set identifier or a passphrase of an access point of the WLAN.
27. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: Coordinate with a second IoT device to adjust a configuration of a wireless coverage area associated with the IoT device.
28. The IoT device according to claim 13, wherein: The one or more processors are further operable, individually or collectively, to execute the processor executable code to cause the IoT device to perform the following operations: A message is sent indicating that the IoT device is providing access to the client device.
29. An apparatus for wireless communication at a first Internet of Things (IoT) device, comprising: processor; as well as a memory coupled to the processor and having instructions stored therein, which when executed by the processor cause the apparatus to perform the following operations: establishing a first communication link between the first IoT device and a first network node of a wireless local area network (WLAN), the first IoT device initially having an endpoint role as an operational role of the first IoT device in the WLAN; changing the operational role for the first IoT device from the endpoint role to a relay role to serve client devices; In the relay role, configuring the wireless interface of the first IoT device to mimic the configuration of an access point (AP) of the WLAN; as well as A second communication link is established between the AP and the client device via the wireless interface.
30. The device according to claim 29, wherein: The WLAN is a self-organizing network (SON), and wherein the instructions for changing the operational role are further executable by the processor to cause the apparatus to communicate with a second IoT device using a SON protocol.
31. The device according to claim 29, wherein: The instructions are also executable by the processor to cause the device to perform the following operations: Power for a wireless coverage area associated with the first IoT device is reduced.
32. The device according to claim 29, wherein: The instructions are also executable by the processor to cause the device to perform the following operations: Power is increased for a wireless coverage area associated with the first IoT device.
33. A method for wireless communication at a first Internet of Things (IoT) device, comprising: establishing a first communication link between the first IoT device and a first network node of a wireless local area network (WLAN), the first IoT device initially having an endpoint role as an operational role of the first IoT device in the WLAN; changing the operational role of the first IoT device from the endpoint role to a relay role to serve a client device; In the relay role, configuring the wireless interface of the first IoT device to mimic the configuration of an access point (AP) of the WLAN; as well as A second communication link is established between the AP and the client device via the wireless interface.
34. The method of claim 33, wherein: The WLAN is a Self Organizing Network (SON), and wherein changing the operational role comprises communicating with the second IoT device using a SON protocol.
35. The method of claim 33, further comprising: Power for a wireless coverage area associated with the first IoT device is reduced.
36. The method of claim 33, further comprising: Power is increased for a wireless coverage area associated with the first IoT device.
