Connection Establishment for Short-Range Communications

An apparatus configured to generate, for transmission to a device, first connection related information associated with establishing a short-range communication link, process, based on signals received from the device, second connection related information associated with establishing the short-range communication link with the device, establish the short-range communication link with the device using the first connection related information and the second connection related information, wherein the establishing further comprises the processing circuitry being configured to generate, for transmission to the device, an indication the apparatus supports a fast connection process, generate, for transmission to the device, an indication the apparatus comprises the second connection related information, process, based on signals received from the device, an indication the wireless device supports the fast connection process and process, based on signals received from the device, an indication the device comprises the first connection related information.

BACKGROUND

A short-range communication protocol enables a short-range communication to be exchanged between two or more devices. One such short-range communication protocol has been defined as Bluetooth low energy (hereinafter referred to as “BLE”). When a BLE connection is created between two Bluetooth Special Interest Group (BT SIG) compliant devices, the devices must follow a predefined flow of events and messages that need to be exchanged to allow for the establishment of a stable and reliable connection and to ensure the maximum over-the-air transfer rate is used. Establishing this connection to reliably and safely send data between these devices can take an amount of time that is frustrating to users and leads to a bad user experience.

SUMMARY

Some example embodiments are related to an apparatus having processing circuitry configured to generate, for transmission to a device, first connection related information associated with establishing a short-range communication link, process, based on signals received from the device, second connection related information associated with establishing the short-range communication link with the device, establish the short-range communication link with the device using the first connection related information and the second connection related information, wherein to establish the short-range communication link the processing circuitry is configured to generate, for transmission to the device, an indication the apparatus supports a fast connection process, generate, for transmission to the device, an indication the apparatus comprises the second connection related information, process, based on signals received from the device, an indication the wireless device supports the fast connection process and process, based on signals received from the device, an indication the device comprises the first connection related information.

Other example embodiments are related to an apparatus having processing circuitry configured to process, based on signals received from a device, an indication the device supports a fast connection process for a short-range communication link, process, based on signals received from the device, an indication the second device does not comprise first connection related information associated with establishing the short-range communication link with the first device, generate, for transmission to the device, an indication the apparatus supports the fast connection process, generate, for transmission to the device, an indication the apparatus does not comprise second connection related information associated with establishing the short-range communication link with the device, generate, for transmission to the device, a first aggregated link layer message comprising a complete set of the first connection related information to establish the short-range communication link with the device, process, based on signals received from the device, a second aggregated link layer message comprising a complete set of the second connection related information to establish the short-range communication link with the device and establish the short-range communication link with the device using the first and second connection related information.

Still further example embodiments are related to an apparatus having processing circuitry configured to generate, for transmission to a device, an indication the apparatus supports a fast connection process, generate, for transmission to the device, an indication the apparatus comprises first connection related information for the fast connection process, process, based on signals received from the device, an indication the device supports the fast connection process; and process, based on signals received from the device, an indication the device comprises second connection related information.

DETAILED DESCRIPTION

The example embodiments may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The example embodiments relate to manners of establishing a short-range communication link between two devices. Specifically, in a first aspect, the short-range communication link is established based on an out-of-band (OOB) exchange of connection information between the two devices. In a second aspect, the short-range communication link is established based on an over-the-air (OTA) exchange of connection information between the two devices. Each of these aspects will be described in greater detail below.

The example embodiments are described herein with regard to establishing a short-range communication link (or connection) where the short-range communication link is a Bluetooth link. Specifically, the example embodiments are described with reference to establishing a Bluetooth Low Energy (BLE) connection. However, the use of the BLE link or a Bluetooth link in general is only example and the Bluetooth link may represent (or be replaced by) any short-range communication link. Furthermore, the use of a short-range communication link is also only an example, and the example embodiments may be used or modified for any type of connection between two or more devices (e.g., a medium- or long-range connection).

The example embodiments are described with reference to example call flows. In the example call flows, various messages are described with reference to specific message names. Any message names are only examples and messages that have other names (or no names at all) may be used to convey the information included in the various messages.

