BLUETOOTH CONNECTION ESTABLISHMENT
20220159747 · 2022-05-19
Assignee
Inventors
Cpc classification
H04W4/80
ELECTRICITY
International classification
Abstract
Embodiments of the current disclosure facilitate the creation of a wireless connection between a host device and an accessory device over a wireless medium. For instance, according to some embodiments, a method of connecting an accessory device to a host device includes transmitting a plurality of advertising beacons over a wireless medium. Each wireless beacon can contain information identifying a predetermined time when the accessory device will begin a page scan. The accessory device can begin the page scan at the predetermined time and can receive pages from a host device during a page scan window of the page scan over the wireless medium. The received pages can then be subsequently used to establish an ad hoc network connection between the accessory device and the host device.
Claims
1. A method of initiating a connection between a host device and an accessory device, the method comprising: transmitting, by the accessory device, one or more beacons to the host device; receiving, by the accessory device, a connection request from the host device, wherein the connection request comprises information associated with a clock of the host device; synchronizing, at the accessory device, a clock of the accessory device with the clock of the host device based on the received information; and connecting with the host device to form an ad hoc wireless network.
2. The method of claim 1, further comprising: receiving, by the accessory device, a poll from the host device; and transmitting, by the accessory device, an acknowledgment to the host device.
3. The method of claim 1, wherein the one or more beacons comprises information associated with a time at which the accessory device will begin a page scan to receive one or more pages from the host device.
4. The method of claim 3, wherein the information associated with the time at which the accessory device will begin the page scan comprises: information identifying a value of a clock of the accessory device at a beginning of a page scan window corresponding to the page scan; and information identifying a value of the clock of the accessory device at a time the one or more beacons were transmitted.
5. The method of claim 3, wherein the information associated with the time when the accessory device will begin the page scan comprises at least one of a temporal offset until the page scan will begin or an absolute time when the page scan will begin.
6. The method of claim 3, wherein the one or more beacons further comprises at least one of information on a duration of the page scan or information on a channel to be used during the page scan.
7. The method of claim 1, wherein the one or more beacons are transmitted using two or more different protocols, using two or more different formats, or two or more different channels.
8. The method of claim 1, wherein the one or more beacons comprise different content.
9. An accessory device, comprising: a memory that stores instructions; and a processor, upon executing the instructions, configured to: transmit one or more beacons to a host device; receive a connection request from the host device, wherein the connection request comprises information associated with a clock of the host device; synchronize a clock of the accessory device with the clock of the host device based on the received information; and connect with the host device to form an ad hoc wireless network.
10. The accessory device of claim 9, wherein the processor is further configured to: receive a poll from the host device; and transmit an acknowledgment to the host device.
11. The accessory device of claim 10, wherein the acknowledgment comprises a null message.
12. The accessory device of claim 9, wherein the one or more beacons comprises information associated with a time at which the accessory device will begin a page scan to receive one or more pages from the host device.
13. The accessory device of claim 12, wherein the information associated with the time at which the accessory device will begin the page scan comprises: information identifying a value of a clock of the accessory device at a beginning of a page scan window corresponding to the page scan; and information identifying a value of the clock of the accessory device at a time the one or more beacons were transmitted.
14. The accessory device of claim 12, wherein the information associated with the time when the accessory device will begin the page scan comprises at least one of a temporal offset until the page scan will begin or an absolute time when the page scan will begin.
15. The accessory device of claim 12, wherein the one or more beacons further comprises at least one of information on a duration of the page scan or information on a channel to be used during the page scan.
16. The accessory device of claim 9, wherein the one or more beacons are transmitted using two or more different protocols, using two or more different formats, or two or more different channels.
17. The accessory device of claim 9, wherein the one or more beacons comprise different content.
18. A method of initiating a wireless connection between a host device and an accessory device, the method comprising: determining, at the host device and based at least in part on one or more beacons from the accessory device, that the accessory device is proximate to the host device; in response to determining that the accessory device is proximate to the host device, transmitting, by the host device, a connection request to the accessory device, the connection request comprising information identifying a value of a clock of the host device; after transmitting the connection request, receiving an acknowledgement from the accessory device; and connecting with the accessory device to form the wireless connection.
19. The method of claim 18, wherein the one or more beacons comprises information associated with a time at which the accessory device will begin a page scan to receive one or more pages from the host device.
20. The method of claim 19, wherein the information associated with the time at which the accessory device will begin the page scan comprises: information identifying a value of a clock of the accessory device at a beginning of a page scan window corresponding to the page scan and information identifying a value of the clock of the accessory device at a time the one or more beacons were transmitted; or at least one of a temporal offset until the page scan will begin or an absolute time when the page scan will begin.
Description
BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES
[0010] Embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings in which corresponding reference symbols indicate corresponding parts. Further, the accompanying drawings, which are incorporated herein, form part of the specification and illustrate embodiments of the present disclosure.
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021] The features and advantages of embodiments of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.
DETAILED DESCRIPTION
[0022]
[0023] The accessory device 102 may be any computing device, including any of a wireless headset, keyboard, mouse, track pad, computer, tablet, smart phone, media device, printer, smart appliance, wearable, sensor, or the like. Indeed, in some embodiments, any/all of the accessory devices also may be capable of functioning as a host device in the ad hoc wireless connection 106. In practice, the ad hoc wireless connection 106 may be formed between the accessory device 102 and one or more of the host devices 104.sub.1-7. In some embodiments, formation of the ad hoc wireless connection 106 can occur (or be initiated) by the accessory device 102 transmitting a plurality of advertising beacons over a wireless medium. One or more of the advertising beacons may be received by one or more of the host devices 104. At least one of the advertising beacons may include, among possible other things, information identifying a time at which the accessory device 102 will initiate a page scan. The accessory device 102 can then initiate the page scan at the identified time and receive one or more pages, e.g., from one or more host devices 104. The connection between the host device 104 and the accessory device 102 can then be established using the received page.
[0024] For simplicity and explanation purposes, one ad hoc wireless connection—ad hoc wireless connection 106—is shown in
[0025]
[0026] The accessory device 202 may periodically open a page scan window 208 such as, for example, page scan windows 208A and 208B shown in
[0027] In some embodiments, the accessory device 202 detects, during the page scan window 208, one or more of the pages 210 associated with one of the trains 206 transmitted by the host device 204. Once the accessory device 202 detects a page 210 transmitted by the host device 204, the procedure for establishing a baseband connection can be followed, and the host device 204 and the accessory device 202 form a connection—e.g., ad hoc wireless connection 106 from
[0028] Since page scanning can consume a significant amount of power, it can be advantageous to reduce the size of the page scan windows 208. For example, using shorter page scan windows 208 can reduce power consumption, thereby prolonging battery life. However, when the page scan window is too small, the page scan window 208 may not align with pages 210 transmitted by the host device 204. Consequently, several page scan windows 208 may be needed for the accessory device 202 to detect one or more pages 210 transmitted by the host device 204. This can delay establishment of the wireless connection (e.g., ad hoc wireless connection 106 from
[0029] When the accessory device 202 can indicate to the host device 204 the time at which it intends to begin a page scan window 208, a connection can be established more quickly and battery/power consumption associated with scanning and paging can be reduced. This arrangement is described in more detail with respect to
[0030]
[0031] To expedite connection establishment between the accessory device and a host device, e.g., a host device 104 from
[0032] When the host device receives one or more of the beacons 302 sent by the accessory device, the host device can schedule its paging to occur during a scheduled page scan 308 identified in the received beacon(s). In this way, the host device can increase the likelihood that the accessory device will receive one or more pages during the corresponding page scan 308. Further, the implementation can reduce the number of beacons 302 transmitted by the accessory device to establish an ad hoc network connection (e.g., ad hoc wireless connection 106 from
[0033] In some embodiments, in addition to information informing the host device about the time the page scan 308 will begin, the beacon 302 may include information identifying any/all of a duration of a page scan window 306, a value of a clock of the accessory device at the time when the beacon 302 was sent, a value of a clock of the accessory device at the beginning of the page scan window 306, and/or information identifying a channel to be used during the page scan window 306. Indeed, in some embodiments, some or all of this information may be provided instead of the information regarding when the page scan 308 will begin. According to some embodiments, a portion of the page scan window 306 may overlap with a portion of the advertising window 304, such that the page scan window 306 at least partially overlaps in time with one or more of the advertising beacons 302. Additionally, according to some embodiments, the advertising window 304 and the page scan window 306 may be uninterruptable, such that the respective window must be completed (elapse or fail) prior to any subsequent operation beginning.
[0034]
[0035] After transmitting the plurality of beacons (for instance, after the end of the advertising window 304 in
[0036]
[0037] As shown in
[0038] At 504, the accessory device may wait until the time representing the beginning of the page scan window, as advertised by the beacons. When such time occurs, at 506, the accessory device may begin the page scan. During the page scan, the accessory device can receive one or more pages from the host device at 508. In response to receiving one or more pages from the host device, a wireless connection can be established between the accessory device and the host device at 510.
[0039]
[0040] Method 600 begins at 602 when the host device receives one or more beacons (e.g., beacons 302 from
[0041] At 604, the host device waits until the time at which the page scan window advertised in the accessory device's beacon(s) is open. When the page scan window is open, the host device can transmit one or more pages at 606. After the one or more pages are received by the accessory device, a wireless connection between the host device and the accessory device can be established at 608.
[0042] Another way to potentially reduce latency when initiating a connection between a host device (e.g., host device 104 from
[0043]
[0044] The host device 704 can detect one or more of the beacons 706 during a beacon scan window 708. When the host device 704 detects one or more of the beacons 706, it can determine that the accessory device 702 is in close physical proximity to the host device 704—e.g., within an effective communication range or other range threshold. In addition or alternately, the host device 704 may determine that the accessory device 702 is in close physical proximity to the host device 704 after analyzing a characteristic of one or more of the beacons 706 such as, for example, one or more of signal strength, a signal-to-noise ratio, a bit error rate, accessory device state information, transmit power, etc., or any combination thereof. In such a case, the host device 704 may conclude that it is in close physical proximity to the accessory device if one or more characteristics of the beacons 706 compare in a predetermined manner (e.g., above and/or below) with a corresponding threshold for that characteristic. In some embodiments, if the host device 704 would like to connect to the accessory device 702, it can transmit a connection request 710 that includes a value of the host device clock. The accessory device 702 can synchronize its local clock with the host device clock to assist with establishing a wireless connection between the accessory device 702 and the host device 704. In some embodiments, the host device 704 may poll 712 the accessory device 702, which can acknowledge 714 with a message such as a null message. This shall be described further with reference to
[0045] Method 800 begins at 802 with transmission of a plurality of beacons (e.g., beacons 706 from
[0046]
[0047] As shown in
[0048] Various embodiments can be implemented, for example, using one or more well-known computer systems, such as computer system 1000 shown in
[0049] The computer system 1000 includes one or more processors (also called central processing units, or CPUs), such as a processor 1006. The processor 1006 is connected to a communication infrastructure or bus 1004.
[0050] The processor 1006 may be, for example, a graphics processing unit (GPU). In some embodiments, the GPU is a processor that is a specialized electronic circuit designed to process mathematically intensive applications. The GPU may have a parallel structure that is efficient for parallel processing of large blocks of data, such as mathematically intensive data common to computer graphics applications, images, videos, etc.
[0051] The computer system 1000 also includes user input/output/display device(s) 1022, such as monitors, keyboards, pointing devices, etc., that communicate with communication infrastructure 1004.
[0052] The computer system 1000 also includes a main or primary memory 1008, such as random access memory (RAM). The main memory 1008 may include one or more levels of cache. The main memory 1008 has stored therein control logic 1028A (e.g., computer software) and/or data.
[0053] The computer system 1000 may also include one or more secondary storage devices or memory 1010. The secondary memory 1010 may include, for example, a hard disk drive 1012 and/or a removable storage device or drive 1014. The removable storage drive 1014 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive.
[0054] The removable storage drive 1014 may interact with a removable storage unit 1016. The removable storage unit 1016 includes a computer usable or readable storage device having stored therein control logic 1028B (e.g., computer software) and/or data. The removable storage unit 1016 may be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/any other computer data storage device. The removable storage drive 1014 reads from and/or writes to the removable storage unit 1016.
[0055] The computer system 1000 may further include a communication or network interface 1018. The communication interface 1018 enables the computer system 1000 to communicate and interact with any combination of remote devices, remote networks, remote entities, etc. (individually and collectively referenced by reference number 1030). For example, communication interface 1018 may allow the computer system 1000 to communicate with remote devices 1030 over a communications path 1026, which may be wired and/or wireless, and which may include any combination of LANs, WANs, the Internet, etc. Control logic and/or data may be transmitted to and from computer system 1000 via communication path 1026.
[0056] In some embodiments, a tangible apparatus or article of manufacture including a tangible computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a “computer program product” or “program storage device.” This includes, but is not limited to, the computer system 1000, the main memory 1008, the secondary memory 1010, and the removable storage unit 1016, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as the computer system 1000), causes such data processing devices to operate as described herein.
[0057] It is to be appreciated that the Detailed Description section, and not the Summary and Abstract sections, is intended to be used to interpret the claims. The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present disclosure as contemplated by the inventor(s), and thus, are not intended to limit the present disclosure and the appended claims in any way.
[0058] The present disclosure has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
[0059] The foregoing description of the specific embodiments will so fully reveal the general nature of the disclosure so that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present disclosure. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
[0060] The breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
[0061] The claims in the instant application are different than those of any parent application or other related applications. The Applicant therefore rescinds any disclaimer of claim scope made in the parent application or any predecessor or related application in relation to the instant application. The Examiner is therefore advised that any such previous disclaimer and the cited references that it was made to avoid, may need to be revisited. Further, the Examiner is also reminded that any disclaimer made in the instant application should not be read into or against the parent or related application(s).