Patent Description:
Internet of things (IoT) refers to network enablement of devices that were not traditionally intended 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 the like. For example, IoT devices may include "smart" appliances which allow an operator to control or automate operation of the appliance. Some IoT devices are data-consuming or data-producing devices which may be added to a local network. A local network may include one or more access points (AP) that provide connectivity to the local network. There may be opportunities to enhance connectivity as a result of adding IoT devices to the local network.

<CIT> relates to an arrangement in which a wireless device (e.g., cellular telephone) communicates with a base station in a cell of the cellular network over a non-cellular interface via another wireless device in the cell through the use of multi-hopping. The wireless device requests permission to communicate with the base station over a non-cellular interface via hopping off another wireless device when its signal strength is below a threshold.

<CIT> relates to a method to provide mobility support of UEs that are served by mobile relay base stations, by providing handover of a UE for data traffic only between two mobile relay base stations. The handover is triggered by any of the following: based on UE's measurement report, the signal quality of a neighbour cell is better than the current serving cell; based on the measurement of the serving mobile relay base station, the signal quality of the link to the UE is worse than a certain threshold; or based on the measurement of the serving mobile relay base station, the signal quality of a neighbour cell (potential donor base station) is much better than the current donor base station.

The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

In accordance with the present invention, there is provided a method as set out in claim <NUM>, an IoT device as set out in claim <NUM>, a computer readable medium as set out in claim <NUM> and a system as set out in claim <NUM>. Other aspects of the invention can be found in the dependent claims.

The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. Some examples in this disclosure may be based on wireless local area network (WLAN) communication according to the Institute of Electrical and Electronics Engineers (IEEE) <NUM> IoT device and a client device. The first IoT device may bridge traffic associated with the client device via the first communication link and the second communication link.

The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. Some examples in this disclosure may be based on wireless local area network (WLAN) communication according to the Institute of Electrical and Electronics Engineers (IEEE) <NUM> wireless standards. However, the described implementations may be implemented in any device, system or network that is capable of transmitting and receiving radio frequency (RF) signals according to any communication standard, such as any of the IEEE <NUM> standards, the Bluetooth® 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 that are used to communicate within a wireless, cellular or internet of things (IoT) network, such as a system utilizing <NUM>, <NUM> or <NUM>, or further implementations thereof, technology.

A local network in a home, apartment, business, or other area may include a variety of devices that utilize the local network to communicate with each other or with devices in another network. For example, the local network may provide access for local devices to communicate to an upstream network (such as access to the Internet, via a broadband network). The local network may include one or more access points (APs) to provide wireless coverage for the local network. Typically, one of the APs will be referred to as a root AP, while other APs make automatic path or routing selection using a logical topology between each of the other APs and the root AP. A local network which is capable of coordinating between two or more APs to manage a topology or aggregate wireless coverage area may be referred to as a self-organizing network (SON). A SON protocol may be used between the two or more APs to coordinate wireless channel configurations or other implementation settings.

There are several types of devices that may operate in the local network. For example, the 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 which are capable of communication via the local network and which perform other traditional machine functions. In some implementations, the IoT devices may not have been previously network-enabled. IoT devices may be data-consuming or data-producing devices and may operate as an endpoint connected to the local network. For example, the IoT device may be configured as a station (STA) connected to an AP. When operated as a STA, the IoT device may be operating in an endpoint role in the network. However, some IoT devices may be capable of operating in a relay role in the local network. In the relay role, an IoT device may provide wireless connectivity (as an AP) for a client device and relay traffic to or from the client device and an upstream connection to the local network.

In this disclosure, an IoT device may change its operating role based on a determination of whether the relay role would enhance connectivity for a client device that is within a wireless range of the IoT device. In one operating role (such as the "endpoint role"), the IoT device may operate as an endpoint in the network. In another operating role (such as the "relay role"), the IoT device may operate as a relay node between a client device and the local network. For example, the IoT device can operate as an AP or repeater in the SON and provide wireless access for a client device. The IoT device can bridge traffic to or from the client device and another access node (such as the central access point or another access point) of the network. In some implementations, the IoT device can utilize the SON protocol to communicate and coordinate with other APs (or other IoT devices) in the local network to optimize wireless coverage for the local network or to manage steering of the client device between APs. In some implementations, each IoT device may independently and dynamically select an operating role for itself.