BLE or “Bluetooth Smart” is a wireless personal area network (PAN) technology designed and marketed by the BT SIG aimed at applications in the healthcare, fitness, location, beacon, security, and home entertainment industries. Compared to Classic Bluetooth (or Bluetooth Classic) that includes the Bluetooth paging/page scan operations, BLE is intended to provide considerably reduced power consumption and cost while maintaining a similar communication range as well as reducing a time used by Bluetooth devices to identify proximity and capability of establishing a Bluetooth connection. However, even with the BLE protocol being used, connection establishment requires a predefined order of events and messages to be exchanged between devices to allow a stable and reliable connection. The current connection establishment takes too much time and results in a poor user experience when devices are connecting.

The example embodiments are configured to reduce the amount of time for devices to establish a short-range communication link. Specifically, the example embodiments introduce a fast connection process for establishing the short-range communication link. There may be no specific time associated with the fast connection process but that term is merely used to distinguish the connection process for a standard connection process, e.g., the standard BLE connection process.

As will be described in further detail below, there are various aspects to the fast connection process. In a first aspect, the fast connection process is based on an OOB exchange of connection information between the two devices that are to be connected. The OOB exchange refers to an exchange that does not occur on the short-range communication link or during the establishment of the short-range communication link between the devices. This OOB exchange may be a direct exchange, e.g., via a wired or wireless connection between the devices, or an indirect exchange where the devices write the connection information to a cloud service and the peer device retrieves the connection information from the cloud service. This OOB exchange allows a faster connection because the devices do not need to exchange the connection information during the connection establishment process.

In a second aspect, the fast connection process is based on an OTA message exchanged between the devices during the connection process. The OTA message may be an aggregated link layer message that includes all the connection information needed to establish the short-range communication link. This aggregated message replaces multiple individual messages and allows a faster connection because multiple messages are eliminated from the standard connection process. Each of these aspects are described in greater detail below.

FIG.1shows an arrangement100of components utilizing short-range communication links according to various example embodiments. The arrangement100shows a first device110and a second device120that are both capable of establishing a short-range communication link, e.g., a BLE communication link. In this example, the devices110and120are shown as having a mutual relationship (e.g., peer to peer) where neither component has a priority (e.g., sharing an equal priority) or neither component has predetermined operations that must be performed (e.g., the predetermined operations may have shared or the duty to perform may be shared). However, in some arrangements one of the devices (e.g., the device110) may be a primary device and the other one of the devices (e.g., the device120) may be a secondary device. In some example embodiments, the primary/secondary relationship may be dynamically set. Furthermore, the PAN including the devices110and120may also include further devices, e.g., the PAN is not limited to two devices. In this example, it may be considered that the devices110and120are not currently connected. Rather, the example embodiments will provide examples of connection establishment flows for connecting the devices110and120.

The devices110and120may be any electronic device capable of establishing a short-range communication link. For example, the devices110and120may be a mobile device (e.g., a mobile computing device, a mobile phone, a tablet computer, a personal computer, a VoIP telephone, a personal digital assistant, a wearable, a peripheral, an Internet of Things (IoT) device, etc.) or a stationary device (e.g., a desktop terminal, a server, an IoT device, etc.). The example embodiments may be used to establish a short-range communication link between any type(s) of device(s).

In establishing the short-range communications link, the devices110and120may include the necessary hardware, software, and/or firmware to perform conventional operations as well as operations according to the example embodiments.

FIG.2shows a device200for establishing a short-range communication link according to various example embodiments. The device200may represent any of the devices110or120. Specifically, the device200may represent the components that may be included to perform the operations according to the example embodiments.

The device200may include a transceiver205connected to an antenna210, a baseband processor215, and a controller220, as well as other components (not shown). The other components may include, for example, a memory, an application processor, a battery, ports to electrically connect the device200to other electronic devices, etc. The transceiver205may be configured to exchange data over one or more connections. Specifically, the transceiver205may enable a short-range communication link to be established using frequencies or channels associated with the short-range communication protocol (e.g., the channels associated with a Bluetooth connection). The controller220may control the communication functions of the transceiver205and the baseband processor215. In addition, the controller220may also control non-communication functions related to the other components, such as the memory, the battery, etc. Accordingly, the controller220may perform operations associated with an applications processor. The transceiver205includes circuitry configured to transmit and/or receive signals (e.g., control signals, data signals). Such signals may be encoded with information implementing any one of the methods described herein. The baseband processor215and the controller220may be operably coupled to the transceiver205and configured to receive from and/or transmit signals to the transceiver255. The baseband processor215and the controller220may be configured to encode and/or decode signals for implementing any one of the methods described herein.

