WO2018194626A1 - Distributed bluetooth controller - Google Patents

Distributed bluetooth controller Download PDF

Info

Publication number
WO2018194626A1
WO2018194626A1 PCT/US2017/028661 US2017028661W WO2018194626A1 WO 2018194626 A1 WO2018194626 A1 WO 2018194626A1 US 2017028661 W US2017028661 W US 2017028661W WO 2018194626 A1 WO2018194626 A1 WO 2018194626A1
Authority
WO
WIPO (PCT)
Prior art keywords
connection
wireless device
edge node
bluetooth
interface
Prior art date
Application number
PCT/US2017/028661
Other languages
French (fr)
Inventor
Adamu Haruna
Markus ISOMÄKI
Teemu Savolainen
Jukka Pekka REUNAMÄKI
Original Assignee
Nokia Technologies Oy
Nokia Usa Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy, Nokia Usa Inc. filed Critical Nokia Technologies Oy
Priority to PCT/US2017/028661 priority Critical patent/WO2018194626A1/en
Publication of WO2018194626A1 publication Critical patent/WO2018194626A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/43Security arrangements using identity modules using shared identity modules, e.g. SIM sharing

Definitions

  • health related monitors may include a Bluetooth transceiver to enable the health related monitor to provide measurements to a hub and/or a server.
  • Internet of Things (IoT) technology is also becoming prevalent.
  • IoT sensors Like health related monitors, dozens if not hundreds of IoT sensors can be deployed in a facility, such as a warehouse. These sensors may then all report a variety of data to a server.
  • a method including establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device; accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and providing, via the first connection, information to the accessed interface.
  • the interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
  • the host may access the host controller interface at the edge node and provide the information to the host controller interface.
  • the host may access the host controller interface at the edge node to invoke, at the edge node, an action.
  • the action may include a scan request for the edge node.
  • the provided information may include authentication information to enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device, wherein the second connection comprises a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy.
  • the authentication information may include at least one key specific to the at least one wireless device found in response to the scan request.
  • the at least one key specific to the at least one wireless device may be provided to another edge node to enable the other edge node to establish another short range radio technology connection to the at least one wireless device.
  • the host may access a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes.
  • the first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security.
  • a location of at least the edge node may be received, and the location may provide a location estimate of the at least one wireless device.
  • the application and/or service may be provided to enable application- level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
  • a method that includes establishing a first connection with a server; receiving, via the first connection and at an interface, authentication information for at least one wireless device; and establishing, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
  • the interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
  • the authentication information may be received from a host at the server.
  • the host controller interface may receive, from the host, an action.
  • the action may include a scan request.
  • the authentication information may enable authentication and establishment, via the short range radio technology, the second connection with the at least one wireless device.
  • the authentication information may include at least one key specific to the at least one wireless device found in response to the scan request.
  • a location of the apparatus may be forwarded to the host at the server, and the location may provide a location estimate of the at least one wireless device.
  • Application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing may be forwarded to the host at the server and/or the at least one wireless device.
  • the first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security
  • the second connection via the short range radio technology, may be in accordance with Bluetooth and/or Bluetooth low energy.
  • FIG. 1 depicts an example of a system, in accordance with some example embodiments
  • FIG. 2 depicts examples of protocol stacks, in accordance with some example embodiments
  • FIG. 3 depicts an example of a signaling diagram, in accordance with some example embodiments.
  • FIG. 4 depicts an example of an apparatus, in accordance with some example embodiments.
  • Like labels are used to refer to same or similar items in the drawings.
  • a central control node such as a server, cloud server, and/or the like, may need to communicate with a plurality of wireless devices via a plurality of radio controllers (hereinafter edge nodes) at the edge of a network(s).
  • edge nodes a cloud server coupled to a network, such as the Internet
  • the cloud server may exchange information with at least one Bluetooth wireless device, such as an IoT sensor, wearable device, and/or any other type of Bluetooth wireless device.
  • the cloud server may communicate via IP with an intermediate network device such as the edge node.
  • a system including a central controller, such as a server, a cloud server, and/or the like, configured to control at least one intermediate edge node interfacing, via a low energy and/or a short range radio technology, at least one wireless device.
  • the low energy and/or short range radio technology used between the edge nodes and wireless devices may be Bluetooth and/or Bluetooth Low Energy, although other low energy and/or short range radio technologies may be used as well.
  • the edge nodes and/or the wireless devices may be mobile, although the edge nodes and/or the wireless devices may be fixed as well.
  • the edge node may include a controller, such as a Bluetooth Host Controller Interface (HCI), to enable control of the Bluetooth radio layer of the edge node(s).
  • HCI Bluetooth Host Controller Interface
  • the edge node may include an uplink interface configured to provide network access to at least the Internet.
  • the edge node's uplink may include, for example, a radio access technology such as WiFi, cellular, and/or the like, through which the Internet and the coupled central controller such as the cloud server can be accessed.
  • the edge node's uplink interface may include wired access to the Internet.
  • the central controller such as the cloud server, may be coupled to the Internet and include a control layer, such as a Bluetooth HCI Host, to enable control of the edge node(s) and/or wireless device(s).
  • the central controller's Internet interface may be implemented in a variety of ways, but in some example embodiments, the Internet interface may include security, such as Transport Layer Security (TLS) and/or IPSec, to provide secure connections to the edge node(s) and/or wireless device(s).
  • the central controller/cloud server may further include an application (APP) or service, such as a Generic Attribute Profile (GATT) to enable application-level interactions with the Bluetooth wireless devices, such as IoT devices, wearables, and/or other wireless Bluetooth devices.
  • APP application
  • GATT Generic Attribute Profile
  • the central controller such as the cloud server, may be configured to authenticate the edge nodes and/or wireless devices. Moreover, this central controller may include wireless device specific keys which can be provided (when requested or at other times) to an edge node to enable communication between the edge node and the wireless device. Accordingly, if for example a Bluetooth wireless device authenticates with a first edge node and then the Bluetooth wireless device couples to a second edge node, the central controller can manage the change by at least providing authentication information, such as device specific keys or digital certificates, to the second edge node, to facilitate the change.
  • authentication information such as device specific keys or digital certificates
  • the edge nodes may, as noted, establish secure connections, such as TLS or IPSec, to the central controller and identify themselves to the central controller. Moreover, the edge nodes may provide their location information, such as geolocation information, latitude and longitude, cell identifier, and/or some other indication of location, to central controller. Furthermore, the edge nodes may expose, over secure connections, their Bluetooth controller's HCI interface (or similar interface that enables radio link control of the link between the edge node and the Bluetooth wireless device) to the central controller. In this way, the central controller can control edge nodes by sending an HCI command to the HCI controller interface at the edge node(s).
  • the HCI commands may be in accordance with the Bluetooth specification. Examples of HCI commands include disconnect, accept connection request, scan request, and/or the like.
  • the central controller may issue one or more Bluetooth actions, such as HCI commands, to one or more edge nodes.
  • the central controller may issue to at least one of the edge nodes a device scan request. From the scan results (which may be reported by the edge node to the central controller), the central controller can find, such as detect, a given Bluetooth wireless device that is within range, such as in the vicinity of, the edge node.
  • the central controller may be able to determine an approximate geolocation of the Bluetooth wireless device.
  • the central controller may instruct the detected Bluetooth wireless device via the edge node by at least sending the required device authorization key(s) and/or an HCI interface command(s) over the secure connection to the edge node.
  • the central controller may change the device address of Bluetooth HCI controller at the edge node(s). This address may be used for certain Bluetooth communications. For example, the central controller may make itself appear as the same Bluetooth device in many places at the same time, which may be useful when the Bluetooth wireless device is searching for edge nodes having a particular address and/or creating a connection to a wireless device when the device address is used to select authentication key(s) for the connection.
  • the central controller may have two or more device addresses used for Bluetooth communication to a single wireless device, for example if different addresses are set to map to different link keys (where each key provides a different access level to a device).
  • Bluetooth Low Energy communication may use static device address type, which may be a fixed IEEE EUI-48 address or a 48-bit randomly generated address.
  • the central controller may select, for example, the used Bluetooth address/link key pair based on the level of trust of the edge node. For example, unauthenticated edge nodes may get the Bluetooth address and link keys, which allows only limited of actions to be performed in the wireless device. Similarly, authenticated edge nodes may get authentication information, which allows access to all features in the wireless device.
  • Bluetooth In the case of Bluetooth, security may be handled so that a Bluetooth wireless device may be connected and/or paired using a first edge controller, while the central controller may learn (and/or be provided with) the keys generated for the pairing. This allows the central controller to later share the keys with other edge controllers, making any edge node capable of communicating with the paired Bluetooth wireless device.
  • the central controller may be configured to provide so-called "break-before-make mobility.” For example, if a connection between a Bluetooth wireless device and a first edge node is lost, the central controller may be notified of this event for example over the HCI. When this is the case, the central controller may request, or make, a second edge node attempt to connect to the Bluetooth wireless device as soon as the second edge node hears the Bluetooth wireless device. In this example, the central controller may select the second edge node for the reconnect based on scan results (which may be triggered by an HCI command from the cloud server) reported by the second edge node to the central controller.
  • scan results which may be triggered by an HCI command from the cloud server
  • the central controller may select the second edge node for the reconnect based on a request (e.g., an edge node near the edge node that last heard the Bluetooth wireless device may attempt to create a connection to the Bluetooth wireless device without first performing a discovery process).
  • the central controller may send a HCI command to the edge nodes to scan for specific Bluetooth wireless devices, and these commands can be sent to edge nodes that are known by the central controller to be near the last reported known location of the Bluetooth wireless device, which has lost its connection.
  • Some edge nodes may be more trusted than other may, while some edge nodes may be located in different areas (some of which may be secured and some not so secured).
  • the central controller may prevent the edge node from coupling to the Bluetooth wireless device by not providing the noted authentication information (e.g., keys) to allow the edge node to couple to the Bluetooth wireless device.
  • the host application at the central controller may also place application level restrictions to the connections between the edge nodes and Bluetooth devices.
  • the application/service at the central controller may inhibit noted authentication information (e.g., keys) to be provided to the edge node to enable the connection.
  • noted authentication information e.g., keys
  • FIG. 1 depicts an example of a system 100, in accordance with some example embodiments.
  • the system 100 may include at least one Bluetooth wireless device (BTWD), such as Bluetooth wireless device 100, 1 10, 120, and 130.
  • BTWD Bluetooth wireless device
  • the Bluetooth wireless device 100, 1 10, 120, and 130 may couple to corresponding edge nodes 200 and 210 via corresponding Bluetooth connections 101, 11 1, 121, and 131.
  • the edge nodes 200 and 210 may communicate, via an IP -based access (and/or via other types of access technologies or networks technologies), with the central controller 300.
  • Bluetooth wireless devices 100, 1 10, 120, and 130 and Bluetooth connections 101, 1 11, 121, and 131 the examples described herein are not limited to Bluetooth including Bluetooth Low Energy as other low energy and short range radio technologies, such as IEEE 802.15.4, DECT Ultra Low Energy, ZigBee, WirelessHART, ANT, Near Field Communications (NFC), ITU-T G.9959, and/or the like, may be used as well.
  • Bluetooth Low Energy As noted above, although some of the examples refer to Bluetooth wireless devices 100, 1 10, 120, and 130 and Bluetooth connections 101, 1 11, 121, and 131, the examples described herein are not limited to Bluetooth including Bluetooth Low Energy as other low energy and short range radio technologies, such as IEEE 802.15.4, DECT Ultra Low Energy, ZigBee, WirelessHART, ANT, Near Field Communications (NFC), ITU-T G.9959, and/or the like, may be used as well.
  • NFC Near Field Communications
  • ITU-T G.9959 ITU-T G.9959
  • the Bluetooth wireless devices 100, 1 10, 120 and 130 may be implemented as any device having at least one Bluetooth radio, such as a receiver or transceiver.
  • Example of Bluetooth wireless devices include Internet of Things (IoT) devices, IoT sensors, smartwatches, smart phones, wireless medical devices (e.g., blood pressure monitors, heart rate monitors, glucose monitors, and/or any other medical or health-related monitor or device), and/or the like.
  • IoT Internet of Things
  • IoT sensors IoT sensors
  • smartwatches smart phones
  • wireless medical devices e.g., blood pressure monitors, heart rate monitors, glucose monitors, and/or any other medical or health-related monitor or device
  • the Bluetooth wireless devices 100, 110, 120 and 130 may each include a Bluetooth radio transceiver (labeled Bluetooth), such as a radio transceiver configured in accordance with Bluetooth and/or Bluetooth Low Energy, although other short range and/or low energy radio technologies may as noted be used as well.
  • the Bluetooth wireless devices may also include a host controller interface (labeled HQ), such as a Bluetooth HCI through which commands can be invoked to control the Bluetooth wireless link layer at the devices 100, 110, 120, and 130.
  • the Bluetooth wireless devices may also include an application (APP) or service, such as a Generic Attribute Profile (GATT).
  • APP application
  • GATT Generic Attribute Profile
  • the central controller 300 may be implemented as a server, such as a physical, remote server, a virtual server, and/or a combination thereof.
  • the central controller may be implemented as a cloud server coupled to the Internet.
  • the central controller may instead be located at the edge of the core network, in which case the central controller may be coupled to a base station, a wireless access point, an edge node, or other node at, or near, the edge of the access network.
  • the central controller may be implemented as a single central sever, the central controller may also be distributed as well.
  • the edge nodes 200 and 210 may each include a Bluetooth radio transceiver (labeled Bluetooth), such as a radio transceiver configured in accordance with Bluetooth and/or Bluetooth Low Energy, although other short range and/or low energy radio technologies may, as noted, be used as well.
  • the edge nodes 200 and 210 may include an uplink interface (labeled IP/TLS) configured to provide access such as IP access via links 201/211 to the central controller 300.
  • the links 201/211 to the central controller may be secured using for example TLS, IPSec, and/or the like.
  • the edge nodes 200 and 210 may include host controller interface (HCI) controller.
  • HCI may provide a command interface, which can be accessed to control the Bluetooth transceiver at the edge node.
  • the edge nodes 200 and 210 may be implemented as a device having at least one Bluetooth radio, such as a receiver or a transceiver.
  • the edge nodes may be implemented as a dedicated wireless access point, a base station, a home base station, a wireless hub.
  • the edge nodes may also be implemented as a wireless device acting as an edge device.
  • a smart phone, IoT device, wireless medical devices and/or the like may be configured with the protocol stack to serve as an edge node for the Bluetooth wireless devices 100, 110, 120, and 130.
  • the edge nodes 200/210 may, as noted, implement the lower layers of the Bluetooth stack, while exposing the HCI interface to the central controller 300 via a secure TLS/IP (or IPSec) connection.
  • This allows central controller 300 to have access to HCI APIs of controllers 200 and 210. And, with that access to the APIs, the central controller 300 may communicate, via the HCIs, to all four wireless devices 100, 110, 120, and 130.
  • the central controller may access a plurality of HCI interfaces at the edge nodes, such that the control is distributed among the central controller 300 and the edge nodes.
  • the HCI interface messages can be transported over the Internet in a variety of ways.
  • the central controller 300 may send an HCI interface message to trigger an action at the edge node's 200/210 HCI controllers as well as wireless devices 100, 110, 120, and/or 130. These messages may be carried via link 201 using TLS/TCP as the transport.
  • TLS/TCP may provide, based on digital certificates or pre- shared keys, mutual authentication between the edge nodes 200/210 and the central controller 300.
  • the edge nodes 200/210 may open the TLS/TCP connections via links 201/211 to the central controller 300 even when the edge nodes 200/210 are behind a network address translation (NAT), and the edge nodes 200/210 may keep the connections alive so that also the central controller 300 can send messages to the edge nodes at any time.
  • NAT network address translation
  • the HCI interface is not timing critical in the sense that the HCI interface can still operate despite the latencies introduced by the network including the Internet.
  • a lighter weight secure transport may be used such as user datagram protocol/datagram transport layer security (UDP/DTLS).
  • UDP/DTLS user datagram protocol/datagram transport layer security
  • this lighter protocol may be more appropriate with controller 200/210 having processing, memory, power, and/or other performance constraints; especially, if the controller is within a single-enterprise network and, as such, may not be concerned with NAT issues.
  • protocols utilizing a publish/subscribe paradigm such as Message Queue Telemetry Transport (MQTT) may be used to implement links 201/211.
  • MQTT Message Queue Telemetry Transport
  • the central controller 300 may comprise a cloud server including an application and/or service for collecting data from Bluetooth wireless devices 100, 110, 120, and 130 configured to measure and provide, via the edge nodes 200/210, to the cloud server 300 health-related data such as blood pressure, heart rate, glucose measurements, and/or any other information.
  • the cloud server 300 may establish a secure connection to the edge nodes, and then access the HCI at the edge nodes 200/210 in order to control the Bluetooth radio layer at the edge nodes.
  • the cloud server may also send provisioning information to the edge nodes, and this provisioning information may include authentication information, such as keys, digital certificates, device addresses, and/or other information, to enable an edge node to couple to a Bluetooth wireless device.
  • the cloud server may also send, via the edge nodes 200/210, alerts and/or other information to the Bluetooth wireless devices 100, 110, 120, and 130.
  • the edge nodes do not need to have an application or service specific awareness (or understanding) of blood pressure monitoring profiles, so updates to the edge nodes may not be needed in order to accommodate different applications or Bluetooth profiles.
  • the cloud server 300 may communicate, via the edge nodes including the interfaces such as HCI interfaces therein, with a plurality of Bluetooth wireless devices having different applications and/or Bluetooth profiles, without the edge nodes having the capability or knowhow of the specific profiles that are being used at each of the Bluetooth wireless devices.
  • the previous example refers to the Bluetooth wireless devices as IoT devices, this is for illustrative purposes as the Bluetooth wireless devices may be implemented in other ways as well.
  • FIG. 2 depicts example of the protocol stacks 210, 220, and 230, in accordance with some example embodiments.
  • the Bluetooth wireless devices 100, 110, 120, and/or 130 may include protocol stack 210, which may include the GATT/APP layer, the HCI layer, and the Bluetooth layer.
  • the edge nodes 200/210 may include protocol stack 220, which may further include the HCI layer and the Bluetooth layer for communicating with the Bluetooth wireless device via a short range, low energy link, such as a Bluetooth link and/or Bluetooth Low Energy link.
  • the protocol stack 220 may also include an IP layer, which may further include a security aspect, such as TLS, to enable secure communicate via an IP -based access to the central controller 300.
  • the central controller 300 may include protocol stack 230, which may further include the GATT/APP layer, the HCI host layer, and an IP layer.
  • This IP layer may further include a security aspect, such as TLS, to enable secure communicate via an IP-based access to the edge node.
  • FIG. 2 shows that the protocol stacks 210 and 230 are similarly configured to include the GATT or application layer, but the edge node's stack does not. As such, the edge node does not need to be aware of the GATT or application layer being used at the IoT and/or cloud server.
  • the central controller 300 may manage the connectivity selections for the wireless devices.
  • the Bluetooth wireless device 100 may first connect to the central controller via the edge node 200.
  • the central controller may manage connectivity for the Bluetooth wireless device 100 by for example enabling the connectivity to another edge control 210, when the central controller 300 determines that the Bluetooth wireless device 100 needs to connect to the edge node 210. Supposing for example that edge node 220 has a stronger signal or can provide better service to the Internet when compare to edge node 210.
  • the central controller 300 may determine that the Bluetooth wireless device 100 should couple to edge node 220 rather than edge node 210.
  • the central controller 300 may facilitate this transition to edge node 220 by providing to the edge node authentication information, which may include for example a Bluetooth device address that the edge node 220 may need to use to enable the edge node 220 and Bluetooth wireless device 100 to connect and/or pair.
  • the central controller 300 may control other aspects of the Bluetooth wireless device 100, such as control radios other than Bluetooth radios/transceivers, such as WiFi, cellular, and/or the like radios at the device.
  • FIG. 3 depicts an example of a signaling diagram 399, in accordance with some example embodiments.
  • the central controller 300 may establish an IP-based connection to a first edge node 200, in accordance with some example embodiments. For example, if the central controller does not have an IP connection to the first edge node, the central controller may establish the IP-based connection with the first edge node.
  • This IP-based connection may traverse one or more networks, such as the Internet, cellular networks, and/or the like. Moreover, this connection may be secured using TLS, IPSec, and/or secured in other ways as well.
  • the central controller 300 may want to communicate with Bluetooth wireless device 100.
  • the central controller 300 may have location information for Bluetooth wireless device 100, such as location information reported by an edge node.
  • the central controller 300 may, at 304, access an interface, such as the HCI controller, at the first edge node 200 by sending a scan request to the interface, in accordance with some example embodiments.
  • the scan request command triggers the edge node to send a scan request, and, in response, the edge node may receive a scan response including the identity of the Bluetooth wireless device 100.
  • the edge node 100 may then forward the identity of the Bluetooth wireless device 100 and location information, such as the location of the edge node which is the approximate location of the Bluetooth wireless device 100 (although the edge node 100 may send the actual location of the Bluetooth wireless device 100 if known).
  • the central controller 300 may access an interface at the first edge node 200, in accordance with some example embodiments.
  • the central controller may, via the secure connection established at 302, access an interface, such as a Bluetooth HCI interface, at the first edge node 200.
  • This access of the HCI enables the central controller to control the radio layer, such as the Bluetooth link-layer.
  • the central controller may send a command, via the secure connection to the first edge node, to request or trigger a Bluetooth scan and/or perform other operations associated with the first edge node's Bluetooth radio link.
  • the central controller 300 may provide to the first edge node 200 information including authentication information for at least the Bluetooth wireless device 100.
  • the authentication information may include a key and/or digital certificate for the Bluetooth wireless device 100 to enable the first edge node 200 to authenticate the Bluetooth wireless device and thus create a connection with the device 100.
  • the central controller 300 may provide to the edge node 200 information, such as the identity of the Bluetooth wireless device.
  • the first edge node 200 and the Bluetooth wireless device 100 may, in some example embodiments, create a connection via a Bluetooth and/or Bluetooth Low Energy, and this connection may be established using the authentication information provided at 306 by the central controller 300.
  • the first edge node 200 may send to the central controller 300 location information of the edge node 200 and/or the Bluetooth wireless device 100, in accordance with some example embodiments.
  • the first edge node 200 may provide location information, such as geolocation information and/or the like, identifying for the first edge node 200 and/or the Bluetooth wireless device 100.
  • the location information of the Bluetooth wireless device 100 may be derived from the location of the first edge node 200. For example, if the location of the first edge node 200 is known, the location of the device 100 (which is coupled via Bluetooth link to the first edge node) may be within about 100 meters (or the range of Bluetooth).
  • connection there may be a break in the connection established at 310, in accordance with some example embodiments.
  • the Bluetooth connection (which is established between the Bluetooth wireless devices 100 and the first edge node 200) may be terminated, fail, be out of range, or be unusable in some way.
  • the central controller 300 may establish (if not already established) an IP-based connection to a second edge node 210, in accordance with some example embodiments.
  • the central controller may established an IP-based connection with the second edge node, and this connection may be secured using TLS, IPSec, and/or in other ways as well.
  • the central controller 300 may access an interface at the second edge node 210, in accordance with some example embodiments.
  • the central controller may, via the secure connection established at 330, access the Bluetooth HCI interface, at the second edge node 210.
  • the central controller 300 may provide to the second edge node 210 authentication information for at least the Bluetooth wireless device 100 and/or the identity of the wireless device 100.
  • the authentication information may include a key (which may be provided by another device including an edge, for example after an initial pairing) for the Bluetooth wireless device 100 to enable the second edge node 210 to authenticate the Bluetooth wireless device and thus create a wireless Bluetooth connection at 335, with the device 100.
  • the central controller 300 may include one or more polices regarding whether a Bluetooth wireless device 100 is allowed to connect with an edge node.
  • the central controller may use a trust policy, a location-based policy, and/or a time-based policy to determine whether to allow the connection to be created. For example, if the Bluetooth wireless device 100 is not trusted (or trust cannot be ascertained), the central controller may not provide the key to the edge node to enable the pairing.
  • the central controller 300 may establish a first connection to an edge node 200 that is wirelessly interfacing, via a short range radio technology, at least one wireless device, such as device 100.
  • the central controller may access, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology.
  • the central controller may provide, via the first connection, information to the accessed interface.
  • the interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
  • the central controller may include a host configured to at least access the host controller interface at the edge node and provide the information to the host controller interface.
  • the host may access the host controller interface at the edge node to invoke, at the edge node, an action, such as scan request for the edge node.
  • the central controller may provide, via the first connection, authentication information to the accessed interface. This authentication information may enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device 100.
  • the second connection may include a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy.
  • the authentication information may include at least one key specific to the at least one wireless device found in response to the scan request.
  • the central controller may provide, to another edge node, the at least one key specific to the at least one wireless device to enable the other edge node to establish another short range radio technology connection to the at least one wireless device.
  • the host at the central controller may access a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes.
  • the central controller may receive a location of at least the edge node, and the location may provide a location estimate of the at least one wireless device.
  • the central controller may also include an application and/or service to enable application-level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
  • the edge node 200 may establish a first connection with a server, such as the central controller 300.
  • the edge node may receive, via the first connection and at an interface, authentication information for at least one wireless device, such as BTWD 100.
  • the edge mode may, establish, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
  • the interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
  • the authentication information may be received from a host at the server.
  • the host controller interface may receive, from the host, an action, such as a scan request.
  • the authentication information may enable the edge node to authenticate and establish, via the short range radio technology, the second connection with the at least one wireless device.
  • the authentication information may take the form of at least one key specific to the at least one wireless device found in response to the scan request.
  • the edge node may forward, to the host at the server, a location of the edge node, and the location may provide a location estimate of the at least one wireless device, such as BTWD 100.
  • the edge node forward, to the host at the server and/or the at least one wireless device, application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing.
  • the first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security.
  • the second connection, via the short range radio technology may be in accordance with Bluetooth and/or Bluetooth low energy.
  • FIG. 4 illustrates a block diagram of an apparatus 10, in accordance with some example embodiments.
  • the apparatus 10 (or portions thereof) may be configured to provide at least Bluetooth wireless devices 100, 110, 120, and/or 130 and/or the edge nodes 200/210.
  • central controller 300 can be implemented in a variety of ways (including in accordance with apparatus 10), the central controller may include at least one processor, at least one memory including program code, and at least a network interface to enable coupling to the Internet.
  • the apparatus may include one or more sensors 46, such as temperature, acceleration, humidity, pressure, magnetometer, weight, C02, carbon monoxide, smoke, movement, motion, heat rate, glucose monitor, electrocardiogram, perspiration, and/or any other type of sensor.
  • sensors 46 such as temperature, acceleration, humidity, pressure, magnetometer, weight, C02, carbon monoxide, smoke, movement, motion, heat rate, glucose monitor, electrocardiogram, perspiration, and/or any other type of sensor.
  • the apparatus 10 may include at least one antenna 12 in communication with a transmitter 14 and a receiver 16. Alternatively transmit and receive antennas may be separate.
  • the apparatus 10 may also include a processor 20 configured to provide signals to and receive signals from the transmitter and receiver, respectively, and to control the functioning of the apparatus.
  • Processor 20 may be configured to control the functioning of the transmitter and receiver by effecting control signaling via electrical leads to the transmitter and receiver.
  • processor 20 may be configured to control other elements of apparatus 10 by effecting control signaling via electrical leads connecting processor 20 to the other elements, such as a display or a memory.
  • the processor 20 may, for example, be embodied in a variety of ways including circuitry, at least one processing core, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits (for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and/or the like), or some combination thereof. Accordingly, although illustrated in FIG. 4 as a single processor, in some example embodiments the processor 20 may comprise a plurality of processors or processing cores.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • Signals sent and received by the processor 20 may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wi-Fi, wireless local access network (WLAN) techniques, such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, 802.16, 802.3, ADSL, DOCSIS, and/or the like.
  • these signals may include speech data, user generated data, user requested data, and/or the like.
  • the apparatus 10 may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like.
  • the apparatus 10 and/or a cellular modem therein may be capable of operating in accordance with various first generation (1G) communication protocols, second generation (2G or 2.5G) communication protocols, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Intemet Protocol Multimedia Subsystem (IMS) communication protocols (for example, session initiation protocol (SIP) and/or the like.
  • IMS Intemet Protocol Multimedia Subsystem
  • the apparatus 10 may be capable of operating in accordance with 2G wireless communication protocols IS-136, Time Division Multiple Access TDMA, Global System for Mobile communications, GSM, IS-95, Code Division Multiple Access, CDMA, and/or the like.
  • the apparatus 10 may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the apparatus 10 may be capable of operating in accordance with 3G wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD- SCDMA), and/or the like. The apparatus 10 may be additionally capable of operating in accordance with 3.9G wireless communication protocols, such as Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), and/or the like. Additionally, for example, the apparatus 10 may be capable of operating in accordance with 4G wireless communication protocols, such as LTE Advanced, 5G, and/or the like as well as similar wireless communication protocols that may be subsequently developed.
  • GPRS General Packet Radio Service
  • EDGE Enhanced Data GSM Environment
  • the processor 20 may include circuitry for implementing audio/video and logic functions of apparatus 10.
  • the processor 20 may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the apparatus 10 may be allocated between these devices according to their respective capabilities.
  • the processor 20 may additionally comprise an intemal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like.
  • the processor 20 may include functionality to operate one or more software programs, which may be stored in memory. In general, processor 20 and stored software instructions may be configured to cause apparatus 10 to perform actions.
  • processor 20 may be capable of operating a connectivity program, such as a web browser.
  • the connectivity program may allow the apparatus 10 to transmit and receive web content, such as location-based content, according to a protocol, such as wireless application protocol, WAP, hypertext transfer protocol, HTTP, and/or the like.
  • Apparatus 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20.
  • the display 28 may, as noted above, include a touch sensitive display, where a user may touch and/or gesture to make selections, enter values, and/or the like.
  • the processor 20 may also include user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like.
  • the processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions, for example, software and/or firmware, stored on a memory accessible to the processor 20, for example, volatile memory 40, non-volatile memory 42, and/or the like.
  • the apparatus 10 may include a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output.
  • the user input interface may comprise devices allowing the apparatus 20 to receive data, such as a keypad 30 (which can be a virtual keyboard presented on display 28 or an externally coupled keyboard) and/or other input devices.
  • apparatus 10 may also include one or more mechanisms for sharing and/or obtaining data.
  • the apparatus 10 may include a short range radio frequency (RF) transceiver and/or interrogator 64, so data may be shared with and/or obtained from electronic devices in accordance with RF techniques.
  • RF radio frequency
  • the apparatus 10 may include other short range transceivers, such as an infrared (IR) transceiver 66, a BluetoothTM (BT) transceiver 68 operating using BluetoothTM wireless technology, a wireless universal serial bus (USB) transceiver 70, a BluetoothTM Low Energy transceiver, a ZigBee transceiver, an ANT transceiver, a cellular device-to-device transceiver, a wireless local area link transceiver, and/or any other short range radio technology.
  • Apparatus 10 and, in particular, the short range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within the proximity of the apparatus, such as within 10 meters, for example.
  • the apparatus 10 including the Wi-Fi or wireless local area networking modem may also be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like.
  • various wireless networking techniques including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like.
  • the apparatus 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), an eUICC, an UICC, and/or the like, which may store information elements related to a mobile subscriber.
  • SIM subscriber identity module
  • R-UIM removable user identity module
  • eUICC eUICC
  • UICC UICC
  • the apparatus 10 may include volatile memory 40 and/or non-volatile memory 42.
  • volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like.
  • RAM Random Access Memory
  • Non-volatile memory 42 which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices, for example, hard disks, floppy disk drives, magnetic tape, optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40, non-volatile memory 42 may include a cache area for temporary storage of data. At least part of the volatile and/or non-volatile memory may be embedded in processor 20.
  • the memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the apparatus for performing operations disclosed herein.
  • the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus 10.
  • IMEI international mobile equipment identification
  • the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus 10.
  • the processor 20 may be configured using computer code stored at memory 40 and/or 42 to control and/or provide one or more aspects disclosed herein (see, for example, process 399 and/or other operations disclosed herein with respect to the IoT device, edge node, or central controller/server).
  • IMEI international mobile equipment identification
  • Some of the embodiments disclosed herein may be implemented in software, hardware, application logic, or a combination of software, hardware, and application logic.
  • the software, application logic, and/or hardware may reside on memory 40, the control apparatus 20, or electronic components, for example.
  • the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media.
  • a "computer- readable medium” may be any non-transitory media that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer or data processor circuitry, with examples depicted at FIG. 4, computer-readable medium may comprise a non-transitory computer-readable storage medium that may be any media that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
  • a technical effect of one or more of the example embodiments disclosed herein the reduction in the need for the Bluetooth wireless device from having to re-authenticate with each edge node as the central controller can provide authentication information such as a key to any edge device.
  • Another technical effect may include the reduction in the need to upgrade the edge node's application layer or Bluetooth profiles the application layer/profile only needs to be updated at the Bluetooth wireless device and central controller.
  • the base stations and user equipment (or one or more components therein) and/or the processes described herein can be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof.
  • ASIC application-specific integrated circuit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • These computer programs also known as programs, software, software applications, applications, components, program code, or code
  • computer-readable medium refers to any computer program product, machine-readable medium, computer-readable storage medium, apparatus and/or device (for example, magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine- readable medium that receives machine instructions.
  • PLDs Programmable Logic Devices
  • systems are also described herein that may include a processor and a memory coupled to the processor.
  • the memory may include one or more programs that cause the processor to perform one or more of the operations described herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Methods and apparatus, including computer program products, are provided for distributed control. In some example embodiments, there may be provided a method that includes establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device; accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and providing, via the first connection, information to the accessed interface. Related systems, methods, and articles of manufacture are also described.

Description

DISTRIBUTED BLUETOOTH CONTROLLER
[001] The subject matter disclosed herein relates to wireless devices.
Background
[002] Low energy and short range radio technologies are becoming very prevalent. For example, health related monitors may include a Bluetooth transceiver to enable the health related monitor to provide measurements to a hub and/or a server. In addition, Internet of Things (IoT) technology is also becoming prevalent. Like health related monitors, dozens if not hundreds of IoT sensors can be deployed in a facility, such as a warehouse. These sensors may then all report a variety of data to a server.
Summary
[003] Methods and apparatus, including computer program products, are provided for distributed control.
[004] In some example embodiments, there may be provided a method including establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device; accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and providing, via the first connection, information to the accessed interface.
[005] In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy. The host may access the host controller interface at the edge node and provide the information to the host controller interface. The host may access the host controller interface at the edge node to invoke, at the edge node, an action. The action may include a scan request for the edge node. The provided information may include authentication information to enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device, wherein the second connection comprises a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy. The authentication information may include at least one key specific to the at least one wireless device found in response to the scan request. The at least one key specific to the at least one wireless device may be provided to another edge node to enable the other edge node to establish another short range radio technology connection to the at least one wireless device. The host may access a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes. The first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security. A location of at least the edge node may be received, and the location may provide a location estimate of the at least one wireless device. The application and/or service may be provided to enable application- level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
[006] In some example embodiments, there may be provided a method that includes establishing a first connection with a server; receiving, via the first connection and at an interface, authentication information for at least one wireless device; and establishing, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
[007] In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy. The authentication information may be received from a host at the server. The host controller interface may receive, from the host, an action. The action may include a scan request. The authentication information may enable authentication and establishment, via the short range radio technology, the second connection with the at least one wireless device. The authentication information may include at least one key specific to the at least one wireless device found in response to the scan request. A location of the apparatus may be forwarded to the host at the server, and the location may provide a location estimate of the at least one wireless device. Application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing may be forwarded to the host at the server and/or the at least one wireless device. The first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security, and the second connection, via the short range radio technology, may be in accordance with Bluetooth and/or Bluetooth low energy.
[008] The above-noted aspects and features may be implemented in systems, apparatus, methods, and/or articles depending on the desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
Description of Drawings
[009] In the drawings,
[010] FIG. 1 depicts an example of a system, in accordance with some example embodiments;
[011] FIG. 2 depicts examples of protocol stacks, in accordance with some example embodiments;
[012] FIG. 3 depicts an example of a signaling diagram, in accordance with some example embodiments; and
[013] FIG. 4 depicts an example of an apparatus, in accordance with some example embodiments. [014] Like labels are used to refer to same or similar items in the drawings.
Detailed Description
[015] In some systems, a central control node, such as a server, cloud server, and/or the like, may need to communicate with a plurality of wireless devices via a plurality of radio controllers (hereinafter edge nodes) at the edge of a network(s). For example, a cloud server coupled to a network, such as the Internet, may exchange information with at least one Bluetooth wireless device, such as an IoT sensor, wearable device, and/or any other type of Bluetooth wireless device. When this is the case, the cloud server may communicate via IP with an intermediate network device such as the edge node. However, there may be issues related to how a Bluetooth wireless device authenticates with the edge node in order to establish the first Bluetooth link connectivity needed for communicating with the cloud server. For example, if a Bluetooth wireless device authenticates with a first edge node and then wirelessly couples to a second edge node, the Bluetooth wireless device may be required to needlessly re-authenticate with the second edge node.
[016] In some example embodiments, there may be provided a system including a central controller, such as a server, a cloud server, and/or the like, configured to control at least one intermediate edge node interfacing, via a low energy and/or a short range radio technology, at least one wireless device. In some example embodiments, the low energy and/or short range radio technology used between the edge nodes and wireless devices may be Bluetooth and/or Bluetooth Low Energy, although other low energy and/or short range radio technologies may be used as well. The edge nodes and/or the wireless devices may be mobile, although the edge nodes and/or the wireless devices may be fixed as well.
[017] In some example embodiments, the edge node may include a controller, such as a Bluetooth Host Controller Interface (HCI), to enable control of the Bluetooth radio layer of the edge node(s). Furthermore, the edge node may include an uplink interface configured to provide network access to at least the Internet. For example, the edge node's uplink may include, for example, a radio access technology such as WiFi, cellular, and/or the like, through which the Internet and the coupled central controller such as the cloud server can be accessed. Alternatively or additionally, the edge node's uplink interface may include wired access to the Internet.
[018] In some example embodiments, the central controller, such as the cloud server, may be coupled to the Internet and include a control layer, such as a Bluetooth HCI Host, to enable control of the edge node(s) and/or wireless device(s). The central controller's Internet interface may be implemented in a variety of ways, but in some example embodiments, the Internet interface may include security, such as Transport Layer Security (TLS) and/or IPSec, to provide secure connections to the edge node(s) and/or wireless device(s). The central controller/cloud server may further include an application (APP) or service, such as a Generic Attribute Profile (GATT) to enable application-level interactions with the Bluetooth wireless devices, such as IoT devices, wearables, and/or other wireless Bluetooth devices.
[019] In some example embodiments, the central controller, such as the cloud server, may be configured to authenticate the edge nodes and/or wireless devices. Moreover, this central controller may include wireless device specific keys which can be provided (when requested or at other times) to an edge node to enable communication between the edge node and the wireless device. Accordingly, if for example a Bluetooth wireless device authenticates with a first edge node and then the Bluetooth wireless device couples to a second edge node, the central controller can manage the change by at least providing authentication information, such as device specific keys or digital certificates, to the second edge node, to facilitate the change.
[020] In some example embodiments, the edge nodes may, as noted, establish secure connections, such as TLS or IPSec, to the central controller and identify themselves to the central controller. Moreover, the edge nodes may provide their location information, such as geolocation information, latitude and longitude, cell identifier, and/or some other indication of location, to central controller. Furthermore, the edge nodes may expose, over secure connections, their Bluetooth controller's HCI interface (or similar interface that enables radio link control of the link between the edge node and the Bluetooth wireless device) to the central controller. In this way, the central controller can control edge nodes by sending an HCI command to the HCI controller interface at the edge node(s). The HCI commands may be in accordance with the Bluetooth specification. Examples of HCI commands include disconnect, accept connection request, scan request, and/or the like.
[021] To illustrate further, the central controller may issue one or more Bluetooth actions, such as HCI commands, to one or more edge nodes. For example, the central controller may issue to at least one of the edge nodes a device scan request. From the scan results (which may be reported by the edge node to the central controller), the central controller can find, such as detect, a given Bluetooth wireless device that is within range, such as in the vicinity of, the edge node. Moreover, if the central controller has the geolocation information for the edge node, the central controller may be able to determine an approximate geolocation of the Bluetooth wireless device. If the central controller wants to perform an action with the detected Bluetooth wireless device, the central controller may instruct the detected Bluetooth wireless device via the edge node by at least sending the required device authorization key(s) and/or an HCI interface command(s) over the secure connection to the edge node.
[022] In some instances, the central controller may change the device address of Bluetooth HCI controller at the edge node(s). This address may be used for certain Bluetooth communications. For example, the central controller may make itself appear as the same Bluetooth device in many places at the same time, which may be useful when the Bluetooth wireless device is searching for edge nodes having a particular address and/or creating a connection to a wireless device when the device address is used to select authentication key(s) for the connection. The central controller may have two or more device addresses used for Bluetooth communication to a single wireless device, for example if different addresses are set to map to different link keys (where each key provides a different access level to a device). For example, Bluetooth Low Energy communication may use static device address type, which may be a fixed IEEE EUI-48 address or a 48-bit randomly generated address. The central controller may select, for example, the used Bluetooth address/link key pair based on the level of trust of the edge node. For example, unauthenticated edge nodes may get the Bluetooth address and link keys, which allows only limited of actions to be performed in the wireless device. Similarly, authenticated edge nodes may get authentication information, which allows access to all features in the wireless device.
[023] In the case of Bluetooth, security may be handled so that a Bluetooth wireless device may be connected and/or paired using a first edge controller, while the central controller may learn (and/or be provided with) the keys generated for the pairing. This allows the central controller to later share the keys with other edge controllers, making any edge node capable of communicating with the paired Bluetooth wireless device.
[024] In some example embodiments, the central controller may be configured to provide so-called "break-before-make mobility." For example, if a connection between a Bluetooth wireless device and a first edge node is lost, the central controller may be notified of this event for example over the HCI. When this is the case, the central controller may request, or make, a second edge node attempt to connect to the Bluetooth wireless device as soon as the second edge node hears the Bluetooth wireless device. In this example, the central controller may select the second edge node for the reconnect based on scan results (which may be triggered by an HCI command from the cloud server) reported by the second edge node to the central controller. Alternatively or additionally, the central controller may select the second edge node for the reconnect based on a request (e.g., an edge node near the edge node that last heard the Bluetooth wireless device may attempt to create a connection to the Bluetooth wireless device without first performing a discovery process). Moreover, the central controller may send a HCI command to the edge nodes to scan for specific Bluetooth wireless devices, and these commands can be sent to edge nodes that are known by the central controller to be near the last reported known location of the Bluetooth wireless device, which has lost its connection.
[025] Some edge nodes may be more trusted than other may, while some edge nodes may be located in different areas (some of which may be secured and some not so secured). This allows central controller to have policies regarding when the central controller is allowed to communicate with an edge node and/or a Bluetooth wireless device coupled to that edge node. For example, if an edge node that is not sufficiently trusted detects/hears a paired Bluetooth wireless device, the central controller may have a policy to not send authentication information, such as keys and/or the like, to the edge node to prevent connection establishment with that paired Bluetooth wireless device. In this example, the central control would not be able to communicate with this Bluetooth wireless device, although the approximate location of the Bluetooth wireless device would be known by the centralize controller (due to the detection by the edge node).
[026] Although the previous example illustrated a trust-based policy at the central controller, other types of polices may be used as well. For example, if a Bluetooth wireless device is in a certain, restricted location or is operating outside a time period where operations are allowed (e.g., outside work hours), the central controller may prevent the edge node from coupling to the Bluetooth wireless device by not providing the noted authentication information (e.g., keys) to allow the edge node to couple to the Bluetooth wireless device. Moreover, the host application at the central controller may also place application level restrictions to the connections between the edge nodes and Bluetooth devices. For example, if the Bluetooth wireless devices have not registered or their registration is no longer valid for whatever reason (for example, a canceled or expired subscription to the application/service), the application/service at the central controller may inhibit noted authentication information (e.g., keys) to be provided to the edge node to enable the connection.
[027] FIG. 1 depicts an example of a system 100, in accordance with some example embodiments.
[028] The system 100 may include at least one Bluetooth wireless device (BTWD), such as Bluetooth wireless device 100, 1 10, 120, and 130. In the example of FIG. 1, the Bluetooth wireless device 100, 1 10, 120, and 130 may couple to corresponding edge nodes 200 and 210 via corresponding Bluetooth connections 101, 11 1, 121, and 131. The edge nodes 200 and 210 may communicate, via an IP -based access (and/or via other types of access technologies or networks technologies), with the central controller 300.
[029] As noted above, although some of the examples refer to Bluetooth wireless devices 100, 1 10, 120, and 130 and Bluetooth connections 101, 1 11, 121, and 131, the examples described herein are not limited to Bluetooth including Bluetooth Low Energy as other low energy and short range radio technologies, such as IEEE 802.15.4, DECT Ultra Low Energy, ZigBee, WirelessHART, ANT, Near Field Communications (NFC), ITU-T G.9959, and/or the like, may be used as well. These short range, low energy technologies are shorter in range and/or lower in power, when compared to, for example, cellular radio access technology.
[030] In the example of FIG. 1 , the Bluetooth wireless devices 100, 1 10, 120 and 130 may be implemented as any device having at least one Bluetooth radio, such as a receiver or transceiver. Example of Bluetooth wireless devices include Internet of Things (IoT) devices, IoT sensors, smartwatches, smart phones, wireless medical devices (e.g., blood pressure monitors, heart rate monitors, glucose monitors, and/or any other medical or health-related monitor or device), and/or the like.
[031] The Bluetooth wireless devices 100, 110, 120 and 130 may each include a Bluetooth radio transceiver (labeled Bluetooth), such as a radio transceiver configured in accordance with Bluetooth and/or Bluetooth Low Energy, although other short range and/or low energy radio technologies may as noted be used as well. The Bluetooth wireless devices may also include a host controller interface (labeled HQ), such as a Bluetooth HCI through which commands can be invoked to control the Bluetooth wireless link layer at the devices 100, 110, 120, and 130. The Bluetooth wireless devices may also include an application (APP) or service, such as a Generic Attribute Profile (GATT).
[032] In some example embodiments, the central controller 300 may be implemented as a server, such as a physical, remote server, a virtual server, and/or a combination thereof. For example, the central controller may be implemented as a cloud server coupled to the Internet. However, the central controller may instead be located at the edge of the core network, in which case the central controller may be coupled to a base station, a wireless access point, an edge node, or other node at, or near, the edge of the access network. Although the central controller may be implemented as a single central sever, the central controller may also be distributed as well.
[033] The edge nodes 200 and 210 may each include a Bluetooth radio transceiver (labeled Bluetooth), such as a radio transceiver configured in accordance with Bluetooth and/or Bluetooth Low Energy, although other short range and/or low energy radio technologies may, as noted, be used as well. The edge nodes 200 and 210 may include an uplink interface (labeled IP/TLS) configured to provide access such as IP access via links 201/211 to the central controller 300. As noted, the links 201/211 to the central controller may be secured using for example TLS, IPSec, and/or the like. The edge nodes 200 and 210 may include host controller interface (HCI) controller. As noted, HCI may provide a command interface, which can be accessed to control the Bluetooth transceiver at the edge node.
[034] In the example of FIG. 1, the edge nodes 200 and 210 may be implemented as a device having at least one Bluetooth radio, such as a receiver or a transceiver. The edge nodes may be implemented as a dedicated wireless access point, a base station, a home base station, a wireless hub. Alternatively or additionally, the edge nodes may also be implemented as a wireless device acting as an edge device. For example, a smart phone, IoT device, wireless medical devices and/or the like, may be configured with the protocol stack to serve as an edge node for the Bluetooth wireless devices 100, 110, 120, and 130.
[035] The edge nodes 200/210 may, as noted, implement the lower layers of the Bluetooth stack, while exposing the HCI interface to the central controller 300 via a secure TLS/IP (or IPSec) connection. This allows central controller 300 to have access to HCI APIs of controllers 200 and 210. And, with that access to the APIs, the central controller 300 may communicate, via the HCIs, to all four wireless devices 100, 110, 120, and 130. The central controller may access a plurality of HCI interfaces at the edge nodes, such that the control is distributed among the central controller 300 and the edge nodes.
[036] The HCI interface messages can be transported over the Internet in a variety of ways. For example, the central controller 300 may send an HCI interface message to trigger an action at the edge node's 200/210 HCI controllers as well as wireless devices 100, 110, 120, and/or 130. These messages may be carried via link 201 using TLS/TCP as the transport. When this is the case, TLS/TCP may provide, based on digital certificates or pre- shared keys, mutual authentication between the edge nodes 200/210 and the central controller 300. The edge nodes 200/210 may open the TLS/TCP connections via links 201/211 to the central controller 300 even when the edge nodes 200/210 are behind a network address translation (NAT), and the edge nodes 200/210 may keep the connections alive so that also the central controller 300 can send messages to the edge nodes at any time. The HCI interface is not timing critical in the sense that the HCI interface can still operate despite the latencies introduced by the network including the Internet.
[037] Although the previous example described using TLS/TCP, other protocols may be used as well including proprietary protocols. For example, a lighter weight secure transport may be used such as user datagram protocol/datagram transport layer security (UDP/DTLS). In the case of UDP/DTLS, this lighter protocol may be more appropriate with controller 200/210 having processing, memory, power, and/or other performance constraints; especially, if the controller is within a single-enterprise network and, as such, may not be concerned with NAT issues. To illustrate by way of another example, protocols utilizing a publish/subscribe paradigm, such as Message Queue Telemetry Transport (MQTT), may be used to implement links 201/211.
[038] To illustrate by way of an example, the central controller 300 may comprise a cloud server including an application and/or service for collecting data from Bluetooth wireless devices 100, 110, 120, and 130 configured to measure and provide, via the edge nodes 200/210, to the cloud server 300 health-related data such as blood pressure, heart rate, glucose measurements, and/or any other information. The cloud server 300 may establish a secure connection to the edge nodes, and then access the HCI at the edge nodes 200/210 in order to control the Bluetooth radio layer at the edge nodes. The cloud server may also send provisioning information to the edge nodes, and this provisioning information may include authentication information, such as keys, digital certificates, device addresses, and/or other information, to enable an edge node to couple to a Bluetooth wireless device. The cloud server may also send, via the edge nodes 200/210, alerts and/or other information to the Bluetooth wireless devices 100, 110, 120, and 130. In this example, the edge nodes do not need to have an application or service specific awareness (or understanding) of blood pressure monitoring profiles, so updates to the edge nodes may not be needed in order to accommodate different applications or Bluetooth profiles. As such, the cloud server 300 may communicate, via the edge nodes including the interfaces such as HCI interfaces therein, with a plurality of Bluetooth wireless devices having different applications and/or Bluetooth profiles, without the edge nodes having the capability or knowhow of the specific profiles that are being used at each of the Bluetooth wireless devices. Although the previous example refers to the Bluetooth wireless devices as IoT devices, this is for illustrative purposes as the Bluetooth wireless devices may be implemented in other ways as well.
[039] FIG. 2 depicts example of the protocol stacks 210, 220, and 230, in accordance with some example embodiments. The Bluetooth wireless devices 100, 110, 120, and/or 130 may include protocol stack 210, which may include the GATT/APP layer, the HCI layer, and the Bluetooth layer. The edge nodes 200/210 may include protocol stack 220, which may further include the HCI layer and the Bluetooth layer for communicating with the Bluetooth wireless device via a short range, low energy link, such as a Bluetooth link and/or Bluetooth Low Energy link. The protocol stack 220 may also include an IP layer, which may further include a security aspect, such as TLS, to enable secure communicate via an IP -based access to the central controller 300. The central controller 300 may include protocol stack 230, which may further include the GATT/APP layer, the HCI host layer, and an IP layer. This IP layer may further include a security aspect, such as TLS, to enable secure communicate via an IP-based access to the edge node. FIG. 2 shows that the protocol stacks 210 and 230 are similarly configured to include the GATT or application layer, but the edge node's stack does not. As such, the edge node does not need to be aware of the GATT or application layer being used at the IoT and/or cloud server.
[040] In some example embodiments, the central controller 300 may manage the connectivity selections for the wireless devices. For example, the Bluetooth wireless device 100 may first connect to the central controller via the edge node 200. The central controller may manage connectivity for the Bluetooth wireless device 100 by for example enabling the connectivity to another edge control 210, when the central controller 300 determines that the Bluetooth wireless device 100 needs to connect to the edge node 210. Supposing for example that edge node 220 has a stronger signal or can provide better service to the Internet when compare to edge node 210. In this example, the central controller 300 may determine that the Bluetooth wireless device 100 should couple to edge node 220 rather than edge node 210. The central controller 300 may facilitate this transition to edge node 220 by providing to the edge node authentication information, which may include for example a Bluetooth device address that the edge node 220 may need to use to enable the edge node 220 and Bluetooth wireless device 100 to connect and/or pair. Alternatively or additionally, the central controller 300 may control other aspects of the Bluetooth wireless device 100, such as control radios other than Bluetooth radios/transceivers, such as WiFi, cellular, and/or the like radios at the device.
[041] FIG. 3 depicts an example of a signaling diagram 399, in accordance with some example embodiments.
[042] At 302, the central controller 300 may establish an IP-based connection to a first edge node 200, in accordance with some example embodiments. For example, if the central controller does not have an IP connection to the first edge node, the central controller may establish the IP-based connection with the first edge node. This IP-based connection may traverse one or more networks, such as the Internet, cellular networks, and/or the like. Moreover, this connection may be secured using TLS, IPSec, and/or secured in other ways as well.
[043] At 304, the central controller 300 may want to communicate with Bluetooth wireless device 100. When that is the case, the central controller 300 may have location information for Bluetooth wireless device 100, such as location information reported by an edge node. Alternatively or additionally, the central controller 300 may, at 304, access an interface, such as the HCI controller, at the first edge node 200 by sending a scan request to the interface, in accordance with some example embodiments. The scan request command triggers the edge node to send a scan request, and, in response, the edge node may receive a scan response including the identity of the Bluetooth wireless device 100. The edge node 100 may then forward the identity of the Bluetooth wireless device 100 and location information, such as the location of the edge node which is the approximate location of the Bluetooth wireless device 100 (although the edge node 100 may send the actual location of the Bluetooth wireless device 100 if known).
[044] At 306, the central controller 300 may access an interface at the first edge node 200, in accordance with some example embodiments. For example, the central controller may, via the secure connection established at 302, access an interface, such as a Bluetooth HCI interface, at the first edge node 200. This access of the HCI enables the central controller to control the radio layer, such as the Bluetooth link-layer. For example, the central controller may send a command, via the secure connection to the first edge node, to request or trigger a Bluetooth scan and/or perform other operations associated with the first edge node's Bluetooth radio link.
[045] Moreover, the central controller 300 may provide to the first edge node 200 information including authentication information for at least the Bluetooth wireless device 100. For example, the authentication information may include a key and/or digital certificate for the Bluetooth wireless device 100 to enable the first edge node 200 to authenticate the Bluetooth wireless device and thus create a connection with the device 100. The central controller 300 may provide to the edge node 200 information, such as the identity of the Bluetooth wireless device. At 310, the first edge node 200 and the Bluetooth wireless device 100 may, in some example embodiments, create a connection via a Bluetooth and/or Bluetooth Low Energy, and this connection may be established using the authentication information provided at 306 by the central controller 300.
[046] At 312, the first edge node 200 may send to the central controller 300 location information of the edge node 200 and/or the Bluetooth wireless device 100, in accordance with some example embodiments. As noted above, the first edge node 200 may provide location information, such as geolocation information and/or the like, identifying for the first edge node 200 and/or the Bluetooth wireless device 100. The location information of the Bluetooth wireless device 100 may be derived from the location of the first edge node 200. For example, if the location of the first edge node 200 is known, the location of the device 100 (which is coupled via Bluetooth link to the first edge node) may be within about 100 meters (or the range of Bluetooth).
[047] At 320, there may be a break in the connection established at 310, in accordance with some example embodiments. For whatever reason, the Bluetooth connection (which is established between the Bluetooth wireless devices 100 and the first edge node 200) may be terminated, fail, be out of range, or be unusable in some way.
[048] At 330, the central controller 300 may establish (if not already established) an IP-based connection to a second edge node 210, in accordance with some example embodiments. For example, the central controller may established an IP-based connection with the second edge node, and this connection may be secured using TLS, IPSec, and/or in other ways as well.
[049] At 332, the central controller 300 may access an interface at the second edge node 210, in accordance with some example embodiments. For example, the central controller may, via the secure connection established at 330, access the Bluetooth HCI interface, at the second edge node 210. Furthermore, the central controller 300 may provide to the second edge node 210 authentication information for at least the Bluetooth wireless device 100 and/or the identity of the wireless device 100. For example, the authentication information may include a key (which may be provided by another device including an edge, for example after an initial pairing) for the Bluetooth wireless device 100 to enable the second edge node 210 to authenticate the Bluetooth wireless device and thus create a wireless Bluetooth connection at 335, with the device 100. [050] In some example embodiments, the central controller 300 may include one or more polices regarding whether a Bluetooth wireless device 100 is allowed to connect with an edge node. As noted above, the central controller may use a trust policy, a location-based policy, and/or a time-based policy to determine whether to allow the connection to be created. For example, if the Bluetooth wireless device 100 is not trusted (or trust cannot be ascertained), the central controller may not provide the key to the edge node to enable the pairing.
[051] In some example embodiments, the central controller 300 may establish a first connection to an edge node 200 that is wirelessly interfacing, via a short range radio technology, at least one wireless device, such as device 100. The central controller may access, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology. Moreover, the central controller may provide, via the first connection, information to the accessed interface. The interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy. The central controller may include a host configured to at least access the host controller interface at the edge node and provide the information to the host controller interface. The host may access the host controller interface at the edge node to invoke, at the edge node, an action, such as scan request for the edge node. The central controller may provide, via the first connection, authentication information to the accessed interface. This authentication information may enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device 100. The second connection may include a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy. The authentication information may include at least one key specific to the at least one wireless device found in response to the scan request. The central controller may provide, to another edge node, the at least one key specific to the at least one wireless device to enable the other edge node to establish another short range radio technology connection to the at least one wireless device. The host at the central controller may access a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes. The central controller may receive a location of at least the edge node, and the location may provide a location estimate of the at least one wireless device. The central controller may also include an application and/or service to enable application-level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
[052] In some example embodiments, the edge node 200 may establish a first connection with a server, such as the central controller 300. The edge node may receive, via the first connection and at an interface, authentication information for at least one wireless device, such as BTWD 100. The edge mode may, establish, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device. The interface may include a host controller interface in accordance with Bluetooth and/or Bluetooth low energy. The authentication information may be received from a host at the server. The host controller interface may receive, from the host, an action, such as a scan request. The authentication information may enable the edge node to authenticate and establish, via the short range radio technology, the second connection with the at least one wireless device. The authentication information may take the form of at least one key specific to the at least one wireless device found in response to the scan request. The edge node may forward, to the host at the server, a location of the edge node, and the location may provide a location estimate of the at least one wireless device, such as BTWD 100. The edge node forward, to the host at the server and/or the at least one wireless device, application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing. The first connection may be a secure connection in accordance with a transport layer security and/or an internet protocol security. The second connection, via the short range radio technology, may be in accordance with Bluetooth and/or Bluetooth low energy.
[053] FIG. 4 illustrates a block diagram of an apparatus 10, in accordance with some example embodiments. The apparatus 10 (or portions thereof) may be configured to provide at least Bluetooth wireless devices 100, 110, 120, and/or 130 and/or the edge nodes 200/210. Although central controller 300 can be implemented in a variety of ways (including in accordance with apparatus 10), the central controller may include at least one processor, at least one memory including program code, and at least a network interface to enable coupling to the Internet.
[054] In some example embodiments, the apparatus may include one or more sensors 46, such as temperature, acceleration, humidity, pressure, magnetometer, weight, C02, carbon monoxide, smoke, movement, motion, heat rate, glucose monitor, electrocardiogram, perspiration, and/or any other type of sensor.
[055] The apparatus 10 may include at least one antenna 12 in communication with a transmitter 14 and a receiver 16. Alternatively transmit and receive antennas may be separate. The apparatus 10 may also include a processor 20 configured to provide signals to and receive signals from the transmitter and receiver, respectively, and to control the functioning of the apparatus. Processor 20 may be configured to control the functioning of the transmitter and receiver by effecting control signaling via electrical leads to the transmitter and receiver. Likewise, processor 20 may be configured to control other elements of apparatus 10 by effecting control signaling via electrical leads connecting processor 20 to the other elements, such as a display or a memory. The processor 20 may, for example, be embodied in a variety of ways including circuitry, at least one processing core, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits (for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and/or the like), or some combination thereof. Accordingly, although illustrated in FIG. 4 as a single processor, in some example embodiments the processor 20 may comprise a plurality of processors or processing cores.
[056] Signals sent and received by the processor 20 may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wi-Fi, wireless local access network (WLAN) techniques, such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, 802.16, 802.3, ADSL, DOCSIS, and/or the like. In addition, these signals may include speech data, user generated data, user requested data, and/or the like.
[057] The apparatus 10 may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. For example, the apparatus 10 and/or a cellular modem therein may be capable of operating in accordance with various first generation (1G) communication protocols, second generation (2G or 2.5G) communication protocols, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Intemet Protocol Multimedia Subsystem (IMS) communication protocols (for example, session initiation protocol (SIP) and/or the like. For example, the apparatus 10 may be capable of operating in accordance with 2G wireless communication protocols IS-136, Time Division Multiple Access TDMA, Global System for Mobile communications, GSM, IS-95, Code Division Multiple Access, CDMA, and/or the like. In addition, for example, the apparatus 10 may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the apparatus 10 may be capable of operating in accordance with 3G wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD- SCDMA), and/or the like. The apparatus 10 may be additionally capable of operating in accordance with 3.9G wireless communication protocols, such as Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), and/or the like. Additionally, for example, the apparatus 10 may be capable of operating in accordance with 4G wireless communication protocols, such as LTE Advanced, 5G, and/or the like as well as similar wireless communication protocols that may be subsequently developed.
[058] It is understood that the processor 20 may include circuitry for implementing audio/video and logic functions of apparatus 10. For example, the processor 20 may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the apparatus 10 may be allocated between these devices according to their respective capabilities. The processor 20 may additionally comprise an intemal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like. Further, the processor 20 may include functionality to operate one or more software programs, which may be stored in memory. In general, processor 20 and stored software instructions may be configured to cause apparatus 10 to perform actions. For example, processor 20 may be capable of operating a connectivity program, such as a web browser. The connectivity program may allow the apparatus 10 to transmit and receive web content, such as location-based content, according to a protocol, such as wireless application protocol, WAP, hypertext transfer protocol, HTTP, and/or the like.
[059] Apparatus 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20. The display 28 may, as noted above, include a touch sensitive display, where a user may touch and/or gesture to make selections, enter values, and/or the like. The processor 20 may also include user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like. The processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions, for example, software and/or firmware, stored on a memory accessible to the processor 20, for example, volatile memory 40, non-volatile memory 42, and/or the like. The apparatus 10 may include a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the apparatus 20 to receive data, such as a keypad 30 (which can be a virtual keyboard presented on display 28 or an externally coupled keyboard) and/or other input devices.
[060] As shown in FIG. 4, apparatus 10 may also include one or more mechanisms for sharing and/or obtaining data. For example, the apparatus 10 may include a short range radio frequency (RF) transceiver and/or interrogator 64, so data may be shared with and/or obtained from electronic devices in accordance with RF techniques. The apparatus 10 may include other short range transceivers, such as an infrared (IR) transceiver 66, a BluetoothTM (BT) transceiver 68 operating using BluetoothTM wireless technology, a wireless universal serial bus (USB) transceiver 70, a BluetoothTM Low Energy transceiver, a ZigBee transceiver, an ANT transceiver, a cellular device-to-device transceiver, a wireless local area link transceiver, and/or any other short range radio technology. Apparatus 10 and, in particular, the short range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within the proximity of the apparatus, such as within 10 meters, for example. The apparatus 10 including the Wi-Fi or wireless local area networking modem may also be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like.
[061] The apparatus 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), an eUICC, an UICC, and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the apparatus 10 may include other removable and/or fixed memory. The apparatus 10 may include volatile memory 40 and/or non-volatile memory 42. For example, volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory 42, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices, for example, hard disks, floppy disk drives, magnetic tape, optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40, non-volatile memory 42 may include a cache area for temporary storage of data. At least part of the volatile and/or non-volatile memory may be embedded in processor 20. The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the apparatus for performing operations disclosed herein. The memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus 10. The memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus 10. In the example embodiment, the processor 20 may be configured using computer code stored at memory 40 and/or 42 to control and/or provide one or more aspects disclosed herein (see, for example, process 399 and/or other operations disclosed herein with respect to the IoT device, edge node, or central controller/server). [062] Some of the embodiments disclosed herein may be implemented in software, hardware, application logic, or a combination of software, hardware, and application logic. The software, application logic, and/or hardware may reside on memory 40, the control apparatus 20, or electronic components, for example. In some example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "computer- readable medium" may be any non-transitory media that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer or data processor circuitry, with examples depicted at FIG. 4, computer-readable medium may comprise a non-transitory computer-readable storage medium that may be any media that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
[063] Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein the reduction in the need for the Bluetooth wireless device from having to re-authenticate with each edge node as the central controller can provide authentication information such as a key to any edge device. Another technical effect may include the reduction in the need to upgrade the edge node's application layer or Bluetooth profiles the application layer/profile only needs to be updated at the Bluetooth wireless device and central controller.
[064] The subject matter described herein may be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. For example, the base stations and user equipment (or one or more components therein) and/or the processes described herein can be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term "computer-readable medium" refers to any computer program product, machine-readable medium, computer-readable storage medium, apparatus and/or device (for example, magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine- readable medium that receives machine instructions. Similarly, systems are also described herein that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
[065] Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. Moreover, the implementations described above may be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. Other embodiments may be within the scope of the following claims.
[066] If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Although various aspects of some of the embodiments are set out in the independent claims, other aspects of some of the embodiments comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims. It is also noted herein that while the above describes example embodiments, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications that may be made without departing from the scope of some of the embodiments as defined in the appended claims. Other embodiments may be within the scope of the following claims. The term "based on" includes "based on at least." The use of the phase "such as" means "such as for example" unless otherwise indicated.

Claims

WHAT IS CLAIMED
1. An apparatus comprising:
at least one processor; and
at least one memory including program code which when executed causes the apparatus to at least:
establish a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device;
access, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and
provide, via the first connection, information to the accessed interface.
2. The apparatus of claim 1, wherein the interface comprises a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
3. The apparatus of claim 2, wherein the apparatus includes a host configured to at least access the host controller interface at the edge node and provide the information to the host controller interface.
4. The apparatus of claim 3, wherein the host accesses the host controller interface at the edge node to invoke, at the edge node, an action.
5. The apparatus of claim 4, wherein the action comprises a scan request for the edge node.
6. The apparatus of any of claims 1 -5, wherein the provided information comprises authentication information to enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device, wherein the second connection comprises a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy.
7. The apparatus of claim 6, wherein the authentication information comprises at least one key specific to the at least one wireless device found in response to the scan request.
8. The apparatus of any of claims 1 -7, wherein the apparatus is further caused to at least provide, to another edge node, the at least one key specific to the at least one wireless device to enable the other edge node to establish another short range radio technology connection to the at least one wireless device.
9. The apparatus of claim 8, wherein the host accesses a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes.
10. The apparatus of any of claims 1 -9, wherein the first connection is a secure
connection in accordance with a transport layer security and/or an internet protocol security.
11. The apparatus of any of claims 1 -10, wherein the apparatus is further caused to at least receive a location of at least the edge node, the location providing a location estimate of the at least one wireless device.
12. The apparatus of any claims 1-11 , wherein the apparatus further includes an
application and/or service to enable application-level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
13. An apparatus comprising:
at least one processor; and
at least one memory including program code which when executed causes the apparatus to at least:
establish a first connection with a server; receive, via the first connection and at an interface, authentication information for at least one wireless device; and
establish, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
14. The apparatus of claim 13, wherein the interface comprises a host controller
interface in accordance with Bluetooth and/or Bluetooth low energy.
15. The apparatus of any of claims 13-14, wherein the authentication information is received from a host at the server.
16. The apparatus of claim 15, wherein the host controller interface receives, from the host, an action.
17. The apparatus of claim 16, wherein the action comprises a scan request.
18. The apparatus of any of claims 13-17, wherein the authentication information enables the apparatus to authenticate and establish, via the short range radio technology, the second connection with the at least one wireless device.
19. The apparatus of any of claims 17-18, wherein the authentication information comprises at least one key specific to the at least one wireless device found in response to the scan request.
20. The apparatus of any of claims 15-19, wherein the apparatus is further configured to at least forward, to the host at the server, a location of the apparatus, the location providing a location estimate of the at least one wireless device.
21. The apparatus of any claims 15-20, wherein the apparatus is further configured to at least forward, to the host at the server and/or the at least one wireless device, application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing.
22. The apparatus of any of claims 13-21, wherein the first connection is a secure
connection in accordance with a transport layer security and/or an internet protocol security, and wherein the second connection, via the short range radio technology, is in accordance with Bluetooth and/or Bluetooth low energy.
23. A method comprising:
establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device;
accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and
providing, via the first connection, information to the accessed interface.
24. The method of claim 23, wherein the interface comprises a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
25. The method of claim 24, further comprising: accessing, by a host, the host controller interface at the edge node; and providing, by the host, the information to the host controller interface.
26. The method of claim 25, wherein the host accesses the host controller interface at the edge node to invoke, at the edge node, an action.
27. The method of claim 26, wherein the action comprises a scan request for the edge node.
28. The method of any of claims 23-27, wherein the provided information comprises authentication information to enable the edge node to authenticate and establish, via the short range radio technology, a second connection with the at least one wireless device, wherein the second connection comprises a wireless transmission in accordance with Bluetooth and/or Bluetooth low energy.
29. The method of claim 28, wherein the authentication information comprises at least one key specific to the at least one wireless device found in response to the scan request.
30. The method of any of claims 23-29, further comprising: providing, to another edge node, the at least one key specific to the at least one wireless device to enable the other edge node to establish another short range radio technology connection to the at least one wireless device.
31. The method of claim 30, wherein the host accesses a plurality of host controller interfaces at a plurality of edge nodes including the edge node and the other edge node to control the plurality of edge nodes.
32. The method of any of claims 23-31, wherein the first connection is a secure
connection in accordance with a transport layer security and/or an internet protocol security.
33. The method of any of claims 23-32, further comprising: receiving a location of at least the edge node, the location providing a location estimate of the at least one wireless device.
34. The method of any claims 23-33, wherein the apparatus further includes an
application and/or service to enable application-level interactions with the at least one wireless device configured in accordance with Bluetooth and/or Bluetooth low energy, without the edge device being aware of the application and/or the service.
35. An apparatus comprising:
means for establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device;
means for accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and
means for providing, via the first connection, information to the accessed interface.
36. The apparatus of claim 35 further comprising means for performing any of claims 24-34.
37. A non-transitory computer-readable storage medium including program code which when executed causes operations comprising:
establishing a first connection to an edge node that is wirelessly interfacing, via a short range radio technology, at least one wireless device;
accessing, via the first connection, an interface at the edge node to enable control of the edge node including the short range radio technology; and
providing, via the first connection, information to the accessed interface.
38. An method comprising:
establishing a first connection with a server;
receiving, via the first connection and at an interface, authentication information for at least one wireless device; and
establishing, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
39. The method of claim 38, wherein the interface comprises a host controller interface in accordance with Bluetooth and/or Bluetooth low energy.
40. The method of any of claims 38-39, wherein the authentication information is received from a host at the server.
41. The method of claim 40, wherein the host controller interface receives, from the host, an action.
42. The method of claim 41, wherein the action comprises a scan request.
43. The method of any of claims 38-42, wherein the authentication information enables the apparatus to authenticate and establish, via the short range radio technology, the second connection with the at least one wireless device.
44. The method of any of claims 42-43, wherein the authentication information comprises at least one key specific to the at least one wireless device found in response to the scan request.
45. The method of any of claims 40-44, further comprising: forwarding, to the host at the server, a location of the apparatus, the location providing a location estimate of the at least one wireless device.
46. The method of any of claims 40-45, further comprising: forwarding, to the host at the server and/or the at least one wireless device, application-type data and/or services data that only the host and/or the at least one wireless device are capable of processing.
47. The method of any of claims 38-46, wherein the first connection is a secure
connection in accordance with a transport layer security and/or an internet protocol security, and wherein the second connection, via the short range radio technology, is in accordance with Bluetooth and/or Bluetooth low energy.
48. An apparatus comprising:
means for establishing a first connection with a server;
means for receiving, via the first connection and at an interface, authentication information for at least one wireless device; and
means for establishing, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
49. The apparatus of claim 48 further comprising means for performing any of claims 39-47.
50. A non-transitory computer-readable storage medium including program code which when executed causes operations comprising:
establishing a first connection with a server; receiving, via the first connection and at an interface, authentication information for at least one wireless device; and
establishing, based on the received authentication information, a second connection, via a short range radio technology, with the at least one wireless device.
PCT/US2017/028661 2017-04-20 2017-04-20 Distributed bluetooth controller WO2018194626A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2017/028661 WO2018194626A1 (en) 2017-04-20 2017-04-20 Distributed bluetooth controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/028661 WO2018194626A1 (en) 2017-04-20 2017-04-20 Distributed bluetooth controller

Publications (1)

Publication Number Publication Date
WO2018194626A1 true WO2018194626A1 (en) 2018-10-25

Family

ID=58671920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/028661 WO2018194626A1 (en) 2017-04-20 2017-04-20 Distributed bluetooth controller

Country Status (1)

Country Link
WO (1) WO2018194626A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711940A (en) * 2020-04-29 2020-09-25 杭州涂鸦信息技术有限公司 Intelligent device data interaction method, intelligent device and storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016039598A1 (en) * 2014-09-14 2016-03-17 엘지전자(주) Method and device for controlling device by using bluetooth technology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016039598A1 (en) * 2014-09-14 2016-03-17 엘지전자(주) Method and device for controlling device by using bluetooth technology
US20170353979A1 (en) * 2014-09-14 2017-12-07 Lg Electronics Inc. Method and device for controlling device by using bluetooth technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRIDTJOF FELDBUSCH ET AL: "The BTRC Bluetooth remote control system", PERSONAL AND UBIQUITOUS COMPUTING, SPRINGER VERLAG, LONDON, GB, vol. 7, no. 2, 1 July 2003 (2003-07-01), pages 102 - 112, XP058117678, ISSN: 1617-4909, DOI: 10.1007/S00779-003-0235-X *
OKADA MAMI ET AL: "Implementation of seamless connection system for Bluetooth Low Energy devices in remote locations", 2017 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE), IEEE, 8 January 2017 (2017-01-08), pages 344 - 345, XP033082827, DOI: 10.1109/ICCE.2017.7889348 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711940A (en) * 2020-04-29 2020-09-25 杭州涂鸦信息技术有限公司 Intelligent device data interaction method, intelligent device and storage device
CN111711940B (en) * 2020-04-29 2023-10-31 杭州涂鸦信息技术有限公司 Intelligent device data interaction method, intelligent device and storage device