In one aspect, an IoT device may advertise a capability to operate in the relay role. A 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 stimulate the IoT device to select the relay role. In response to receiving the request for the wireless association, the IoT device may change from an endpoint role to the relay role. In this scenario, the capability of the client device and the proximity of the client device to the IoT device may be factors which influence the operating role selection of the IoT device.

In one aspect, an IoT device may coordinate with one or more other IoT devices in the local network. A selection of which IoT device to use the relay role may be based on a position (or movement) of the client device relative to the IoT devices. For example, when the client device is proximately close to an IoT device, that IoT device may change to the relay role to provide wireless connectivity to the client device. As the client device moves throughout a location, different IoT devices may change to the relay role to provide seamless wireless coverage for the client device. When there are no client devices proximately close to an IoT device (or not using the IoT device), the IoT device may change to an endpoint role to conserve power and reduce wireless interference.

In one aspect, an IoT device may temporarily provide a diagnostic role in the local network. In the diagnostic role, the IoT device may enable a wireless interface to obtain diagnostic measurements associated with at least one other device in the local network. For example, the IoT device may conduct measurements regarding the wireless environment or regarding another device coupled to the local network. The diagnostic role may be used for troubleshooting or maintenance of other devices. For example, diagnostic information (such as automated diagnostic reports) can be sent to a server in an upstream network (such as a service provider host in the cloud). The diagnostic information may be used for analytics of the other IoT device or for optimizing the SON network.

Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. For example, wireless coverage of the local network can be extended in places where IoT devices are deployed. A client device may enjoy better wireless coverage or quality of service as a result of the IoT device operating as a relay node for the client device. Furthermore, IoT devices may coordinate using a SON protocol to manage or adapt configurations of their coverage areas and thus provide more complete wireless coverage for a client device in the local network. Additionally, an IoT device could be used for diagnostic measurements of another IoT device or AP in the network. In some implementations, integration of the IOT devices to a SON may improve the range and coverage of the SON within a connected home. In addition, traffic separation and quality of service (QoS) policies can be integrated into this service to route packets between a combination of SON network nodes and IOT devices depending on QoS and latency requirements of specific applications.

<FIG> shows a system diagram of an example local network including internet of things (IoT) devices and client devices. The network <NUM> includes central access point <NUM> which provides access for the local network to a broadband network <NUM>. A gateway device (not shown) may provide access between the local network and the broadband network <NUM>. For example, the gateway device can couple to the broadband network <NUM> through a cable, a fiber optic, a powerline, Ethernet, or digital subscriber line (DSL) network connection. A central access point <NUM> (sometimes also referred to as a central AP, CAP, or root AP) in the local network may route traffic between the local network and the gateway device. In some implementations, the central access point may be integrated or collocated with the gateway device. There may be multiple access points in the local network. Each AP in the local network may have different hardware capabilities (such as <NUM> or <NUM> support, dual-band single radio, dual band dual concurrent radios (DBDC), or the like) that may provide different options for wireless coverage. Typically, each AP utilizes one or more channels within a frequency band. A channel may refer to a frequency (or range) used by the AP to communicate with devices that have a wireless association with the AP. Similarly, client devices and IoT devices utilize the channel to communicate (via a wireless association) with the AP.

The central access point <NUM> may be considered a first AP <NUM> (or may include the first AP <NUM>) which provides a wireless coverage area for client devices and IoT devices. For example, a washing machine <NUM> is an example of an IoT device and has a wireless communication link <NUM> to the first AP <NUM>. A client device <NUM> (such as a mobile phone) may initially have a wireless communication link <NUM> to the first AP <NUM>. The central access point <NUM> also may provide wireline access for devices in the network <NUM>. In the example of <FIG>, the central access point <NUM> has an Ethernet connection <NUM> to a desktop computer <NUM> and also provides connectivity, using powerline communication (PLC) on a powerline <NUM> to IoT devices <NUM>, <NUM>, <NUM>, <NUM> (smart lightbulb, coffee machine, radio, toaster, respectively). A second AP <NUM> is communicatively coupled to the central access point <NUM> via the powerline <NUM>. In some implementations, the second AP <NUM> may be referred to as a range extender (RE) for adding wireless coverage area using similar AP configurations as the first AP <NUM>. In <FIG>, a refrigerator <NUM> is an example of an IoT device and has a wireless communication link <NUM> to the second AP <NUM>.