The baseband processor215and the controller220may be one or more integrated circuits (e.g., chip(s)) compatible with a wireless communication standard, such as BLE. The baseband processor215and the controller220may be configured to execute a plurality of operations of the device200. For example, the operations may include the methods and operations related to the OOB exchange or OTA exchange of connection related information to establish a short-range communication link.

In a first aspect, the example embodiments are related to an out-of-band (OOB) exchange of the controller capabilities and features to be used in establishment of the short-range communication link (referred to herein as connection related information). Examples of connection related information related to establishing a short-range communication link between the devices may include version (e.g., BT Version 1-5, manufacturer of the BT chipset, etc.), features (e.g., any of the twenty eight (28) features supported BT version 5.1), enhanced data packet length capabilities (e.g., EDL capability) and physical layer (PHY) capabilities. This connection related information is only an example and additional connection related information, alternate connection related information or less than the connection related information examples provided above may be exchanged between the devices. That is, any information related to establishing a short-range communication link between the devices may be exchanged using the OOB exchange.

In the present example, it may be considered that the devices that may establish the short-range communication link may be the devices110and120ofFIG.1. There may be various manners of performing the OOB exchange of connection related information between the devices110and120. In one example, the devices110and120may share the connection related information using a connection that is not a BT connection. This connection may be a wireless connection or a wired connection. For example, the devices110and120may exchange the connection related information when connected via a wireless connection such as WiFi, near field connection (NFC), cellular, etc. In other examples, the devices110and120may have a USB connection (or other wired connection) and exchange the connection related information using the wired connection.

In another example, the OOB exchange of connection related information may be performed via a cloud service. For example, it may be considered that the devices110and120may both be associated with the same user's account. For example, the device110may be a tablet computer and the device120may be a peripheral (e.g., electronic pen, second display, etc.) that may be used with the tablet computer. The user may have both of the devices110and120registered with an account associated with the user (or any other manner of associating devices with the user). For example, the manufacturer or seller of the devices110and120may host a cloud service that allows users to associate devices with the user's account such that the devices are aware of the other devices that are also associated with the account. This cloud service may store and/or push data associated with the various devices to other devices associated with the account. For example, when a device (e.g., the device110) associates with the cloud account, various data associated with the device may be stored in the cloud account including the connection related information. This may allow other devices associated with the cloud account (e.g., the device120) to retrieve the data associated with the device. Similarly, the device110may retrieve the data associated with the device120via the cloud account. Example manners of managing the information in the cloud account will be described in greater detail below.

FIG.3shows a call flow diagram300for establishing a short-range communication link using out-of-band (OOB) exchange of the controller capabilities and features according to various example embodiments. In the example ofFIG.3, it may be considered that the devices that are establishing the connection are the devices110and120ofFIG.1, e.g., the device110may be considered to be the central device such as the tablet computer in the above example and the device120may be considered to be the peripheral device such as the electronic pen in the above example. In addition, the devices110and120may also be referred to as peer devices in the below description.

The device110comprises a central host controller interface (HCI)302and a central link layer (LL)304. The device110(e.g., using the baseband processor215) may execute a BT stack that includes the LL304. The HCI302is a layer that transports commands between the host and the controller (e.g., the controller220). Any messages exchanged between the central HCI302and the LL304in the call flow300may occur within the device110. Similarly, the device120comprises a peripheral HCI306and a peripheral LL308and any messages exchanged between the peripheral HCI306and the peripheral LL308in the call flow300may occur within the device120.