Similar Documents

Publication Publication Date Title
CN113396610B (en) Auxiliary authorization for PDU session establishment for home routed roaming
US11829774B2 (en) Machine-to-machine bootstrapping
US11824892B2 (en) Terminal matching method and apparatus
JP7455217B2 (en) Selection of authentication server functions in authentication and key management
JP7286785B2 (en) Establishing a protocol data unit session
JP7062787B2 (en) UE control handling of security policy for user plane protection in 5G systems
JP7464683B2 (en) Handling multiple authentication procedures in 5G
US11606416B2 (en) Network controlled machine learning in user equipment
JP2021501504A (en) Manual roaming support for VoLTE
CN110447267A (en) Exchange service ability exposure function (SCEF) relevant information of user equipment
CN113519175A (en) Authentication decisions for fixed network residential gateways
JP2022530487A (en) User plane integrity protection in 4G systems
WO2018194626A1 (en) Distributed bluetooth controller
CN116746188A (en) Method and system for supporting application Authentication and Key Management (AKMA) using an admissibility indication
CN116803052A (en) Routing indicator retrieval for AKMA
WO2016163999A1 (en) Turn on and play internet of things
US20240107297A1 (en) Key Derivation for Communication
US20240107389A1 (en) Privacy in a Wireless Communication Network
WO2020238756A1 (en) Method and apparatus for registration
AU2022353768A1 (en) Communication method and apparatus
JP2023544601A (en) Establishing a secure connection
Wolisz et al. Flexible Information Broadcasting using Beacon Stuffing in IEEE 802.11 Networks
JP2017531233A (en) Method and apparatus for synchronizing data inputs generated at multiple frequencies by multiple data sources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17721917

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17721917

Country of ref document: EP

Kind code of ref document: A1