The central access point <NUM>, first AP <NUM> and second AP <NUM> may be referred to as network nodes in the local network because they provide connectivity for the other devices to access the local network. <FIG> is provided as an example of some connectivity options between the various IoT devices, client devices and network nodes, which may include wireless or wireline connections in different implementations. In <FIG>, the washing machine <NUM> and the IoT devices <NUM>, <NUM>, <NUM>, <NUM> may be referred to as endpoints in the local network because in the example of <FIG>, they are not configured to provide network connectivity for any other devices. In <FIG>, the washing machine <NUM> and the IoT devices <NUM>, <NUM>, <NUM>, <NUM> have an endpoint role as their operating role in the local network. In some implementations, the operating role of an IoT device may be changed to take a relay role. In the relay role, the IoT device may operate as a relay node and may provide network connectivity for one or more other devices.

In <FIG>, a refrigerator <NUM> may initially be operating in an endpoint role. However, a client device <NUM> may move to a position <NUM> in which it would be beneficial for the refrigerator to take on a relay role for the local network. In the relay role, the refrigerator <NUM> may provide a wireless coverage area and establish a wireless communication link <NUM> to the client device <NUM>. The refrigerator <NUM> may alter its configuration so that it can use its upstream wireless communication link <NUM> to the second AP <NUM> to carry traffic to or from the client device <NUM>. For example, the second AP <NUM> may route downstream traffic destined to the client device <NUM> via the wireless communication link <NUM>. The refrigerator <NUM> may bridge the downstream traffic from wireless communication link <NUM> to the wireless communication link <NUM>. In this way, both the client device <NUM> and the refrigerator <NUM> can utilize the wireless communication link <NUM> to access the local network.

There are a variety of ways the refrigerator <NUM> can provide access for the client device <NUM>. For example, in some implementations, the refrigerator <NUM> may be equipped with a second wireless interface that can operate as an AP for the local network. In some other implementations, the refrigerator <NUM> may utilize a single wireless interface to alternate between the wireless communication link <NUM> and the wireless communication link <NUM>. In yet other implementations, the refrigerator <NUM> may use a PLC interface (not shown) to join the local network and use a wireless interface to operate as an AP for the wireless communication link <NUM>.

In some implementations, the use of a SON protocol may improve coordination between the IoT devices and other network nodes. Traditionally, a SON protocol may be utilized for self-configuration, self-management, self-healing or self-correcting capabilities of the SON having multiple APs. In this disclosure, a SON protocol may be extended to provide communication between the IoT devices and other network nodes (such as the APs <NUM>, <NUM>). The refrigerator <NUM> may communicate with the first AP <NUM> using SON protocol messages. The refrigerator <NUM> may indicate to the first AP <NUM> (or the client device <NUM>) that the refrigerator <NUM> is capable of selecting a relay role. The first AP <NUM> (or the client device <NUM>) may send a request to the refrigerator <NUM> to cause the refrigerator <NUM> to change to the relay role. In some implementations, a central controller may coordinate operating roles for various network nodes and IoT devices. The central controller may utilize the SON protocol to communicate regarding capabilities and role selections. In this disclosure, the SON protocol may or may not be implemented as a single protocol specification. For example, a SON protocol may be implemented by one or more daemons or software running on multiple APs, and may even be a combination of several communication techniques (possibly from different protocols) for performing automated AP procedures for on-boarding, configuration, or self-management. In some implementations, the SON protocol may be implemented using IEEE <NUM> standards-compliant messages.

<FIG> shows a system diagram of an example local network in which IoT devices may dynamically select operating roles. The network <NUM> includes similar devices as described in <FIG>. For example, the network <NUM> includes network nodes (the central access point <NUM>, the first AP <NUM>, the second AP <NUM>), client device <NUM>, and IoT devices <NUM>, <NUM>, <NUM>, <NUM> coupled via the powerline <NUM>. In <FIG>, the refrigerator <NUM> and the washing machine <NUM> may be coupled via the powerline <NUM> (or via another network node, such as first AP <NUM> or second AP <NUM> (not shown)). The central access point <NUM> provides access to the broadband network <NUM>.