The call flow300assumes that the devices (e.g., the devices110and120) have exchanged the respective connection related information prior to the call flow300, e.g., the call flow300is not showing the OOB exchange of connection related information but rather the connection establishment operations when the devices have obtained the connection related information.

In310, the connection related information of the device110is read from the central HCI302by the central LL304, e.g., the device110reads its own connection related information. In312, the central LL304confirms the reading of the connection related information is complete.

In314, the connection related information for the peer device (e.g., the device120) is written by the central HCI302to the central LL304. As described above, at some point prior to314, the device110has obtained the connection related information for the device120, e.g., via one or more of the OOB methods described above. In316, the central LL304confirms the writing of the connection related information for the peer device is complete.

In addition to the connection related information, the devices may also exchange information related to encryption for communications over the BLE link to be established. There is no requirement that encryption information be exchanged but the exchange of encryption information may further speed connection establishment because the encryption information does not need to be exchanged. The encryption information may include, for example, a long term key (LTK) to be used with a particular peer device. Thus, in318, the central HCI302may write encryption information (e.g., an LTK) for the peer device (e.g., the device120) to the central LL304. In320, the central LL304confirms the writing of the encryption information for the peer device is complete.

The operations322-332performed by the device120are similar to the operations310-320performed by the device110and will be briefly described. In322, the connection related information of the device120is read from the peripheral HCI306by the peripheral LL308, e.g., the device120reads its own connection related information. In324, the peripheral LL304confirms the reading of the connection related information is complete.

In326, the connection related information for the peer device (e.g., the device110) is written by the peripheral HCI306to the peripheral LL308. As described above, at some point prior to326, the device120has obtained the connection related information for the device110. In328, the peripheral LL304confirms the writing of the connection related information for the peer device is complete. In330, the peripheral HCI306may write encryption information (e.g., an LTK) for the peer device (e.g., the device110) to the peripheral LL308. In332, the peripheral LL308confirms the writing of the encryption information for the peer device is complete.

In334, the central HCI302adds the peer device for which it has received connection related information to a filter accept list of the central LL304, e.g., e.g., indicating that the device110may connect to the device120using a short-range communication link. In336, the central HCI302creates a connection for the peer device with the central LL, e.g., there is a socket indicating that any connection with the peer device should be created using a particular type of connection, in this example, a BLE connection.

In338, the peripheral LL308performs a BLE advertisement operation. The BLE advertisement operation is a standard BLE advertising operation. In340, the central LL304performs a BLE connection indication response to the advertisement of338. Again, the BLE connection response is a standard BLE operation that includes a connection request packet sent on one of the primary advertising channels.

In342, the central LL304reports to the central HCI302that an enhanced connection is complete. This is again a standard BLE operation that indicates a resolved public address once connected to a public peer address. In344, the device120performs a corresponding operation as342for the device110, the peripheral LL308reports to the peripheral HCI306that an enhanced connection is complete.

In346, the central LL304indicates to the peripheral LL308the Link Layer Control Protocol (LLCP) version used by the device110. Similarly, in348, the peripheral LL308indicates to the central LL304the LLCP version used by the device120.

In350, the central LL304indicates to the peripheral LL308a status of support for fast connection by the device110in a version message. The version message may be a new message or it may be an existing version message (e.g., from a standard BLE connection process) that includes additional bits to indicate support for the fast connection. The support comprises two indications. The first indication is whether fast connection is supported by the device110, e.g., one of the bits in the version message is set to 1 if the device110supports a fast connection and 0 if the device110does not support fast connection. The second indication is whether the device110is available for fast connection, e.g., does the device110have the connection related information for the peer device120. Again, for example, if the device110has the connection related information for the peer device120, the bit may be set to 1 and if the device110does not have the connection related information for the peer device120the bit may be set to 0.

In352, the peripheral LL308indicates to the central LL304a status of support for fast connection by the device120in a version message, e.g., the corresponding operation to the operation350performed by the device110.

For the fast connection to be used, both indications for both devices will be set to positive, e.g., the devices110and120both support fast connection and have the connection related information for the peer device. In this example, this will be considered and described below. However, if any of the indications are negative, fast connection will not be used and the devices110and120will fall back to use the standard BLE connection process.

In this example, it may be considered that the indications in the version message for both devices110and120are positive, e.g., the devices110and120both support fast connection and have the connection related information for the peer device. Thus, in this example, at the completion of352, the device110has the connection related information for the device120, is aware that the device120supports fast connection, and the device120has the connection related information for the device110. Similarly, at the completion of352, the device120has the connection related information for the device110, is aware that the device110supports fast connection, and the device110has the connection related information for the device120. Thus, fast connection may be used for connecting the devices110and120via a short-range communication link (e.g., BLE link).

In354, the central LL304sends an LLCP instant update message to the peripheral LL308. The LLCP instant update message indicates a time at which the devices110and120should apply the connection related information for the purposes of the fast connection. As described above, the fast connection allows the devices110and120to connect based on the connection related information stored by the devices110and120without performing various messaging to exchange the connection related information. Thus, when the central LL304sends the LLCP instant update message in354with the timing to apply the connection related information, the devices110and120may then apply the corresponding connection related information to create the short-range communication link.

Thus, in356, the peripheral LL308will send a connection ready message including the connection related information to the peripheral HCI306and in358the central LL304will send a connection ready message including the connection related information to the central HCI302and the devices110and120will have established the short-range communication link.

The remaining operations of the call flow300are related to scenarios where the devices110and120have also exchanged encryption information. The encryption information does not need to be exchanged for the purposes of performing the fast connection. However, the exchange of the encryption information may save additional time for short-range communication links that use encryption, e.g., the encryption information does not need to be exchanged during connection establishment.

In360, the central HCI302sends an encryption request using the stored encryption information (e.g., the LTK corresponding to the device120) to the peripheral LL308. In362, the peripheral LL308sends an encryption response using the stored encryption information (e.g., the LTK corresponding to the device110) to the central LL304. In364, the central LL304then sends a start encryption request to the peripheral LL308. In366, the peripheral LL308sends a start encryption response to the central LL304. In368, the central LL304sends a start encryption response to the peripheral LL308.

In370, the central LL304sends an encryption changed event message to the central HCI302indicating that messages exchanged over the short-range communication link may use encryption based on the stored encryption information. Similarly, in372, the peripheral LL308sends an encryption changed event message to the peripheral HCI306indicating that messages exchanged over the short-range communication link may use encryption based on the stored encryption information.

In a second aspect, the example embodiments are related to an over-the-air (OTA) exchange of the controller capabilities and features in an aggregated link layer message to be used in establishment of the short-range communication link. The connection related information to be used for the fast connection in the second aspect of the example embodiments may be similar to the connection related information described above for the first aspect.

FIG.4shows a call flow diagram400for establishing a short-range communication link using an over-the-air (OTA) exchange of the controller capabilities and features in an aggregated link layer message according to various example embodiments. In the example ofFIG.4, it may be considered that the devices that are establishing the connection are the devices110and120ofFIG.1, e.g., the device110may be considered to be the central device such as the tablet computer in the above example and the device120may be considered to be the peripheral device such as the electronic pen in the above example. In addition, the devices110and120may also be referred to as peer devices in the below description.

Similar to the call flow300, the device110comprises a central HCI402and a central LL404. Any messages exchanged between the central HCI402and the LL404in the call flow400may occur within the device110. Similarly, the device120comprises a peripheral HCI406and a peripheral LL408and any messages exchanged between the peripheral HCI306and the peripheral LL308in the call flow300may occur within the device120.

As described above, in the call flow300it was assumed that the devices110and120had exchanged the respective connection related information using an OOB exchange prior to the call flow300. In contrast, in the call flow400, the devices110and120do not have connection related information for the peer devices prior to the call flow400being initiated. Furthermore, in the description of the call flow400there are multiple operations that are similar to the operations described above for the call flow300. These similar operations are mentioned below but further information regarding these operations may be understood from the above description of the call flow300.

In410, the connection related information of the device110is read from the central HCI402by the central LL404, e.g., the device110reads its own connection related information. In412, the central LL404confirms the reading of the connection related information is complete. Operations410and412are similar to operations310and312.