In the example of <FIG>, the client device <NUM> may be moving through the location at which the network <NUM> is deployed. At a first position <NUM>, the client device <NUM> may have a wireless communication link <NUM> to the first AP <NUM>. As the client device <NUM> moves to the second position <NUM>, the signal strength of the wireless communication link <NUM> may decrease. The washing machine <NUM> may detect the client device <NUM> and determine that the washing machine <NUM> could provide a better wireless connection to the client device <NUM>. The washing machine <NUM> may change from an endpoint role to a relay role in the network. In the relay role, the washing machine <NUM> may establish a wireless coverage area (such as an AP) for the client device <NUM>. The client device <NUM> may establish a wireless communication link <NUM> to the washing machine <NUM>. In some implementations, the washing machine <NUM> may select the relay role as a result of receiving a wireless connection request or other message from the client device <NUM> (or from the first AP <NUM>).

Continuing with the example of <FIG>, the client device <NUM> may continue moving through the location. Moving from the second position <NUM> to a third position <NUM>, the client device <NUM> may experience a decrease in signal strength for the wireless communication link <NUM>. The refrigerator <NUM> may receive a request or detect the presence of the client device <NUM> and change from an endpoint role to a relay role. In the relay role, the refrigerator <NUM> may establish a wireless coverage area in which the client device <NUM> may establish a wireless communication link <NUM> to the refrigerator <NUM>. When the client device <NUM> is at the third position <NUM>, the washing machine <NUM> may determine that it no longer is beneficial for the washing machine <NUM> to operate in the relay role. The washing machine <NUM> may change back to an endpoint role to conserve power and reduce wireless interference at the location.

<FIG> shows a flowchart of an example IoT device that can bridge traffic for a client device in a local network. The flowchart <NUM> begins at block <NUM>. At block <NUM>, a first IoT device may establish a first communication link between the first IoT device and a central access point of a local network. The first IoT device is initially configured for an endpoint role and may operate as an endpoint connected to the local network. The first communication link may be wireline or wireless.

At block <NUM>, the first IoT device may establish a second communication link via a wireless association between the first IoT device and a client device. The first IoT device may select a relay role based on a determination that the relay role would enhance connectivity for a client device that is within a wireless range of the first IoT device. For example, the first IoT device may operate a wireless interface of the first IoT device as an access point. The first IoT device may broadcast its ability to serve as a relay node and receive a wireless association request from the client device. In some implementations, the client device may be a second IoT device attempting to gain access to the local network via the first IoT device.

At block <NUM>, the first IoT device may bridge traffic associated with the client device via the first communication link and the second communication link in response to changing the configuration of the first IoT device to operate as the relay node. For example, the first IoT device may route traffic based on a media access control (MAC) address or internet protocol (IP) address associated with the client device. In some implementations, the first IoT device may change a configuration of the first IoT device to perform a relay role between the network node and the client device (rather than as an endpoint role). For example, the first IoT device may send a SON protocol message to another network node in the network to indicate that the first IoT device is providing access for the client device. In some implementations, the first IoT device may obtain the configurations of another AP in the network so that the first IoT device can duplicate or mimic at least some of the configurations. As an example, the first IoT device may use a same service set identifier (SSID) and passphrase as another AP already in the local network.

Bridging 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 can be routed through a particular IoT devices or via a particular virtual local area network (VLAN). For example, low latency background application traffic may be routed through the first IoT device rather than through a range extender or other AP in the network. As an example, data devices like laptops or tablets that may experience a lower link metric from a traditional range extender may benefit from connecting through the first IoT device.