In414, the connection related information of the device120is read from the peripheral HCI406by the peripheral LL408, e.g., the device120reads its own connection related information. In416, the peripheral LL404confirms the reading of the connection related information is complete. Operations414and416are similar to operations322and324.

In418, the central HCI402adds the peer device to a filter accept list of the central LL404, e.g., indicating that the device110may connect to the device120using a short-range communication link. In420, the central HCI402creates a connection for the peer device with the central LL, e.g., there is a socket indicating that any connection with the peer device should be created using a particular type of connection, in this example, a BLE connection. Operations418and420are similar to operations334and336.

In422, the peripheral LL208performs a BLE advertisement operation. The BLE advertisement operation is a standard BLE advertising operation. In424, the central LL404performs a BLE connection indication response to the advertisement of422. Again, the BLE connection response is a standard BLE operation that includes a connection request packet sent on one of the primary advertising channels. Operations422and424are similar to operations338and340.

In426, the central LL404reports to the central HCI402that an enhanced connection is complete. This is again a standard BLE operation that indicates a resolved public address once connected to a public peer address. In428, the device120performs a corresponding operation as426for the device110, the peripheral LL408reports to the peripheral HCI406that an enhanced connection is complete. Operations426and428are similar to operations342and344.

In430, the central HCI402may send an LE start encryption message and/or a read remote version information message to the central LL404. One of skill in the art will understand that these message(s) from the host are part of the standard BLE connection process. In this example, the host will start the standard BLE connection process but the controller will not reply to the standard message(s) until the controller understands if an aggregated link layer message is to be used for a fast connection. If the controller determines that the fast connection using the aggregated link layer message is not to be used, the standard BLE connection process may continue. However, in this example of the call flow400, it will be considered that the aggregated link layer message for fast connection is to be used, so the fall back to the standard BLE connection process is not described further. In addition, there is no requirement that the host start the standard BLE connection process by sending the LE start encryption message and/or a read remote version information message in430.

In432, the peripheral HCI406may send a read remote version information message to the peripheral LL408. The operation432is the corresponding operation for the device120as the operation430for the device110, e.g., a message to start the standard BLE connection process. Similar to430, the controller of the device120will wait to respond to the message until it understands whether the aggregated link layer message is to be used for a fast connection.

In434, the central LL404indicates to the peripheral LL408the LLCP version used by the device110. Similarly, in436, the peripheral LL408indicates to the central LL404the LLCP version used by the device120. Operations434and436are similar to operations346and346.

In438, the central LL404indicates to the peripheral LL408a status of support for fast connection by the device110in a version message. The version message may be a new message or it may be an existing version message (e.g., from a standard BLE connection process) that includes additional bits to indicate support for the fast connection. Similar to the version message described above with reference to350and352, the support comprises two indications. The first indication is whether fast connection is supported by the device and the second indication is whether the device110has the connection related information for the peer device120.

In440, the peripheral LL408indicates to the central LL404a status of support for fast connection by the device120in a version message, e.g., the corresponding operation to the operation438performed by the device110.

In the example of the call flow300, it was described that for the fast connection to be used, both indications for both devices will be set to positive, e.g., the devices110and120both support fast connection and have the connection related information for the peer device. In contrast, in the example of the call flow400, for the fast connection to be used, both indications for both devices do not have to be positive. As long as both devices support fast connection (e.g., the first indication), fast connection may be used because the connection related information may be exchanged OTA as described in further detail below. However, if either of the devices110or120do not support fast connection, fast connection will not be used and the devices110and120will fall back to use the standard BLE connection process.

In this example, it may be considered that the first indications in the version message for both devices110and120are positive (e.g., as shown in438and440, FastLEConnectionSupported=1), but the second indications in the version message for both devices are negative (e.g., as shown in438and440, FastLEConnectionAvailable=0). Thus, in this example, at the completion of440, both of the devices110and120are aware that the peer device supports fast connection but they do not have the connection related information for the peer device.

In442, the peripheral LL408sends an aggregated link layer message to the central LL404. The aggregated link layer message comprises all the connection related information for the device120used to establish the short-range communication link in a single message, e.g., the example connection related information described above. In addition, as shown inFIG.4, the aggregated link layer message also includes an instant update parameter that is set to 0. As described with reference to354of the call flow300, the instant update message indicates a time (or event) at which the devices110and120should apply the connection related information. Since the device120does not have the peer connection related information for the device110, the instant update parameter is set to 0. As will be described in greater detail below, the central device110will provide the instant update parameter.

In444, the central LL404sends an aggregated link layer message to the peripheral LL408. The aggregated link layer message comprises all the connection related information for the device110used to establish the short-range communication link in a single message, e.g., the example connection related information described above. In addition, as shown inFIG.4, the aggregated link layer message also includes an instant update parameter. As described above, the instant update message indicates a time (or event) at which the devices110and120should apply the connection related information for the purposes of the fast connection.

Thus, when the central LL404sends the aggregated link layer message comprising the instant update message in444with the timing (or event) to apply the connection related information, the devices110and120may then apply the corresponding connection related information to create the short-range communication link.

As described above with reference to430, in some example embodiments, the host may attempt to start the standard BLE connection process. In these example embodiments, in446, the host will again attempt to start the standard BLE connection process by the central HCI402sending an LE start encryption message and/or a read remote version information message to the central LL404. However, at this time, the controller will know whether an aggregated link layer message is being used for the fast connection process. If the fast connection process is not being used, the devices110and120may continue and use the standard BLE connection process. In this example, it was considered that the controller understands that the fast connection process is being used. Thus, in448, the central LL404will send an error message in response to the message sent in446. This will inform the host that the standard BLE connection process is not being used and the host will discontinue attempting to use the standard BLE connection process. Again, the operations446and448may not be used if the host does not initiate the standard BLE connection process in430.

In450, the peripheral HCI406may send a read remote version information message to the peripheral LL408. The operation450is the corresponding operation for the device120as the operation446for the device110, e.g., a message to start the standard BLE connection process. Again, in this example, since the controller of the device120understands that aggregated link layer message is being used for the fast connection process, in552, the peripheral LL408will send an error message in response to the message sent in450. This will inform the host that the standard BLE connection process is not being used and the host will discontinue attempting to use the standard BLE connection process. Again, the operations450and552may not be used if the host does not initiate the standard BLE connection process in432.

In454, the peripheral LL408will send a connection ready message including the connection related information to the peripheral HCI406and in456the central LL404will send a connection ready message including the connection related information to the central HCI402and the devices110and120will have established the short-range communication link.

The remaining operations of the call flow400are related to scenarios where the devices110and120have stored encryption information for the peer device (e.g., exchanged during a previous connection). The encryption information does not need to be stored for the purposes of performing the fast connection. However, the encryption information may save additional time for short-range communication links that use encryption. The operations458-470are identical to the operations360-372of the call flow300described above and therefore will not be described again.

Examples

In a first example, a method, comprising sending, to a second device, first connection related information associated with establishing a short-range communication link with the first device, receiving second connection related information associated with establishing the short-range communication link with the second device, establishing the short-range communication link with the second device using the first connection related information and the second connection related information, wherein the establishing further comprises sending, to the second device, an indication the first device supports a fast connection process, sending, to the second device, an indication the first device comprises the second connection related information, receiving, from the second device, an indication the second device supports the fast connection process and receiving, from the second device, an indication the second device comprises the first connection related information.

In a second example, the method of the first example, wherein the short-range communication link is a Bluetooth Low Energy (BLE) link.

In a third example, the method of the first example, wherein the first connection related information and the second connection related information comprise one of (i) a version of a communication protocol to be used for the short-range communication link, (ii) a feature of the communication protocol supported by the corresponding first device or second device, (iii) an enhanced data packet length capability of the corresponding first device or second device or (iv) a physical layer (PHY) capability of the corresponding first device or second device.

In a fourth example, the method of the first example, wherein the first connection related information is sent to the second device via one of a wireless connection or a wired connection between the first device and the second device.

In a fifth example, the method of the first example, wherein the sending the first connection related information to the second device comprises sending the first connection related information to a cloud device, wherein the second device retrieves the first connection related information from the cloud device.