<FIG> shows a system diagram of an example local network showing coordination of two IoT devices. The network <NUM> includes similar devices as described for network <NUM> of <FIG>. For brevity, some of the elements of network <NUM> are removed. In the network <NUM>, a central access point <NUM> couples a broadband network <NUM> to a PLC subnet of the local network. The PLC subnet includes the refrigerator <NUM> and the washing machine <NUM>. In the network <NUM>, both the refrigerator <NUM> and the washing machine <NUM> are capable of operating as relay nodes and can operate as APs for the client device <NUM>. The refrigerator <NUM> and the washing machine <NUM> implement a SON protocol for coordinating between APs. The SON protocol can include information about wireless configuration, channel selection, signal strength, and steering. Steering refers to any activity which causes a client device to change a wireless association away from a first AP to a second AP. Steering also may be referred to as a re-association activity, move, transfer, relocate, transition, switch, re-position, handover, or the like. Steering does not necessarily involve physical or geographic movement of the device. However, in the example of <FIG>, the client device <NUM> may be moving away from the washing machine <NUM> and towards the refrigerator <NUM>. For example, the client device <NUM> may be held by an operator walking through a house in which the washing machine <NUM> and the refrigerator <NUM> are located.

As the client device <NUM> moves away from the washing machine <NUM> and towards the refrigerator <NUM>, the washing machine <NUM> and refrigerator <NUM> may implement the SON protocol to communicate about the wireless coverage areas that each IoT device will provide. For example, the washing machine <NUM> may decrease signal power for its AP so that the wireless coverage area decreases (from <NUM> to <NUM>) when the client device <NUM> moves close enough to join a wireless coverage area of the refrigerator <NUM>. Similarly, the refrigerator <NUM> may increase signal power for its AP so that the wireless coverage area increases (from <NUM> to <NUM>). The washing machine <NUM> and the refrigerator <NUM> coordinate to steer the client device <NUM> to drop the previous wireless communication link <NUM> (to the washing machine <NUM>) and establish the new wireless communication link <NUM> (to the refrigerator <NUM>). In this way, as the client device <NUM> moves about the environment, the APs associated with IoT devices can modify wireless coverage areas to best serve the client device <NUM>. The SON protocol may define messaging that is used by the IoT devices to communicate about network configurations. For example, the SON protocol may be used to communicate about wireless channels or power levels for each AP (or IoT device acting as an AP) to utilize.

In some implementations, when the client device <NUM> moves out of the coverage area for the washing machine <NUM>, the washing machine <NUM> may determine whether any other client devices are using the coverage area (or in the vicinity) of the washing machine <NUM>. If no other client devices are in the vicinity of the washing machine <NUM> or will not use the coverage area of the washing machine <NUM>, the washing machine <NUM> may change its AP interface to a low power mode and revert to an endpoint in the network. The washing machine <NUM> may periodically announce its availability to serve as a relay node and await a wireless association request from a client device before re-enabling the coverage area and again changing to operate as a relay node.

In some implementations, a decision to steer the client device may be based on quality of service in addition to (or independently from) movement of the client device. For example, a first IoT device may determine to steer the client device from the first IoT device to a second access point in the local network based on estimated quality of service metrics. The second access point may be a second IoT device (as the example in <FIG>) or may be another access point (not shown). The first IoT device determines a first link metric for the first communication link between the first IoT device and a central access point of the local network. The first IoT device also may determine a second link metric for a third communication link between the second access point and the central access point. The first IoT device may steer the client device to the second access point if the first IoT device determines that the second access point would provide a higher quality of service (such as lower latency, greater throughput, or the like). for the client device based, at least in part, on a comparison of the first link metric and the second link metric.

In some implementations, application specific routing may be used in the network to route some types of traffic (such as defined by QoS requirements) though a particular IoT device. In some implementations, a particular IoT device may implement unique features using application programming interfaces (APIs) in the IoT device.

<FIG> shows a system diagram of an example local network in which a first IoT device can be used for diagnostic measurements. The network <NUM> includes similar devices as described for network <NUM> of <FIG>. For brevity, some of the elements of network <NUM> are removed. In the network <NUM>, a central access point <NUM> couples a PLC subnet of the local network via the powerline <NUM>. The network <NUM> includes a first AP <NUM> and a second AP <NUM>. The first AP <NUM> provide wireless access to a security camera <NUM>. The second AP <NUM> is providing wireless access to the refrigerator <NUM>. Some IoT devices (such as the security camera <NUM>) may have capabilities that are accessible from broadband network (such as "the cloud") for typical customer usage or for product diagnostics. Therefore, there may be a reason to conduct measurements regarding the wireless environment or regarding a device coupled to the network. In the example of <FIG>, the security camera <NUM> may be within a wireless range <NUM> of the refrigerator <NUM>. The refrigerator <NUM> may be capable of conducting remote access or diagnostic measurements <NUM> of the security camera <NUM>. For example, the refrigerator <NUM> may change the operation of the refrigerator <NUM> to become a relay node and use the wireless range <NUM> to provide connectivity to the security camera <NUM>. While the security camera <NUM> is accessing the network via the refrigerator <NUM>, the refrigerator <NUM> may perform diagnostic functions on the security camera <NUM>. In some implementations, the refrigerator <NUM> may simply scan and observe the wireless environment to obtain diagnostic information about the security camera <NUM>. In some implementations, a service provider (such as a security system company or a cloud backup service) may utilize the remote access or diagnostic information to maintain or troubleshoot the security camera <NUM>.

As IoT devices are deployed in home and businesses, operators of networks may utilize a 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 also may concurrently operate an endpoint role or a relay role for the network. Because the first IoT device can dynamically select its operating role in the network, the first IoT device may provide network edge services that otherwise might not be available on an endpoint.

<FIG> shows a message flow diagram of an IoT device in an example local network. The network <NUM> includes a central access point <NUM>, an IoT device <NUM>, and a client device <NUM>. At <NUM>, the IoT device <NUM> establishes a first communication link to the central access point <NUM>. Initially, the IoT device <NUM> may be operating as an endpoint in the network <NUM>. At <NUM>, the client device <NUM> also may initially have a communication link to the central access point <NUM>.

At <NUM>, the IoT device <NUM> may "opt-in" to provide services as a relay node. For example, a push button, touch screen interface, software API, control application, or other configuration utility could be used to enable the IoT device <NUM> to operate as a relay node. Alternatively, the IoT device <NUM> may enable the services for relay node as an "on-demand" feature whenever it detects the client device <NUM>. In some implementations, the IoT device <NUM> may enable the services (either as "opt-in" or "on-demand") in real-time, dynamically, based on channel loading, interference, or link metrics associated with one or more APs in the local network. For example, a SON protocol may enable the services dynamically in response to changes in the wireless environment, utilization, or locations of client devices.

At <NUM>, the IoT device <NUM> may advertise its ability to serve as a relay node (performing a relay role) for the network. For example, the IoT device <NUM> may broadcast a message (such as a beacon message) offering to enable a wireless access point at the IoT device <NUM> if the IoT device <NUM> receives a request from the client device <NUM> (or any other client device in the network). In some implementations, the IoT device <NUM> may use an information element (IE) to advertise relay or repeater capabilities. In some implementations, an application programming interface (API) of the IoT device <NUM> may be used to enable the IE. At <NUM>, the IoT device <NUM> also may send a message to the central access point <NUM> indicating that the IoT device <NUM> is capable of j oining the SON protocol associated with the local network.

At <NUM>, the IoT device <NUM> may receive a request from the client device <NUM> for a wireless association. At <NUM>, the IoT device <NUM> may change its operating role so that the IoT device <NUM> will operate as a relay node between the central access point <NUM> and the client device <NUM>. For example, the IoT device <NUM> may enable an AP interface at the IoT device <NUM> and accept the wireless association from the client device <NUM>. At <NUM>, the IoT device <NUM> may send an indication to the central access point <NUM> that the client device <NUM> is utilizing the IoT device <NUM> as a relay node. For example, the indication may be a SON protocol message or may be an address resolution protocol (ARP) message. At <NUM> and <NUM>, the IoT device <NUM> may bridge traffic from the client device <NUM> to the central access point <NUM>.