In a sixth example, the method of the first example, wherein the second connection related information is received from the second device via one of a wireless connection or a wired connection between the first device and the second device.

In a seventh example, the method of the first example, wherein the second connection related information is received from a cloud device.

In an eighth example, the method of the first example, further comprising storing the second connection related information in a controller of the first device and writing the second connection related information to a link layer of a protocol stack being executed by the first device.

In a ninth example, the method of the first example, wherein the establishing further comprises sending, to the second device, an instant update information message indicating a time or an event and applying the first and second connection related information to establish the short-range communication link based on the time or an occurrence of the event.

In a tenth example, the method of the first example, wherein the establishing further comprises receiving, from the second device, an instant update information message indicating a time or event and applying the first and second connection related information to establish the short-range communication link based on the time or an occurrence of the event.

In an eleventh example, the method of the first example, further comprising receiving encryption information associated with exchanging encrypted information with the second device over the short-range communication link and exchanging encrypted information with the second device over the short-range communication link using the encryption information.

In a twelfth example, the method of the eleventh example, wherein the encryption information comprises a long term key (LTK) associated with the second device.

In a thirteenth example, a processor configured to perform any of the methods of the first through twelfth examples.

In a fourteenth example, a device comprising a transceiver configured to communicate wirelessly with other devices and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the first through twelfth examples.

In a fifteenth example, a method, comprising receiving, from a second device, an indication the second device supports a fast connection process for a short-range communication link, receiving, from the second device, an indication the second device does not comprise first connection related information associated with establishing the short-range communication link with the first device, sending, to the second device, an indication the first device supports the fast connection process, sending, to the second device, an indication the first device does not comprise second connection related information associated with establishing the short-range communication link with the second device, sending, to the second device, a first aggregated link layer message comprising a complete set of the first connection related information to establish the short-range communication link with the second device, receiving, from the second device, a second aggregated link layer message comprising a complete set of the second connection related information to establish the short-range communication link with the second device and establishing the short-range communication link with the second device using the first and second connection related information.

In a sixteenth example, the method of the fifteenth example, wherein the short-range communication link is a Bluetooth Low Energy (BLE) link.

In a seventeenth example, the method of the fifteenth example, wherein the first connection related information and the second connection related information comprise one of (i) a version of a communication protocol to be used for the short-range communication link, (ii) a feature of the communication protocol supported by the corresponding first device or second device, (iii) an enhanced data packet length capability of the corresponding first device or second device or (iv) a physical layer (PHY) capability of the corresponding first device or second device.

In an eighteenth example, the method of the fifteenth example, wherein the first aggregated link layer message further comprises an instant update information parameter indicating a time or an event, wherein the short-range communication link is established based on the time or an occurrence of the event.

In a nineteenth example, the method of the fifteenth example, wherein the first aggregated link layer message further comprises an instant update information parameter set to null.

In a twentieth example, the method of the fifteenth example, further comprising attempting to start a standard connection process for the short-range communication link and receiving an error message indicating the standard connection process is unavailable.

In a twenty first example, the method of the fifteenth example, further comprising receiving encryption information associated with exchanging encrypted information with the second device over the short-range communication link and exchanging encrypted information with the second device over the short-range communication link using the encryption information.

In a twenty second example, the method of the twenty first example, wherein the encryption information comprises a long term key (LTK) associated with the second device.

In a twenty third example, a processor configured to perform any of the methods of the fifteenth through twenty second examples.

In a twenty fourth example, a device comprising a transceiver configured to communicate wirelessly with other devices and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the fifteenth through twenty second examples.

Those skilled in the art will understand that the above-described example embodiments may be implemented in any suitable software or hardware configuration or combination thereof. An example hardware platform for implementing the example embodiments may include, for example, an Intel x86 based platform with compatible operating system, a Windows OS, a Mac platform and MAC OS, a mobile device having an operating system such as ios, Android, etc. The example embodiments of the above described method may be embodied as a program containing lines of code stored on a non-transitory computer readable storage medium that, when compiled, may be executed on a processor or microprocessor.