<FIG> shows a block diagram of an example electronic device <NUM> for implementing aspects of this disclosure. In some implementations, the electronic device <NUM> may be an IoT device (such refrigerator <NUM>, washing machine <NUM>, or IoT device <NUM>). The electronic device <NUM> includes a processor <NUM> (possibly including multiple processors, multiple cores, multiple nodes, or implementing multi-threading, etc.). The electronic device <NUM> includes a memory <NUM>. The memory <NUM> may be system memory or any one or more of the below-described possible realizations of machine-readable media. The electronic device <NUM> also may include a bus <NUM> (such as PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI, etc.). The electronic device may include one or more network interfaces <NUM>, which may be a wireless network interface (such as a wireless local area network, WLAN, interface, a Bluetooth® interface, a WiMAX interface, a ZigBee® interface, a Wireless universal serial bus, USB, interface,or the like) or a wired network interface (such as a powerline communication interface, an Ethernet interface, etc.). In some implementations, electronic device <NUM> may support multiple network interfaces <NUM> - each of which may be configured to couple the electronic device <NUM> to a different communication network.

The memory <NUM> includes functionality to support various implementations described above. The memory <NUM> may include one or more functionalities that facilitate implementations of this disclosure. For example, memory <NUM> can implement one or more aspects of refrigerator <NUM>, washing machine <NUM>, or IoT device <NUM> as described above. The memory <NUM> can enable implementations described in <FIG> above. The electronic device <NUM> also may include other components <NUM>. For example, the other components <NUM> may include data-producing or data-consuming components of the IoT device (such as sensors, user interface components, output components, or the like).

The electronic device <NUM> may include a SON configuration unit <NUM> and a bridging unit <NUM>. The SON configuration unit <NUM> may operate a SON protocol that is used by the electronic device <NUM> to communicate with other APs in the network. The SON configuration unit <NUM> may determine a configuration for the network interfaces <NUM> based on the information collected via the SON protocol. The bridging unit <NUM> may provide the bridging of traffic between two or more communication links. For example, the bridging unit <NUM> may bridge traffic for a client device that has a communication link using the electronic device <NUM> for access to the local network.

Any one of these functionalities may be partially (or entirely) implemented in hardware, such as on the processor <NUM>. For example, the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processor <NUM>, in a coprocessor on a peripheral device or card, etc. Further, realizations may include fewer or additional components not illustrated in <FIG> (such as video cards, audio cards, additional network interfaces, peripheral devices, etc.). The processor <NUM>, and the memory <NUM>, may be coupled to the bus <NUM>. Although illustrated as being coupled to the bus <NUM>, the memory <NUM> may be directly coupled to the processor <NUM>.

Whether such functionality is implemented in hardware or software depends on the particular application and design constraints imposed on the overall system.

The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- 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, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes and methods may be performed by circuitry that is specific to a given function.

Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-rayTM disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine-readable medium and computer-readable medium, which may be incorporated into a computer program product.

Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination.

Claim 1:
A method performed by a first internet of things, IoT, device (<NUM>, <NUM>, <NUM>, <NUM><NUM>, <NUM>, <NUM>, <NUM>, <NUM>), wherein an IoT device is one of a camera, a drone, a wearable device, a home appliance, a lighting system, a security system component, a speaker, a smart refrigerator, and a television, the method comprising:
establishing (<NUM>) a first communication link (<NUM>) between the first IoT device and a first network node (<NUM>, <NUM>, <NUM>) of a local network (<NUM>);
the method performed by a first IoT device further comprises: determining that the first IoT device would enhance connectivity for a client device;
selecting, by the first IoT device, an operating role for the first IoT device in the local network, the operating role selected from between an endpoint role and a relay role, wherein the operating role is dynamically selected by the first IoT device based, at least in part, on the determination that the relay role would enhance connectivity for the client device (<NUM>) that is within a wireless range of the first IoT device; and
upon selecting the relay role:
operating a wireless interface of the first IoT device as an access point;
establishing (<NUM>) a second communication link (<NUM>) via a wireless association between the first IoT device and the client device; and
bridging (<NUM>) traffic associated with the client device via the first communication link and the second communication link; the method being further characterized by determining to steer the client device from the first IoT device to a second network node in the local network, wherein determining to steer the client device includes:
determining a first link metric for the first communication link between the first IoT device and a central access point (<NUM>) of the local network;
determining a second link metric for a third communication link between the second network node and the central access point; and
determining that the second network node would provide a higher quality of service for the client device based, at least in part, on a comparison of the first link metric and the second link metric; and
steering the client device to the second network node, wherein steering the client device includes dropping the first communication link (<NUM>).